Подскажите, знающие люди, как в 1С 8.3 напечатать штрих код? Скачал 1CBarCode_8.0.16.4, установил, добавил в макет элемент управления штрих код, но установить его значение и увидеть в распечатке сам штрих код ну никак не получается.
Выдает - Значение "ТипКода" не является значением объектного типа.
(1) к какой конфигурации прикручиваешь печать штрих кода ?
для управляемых форм, работа со штрих кодами отличается.
У 1Сников, написана специальная нативная компонента для работы с этим. Она в макетах в двоичных данных сидит.
Если у тебя самописка - то тебе надо передрать с типовой, эти все макеты, и процедуры общих модулей.
Если типовая, то в зависимости от того какая именно, просто использовать этот функционал.
П.С.
Буквально вчера, к бухне 3.0 делал обработку для распечатки штрих кодов номенклатуры. Поэтому пока свежи воспоминания.
Для двумерного писал свою ВК (не com, а native). Нужно будет - пишите в личку. Сюда пока выложить не готов - нужно хоть какую-то статейку написать еще.
А в современных типовых - тоже уже вроде есть такие, макетами вложены. Поищите, может их попробовать. Вроде в УТ наблюдал.
Да почти во всех типовых вроде есть. Но так как я не знаток типовых, то могу посоветовать тупо скачать с ИТС конфу "Библиотека подключаемого оборудования" и глянуть там обработку "Печать штрихкода". Таки да, компонента макетом вкладывается и из макета подключается. И таки она уже Native и под линух тоже должна работать.
Подскажите, знающие люди, как в 1С 8.3 напечатать штрих код? Скачал 1CBarCode_8.0.16.4, установил, добавил в макет элемент управления штрих код, но установить его значение и увидеть в распечатке сам штрих код ну никак не получается.
Выдает - Значение "ТипКода" не является значением объектного типа.
Посмотрите как в типовой УТ выводится, там все построено как раз на 1CBarCode
ПодключениеВыполнено = ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодов", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);
// Создадим объект внешней компоненты
Если ПодключениеВыполнено Тогда
ВнешняяКомпонента = Новый("AddIn.КартинкаШтрихкода.Barcode");
Иначе
Возврат Неопределено;
КонецЕсли;
В (5) правильное решение (по крайней мере в части инициализации внешней компоненты). Дальше в макет вставляется пустая картинка (или картинка "ШтрихКод"), а компонента возвращает картинку со сгенерированным ШК, которую нужно вместо этой картинки воткнуть. Но у 1С есть проблема - при одновременной инициализации компоненты из двух потоков (два юзера, например, решили одновременно напечатать документ) rphost валится с дампом. Выход - обернуть в простейший файловый мьютекс.
Печать штрихкодов с помощью шрифтов - это прошлый век. Когда-то - да, так и извращались. И я в том числе.
Прелесть решения от 1С в том, что табличный документ вместе со штрихкодами в виде картинок можно формировать на сервере и такой табличный документ будет одинаково отображаться и печататься с любого клиента. Т.е. на клиенте никаких внешних зависимостей не появляется. Это гораздо удобнее и надежнее.
одинаково отображаться и печататься с любого клиента.
у меня была ситуация, что с сервера через RDP через EASYPRINT печатались ПФ Штрихкодов - они сканером не читались, но та же печатная форма запущенная с локального компьютера - сканировалась идеально (лишних знаков не появлялось). в общем форма формируется всегда верная, но вот её печать из-за драйвера может быть не верной.
(12) Такое может быть, если совсем нет "запаса прочности" при печати штрихкода. При некоторой небольшой степени размытости штрихкод сканироваться уже не хочет, хотя выглядит еще вполне прилично. У меня такое было, когда экспериментировал с компонентой и ее параметрами. Поэтому нужно правильно определять размеры и пропорции штрихкода и выводить его всегда в реальном размере, а не растягиванием. Тогда "запас прочности" очень высокий - потребуется уж очень кривой драйвер, чтобы "испортить" штрихкод :)
Поэтому нужно правильно определять размеры и пропорции штрихкода и выводить его всегда в реальном размере, а не растягиванием
да стандартная типовая УТ 10.3, стандартный ШК, настройки и там и там одинаковые. скорее всего при печати через изипринт возникает некое "размыливание" (только визуально его особо не видно)
Еще, насколько я понял, если генерить картинку в реальном размере (а только так и надо, чтобы гарантированно не было проблем со считыванием), то пропорции штрихкода фиксированы (или меняются с каким-то шагом что-ли), а не вытекают явно из переданных размеров. И по факту подходящий размер приходится подбирать. Что не всегда удобно.
Может, я что-то делал не так, но у меня не получилось явным образом сгенерить очень узкий штрихкод.
Содрал из ЕРП 2 компоненту из макета КомпонентаПечатиШтрихкодов и общие модули МенеджерОборудованияВызовСервера и МенеджерОборудованияСерверПовтИсп. Знакомство и доработка штрихкода для не типовой заняла 10 минут. До этого работал только с qr-кодами.