Примеры написания формул

Данные примеры помогут Вам оформить шаблоны этикеток в графическом редакторе SimplePacking, который является частью комплекса.

Текстовая строка с получением веса

Для всех весовых товаров необходимо указывать вес продукции на этикетке. Сделать это можно с помощью следующей формулы:
‘Масса Брутто ‘+ WEIGHT() + ‘ кг’
На этикетке получится: Масса Брутто 0 кг 
или
‘Масса Брутто ‘+ FORMAT(WEIGHT(), ‘N2′) + ‘ кг’
На этикетке получится: Масса Брутто 0,00 кг
В последнем примере N2 — число разрядов после запятой.

Корректировка даты

Иногда требуется скорректировать дату. В этом случае поможет следующая формула:
FORMAT(ADDDAY(NOW(),1),’dd.MM.yyyy‘)
Если сегодня 15 мая 2015г, то на этикетке получится: 16.05.2015
Для установки срока годности товара можно применить следующий метод. В базе данных «Номенклатура» создаем числовое поле с названием «СрокХранения» (ОБЯЗАТЕЛЬНО без пробела!) и для каждой товарной позиции указываем необходимые значения в сутках. Дата рассчитанная по этой формуле будет больше на заданное количество дней. Для каждой позиции свое.
FORMAT(ADDDAY(NOW(),FIELD(‘СрокХранения’,’НОМЕНКЛАТУРА’)),’dd.MM.yyyy’)
Например, если сегодня 15 мая 2015г, а срок хранения составляет 7 дней, то на этикетке получится: 22.05.2015

Весовой EAN-13

Как правило, EAN-13 состоит из 3-х частей: код страны (2 символа), код производителя (5 символов) и код товара (5 символов)
В случае когда необходимо закодировать в EAN-13 вес товара/продукции — структура штрих кода меняется:
— вместо кода страны указывается 21.
— вместо кода производителя указывается код товара (5 символов).
— вместо кода товара указывается вес (5 символов).
Сформировать весовой EAN-13 можно следующим образом:
1. В базе данных в таблице «Номенклатура» мы создаем текстовое поле с названием «КодТовара». Важно, чтобы содержимое поля имело строго 5 символов, обозначающих код товара.
2. В дизайнере этикеток помещаем штрих код EAN-13.
3. В формуле штрих кода мы указываем следующую формулу:
’21’ + FIELD(‘КодТовара»,’НОМЕНКЛАТУРА’) + FORMAT(WEIGHT()*1000,’00000′)
Подробнее о формуле.
’21’ — есть префикс весового EAN-13
FIELD(‘КодТовара’,’НОМЕНКЛАТУРА’) — указывает «взять значение поля КодТовара из таблицы НОМЕНКЛАТУРА, для текущей маркируемой позиции»
FORMAT(WEIGHT()*1000, ‘00000’) —
 первый параметр функции FORMAT — WEIGHT()*1000 — указывает «взять вес с весов и умножить его на 1000». 
 Тут поправка: мы предполагаем, что вес, который приходит от весов в кг. Если же мы переключим на весах единицу с кг на г, то умножать на 1000 не нужно
 второй параметр функции FORMAT указывает в каком виде представить данные из первого формата. 
 Строка ‘00000’ означает буквально следующее: взять исходное значение и дополнить его нулями до длины в 5 символов.
Теперь разберем на примере: предположим, что у нас код товара 76895, весы показывают вес 1,567 кг, тогда по нашей формуле получится штрих код ’21’ + ‘76895’ + ‘01576’ = ‘217689501567’. 
13-й контрольный символ принтер добавит самостоятельно

Процент глазури

