Есть оптовый поставщик, у которого около 20 тысяч наименований товаров. Поставщик дает feed, причем в двух форматах - csv и xml и в нескольких формах. В одной форме он выдает только производителей товаров, в другом цвета, в третьей остатки, в четвертом цены. То есть, данные можно получить все сразу, а можно по отдельности получать только остатки или только цены. Есть специальная выгрузка для Битрикса и для других CMS. Есть просто независимые выгрузки с разными составами. Магазин продает товары предназначенные что-то типа для здоровья и любви.
Было два варианта как провести интеграцию. Первый вариант - сначала автоматизировать загрузку товаров от поставщика в 1С, потом сделать интеграцию 1С с Битриксом. Второй вариант - заполнить сайт товарами специальными техническими средствами, настроить правильное отображение товаров, предложений, свойств, цен в Битриксе и потом сделать интеграцию Битрикс и 1С. Был выбран второй вариант по нескльким причинам. Первая причина - так быстрей запустить магазин, зарегистрировать его по SEO-линии. Вторая причина - магазин делается на готовом решении Битрикса и там уже есть свои свойства. Поэтому сначала нужно будет разобраться какие свойства готового решения лучше подходят к свойствам поставщика. Понятно, что придется дододелывать готовое решние и доделывать его лучше на данных, которые приходят напрямую от поставщика, потому что вполне вероятно, что некоторая часть данных будет идти напрямую от поставщика в Битрикс, а не в 1С. То есть, от поставщика часть данных будет идти напрямую в Битрикс, а часть данных будет идти в 1С.
Вот так выглядят группы товаров, получаемые из csv-файлика:
Необычной особенностью здесь является то, что поставщик не предоставляет код группы ни в одном файлике. Это значит, что ориентироваться нужно только на наименование. Это создает некоторые неудобства. Поставщик может поменять наименование, поэтому моя система должна отлсеживать наименования групп и при изменении наименования должна предупреждать пользователя, что бы пользователь решил является ли изменение наименования следствием появления новой группы или следствием изменения существующей группы. В Битриксе это сделать сложней, чем в 1С. Поэтому в 1С есть всегда актуальный вариант структуры групп товаров, с которым идет сравнение групп, приходящих от поставщика.
Вот так выглядит технический справочник номенклатуры в 1С. Когда он отправляется в Битрикс, то в качестве внешнего кода берется GUID.
Вот так выглядят разделы интернет-магазина в Битриксе:
В качестве внешнего кода я использовал 1С-GUID технического справочника.