Вставить прозрачную картинку поверх печатной формы

1. user8734 22.05.19 06:32 Сейчас в теме
Добрый день! Есть необходимость накладывать на печатные формы прозрачную картинку с какой-либо надписью (рандомный пример в приложении) поверх документа. Подскажите пожалуйста, как это можно организовать. Пытался сделать двумя способами:

1) Вставить программным кодом, но тогда картинка раздвигает документ, а не накладывается поверх документа.
2) Если вставить картинку в макет, то для ее вывода нужно вывести сам общий макет (а печатная форма строится по областям). В областях эта картинка не фигурирует.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
7. user8734 24.05.19 05:03 Сейчас в теме
Всем спасибо за помощь, но покопавшись сегодня около 40 минут с данной задачей нашел максимально простой способ. Собственно это и был мой первый вариант, единственное надо было поменять последовательность действий. Т.е. сначала сформировать печатную форму, а потом распологать нужные фрагменты с жестко привязанными координатами ячеек. Тогда наша картинка и что-либо другое ложится поверх основной формы.

Мои действия в итоге были такими:

1) Создал в табличном документе такой объект как "Текст" (Таблица > Рисунки > Текст);
2) В свойствах объекта удаляем цвет фона (нажав крестик), и у нас получится надпись с прозрачным фоном;
3) Оформил шрифт и цвет текста и установил наклон (всё в свойствах объекта)
4) После формирования табличного документа написал следующий код:
Если Макет.Рисунки.Количество() Тогда
		Рисунок = Макет.Рисунки.D1;
		НоваяКартинка = ТабДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст);
		ЗаполнитьЗначенияСвойств(НоваяКартинка, Рисунок);
		НоваяКартинка.Текст = "ДЛЯ ОТБОРКИ НА СКЛАД"; // Текст почему-то не переносится
		ТабДокумент.Рисунки[0].Расположить(ТабДокумент.Область("R1C1:R" + Строка(ТабДокумент.ВысотаТаблицы) + "C" + 
                Строка(ТабДокумент.ШиринаТаблицы)));
КонецЕсли;
Показать


Как я уже говорил, наш рисунок привязывается к макету, а не к отдельной области, поэтому достаем оттуда наш рисунок и добавляем его в табличный документ.
Дальше, через функцию расположить устанавливаем его с начала листа и до размеров печатной формы. И теперь наш рисунок встает поверх печатной формы в прозрачном виде (см. прил). Как собственно я и хотел. Поэтому оставляю это здесь, вдруг кому-нибудь пригодится.
Прикрепленные файлы:
user1569091; MishaHD; user673283_plusershova; hectordempf; +4 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ZergKRSK 129 22.05.19 07:01 Сейчас в теме
(1) наверное вариант 1 и смотреть свойства/методы картинки?
3. alex-l19041 8 22.05.19 15:13 Сейчас в теме
(1)
пример в приложении
- такие возможности есть у графических редакторов (да и то не во всех )...
4. SlavaKron 22.05.19 15:40 Сейчас в теме
(3) Интерактивно всё получается, значит и программно возможно.
Прикрепленные файлы:
5. alex-l19041 8 22.05.19 15:58 Сейчас в теме
(4) не вижу эффекта полупрозрачности верхней картинки...
6. SlavaKron 22.05.19 16:03 Сейчас в теме
(5) "Верхняя" - это какая?
7. user8734 24.05.19 05:03 Сейчас в теме
Всем спасибо за помощь, но покопавшись сегодня около 40 минут с данной задачей нашел максимально простой способ. Собственно это и был мой первый вариант, единственное надо было поменять последовательность действий. Т.е. сначала сформировать печатную форму, а потом распологать нужные фрагменты с жестко привязанными координатами ячеек. Тогда наша картинка и что-либо другое ложится поверх основной формы.

Мои действия в итоге были такими:

1) Создал в табличном документе такой объект как "Текст" (Таблица > Рисунки > Текст);
2) В свойствах объекта удаляем цвет фона (нажав крестик), и у нас получится надпись с прозрачным фоном;
3) Оформил шрифт и цвет текста и установил наклон (всё в свойствах объекта)
4) После формирования табличного документа написал следующий код:
Если Макет.Рисунки.Количество() Тогда
		Рисунок = Макет.Рисунки.D1;
		НоваяКартинка = ТабДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст);
		ЗаполнитьЗначенияСвойств(НоваяКартинка, Рисунок);
		НоваяКартинка.Текст = "ДЛЯ ОТБОРКИ НА СКЛАД"; // Текст почему-то не переносится
		ТабДокумент.Рисунки[0].Расположить(ТабДокумент.Область("R1C1:R" + Строка(ТабДокумент.ВысотаТаблицы) + "C" + 
                Строка(ТабДокумент.ШиринаТаблицы)));
КонецЕсли;
Показать


Как я уже говорил, наш рисунок привязывается к макету, а не к отдельной области, поэтому достаем оттуда наш рисунок и добавляем его в табличный документ.
Дальше, через функцию расположить устанавливаем его с начала листа и до размеров печатной формы. И теперь наш рисунок встает поверх печатной формы в прозрачном виде (см. прил). Как собственно я и хотел. Поэтому оставляю это здесь, вдруг кому-нибудь пригодится.
Прикрепленные файлы:
user1569091; MishaHD; user673283_plusershova; hectordempf; +4 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот