Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

DM-code-converter

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

GS1 DataMatrix Converter (Lazarus)

Легковесная утилита для подготовки кодов маркировки (КИ) к загрузке в систему «Честный ЗНАК». Утилита исправляет формат кодов для отчета о нанесении и формирует CSV-файлы, соответствующие стандарту RFC 4180.

Реализованный функционал

1. Конвертация формата GS1 (Кнопка «Конвертировать»)

Утилита исправляет структуру DataMatrix-кодов, добавляя обязательные непечатные разделители (символ GS, ASCII #29), которые требуются системой «Честный ЗНАК», но часто теряются при копировании из Excel или PDF.

  • Алгоритм: Поиск идентификаторов применения 91 (ключ проверки) и 92 (криптохвост).
  • Действие: Принудительная вставка символа GS (#29) непосредственно перед блоками 91 и 92.
  • Очистка: Удаление дублирующихся разделителей и обрезка лишнего символа в конце строки.
  • Результат: Код приводится к виду ...[GS]91XXXX[GS]92YYYY..., который проходит форматно-логический контроль ГИС МТ.

2. Экспорт в CSV (Кнопка «Сохранить в CSV»)

Формирование файла для массовой загрузки кодов в личный кабинет «Честного ЗНАКа».

  • Стандарты: Полное соответствие спецификации RFC 4180.
  • Экранирование: Каждая строка кода оборачивается в двойные кавычки ("). Если внутри кода встречаются двойные кавычки, они удваиваются ("") согласно правилам CSV.
  • Кодировка: Файл сохраняется в UTF-8 без BOM.