|
Прошу помощи для написания отчета для печати штрихкода | ☑ | ||
---|---|---|---|---|
0
tomgen
22.01.24
✎
13:16
|
Создал внешний отчет.Добавил в макет отчета элемент управления "1С:Печать штрихкодов" (через Таблица-Рисунки-ВставитьОбъект) дал ему имя "Результат". Вот модуль отчета:
&НаКлиенте Процедура Загрузить(Команда) // Вставить содержимое обработчика. СформироватьНаСервере(); КонецПроцедуры &НаСервере Процедура СформироватьНаСервере() Результат.Очистить(); ВремОбъект = РеквизитФормыВЗначение("Объект"); Макет = ВремОбъект.ПолучитьМакет("Макет"); Область = Макет.ПолучитьОбласть("Строка|Колонка"); Рисунок = Область.Рисунки.ШтрихКод; Эталон = ВремОбъект.ПолучитьМакет("МакетДляОпределенияКоэффициентовЕдиницИзмерения"); КоличествоМиллиметровВПикселеВысота = Эталон.Рисунки.Квадрат100Пикселей.Высота / 100; КоличествоМиллиметровВПикселеШирина = Эталон.Рисунки.Квадрат100Пикселей.Ширина / 100; ШиринаШтрихкода = Окр(Рисунок.Ширина / КоличествоМиллиметровВПикселеШирина); ВысотаШтрихкода = Окр(Рисунок.Высота / КоличествоМиллиметровВПикселеВысота); ВходныеДанные = "(01)04600822901507(11)161109(30)2434"; Картинка = ПолучитьШтрихкод(ШиринаШтрихкода, ВысотаШтрихкода, ВходныеДанные, 24); // 24 - Datamatrix GS1ASCII Рисунок.Картинка = Картинка; Результат.Вывести(Область); КонецПроцедуры &НаСервере Функция ПолучитьШтрихкод(ШиринаШтрихкода, ВысотаШтрихкода, ЗначШтрихкод, ЗначТипШтрихкода) ПараметрыШтрихкода = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода(); ПараметрыШтрихкода.Ширина = ШиринаШтрихкода; ПараметрыШтрихкода.Высота = ВысотаШтрихкода; ПараметрыШтрихкода.ТипКода = ЗначТипШтрихкода; ПараметрыШтрихкода.Штрихкод = ЗначШтрихкод; ПараметрыШтрихкода.ПрозрачныйФон = Истина; ПараметрыШтрихкода.УровеньКоррекцииQR = 2; ПараметрыШтрихкода.ОтображатьТекст = Ложь; ПараметрыШтрихкода.Масштабировать = Истина; ПараметрыШтрихкода.СохранятьПропорции = Истина; ПараметрыШтрихкода.ВертикальноеВыравнивание = 0; ПараметрыШтрихкода.GS1DatabarКоличествоСтрок = 1; ПараметрыШтрихкода.ТипВходныхДанных = 0; РезультатШтрихкод = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода); Возврат РезультатШтрихкод.Картинка; КонецФункции Получаю ошибки в процедуре СформироватьНаСервере 1- Не опрелена переменная Результат 2-Функция РеквизитФормыВЗначение не определена. Подскажите пожалуйста как передать в процедуру значение Результат из макета отчета? И как присвоить значение для переменной ВремОбъект? Хочу разобраться с печатью штрихкодов! |
|||
1
Волшебник
22.01.24
✎
13:22
|
ошибка в строке:
Результат.Очистить(); |
|||
2
tomgen
22.01.24
✎
13:27
|
Я хотел очистить значение переменной Результат, которая размещена в макете отчета. Как передать значение в процедуру СформироватьНаСервере?
|
|||
3
Волшебник
22.01.24
✎
13:32
|
(2) Считайте, что оно уже пустое.
А вот со строчкой Результат.Вывести() Вам придётся поработать, потому что "Результат" до сих пор не определён |
|||
4
tomgen
22.01.24
✎
13:36
|
Описываю переменную Результат в процедуре СформироватьНаСервере, но все равно появляется ошибка Переменная Результат не определена.
Не понимаю как задать значение ВремОбъект из этой процедуры? |
|||
5
Волшебник
22.01.24
✎
13:36
|
(4) >> Описываю переменную Результат в процедуре СформироватьНаСервере
Покажите, как Вы это делаете. |
|||
6
yurikmellon2
22.01.24
✎
14:10
|
(0) рабочий код из ВПФ
|
|||
7
tomgen
23.01.24
✎
13:36
|
Переписал модуль для получения штрих кода:
ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакетНаСервере(); Область = Макет.ПолучитьОбласть("ОбластьШтрихкода"); Рисунок = Область.Рисунки.РисунокШтрихКода; КоличествоМиллиметровВПикселеВысота = Макет.Рисунки.РисунокШтрихКода.Высота / 100; КоличествоМиллиметровВПикселеШирина = Макет.Рисунки.РисунокШтрихКода.Ширина / 100; ШиринаШтрихкода = Окр(Рисунок.Ширина / КоличествоМиллиметровВПикселеШирина); ВысотаШтрихкода = Окр(Рисунок.Высота / КоличествоМиллиметровВПикселеВысота); ВходныеДанные = "(01)04600822901507(11)161109(30)2434"; Картинка = ПолучитьШтрихкод(ШиринаШтрихкода, ВысотаШтрихкода, ВходныеДанные, 24); // 24 - Datamatrix GS1ASCII Рисунок.Картинка = Картинка; ТабДок.Вывести(Область); Возврат ТабДок; Выдает ошибку На строке "Рисунок.Картинка=Картинка" Поле объекта недоступно для записи (Картинка) |
|||
8
tomgen
23.01.24
✎
13:35
|
Помогите пожалуйста! Рисунок.Картинка - недоступно для чтения и недоступно для записи.Смотрел отладчиком
|
|||
9
ЖНЕЦ
23.01.24
✎
14:05
|
(8) у тебя в макете есть Рисунок с именем
"РисунокШтрихКода" или там D1 в отладчике посмотри , что у тебя в Область.Рисунки |
|||
10
Fedor-1971
23.01.24
✎
14:38
|
(8) Посмотри отладчиком что лежит в Область.Рисунки и Макет.Рисунки может не там получил
и нужно проверить что-бы рисунок лежал полностью в ОбластьШтрихкодов, бо он будет относиться к другой области |
|||
11
tomgen
23.01.24
✎
14:39
|
В отладчике посмотрел Область.Рисунки.РисунокШтрихКода = РисунокТабличногоДокумента
|
|||
12
tomgen
23.01.24
✎
14:57
|
Попробовал изменить строку записи штрихКода:
Область.Рисунки.РисунокШтрихКода.Картинка = Картинка; Вылетает таже ошибка Поле недоступно для записи(Картинка) |
|||
13
Pprog151713
23.01.24
✎
15:04
|
Вот тебе это поле надо прописать
|
|||
14
tomgen
23.01.24
✎
15:14
|
Оно у меня и прописано
Рисунок = Область.Рисунки.РисунокШтрихКода; |
|||
15
tomgen
23.01.24
✎
16:08
|
Не получается заполнить макет значением штрихкода. Во всех случаях появляется ошибка "Поле недоступно для записи (Картинка). Не понимаю, вижу такой же код в комментариях. Там пишут, что код работающий!((
|
|||
16
Волшебник
23.01.24
✎
16:14
|
гляньте тут Рисунок.Картинка = Поле объекта недоступно для записи (Картинка)
похоже проблема все таки с тем, что объект у картинки - активикс
заменил на обычную картинку из Таблица-рисунки-Картинка - и все заработало |
|||
17
Мимохожий Однако
23.01.24
✎
16:14
|
Покажи содержание области в момент отладки и не в момент редактирования
|
|||
18
tomgen
23.01.24
✎
16:15
|
Если не жалко, прошу выложить фрагмент кода сохранения сгенерированного штрихкода в макет табличного документа!
|
|||
19
Волшебник
23.01.24
✎
16:18
|
(18) Лучше Вы
|
|||
20
tomgen
23.01.24
✎
16:23
|
В отладчике содержимое областей:
Выражение Значение Картинка Картинка Рисунок.Картинка Поле недоступно для чтен Область.Рисунки.РисунокШтрихКода РисунокТабличногоДокумен Область ТабличныйДокумент Рисунок РисунокТабличногоДокумент |
|||
21
Мимохожий Однако
23.01.24
✎
16:26
|
(18) Подгляди в типовых конфигурациях
|
|||
22
Fedor-1971
23.01.24
✎
17:07
|
(20) Таки "Выражение" у картинки нет
Удали из шаблона твою картинку. Вставь новую и именно картинку присвой имя можешь заполнять примерно так: ИмяКартинки = Врег(ИмяПараметраШтрихкода); Для Каждого Рисунок Из ОбластьТабличногоДокумента.Рисунки Цикл Если Врег(Рисунок.Имя) = ИмяКартинки Тогда ПараметрыШтрихкода = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода(); ПараметрыШтрихкода.Ширина = Окр(Рисунок.Ширина / КоличествоМиллиметровВПикселе); ПараметрыШтрихкода.Высота = Окр(Рисунок.Высота / КоличествоМиллиметровВПикселе); ПараметрыШтрихкода.Штрихкод = ЗначениеШтрихкода; ПараметрыШтрихкода.ТипКода = ТипКода; ПараметрыШтрихкода.ОтображатьТекст = ОтображатьСимволныйШК; ПараметрыШтрихкода.РазмерШрифта = РазмерШрифта; РезультатОперации = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода); Если РезультатОперации.Результат = Истина Тогда Рисунок.Картинка = РезультатОперации.Картинка; КонецЕсли; Прервать; КонецЕсли; КонецЦикла; |
|||
23
Инстанс
23.01.24
✎
22:24
|
В последний раз что-то делал. Типа такого
ОбластьМакетаСтрока = Макет.ПолучитьОбласть("Строка"); ... ПараметрыШтрихкода = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода(); ... ИзображениеШтрихкода = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода); ... ОбластьМакетаСтрока.Область("ТоварКод").Картинка = ИзображениеШтрихкода.Картинка; |
|||
24
tomgen
24.01.24
✎
11:04
|
(22) Вставить в ОбластьШтрихКода не объект, а картинку ШтрихКодРаботаСНоменклатурой из Конфигурации?
|
|||
25
Волшебник
24.01.24
✎
11:09
|
(24) любую
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |