Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Маргарита Просвирнова Знаток (255), на голосовании 2 дня назад
Товарищи, добрый день.
Помогите пожалуйста. В интернете приличных вариантов не нашла.
В справочнике ФизическиеЛица у каждого сотрудника есть картинка с подписью.
Мне нужно в обработке на печатную форму вывести картинку с подписью определенного сотрудника.
Код обработке большой, поэтому кусочки. Я получаю через запрос сотрудника (Ответственный) и ссылку на подпись (не уверена, что правильно):

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

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

Не понимаю, как вывести картинку. Буду очень благодарна за помощь.
Дополнен 1 месяц назад
&НаКлиенте
Процедура АдресФаксимилеПодписиНажатие(Элемент, СтандартнаяОбработка)

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

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

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

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

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

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

КонецЕсли;

КонецПроцедуры
Голосование за лучший ответ
не званный Знаток (355) 1 месяц назад
Чтобы программно вывести картинку на макет в 1С, можно использовать встроенный язык. Пример кода, который создаёт объект «Рисунок» и загружает файл, а затем помещает его в макет:
// Создайте объект «Рисунок» и загрузите файл [1]( https://dzen.ru/a/Z7ztYy4AgD_x6_oX )
Рисунок = Новый Рисунок; [1]( https://dzen.ru/a/Z7ztYy4AgD_x6_oX )
Рисунок.Загрузить("C:\logo.png"); [1]( https://dzen.ru/a/Z7ztYy4AgD_x6_oX )
// Поместите его в макет [1]( https://dzen.ru/a/Z7ztYy4AgD_x6_oX )
ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); [1]( https://dzen.ru/a/Z7ztYy4AgD_x6_oX )
ОбластьМакета.Параметры.Логотип = Рисунок; [1]( https://dzen.ru/a/Z7ztYy4AgD_x6_oX )
Если изображение не отображается, стоит проверить корректность пути к файлу или реквизиту, наличие изображения в базе (для динамических) и настройки печати (иногда изображения скрыты в определённых режимах)
поставь лайк плиз мне за него балы дают
DKИскусственный Интеллект (129714) 1 месяц назад
не званный Знаток (355) ахахахвх,мне мой текст нейросеть напечатала
Маргарита ПросвирноваЗнаток (255) 1 месяц назад
Извините, я не поняла. Это не бот писал?
У меня рисунок должен браться из справочника
Дмитрий Vbyftd Оракул (59322) 1 месяц назад
Ваше пожелание вообще осуществимо?)
Маргарита ПросвирноваЗнаток (255) 1 месяц назад
а почему нет?
Дмитрий Vbyftd Оракул (59322) Маргарита Просвирнова, мудрёно. Моих знаний точно не хватит.
Ардаш Малов Гуру (2609) 1 месяц назад
чтобы вывести картинку подписи в 1с нужно получить данные файла и вставить в макет через свойство рисунка
Глеб Кочергин Мастер (2200) 1 месяц назад
попробуй так рисункы.факсимилеруководитель = получитьизображение(факсимилеподписи) и там дальше печать
Никита Дёмин Мастер (1662) 4 недели назад
чё там с картинкой она должна быть в макете или как вроде через рисунк кусок можно вставить
Abe Nunley Знаток (455) 3 недели назад
короче надо так рисунок = новый рисунок из файла(ответственный.факсимилеподписи.ссылка) потом областьмакета.рисунки.факсимилеруководитель = рисунок и табдокумент.вывести(областьмакета) вот и вся магия не заблудись
Samual Bristol Профи (761) 3 недели назад
бро тебе надо вот так взять картинку через ПолучитьОбъектИзФайла и потом через Рисунки.Добавить туда в макет просто дай картинке имя и вперёд на макет выводить будет норм
Roman Mukai Знаток (350) 3 недели назад
чел просто возьми так картиночку в 1с рисункок с помощью загрузить из файла потом в макет присвой и всё работай так
PS Просветленный (23741) 3 недели назад
О, новый способ вывода картинок: просто ткнуть макет носом в ссылку на файл. Ждём, пока 1С телепатию освоит.
Александр Гущин Мастер (1946) 3 недели назад
братан короче надо взять ссылку из ФаксимилеПодписи и вставить ее в макет просто на картинку в 1с
Самир Дегтярев Мастер (2065) 3 недели назад
чо за вопрос короче нужно вставить картинку в макет через метод рисунки и добавить туда фотку подписи
Aslan 32237 Ученик (228) 3 недели назад
Ошибка возникает потому, что компилятор не находит метод MyForm_Load внутри класса kalkulator::MyForm. Это значит, что либо этот метод отсутствует вообще, либо объявлен неправильно.

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