Интеграция 1С УТ 11.2 и Битрикс. Настройка выгрузки старой цены для интернет-магазина



Настройки позволят вытащить информацию о старой цене из 1С и передать её в CMS Битрикс.

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

 

На борту имеем:

  • 1С Управление торговлей ред. 11.2.2.119
  • Модуль обмена с сайтом Битрикс 6.0.3.4

(см. https://1c.1c-bitrix.ru/ecommerce/download.php — тут доступные модули обмена)

 

Сначала идем ОбщиеМодули. Б_ОбменССайтомСерверВыгрузкаДанных и находим следующую функцию:

«СформироватьВременныеТаблицыПоИнформацииОТоварахПакета»

В ней ищем следующий текст запроса:

 

 Запрос по ценам типовой

И меняем его на запрос который позволит нам получить информацию по старой цене в рамках одного вида цен который используется в типовом соглашении для интеграции с Битрикс:

 

 Запрос по ценам новая версия

Далее ищем функцию «ВыгрузитьПрайсы» в ней находим следующий код:

 

 Выгрузка цены для каждого товара (предложения) типовая

И меняем его на следующий:

 

 Выгрузка цены для каждого товара (предложения) новая версия 

 

Все после этого для каждого товара добавлена информация по двум типам цен. Первая запись это текущая актуальная цена, а вторая старая цена, если она есть. Но на этом еще не все нужно также описать наш новый тип цен который будет выгружаться в общей информации. Идем в процедуру «ВыгрузитьСоглашенияXDTO» и после цикла который обходит выборку «ВыборкаСоглашений» добавляем следующие строчки кода:

 

 Добавляем в выгрузку общей информации новый вид цен.

Ну вот и все. Решение работает и нас полностью устраивает за 7 дней отладки ошибок вроде нет. Удачи!!! Ну и не забудьте поставить задачу web программисту чтоб он реализовал вывод этой информации в карточку товара на самом сайте.

2 Comments

  1. disnos

    А зачем такие танцы с бубном, если можно просто добавить вид цены «старая цена» и выгружать его стандартным способом?

    Цена рассчитывается автоматически, отделу маркетинга только галку поставить при установке цен.

    Reply
  2. Consultant_1C

    Ну я и не претендую на премию лучшей разработки года. Каждый ищет выходы по своему. Тут вы себя обезопасите от человеческого фактора заполнения старой цены. Меня просто смущает тот факт, что вам придется написать произвольный запрос для вашего вида цен который будет работать по определенному алгоритму, создать еще одно типовое соглашение для этого вида цен и обязать маркетинг проставлять флаги и делать перерасчет цены. Тут и начнется, что кто-то не поставил, кто-то не нажал пересчет по видам цен и по итогу старая цена будет некорректной, то есть этот процесс нужно будет постоянно контролировать и он будет порождать новые обращения в службу ИТ. А в моем решении человеческий фактор полностью исключен. Ценообразование розничной цены происходит ежедневно и к этому маркетинг подходит более внимательно не желе к формированию какой-то дополнительной цены для какого-то там сайта. Ну это лично мое мнение из сложившегося опыта.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *