Как выгрузить состав и описание товара в весы Штрих-М из 1С:Розница 3.0

Программист 1С v8.3 (Управляемые формы) 1С:Розница Управленческий учет Торговля и дистрибуция
← На главную

При автоматизации розничной торговли часто возникает задача печати на этикетках весового товара расширенной информации: состава продукта, условий хранения, данных о производителе или рекламных сообщений. В весах «Штрих-М» для этих целей используется специальная таблица сообщений. Проблема заключается в том, что типовые средства 1С не всегда очевидным образом связывают текстовое описание номенклатуры с этими сообщениями в памяти весов.

В этой статье мы разберем, как настроить систему 1С:Розница 3.0 и весы Штрих-М таким образом, чтобы информация из поля Описание автоматически попадала на этикетку без изменения программного кода конфигурации.

Понимание механизма работы сообщений в весах

Прежде всего, проанализируем, как весы хранят данные. В памяти устройства есть основная таблица товаров (PLU), где хранятся код, артикул, цена и название. Однако поле названия обычно ограничено по длине (28–64 символа). Для длинных текстов предусмотрена отдельная Таблица сообщений. Каждому товару в основной таблице можно назначить номер сообщения из этой таблицы.

Традиционно для реализации этой связки программистам приходилось дорабатывать правила обмена, чтобы 1С сначала записывала текст в таблицу сообщений, получала номер этой записи и записывала его в поле MessageNumber для конкретного PLU. Однако современные драйверы и прошивки весов позволяют упростить этот процесс.

Решение проблемы через настройку формата памяти

Рассмотрим основной метод, который позволяет решить задачу штатными средствами. Как выяснилось в ходе практики использования 1С:Розница 3.0, ключ к успеху лежит в настройке параметров самого оборудования (весов).

Проанализируем ситуацию: при использовании стандартного формата обмена (например, 22700/0) драйвер ожидает явной передачи номера сообщения. Если же переключить весы в режим расширенной работы с памятью, логика меняется.

Пошаговый алгоритм настройки:

  1. Откроем утилиту настройки весов (например, «Тест драйвера» или «Редактор таблиц Штрих-М»).
  2. Перейдем в настройки параметров обмена и изменим используемый формат. Вместо стандартного значения 22700/0 установим формат 4900/4000.
  3. Этот формат (часто называемый форматом с расширенной памятью) заставляет драйвер интерпретировать передаваемый текстовый блок описания как автоматическое сообщение №1 для данного PLU.
  4. После изменения формата в самих весах, 1С:Розница 3.0 при выгрузке данных через БПО (Библиотеку подключаемого оборудования) начнет корректно транслировать содержимое поля Описание в память весов.

Подготовка данных в 1С:Розница 3.0

Теперь выясним, какие действия необходимо предпринять на стороне программного обеспечения 1С. Чтобы данные успешно ушли в весы, они должны быть правильно заполнены в информационной базе.

Разберем процесс подготовки карточки товара:

  1. Зайдем в справочник Номенклатура и выберем весовой товар.
  2. Найдем поле Текстовое описание (в некоторых версиях это может быть вкладка «Дополнительно» или отдельное поле для состава).
  3. Заполним этот текст необходимой информацией (состав, калорийность и т.д.). Учитывайте, что весы имеют физическое ограничение на количество символов в одном сообщении (обычно от 400 до 1000 символов в зависимости от модели).
  4. Убедимся, что для товара настроен Код SKU, так как именно по нему происходит сопоставление при выгрузке в офлайн-оборудование.

Проанализируем техническую сторону выгрузки. БПО в Рознице 3.0 при формировании пакета данных для весов проверяет наличие заполненных дополнительных полей. Если драйвер оборудования сообщает системе, что он поддерживает текстовые блоки, 1С включает их в состав XML-пакета или структуры, передаваемой драйверу.

Настройка шаблона этикетки

Даже если данные успешно переданы в весы и записаны в таблицу сообщений, они не напечатаются сами по себе. Рассмотрим, как убедиться, что информация появится на бумаге.

Для этого необходимо отредактировать шаблон этикетки в весах:

  1. Используем программу Редактор этикеток Штрих-М.
  2. Загрузим текущий шаблон из весов.
  3. Добавим на макет поле типа Сообщение (или «Текст сообщения»).
  4. В свойствах поля укажем, что оно должно брать данные из первого связанного сообщения (так как формат 4900/4000 автоматически привязывает текст к первому слоту).
  5. Загрузим измененный шаблон обратно в весы.

Альтернативный метод: Использование «Автоматического загрузчика»

Если типовой обмен через БПО по каким-то причинам не подходит или требуются специфические манипуляции с данными, рассмотрим вариант использования внешней утилиты «Штрих-М: Автоматический загрузчик данных».

В этом случае схема работы будет следующей:

  1. В 1С настраивается выгрузка в плоский файл (CSV или TXT).
  2. В конфигурационном файле загрузчика (обычно это загрузчик.ini) прописывается структура файла.
  3. Пример настройки соответствия полей в загрузчике может выглядеть так:
    
    [Fields]
    Field1=PLU
    Field2=Price
    Field3=Name
    Field4=MessageText
    
  4. Загрузчик подхватывает файл из папки обмена и сам распределяет данные по таблицам весов, включая таблицу сообщений и установку связей PLU <-> Message.

Технические нюансы и ограничения

Проанализируем возможные сложности, с которыми можно столкнуться при реализации:

Версия драйвера: Рекомендуется использовать драйвер «Штрих-М: Весы с печатью этикеток» версии не ниже 1.7. В старых версиях (1.5 и ниже) поддержка динамического распределения памяти под сообщения в Рознице 3.0 может работать нестабильно.

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

Специальные символы: Старайтесь избегать в тексте описания специфических символов (кавычки-елочки, знаки табуляции), которые могут некорректно интерпретироваться драйвером при передаче данных в весы.

Таким образом, мы выяснили, что для передачи номера сообщения и текста состава в весы Штрих-М из 1С:Розница 3.0 не обязательно прибегать к программированию. Достаточно синхронизировать настройки формата памяти в драйвере оборудования и заполнить соответствующие поля в карточке номенклатуры.

← На главную