# алгоритм генерации агрегирующего кода Для генерации кодов используется [UUIDv1](https://en.wikipedia.org/wiki/Universally_unique_identifier). При этом в параметр Node при генерации необходимо вносить ЕДРПУ предприятия дополненый любой информацией. К примеру: JavaScript: ```javascipt const { v1: uuidv1 } = require("uuid"); // import { v1 as uuidv1 } from 'uuid'; const v1options = { node: [0x01, 0x04, 0x35, 0x88, 0x81, 0x45] // ⇨ ЕДРПУ: 43588145, упаковка = 0 }; uuidv1(v1options); // ⇨ 'bb0b27b0-d4bd-11eb-b5bb-010435888145' ``` При передаче данных в НСИТ на стороне НСИТ производится верификация ЕДРПУ (таким образом мы проверяем что контрагент имеет право генерации агергирующего кода). Внтури UUID так же содержится метка времени ![https://www.uuidtools.com/api/decode/bb0b27b0-d4bd-11eb-b5bb-010435888145](https://i.imgur.com/L1ntScz.png) [Пример расшифровки кода](https://www.uuidtools.com/api/decode/bb0b27b0-d4bd-11eb-b5bb-010435888145) НСИТ принимает для активации метки времени не старше 5и дней. Внутри НСИТ данные из UUID должны быть разнесены для поиска отдельно по ЕДРПУ и времени. Байт предшествующий ЕДРПУ используется для указания уровня агрегации - 0: упаковка - 1: ящик - 2: поддон - 3: палета - 4: контейнер - 5: зарезервированно - 6: зарезервированно - 7: зарезервированно - 8: зарезервированно - 9: зарезервированно Свободная часть Node (2 байта) может быть использованна производителем по своему усмотрению (для идентификации склада или любой другой внутренней информации) и игнорируется НСИТ. Агрегирующий код наносится на упаковку в формате [CODE 128](https://en.wikipedia.org/wiki/Code_128) ![пример](https://i.imgur.com/R8WKCEk.png) [пример генератора](https://cloudzz-barcode-generator.herokuapp.com/?bcid=code128&text=bb0b27b0-d4bd-11eb-b5bb-010435888145&includetext=true)