Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Поместить картинку в динамически расширающийся макет печатной формы
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Constantus
Приветствую, Форумчане!
1с8.3.12, СП, самопис, УФ.

Пытаюсь сотворить ценник. В макете есть 2-е области, которые динамически расширяются в зависимости от количества данных заполнения (от 1 до много строк).

Имеется картинка "Кредит", которая должна появится на ценнике в зависимости от того, можно или нет оформить кредит (на форме галочка).

Как можно разместить эту картинку поверх макета после того, как ценник будет сформирован? Т.е. сначала получить итоговой ценник, потом разместить картинку и расположить её на макете в зависимости от высоты итогового ценника?
fly
Constantus @ Сегодня, 11:27 необходимо зарегистрироваться для просмотра ссылки ,
Область = Макет.ПолучитьОбласть("");

Рисунок = Область.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
// указываете размещение и размеры рисунка
Рисунок.Лево =;
Рисунок.Верх=;
Рисунок.Ширина=;....
// указываете непосредственно картинку из нового элемента картинка или библиотеки
Карт = ......
Рисунок.Картинка = Карт;
// выводите область на печать
ТабДок.Вывести(Область);


что то типо того
Constantus
fly @ Сегодня, 15:01 необходимо зарегистрироваться для просмотра ссылки ,

Красиво, но

Область = Макет.ПолучитьОбласть("");


Область не найдена...

У меня 3-и наименованные области... Может есть смысл как-то поиграться с получением области в формате R12C1:R14C3

R12 - начало первой области

R14 - начало второй области

fly
Constantus @ Сегодня, 13:21 необходимо зарегистрироваться для просмотра ссылки ,
"" - имеется ввиду вставить "ИмяОбласти"
к примеру
Макет.ПолучитьОбласть("Шапка")
Constantus
Картинку выводит, но после вывода всех:

    ОбластьЦена     = Макет.ПолучитьОбласть("Цена");
    ОбластьЦена.Параметры.ЦенаКомплекта = Формат(Объект.ЦенаКомплекта, "ЧЦ=15; ЧДЦ=2");
    ТабДок.Вывести(ОбластьЦена);
    
    Область = Макет.ПолучитьОбласть(5,1,14,3);

Рисунок = Область.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
// указываете размещение и размеры рисунка
Рисунок.Лево =12;
Рисунок.Верх=0;
Рисунок.Ширина=40;
Рисунок.Высота=30;
// указываете непосредственно картинку из нового элемента картинка или библиотеки
Карт = БиблиотекаКартинок.Ретушь;
Рисунок.Картинка = Карт;
// выводите область на печать
ТабДок.Вывести(Область);
    
Возврат ТабДок;


Можно ли как-то вверх поднять над всем макетом?

fly @ Сегодня, 16:31 необходимо зарегистрироваться для просмотра ссылки ,

так в том и суть, что нужно разместить не в конкретной области, а над всеми областями..., т.е. над областью "ПерваяОбласть" и "Вторая область"... после их вывода на экран...
fly
Constantus @ Сегодня, 13:42 необходимо зарегистрироваться для просмотра ссылки ,
Добавьте новую область для картинки.

И выводите её когда хотите, хоть первой, хоть последней, хоть после каждой области.
Или не выводите если не надо на печать.
В область потом добавляете вышеуказанным кодом картинку, или сразу в макете рисуете картинку на области.
sava1
Цитата(Constantus @ 20.11.19, 12:42) необходимо зарегистрироваться для просмотра ссылки
после их вывода на экран..


после вывода...
обл = ТабДок.ПолучитьОбласть("R1C1:R1C10");
// а дальше работаем по рисунку...
Constantus
Выкрутился применив фоновый рисунок. Правда фоновый рисунок пришлось расширить границы рисунка до невозможного, иначе изображение клонируется на экране.

Есть возможность фоновый рисунок не клонировать по всему экрану, а только единыжды?
fly
Цитата(Constantus @ 20.11.19, 14:13) необходимо зарегистрироваться для просмотра ссылки
Выкрутился применив фоновый рисунок.

можно уточнить код, что то пару дней назад читал про фоновые рисунки - отложил на потом проверить код,
и найти примеры кода как добавляется.
как раз в тему получается
Constantus
fly @ Сегодня, 18:45 необходимо зарегистрироваться для просмотра ссылки ,


    Если Объект.ВозможностьКредитования Тогда    
        ТабДок.ФоноваяКартинка = Новый Картинка("D:\Кредит01.bmp");// БиблиотекаКартинок.Кредит;
        ТабДок.ФиксированныйФон = Ложь;    
    КонецЕсли;



БиблиотекаКартинок.Кредит - тоже работает
Constantus
Поторопился...

При предварительном просмотре фоновая картинка выходит, но на печать нет... Как фоновую картинку заставить распечатываться?


Если Объект.ВозможностьКредитования Тогда    
        ТабДок.ФоноваяКартинка = БиблиотекаКартинок.Кредит;
        ТабДок.ФиксированныйФон = Ложь;    
    КонецЕсли;
fly
Constantus @ Вчера, 16:01 необходимо зарегистрироваться для просмотра ссылки ,
Вывод на печать идет через общий модуль и общую форму в базовых конфиурациях, возможно и вашей такой же механизм применен.

Для конфигурации УТП можно:
1. В общем модуле УниверсальныеМеханизмы.НапечататьДокумент() добавляем фон к макету
Например ПечДокумент.ФоноваяКартинка = КартинкаФона
Это сработает при непосредственной печати.
Имя картинки можно передать в процедуру как параметр.
2. В общей форме ПечатьДокументов в процедуре ПриОткрытии() добавляем строку
ЭлементыФормы.ПолеТабличногоДокумента.ФоноваяКартинка = ПечатныйДокумент.ФоноваяКартинка
И вот тогда вроде работает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.