Нельзя так просто взять и удалить фоновый рисунок!
Как в случае отсутствия согласования по документу выводить печатные формы с водяным знаком «не для печати, отправьте документ на согласование»? Такая задача стояла передо мной на одном из проектов.
Первые рассуждения по реализации наводят тоску: это же надо в каждую печатную форму картинку добавить на задний план. А потом как макеты править, если доработка через расширение? Это еще и не всегда получится сделать нормально: там могут свои картинки.
Надо кошку покормить.
А может, получится программно добавить картинку? Надо поискать реализации. Факсимиле же выводится! Но там тоже отдельный макет вроде….
И кота тоже покормить.
А самое печальное, что если пользователь захочет, и у него есть доступ к редактированию ПФ, то он просто возьмет и удалит эту картинку.
Пойду поем.

Это слишком сложно для такой простой задачи. Должен быть способ проще! И в ходе анализа и проб приходим к решению, которое размещаем в процедуре УправлениеПечатьюЛокализация.ДобавитьФоновыйРисунокДляНесогласованныхДокументов и, если опустить все условия согласования, выглядит так:
ВодянойЗнак = УправлениеПечатью.МакетПечатнойФормы("ОбщийМакет.ФоновыйРисунокНеДляПечати").Рисунки.ВодянойЗнак.Картинка;
ТабДокумент.ФоноваяКартинка = ВодянойЗнак;
Где ВодянойЗнак – это название рисунка в общем макете:

В итоге при печати имеем это:

На предпросмотре – вот это. Сам фоновый рисунок обрезается: это связано с областью печать, но для нашей реализации некритично.

В таком же виде ПФ сохраняется в PDF формате. Бинго!
P.S. Иногда задача перерастает в «Нельзя так просто взять и добавить фоновый рисунок», т.к. при определенных условиях вышеописанная реализация может отработать не так как хочется, но мы с ними не столкнулась, чего и вам желаем.

Comments
So empty here ... leave a comment!