Алгоритмы обмена
Модуль реализует два независимых цикла — исходящий и входящий. Платформо-независимые алгоритмы описаны в разделе «Общая методология»: Алгоритм отправки и Алгоритм приёма и подтверждения. Данная статья описывает особенности реализации в 1С.
Исходящий цикл
В 1С отправка реализована через двухступенчатый конвейер.
Ступень 1 — Регистрация события. Подписки на события 1С срабатывают при записи объектов, настроенных на интеграцию. Подписка записывает в регистр очереди регистрации: ссылку на изменённый объект, имя метаданного и признак удаления. Транзакция записи объекта при этом не удерживается дольше необходимого.
Ступень 2 — Формирование и отправка. Регламентное задание (или ручной запуск) обрабатывает очередь регистрации:
- Прочитать запись из очереди регистрации.
- Вызвать исходящий обработчик — сформировать JSON-конверт.
- Записать готовый конверт в очередь исходящих сообщений.
- Отправить сообщение в DataHUB (
POST /send). - При успехе — установить статус «Обработано» и удалить из очереди.
- При ошибке — увеличить счётчик попыток; при исчерпании — статус «Ошибка обработки».
Входящий цикл
- Отправить запрос на получение сообщения (
GET /receive). -
Обработать ответ:
Код Действие 200 OKПолучено сообщение — перейти к шагу 3 204 No ContentНет сообщений — повторить с шага 1 408 Request TimeoutИстёк таймаут long-polling — повторить с шага 1 401 UnauthorizedОбновить токен — повторить с шага 1 Сетевая ошибка Зафиксировать сбой, прервать цикл -
Начать транзакцию.
- Разобрать конверт, записать сообщение в очередь входящих.
- Зафиксировать транзакцию.
- Подтвердить получение (ACK) вне транзакции (
POST /ack). - Повторить с шага 1.
Обработка сообщений из входящей очереди выполняется отдельным потоком:
- Вызвать входящий обработчик.
- Обработчик выполняет идентификацию объекта, применяет данные.
- При успехе — статус «Обработано».
- При необходимости отложить (зависимый объект ещё не пришёл) — увеличить задержку, вернуть в очередь.
- При ошибке — увеличить счётчик попыток; при исчерпании — статус «Ошибка обработки».
Параллельная обработка
Количество параллельных потоков для каждой очереди настраивается в форме настроек. Блокировка очереди реализована через отдельный регистр, исключающий одновременную обработку одной записи несколькими потоками.
Таблица идентификаторов
Регистр сведений «Идентификаторы объектов интегрируемых систем» хранит соответствие между GUID объекта в текущей базе и GUID того же объекта в удалённых системах. Каждая запись связывает пару систем через конкретный объект.

Поля записи: уникальный идентификатор источника, уникальный идентификатор приёмника, интегрируемая система, тип объекта источника и приёмника, ссылка на объект 1С.
