Декодиране (декодиране) на баркода на политиката на OMC (част 1) - Shinobi
тайни на програмирането
Преди почти повече от година започнах запознаването си със системата CHI. По това време си намерих работа в застрахователна компания, занимаваща се със задължителна медицинска застраховка. Основната задача беше да се подредят нещата при отчитането на полиците в компанията.
Първоначално беше необходимо да се изготви схема за обработка и разпространение на полици по отдели в региона, която дойде в нашата компания от Териториалния фонд за задължително медицинско осигуряване (TFOMI). Препъни камъкът е декодирането на баркода от OMS политиката.
Започнах да търся информация в Интернет и TFOMS. Резултатите бяха плачевни, информация от носа на Гулкин. Мина време, разбрах го, написах DLL, за да декодирам баркода на политиката. Заради празен интерес започнах да търся в Google, може би някой е писал за опита си по тази тема. И каква беше изненадата ми, когато намерих куп въпроси и теми във формулярите - но НИКАКЪВ НОРМАЛЕН ОТГОВОР.
Информацията е необходима, за да бъде споделена и затова реших да я споделя. Не ме съдете строго по тази статия. Оказа се голям, но се опитах да опиша всичко, което знам по тази тема.
Моля, когато използвате материала на тази статия, посочете обратната връзка към сайта.
Първо: оборудване ...
Нека започнем с оборудването за сканиране на баркода на политиката. Ще ни трябва 2D скенер за баркод. Използвам Honeywell Xenon 1900. Скенерът е отличен, в ръководството за скенера има баркод, който трябва да се прочете от него и той ще започне да емулира връзка на com порт.

Опитах и скенера за баркод Metrologic MS9520, честно казано, не ми даде добър резултат. Тогава нямаше време да разглобявам каква точно беше причината, затова избрах Xenon 1900. По отношение на цената скенерите не се различават особено. Заключение едно купуване на ксенон Honeywell 1900. Инвестирайте веднъж и няма да познаете скръбта.
Второ: Описание на баркода ...
Структурата на баркода на политиката на OMC се състои от 131 байта (знака). Ако просто сканирате баркод със скенер и го покажете в бележник, там ще видите „krakozyabra“. Защо се случва?
Факт е, че данните са криптирани (компресирани) и скенерът вижда набор от символи, които Windows просто не може да покаже в бележника. Помислете какво вижда скенерът в „суров“ вид.
Тип баркод на OMC политиката
Първите 3 байта са от типа баркод. Не съм срещал описание на това като такова в GOST. Има само два вида баркодове: "010" и "020", как се различават тези два вида, ще говорим по-долу.
Унифициран номер на политика (UNP) OMC
От 4 до 9 символът (байтове) се кодира от EPP. EPP се декодира в следния ред: