Интернет-магазин Shop-Script на движке Webasyst проявил себя достаточно гибко в плане интеграции с 1С. Выбирать движок не пришлось — этот выбор сделали за меня клиенты. Зато потребовалось доработать выгрузку товаров.
Входная информация.
Типовой обмен происходит по формату 1С (CommerceML) из1С через меню "Сервис — Обмен данными с Web-сайтом".
По умолчанию,
1) по товарам выгружаются все группы по иерархии номенклатуры;
2) нулевые или минусовые остатки не выгружаются;
3) дополнительное описание номенклатуры выгружается в поле "краткое описание".
Из-за чего сыр-бор.
1) Справочник Номенклатура за годы накопил структуру групп по брендам "Х-фактори", "Олерон", а не по функциональной общности "Маникюрный набор", "Краска", "Оборудование" и т.д. — что для интернет-магазина заказчика не удобно.
2) Отсутствующие товары отображаются на сайте со знаком бесконечность (см. рис.)
3) На сайте не видно подробное описание товара.
Что было сделано в 1С.
1) группы товаров при анализе xml-файла import.xml имеют следующую структуру — см. рис. (на рисунке представлен уже результат доработок 1с)
Как видно из рисунка, достаточно сделать подмену групп номенклатуры — на номенклатурные группы. Что и было сделано — в представленной внешней обработке имеются места доработок кода с комментарием "доработка+". Внешняя обработка является независимой работоспособной "капсулой".
Как мы видим из кода, при обмене происходит вызов обработки "Обмен с сайтом".
Процедура ВыполнитьАвтообмен(Настройка, ФлагАвтообмена = Истина) Экспорт
Если НЕ ЗначениеЗаполнено(Настройка) Тогда
Возврат;
КонецЕсли;
ОбработкаОбмена = Обработки.ОбменССайтом.Создать();
ОбработкаОбмена.НастройкаСсылка = Настройка;
ОбработкаОбмена.ВыгрузитьДанные();
КонецПроцедуры
Достаточно эту обработку заменить на представленную в публикации, а в настройках обмена надо удалить строку в таблице соответствия классификаторов — см. рис.
2) Доработка количества также представлена в обработке — см. листинг.
//типовой код
Если Остаток > 0 Тогда
ДобавитьУзелCML(СписокЗначенийCML, "Количество", ФорматЗначенияДляCML(Остаток, мФорматСумм));
КонецЕсли;
//доработка+
Если Остаток <= 0 Тогда
ДобавитьУзелCML(СписокЗначенийCML, "Количество", "0");
КонецЕсли;
3) Для того чтобы описание номенклатуры попало в поле "Описание" интернет-магазина, надо поставить галочку "Дополнительное описание номенклатуры в формате HTML" — в карточке Номенклатуры — см.рис.
Вроде очевидно, но без документации пришлось проводить эксперименты по выгрузке товаров.
Обработка создана и протестирована на платформе 1С:Предприятие 8.2 (8.2.19.130), конфигурации "Управление торговлей", редакция 10.3 (10.3.47.3).
На этом все.
См. также:
Как эффективно использовать Инфостарт
Список реализаций + структура подчиненности + реестр документов SALE
Список заказов поставщикам + структура подчиненности SALE
Список заказов покупателей + структура подчиненности SALE
Договоры для 1с-ника ТОП-скачиваний
Адаптивная сетка расписания (Свой адаптивный планировщик) нестанДАрт
Два механизма, которые ускорили работу бухгалтеров в 1С нестанДАрт
Расчет банковских (рабочих) дней нестанДАрт
Шаблоны кода в режиме 1С:Предприятие SALE
Доработка конфигурации Конвертация Данных
Планирование платежей. Прогнозирование прибылей и убытков
Ввод показателей план-факта БП 3.0 Know-how
Инвентаризация личного опыта Для новичков 1С
Большие запросы: взгляд на проблему нестанДАрт
Технология создания коммерческих разработок Know-how
Андроид-решение для создания заказов в 1С Know-how + нестанДАрт
Печать ценников с одной и двумя ценами 55х40, 100х60, 140х200
Гарантия возврата денег
ООО «Инфостарт» гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.
Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.
Для возврата оплаты просто свяжитесь с нами.