Для конфигурации Управление торговлей, редакция 11 (11.4.12.102) рабочий вариант
В поле сопоставления реквизитов в писаниеВФорматеHTML вставляем этот код.
Принцип работы.
1) если есть тестовый файл в "Файл описания для сайта:" - грузит инфо из него
2) если нет файла, но заполнено "Текстовое описание:" - грузит инфо из него
3) если нет файла, и не заполнено описание - ничего не выгружает, не затирает информацию на сайте.
!ВНИМАНИЕ! Файл описания для сайта: - тут должен быть текстовый файл, если будет картинка или pdf, то весь обмен упадет.
Код |
---|
//Ссылка на номенклатуру происходит через параметр [Номенклатура]
// Параметр, возвращающий результат [Результат]
//Передается МенеджерВременныхТаблиц, в которой временная таблица со свойствами выгружаемых товаров. Онва задается через параметр [МенеджерВременныхТаблиц]
//Значения свойств товаров хранятся во временной таблице ВремЗначенияСвойствТоваровДляВыгрузкиРеквизитовПоПользовательсокмуАлгоритму
//Поля временной таблицы: Номенклатура, Свойство, Значение, ТекстоваяСтрока
//---------------------------------------------------------------------------------------------------------
//САМЫЙ ПРОСТОЙ ПРИМЕР, когда значение должно подставляться из реквизита товара.
//[Результат] = [Номенклатура].<Название реквизита>;
//---------------------------------------------------------------------------------------------------------
//ПРИМЕР, когда значение должно подставляться из свойства товара.
[Результат] = Неопределено;
Если ЗначениеЗаполнено([Номенклатура].ФайлОписанияДляСайта) Тогда
ОписаниеВФорматеHTML = "";
СтруктураДанныхФайла = РаботаСФайлами.ДанныеФайла([Номенклатура].ФайлОписанияДляСайта);
ДвоичныеДанныеСсылкаВХ = СтруктураДанныхФайла.СсылкаНаДвоичныеДанныеФайла;
Если ДвоичныеДанныеСсылкаВХ <> Неопределено Тогда
ДвоичныеДанныеФайла = ПолучитьИзВременногоХранилища(ДвоичныеДанныеСсылкаВХ);
ИмяВремФайла = ПолучитьИмяВременногоФайла();
ТекстФайла = Новый ТекстовыйДокумент;
ДвоичныеДанныеФайла.Записать(ИмяВремФайла);
ТекстФайла.Прочитать(ИмяВремФайла);
ОписаниеВФорматеHTML = ТекстФайла.ПолучитьТекст();
УдалитьФайлы(ИмяВремФайла);
КонецЕсли;
Если НЕ ПустаяСтрока(ОписаниеВФорматеHTML) Тогда
[Результат] = СокрЛП(ОписаниеВФорматеHTML);
КонецЕсли;
КонецЕсли;
Если [Результат] = Неопределено Тогда
Если НЕ ПустаяСтрока([Номенклатура].Описание) Тогда
[Результат] = СокрЛП([Номенклатура].Описание);
КонецЕсли;
КонецЕсли; |