Ввод даты оператором маркировочного комплекса непосредственно на принтере

Часто возникает необходимость ввода даты непосредственно на маркировочном посту, например, необходимо ввести дату производства продукции при переупаковке, а дату упаковки и дату истечения срока хранения принтер проставит и просчитает сам.

В версии 1.0.5 программы «SimplePacking», управляющей нашим интеллектуальным маркировочным комплексом «Весы-Принтер» мы сделали эту возможность.

Сейчас по шагам мы опишем, как это сделать.

Для ввода даты будем использовать уже знакомые нам переменные. Перейдем во вкладку «Переменные и счетчики» программы «SimplePacking», предварительно создав новый или открыв уже имеющийся у Вас проект. И создадим там 3 переменных:

Имя переменной ВведитеДень
Минимальное значение 1
Максимальное значение 31
Число знаков 0

 

Имя переменной ВведитеМесяц
Минимальное значение 1
Максимальное значение 12
Число знаков 0

 

Имя переменной ВведитеГод
Минимальное значение 2018
Максимальное значение 2020
Число знаков 0

Мы разбили дату на 3-и составляющие, так как ввести по-отдельности день, месяц и год легче и быстрее, чем вводить всю дату целиком при помощи экранной клавиатуры принтерной части программы «SimplePacking».

Да, начиная с версии 1.0.0 Вы можете подключать USB-клавиатуру к принтеру и осуществлять ввод цифровой информации с ее помощью.

Переменные я создал в «По запросу», Вы можете создать их там, где Вам это необходимо.

На этикетку кидаем текстовое поле и в его свойстве «Формула» вводим следующее:

‘Дата производтсва: ‘ + FORMAT(STRTODATETIME(FORMAT(VARIABLE(‘UserRequest’,’ВведитеДень’), ’00’) + ‘.’ + FORMAT(VARIABLE(‘UserRequest’,’ВведитеМесяц’), ’00’) + ‘.’ + FORMAT(VARIABLE(‘UserRequest’,’ВведитеГод’), ’00’)),’dd.MM.yyyy’)

Формируем строку путем конкатенации наших переменных «пропущенных» через хорошо знакомую нам команду «FORMAT» и символов «.».

Далее мы используем новую функцию (версия программы 1.0.5 и выше) «STRTODATETIME». Она принимает 1-н параметр, строковое представление даты и возвращает дату.

Ну а дальше, мы все знаем и умеем.

Сделаем поле «Годен до» в котором мы к нашей введённой на принтере дате прибавим срок хранения, например, указанный у нас в справочнике «Номенклатура».

‘Годен до: ‘ + FORMAT(ADDDAY(STRTODATETIME(FORMAT(VARIABLE(‘UserRequest’,’ВведитеДень’), ’00’) + ‘.’ + FORMAT(VARIABLE(‘UserRequest’,’ВведитеМесяц’), ’00’) + ‘.’ + FORMAT(VARIABLE(‘UserRequest’,’ВведитеГод’), ’00’)),FIELD(‘СрокХраненияДней’,’НОМЕНКЛАТУРА’)),’dd.MM.yyyy’)

Тут мы использовали функцию «ADDDAY» передав в нее первым параметром выход функции «STRTODATETIME».