Top.Mail.Ru
Full-time, 5/2
Формат: удаленный
Вакансия «1С-программист»

Нельзя так просто взять и удалить фоновый рисунок!

Как в случае отсутствия согласования по документу выводить печатные формы с водяным знаком «не для печати, отправьте документ на согласование»? Такая задача стояла передо мной на одном из проектов.

Первые рассуждения по реализации наводят тоску: это же надо в каждую печатную форму картинку добавить на задний план. А потом как макеты править, если доработка через расширение? Это еще и не всегда получится сделать нормально: там могут свои картинки.

Надо кошку покормить.

А может, получится программно добавить картинку? Надо поискать реализации. Факсимиле же выводится! Но там тоже отдельный макет вроде….

И кота тоже покормить.

А самое печальное, что если пользователь захочет, и у него есть доступ к редактированию ПФ, то он просто возьмет и удалит эту картинку.

Пойду поем.

Изображение выглядит как одежда, Человеческое лицо, мультфильм, дверь

Содержимое, созданное искусственным интеллектом, может быть неверным.

Это слишком сложно для такой простой задачи. Должен быть способ проще! И в ходе анализа и проб приходим к решению, которое размещаем в процедуре УправлениеПечатьюЛокализация.ДобавитьФоновыйРисунокДляНесогласованныхДокументов и, если опустить все условия согласования, выглядит так:

ВодянойЗнак = УправлениеПечатью.МакетПечатнойФормы("ОбщийМакет.ФоновыйРисунокНеДляПечати").Рисунки.ВодянойЗнак.Картинка;  
ТабДокумент.ФоноваяКартинка = ВодянойЗнак;	

Где ВодянойЗнак – это название рисунка в общем макете:

Общий макет

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

При печати

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

Предпросмотр

В таком же виде ПФ сохраняется в PDF формате. Бинго!

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

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar