Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 мая 2024, 14:47

Генерация QR-кода и вывод на макет печати

Автор Funt432286, 20 авг 2023, 13:39

0 Пользователей и 3 гостей просматривают эту тему.

Funt432286

Всем доброго времени суток!
Создаю элемент картинки с QR-кодом на печатной форме, подключаю Общий модуль на управляемой форме, в котором находятся функции генерации QR-кода
При открытии формы выходит ошибка:
{Ф_Доработки_08_23 Обработка.Ф_ПечатьЭтикеток.Форма.Ф_ПечатьЭтикеток.Форма(20,37)}: Переменная не определена (Ф_Общий)
Область.Рисунки.QR_code.Картинка = <<?>>Ф_Общий.ПолучитьQRкод("123456", 0, 20);

Процедура СоздатьЭтикеткуНаСервере()

ТабДокЭтикетка = Новый ТабличныйДокумент;
ТабДокЭтикетка.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    Макет = Обработки.Ф_ПечатьЭтикеток.ПолучитьМакет("Ф_МакетЭтикетки");
Область = Макет.ПолучитьОбласть("ПолеЭтикетки");

Область.Рисунки.QR_code.Картинка = Общи Ф_Общий.ПолучитьQRкод("123456", 0, 20);

ТабДокЭтикетка.Вывести(Область);

КонецПроцедуры

fruitella

Funt432286, Первое что бросается в глаза
Общи Ф_Общий.ПолучитьQRкод("123456", 0, 20);
И что такое Ф_Общий? Посмотри тут пример это один из вариантов без использования типовой процедуры, там вроде даже скачать можно:
https://zzizz.ru/generacija-qr-koda-v-1s/

Funt432286

fruitella, у меня почему не дает возможность из обработки в расширении обратиться к общему модулю, расположенному в общей конфигурации

Максим75

Funt432286, Общи Ф_Общий
здесь пробел? тогда ясный красный, что не находит.

Funt432286

Вот полностью код в обработке в РАСШИРЕНИИ
Процедура СоздатьЭтикеткуНаСервере()

ТабДокЭтикетка = Новый ТабличныйДокумент;
ТабДокЭтикетка.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    Макет = Обработки.Ф_ПечатьЭтикеток.ПолучитьМакет("Ф_МакетЭтикетки");
Область = Макет.ПолучитьОбласть("ПолеЭтикетки");

Область.Рисунки.QR_code.Картинка = Ф_Общий.ПолучитьQRкод("123456", 0, 20);

ТабДокЭтикетка.Вывести(Область);

КонецПроцедуры

&НаКлиенте
Процедура СоздатьЭтикетку(Команда)

СоздатьЭтикеткуНаСервере();

КонецПроцедуры

вот ошибка
{Ф_Доработки_08_23 Обработка.Ф_ПечатьЭтикеток.Форма.Ф_ПечатьЭтикеток.Форма(20,37)}: Переменная не определена (Ф_Общий)
Область.Рисунки.QR_code.Картинка = <<?>>Ф_Общий.ПолучитьQRкод("123456", 0, 20);

Максим75

Funt432286, т.е. есть общий модуль с именем Ф_Общий, но из расширения он недоступен?
значит из-за расширения это.
может сам этот общий модуль надо заимствовать в расширение. на инфостарте когда-то статья мелькала по этому вопросу.
попробуйте к себе в обработку скопировать кусок кода непосредственной генерации QR-кода.

Funt432286

Максим75, попробовал перетащить обработку в основную конфигурацию и так же привязать, выдает такую же ошибку

{Обработка.Ф_ПечатьЭтикеток_1.Форма.Ф_ПечатьЭтикеток.Форма(21,37)}: Переменная не определена (Ф_Общий)
Область.Рисунки.QR_code.Картинка = <<?>>Ф_Общий.ПолучитьQRкод("223132", 0, 20);

Что-то либо с модулем, либо настройками обработке! Так как из этого модуля в другие обработки процедуры вызываются нормально

antoneus


Funt432286

да, там не стояли настройки Сервер/Клиент..
Сейчас вроде все заработало, процедуры и функции я запихнул в модуль объекта обработки и там их тяну!

antoneus

Наверно, в картинку нельзя прямо двоичные данные пихать. Попробуйте так

Область.Рисунки.QR_code.Картинка =     Новый Картинка(ДокОбъект.ПолучитьQRкод("123456", 0, 20));

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск