Номенклатура: xml -> 1С8.3:УТ11.2 -> Bitrix(интернет-магазин)
В архиве
Хабаровск(Россия )
dmitry.kikot
10 апреля 2017 в 15:06:05
(7 лет 33 недели 1 день 11 часов назад)
V8.x Управление торговлей
01.12.2016 07:37:56
Текст задания
Суть задачи: организовать загрузку номенклатуры из xml-файла в 1С УТ для последующей выгрузки на сайт интернет-магазина на Битрикс.
1С:Предприятие 8.3, Управление торговлей, редакция 11, база - файловая.
Конфигурация типовая, чистая, без доработок, и таковой должна остаться, весь функционал – внешние обработки.
Цель - выгрузка из 1С УТ в интернет-магазин на Битрикс продуктов питания, поэтому типы товаром могут быть различными - штучный, весовой, разливной.
Работа на стороне интернет-магазина (далее - ИМ) подразумевает предоставление сервиса для нескольких городов. В каждом городе - несколько складов отгрузки.
Товарный учет не ведется, фиксируем только состав заказа, документы оплаты, документы отгрузки.
Склады в 1С транзитные, то есть когда мы имеем состав фактической отгрузки по заказу - сначала приходуем на склад, потом формируем документ отгрузки по заказу, при отправке клиенту списываем (сервис доставки со складов поставщика продукции).
Соответственно, для каждого города планируется использовать понятие «цены для города», и «активности для магазина» (продается ли конкретный товар в этом городе/магазине или нет и по какой цене). Возможно, это реализуется документами установки цен: для каждого города свой тип цены.
Таким образом, необходимо предусмотреть хранение и управление этими данными с возможностью изменения состава городов и создания/привязки складов к ним.
На основании базовой единицы измерения (штуки, литры, килограммы) устанавливается тип товара.
Данные приходят в виде xml-файла (структура в конце).
Уникальным идентификатором товара для определения его наличия является значение тэга <ID>.
Обработка xml-файла сводится к добавлению новых карточек товаров (если их нет в 1С), и обновлению активности по складам и цены товаров для города (если такой товар в 1С найден).
При добавлении нового товара в соответствующие имеющиеся поля добавляются все значения тегов из xml-файла.
Если не удалось сопоставить имя тега и свойство товара - создается новый реквизит с именем тега и типом "текст".
В тэге <ПрефиксГорода> указан ID города (для каждого города имеется отдельный файл).
В тэге <Активен_к_заказу> указаны ID магазинов (складов), где этот товар продается. Для остальных складов города активность снимается (только для привязанных к текущему городу, указанному в тэге <ПрефиксГорода>, то есть перед обработкой файла нужно по этому тэгу получить список всех привязанных к текущему городу складов). Возможно, это просто множественный реквизит на основе справочника городов-магазинов. Но будут ли данные корректно выгружаться в сайт на Битрикс - вопрос.
После выбора и обработки файла он перемещается в указанную в настройках обработки папку (архивную).
При добавлении нового товара в содержимом тэга "Изображение" передаются ссылки на изображения товара. Если оно не пустое - каждое изображение скачивается и добавляется в карточку товара путь может быть локальным (C:Imagesfilename.jpg), сетевым (//servername/foldername/filename.jpg) и URL (https://servername.ru/foldername/filename.jpg).
В тэге "Путь" указана иерархия структуры каталога относительно корневого. Если тег отсутствует/пустой, то товар добавляется в корневую папку "Прочее". Если заполнен - в соответствии со структурой. Если необходимые подразделы структуры отсутствуют - они создаются.
Весь функционал должны быть исполнены в виде внешних (без изменения конфигурации), иметь интерфейс запуска и настройки (пути для файлов выгрузки/архива, временной папки для изображений и пр.). Настройки могут храниться в конфигурационном файле.
Образец xml-файла карточек товаров (номенклатуры) для промышленного, штучного, весового товара а так же алкоголя: