Найти в Дзене
1с разное

Выгрузка товаров из УТ 10.3 в файл xml для инфокиоска SetRetail 10

Выгрузка из 1С УТ 10.3 в файл xml - описание технологии создания подобных выгрузок для любых конфигураций.

Добрый день, коллеги!

В своей работе внедренца/консультанта/программиста/аналитика 1С я сталкивался с УТ 10.3, БП 3.0, Розницей 2.2, УНФ 1.6/3.1, КА 2.4/2.5, Кортес: Адресное хранение, Клеверенс.

Сегодня я расскажу вам о программе SetRetail. Это не реклама. Это с чем приходится сталкиваться.

Информации по подготовке файлов импорта для системы Set Retail мало в открытом доступе. Кто чем пользуется, пишите в комментах.

Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.14.2095), конфигурации "Управление торговлей", редакция 10.3 (10.3.68.3).

Когда я в первый раз увидел аббревиатуру на аппарате CSI, смог только найти на ютуб маркетинговые ролики, не более.

Узнал, что речь идет о производителе Кристалл Сервис - на офиц. сайте информации для внедренцев почти нет (на дату написания статьи 28.07.22). Техподдержка в глухой обороне - надо звонить из Казани в Москву по московскому номеру через 8-495-..., писать в техподдержку значит заполнять большую опросную анкету.

После эры ватсап, все вышеперечисленное кажется уже древними технологиями. На сайте нет информации о партнерах, которые решают вопросы внедрения в других городах. Вот это упущение для отдела продаж, подумал я и закрыл проект...

Много позже директор нашел специалиста по Set Retail. Благодаря его подсказкам и тестированию на стороне программы SetRetail стало понятно как выгружать сведения из 1С.

Изначально вся подробная спецификация по полям выгрузки имеется на сайте техподдержки Импорт товарного справочника из ERP в SetRetail 10 - Основная структура формата.

Для первых тестов хотелось понять, какой минимальный набор полей надо выгружать. Сам файл xml выглядит просто, структура его проста - см. рис. 1. Представлен итоговый вариант первых тестов.

Рис. 1. Структура выгрузки из 1С (импорта в SetRetail)
Рис. 1. Структура выгрузки из 1С (импорта в SetRetail)

Есть первая особенность: согласно спецификации есть необязательные поля для выгрузки. Но если на стороне программы SetRetail были возведены соответствующие флаги, то данные поля становятся "обязательными" - см. рис. 2.

Рис. 2. Обязательность полей зависит от текущих настроек программы SetRetail
Рис. 2. Обязательность полей зависит от текущих настроек программы SetRetail

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

Итак, название (тег name) и цену (тег price-entry) выгружаем сразу, поле ("тег" в терминах xml) marking-of-the-good - это атрибут товара - уникальный идентификатор - я указал код номенклатуры, поскольку не все товары имеют артикул.

Цены - можно выгружать по несколько (см. спецификацию), при этом первая цена number = 1 - всегда розничная.

По умолчанию для всех товаров указал ТипТовара (product-type) как Штучный (ProductPieceEntity). Также обязательным полем стал Налог НДС (vat): 0 - значит "без НДС".

Обязательно надо выгрузить Штрихкоды, при этом тег count - относится только к кол-ву фасовки, поэтому в моей выгрузке = 1 (без разбора) - рис.3.

Рис. 3. Поле count - это не порядковый номер штрихкода, как у цен, а для указания кол-ва фасовки
Рис. 3. Поле count - это не порядковый номер штрихкода, как у цен, а для указания кол-ва фасовки

Товары с пустым, с коротким (менее 13 символов) или длинным (более 13 символов) штрихкодом - не выгружаются (см. рис. 4, 5, 6, 7). Стоит проверка в алгоритме выгрузки, также стоит проверка на запрет выгрузки маркируемых товаров (рис. 4, 5).

Рис. 4. Короткие ШК - явно не EAN13, и значит ошибочные
Рис. 4. Короткие ШК - явно не EAN13, и значит ошибочные
Рис. 5. Длинные ШК и ШК-крякозябры - только у маркируемых товаров (одежда, текстиль, обувь) (частная доработка 1С)
Рис. 5. Длинные ШК и ШК-крякозябры - только у маркируемых товаров (одежда, текстиль, обувь) (частная доработка 1С)
Рис. 6. Дерево запроса по тапочкам - смотрим масштабы бедствия "кривых для xml" штрихкодов
Рис. 6. Дерево запроса по тапочкам - смотрим масштабы бедствия "кривых для xml" штрихкодов
Рис. 7. Структура выгрузки нескольких штрихкодов по одному товару
Рис. 7. Структура выгрузки нескольких штрихкодов по одному товару

В представленной обработке я убрал проверку на маркируемый товар для универсальности решения - поскольку это была нетиповая доработка УТ 10.3 в частном порядке. В остальном сохранил обработку - см. рис. 8.

Рис. 8. Внешний вид обработки
Рис. 8. Внешний вид обработки

Можете указать список групп исключений для номенклатуры, список складов для получения остатков по складам, путь файла (название файла обязательно "catalog-goods.xml" - с тире, без подчеркивания - так настроено в программе SetRetail). Файл далее надо перенести вручную в папку "С:\set10\products\source".

Розничные цены я определяю по типу "Розничные", код такой: Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничные"). Формат цен - копейки через точку, но не через запятую - см. рис. 9 - на рисунке ошибка!

Рис. 9. Ошибка указания копеек - через запятую нельзя
Рис. 9. Ошибка указания копеек - через запятую нельзя

Почему я так подробно поясняю мелкие детали?

Потому что при выгрузке 10 товаров у вас будет все отлично загружаться:

  • не будет товаров по ценам с копейками,
  • не будет маркируемых товаров
  • не будет пустых штрихкодов
  • вы забудете про НДС или про ТипТовара.

При тестах на 1000 товарах или 20000 товарах ошибки себя проявят, но вы не разберетесь в логах, которые хранятся по адресу "C:\Program Files (x86)\SetRetail10\standalone\log\server.log". А вы точно в них не разберетесь. :)

Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.14.2095), конфигурации "Управление торговлей", редакция 10.3 (10.3.68.3).

Для тех, кто дочитал до конца, отвечу на вопрос, почему обмен через выгрузку xml - см. рис. 10.

Рис. 10. Переписка на форуме
Рис. 10. Переписка на форуме

На этом все. Всем добра!

С пользой для клиентов, Рустем