#СекретыБитрикс24
Про особенность совместной работы модуля обмена счетами и 1С-трекера
Модуль для обмена счетами между Битрикс24 и 1С создает в 1С новых контрагентов, но не умеет выгружать контрагентов из 1С в Битрикс24.
А модуль 1С-трекер для 1С не умеет загружать новых контрагентов в 1С, но умеет экспортировать контрагентов из 1С в Битрикс24.
Логично захотеть использовать оба этих модуля вместе, чтобы вновь созданные в Б24 контрагенты попадали в 1С, а изменения, сделанные в 1С выгружались обратно в Б24.
Но, к сожалению, эта мечта без доработок не реализуема:
1С-трекер при выгрузке контрагентов в Б24 у Компаний и Контактов заполняет служебные реквизиты:
* ORIGIN_ID = уникальный идентификатор ссылки 1С
* ORIGINATOR_ID=1C
* ORIGIN_VERSION (возможно) - ВерсияОбъекта 1С
и именно по этим реквизитам выполняет поиск при синхронизации (при повторных выгрузках из 1С).
Но при создании компании/контакта непосредственно в Б24 эти поля там не заполняются (и понятно, эти элементы же не из 1С).
В результате получаем такую картину:
1. Новый контрагент, допустим "Рога и копыта", создается в Б24, выписывается счет
2. Счет загружается в 1С, и поскольку в 1С контрагента "Рога и копыта" не было, он создается.
3. При запуске выгрузки контрагентов при помощи 1С-трекера он не находит по сочетанию ORIGIN_ID+ORIGINATOR_ID в Б24 компанию "Рога и копыта", а поэтому создает новую, у которой и заполняет соответствующие реквизиты.
В результате у нас в Б24 теперь две компании "Рога и копыта".
Как заставить работать оба модуля совместно без дублирования контрагентов?
1. Без доработок: можно попробовать регулярно в Б24 запускать процедуру поиска и объединения дублей компаний и контрагентов.
Но нет уверенности что поможет (сам не проверял этот вариант, т.к. всегда реализую именно второй).
2. С доработками: нужно "научить" модуль "Обмен с сайтом" заполнять ORIGIN_ID, ORIGINATOR_ID и ORIGIN_VERSION для тех контрагентов, которые были в 1С созданы при загрузке счетов. Делать это придется при помощи REST API.
Post #16
143