Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Разместить картинку в указанную область в табличном документе
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Gigi
Всем привет!
Для ясного понимания начну прямо с конкретным кодом процедуры
&НаСервере
Процедура ВывестиФотоВмакет_Вар2(ТабДок,КартинкаИсточникСсылка) Экспорт
//===================
Макет=Справочники.ТЕСТ_ФотоПодписьВОтчете.ПолучитьМакет("Макет");
//---------------------------------
Шапка = Макет.ПолучитьОбласть("Шапка");
Тело = Макет.ПолучитьОбласть("Тело");
ОбластьКартинки = Макет.ПолучитьОбласть("Подпись_Строка|Подпись_Столбец");
Подвал = Макет.ПолучитьОбласть("Подвал");
//===================
ТабДок.Вывести(Шапка);
ТабДок.Вывести(Тело);
//===================
//ПодписьКартинка=ПолучитьИзХранилищаКартинкиХЗ(КартинкаИсточникСсылка,"Картинка"); // Эта картинка по написанной функции ... из ХЗ
ПодписьКартинка = Новый Картинка("C:\Gigi\*******\Photo.jpg");  /
НовыйРисунок = ОбластьКартинки.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
НовыйРисунок.Картинка = ПодписьКартинка;
НовыйРисунок.Высота = 20;
НовыйРисунок.Ширина = 20;
НовыйРисунок.РазмерКартинки = РазмерКартинки.АвтоРазмер;
НовыйРисунок.ГраницаСверху = Ложь;
НовыйРисунок.ГраницаСлева = Ложь;
НовыйРисунок.ГраницаСправа = Ложь;
НовыйРисунок.ГраницаСнизу = Ложь;
//---------------------------------
//ТабДок.Вывести(Подвал);
ТабДок.Вывести(ОбластьКартинки);
//===================
КонецПроцедуры

Ну ... вообще .. как вывести изображение фото файла в отчет табличного документа с этим нет проблем.
По коду данной процедуры изображение, без проблем, выводиться в отчет.
Вопрос в другом ... в том как это изображение разместить в нужном месте макета.
Че то никак не въеду ... как это сделать ))
Пробовал разные варианты кодинга ... все без толку ... ну никак это "несчастное" )) изображение не встанет там где надо. smile.gif
А всегда отображается по первому столбцу указанной области. Тогда как вроде бы область обозначена... область по строке|область по столбцу ("Подпись_Строка|Подпись_Столбец"). Все равно всегда отображается по первому столбцу.
Что бы не возникали вопросы для чего это нужно, тут же скажу для чего...
Для создания цифровой фото печати и фото подписи в отчете.
Вот для чего.
Короче ... не выезжаю smile.gif ... и опять хочу сэкономить время.
Буду признателен!

Господа... Че то с откликом долго... Ладно...

И еще чуть подкорректировал конечные строки:
Подвал.Параметры.Подпись=НовыйРисунок;
ТабДок.Вывести(Подвал);
//ТабДок.Вывести(ОбластьКартинки);

В таком случае все области на месте но в указанном параметре ячейки вместо изображения вставляет текст сообщения о типе полученного объекта: "РисунокТабличногоДокумента";
Просто нужно что бы изображение точно так же вставлялась как на пример переменная в параметр или шаблон.
Вот как надо... и просто не въеду как это сделать.
Буду признателен!

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

Ладно ... тогда вопрос ... возможно ли сделать так как говорю или нет?
Gigi
Гууу... короче опять весь день в пустую... в поиске ответа на какую ерунду.

Ладно ... понял .. молчание думаю наверно знак не возможности сделать так как надо.
vasyl_dp
Gigi @ Вчера, 13:17 необходимо зарегистрироваться для просмотра ссылки ,
А область Рисунка в нужное место помещали на макете?
Gigi
vasyl_dp @ Сегодня, 12:13 необходимо зарегистрироваться для просмотра ссылки ,
Гууу ... наконец-то дождался хоть одного ответа smile.gif
Господа! Что с Вами?... smile.gif прежде реакция была моментальная... А тут аж со вчерашнего дня... ))))

Цитата(vasyl_dp @ 22.11.18, 12:13) необходимо зарегистрироваться для просмотра ссылки
А область Рисунка в нужное место помещали на макете?

Да нет... в макете нет никакого вставленного рисунка.
Есть только Область "Подвал" и область: "Подпись_Строка|Подпись_Столбец".
Вот все что там есть .. в самом макете.
Просто нужно в месте:
Подвал.Параметры.Подпись
// или
ОбластьКартинки.Параметры.Подпись

ВСТАВИТЬ ИЗОБРАЖЕНИЕ.
То изображение которое получено или из ХЗ или из ЖД.
Вот что нужно.

Просто что бы пользователь сам вставлял изображение на его усмотрение. Без необходимости обращения к программисту.
vasyl_dp
Gigi @ Сегодня, 14:20 необходимо зарегистрироваться для просмотра ссылки ,
все верно для того чтобы изображение было там где вам нужно вставьте макет пустую область Рисунка и программно уже в этот Русунок подкидывайте свое изображение получено откуда угодно.

PS: Если есть доступ к типовой конфигурации Бухгалтерия для Украины редакция 2.0, посмотрите как это реализовано в счете на оплату покупателя та есть печатная форма с печатью и подписью которая изображение которое получается и пользователь может подгружать сам какое захочет в справочник организации подписи)

Цитата(vasyl_dp @ 22.11.18, 17:55) необходимо зарегистрироваться для просмотра ссылки
все верно для того чтобы изображение было там где вам нужно вставьте макет пустую область Рисунка и программно уже в этот Русунок подкидывайте свое изображение получено откуда угодно.

Gigi
vasyl_dp @ Вчера, 18:59 необходимо зарегистрироваться для просмотра ссылки ,
Огромное Вам спасибо ... но я решил сделать по другому ...
Решил просто именовать область, а изображение тупо расположить над этой именованной областью.
И соответственно строки:
Подвал.Параметры.Подпись=НовыйРисунок;
ТабДок.Вывести(Подвал);

Сменил на
ОбластьПодписи = Подвал.Область("Подпись");
НовыйРисунок.Расположить(ОбластьПодписи);
ТабДок.Вывести(Подвал);

И это "злосчастное" изображение наконец встало там где надо.
Вот финальный вариант кода:
&НаСервере
Процедура ВывестиФотоВмакет_Вар2(ТабДок,КартинкаИсточникСсылка) Экспорт
//=================================
Макет=Справочники.ТЕСТ_ФотоПодписьВОтчете.ПолучитьМакет("Макет");
//---------------------------------
Шапка = Макет.ПолучитьОбласть("Шапка");
Тело = Макет.ПолучитьОбласть("Тело");
Подвал = Макет.ПолучитьОбласть("Подвал");
//=================================
ТабДок.Вывести(Шапка);
ТабДок.Вывести(Тело);
//=================================
//ПодписьКартинка=ПолучитьИзХранилищаКартинкиХЗ(КартинкаИсточникСсылка,"Картинка");
ПодписьКартинка = Новый Картинка("C:\************\Photo.jpg");
НовыйРисунок = Подвал.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
НовыйРисунок.Высота = 20;
НовыйРисунок.Ширина = 20;
НовыйРисунок.РазмерКартинки = РазмерКартинки.АвтоРазмер;
НовыйРисунок.ГраницаСверху = Ложь;
НовыйРисунок.ГраницаСлева = Ложь;
НовыйРисунок.ГраницаСправа = Ложь;
НовыйРисунок.ГраницаСнизу = Ложь;
НовыйРисунок.Картинка = ПодписьКартинка;
//---------------------------------
ОбластьПодписи = Подвал.Область("Подпись");
НовыйРисунок.Расположить(ОбластьПодписи);
ТабДок.Вывести(Подвал);
//=================================
КонецПроцедуры

Думаю таким макаром тоже можно .. так что вопрос думаю решен!
Ладно!
Всем спасибо!
Пока!
Gigi
Цитата(vasyl_dp @ 22.11.18, 18:59) необходимо зарегистрироваться для просмотра ссылки
Сообщение отредактировал Vofka - Вчера, 16:04

smile.gifsmile.gif
необходимо зарегистрироваться для просмотра ссылки
Да видел я это изображение smile.gif И создавал пустою картинку. Только вот как вгрузить фото из ХЗ в это самое пустое изображение?
Просто нужен код вставки ... Пытался вклинить разными вариациями ... безуспешно.
Давал имя этому созданному пустому изображению на макете.... на пример именовал ее "КартинкаПодпись"
И дальше что?
Подвал.Рисунки.Добавить(КартинкаИсточникСсылка,"КартинкаПодпись"); // НЕ РАБОТАЕТ... и знаю что кривое косой код .. но слабо знаю ... просто не сталкивался с этим

Короче ... просто не охота долго париться с этой ерундой... и искать в учебнике и шастать по статьям в и-нете. Тем более, что стоят более сложные задачи чем эта какая то ерунда.
Так что, пожалуйста могли бы поконкретнее ... просто скинуть строчку кода, как изображение наконец вставить в эту рамку пустого изображения.
Способ
ОбластьПодписи = Подвал.Область("Подпись");
НовыйРисунок.Расположить(ОбластьПодписи);

Нормальный и тоже подходит, но предложенный просто удобнее.
Так что буду признателен.
Просто строчку кода... и тогда вопрос будет закрыт.
vasyl_dp
Gigi @ 24.11.18, 18:43 необходимо зарегистрироваться для просмотра ссылки ,
как-то так:
ОбластьМакета.Рисунки.Рисунок1.Картинка = Новый Картинка(ВашаКартинка);
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.