Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Поместить картинку в динамически расширающийся макет печатной формы          
Constantus Подменю пользователя
сообщение 20.11.19, 10:27
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую, Форумчане!
1с8.3.12, СП, самопис, УФ.

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

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

Как можно разместить эту картинку поверх макета после того, как ценник будет сформирован? Т.е. сначала получить итоговой ценник, потом разместить картинку и расположить её на макете в зависимости от высоты итогового ценника?

fly Подменю пользователя
сообщение 20.11.19, 11:01
Сообщение #2

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Спасибо сказали: 51 раз
Рейтинг: 48

Constantus @ Сегодня, 11:27 * ,
Область = Макет.ПолучитьОбласть("");

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


что то типо того

Constantus Подменю пользователя
сообщение 20.11.19, 12:21
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

fly @ Сегодня, 15:01 * ,

Красиво, но

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


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

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

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

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


fly Подменю пользователя
сообщение 20.11.19, 12:31
Сообщение #4

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Спасибо сказали: 51 раз
Рейтинг: 48

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

Constantus Подменю пользователя
сообщение 20.11.19, 12:42
Сообщение #5

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Картинку выводит, но после вывода всех:

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

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


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

fly @ Сегодня, 16:31 * ,

так в том и суть, что нужно разместить не в конкретной области, а над всеми областями..., т.е. над областью "ПерваяОбласть" и "Вторая область"... после их вывода на экран...

fly Подменю пользователя
сообщение 20.11.19, 12:56
Сообщение #6

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Спасибо сказали: 51 раз
Рейтинг: 48

Constantus @ Сегодня, 13:42 * ,
Добавьте новую область для картинки.

И выводите её когда хотите, хоть первой, хоть последней, хоть после каждой области.
Или не выводите если не надо на печать.
В область потом добавляете вышеуказанным кодом картинку, или сразу в макете рисуете картинку на области.

sava1 Подменю пользователя
сообщение 20.11.19, 13:00
Сообщение #7

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Цитата(Constantus @ 20.11.19, 12:42) *
после их вывода на экран..


после вывода...
обл = ТабДок.ПолучитьОбласть("R1C1:R1C10");
// а дальше работаем по рисунку...

Constantus Подменю пользователя
сообщение 20.11.19, 14:13
Сообщение #8

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

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

Есть возможность фоновый рисунок не клонировать по всему экрану, а только единыжды?

fly Подменю пользователя
сообщение 20.11.19, 14:45
Сообщение #9

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Спасибо сказали: 51 раз
Рейтинг: 48

Цитата(Constantus @ 20.11.19, 14:13) *
Выкрутился применив фоновый рисунок.

можно уточнить код, что то пару дней назад читал про фоновые рисунки - отложил на потом проверить код,
и найти примеры кода как добавляется.
как раз в тему получается

Constantus Подменю пользователя
сообщение 20.11.19, 17:21
Сообщение #10

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

fly @ Сегодня, 18:45 * ,


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



БиблиотекаКартинок.Кредит - тоже работает

Спасибо сказали: fly,

Constantus Подменю пользователя
сообщение 27.11.19, 16:01
Сообщение #11

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Поторопился...

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


Если Объект.ВозможностьКредитования Тогда    
        ТабДок.ФоноваяКартинка = БиблиотекаКартинок.Кредит;
        ТабДок.ФиксированныйФон = Ложь;    
    КонецЕсли;

fly Подменю пользователя
сообщение 28.11.19, 23:06
Сообщение #12

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Спасибо сказали: 51 раз
Рейтинг: 48

Constantus @ Вчера, 16:01 * ,
Вывод на печать идет через общий модуль и общую форму в базовых конфиурациях, возможно и вашей такой же механизм применен.

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

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 13:12
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!