gifts2017

[BarcodeGenerator] - "Генерация штрихкодов" ActiveX-компонента для 1С

Опубликовал Василий Демидов (Душелов) в раздел Программирование - Работа с интерфейсом

Компонента генерирует штрихкод и сохраняет его в виде картинки.
Поддерживаемые форматы: UPC-A, UPC-E, UPC 2 Digit Ext., UPC 5 Digit Ext.,
EAN-13, JAN-13, EAN-8, ITF-14, Codabar, PostNet, Bookland/ISBN,
Code 11, Code 39, Code 39 Extended, Code 93, LOGMARS, MSI, Interleaved 2 of 5,
Standard 2 of 5, Code 128, Code 128-A, Code 128-B, Code 128-C и QR Code

*** Для работы компоненты потребуется установленный Microsoft .NET Framework 2.0, который можно скачать отсюда.

и зарегистрировать компоненту в Windows - запустить reg.bat
(для удаления информации о компоненте в Windows - запустить unreg.bat)

*** Добавление на форму 1С:

v7.7: Использовать 1С++ (класс "АктивИкс") и FormEx (метод "ПослеОткрытия")
v8.x: Меню "Форма" - "Вставить ActiveX..." - Выбрать элемент "Душелов.Barcode1C"

СИНТАКСИС:

*** Контекст компоненты:

  *** Параметры

   
  - ВыводитьТекст //булево
  - Штрихкод //строка
  - ШиринаШтрихкода //число
  - ВысотаШтрихкода //число
  - ЦветТекста //объект типа "Цвет"
  - ЦветФона //объект типа "Цвет"
  - ТипШтрихкода //строка, типы перечислены в описании
   
  *** Методы:

  - ВыбратьЦвет(); //возвращает объект типа "Цвет"
  - ПолучитьЦвет(a, r, g, b); //возвращает объект типа "Цвет"
  //a, r, g, b - числа, описывающие цвет
  - Сгенерировать();
  - СохранитьКартинку(ПутьКФайлу, Тип); //тип - строка (bmp, gif, jpg, png или tiff)
  - Закрыть(); //очистка памяти

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

Наименование Файл Версия Размер
- 1643
.1245749464 962,45Kb
26.02.13
1643
.1245749464 962,45Kb Бесплатно

См. также

Подписаться Добавить вознаграждение
Комментарии
1. dushelov (Душелов) 23.06.09 13:35
Как вставить штрихкод в документ ворда, когда удаленному пользователю запрещено использование внедренных ActiveX-ов и не установлены шрифты, аналогичные ean13.ttf с диска ИТС?

Компонента поможет ;)
2. vip (vip) 23.06.09 17:29
(0) В 7.7 не рисует.
Объект нормально создается, а контейнер пустой.
3. Александр Рытов (Арчибальд) 23.06.09 17:29
4. vip (vip) 23.06.09 17:31
5. dushelov (Душелов) 23.06.09 17:33
(2) Размеры контейнера какие? Попробуй использовать привязки.
6. vip (vip) 23.06.09 17:36
(5) Какие привязки?
Контейнер на всю форму должен быть?
7. dushelov (Душелов) 23.06.09 17:40
(6) Ну класс растягивания что-ли.
Возможно размер контейнера больше, чем форма, потому сам штрихкод находится за пределами формы.

Я вообщем, завтра до 7-ки доберусь, посмотрю.
8. dushelov (Душелов) 23.06.09 17:41
(6) И методы, как в 8-ке используешь?

ШК.ШиринаШтрихкода = ШиринаШтрихкода;
ШК.ВысотаШтрихкода = ВысотаШтрихкода;
ШК.Штрихкод = Штрихкод;
ШК.ВыводитьТекст = ВыводитьТекст;

Попытка
ШК.ТипШтрихкода = ТипШтрихкода;
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;

