Разыскиваем опытного программиста 1С 7.7 для работы в команде с разработчиками 1С 7.7 и 1С-Битрикс по созданию двунаправленной интеграции между 1С 7.7 и 1С-Битрикс.
=============================================
Опыт написания XML обмена для 1С 7.7 обязателен.
=============================================
Примерный объем работы один месяц полной загрузки плюс два месяца частичной загрузки.
=============================================
Требования к интеграции с учетной системой 1С 7.7
Протокол обмена CommerceML v2.0 с описанными в данном ТЗ изменениями.
Описываемый протокол реализован в 4-й версии модуля обмена 1С-Битрикс и 1С:УТ. Модуль обмена для УТ можно скачать на странице
1c.1c-bitrix.ru/ecommerce... и использовать в качестве примера для разработки собственного модуля для 1С других редакций и версий.
Для обеспечения работоспособности 1С-Битрикс при обновлениях системы, точкой взаимодействия должен быть скрипт сайта http://<сайт>/bitrix/admin/1c_exchange_custom.php (а не http://<сайт>/bitrix/admin/1c_exchange.php как описано в документации).
По умолчанию все файлы обмена имеют кодировку CP1251 (encoding="windows-1251" в первой строке) для более простой генерации их на стороне учетной системы. При этом разрабатываемый сайт будет работать в кодировке UTF-8. Если модуль обмена со стороны учетной системы будет самостоятельно производить конвертацию в UTF-8, то загрузка данных на сайт будет производиться быстрее.
Если какой-либо узел в файле обмена имеет дочерний узел "Ид", это означает что информация из него будет записана на сайт в виде элемента базы данных. По значению атрибута "Ид" сайт судит о том необходимо ли обновить существующий элемент или создать новый. Значение этого атрибута должно быть уникальным в пределах всего сайта (не должно повторяться даже у различных сущностей). Тип поля строка, оптимальный размер не более 34 символов.
Существует исключение при формировании/разборе узла "Ид". Для предложений "Ид" формируется как "Ид товара#Ид предложения". Если у товара только одно предложение (как в данном проекте) рекомендуется формировать "Ид" для предложений как "Ид товара#Ид товара".
Сущности сохраняемые на сайте в виде элемента базы данных также могут иметь необязательный узел "НомерВерсии". Этот узел применяется для оптимизации скорости загрузки данных на сайт и чаще всего (на стороне учетной системы может быть выбран другой способ версионирования) содержит MD5-хеш от всех полей выгружаемого элемента. В случае если при загрузке на сайт номер версии совпадает с тем номером что хранится на сайте обновление элемента не происходит.
=============================================
Требования к порядку этапов интеграции
Загрузка данных в учетную систему должна производиться до выгрузки на сайт. Это означает, что разрешение возможных коллизий (например, заказ товара которого уже нет в наличии) лежит на учетной системе.
При выгрузке на сайт, если сущность А (например, цена детали) ссылается на сущность Б (например, валюта), то сущность Б должна выгружаться раньше. Это означает, что может потребоваться разделить выгрузку однотипных данных (например, справочников) по разным файлам и одни загружать в начале обмена, а другие в конце.
Выгрузка на сайт должна осуществляться по алгоритму, описанному в документации к типовому модулю обмена 1С-Битрикс
dev.1c-bitrix.ru/api_help... Загрузка данных с сайта должна осуществляться по алгоритму, описанному в документации к типовому модулю обмена 1С-Битрикс
dev.1c-bitrix.ru/api_help... ==============================================