Стандартний обмін 1С-Бітрікс на BASH: Докладний розбір скрипта инкрементальной вивантаження

Для забезпечення синхронізації каталогу товарів між системою 1С і сайтом на системі управління Бітрікс, використовується стандартний для Битрикса протокол обміну XML файлами у форматі CommerceML, заснований на передачі від 1С до Битриксу HTTP GET і POST запитів з певними параметрами, і отриманні стандартних відповідей, що містять статус операції, що позначає результат її виконання.

першій статті цієї серії дано обґрунтування можливості застосування окремого скрипта, що бере сформовані 1С або іншою системою або програмою, XML файли, і передавального їх Битриксу, використовуючи стандартний протокол.

У цій статті я дам докладні коментарі до кожної рядку скрипта. Це дозволить спростити його модифікацію під ваші потреби.

Скрипт написаний на BASH і є одним з кількох сценаріїв, що забезпечують різні обміни через один і той же стандарт, який пропонує 1С-Бітрікс для передачі каталогу товарів з 1С і завантаження замовлень з сайту, побудованого на основі системи управління Бітрікс.

Далі йде текст скрипта з коментарями. Короткий вид скрипта, що містить виключно код, наведений у попередній статті, і доступний github проекту bitrexchange.

Читати далі →

Стандартний обмін 1С-Бітрікс на BASH: инкрементальная вивантаження XML файлів каталогу import і offers

Коли говорять про переваги 1С-Бітрікс, в перших словах згадують про легкої інтеграції з 1С. Взаємодія з 1С Бітрікс здійснюється за допомогою передачі даних у форматі CommerceML, який визначає формат XML файлів. В додаток до цього Бітрікс пропонує і стандарт обміну цими XML файлами між 1С і сайтом. Обмін полягає у відсиланні з 1С звичайних HTTP GET і POST запитів на сайт і отримання від сайту простих відповідей, які визначають результат виконання команди.
Зазвичай декларується, що в складі 1С існує якийсь "стандартний обмін з сайтом", який повинен працювати відразу після включення. На практиці, реалізація обміну виявляється не такою тривіальної завданням, як це здається спочатку. Є скарги на те, що модуль обміну з сайтом 1С надмірно завантажує систему і вимагає доопрацювань під конкретні потреби. Тобто, по факту, обмін начебто і є, але щоб змусити його працювати так, як потрібно, необхідно докласти зусилля.
Є ще кілька причин, щоб вклинитися в стандартний обмін:
  • По-перше, джерелом даних для сайту не завжди може бути 1С. Це може бути якась інша інформаційна база або база іншого сайту.
  • Крім цього, може виникнути ситуація, коли дані з 1С потрібно доповнити іншими даними або змінити їх.
  • Не завжди є вільні програмісти 1С, які можуть зайнятися доробками стандартної вивантаження або усуненням неполадок в ній.

Читати далі →