Попытка
ШК.Сгенерировать();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
9. dushelov (Душелов) 23.06.09 17:42
Если после генерации ошибки нет, попробуй сохранить в файл - будет ли там картинка.
10. vip (vip) 23.06.09 17:45
(7) Извиняюсь, работает.
Почему-то подумал, что без генерации должен отображаться какой-нибудь умолчальный.
11. dushelov (Душелов) 23.06.09 17:46
(10) Хе... :))) Не, ну можно сделать и умолчальный...
12. Сергей (Che) Коцюра (CheBurator) 23.06.09 17:58
Хорошо бы сразу дать ссылочку на скачивание 1С++ класса...
вопрос: без него никак?
13. Сергей (Che) Коцюра (CheBurator) 23.06.09 18:01
Василий, а стоит ли внутри какая-нибудь "защита" при невозможности генерации требуемого ШК? например, если ШК допускает только цифры, а нерадивый разработчег вбабахал туда нецифровые символы - возвращает ли метод Сгенерировать код возврата? типа 0 - плохо, 1 - ок.
...???
15. dushelov (Душелов) 24.06.09 09:54
(13) Срабатывает исключение.
А вообще, метод Сгенерировать() - возвращает результат, типа "булево".
16. Епрст (Ёпрст) 24.06.09 09:58
Одно мне не ясно .. нафига всё это нужно ?...
17. Епрст (Ёпрст) 24.06.09 09:59
Главное, активихс запрещен, а вот ВК - нет...
гы...
:)

18. vip (vip) 24.06.09 10:05
(12) Продолжаешь лениться в изучении 1С++.
Продолжаешь пугаться слова "класс".
АктивИкс это ВСТРОЕННЫЙ класс, без него никак ;))
Он нужен для показа активиксов на форме.
У меня ощущение, что ты не в курсе вообще, что дает работа с любыми активиксами непосредственно на форме.
19. dushelov (Душелов) 24.06.09 10:36
(17) АктивИксы запрещены, внедренные в ворд и на стороне покупателя (к примеру). А ВК - это для генерации (на стороне продавца).
20. Дмитрий Виссарионов (Dwiss) 24.06.09 14:51
А зачем весь этот изврат, типовая компонента не подходит что ли? я все делал с помощью ее и отображал на форме и карточки печатал с закодированным ФИО в виде ШК, смысл? Для чего это надо???
21. dushelov (Душелов) 24.06.09 15:14
22. lucius (lucius) 24.06.09 15:16
А ответьте убогому - зачем типовая компонента, зачем ActiveX, что трудно реализовать алгоритм формирования штрихкода и использовать соответствующий шрифт ttf?
Я так уже лет 5 живу, и никаких хитрых "помогалочек" не нужно
или разобраться с чужим активиксом проще, чем прочесть алгоритм формирования штрихкода и реализовать его?
23. dushelov (Душелов) 24.06.09 15:37
(22) Вы документы, сохраненные в экзеле клиентам (к примеру) тоже с этими соответствующими шрифтами высылаете?
24. Епрст (Ёпрст) 24.06.09 15:41
(23) не боись - вышлем в jpeg-е :))
25. lucius (lucius) 24.06.09 15:45
я как-то больше pdf-аю...
но в общем - да, прикладываю шрифт (как и сама 1С для своих регламентированных)
с другой стороны нет у меня таких постоянных клиентов, может раз в год появляется - так что "сытый пешему не товарсчь"
26. Сергей (Che) Коцюра (CheBurator) 24.06.09 15:58
(18) НЕ! не пугаюсь!! уже работает один класс - ввод в ТЗ напрямую в ячейки!! ;-) Времени просто особо нет и то что можно без особого изврата без классов - то без классов...
27. vip (vip) 24.06.09 16:02
(26) Путаешь пользовательские классы и встроенные.
Хотя встроенные наверно лучше называть объектами.
28. dushelov (Душелов) 24.06.09 16:46
(10) Добавил предварительну. генерацию и свойство "Авторазмер"
29. Сергей (Che) Коцюра (CheBurator) 24.06.09 18:03
(27) не путаю, вроде.. в (26) речь идет именно о пользовательском классе
30. Сергей (Che) Коцюра (CheBurator) 24.06.09 18:12
(25) я бы таких любителей пдф-ания на месте расстреливал... придет заявка в пдфе на 10 листах да еще в таблицеподобной форме - чем мне эту заявку оттуда АВТОМАТОМ выковыривать?
31. Сергей (Che) Коцюра (CheBurator) 24.06.09 18:13
(20) типовая компонента позволяет рисовать ITF14..?
32. lucius (lucius) 24.06.09 18:55
(30) ну к счастью для мирососуществования "бодливой корове" аллах.... уменьшил возможности...