Для решения задачи нам понадобится одно числовое поле в базе данных в таблице номенклатура.
Назовем его «ПроцентГлазури», в качестве значения мы будет указывать необходимый процент, 5, 10, 12, вообщем от 1 до 100. 
В случае, если мы вычитаем процент глазури из веса продукции/товара, то наша формула будет выглядеть так:
WEIGHT() — (WEIGHT()*(FIELD(‘ПроцентГлазури’,’НОМЕНКЛАТУРА’)/100))
По формуле у нас получается буквально следующее — взять вес с весов и вычислить его процент, затем вычесть полученное значение из веса. Ничего сложного!
Пример:
вес на весах 1,768 кг, процент глазури — 5%
согласно формуле: 1,768 — (1,768*(5/100)) = 1,768 — (1,768*0,05) = 1,768 — 0,088 = 1,680 кг

Вес Нетто на этикетке для порции и ящика

В некоторых процессах требуется указывать вес нетто (т.е. без учета веса упаковки).

Для этикетки на порцию формула будет выглядеть так:
‘Масса Нетто ‘+ FORMAT(WEIGHT()-FIELD(‘Weight’,’ТАРА’), ‘N2′) + ‘ кг’

N2 — число разрядов после запятой.

Если вес порции на весах 1кг, а вес пакета(тары) 20г

На этикетке получится: Масса Нетто 0,98 кг
Для печати веса нетто на этикетке для ящика необходимо завести счетчик. Назовите его, например, КоробкаНетто.

В формуле счетчика поставьте: WEIGHT()-FIELD(‘Weight’,’ТАРА’)

Формула в поле шаблона этикетки на ящик следующая:

‘Вес нетто ящика ‘+ FORMAT(COUNTER(‘Box’,’КоробкаНетто’), ‘N2’) + ‘ кг’

Контроль сроков годности по штрих-кодам в ФТС «Пятерочка»

Согласно требованиям, предъявляемым ФТС «Пятерочка» к производителям, последние должны печатать
на своих товарах дополнительный штрих-код, который содержит информацию о дате окончания 
срока годности товара.

Рады сообщить Вам, что, начиная с версии 0.7.0 программы «SimplePacking» управляющей 
интеллектуальным комплексом маркировки «Весы — Принтер» доступно использование 
данного дополнительного штрих – кода (EAN13+5).

Для того чтобы использовать данный штрих-код в своих проектах, Вам необходимо разместить
на этикетке основной штрих-код товара (EAN 13), а затем разместить дополнительный (EAN 5).

Далее необходимо сформировать формулу для дополнительного штрих-кода. Дополнительный 
штрих-код представляет собой комбинацию 5 цифр:

  • первые три цифры обозначаю порядковый номер дня истечения срока годности товара в году;
  • две последние цифры обозначаю год истечения срока хранения по товару.

Например, товар произведен и упаковывается 24.04.2017, а его срок хранения составляет 60 суток, 
тогда в штрих-код пойдет: 17417 (174 = 24.04.2017 + 60 дней).

Для облегчения вычисления номера дня истечения срока годности по товару в году мы добавили в 
редактор формул новую формулу: «DAYOFYEAR», которая принимает на вход дату, а на выходе 
получаем порядковый номер дня в году.

Например, для получения номера текущего дня в году: DAYOFYEAR(NOW()).

Пример формулы для формирования строки для нового штрих-кода:

FORMAT(DAYOFYEAR(ADDDAY(NOW(),FIELD(‘СрокХранения’,’НОМЕНКЛАТУРА’))),’000′)+
FORMAT(ADDDAY(NOW(),FIELD(‘СрокХранения’,’НОМЕНКЛАТУРА’)),’yy’)

Тут мы берем текущую дату (NOW()) и прибавляем к ней значения срока хранения товара заданного в таблице «Номенклатура» (ADDDAY(NOW(),FIELD(‘СрокХранения’,’НОМЕНКЛАТУРА’)))), все это передаем в функцию «DAYODYEAR» и получим порядковый номер дня в году.  Затем пропускаем через функцию «FORMAT» для получения валидного строкового значения и прибавляем к результату строку с двумя последними цифрами года полученными через FORMAT(ADDDAY(NOW(),FIELD(‘СрокХранения’,’НОМЕНКЛАТУРА’)),’yy’).

Удачи в проектировании!