Алгоритмы работы отдельных функций модуля обмена (загрузка заказов, клиентов, оплат, выгрузка балансов)

Загрузка заказов

Поиск по реквизитам на закладке "Дополнительно"

Загрузка свежих заказов

Ищется последний загруженный заказ

Создание заказов поставщикам

Создание документов поступления, в том числе по ордерным складам

Создание реализаций

Создание документов возврата

Загрузка номенклатуры

Синхронизация по реквзиту номенклатуры "Артикул" (могут быть очищенные, например "OC90" и неочищенные артикулы, например "OC 90", регулирется в настройках модуля), и реквизиту "Производитель" (если артикулы в реквизите "Марка (Бренд)", то в модуле можно их скопировать в другой реквизит. Если номенклатура найдена, то она подставляется в заказ. Если не найдена, то создается.

Загрузка клиентов

Поиск по свойству "userId" в дополнительных сведениях. Если не найден, то ищется по ИНН, затем по номеру телефона вида 79991234567, затем по адресу электронной почты. Если не находится, то создаётся. Если в ABCP данные клиента изменили, то они не обновятся в 1С

Загрузка документов оплаты

Выгрузка балансов клиентов

В дополнительных свойствах контрагента есть реквизиты:
Дата обновления сальдо - хранится дата последней выгрузки баланса клиента на сайт
Выгруженное сальдо - хранится сумма баланса, которая была выгружена на сайт

Для уменьшения количества выгружаемой информации делается запрос по идентификаторам контрагентов на сайте, чтобы собрать баланс только у тех клиентов, которые есть на сайте. Далее по этому списку собираются суммы взаиморасчетов на текущую дату. Далее сравнивается сумма сальдо с суммой, которая хранится в дополнительном реквизите. Если сумма совпадает, то ничего не выгружается. Если не совпадает, то баланс этого клиента обновляется, и его свойство "Выгруженное сальдо" тоже. Далее обновляется свойство "Дата обновления сальдо", в него вносится текущая дата.

e-mail:kserdyukov@mail.ru
Телефон: 8-951-871-14-57