Почти все программисты 1С сталкиваются с потребностью изменить печатные формы документов типовых конфигураций. Само собой разумеется, что это нужно делать с помощью дополнительных внешних печатных форм.
Как разместить картинку-подпись директора/бухгалтера или печать организации на печатной форме, чтобы она отображалась всегда в нужном месте и была прозрачной?
Для этого можно воспользоваться следующей функцией:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
// Процедура добавляет рисунок в произвольное место табличного документа // Процедура ДобавитьРисунокТабличногоДокумента(ТабДокумент, Картинка, Лево, Верх, ОбластьДляРасположения, Ширина, Высота, Прозрачность=Истина, ОтображатьГраницы=Ложь) Экспорт РисунокПодписьРуководителя = ТабДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); РисунокПодписьРуководителя.Картинка = Картинка; РисунокПодписьРуководителя.Верх = Верх; РисунокПодписьРуководителя.Лево = Лево; РисунокПодписьРуководителя.ГраницаСверху = ОтображатьГраницы; РисунокПодписьРуководителя.ГраницаСлева = ОтображатьГраницы; РисунокПодписьРуководителя.ГраницаСправа = ОтображатьГраницы; РисунокПодписьРуководителя.ГраницаСнизу = ОтображатьГраницы; Если Прозрачность Тогда РисунокПодписьРуководителя.Узор = ТипУзораТабличногоДокумента.БезУзора; КонецЕсли; РисунокПодписьРуководителя.Расположить(ОбластьДляРасположения); РисунокПодписьРуководителя.Высота = Высота; РисунокПодписьРуководителя.Ширина = Ширина; КонецПроцедуры |
Пример вызова метода из кода:
1 2 3 4 5 6 7 8 9 10 11 12 |
// создаём опорную область в табличном документе. Прикрепление картинки будет // производиться к этой области. ОбластьПечатьОрганизации = ТабДокумент.Области.ПечатьОрганизации; // ПечатьОрганизации - объект типа "Картинка", сформирован предварительно. ms_КонтактнаяИнформацияСервер.ДобавитьРисунокТабличногоДокумента(ТабДокумент, ПечатьОрганизации, 0, 0, ОбластьПечатьОрганизации, 45, 45); |
Данный код позволяет вывести картинку без видимых границ и с прозрачным фоном. Конечно же, фон картинки должен быть предварительно сделан прозрачным в графическом редакторе. Основной нюанс, как вывести картинку с прозрачным фоном — это использование свойства РисункаТабличногоДокумента
1 |
РисунокПодписьРуководителя.Узор = ТипУзораТабличногоДокумента.БезУзора; |