Выгрузка из 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. Представлен итоговый вариант первых тестов.
Есть первая особенность: согласно спецификации есть необязательные поля для выгрузки. Но если на стороне программы SetRetail были возведены соответствующие флаги, то данные поля становятся "обязательными" - см. рис. 2.
Получается, что для первого положительного результата выгрузки из 1С - загрузки в SetRetail вам обязательно понадобится помощь специалиста (настройщика) системы SetRetail. Есть еще вариант самим разобраться в админских настройках новой программы (расширить свои компетенции, запартнериться с компанией SetRetail, выйти на новые рынки) - все это интересно и многообещающе... но для другого сюжета...
Итак, название (тег name) и цену (тег price-entry) выгружаем сразу, поле ("тег" в терминах xml) marking-of-the-good - это атрибут товара - уникальный идентификатор - я указал код номенклатуры, поскольку не все товары имеют артикул.
Цены - можно выгружать по несколько (см. спецификацию), при этом первая цена number = 1 - всегда розничная.
По умолчанию для всех товаров указал ТипТовара (product-type) как Штучный (ProductPieceEntity). Также обязательным полем стал Налог НДС (vat): 0 - значит "без НДС".
Обязательно надо выгрузить Штрихкоды, при этом тег count - относится только к кол-ву фасовки, поэтому в моей выгрузке = 1 (без разбора) - рис.3.
Товары с пустым, с коротким (менее 13 символов) или длинным (более 13 символов) штрихкодом - не выгружаются (см. рис. 4, 5, 6, 7). Стоит проверка в алгоритме выгрузки, также стоит проверка на запрет выгрузки маркируемых товаров (рис. 4, 5).
В представленной обработке я убрал проверку на маркируемый товар для универсальности решения - поскольку это была нетиповая доработка УТ 10.3 в частном порядке. В остальном сохранил обработку - см. рис. 8.
Можете указать список групп исключений для номенклатуры, список складов для получения остатков по складам, путь файла (название файла обязательно "catalog-goods.xml" - с тире, без подчеркивания - так настроено в программе SetRetail). Файл далее надо перенести вручную в папку "С:\set10\products\source".
Розничные цены я определяю по типу "Розничные", код такой: Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничные"). Формат цен - копейки через точку, но не через запятую - см. рис. 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.
На этом все. Всем добра!
С пользой для клиентов, Рустем