В ноябре стала доступна для обновления новая версия программы. В ней были исправлены некоторые ошибки, а также добавлен новый функционал. Далее подробнее.
Ошибки
- В редакторе проектов, в настройках проекта у порции были перепутаны местами ширина и высота этикетки. Поправлено.


2. При низком разрешении экрана в редакторе проектов, в настройках проекта было невозможно нажать кнопку “Ок” для сохранения сделанных настроек, она “уходила” за нижнюю границу экрана. Поправлено.


Новый функционал
- В “SimplePackingDesktop” добавлена возможность отключить весы, если у вас невесовой товар либо товар с фиксированным весом. Ранее надо было выбирать весы – эмулятор весов.




2. В режиме единичной маркировки в “SimplePackingDesktop” добавили вывод веса нетто, брутто и текущей тары, связанной с продукцией.


3. В режиме единичной маркировки в “SimplePackingDesktop” добавили вывод дополнительной информации о процессе маркировки. Выводится информация о количестве промаркированных порций/ящиков, весе нетто и брутто и оставшемся количестве/весе (если в проекте добавлены соответствующие поля: порций/ящиков до итога или вес порций/ящиков до итога).


4. Добавлена возможность ставить процесс маркировки на паузу. Во время паузы комплекс не будет реагировать на изменение веса и на считывание команд сканером штрихкода, что поможет избежать ложной печати этикеток во время перерыва. На паузу можно поставить комплекс нажатием соответствующую клавишу либо сочетание клавиш Win + L.


5. И долгожданный и полезный функционал – динамические переменные. Этот функционал можно найти в редакторе проектов в разделе “Переменные и счетчики”.


Динамические переменные призваны облегчить работу с редактором формул. Динамическая переменная это как переменная в математике, мы можем присвоить ей результат вычисления некоторой формулы, и затем, в других формулах использовать уже ссылку на саму динамическую переменную, а не всю формулу.
Пример:
Для вывода на этикетку даты, которую оператор может ввести на рабочем месте в процессе маркировки, мы используем длинную формулу:
STRTODATETIME(FORMAT(VARIABLE(‘UserRequest’,’ВведитеДень’), ’00’) + ‘.’ + FORMAT(VARIABLE(‘UserRequest’,’ВведитеМесяц’), ’00’) + ‘.’ + FORMAT(VARIABLE(‘UserRequest’,’ВведитеГод’), ’00’))
Поле “Дата производства” на этикетки будет выглядеть так:
‘Дата производства: ‘ + FORMAT(STRTODATETIME(FORMAT(VARIABLE(‘UserRequest’,’ВведитеДень’), ’00’) + ‘.’ + FORMAT(VARIABLE(‘UserRequest’,’ВведитеМесяц’), ’00’) + ‘.’ + FORMAT(VARIABLE(‘UserRequest’,’ВведитеГод’), ’00’)), ‘dd.MM.yyyy’)
Поле “Годен до ” будет выглядеть примерно так:
‘Годен до: ‘ + FORMAT(ADDDAY(STRTODATETIME(FORMAT(VARIABLE(‘UserRequest’,’ВведитеДень’), ’00’) + ‘.’ + FORMAT(VARIABLE(‘UserRequest’,’ВведитеМесяц’), ’00’) + ‘.’ + FORMAT(VARIABLE(‘UserRequest’,’ВведитеГод’), ’00’)), 30), ‘dd.MM.yyyy’)
Довольно громоздко, приходится копировать одну и туже формулу несколько раз и можно совершить ошибку. А если еще и используем штрихкод EAN128 в котором и так много информации, составляющей формулу, так еще и дважды надо вставить длинную формулу с датой (дата производства и дата истечения срока хранения). Тут к нам на помощь и приходят динамические переменные.
Создадим динамическую переменную с именем “ДатаПроизводства” и единожды поместим в нее формулу:
STRTODATETIME(FORMAT(VARIABLE(‘UserRequest’,’ВведитеДень’), ’00’) + ‘.’ + FORMAT(VARIABLE(‘UserRequest’,’ВведитеМесяц’), ’00’) + ‘.’ + FORMAT(VARIABLE(‘UserRequest’,’ВведитеГод’), ’00’))
А во всех местах на этикетке, где нам нужна дата просто сошлемся на нашу динамическую переменную:
‘Дата производства: ‘ + FORMAT(DVAR(‘ДатаПроизводства’), ‘dd.MM.yyyy’)
‘Годен до: ‘ + FORMAT(ADDDAY(DVAR(‘ДатаПроизводства’),30), ‘dd.MM.yyyy’)
Теперь намного лучше. Динамические переменные можно использовать и для расчета веса с учетом глазури для замороженной продукции и многого другого.
Для вставки динамических переменных в формулу используется тот же механизм, что и при вставке других переменных и счетчиков.