ежели приходит заявка для автоматической обработки, то каким образом этому процессу способствует штрихкод (я так понимаю, что ежели есть штрихкод, то видимо для печати и последующего сканирования, ежели для программного разбора - то зачем ввобще туда штрихкод вкрячивать?)
8о\

может я в своем поступательном развитии еще не дошел до автоматического преобразования штрихкода из активикса в сигналы сомпорта - ну так звиняйте дяинька, что мое самадхи вашему по колено

ну и в качестве жеста доброй воли - вместо напрасного расхода боеприпаса попробуйте в следующий раз договориться с контрагентом о формате обмена данными. Говорят коммуникация - залог взаимовыгодного сотрудничества... я правда не проверял
;о))
33. Сергей (Che) Коцюра (CheBurator) 24.06.09 19:19
(32) в (30) ругаюсь на любителей обмена информацией в формате ПДФ, ШК тут никаким боком, ясен пень, не относится...
...
ну как попробуете с ашаном или метро ЛИЧНО договориться о нужном и удобном для вас формате обмена - сообщите!
34. Дмитрий Виссарионов (Dwiss) 25.06.09 08:14
(31) И часто ты рисуешь в ITF14??? Мне изо всех ШК за 10 лет понадобились только EAN-8,13 и Code39,128 все - ну и вот у меня вопрос куда и под какие задачи это нужно?
35. andy1976 (Лев) 25.06.09 09:15
36. Сергей (Che) Коцюра (CheBurator) 25.06.09 12:39
(34) ты видать просто не представляешь степени изощренности клиентов ;-)
37. Alex_Sun (Alex_Sun) 25.06.09 14:15
Dwiss - Попробуй офис 2007 версии стандарт.

38. Дмитрий Виссарионов (Dwiss) 25.06.09 16:37
(36) Точно Сергей, изощренности у них хватет :)

(37) Что мне в нем пробовать и зачем?
39. Alex_Sun (Alex_Sun) 26.06.09 05:03
Dwiss - на твой (20) пост. в офисе 2007 стандарт всех таких возможностей нет.А Делать нада.
40. Дмитрий Виссарионов (Dwiss) 26.06.09 08:05
(39) А надо ли - задйся вопрсом, разве нельзя все сделать из 1с не используя офис.
41. Alex_Sun (Alex_Sun) 26.06.09 14:29
Можно. Но форма договора особенно если частенько изменяется и вносятся изменения... Лучше формировать из ворда. Я вот своих кадровиков пересадил на ворд. теперь шарашат трудовые договора из ворда только так. причем если какие то новшества меня не дергают понапрасну а сами вносят в шаблон дополнения. Ну это все дело вкуса знаете ли.
42. dushelov (Душелов) 05.07.09 23:45
- добавлена генерация 2D-кода QR Code
den_vladimir; +1 Ответить
43. Сергей (Che) Коцюра (CheBurator) 06.07.09 00:17
44. dushelov (Душелов) 06.07.09 10:21
(43) Кстати, очень даже веселая штучка оказалась.. Я даже русские буквы закодировал и распознал :)
45. Сергей (Che) Коцюра (CheBurator) 06.07.09 10:33
(44) Для QR спецсканер нужен?
46. dushelov (Душелов) 06.07.09 10:35
(45) Типа того http://www.barscanner.ru/event.php/event=1288

