Обмен с 1С
Стандартный протокол обмена с «1С:Предприятие» обрабатывает выгрузку каталогов через компонент catalog.import.1c и заказов через sale.export.1c. При разработке собственной синхронизации критично обеспечивать дедупликацию входящих пакетов по уникальным внешним идентификаторам и проверять признак источника операции для предотвращения рекурсивного зацикливания обмена.
Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.
Что нужно понимать
-
1
Обмен каталогом
-
2
Обмен заказами
-
3
Настройка синхронизации
Материалы
Официальная документация
-
Взаимодействие учетной системы с сайтом Старая дока
Проверь себя
1С отчитывается «обмен выполнен», а новых заказов с сайта в ней нет. Что проверить первым?
Настройки экспорта модуля sale: 1C_EXPORT_PAYED_ORDERS, 1C_EXPORT_ALLOW_DELIVERY_ORDERS и 1C_EXPORT_FINAL_ORDERS отсекают заказы по оплате, доставке и статусу. Неоплаченный заказ при включённом фильтре в выгрузку не попадёт, и это не ошибка.
Заказчик жалуется, что менеджер меняет статус в 1С, а на сайте он не меняется. Почему?
Настройка 1C_CHANGE_STATUS_FROM_1C по умолчанию выключена: статус по входящим данным 1С не меняется, пока её не включить в настройках модуля.
Почему для обмена с CRM нельзя взять ManagerImport из пространства Exchange модуля sale?
Его registerInstance() помечен как внутренний и обслуживает штатные пакеты 1С. Для другого протокола пишут свой слой поверх Order и хранят своё сопоставление идентификаторов, а не ID_1C.
Что сломается, если обработчик события сохранения заказа сразу экспортирует его во внешнюю систему?
Входящий импорт из той же системы вызовет тот же обработчик и уйдёт обратно — рекурсивный обмен. Признак источника операции сохраняют вместе с данными, и экспорт его проверяет.
Не сходится?
Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.
Знаете материал лучше?
Предложите ссылку: после проверки она появится в этом разделе.
Войти, чтобы предложить