![]() |
|
Добавить на Печатную форму ШтрихКод | ☑ | ||
---|---|---|---|---|
0
frau
29.05.18
✎
16:58
|
Стоит задача создать механизм штрихкодирования документов (на базе Розницы).
То есть на уже существующие печатные формы документов формировать и выводить Штрихкод. Пытаюсь разбираться в ОбщийМодуль.УправлениеПечатьюПереопределяемый - ПриПечати(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода), т.к. туда обращаются документы при печати. Может у кого был опыт - прошу посоветовать в каком направлении двигаться. Подойдут ли методы а-ля .ПолучитьОбласть? Заранее спасибо |
|||
1
anatoly
29.05.18
✎
17:20
|
"в каком направлении двигаться."
подключить 1cbarcod.dll и искать примеры. а что в рознице нет разве ТОРГ-12 со штрихкодом? или этикеток? |
|||
2
frau
29.05.18
✎
17:23
|
(1) есть некоторые формы с штрихкодами (в т.ч. этикетки), но мне надо предоставить пользователю выбор: перед ним перечень всех печатных форм, а он отмечает на каких печатать штрихкод.
|
|||
3
dezss
29.05.18
✎
17:29
|
(2) посмотреть как сделано там
|
|||
4
LienXo
29.05.18
✎
18:17
|
(0) если нет любви к длл-кам можно через шрифты замутить, но тогда его на нужные машины ставить надо
|
|||
5
Вафель
29.05.18
✎
18:32
|
в типовых же есть компонента штрихкода
|
|||
6
d4rkmesa
гуру
29.05.18
✎
19:21
|
(0) Примерно так (если это актуальная конфигурация - работает на УТ 11.3.4):
// Вставить содержимое обработчика. ТабличныйДокумент = Новый ТабличныйДокумент; Обработка = РеквизитФормыВЗначение("Объект"); Макет = Обработка.ПолучитьМакет("Макет"); ОбластьМакета = Макет.ПолучитьОбласть("ОбластьМакета"); Сообщение = "(01)" + "04600822901507" + "(11)" + "161109" + "(10)" + "16453I"; Эталон = Обработки.ПечатьЭтикетокИЦенников.ПолучитьМакет("Эталон"); КоличествоМиллиметровВПикселе = Эталон.Рисунки.Квадрат100Пикселей.Высота / 100; ПараметрыШтрихкода = Новый Структура; ПараметрыШтрихкода.Вставить("Ширина", Окр(ОбластьМакета.Рисунки.КартинкаШтрихкода.Высота / КоличествоМиллиметровВПикселе)); ПараметрыШтрихкода.Вставить("Высота", Окр(ОбластьМакета.Рисунки.КартинкаШтрихкода.Ширина / КоличествоМиллиметровВПикселе)); ПараметрыШтрихкода.Вставить("Штрихкод", Сообщение); ПараметрыШтрихкода.Вставить("ТипКода", 2); //ean-128 ПараметрыШтрихкода.Вставить("ОтображатьТекст", Истина); ПараметрыШтрихкода.Вставить("РазмерШрифта", 12); ПараметрыШтрихкода.Вставить("УголПоворота", 270); ОбластьМакета.Рисунки.КартинкаШтрихкода.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода); ТабличныйДокумент.Вывести(ОбластьМакета); Возврат ТабличныйДокумент; |
|||
7
d4rkmesa
гуру
29.05.18
✎
19:25
|
Правда, процедура МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода) довольно капризная, к примеру, у меня не получилось сделать "повернутый" на 90 градусов ШК, нужно переделать процедуру, а также ширину и высоту картинки делать фиксированной, а не от эталона.
|
|||
8
tesseract
29.05.18
✎
23:36
|
(5) Там DLL c зависимостями от imagemagick (которая нативная, а не com).
(7) Так у ШК параметры фиксированные. Если его сделать совсем произвольным - то считываться не будет. Хотя иногда слишком капризная это точно. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |