Top.Mail.Ru
Ответы

1с вывести картинку на макет программно

Товарищи, добрый день.
Помогите пожалуйста. В интернете приличных вариантов не нашла.
В справочнике ФизическиеЛица у каждого сотрудника есть картинка с подписью.


Мне нужно в обработке на печатную форму вывести картинку с подписью определенного сотрудника.
Код обработке большой, поэтому кусочки. Я получаю через запрос сотрудника (Ответственный) и ссылку на подпись (не уверена, что правильно):

ВЫБРАТЬ РАЗРЕШЕННЫЕ
| втРеализации.Пометка КАК Пометка,
| втРеализации.Реализация КАК Реализация,
| втРеализации.СчетФактура КАК СчетФактура,
| втРеализации.СчетФактураПроведен КАК СчетФактураПроведен,
| втРеализации.Ответственный КАК Ответственный,
| ОснованияПраваПодписи.Наименование КАК Доверенность,
| ФизическиеЛица.ФаксимилеПодписи.Ссылка КАК ФаксимилеПодписи

Далее заполняю макет:
ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
ОбластьМакета.Параметры.Заполнить(ДанныеШапки);
ОбластьМакета.Параметры.ФИОРуководителя = Ответственный;
ОбластьМакета.Параметры.Доверенность = Доверенность;
ОбластьМакета.Рисунки.ФаксимилеРуководитель - !!!Вот тут должна быть картинка с подписью
ТабДокумент.Вывести(ОбластьМакета);

Не понимаю, как вывести картинку. Буду очень благодарна за помощь.

Дополнен

&НаКлиенте
Процедура АдресФаксимилеПодписиНажатие(Элемент, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;

Если ТолькоПросмотр Тогда
Возврат;
КонецЕсли;

Если ЗначениеЗаполнено(ФайлФаксимилеПодписи) Тогда

ДанныеФайла = ПолучитьДанныеФайла(ФайлФаксимилеПодписи, УникальныйИдентификатор);
РаботаСФайламиКлиент.ОткрытьФайл(ДанныеФайла);

ИначеЕсли ЕстьПравоИзменятьПодпись Тогда

ЗагрузитьКартинку();

КонецЕсли;

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

По дате
По рейтингу
Удаленный ответ Ответ удалён
Аватар пользователя
Ученик

А как он будет определять картинку? В зависимости от ответственного, картинки будут разные.

Пыталась путь к файлу через запрос определить, но он мне пустую строку выдает:

|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| втРеализации.Пометка КАК Пометка,
| втРеализации.Реализация КАК Реализация,
| втРеализации.СчетФактура КАК СчетФактура,
| втРеализации.СчетФактураПроведен КАК СчетФактураПроведен,
| втРеализации.Ответственный КАК Ответственный,
| ОснованияПраваПодписи.Наименование КАК Доверенность,
| ФизическиеЛица.ФаксимилеПодписи.ПутьКФайлу КАК ФаксимилеПодписи

Картинка = Новый Картинка(ФаксимилеПодписи); //путь к картинке
ОбластьМакета.Рисунки.ФаксимилеРуководитель = Картинка;

Аватар пользователя
Ученик

чувак просто так скажу надо картинку в параметр рисунки типа обьект рисунок передать и все без лишних телодвижений иначе макет не поймет что это картинка и не выведет тупо проверь чтоб ссылка действительно была на файл с картинкой а не на что-то другое и потом через Рисунки.ФаксимилеРуководитель = новый рисунок(ссылка.Получить()) попробуй так, если не пашет значит где-то с получением картинки косяк ихти просто бери картинку из хранилища и вставляй в макет напрямую не мудри сильно

Аватар пользователя
Ученик

Ошибка возникает потому, что компилятор не находит метод MyForm_Load внутри класса kalkulator::MyForm. Это значит, что либо этот метод отсутствует вообще, либо объявлен неправильно.

Обратите внимание, что при работе с изображениями важно проверять типы возвращаемых значений и возможность преобразования объектов в требуемый формат (например, конвертация из хранилища значения в объект картинки).

Аватар пользователя
Ученик

чо за вопрос короче нужно вставить картинку в макет через метод рисунки и добавить туда фотку подписи

Аватар пользователя
Ученик

братан короче надо взять ссылку из ФаксимилеПодписи и вставить ее в макет просто на картинку в 1с

Аватар пользователя
Гуру

О, новый способ вывода картинок: просто ткнуть макет носом в ссылку на файл. Ждём, пока 1С телепатию освоит.

Аватар пользователя
Ученик

чел просто возьми так картиночку в 1с рисункок с помощью загрузить из файла потом в макет присвой и всё работай так

Аватар пользователя
Ученик

бро тебе надо вот так взять картинку через ПолучитьОбъектИзФайла и потом через Рисунки.Добавить туда в макет просто дай картинке имя и вперёд на макет выводить будет норм

Аватар пользователя
Знаток

Желаю всем здоровья !!!

Аватар пользователя
Ученик

короче надо так рисунок = новый рисунок из файла(ответственный.факсимилеподписи.ссылка) потом областьмакета.рисунки.факсимилеруководитель = рисунок и табдокумент.вывести(областьмакета) вот и вся магия не заблудись



Видео по теме