Для настройки синхронизации контактов между 1С: Отель необходимо:
1. На портал Битрикс установить приложение интеграции с 1С: Отель (интеграция платная, предоставляется по абонентской плате в месяц). Приложение на портал устанавливается сотрудниками службы технической поддержки 1С: Отель после заключения договора на использование сервиса.
2. Обновить 1С: Отель до редакции 9.0.1.3
Данные клиентов из 1С: Отель выгружаются в Битрикс как контакты.
Далее выполняются настройки в тонком клиенте на стороне 1С: Отель. У пользователя, который выполняет настройку, должна быть в ролях включена подсистема Subsystem external systems integration
Все настройки интеграции выполняются в тонком клиенте в разделе "Интеграции".
В данном разделе нам необходимо перейти в подраздел "Взаимодействия с внешними системами"
и создать новую интеграцию нажатием на кнопку "Создать"
В открывшемся окне создания интеграции необходимо:
- Заполнить наименование интеграции
- Указать тип интеграции "Битрикс24"
- Установить флаг "Действует"
Нажатие на кнопку "Настройки" откроет окно настроек параметров самой интеграции
Настройки интеграции расположены на вкладке "Настройки соединения".
В разделе "Общие настройки" должны быть указаны гостиница, для которой настраивается интеграция и указаны параметры взаимодействия (те, что были созданы ранее в разделе "Взаимодействия с внешними системами")
В разделе "Битрикс 24" в качестве сервера API указывается адрес портала Битрикс без http:// или https://. Например, test1chotel.bitrix24.ru
Обязательно нужно установить флаг SSL и указать порт 443
Поля логина и пароля заполняются сотрудниками службы поддержки ЗАО "Гостиничные технологии" при настройке интеграции
Нажатие на кнопку "Сохранить настройки" зафиксирует настройки и обновить токены.
Далее необходимо настроить соответствие полей. По этому соответствию происходит передача данных из объекта справочника "Клиенты" в 1С: Отель в контакты на стороне Битрикс.
Соответствие полей должно быть выполнено как на скриншоте ниже.
Для получения списка полей необходимо нажать на кнопку "Загрузить и сопоставить поля".
После окончания сопоставления необходимо нажать на кнопку "Сохранить данные полей для окончания сопоставления".
Далее переходим на вкладку "События".
Здесь достаточно получить список событий нажав на кнопку "Загрузка данных" и выбрав пункт "Загрузить связанные события".
Для сохранения списка событий необходимо нажать на кнопку "Сохранить события".
Далее переходим на вкладку "Клиенты".
При первичной синхронизации необходимо нажать на кнопку "Загрузить и сопоставить клиентов" и после этого нажать на кнопку "Выгрузить изменения".
Будет произведена полная синхронизации.
Дальнейший алгоритм выгрузки контактов выглядит следующим образом:
1. Конфигурация делает обращение в регистр сведений "Интеграционные сообщения".
2. Если по выгружаемому гостю в регистре записей нет, то производится экспорт клиента с командой ADD.
3. Далее в регистре создаётся запись что контакт выгружен.
4. У клиента на стороне 1С: Отель прописывается ID контакта в Битрикс (который Битрикс возвращает в 1С: Отель при создании контакта).
5. Далее по этому созданному клиенту дальнейшая синхронизация будет производиться только по изменениям
Анализ изменений по контакту происходит по регистру истории изменений по объекту справочника "Клиенты" в 1С: Отель.
Код анализирует наличие записей в регистре интеграционных сообщений по данному гостю, далее анализирует историю изменений по этому гостю в регистре истории изменений. Если в регистре истории изменений есть записи, у которых дата более поздняя чем дата в регистре интеграционных сообщений, происходит выгрузка изменений в Битрикс.
Данная логика повторяется по каждому клиенту в базе.
Как уже говорилось ранее, сопоставление клиентов в 1С: Отель и контактов Битрикс производится по ID, который прописывается на стороне 1С: Отель. В случае если при синхронизации на стороне Битрикс контакт с данным ID найден не будет (например, его удалили), он будет выгружен из 1С: Отель повторно и клиенту на стороне 1С: Отель будет присвоен новый ID.
После настройки обмен с Битрикс нужно настроить как фоновое задание. Для этого в консоли фоновых заданий нужно добавить новое задание с метаданными SyncBitrix24. Период выполнения обычно настраивается раз в сутки.