Расчёт кода товарной номенклатуры




 



Краткий порядок вычисления:

Сначала считывается бинарная последовательность - код товара GS1 Data Matrix или маркировка Data Matrix. Эта бинарная последовательность имеет вид:

010460406000600021N4N57RSCBUZTQ\u001d2403004002910161218\u001d1724010191ffd0\u001d92tIAF/
YVoU4roQS3M/m4z78yFq0fc/WsSmLeX5QkF/YVWwy8IMYAeiQ91Xa2z/fFSJcOkb2N+uUUmfr4n0mOX0Q==

Последовательность символов между «01» и «21» - это GTIN.

После «21» идёт серийный номер, для большинства товаров длинна серийного номера составляет 13 символов, но для некоторых видов товаров может быть иная длинна. Вам нужно уточнять этот вопрос.

После серийного номера следует «криптохвост», который нас не интересует. Он отбрасывается.

Далее на основе выделенных GTIN и SerialNumber производится расчёт.


Пример вычисления:

Считанная бинарная последовательность:

010460406000600021N4N57RSCBUZTQ\u001d2403004002910161218\u001d1724010191ffd0\u001d92tIAF/
YVoU4roQS3M/m4z78yFq0fc/WsSmLeX5QkF/YVWwy8IMYAeiQ91Xa2z/fFSJcOkb2N+uUUmfr4n0mOX0Q==

Выделенная последовательность для передачи в значение тега 1162: 04604060006000 & N4N57RSCBUZTQ

04604060006000 - представляется в виде 6-байтного hex: 04h 2Fh F7h 5Ch 76h 70h.

N4N57RSCBUZTQ - кодируется в набор байт hex, интерпретируя символы согласно ASCII таблицы: 4Eh 34h 4Eh 35h 37h 52h 53h 43h 42h 55h 5Ah 54h 51h.

Значение реквизита «код товара» (тег 1162): 44h 4Dh 04h 2Fh F7h 5Ch 76h 70h 4Eh 34h 4Eh 35h 37h 52h 53h 43h 42h 55h 5Ah 54h 51h.

Для передачи в чек необходимо только преобразовать эту строку байт в Base-64.

После преобразования в BASE-64 получаем строку 'RE0EL/dcdnBONE41N1JTQ0JVWlRR' - именно эту строку необходимо передать в чек в поле 1162.