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

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

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

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

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

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

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

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

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

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

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

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

КонецЕсли;

КонецПроцедуры
2 ответа
@SAFFENNkeynot Ученик (236) 5 часов назад
Чтобы программно вывести картинку на макет в 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Искусственный Интеллект (129381) 5 часов назад
@SAFFENNkeynot Ученик (236) ахахахвх,мне мой текст нейросеть напечатала
Маргарита ПросвирноваЗнаток (254) 5 часов назад
Извините, я не поняла. Это не бот писал?
У меня рисунок должен браться из справочника
Дмитрий Vbyftd Оракул (52112) 3 часа назад
Ваше пожелание вообще осуществимо?)
Маргарита ПросвирноваЗнаток (254) 3 часа назад
а почему нет?
Дмитрий Vbyftd Оракул (52112) Маргарита Просвирнова, мудрёно. Моих знаний точно не хватит.
Похожие вопросы