Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

CSV экспорт/импорт - проблема со свойствами типа HTML/текст

00 голосов
4
Доброго времени суток! Возникла проблема при экспорте и импорте через csv.
Есть инфоблоки с несколькими свойствами типа HTML/текст. При CSV-экспорте данные из этих свойств не появляются в результирующем файле, а при импорте, соответственно, не передаются элементу каталога.

В мануалах нашлось следующее:
"Для добавления свойств типа HTML/text (в нашем случае это свойство «Технические характеристики») нам нужно добавить одну возможность в импорт: возможность задавать импорт в формате html.
- Перейдите на страницу Настройки > Настройки продукта > Настройки модулей >
Торговый каталог.
В закладке Экспорт/Импорт нас интересует поле Доступные поля товара.
- В группе Экспорт / импорт из CSV в поле Доступные поля товара в общем списке с помощью клавиши Ctrl сделайте активными строки: Тип описания
(B_IBLOCK_ELEMENT.DETAIL_TEXT_TYPE), Мнемонический код."

Вот только эти инфоблоки, во-первых, не являются торговыми каталогами, а во-вторых, в редакции "Стандарт" этого модуля просто нет.

Кто-нибудь сталкивался с такой проблемой, как ее решить? Элементов для импорта довольно много, чтобы править их потом вручную.
спросил 07 Фев, 14 от Jafarik (100 баллов)

4 Ответы

00 голосов
Техподдержка ответила: "К сожалению в нашем продукте нельзя делать выгрузку свойств типа html\text в CSV файл. Используйте формат XML для экспорта\импорта."

У меня для импорта большое количество информации в табличном виде, несколько сотен элементов каталога для каждой операции импорта. Дерево xml редактировать крайне неудобно. Что может помочь в решении этой задачи?
ответил 21 Июнь, 14 от Jafarik (100 баллов)
00 голосов
Мария, проблема решается достаточно просто:

в файле /bitrix/modules/catalog/load_import/csv_new_run.php

нужно после строк

Код
                     else
                     {
                        $PROP[$cur_prop_id][] = is_array($arRes[$i]) ? $arRes[$i] : Trim($arRes[$i]);
                     }


внести такой код:

Код
if ($cur_prop_id=="9") { $PROP[9] = array('VALUE'=>array('TYPE'=>'HTML', 'TEXT'=>$arRes[$i])); }
if ($cur_prop_id=="10") { $PROP[10] = array('VALUE'=>array('TYPE'=>'HTML', 'TEXT'=>$arRes[$i])); }
if ($cur_prop_id=="11") { $PROP[11] = array('VALUE'=>array('TYPE'=>'HTML', 'TEXT'=>$arRes[$i])); }


Только подставьте правильно ID своих свойств.
ответил 20 Окт, 14 от CePaqpuMa (100 баллов)
00 голосов
Спасибо!
Завтра обязательно попробую.
Последний ответ ТП был "Разработчики давно уже знают про проблему экспорта\импорта свойств типа html\text в CSV файл. Сейчас идёт работа по доработки данного функционала."
Даже интересно, когда в конце концов доработают. :)
ответил 19 Фев, 15 от Jafarik (100 баллов)
00 голосов
Спасибо Андрей Кузнецов, мне помогло. Поставил Вам + :D Сам неоднократно задавал аналогичный вопрос на данном форуме но ответа так и не получил. Способ конечно кривой, требует постоянного редактирования системного файла при добавлении пользовательских полей, но за неимением лучшего данный способ просто спасает. Тем более, что искать более кардинальные и красивые решения багов битрикса уже зае..ся, при первой же возможности снесу его нах.р, и постараюсь забыть как страшный сон. Но Вам еще раз спасибо и +в рейтинг.
ответил 29 Май, 15 от Daido (100 баллов)

Похожие вопросы

0 голосов
3 ответов
0 голосов
2 ответов
спросил 05 Май, 14 от Gibrit (100 баллов)
0 голосов
4 ответов
спросил 31 Дек, 13 от fbdf (140 баллов)
0 голосов
4 ответов
спросил 29 Дек, 13 от Wildest (500 баллов)
0 голосов
5 ответов
спросил 10 Ноя, 13 от SAT (100 баллов)