Генерация штрих-кода в 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) + Строка(ЭлементыФормы.КЦифра.Значение)),"ЧГ=");
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа