При автоматизации розничной торговли часто возникает задача печати на этикетках весового товара расширенной информации: состава продукта, условий хранения, данных о производителе или рекламных сообщений. В весах «Штрих-М» для этих целей используется специальная таблица сообщений. Проблема заключается в том, что типовые средства 1С не всегда очевидным образом связывают текстовое описание номенклатуры с этими сообщениями в памяти весов.
В этой статье мы разберем, как настроить систему 1С:Розница 3.0 и весы Штрих-М таким образом, чтобы информация из поля Описание автоматически попадала на этикетку без изменения программного кода конфигурации.
Прежде всего, проанализируем, как весы хранят данные. В памяти устройства есть основная таблица товаров (PLU), где хранятся код, артикул, цена и название. Однако поле названия обычно ограничено по длине (28–64 символа). Для длинных текстов предусмотрена отдельная Таблица сообщений. Каждому товару в основной таблице можно назначить номер сообщения из этой таблицы.
Традиционно для реализации этой связки программистам приходилось дорабатывать правила обмена, чтобы 1С сначала записывала текст в таблицу сообщений, получала номер этой записи и записывала его в поле MessageNumber для конкретного PLU. Однако современные драйверы и прошивки весов позволяют упростить этот процесс.
Рассмотрим основной метод, который позволяет решить задачу штатными средствами. Как выяснилось в ходе практики использования 1С:Розница 3.0, ключ к успеху лежит в настройке параметров самого оборудования (весов).
Проанализируем ситуацию: при использовании стандартного формата обмена (например, 22700/0) драйвер ожидает явной передачи номера сообщения. Если же переключить весы в режим расширенной работы с памятью, логика меняется.
Пошаговый алгоритм настройки:
22700/0 установим формат 4900/4000.Теперь выясним, какие действия необходимо предпринять на стороне программного обеспечения 1С. Чтобы данные успешно ушли в весы, они должны быть правильно заполнены в информационной базе.
Разберем процесс подготовки карточки товара:
Проанализируем техническую сторону выгрузки. БПО в Рознице 3.0 при формировании пакета данных для весов проверяет наличие заполненных дополнительных полей. Если драйвер оборудования сообщает системе, что он поддерживает текстовые блоки, 1С включает их в состав XML-пакета или структуры, передаваемой драйверу.
Даже если данные успешно переданы в весы и записаны в таблицу сообщений, они не напечатаются сами по себе. Рассмотрим, как убедиться, что информация появится на бумаге.
Для этого необходимо отредактировать шаблон этикетки в весах:
4900/4000 автоматически привязывает текст к первому слоту).Если типовой обмен через БПО по каким-то причинам не подходит или требуются специфические манипуляции с данными, рассмотрим вариант использования внешней утилиты «Штрих-М: Автоматический загрузчик данных».
В этом случае схема работы будет следующей:
загрузчик.ini) прописывается структура файла.
[Fields]
Field1=PLU
Field2=Price
Field3=Name
Field4=MessageText
PLU <-> Message.Проанализируем возможные сложности, с которыми можно столкнуться при реализации:
Версия драйвера: Рекомендуется использовать драйвер «Штрих-М: Весы с печатью этикеток» версии не ниже 1.7. В старых версиях (1.5 и ниже) поддержка динамического распределения памяти под сообщения в Рознице 3.0 может работать нестабильно.
Объем памяти: Весы имеют ограниченный общий объем памяти под сообщения. Если у вас 5000 товаров и у каждого уникальный состав на 1000 знаков, память весов переполнится раньше, чем закончится список товаров. В таких ситуациях рекомендуется использовать групповые сообщения (одно сообщение для группы товаров с одинаковым составом), но это потребует доработки механизма выгрузки в 1С.
Специальные символы: Старайтесь избегать в тексте описания специфических символов (кавычки-елочки, знаки табуляции), которые могут некорректно интерпретироваться драйвером при передаче данных в весы.
Таким образом, мы выяснили, что для передачи номера сообщения и текста состава в весы Штрих-М из 1С:Розница 3.0 не обязательно прибегать к программированию. Достаточно синхронизировать настройки формата памяти в драйвере оборудования и заполнить соответствующие поля в карточке номенклатуры.