При работе с подключаемым оборудованием в режиме "Офлайн" технические специалисты часто сталкиваются с ситуацией, когда товары либо вообще не попадают в файл выгрузки, либо выгружаются без штрихкодов. Особенно остро эта проблема проявляется в конфигурации 1С:Розница 2.3 при интеграции со смарт-терминалами, такими как АТОЛ Sigma 10. Рассмотрим подробно причины этой проблемы и разберем по шагам способы её решения.
Первое, что мы должны проанализировать — это логика работы подсистемы "Подключаемое оборудование" в 1С. Для ККМ Оффлайн первичным идентификатором товара является не штрихкод и не внутренний UUID, а код SKU (Stock Keeping Unit). В контексте кассового аппарата SKU выступает в роли номера ячейки или кода PLU.
Разберем ситуацию: если для товара в базе 1С не сгенерирован код SKU, система при формировании выгрузки просто "проигнорирует" такую позицию. Даже если у товара заполнены все остальные реквизиты, включая наименование, цену и штрихкод, отсутствие SKU блокирует его попадание в файл обмена. Программа считает, что товар без номера ячейки не может быть корректно идентифицирован кассовым аппаратом в режиме офлайн.
Как решить:
Выясним причину, по которой штрихкоды могут отсутствовать в самом XML-файле, даже если SKU назначены. Смарт-терминалы серии АТОЛ Sigma (включая Sigma 10) технически не являются классическими "ККМ Оффлайн" в старом понимании этого термина (как, например, АТОЛ 90Ф). Это устройства на базе Android, которые работают через Sigma Облако.
Попытка использовать стандартный драйвер "АТОЛ: ККМ Оффлайн" через XML-файл часто приводит к тому, что структура файла не совпадает с ожиданиями терминала. В типовых правилах обмена 1С может быть не прописана передача узла Barcode, так как некоторые старые драйверы ожидали штрихкод в составе текстовой строки или вообще не поддерживали его передачу отдельно от SKU.
Рассмотрим более эффективный метод интеграции — использование импорта через Sigma Облако. Вместо того чтобы пытаться "починить" XML-выгрузку, которая морально устарела для данного оборудования, мы можем использовать механизм загрузки каталога из файлов формата Excel (XLS/XLSX) или CSV.
Проанализируем ситуацию, когда товар есть в 1С, SKU назначен, но в файл выгрузки он всё равно не попадает. В "1С:Розница" выгрузка в офлайн-оборудование жестко фильтруется по следующим критериям:
Если специфика вашего бизнеса требует передачи специфических данных в XML, которых нет в стандартном механизме, нам потребуется вмешательство в программный код. Посмотрим на пример того, как можно дополнить структуру выгрузки штрихкодами через расширение.
Обычно данные собираются в общем модуле МенеджерОборудованияВызовСервера или в модулях объектов драйверов. Проанализируем фрагмент кода, который отвечает за формирование таблицы товаров для выгрузки. Нам нужно убедиться, что в таблицу значений, передаваемую в драйвер, попадает поле Штрихкод.
// Пример логики добавления штрихкода в таблицу выгрузки
Процедура ПодготовитьДанныеДляВыгрузки(ТаблицаТоваров) Экспорт
Для Каждого СтрокаТовара Из ТаблицаТоваров Цикл
// Ищем основной штрихкод номенклатуры
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ТОП 1
| Штрихкоды.Штрихкод КАК Штрихкод
|ИЗ
| РегистрСведений.ШтрихкодыНоменклатуры КАК Штрихкоды
|ГДЕ
| Штрихкоды.Номенклатура = &Номенклатура
| И Штрихкоды.Характеристика = &Характеристика";
Запрос.УстановитьПараметр("Номенклатура", СтрокаТовара.Номенклатура);
Запрос.УстановитьПараметр("Характеристика", СтрокаТовара.Характеристика);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
СтрокаТовара.Штрихкод = Выборка.Штрихкод;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Важно помнить, что при использовании XML-формата драйвер должен уметь распознать тег Barcode. Если драйвер этого не умеет, потребуется либо замена драйвера на более современный, либо использование внешней обработки для формирования файла в формате, который понимает именно ваше оборудование.
Существует альтернативный путь, который часто оказывается быстрее и надежнее. Поскольку АТОЛ Sigma активно используется с конфигурациями 1С, существуют готовые внешние обработки для формирования файла выгрузки. Например, можно адаптировать обработку от Управлении торговлей 11.4 для Розницы 2.3.
Эти обработки формируют файл не в "стандартном" XML 1С, а в формате, оптимизированном для импорта через личный кабинет Sigma Облако. Такой подход позволяет передавать не только базовые реквизиты, но и расширенные данные: категории, описания, несколько штрихкодов для одной позиции.
Подведем итоги нашего анализа. Чтобы успешно выгрузить штрихкоды и товары в ККМ Оффлайн, выполним следующие шаги:
Коды SKU товаров.Установка цен номенклатуры.4,6E+12), и касса не сможет их распознать при сканировании.Следуя этим рекомендациям, мы сможем настроить стабильный обмен данными и обеспечить корректную работу розничной точки без постоянных ошибок выгрузки.