|   |   | 
| 
 | Добавить на Печатную форму ШтрихКод | ☑ | ||
|---|---|---|---|---|
| 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) Так у ШК параметры фиксированные. Если его сделать совсем произвольным - то считываться не будет. Хотя иногда слишком капризная это точно. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |