Синхронизация с 1С

Материал из MstarProject Manual
Перейти к: навигация, поиск

Модуль предназначен для синхронизации данных между сайтом и вашей конфигурацией 1С версии 8.

Протокол синхронизации описан по ссылке

Модуль разрабатывается индивидуально для каждого заказчика и при тесном сотрудничестве с вашим программистом 1С.

При обмене данными инициатором обмена выступает 1С. Выделим основные моменты по передаче данных:


Инициализация

1С отправляет запрос на адрес http://site.mstarproject.com/exchange.php?type=catalog&mode=checkauth и передает значение логина и пароля менеджера 1С. Этот менеджер создается в Мпанели и используется только для авторизации 1С.

Весь обмен происходит в кодировке UTF8. (Но по просьбе заказчика можно рассмотреть изменение кодировки на другую).

В конце любой операции выдается или success - успешное выболнение, или failure - ошибка.

Передача из сайта в 1С.

Контрагенты

1С отправляет запрос на адрес http://site.mstarproject.com/exchange.php?type=sale&mode=customers

В ответ передается XML с содержанием контрагентов, пример:

<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="2014-07-03">
  <Контрагенты>
    <Контрагент ID="НОМЕР001" ФИО="Старовойт Михаил" Логин="mstar" Телефон="0504652966">
    </Контрагент>
  <Контрагенты>
</КоммерческаяИнформация>

Обратите внимание, при обмене контагентами необходима двойная идентификация, Логин - идентификатор для сайта, ID - идентификатор для 1С. в Любом случае хотябы один из идентификаторов должен присутствовать. Если пустой Логин, то это сигнал сайту, что надо создать такого пользователя (пользователь создан в 1С, надо создать на сайте). И наоборот, если пустой ID - надо создать в 1С (пользователь создан на сайте, надо создать в 1С).

Количество параметров может быть расширено в зависимости от нужд заказчика.

Заказы

1С отправляет запрос на адрес http://site.mstarproject.com/exchange.php?type=sale&mode=orders

В ответ передается XML с содержанием заказов, пример:

<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="2014-07-03">
<Заказы>
  <Заказ ID="26" Date="2010-08-31" Time="20:18:41" Total="5029.20">
    <Покупатель Name="Садулаев Садула Шамильевич" Login="sadu" Phone="89282776906"/>
    <Товар ID="" Brand="" CodeCMS="1000380001" BrandCMS="meyle" Price="5029.20" Qty="1" Total="5029.2"/>
  </Заказ>
</Заказы>
</КоммерческаяИнформация>

Заказ содержит одного покупателя и один или более товаров.

Товар может идентифицироваться как по идентификаторам 1С: ID и Brand, так и по идентификаторам сайта: CodeCMS и BrandCMS.

Обратите внимание, что код (артикул) сайта является "очищеным" кодом, то есть не содержит пробелы, тире, точки и другие "лишние" символы, а код 1С передается в том виде в котором был получен из 1С.

У каждого заказа на сайте есть флаг передачи, при создании заказа флаг=0, при выгрузке в 1С - флаг меняет значение на 1. После чего выгрузка в 1С такого заказа не повторяется. Поведение флага можно обговорить с заказчиком, например можно получать от 1С список принятых заказов и только потом устанавливать флаг - это исключит случаи потери заказов при перебоях в передаче.

Передача из 1С на сайт.

Любая передача данных из 1С начинается передачей файла, производится методом POST на адрес http://site.mstarproject.com/exchange.php?type=catalog&mode=file&filename=FILE

Значение FILE лучше указывать разным для разных обменов данными, например для передачи клиентов может выглядеть так: http://site.mstarproject.com/exchange.php?type=catalog&mode=file&filename=clients.xml

Разные названия файлов нужны по причине того, что при загрузке файл записывается поверх файла с одинаковым именем, хотя это необязательное условие.

Далее 1С запускает процесс обработки загруженного файла, посылая запрос на адрес: http://site.mstarproject.com/exchange.php?type=catalog&mode=import&filename=FILE

Обратите внимание, что сначала надо загрузить файл на сайт, потом его обработать.

Сайт производит обработку данных в файле исходя из веток XML, в принципе все данные можно выгружать в одном файле, но из-за возможно большого файла обработка может занять много времени, поэтому рекомендуем разбивать разные данные на разные файлы.


Естимейт базовой версии задания - 40ч

Вернуться к списку модулей: Модули_пакет_Експерт_-_Документация