Версия для печати темы (https://pro1c.org.ua/index.php?s=b3fff78706772aad2419634d7e1f1c4c&showtopic=49020)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Разместить картинку в указанную область в табличном документе

Автор: Gigi 21.11.18, 13:17

Всем привет!
Для ясного понимания начну прямо с конкретным кодом процедуры

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

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

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

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

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

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

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

Автор: Gigi 21.11.18, 15:05

Гууу... короче опять весь день в пустую... в поиске ответа на какую ерунду.

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

Автор: vasyl_dp 22.11.18, 11:13

Gigi @ Вчера, 13:17 * ,
А область Рисунка в нужное место помещали на макете?

Автор: Gigi 22.11.18, 14:20

vasyl_dp @ Сегодня, 12:13 * ,

Гууу ... наконец-то дождался хоть одного ответа smile.gif
Господа! Что с Вами?... smile.gif прежде реакция была моментальная... А тут аж со вчерашнего дня... ))))

Цитата(vasyl_dp @ 22.11.18, 12:13) *
А область Рисунка в нужное место помещали на макете?

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

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

Просто что бы пользователь сам вставлял изображение на его усмотрение. Без необходимости обращения к программисту.

Автор: vasyl_dp 22.11.18, 17:59

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

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

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


Автор: Gigi 23.11.18, 14:45

vasyl_dp @ Вчера, 18:59 * ,
Огромное Вам спасибо ... но я решил сделать по другому ...
Решил просто именовать область, а изображение тупо расположить над этой именованной областью.
И соответственно строки:

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

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

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

Думаю таким макаром тоже можно .. так что вопрос думаю решен!
Ладно!
Всем спасибо!
Пока!

Автор: Gigi 24.11.18, 18:43

Цитата(vasyl_dp @ 22.11.18, 18:59) *
Сообщение отредактировал Vofka - Вчера, 16:04

smile.gifsmile.gif
http://pro1c.org.ua/redirect.php?https://picua.org/image/25-11-2018-192037.av56oF
Да видел я это изображение smile.gif И создавал пустою картинку. Только вот как вгрузить фото из ХЗ в это самое пустое изображение?
Просто нужен код вставки ... Пытался вклинить разными вариациями ... безуспешно.
Давал имя этому созданному пустому изображению на макете.... на пример именовал ее "КартинкаПодпись"
И дальше что?
Подвал.Рисунки.Добавить(КартинкаИсточникСсылка,"КартинкаПодпись"); // НЕ РАБОТАЕТ... и знаю что кривое косой код .. но слабо знаю ... просто не сталкивался с этим

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

Нормальный и тоже подходит, но предложенный просто удобнее.
Так что буду признателен.
Просто строчку кода... и тогда вопрос будет закрыт.

Автор: vasyl_dp 28.12.18, 17:03

Gigi @ 24.11.18, 18:43 * ,
как-то так:
ОбластьМакета.Рисунки.Рисунок1.Картинка = Новый Картинка(ВашаКартинка);

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua