Последняя версия DataExpress 3 beta от 27 мая 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

Алгоритм штрих-кода EAN-8

Полезное от пользователей DataExpress
masslay
Интересующийся
Сообщения: 82
Зарегистрирован: Сб апр 01, 2017 9:58 am
Откуда: Челябинск
Контактная информация:

Алгоритм штрих-кода EAN-8

Сообщение masslay » Сб апр 07, 2018 10:47 pm

Добрый день!
Очень был нужен инструмент генератора штрих-кодов. Лично мне достаточно EAN-8 для внутренней маркировки (первая цифра 2, следующие 6 - это цифровой артикул из числового поля, последняя цифра - проверочная). Именно в проверочной последней цифре кроется вся закавыка. Там сложный расчет. Я его сделал для себя, оставлю тут, может кому-то пригодится.

Код: Выделить всё

CONCAT([_штрихкод],
IIF(
10-
CNUM(
CUT(
CSTR(
(CNUM(CUT([_штрихкод],1,1))+CNUM(CUT([_штрихкод],3,1))+CNUM(CUT([_штрихкод],5,1))+CNUM(CUT([_штрихкод],7,1)))*3+
(CNUM(CUT([_штрихкод],2,1))+CNUM(CUT([_штрихкод],4,1))+CNUM(CUT([_штрихкод],6,1)))),
LENGTH(
CSTR(
(CNUM(CUT([_штрихкод],1,1))+CNUM(CUT([_штрихкод],3,1))+CNUM(CUT([_штрихкод],5,1))+CNUM(CUT([_штрихкод],7,1)))*3+
(CNUM(CUT([_штрихкод],2,1))+CNUM(CUT([_штрихкод],4,1))+CNUM(CUT([_штрихкод],6,1))))),
1))=10,0,
10-
CNUM(
CUT(
CSTR(
(CNUM(CUT([_штрихкод],1,1))+CNUM(CUT([_штрихкод],3,1))+CNUM(CUT([_штрихкод],5,1))+CNUM(CUT([_штрихкод],7,1)))*3+
(CNUM(CUT([_штрихкод],2,1))+CNUM(CUT([_штрихкод],4,1))+CNUM(CUT([_штрихкод],6,1)))),
LENGTH(
CSTR(
(CNUM(CUT([_штрихкод],1,1))+CNUM(CUT([_штрихкод],3,1))+CNUM(CUT([_штрихкод],5,1))+CNUM(CUT([_штрихкод],7,1)))*3+
(CNUM(CUT([_штрихкод],2,1))+CNUM(CUT([_штрихкод],4,1))+CNUM(CUT([_штрихкод],6,1))))),
1))))


[_штрихкод] - это первые 7 цифр кода, которые формируются в отдельном поле.

Вернуться в «Полезное»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость