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

     Первый вариант подразумевает выгрузку и загрузку данных в формате csv. Этот формат нам нравится больше, так как в отличии от xml формата он имеет гораздо меньший объем, более жесткую структуру и гораздо быстрее обрабатывается как со стороны 1С, так и со стороны Интернет-магазина и сайта. Для снятия ограничения добавления новых элементов в csv файл мы используем правило добавления "вправо, в край", то есть если в поле добавляется новый элемент, то он ставится в крайнюю правую позицию. Это очень удобно и существенно сокращает затраты времени на программирование. Также следует учесть следующее, что сервер MySQL может производить очень быстро загрузку данных при обновлении таблиц внутренними средствами сервера, если стуктура csv файла и таблицы базы данных совпадают. На примере Интернет-магазина domino-auto.ru нами было протестирована загрузка файла данных содержащая 6 500 000 позиций. Эта загрузка произошла за 30 минут. В процессе загрузки был сформирован файл, он был выгружен по FTP протоколу и загружен в базу MySQL Интернет-магазина. В настоящее время обмен производится по 20 000 000 позициям. На производительность Интернет-магазина это не оказывает существенного воздействия. На сколько мне известно, очень популярная система CMS в России Битрикс умирает при обмене 25000 наименований. А в некоторых случаях и при меньших объемах.

     Второй вариант использует более сложную систему обмена данными. Это обмен данными происходящий по ситуации. То есть при совершении пользователем каких бы то ни было действий в 1С или в Интернет-магазине производится запись как в базу 1С, так и в базу данных Интернет-магазина. При этом происходит проверка наличия остатков и контроль за двойными продажами. Данный механизм был успешно реализован в проектах shop-vodohod.ru & domino-auto.ru Описывать в данной статье более подробно этот механизм не вижу необходимости, при необходимости можно обратиться непосредственно ко мне и я все раcскажу и покажу.

Пример файла обмена из УПП в Интернет-магазин www.rus-tushenka.ru

 

Образец кода выгрузки номенклатуры в Интернет-магазин

Перем     ОбработкаМенеджер;
    ВремКаталог=КаталогВременныхФайлов();
    FTP = Новый FTPСоединение(сервер,Порт,логин,пароль,,Режим,);

    FTP.УстановитьТекущийКаталог(ПапкаЗагрузки);
    ТД = Новый ТекстовыйДокумент;
    ТД1 = Новый ТекстовыйДокумент;
    
Для каждого ТекСтрокаТовары из Номенклатура цикл        
        СтрКаталога=(Строка(ТекСтрокаТовары.Код))+";"+(ТекСтрокаТовары.ЕдИзм)+";"+(ТекСтрокаТовары.Номенклатура)+";"+(ТекСтрокаТовары.Цена1)+";"+(ТекСтрокаТовары.Цена2)+";"+(ТекСтрокаТовары.Цена3)+";"+(ТекСтрокаТовары.ГОСТ)+";"+(ТекСтрокаТовары.СрокГодности)+";"+(ТекСтрокаТовары.КолВУпак)+";"+(ТекСтрокаТовары.ВесЕдиницы)+";"+(ТекСтрокаТовары.ВесУпак)+";"+(ТекСтрокаТовары.ТоргМарка)+";"+(ТекСтрокаТовары.Поставщик)+";"+(ТекСтрокаТовары.Страна)+";"+(ТекСтрокаТовары.Остаток)+";"+(ТекСтрокаТовары.Состав)+";"+(ТекСтрокаТовары.Описание)+";"+(ТекСтрокаТовары.Акция)+";"+(ТекСтрокаТовары.СтЦена)+";"+(ТекСтрокаТовары.Топ)+";"+(ТекСтрокаТовары.РекомендТовар)+";"+(ТекСтрокаТовары.Группа);
        //Сообщить(СтрКаталога);
        ТД.ДобавитьСтроку(СтрКаталога);
    КонецЦикла;
    Путь=ВремКаталог+"catalog.csv";
    ТД.Записать(Путь,КодировкаТекста.OEM);
    FTP.Записать(Путь,"catalog.csv");
    
    
    
    Для каждого ТекСтрокаГруппы из ГруппыНоменклатуры цикл
        
        СтрГрупп = (ТекСтрокаГруппы.Группа.Код+";"+ТекСтрокаГруппы.Группа.Родитель.Код+";"+?(ПустаяСтрока(ТекСтрокаГруппы.АльтернативноеНаименование),ТекСтрокаГруппы.Группа.Наименование,

ТекСтрокаГруппы.АльтернативноеНаименование)+";"+ТекСтрокаГруппы.НеПоказывать+";"+ТекСтрокаГруппы.Транслитерация+";"

+ТекСтрокаГруппы.Описание);
        ТД1.ДобавитьСтроку(СтрГрупп);
        
    КонецЦикла;
    Путь=ВремКаталог+"group.csv";
    //Сообщить(Путь);
    ТД1.Записать(Путь,КодировкаТекста.OEM);
    FTP.Записать(Путь,"group.csv");
    ОчиститьСообщения();
    Сообщить("Последняя выгрузка остатков произощла "+ ТекущаяДата());

Автор статьи - Руководитель проекта Нур Рысбаев

Стоимость создания сайтов

Все вопросы по созданию и покупке платформы интернет-магазина и интеграции с учетными системами и 1С можно задать здесь:

ИнфоПитер.

Разработка и создание сайтов, интернет-магазинов, веб-порталов,

предоставление аренды интернет-магазинов.

г. Санкт-Петербург, ул. Якорная 15/2, оф.323

Тел.: +7(812)9722892

         +7(911)0083416

mail: noor@infopiter.ru

Онлайн-консультант

Сайт: www.6pro.ru