|
|
| ||
laby1 30.09.20 - 15:03 | Друзья, подскажите, как сейчас будет правильно вывести штрих-код на печатную форму?
Конфигурация УНФ. | ||
laby1 1 - 30.09.20 - 15:22 | Ну ладно там правильно, как вообще можно на ПФ вывести ШК? | ||
laby1 2 - 30.09.20 - 16:28 | Пока нашел только вот это:
ПодключениеВыполнено = ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодов", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);
 // Создадим объект внешней компоненты
Если ПодключениеВыполнено Тогда
ВнешняяКомпонента = Новый("AddIn.КартинкаШтрихкода.Barcode");
Иначе
Возврат Неопределено;
КонецЕсли;
но куда это лепить непонятно. | ||
laby1 3 - 01.10.20 - 09:44 | Помогите гугл-программисту | ||
laby1 4 - 01.10.20 - 10:10 | нагуглил такую штуку https://its.1c.ru/db/metod8dev#content:5963:hdoc
Внешняя компонента "1С:Печать штрихкодов" для платформы "1С:Предприятие 8.3" поставляется в составе Библиотеки подключаемого оборудования. пример использования дан: Функция ПолучитьШтрихкод(ШиринаШтрихкода, ВысотаШтрихкода) ПараметрыШтрихкода = Новый Структура; ПараметрыШтрихкода.Вставить("Ширина" , ШиринаШтрихкода); ПараметрыШтрихкода.Вставить("Высота" , ВысотаШтрихкода); ПараметрыШтрихкода.Вставить("ТипКода" , ТипШтрихкодаЗнач); ПараметрыШтрихкода.Вставить("ОтображатьТекст" , Истина); ПараметрыШтрихкода.Вставить("РазмерШрифта", РазмерШрифта); ПараметрыШтрихкода.Вставить("УголПоворота" , Число(УголПоворота)); ПараметрыШтрихкода.Вставить("Штрихкод" , Штрихкод); ПараметрыШтрихкода.Вставить("ПрозрачныйФон" , ПрозрачныйФон); ПараметрыШтрихкода.Вставить("УровеньКоррекцииQR", УровеньКоррекцииQR); ПараметрыШтрихкода.Вставить("Масштабировать" , Масштабировать); ПараметрыШтрихкода.Вставить("СохранятьПропорции" , СохранятьПропорции); ПараметрыШтрихкода.Вставить("ВертикальноеВыравнивание", ВертикальноеВыравнивание); ПараметрыШтрихкода.Вставить("GS1DatabarКоличествоСтрок", КоличествоСтрокGS1Databar); Возврат МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода); КонецФункции | ||
laby1 5 - 01.10.20 - 10:12 | да, есть такая функция, только пишут устарела:
// Устарела. Следует использовать ГенерацияШтрихкодаВызовСервера.ИзображениеШтрихкода() // Формирование изображения штрихкода. // // Параметры: // ПараметрыШтрихкода - Структура (Конструктор ГенерацияШтрихкодаКлиентСервер.ПараметрыГенерацииШтрихкода()) // // Возвращаемое значение: // Картинка - Картинка со сформированным штрихкодом или НЕОПРЕДЕЛЕНО. // Функция ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода) Экспорт РезультатОперации = ГенерацияШтрихкодаВызовСервера.ИзображениеШтрихкода(ПараметрыШтрихкода); Если РезультатОперации.Результат Тогда Возврат РезультатОперации.Картинка; Иначе Возврат Неопределено; КонецЕсли; КонецФункции | ||
laby1 6 - 01.10.20 - 10:13 | хотя она же и вызывается ... | ||
laby1 7 - 01.10.20 - 10:14 | // Формирование изображения штрихкода. // // Параметры: // ПараметрыШтрихкода - Структура (Конструктор ГенерацияШтрихкодаКлиентСервер.ПараметрыГенерацииШтрихкода()) // // Возвращаемое значение: // Картинка - Картинка со сформированным штрихкодом или НЕОПРЕДЕЛЕНО. // Функция ИзображениеШтрихкода(ПараметрыШтрихкода) Экспорт ВнешняяКомпонента = ГенерацияШтрихкодаСерверПовтИсп.ПодключитьКомпонентуГенерацииИзображенияШтрихкода(); Если ВнешняяКомпонента = Неопределено Тогда ТекстОшибки = НСтр("ru = 'Ошибка подключения внешней компоненты печати штрихкода.'"); ЗаписьЖурналаРегистрации(ТекстОшибки, УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ВызватьИсключение ТекстОшибки; КонецЕсли; Возврат ГенерацияШтрихкодаКлиентСервер.ИзображениеШтрихкода(ВнешняяКомпонента, ПараметрыШтрихкода); КонецФункции | ||
Philix 8 - 01.10.20 - 10:24 | На макет надо воткнуть любую рисунок нужного размера. Он получит имя, например, D1.
Далее - получить картинку штрихкода через функцию ИзображениеШтрихкода и установить полученное из функции как картинку того рисунка. Область.Рисунки.D1.Картинка = ПолученнаяИзфункцииКартинка; и вывести область в табличный документ | ||
laby1 9 - 01.10.20 - 10:28 | Да, есть в конфе вызов, только тут QR-код:
&НаСервере Функция ПолучитьШтрихкод(ШиринаШтрихкода, ВысотаШтрихкода, Штрихкод) ПараметрыШтрихкода = ГенерацияШтрихкодаКлиентСервер.ПараметрыГенерацииШтрихкода(); ПараметрыШтрихкода.Ширина = ШиринаШтрихкода; ПараметрыШтрихкода.Высота = ВысотаШтрихкода; ПараметрыШтрихкода.ТипКода = 16; ПараметрыШтрихкода.ОтображатьТекст = Истина; ПараметрыШтрихкода.РазмерШрифта = 12; ПараметрыШтрихкода.УголПоворота = 0; ПараметрыШтрихкода.Штрихкод = Штрихкод; ПараметрыШтрихкода.ПрозрачныйФон = Ложь; ПараметрыШтрихкода.Масштабировать = Ложь; РезультатОперации = ГенерацияШтрихкодаВызовСервера.ИзображениеШтрихкода(ПараметрыШтрихкода); Возврат РезультатОперации.Картинка; КонецФункции &НаСервере Процедура СформироватьНаСервере(Текст, QRКодЧека) QRКод.Очистить(); Макет = РегистрыСведений.ОчередьЧековККТ.ПолучитьМакет("Макет"); Область = Макет.ПолучитьОбласть("Строка|Колонка"); Рисунок = Область.Рисунки.ШтрихКод; ОбластьТекст = Макет.ПолучитьОбласть("Текст"); ОбластьТекст.Область("Текст").Текст = Текст; QRКод.Вывести(ОбластьТекст); Если QRКодЧека <> Неопределено Тогда Эталон = Справочники.ПодключаемоеОборудование.ПолучитьМакет("МакетДляОпределенияКоэффициентовЕдиницИзмерения"); КоличествоМиллиметровВПикселеВысота = Эталон.Рисунки.Квадрат100Пикселей.Высота / 100; КоличествоМиллиметровВПикселеШирина = Эталон.Рисунки.Квадрат100Пикселей.Ширина / 100; ШиринаШтрихкода = Окр(Рисунок.Ширина / КоличествоМиллиметровВПикселеШирина); ВысотаШтрихкода = Окр(Рисунок.Высота / КоличествоМиллиметровВПикселеВысота); Картинка = ПолучитьШтрихкод(ШиринаШтрихкода, ВысотаШтрихкода, QRКодЧека); Рисунок.Картинка = Картинка; QRКод.Вывести(Область); КонецЕсли; КонецПроцедуры | ||
laby1 10 - 01.10.20 - 10:30 | QRКод тут табличный документа на форме | ||
laby1 11 - 01.10.20 - 10:31 | (8) ага, мне надо получить картинку и вывести в макет, кажись понял, спасибо, попробую | ||
laby1 12 - 01.10.20 - 12:18 | |||
laby1 13 - 01.10.20 - 12:20 | ПараметрыШтрихкода Структура Структура GS1DatabarКоличествоСтрок 2 Число ВертикальноеВыравнивание 1 Число Высота 10,6715277777778 Число Масштабировать Истина Булево ОтображатьТекст Ложь Булево ПрозрачныйФон Ложь Булево РазмерШрифта 12 Число СохранятьПропорции Ложь Булево ТипВходныхДанных 0 Число ТипКода 1 Число УбратьЛишнийФон Ложь Булево УголПоворота 0 Число УровеньКоррекцииQR 1 Число Ширина 73,025 Число Штрихкод "1273720200908" Строка | ||
laby1 14 - 01.10.20 - 12:26 | в саму компоненту передаётся:
Свойство Значение Тип ВнешняяКомпонента AddIn.BarcodeSymbolicName.Barcode AddIn.BarcodeSymbolicName.Barcode ECL 1 Число GS1DatabarКоличествоСтрок 1 Число АвтоТип Ложь Булево Версия "9.0.10.1" Строка ВертСмещение 0 Число ВертикальноеВыравниваниеКода 1 Число ВидимостьКС Истина Булево ВыравниваниеКода 2 Число Высота 11 Число ГорСмещение 0 Число ГрафикаУстановлена Истина Булево ЗначениеКода Недоступно для чтения ИмяФайла "" Строка КоличествоСтолбцов 0 Число КоличествоСтрок 0 Число КоличествоШрифтов 142 Число КонтрольныйСимвол "8" Строка МаксимальныйРазмерШрифтаДляПринтеровНизкогоРазрешения 16 Число МинимальнаяВысотаКода 2 Число МинимальнаяШиринаКода 109 Число ОриентацияТекста 4 Число ОтображатьТекст Ложь Булево ПоложениеТекста 0 Число ПрозрачныйФон Ложь Булево Пропорции "1:4" Строка РазделителиКода 30 Число РазмерКрая 0 Число РазмерШрифта 12 Число Результат 1 Число СодержитКС Ложь Булево ТекстКода "" Строка ТипВходныхДанных 0 Число ТипКода 1 Число УбратьЛишнийФон Ложь Булево УголПоворота 0 Число УровеньКоррекцииQR 1 Число ЦветПолос -16 777 216 Число ЦветТекста -16 777 216 Число ЦветФона -16 777 216 Число Ширина 109 Число Шрифт "Tahoma" Строка | ||
laby1 15 - 01.10.20 - 12:27 | GS1DatabarКоличествоСтрок я поставил 1 вместо 2 - тот же результат | ||
laby1 16 - 01.10.20 - 12:30 | значение кода недоступно для чтения, но туда передаётся код "1273720200908" Строка | ||
laby1 17 - 01.10.20 - 12:42 | почему-то получается штрих-код только в "CODE39" (ВнешняяКомпонента.ТипКода = 3) | ||
SadrArt 18 - 01.10.20 - 12:54 | Извините, а вы с кем разговариваете? ) | ||
laby1 19 - 01.10.20 - 12:59 | да, после мытарств с подбором параметром получилось:
Функция ПолучитьШтрихкод(ШиринаШтрихкода, ВысотаШтрихкода, Штрихкод) ПараметрыШтрихкода = ГенерацияШтрихкодаКлиентСервер.ПараметрыГенерацииШтрихкода(); ПараметрыШтрихкода.GS1DatabarКоличествоСтрок = 2; ПараметрыШтрихкода.Ширина = ШиринаШтрихкода; ПараметрыШтрихкода.Высота = ВысотаШтрихкода; ПараметрыШтрихкода.ТипКода = 1; ПараметрыШтрихкода.ОтображатьТекст = Ложь; ПараметрыШтрихкода.РазмерШрифта = 0; ПараметрыШтрихкода.УголПоворота = 0; ПараметрыШтрихкода.Штрихкод = Штрихкод; ПараметрыШтрихкода.ПрозрачныйФон = Ложь; ПараметрыШтрихкода.Масштабировать = Истина; РезультатОперации = ГенерацияШтрихкодаВызовСервера.ИзображениеШтрихкода(ПараметрыШтрихкода); Возврат РезультатОперации.Картинка; КонецФункции &Вместо("ПечатнаяФорма") Функция Расш_ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, ИмяМакета)... РисунокШК = ОбластьМакета.Рисунки.ШтрихКод; ШтрихКод = "01" + Прав(Шапка.Номер,4) + Формат(Шапка.ДатаДокумента,"ДФ=yyMMdd"); РисунокШК.Картинка = ПолучитьШтрихкод(РисунокШК.Ширина,РисунокШК.Высота, Штрихкод);... КонецФункции | ||
laby1 20 - 01.10.20 - 14:18 | Тот странный рисунок - это как бы надпись "invalid barcode" А возникал он потому, что для формата EAN-13 оказывается воспринимает только 12 цифр,а для ITF14 - максимум 13. А я пытался 13 и 14 соответственно. А когда ошибся с кол-вом цифр и о чудо, штрихкод появился. гугл-программист ха-ха | ||
laby1 21 - 02.10.20 - 16:04 | А кто-нибудь в курсе, можно ли, чтоб эта компонента выводила вместе со штрихкодом и соответствующий ему числовой код.
Если я в параметры добавляю ПараметрыШтрихкода.ОтображатьТекст = Истина;то выводятся большие пиксельные цифры без самого штрих-кода. Там в компоненте по умолчанию размер шрифта 12. А если пытаюсь передать другой размер шрифта к примеру ПараметрыШтрихкода.РазмерШрифта = 10; То выпадает ошибка Ошибка при установке значения атрибута контекста (РазмерШрифта) ВнешняяКомпонента.РазмерШрифта = ПараметрыШтрихкода.РазмерШрифта; |
|
Список тем форума |