О модуле

Если нужен обмен между Вашим сайтом и 1С:Предприятие (далее 1С), которое использует штатную функцию обмена на основе CommerceML, то это то что Вы ищите.

Принцип обмена такой, 1С обращается к сайту, а сайт отвечает на запросы, сам сайт не подключается к 1С. Это довольно старый алгоритм работы с сайтом, но самый распространенный, потому как не требует дополнительных доработок.

Основные возможности модуля:

  • Выгрузка товаров на сайт
  • Возможность отключить обновление (картинок, категорий, свойств (атрибутов) и пр.)
  • Выгрузка товарных категорий или групп на сайт
  • Выгрузка свойств товарных категорий (в будущем их можно использовать в фильтре)
  • Выгрузка свойств товаров в атрибуты на сайт
  • Установить единицы длины и веса которые выгружаются с 1С
  • Типы цен выбираются из списка который загружается при первом обмене
  • Возможно указать конкретные склады по которым будут считаться остатки
  • Возможно отключить загрузку предложений, характеристик
  • Возможно отключить загруженные товары без цен и/или без картинок
  • Выгрузка заказов с определенным одним статусом начиная с определенной даты
  • Возможно выгрузка резерва товаров в заказе
  • Конвертация файла заказов (XML) в кодировку Windows-1251 для старых конфигураций.
  • Если в 1С установлен модуль обмена с Битрикс, то дополнительно проверяется номер версии.
  • Двусторонний обмен заказами
  • Обмен статусами заказов
  • Возможно производить обмен двумя этапами, сначала загружаем XML в базу, а потом из админки произвести импорт последних загруженных данных.
  • Удалить товары, категории, атрибуты, опции которые были загружены из 1С
  • Ручная загрузка данных XML или ZIP архивов.

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

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

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


О разработчике

Я живу в далеком сибирском городе Чита населением около 300 тысяч в Забайкальском крае, разница по времени с Москвой у нас +6 часов. Я занимался ремонтом электроники с детства и еще меня привлекало программирование, интернет, Linux. И как-то задумался над поиском запчастей в нашем городе, ходил по мастерам и сервисным центрам в надежде получить от них список запчастей чтобы выкладывать на какой-то сайте, но мастерам все некогда было этим заниматься, и тогда я решился создать свой каталог из своих запчастей.

Я быстро создал сайт, но встал вопрос как сделать обмен с моей программой 1С, тут еще вставал вопрос какая 1С лучше подходит под интернет торговлю, и попалась мне 1С:УНФ (Управление небольшой фирмой) сейчас она уже называется «Управление нашей фиирмой», но продукт был сырой и обновления выходили чуть ли не каждую неделю, но видно что бурно развивается, я решил использовать именно её.

В 2016 году мне потребовался для моего сайта такой модуль, я нашел его на просторах интернета, автор который его написал, не поддерживал и не отвечал на запросы, я его взял и доработал чтобы он работал со свежими платформами. Далее доработки все увеличивались и я решил с нуля переписать модуль и уже выложить как свое решение. Обсуждение и модуль до сих пор доступен на сайте OpenCatrtForum, и поддержка модуля OpenCartForum. Сейчас я не участвую в поддержке своего модуля по одной лишь причине что форум находится не в России и заблокирован доступ для Россиян, хотя я не собираюсь этого делать на своем хостинге. Хотя через VPN я туда заходил и аккаунт мой не заблокирован. По сей день ко мне обращаются со всей России и с Украины, я им не отказываю, но из-за отсутствия времени все же приходится иногда. Также модуль доступен на Гитхабе, но там мне неудобно было разрабатывать, проект я там забросил, и все разработки я производил на своем хостинге.

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

После блокировки OpenCartForum я решил создать свой первый сайт модуля, это было решение быстрое и ничего лучшего я на тот момент не придумал. Сейчас я купил отдельный домен для модуля и пока еще не определился с темой, она может еще поменяться несколько раз пока не найду удобное для себя решение.

В марте 2018 году вышла первая бета версия 1.6.4.1, но сразу скажу первый блин комом, и я не справлялся с исправлением ошибок, т.к. их еще сложно было находить, чем на своем, т.к. для быстрого поиска мне нужен был SSH, phpMyAdmin, FTP, доступ к сайту.

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

Но изучив работу Битрикс, я решил создать новую версию. Я думал что загрузка сначала в одни таблицы, а потом из них в другие будет отнимать много времени, но на самом деле не критично, причем загрузка в таблицы модуля происходила намного быстрее чем обработка их, но все же я предусмотрел загрузку порциями если по времени обработки php не успевает.

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