Но я распознавал из картинки (BarcodeReader мой)
47. Сергей (Che) Коцюра (CheBurator) 06.07.09 10:42
(46) думает ли аффтар ;-) расширять список распознаваемых ШК?
48. dushelov (Душелов) 06.07.09 10:49
49. Александр Рытов (Арчибальд) 06.07.09 10:52
(48)ИМХО, произвольный набор пикселов. Трехмерный, естественно :))
50. Сергей (Che) Коцюра (CheBurator) 06.07.09 11:01
ye// там где про сканер - там еще 2D всякие есть... если уж делать - так подорвать бизнес всем халявщикам... ;-)
51. dushelov (Душелов) 06.07.09 11:08
(50) А зачем всякие 2Д, если этого достаточно? Смысла, думаю, нет...
52. Сергей (Che) Коцюра (CheBurator) 06.07.09 11:19
53. Сергей (Che) Коцюра (CheBurator) 06.07.09 11:19
54. Adecvator (Adecvator) 06.07.09 11:30
dushelov, а можно выложить обработку для 7.7. Скачивал с Вашего сайта, так там демка на 3 процедуры. Если можно. Заранее благодарен.
55. dushelov (Душелов) 06.07.09 11:50
(54) Берете любой пример работы с активиксом с 1С++ и используете методы компоненты.
56. Павел Ларионов (RegrZ) 08.07.09 04:42
dushelov спасибо огромное за QR Code!
у меня небольшая проблема с сохранением картинки из обработки, метод СохранитьКартинку() отрабатывает возвращает истина, а файла никакого не сохраняется. компоненту регистрировал, разложил библиотеки в \bin, \system32,
.net установлен
57. Павел Ларионов (RegrZ) 08.07.09 05:51
другие коды например EAN13 нормально сохраняются в картинку, если после EAN13 сформировать QR Code и сохранить, то сохраняется опять EAN13, посмотри пожалуйста в чем дело.
58. Павел Ларионов (RegrZ) 08.07.09 06:18
ребята подскажите как на макет добавить этот объект, там нет ActiveX в меню объектов для вставки в таблицу :(
59. Павел Ларионов (RegrZ) 08.07.09 06:48
dushelov, для того чтобы эта обработка стала бестселлером среди штрихкодеров, еще бы добавить DataMatrix, и PDF417

60. Павел Ларионов (RegrZ) 08.07.09 06:53
platform for all 2D code users with two-dimensional coding and decoding platform provide technical support and development assistance. 2D code types include : PDF417, Qr_Code. DataMatrix and MaxCode, Aztec, etc. (2006-09-28, Visual C++, 169KB, Downloads 138)

http://narod.ru/disk/10710575000/43680512BarMadeBase.rar.html

описание на китайском...
62. Павел Ларионов (RegrZ) 08.07.09 11:17
Не могу опубликовать сообщения со ссылками и описаниями библиотек, много интересного нашел а опубликовать не получается... может это оттого что на англицком?
63. Павел Ларионов (RegrZ) 08.07.09 11:25
http://y8y8.narod.ru/fath_BarcodeX_NET_v2.0.zip

дот нет Компонента на все штрих-коды включая Datamatrix и PDF417, для виндовых форм, поддерживает управляемый код, генерит все картинки, незнаю как опубликовать оригинальное описание, сюда не пропускает тексты на английском, а описывать все это на русском неохота :(

примеры на вижл бейсике


64. Павел Ларионов (RegrZ) 08.07.09 11:26
65. Павел Ларионов (RegrZ) 08.07.09 11:28
SDK - для мобильных платформ:

читалка на яве для всех 2D штрихкодов.

http://y8y8.narod.ru/1985492QRWinCE.rar
66. Павел Ларионов (RegrZ) 08.07.09 11:28
PDF417, QR_CODE, DATAMATRIX controls and examples, it is applicable
(2008-07-03, MultiPlatform, 2318KB,)

http://y8y8.narod.ru/113172210PkEncodeDemo2.0.zip
67. dushelov (Душелов) 08.07.09 11:33
(63) Только то, что она "крякнутая", то уже использование не желательное!
68. dushelov (Душелов) 08.07.09 11:34
69. dushelov (Душелов) 08.07.09 11:45
70. Павел Ларионов (RegrZ) 08.07.09 11:48
(67) я не уверен что она крякнутая, может она купленная?
71. dushelov (Душелов) 08.07.09 11:52
72. Павел Ларионов (RegrZ) 09.07.09 05:09
(69) Спасибо, я заменил библиотеки, теперь при нажатии выполнить в тестовой обработке выдает "Невозможно загрузить файл или сборку QRcode version=1.0.3476.19169 или один из зависимых от них компонентов. Найденное определение манифеста сборки не соответствует ссылке на сборку."
пытался зарегать компонент снова на компе где стояла предыдущая версия, и на другом где ее не было, при запуске файла "reg.bat" выдает тоже - "Failed to load dependency QRcode of assemly Dushelov.barcode1C... Найденное определение манифеста сборки не соответствует ссылке на сборку."
Посмотри пожалуйста что там еще не так...
(71) точно варез, мы тут в глубинке не так чувствительны к лицензионности нам очень далеки эти проблемы, прошу прощения если что :)
73. Павел Ларионов (RegrZ) 09.07.09 05:11
+(72) забыл сказать что при этом обработка отлично формирует остальные ШК, за исключением QR. видимо проблема в очередной сборке QRcode.dll
74. Андрей Сахаров (Kenzo) 09.07.09 12:50
У меня тоже QRcode не сработал
76. dushelov (Душелов) 09.07.09 12:58
77. Den Den (RandomDV) 09.07.09 17:34
Люди, подскажите все-таки - как вывести штрихкод в макет под 8.1 ?
78. dushelov (Душелов) 09.07.09 17:56
В макет вставить поле картинки и при выводе на печать туда выводить картинку из компоненты.
GarageINC1981; +1 Ответить 1
79. Alex_Sun (Alex_Sun) 17.07.09 13:45
Авторство вещь важная, но ненужно доводить его до само выпячивания, в названиях Соmобъектов или процедурах. Ему самое место в скромной кнопкой about. :) - А так очень достойная разработка.
80. dushelov (Душелов) 17.07.09 14:10
(79) При чем тут самовыпячивание? Мелкософт тоже самовыпячивается, везде MS, как и апл, как и все остальные. Это - бренд, а не самовыпячивание.
81. vip (vip) 17.07.09 14:37
(80) Пральна. Стесняться не надо. Автор имеет полное право на любое название.
У меня одна из ВК назывется semen.dll, а ее объект MyCatSemen.
Прототип сейчас храпит рядом со мной под кондёром.
82. dotBY (dotBY) 02.10.09 12:45
бррр... есть проблема, EAN-13, штрихкод 4811424058982, продукт реально существует и корел генерит штрихкод под него... а обработка выдает "EEAN13-3: Country assigning manufacturer code not found"... это чё за зверь?
83. Zigbee (Zigbee) 16.10.09 17:59
есть возможность немного доработать?
нужно чтобы над штрихкодом выводился заголовок (простая строка рус.+лат.+цифирки) и галочка "выводить заголовок".

