Имя: Пароль:
1C
1С v8
Картинка в табличном документе - проблема: задвоение изображения.
0 evg61
 
10.06.19
14:34
Уважаемые коллеги! Ещё раз прошу помочь с выводом картинки в печатный документ.

Вот код:
ДокументРезультат.Очистить();
    
Макет = ПолучитьМакет("Макет");

ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка|С1");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьЧертёж1 = Макет.ПолучитьОбласть("Строка|Ч1");
ОбластьЧертёж2 = Макет.ПолучитьОбласть("Строка|Ч2");

ДокументРезультат.Вывести(ОбластьШапка);

Для Каждого СтрокаТЧ Из ТехнологическиеОперации Цикл
    
    ОбластьСтрока.Параметры.НомерСтроки = СтрокаТЧ.НомерСтроки*5;//.СокрЛП(СтрокаТЧ.УчастокПроизводства.Наименование);    
        .............
    ОбластьСтрока.Параметры.Примечание = СтрокаТЧ.Примечание.ТекстПримечания;    
    ДокументРезультат.Вывести(ОбластьСтрока);
    
    Рис1 = ОбластьЧертёж1.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
    Рис1.Картинка = СтрокаТЧ.Чертёж1.Чертёж.Получить();
    ДокументРезультат.Присоединить(ОбластьЧертёж1);
    
    Рис2 = ОбластьЧертёж2.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
    Рис2.Картинка = СтрокаТЧ.Чертёж2.Чертёж.Получить();
    ДокументРезультат.Присоединить(ОбластьЧертёж2);
    
КонецЦикла;    
ДокументРезультат.Вывести(ОбластьПодвал);
ДокументРезультат.Показать();

В строке табличного документа по заданию необходимо обеспечить вывод 2х картинок.
В макете размещаю в каждой области для изображений доп. картинки (Обозначаются как "D9" и "D10"). Без них не выводятся изображения вообще.

Проблемы:
1. В первой области нужная картинка выводилась, но и выводилась дополнительная картинка из макета. Как эту доп. картинку убрать?
2. В соседнюю вторую область выводится только дополнительная картинка из макета. В чём может быть причина?

Код рабочий, а вот как правильно макет настроить?

Спасибо!
1 evg61
 
10.06.19
14:36
А можно ли как то картинку вставить?
2 RomanYS
 
10.06.19
14:45
Если рисунки в макете, то добавлять не надо - изменяй эти D9/D10.
Если добавляешь, то тебе про Расположить() в прошлой ветке писали
3 evg61
 
10.06.19
14:47
Роман, как раз с этим методом у меня не получилось ничего...
4 evg61
 
10.06.19
14:49
А если без этих D9 и D10, что в этом коде не так? Он тоже взят из рекомендованных в и-нете?
5 evg61
 
10.06.19
14:50
последнее предложение  утверждение - пора в отпуск)))
6 RomanYS
 
10.06.19
14:50
(4) так отсутствует Расположить
7 evg61
 
10.06.19
14:56
Роман, понятное дело, если без D9 и D10 то в коде метод расположить не нужен.
Вот и хотелось бы выяснить, что не так в том коде, что применил сейчас?
Опять же повозился с макетом (хотел понять почему в одной области картинка выводится, а в другой нет), сейчас изображения не выводятся. Код не менял. Поэтому и спрашиваю про макет.
8 evg61
 
10.06.19
14:59
В текущем коде у меня изображение чётко вписывалось в область при наличии доп. картинки. Без строчек задающих ширину и высоту изображения. А с этими строчками, но без картиной надо было подгонять изображения по размеру.
9 RomanYS
 
10.06.19
15:03
(7) >> понятное дело, если без D9 и D10 то в коде метод расположить не нужен.
Наоборот: если используешь рисунки макета (D9), то их располагать не надо. Если добаляешь сам - то укажи где его расположить
10 evg61
 
10.06.19
15:07
Что касается применения метода "Расположить"
Рис2.Расположить(ДокументРезультат.Область("Строка|Ч2"));

Тут конфигуратор ругался, не находил "строку"

Рис2.Расположить(ДокументРезультат.Область("R24C6")); - тут не ругался, но и картинку не выводил....

Поэтому так и не понял сам принцип, как правильно надо делать. Везде речь шла о коде, но о макете упоминаний не увидел...
11 evg61
 
10.06.19
15:14
> Наоборот: если используешь рисунки макета (D9), то их располагать не надо. Если добавляешь сам - то укажи где его расположить

Извини, не понял смысл. Если использую их вообще на макете не нужно располагать? Или располагать не нужно в областях, где хочу вывести изображение?
Можешь написать как надо делать? Это искренняя просьба...
12 RomanYS
 
10.06.19
15:20
(10) блин, рисунки ты добавляешь в куске макета (ОбластьЧертёж1), а расположить пытаешься в другом таб. документе (ДокументРезультат).

Рис2.Расположить(ОбластьЧертёж2.Область(1,1));//левая верхняя ячейка куска макета
Естественно до ДокументРезультат.Присоединить
13 RomanYS
 
10.06.19
15:33
+(12) чтобы рисунки не накапливались на куске макета
либо занести ОбластьЧертёж1 = Макет.ПолучитьОбласть("Строка|Ч1") в цикл,
или очищать коллекцию Рисунки в начале цикла,
или замещать картинку при наличии вместо добавления
14 evg61
 
10.06.19
15:37
Роман, спасибо! С выводом всё получилось, с областями запутался....
Насчёт последней рекомендации - обязательно учту, спасибо, ещё раз!)))
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn