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

Опубликовал Алексей Борисенко (_Le_Shik_) в раздел Оборудование - Сканер штрих-кода

Генерация 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 ).

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

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

См. также

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

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

Да, и есть идея. Можно еще сделать линейку обработок, которые будут создавать EAN13 из 6ти, 7ми, ..., 12ти - значных чисел. :D
2. Алексей Борисенко (_Le_Shik_) 7 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. Stas Nov (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) + Строка(ЭлементыФормы.КЦифра.Значение)),"ЧГ=");
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа