понедельник, 3 февраля 2014 г.

О том, как отдать заказы с сайта на 1С Битрикс двум ИБ 1С Предприятие

Читатели моего блога попросили меня рассказать о том, как лучше организовать обмен заказами между 1С Битикс и 1С Предприятием в условиях, когда справочник номенклатуры в одной и в другой ИБ синхронизирован по внешнему коду.

Это можно сделать 2мя различными способами в зависимости от того, какой программист - 1с-ник или битриксоид имеется  в трудовом резерве:

1) На стороне 1С. Можно сделать, чтобы первая информационная база, забрав заказы, не посылала сайту сообщение 

http://<сайт>/bitrix/admin/1c_exchange.php?type=sale&mode=success 

см. описание протокола обмена: http://dev.1c-bitrix.ru/api_help/sale/orders_protocol.php
тогда вторая ИБ, зайдя после, сможет забрать те же самые заказы.

2) Или на стороне сайта: создаются 2 разных файла 

http://<сайт>/bitrix/admin/1c_exchange.php и 
http://<сайт>/bitrix/admin/1c_exchange2.php

одинакового содержания. И одна информационная база должна ходить за заказами по первому адресу, а вторая - по второму. (Дело в том, что опция успешного завершения обмена заказами записывается отдельно для каждого url - поэтому по 2му адресу - заказы для 2й конфигурации будут выгружены даже после того, как первая уже обменялась по первому адресу и прислала success)

Способ 2 мне кажется предпочтительным.

Оба способа так же предполагают решение проблемы того, какая ИБ какие заказы имеет право перезаписывать - но это уже индивидуально для каждого конкретного случая.