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