При автоматизации производственных участков (фасовка, выпуск полуфабрикатов или готовой продукции) часто возникает задача: оператор кладет товар на платформу весов, выбирает позицию номенклатуры (или нажимает кнопку PLU), а система 1С должна моментально зафиксировать вес, автоматически создать и провести документ выпуска или перемещения, а также распечатать маркировочную этикетку.
Разберем, почему стандартных механизмов взаимодействия с весами с печатью этикеток бывает недостаточно, какие существуют архитектурные ограничения в типовых конфигурациях и как правильно спроектировать АРМ упаковщика.
Ограничения типовой подсистемы подключаемого оборудования (БПО)
Рассмотрим, как 1С по умолчанию работает с весовым оборудованием. В типовых конфигурациях (включая 1С:Бухгалтерию, 1С:УНФ, 1С:ERP) устройства разделены на два обособленных типа:
Электронные весы (онлайн): работают в режиме «запрос–ответ». 1С является инициатором связи: при нажатии кнопки в интерфейсе программа обращается к драйверу, опрашивает порт и получает текущее значение стабильного веса. При этом весы не умеют самостоятельно передавать код товара или инициировать запись.
Весы с печатью этикеток (офлайн): работают в режиме предварительной загрузки справочника товаров (PLU, цены, наименования, сроки годности). Оператор нажимает кнопку на весах, устройство автономно печатает этикетку, но при этом в режиме реального времени не отправляет в 1С внешнее событие о факте взвешивания.
Если производственный процесс требует мгновенного создания документов в учетной системе при каждом взвешивании, необходимо выбрать один из проверенных подходов интеграции.
Способ 1. Обработка внешних событий через драйвер весов (RS-232 / TCP)
Проанализируем классический вариант прямой связи весов с управляемой формой 1С. Для исключения постоянных циклов опроса (обработок ожидания, которые создают лишнюю нагрузку на клиентский интерфейс) используется драйвер весов с поддержкой внешних событий.
Разберем по шагам схему работы этого механизма:
Весы подключаются к рабочему месту через интерфейс RS-232 (или виртуальный COM-порт по USB/Ethernet).
В свойствах оборудования настраивается режим передачи данных по нажатию кнопки фиксации на весовом терминале или непрерывный поток данных.
Внешняя компонента драйвера при получении валидной посылки от весов генерирует в 1С внешнее событие.
В форме АРМ 1С срабатывает процедура ОбработкаВнешнегоСобытия, которая получает строку данных, извлекает вес и запускает процедуру проведения документа.
Посмотрим на пример обработки события в модуле формы АРМ:
&НаКлиенте
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
// Проверяем, что событие пришло от подключенных весов
Если Источник = "ВесыЭлектронные" И Событие = "ПолученВес" Тогда
ТекущийВес = Число(Данные);
Если ТекущийВес > 0 Тогда
// Создаем документ выпуска и формируем печатную форму
СоздатьДокументВыпускаНаСервере(ВыбраннаяНоменклатура, ТекущийВес);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Способ 2. Вычитка журнала транзакций (режим весового терминала сбора данных)
Если используются весовые терминалы с собственной клавиатурой товаров (PLU) и встроенной памятью, взвешивание фиксируется во внутреннем журнале операций устройства.
Схема реализации:
Справочник номенклатуры с кодами PLU предварительно прогружается в весы по локальной сети.
Оператор выбирает товар на клавиатуре весов и выполняет взвешивание. Весы сохраняют строку транзакции: дату, время, код PLU и зафиксированный вес.
В 1С специальный фоновый процесс или обработчик через SDK/COM-объект производителя весов с заданной периодичностью опрашивает память терминала, вычитывает новые строки транзакций, создает на их основании документы выпуска и очищает журнал обработанных записей.
Способ 3. Организация АРМ через раздельное оборудование (рекомендуемый подход)
На производственных участках с высокой интенсивностью труда моноблочные весы с кнопками PLU часто оказываются менее гибкими в обслуживании: клавиатура терминала ограничена по числу кнопок, а встроенный принтер этикеток обладает невысоким ресурсом термоголовки.
Наиболее надежной и легко масштабируемой признана раздельная схема рабочего места:
Состав рабочего места:
Простые платформенные весы (без принтера и встроенной логики PLU), подключенные по COM-порту.
Компьютер или моноблок с сенсорным экраном (Touch screen).
Отдельный настольный термотрансферный принтер этикеток.
Сканер штрихкодов.
Сценарий работы оператора:
Оператор выбирает выпускаемый полуфабрикат нажатием крупной плитки на сенсорном экране АРМ или считывает штрихкод со сменного задания/технологической карты.
1С опрашивает подключенные весы через стандартный драйвер подсистемы подключаемого оборудования (БПО) и считывает точную зафиксированную массу.
1С мгновенно создает и проводит требуемый учетный документ (отчет производства за смену, выпуск продукции или перемещение).
1С напрямую отправляет сформированную этикетку с уникальным штрихкодом партии на отдельный принтер.
Преимущества раздельной схемы:
Полный контроль логики в 1С: любые изменения в реквизитах, проверках остатков, спецификациях и шаблонах этикеток настраиваются непосредственно в конфигурации без перепрошивки оборудования.
Отказоустойчивость: при выходе из строя весовой платформы или принтера заменяется только один недорогой компонент, а не дорогостоящий весовой комплекс целиком.
Неограниченная номенклатура: нет лимита на количество кнопок быстрого доступа (PLU), так как интерфейс подбора отображается на мониторе.