Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Вывести в одну таблицу в печатной форме

Вывести в одну таблицу в печатной форме
Я
   yurikmellon2
 
15.10.21 - 13:18
Коллеги, подскажите, плиз. Вроде простая задача, не могу сообразить.
Есть документ с двумя табличными частями "Работы" и "Материалы". Задача вывести значения в этих ТЧ на печатную форму в одну таблицу, но не горизонтально, а рядом.
Не могу понять как правильно присоединить.
Понятно, что нужен цикл по строкам табличных частей
    СтрокиРаботы = Макет.ПолучитьОбласть("Строки|Работы");
    СтрокиМатериалы = Макет.ПолучитьОбласть("Строки|Материалы");
    Ном = 0;
    Для каждого СтрокаРабот Из СсылкаНаОбъект.Работы Цикл
        Ном = Ном + 1;
        СтрокиРаботы.Параметры.КодРаб = СтрокаРабот.Работа.Артикул;
        СтрокиРаботы.Параметры.Работа = СтрокаРабот.Работа.Наименование;
        СтрокиРаботы.Параметры.Стоимость = СтрокаРабот.СуммаВсего;
        ТабДокумент.Вывести(СтрокиРаботы);
    КонецЦикла;

    К = 0;
    Для каждого СтрокаТовары из СсылкаНаОбъект.Товары цикл  
        К = К + 1;      
        СтрокиМатериалы.Параметры.Товар = СтрокаТовары.Номенклатура.Наименование;
        СтрокиМатериалы.Параметры.Кол = СтрокаТовары.Количество;
        СтрокиМатериалы.Параметры.Стоимость = СтрокаТовары.СуммаВсего;
        ТабДокумент.Присоединить(СтрокиМатериалы);
    КонецЦикла;

Как правильно присоединение организовать?

https://i.imgur.com/nZZCAFC.jpg
   Базис
 
1 - 15.10.21 - 13:21
Вывести - это вниз.
Присоединить - это вправо.
   yurikmellon2
 
2 - 15.10.21 - 13:23
(1) да это я понимаю, как правильно в цикле всё это скомпоновать, чтобы вывелось как надо?
   George Wheels
 
3 - 15.10.21 - 13:27
В ТЧ Материалы должна быть ссылка на Работу.
   yurikmellon2
 
4 - 15.10.21 - 13:29
(3) не понял
   George Wheels
 
5 - 15.10.21 - 13:32
(4) Каждый материал относится к конкретной работе?
Или просто вывести две таблицы рядом?
   Kassern
 
6 - 15.10.21 - 13:34
(0) а в чем проблема? Получай нужную область через "<Имя области 1> | <Имя области 2>" ("Строки|Работы") а дальше заполняй и выводи как надо. Хочешь справа, тогда присоединяй.
   Kassern
 
7 - 15.10.21 - 13:35
(0) а вообще прощу сделать запрос с обработкой результата в табдок. А дальше запросом объединить эти 2 таблицы и делов то. Тогда и разбития областей на колонки не потребуется.
   yurikmellon2
 
8 - 15.10.21 - 13:39
(5) нет, просто вывести две таблицы рядом
(6) так и пытаюсь, вы получается
   yurikmellon2
 
9 - 15.10.21 - 13:44
(7) справился. Действительно проще одну таблицу записать в один ТабДок, другую в другой и соединить их.
Примерно так
    ТабДок1 = Новый ТабличныйДокумент();
    ТабДок2 = Новый ТабличныйДокумент();
    СтрокиРаботы = Макет.ПолучитьОбласть("Строки|Работы"); 
    СтрокиМатериалы = Макет.ПолучитьОбласть("Строки|Материалы"); 
    Для каждого СтрокаРабот Из СсылкаНаОбъект.Работы Цикл
        СтрокиРаботы.Параметры.КодРаб = СтрокаРабот.Работа.Артикул;
        СтрокиРаботы.Параметры.Работа = СтрокаРабот.Работа.Наименование;
        СтрокиРаботы.Параметры.Стоимость = СтрокаРабот.СуммаВсего;
        ТабДок1.Вывести(СтрокиРаботы);
    КонецЦикла;
    Для каждого СтрокаТовары из СсылкаНаОбъект.Товары цикл   
        СтрокиМатериалы.Параметры.Товар = СтрокаТовары.Номенклатура.Наименование;
        СтрокиМатериалы.Параметры.Кол = СтрокаТовары.Количество;
            СтрокиМатериалы.Параметры.Стоимость = СтрокаТовары.СуммаВсего;
        ТабДок2.Вывести(СтрокиМатериалы);
    КонецЦикла;
ТабДокумент.Присоединить(ТабДок1);
ТабДокумент.Присоединить(ТабДок2);
   Kassern
 
10 - 15.10.21 - 13:45
(9) я другое имел в виду, ну да ладно)
   yurikmellon2
 
11 - 15.10.21 - 13:53
(10) я понял о чём ты, запросом собрать,  но так проще, как мне кажется
   Kassern
 
12 - 15.10.21 - 13:55
(11) обычно присоединение областей используют, когда количество колонок не статичное. К примеру есть признак, показывать артикул, если стоит то выводить. В вашем случае смысла нет в такой разбивке областей. Если только в одном случае выводятся работы, а в другом материалы.

Список тем форума
 
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.