Выгрузка Булево из 1С:УТ в 1С-Битрикс

23 Apr
Published by Nicholas

1С БулевоНастраивая очередную интеграцию 1С:Управление торговлей 11 с сайтом, под управлением 1С-Битрикс, столкнулся с такой проблемой: реквизиты с типом «Булево» выгружались на сайт с типом «Строка» и со значением «Да». В результате стандартные реквизиты «Новинка», «Спецпредложение» и «Лидер продаж» перестали отображаться.

К сожалению, не нашел другого варианта, как исправить выгрузку на сайт в 1С:УТ. Доработки минимальны.

1. Все значения реквизитов свойств кроме Числа, Даты и Справочника выгружаются как универсальный тип Строка. Сделаем, чтобы Булево выгружалось не как строка, а как Справочник, для этого находим в Общем модуле конфигурации «ОбменССайтом» процедуру ВыгрузитьОсновныеРеквизитыСвойстваДляКлассификатора(). Добавляем в условие две строчки:

ВыгрузитьОсновныеРеквизитыСвойстваДляКлассификатора

2. Теперь нужно выгрузить возможные значения. В нашем случае оно будет только одно: «Да» с идентификатором «YES». Добавим дополнительное условие чуть ниже в той же процедуре:

Возможные значения

3. При выгрузке свойства номенклатуры нужно, чтобы при истинном значении Булево выгружалось «YES». Для этого находим в этом же модуле процедуру ВыгрузитьСвойстваНоменклатуры() и добавляем в ней пару строк:

ВыгрузитьСвойстваНоменклатуры

4. Теперь можно сохранить изменения, и запустить обмен данными с сайтом. На всякий случай зайдем в меню «Контент - Свойства инфоблоков - Каталоги - Каталог товара» и проверим настройки Свойств элементов с типом Булево. Внешний вид у них должен быть установлен как «Флажки»:

Настройки свойств элементов

Теперь «Новинка», «Спецпредложение» и «Лидер продаж» корректно передаются из 1С и отображаются флажками в карточке товара:

Новинка, Спецпредложение и Лидер продаж

Комментарии

Аватар пользователя Николай

В случае, если установлен дополнительный модуль обмена данными с сайтом от 1С-Битрикс, изменения будут следующими:

п. 1.
ИначеЕсли Тип = Тип("Булево") Тогда
СтрокаТаблицыСвойств.ТипXML = "Справочник";

п. 3.
ИначеЕсли ТипЗнч(ДанныеЗначенияСвойства.Значение) = Тип("Булево") Тогда
ЗначениеСвойства = ?(ДанныеЗначенияСвойства.Значение = Истина, "YES", "NO");

Добавить комментарий

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Вы человек или автоматическая спам-рассылка?
Target Image