Генерация штрих-кода в 1С 8

Оборудование - Сканер штрих-кода

10
Генерация 13-ти значного штрихкода стандарта EAN-13 с вычислением 13-ой (контрольной) цифры

Данная обработка из пятизначного цифрового кода вида "12345" генерирует код вида "4GKBHKL*bcdefe+" с вычислением 13-ой (контрольной) цифры. Код вида  "4GKBHKL*bcdefe+" отображается стандартным штрихкодом EAN13 при использовании шрифта CODE EAN13.

Искал что-нибудь подобное готовое  для 1С 8, но не нашел. В обработке использовал найденый мной код для "семерки", написаный vaterpas@gmail.com (еще раз ему спасибо!) на странице http://www.forum.mista.ru/topic.php?id=445098.

Перенес это дело на "восьмерку" и добавил вычисление 13-ой цифры.

Для тех, кто не знает - сканеры, считывая штрихкод, определяют его стандарт. Если определен EAN13, то сканер считывает первые 12 цифр, вычисляет 13-ю, и, если вычисленая сканером и указаная в штрихкоде цифры совпадают, только в этом случае сканер отдает считаный штрихкод на устройство, с которым работает.

Метод вычисления 13-ой цифры легко найти в Инете, поэтому не буду распространяться на эту тему.

Неиспользуемые первые 7 знаков кода можно "забить" нулями. Я занял это место так - "46"  это Россия, "01701" это последние 5 знаков ИНН предприятия. (как бы в соответствии со стандартом EAN13 Wink ).

10

Скачать файлы

Наименование Файл Версия Размер
Внешняя обработка ШтрихКод
.epf 7,49Kb
24.02.12
167
.epf 7,49Kb 167 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. babylon_5 55 24.02.12 13:58 Сейчас в теме
>> Искал что-нибудь подобное готовое для 1С 8, но не нашел.

Хм... А в любой типовой посмотреть?.. Так там еще и EAN8...
А потом немного "творчески" переработать код если уж очень хочется избежать нелицензионного использования кода 1С. :)

Да, и есть идея. Можно еще сделать линейку обработок, которые будут создавать EAN13 из 6ти, 7ми, ..., 12ти - значных чисел. :D
2. _Le_Shik_ 10 24.02.12 14:51 Сейчас в теме
(1) babylon_5,
Да вот Типовой под рукой нету(.
А Инет есть))
А что там в типовой? На подскажешь - где искать?
3. babylon_5 55 24.02.12 17:32 Сейчас в теме
1) Ну, раз есть инет - значит есть и типовые...
2) Еще вариант: скачай тут 'Сканирочку' O-Planet'a. Там алгоритм для EAN-13 правильный. Для EAN-8, правда, работает с ошибками. Но у тебя-то EAN-13...
4. madvovik 31 29.02.12 01:40 Сейчас в теме
Мсье в Инете полно обработок и даже стандартных методов создания всех типов штрих кодов, зачем снова из обретать колесо? 1с печать штрих кодов что плохо работает???
5. novosys 01.03.12 12:07 Сейчас в теме
Ребята, а вы сами-то типовые смотрели? Там внешняя компонента используется, а бывают случаи, когда ей невозможно воспользоваться. Тогда приходится писать алгоритм по формированию текста штрихкода для вывода его на печать с помощью специального шрифта.
6. babylon_5 55 01.03.12 13:24 Сейчас в теме
7. SUGROB 05.05.12 02:46 Сейчас в теме
Не прошли мои труды даром :) (vaterpas@gmail.com это я)
Лично я делал этот алгоритм для 7-ки, т.к. мне надо было штрихкоды сохранять вобще в pdf, это универсальный формат, который сохраняет для текста в себе еще и шрифты. У Китайцев и других производителей товаров возникает вопросы какой штрихкод клеить к нашему товару. т.к. в основном так получается, что они и не слышали что такое EAN13, а тут можно и распечатать и в векторе открыть и на печать вывести хоть на лист А1 без потери качества.
Искал в то время софт чтоб заполучить штрихкод - везде просила регистрировать и закинуть денежку для регистрации. а производителям нужен простой универсальный формат со штрихкодом, просто xls файл им не кинешь, к нему надо прилагать штрихкод и доп софт, на худой конце шрифт. А pdf в себе все содержит сразу.

13-й символ расчитывется как
допустим наш код: 123456789012
x=1+3+5+7+9+1=26
y=2+4+6+8+0+2=22
z=x*3+y=3*22+26=66+26=92
(z+n)/10=(наименьшее целое число), где n это и есть 13е число - целое число от 0-9 неотрицательное
(92+8/100)=10 , значит 13я цифра = 8
-------------
берем пример скриншота:
460170112345
x=4+0+7+1+2+4=18
y=6+1+0+1+3+5=16
z=16*3+18=48+18=66
(66+4)/10=70 (без остатка) - 13е число = 4
вот откель получается штрихкод 4601701123454
8. Legin 5 11.03.15 22:58 Сейчас в теме
В обработке есть небольшая ошибка - в модуле формы, строка 20 нужно привести результат к строке, удалив разделители разрядов:
Код12 = Формат(Число(Строка(Код12) + Строка(ЭлементыФормы.КЦифра.Значение)),"ЧГ=");
Оставьте свое сообщение