Еще раз про импорт каталога из 1С-Битрикс в 1С Предприятие и обратно

Совсем недавно я уже писала пост об импорте каталога из 1С-Битрикс в 1С Предприятие, а потом - обратно, но не достаточно хорошо, на мой нынешний взгляд, структурировала информацию, поэтому хочу немного дополнить - выделить 3 ключевых момента на память себе и тем, кто тоже делает такую интеграцию.

Итак,
1) В ситуации, когда источником данных о номенклатуре являлся сайт мы оказывались не единожды, и ни разу не было такого, чтобы у товаров на сайте не было каких-то XML_ID Обычно клиенты забивают товары на сайт не вручную, а пользуясь различными импортами, в следствии которых XML_ID - рождается. Так вот, прежде чем импортировать каталог в 1С необходимо убедиться, что все XML_ID товаров и разделов на сайте - уникальны. То есть, если есть раздел с XML_ID, к примеру, "121", то товара с XML_ID "121" уже быть не должно, потому что, когда они придут на сторону 1С - они будут записываться в справочник, а элемент справочника отличается от группы справочника только флажком, и вот такая неуникальность среди кодов разделов и товаров потом приводит к куче скрытых багов - обмен может не ругнуться, если у товара с неуникальным кодом нет картинки.

2) Если мы используем стандартную обработку "Помощник импорта...", нужно помнить, что если не дай бог, в первый раз номенклатура загрузится как-то не так, то нам ее придется помечать на удаление и удалять перед следующим запуском обработки - что может оказаться на большой базе жутким геморроем, Поэтому сначала нужно пробовать на 1м разделе или на небольшом участке (для этого кастомайзим сторону сайта - об этом в моем предыдущем посте есть). Или дописываем сами апдейт полей, которые нужно перезаписать, в функции
НайтиСоздатьНоменклатуру на стороне 1С

Например, так:
Иначе 
Номенклатура=НоменклатураСсылка.ПолучитьОбъект(); 
УстановитьРодителя(Номенклатура, СтрокаТовара.Группы); 
Номенклатура.Записать(); 
КонецЕсли; 
КонецПроцедуры; 

3) Успешно загрузили номенклатуру с сайта в 1С? Радоваться рано. Можно сэмулировать прикольный баг, когда обратный импорт на сайт потрет картинки на сайте. Для этого нужно создать узел полного обмена товарами и сделать полную выгрузку сначала в тестовый инфоблок на сайте, обрадоваться, что все хорошо пришло, скопировать его внешний код во внешний код рабочего инфоблока, снести тестовый и снова выполнить полный обмен. Вуаля - картинок нет. Примерно такая последовательность. А чтобы такого не случилось, при первом импорте в рабочий инфоблок нужно делать принудительную полную выгрузку.
0
Галиев Максим
03.03.2016 01:31:37
В этом посте все более четко и понятно, чем в предыдущем.
Ответить Ссылка 0
0
Сергей
03.03.2016 01:33:44
Спасибо за пост, он мне точно пригодится в ближайшее время:)
Ответить Ссылка 0
0
Таня
03.03.2016 01:35:22
Юля - ты умница, очень хорошо и понятно объясняешь!;)
Ответить Ссылка 0