|
картинка штрихкода. 8.3 | ☑ | ||
---|---|---|---|---|
0
selenat
23.10.15
✎
15:23
|
БП 8.3. В модуле обработки пишу
Рисунок = ОбластьМакета.Рисунки.Штрихкодce1c4067_073f_44fe_9af9_0fffbfae575a; Если ЗначениеЗаполнено(СтрокаДанных.Штрихкод) Тогда ПараметрыШтрихкода = Новый Структура; ПараметрыШтрихкода.Вставить("Ширина", Рисунок.Ширина / КоличествоМиллиметровВПикселе); ПараметрыШтрихкода.Вставить("Высота", Рисунок.Высота / КоличествоМиллиметровВПикселе); ПараметрыШтрихкода.Вставить("Штрихкод", СтрокаДанных.Штрихкод); ПараметрыШтрихкода.Вставить("ТипКода", 1); ПараметрыШтрихкода.Вставить("ОтображатьТекст", Истина); ПараметрыШтрихкода.Вставить("РазмерШрифта", 12); Рисунок.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода); КонецЕсли; На выходе получаю картинку с надписью "invalid barcode". Иду отладчиком, смотрю, что внешняя компонента подключается нормально. Убеждаюсь, что в качестве штрихкода передаю компоненте строку из 13 символов, в которых только цифры. Нет ни русских символов, ни пробелов. В чем может быть трабла? |
|||
1
anatoly
23.10.15
✎
15:29
|
зачем столько буков?
у меня просто: Область.Рисунки.ШтрихКод.Объект.Сообщение = ШтрихКод; и все работает. тип тоже ЕАН13. правда 1С 8.2 у тебя рисунок - элемент управления? |
|||
2
selenat
23.10.15
✎
15:36
|
(1) у меня такой код работает в 8.1. В 8.3 не работает, даже если перетаскиваю рисунок копипастом из 8.1.
У рискунка свойство элемент управления недоступно для чтения. Как и свойство объект кстати. Если использую рисунок, который переношу из 8.1 (где все работает), то Объект уже не "недоступно для чтения", а пустой с типом "неопределено". И такой как у тебя код в этом случае тоже не работает. Пробовал уже. |
|||
3
anatoly
23.10.15
✎
15:42
|
не перетаскивай копипастом!!
в конфиге в макете: меню Таблица - Рисунки - Вставить объект... отметить Элемент управления, выбрать компоненту "1С печать штрихкода". в макете появится рисунок - на нем правый клик - свойства и вверху выбрать не рисунок а элемент управления. |
|||
4
selenat
23.10.15
✎
15:50
|
Интересно. Сделал штрихкод из 12 символов, он нормально показался.
|
|||
5
selenat
23.10.15
✎
15:59
|
(3) сделал как ты сказал. Объект все равно имеет тип неопределено. А копипастом кстати я такие рисунки успешно перетаскивал неоднократно. Правда, только внутри конфы, рпаботающей на 8.1.
|
|||
6
lenochka-semicova
23.10.15
✎
16:32
|
(0) (4)
ШтрихКод.Объект - это старая компонента от 1С - которая актив-икс а МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода - это новая компонента - натив-апи, которая рисует картинку по параметрам Если тип штрихкода еан13, и 13-ый символ некорректный, то он ее не нарисует правильно, а с 12-ю символами он автоматом 13-ый дорасчитывается Нужно установить тип кода 99 ПараметрыШтрихкода.Вставить("ТипКода", 99); Тогда, в функции ПолучитьКартинкуШтрихкода сработает условие автоматического получения типа штрихкода ТипШтрихкодаВрем = ОпределитьТипШтрихкода(ПараметрыШтрихкода.Штрихкод); Если ТипШтрихкодаВрем = "EAN8" Тогда ТипКода = 0; ИначеЕсли ТипШтрихкодаВрем = "EAN13" Тогда ТипКода = 1; ИначеЕсли ТипШтрихкодаВрем = "EAN128" Тогда ВнешняяКомпонента.ТипКода = 2; ИначеЕсли ТипШтрихкодаВрем = "CODE39" Тогда ВнешняяКомпонента.ТипКода = 3; ИначеЕсли ТипШтрихкодаВрем = "CODE128" Тогда ВнешняяКомпонента.ТипКода = 4; ИначеЕсли ТипШтрихкодаВрем = "ITF14" Тогда ВнешняяКомпонента.ТипКода = 11; Иначе ВнешняяКомпонента.АвтоТип = Истина; КонецЕсли; |
|||
7
anatoly
23.10.15
✎
16:42
|
(4) для 13и символов установи: СодержитКС = 1
|
|||
8
lenochka-semicova
23.10.15
✎
16:46
|
(7) в БП 30 встроена новая компонента по технологии натив-апи из состава БПО. она никак не связана со старой компонентой актив-икс, которая по сути, уже несколько лет не поддерживается 1С (не поддерживается - в плане - как продукт). Соответственно, старые методы в ней не сработают, а старых параметров нет.
Кроме того, под управляемыми формами на 8.3 старые компоненты могут вообще не взлететь. Поэтому в (5) "Объект все равно имеет тип неопределено" |
|||
9
selenat
23.10.15
✎
16:59
|
(6) О, спасибо! Я так и понял, что там внутренний формат этого типа такой, что абы что туда не вобьешь. Теперь понятно. :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |