Имя: Пароль:
1C
1С v8
Картинка в макете
,
0 an_str
 
30.07.13
08:28
Здравствуйте, подскажите, пожалуйста! уже вся измучилась( Задача: вывести картинку в макет (план квартиры) а справа от нее таблицу. Что имею сейчас:

        ТабДок = Новый ТабличныйДокумент;
    
    Макет = ПолучитьМакет("_2619");
    ......

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

    //Сформируем заголовок таблицы
    Если ОбъектПечати <> Неопределено Тогда
        ОбластьЗаголовок.Параметры.НомерДоговора = СокрЛП(ОбъектПечати.Наименование)+" от "+Формат(ОбъектПечати.Дата, "ДЛФ=Д")+" г. ";
    КонецЕсли;
    
    ОбластьЗаголовок.Параметры.ПроектныйНомер = Формат(Помещение.ПроектныйНомер, "ЧГ=0");
    
    ТабДок.Вывести(ОбластьЗаголовок);   // Выводим заголовок макета

    Попытка    // Выводим каринку
        ПланКвартиры = ПолучитьПланКвартиры(Помещение);
        Картинка= ПланКвартиры.Картинка.Получить();
        
        Если ЗначениеЗаполнено(Картинка) Тогда
            Область = Макет.ПолучитьОбласть("ШапкаОтделки|План");
            Рисунок = Область.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
            Рисунок.Верх = 5;
            Рисунок.Высота = 100;
            Рисунок.Ширина = 100;
            Рисунок.Лево = 5;
            Рисунок.Картинка = Картинка;
            Рисунок.РазмерКартинки = РазмерКартинки.АвтоРазмер;
            Рисунок.ГраницаСверху=Ложь;
            Рисунок.ГраницаСлева=Ложь;
            Рисунок.ГраницаСнизу=Ложь;
            Рисунок.ГраницаСправа=Ложь;
        КонецЕсли;
        ТабДок.Вывести(Область);

    Исключение
    КонецПопытки;
    
        ОбластьШапкаОтделки = Макет.ПолучитьОбласть("ШапкаОтделки|Отделка");
        ОбластьСтрОтделки = Макет.ПолучитьОбласть("СтрокаОтделки|План");
    ТабДок.Присоединить(ОбластьШапкаОтделки);   // Выводим шапку таблицы сбоку от картинки
        Для каждого СтрПомещение Из МассивКолонок Цикл
        ОбластьСтрокаОтделки.Параметры.Помещение = СтрПомещение;
        ЦветУстановлен=Ложь;
        Для каждого стр из ТаблицаОтделки Цикл
            Если стр.ТипПлощади = СтрПомещение И стр.Использование Тогда
                ОбластьСтрокаОтделки.Параметры.Цвет = стр.Уровень2;
                ЦветУстановлен=истина;
            КонецЕсли;
        КонецЦикла;
        Если Не ЦветУстановлен Тогда
            ОбластьСтрокаОтделки.Параметры.Цвет ="";
        КонецЕсли;
        ТабДок.Вывести(ОбластьСтрОтделки);

    ТабДок.Присоединить(ОбластьСтрокаОтделки); // выводим строки таблицы
    КонецЦикла;


    ТабДок.ОриентацияСтраницы=ОриентацияСтраницы.Ландшафт;
    Возврат ТабДок;


Имеем в итоге следующую картину: картинка выводится, справа к ней присоединяется шапка таблицы (это все хорошо), а вот строки таблицы выводятся уже под картинкой((( Может у кого какие примеры есть?
1 GenV
 
30.07.13
08:34
(0) Если у тебя строки выводятся хоть и снизу, но картинку не перекрывают (т.е. правильно пустую область выводишь), то попробуй сначала вывести все строки, а затем вывести картинку.
2 an_str
 
30.07.13
08:39
Если картинку вывести после, она выводится под таблицей и слева никак не хочет вставать(
3 Бледно Золотистый
 
30.07.13
08:44
(0) В отдельном табдоке собери всю таблицу, а потом присоединяй к картинке.
4 Галахад
 
гуру
30.07.13
08:45
Вот это зачем:

ТабДок.Вывести(ОбластьСтрОтделки);
5 GenV
 
30.07.13
08:46
(2) Попробуй картинку не к области макета добавлять, а к конечному таб. документу.
6 an_str
 
30.07.13
08:52
(4) Это выводится область ОбластьСтрОтделки = Макет.ПолучитьОбласть("СтрокаОтделки|План");
получается как бы пустая строка а к ней присоединяется строка таблицы
7 an_str
 
30.07.13
08:53
(5) а как ее к конечному табдоку добавить? я всегда только области выводила. Можно пример?
8 GenV
 
30.07.13
09:02
(7) ТабДок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка)?
9 an_str
 
30.07.13
09:11
(8) картинка поднялась вверх, но залезла на заголовок(
10 an_str
 
30.07.13
09:11
(8) может как-то можно ей указать явно в какую ячейку надо встать?
11 Галахад
 
гуру
30.07.13
09:13
Рисунок = ТабДок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Индекс=ТабДок.Рисунки.Индекс(Рисунок);
ТабДок.Рисунки[Индекс].Картинка = МояКартинка;
ТабДок.Рисунки[Индекс].Расположить(ТабДок.Область("R1C1:R4C4"));
12 an_str
 
30.07.13
09:16
GenV и Галахад СПАСИБО!!! огромное!!!!!!!!! получилось! столько времени на эту ерунду убила. Буду знать и грызть гранит науки дальше) еще раз спасибо всем за помощь