а вообще, мы пользуемся и радуемся!
84. dushelov (Душелов) 16.10.09 19:48
85. Zigbee (Zigbee) 17.10.09 16:14
нет, для code128 или других простых типов штрихкодов
86. Alex161177 Alex161177 (Alex161177) 10.11.09 22:32
У меня проблема с кодировкой кирилицы. Установив вашу компоненту и запустив обработку ГенерацияШтрихкода.epf. в поле штрихкод я набрал для примера "Добрый день". Получил картинку 2D-кода (QR Code) потом я сосканировал ее на сайте (http://zxing.org/w/decode.jspx - Online Decoder) я получил Äîáðûé äåíü (пробовал изменять кодировки в браузере не помогает). Тот же результат я получил если сканировать распечатаную картинку телефоном. Подскажите пожалуйста в чем проблема?
Прикрепленные файлы:
87. dushelov (Душелов) 10.11.09 22:39
(86) А разме в штрихкодах испольуется кириллица?
88. dushelov (Душелов) 10.11.09 22:41
89. Трактор Трактор (Трактор) 10.11.09 22:55
Прикольно!
Вот бы ещё для такую же ВК для web клиента 8.2.
90. Alex161177 Alex161177 (Alex161177) 10.11.09 22:56
Если в обработке убрать галочку "Выводить текст" а в поле штрихкод набрать "Добрый день" то результат сосканированный на сайте (http://zxing.org/w/decode.jspx - Online Decoder) получил Äîáðûé äåíü. Это проблемма в компоненте или я делаю что-то не так?
Прикрепленные файлы:
91. dushelov (Душелов) 10.11.09 23:00
(90) "ВыводитьТекст" тут совсем не при чем. Тот пост был адресован (85)
Вы где-то видели использование кириллицы в штрихкодах?
92. dushelov (Душелов) 10.11.09 23:02
(89) Так в 8.2 она и используется у меня.
В контексте сервера работает, генерит картинку и на клиент выводит уже готовую картинку на макет.
93. Alex161177 Alex161177 (Alex161177) 10.11.09 23:09
Если я генерирую штрихкод например на сайте (http://qrcc.ru/generator.php) и пишу текст "Добрый день" , тогда сосканировав картинку на сайте (http://zxing.org/w/decode.jspx - Online Decoder) я получаю результат ===> "Добрый день" .
Использование кирилицы в штрихкодах есть необходимость у меня есть задача загнать в штрихкод 2D платежное поручение в макете счета-фактуры, когда покупатель прийдет с этим счетом в банк касир сосканирует в свою программу клиент-банк и не будет тратить время на набор платежа. У моего клиента из-за долгого набора оператора в банке образуется очередь в кассу.
Прикрепленные файлы:
94. Alex161177 Alex161177 (Alex161177) 10.11.09 23:13
У меня вопрос задачу описанную в (93) возможно выполнить используя вашу компоненту или она не умеет пока работать с кирилицей?
95. dushelov (Душелов) 10.11.09 23:19
96. Zigbee (Zigbee) 11.11.09 09:07
(88) "Выводить текст" - это выводить текст штрихкода, а "Выводить заголовок" - это выводить заголовок.
Например, заголовок - "пирожок с вишней", штрихкод - "pirog001";
заголовок - "пирожок с капустой", штрихкод - "pirog023"
97. Елена Мирошник (miroshnik) 11.11.09 19:13
Всем добрый день.
Помогите пожалуйста справиться с установкой новичку (можно сказать полному "нулю" :oops: ).
Нужно установить в 1С генератор штрих-кода. Microsoft .NET есть.
reg.bat запустила. Что дальше? в 1С в меню "Формы" не вижу...
98. Елена Мирошник (miroshnik) 13.11.09 10:07
Ау! Ребята. Действительно очень надо.
Подскажите, что дальше делать! 1С-8.1.
99. Андрей Попов (GarageINC1981) 07.01.10 15:23
+(78) Как это сделать практически не подскажешь, хоть кусочки кода... как это делается???
100. Андрей Попов (GarageINC1981) 07.01.10 16:07
Как достать картинку из компоненты чтоб вставить в поле картинки... Просто сохранить а потом удалить?
101. dushelov (Душелов) 07.01.10 17:26