|
Как вывести 2 табдока в один или Присоединить() | ☑ | ||
---|---|---|---|---|
0
Baf
23.11.15
✎
10:53
|
Прошу помощи. Начала осваивать метод Присоединить() и ничего понять не могу.
есть макет, который должен выводить шапку таблицы и 2 абсолютно разные колонки, группировка у каждой колонки своя. пыталась вывести с присоединить() не получается первую колонку вывожу без проблем, а вторая либо внизу после первой выводится, либо в последней строке первой колонки и все данные присоединяет в строчку. почитала что кто то умудряется выводить данные в разные табдоки потом в общем соединять, подскажите, с примером, как это можно сделать? структура такая: шапка Колонка 1 (табдок1) | Колонка 2 (табдок2) |
|||
1
Baf
23.11.15
✎
10:57
|
если присоединять в цикле вывода первой колонки, так не получится, потому что, у меня разное кол-во строк для вывода. общий запрос не получится сделать, т.к. сгруппировать их нечем, ну а скд выводит по 2 строчки. короче запуталась, помогите.
|
|||
2
Baf
23.11.15
✎
11:53
|
народ, ау, неужели никто не присоединял область?
|
|||
3
Nuobu
23.11.15
✎
11:57
|
Он так и должен работать.
Колонку так, как Вы хотите, присоединить нельзя. Только построчно. |
|||
4
Baf
23.11.15
✎
12:18
|
а табдоками получится?
|
|||
5
Nuobu
23.11.15
✎
12:21
|
(4) Нет.
|
|||
6
Zmich
23.11.15
✎
12:23
|
(4). Высота строк у табдоков может быть разная, есть и другие нюансы, поэтому такая идея не осуществима. Сделай общий макет из объединенных и выводи построчно. Если проблемы с собиранием данных из разных запросов, создай таблицу значений с нужными колонками, заполни ее на основании своих данных, а потом уже выведи нужное в общий макет построчно.
|
|||
7
Nuobu
23.11.15
✎
12:26
|
(6) + можешь попробовать определить, где больше записей и пробежаться по выборке с помощью Получить();
|
|||
8
Baf
23.11.15
✎
12:27
|
а примеры можно
|
|||
9
ptiz
23.11.15
✎
12:29
|
.Присоединить() сработает, если количество строк в ранее выведенной и новой области - одинаковое.
|
|||
10
Гёдза
23.11.15
✎
12:33
|
Обход двух массивов за 1 проход - не такая уж и сложная задача
|
|||
11
palpetrovich
23.11.15
✎
13:30
|
выгружаешь результаты в две ТЗ, определяешь какая "длинее", к примеру ТЗ1, далее примерно так:
Для стр=1 По ТЗ1.КоличествоСтрок() Цикл Таб.Вывести(); Если стр <= ТЗ2.КоличествоСтрок() Тогда ТЗ2.ПолучитьСтрокуПоНомеру(стр); Таб.ПрисоединитьСекцию(); КонецЕсли; КонецЦикла; |
|||
12
SeregaMW
23.11.15
✎
16:22
|
Вот так
Запрос2 = Новый Запрос; Запрос2.Текст="ВЫБРАТЬ | ТЗ.* |ПОМЕСТИТЬ ТЗ |ИЗ | &ТЗ КАК ТЗ |; | //////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СкидкиПоУсловию.* |ПОМЕСТИТЬ СкидкиПоУсловию |ИЗ | &СкидкиПоУсловию КАК СкидкиПоУсловию |; | //////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТЗ.* |ИЗ | ТЗ КАК ТЗ | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | СкидкиПоУсловию.* |ИЗ | СкидкиПоУсловию КАК СкидкиПоУсловию"; Запрос2.УстановитьПараметр("ТЗ", ТЗ); Запрос2.УстановитьПараметр("СкидкиПоУсловию", СкидкиПоУсловию); СкидкиПоУсловию = Запрос2.Выполнить().Выгрузить(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |