|
Вопрос о простейшем запросе | ☑ | ||
---|---|---|---|---|
0
Knowledge
19.01.13
✎
19:53
|
Что-то туплю немного. Нужно сделать простую вещь: вывести запросом список контрагентов с их договарами.
Вот код ниже делает это. Прошу не принимать во внимание логику запроса - меня интересует вывод результатов. Что- то подсказывает мне, что можно сделать по- другому. После работы этого кода появляются лишние строки типа «ТипЗаписиЗапроса.ИтогПоИерархии» дублирующие итоги по группировке- их надо фильтровать. Меня интересует можно ли заменить чем- то строки: «|ИТОГИ ПО Контрагент ИЕРАРХИЯ,Договор ИЕРАРХИЯ АВТОУПОРЯДОЧИВАНИЕ»;. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Контрагенты.Ссылка КАК Контрагент, | ДоговорыКонтрагентов.Ссылка КАК Договор |ИЗ | Справочник.Контрагенты КАК Контрагенты |ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов |ПО Контрагенты.Ссылка = ДоговорыКонтрагентов.Владелец |ИТОГИ ПО | Контрагент ИЕРАРХИЯ, | Договор ИЕРАРХИЯ |АВТОУПОРЯДОЧИВАНИЕ"; Результат = Запрос.Выполнить(); ТипОбхода = ОбходРезультатаЗапроса .ПоГруппировкам; ВыборкаКонтрагент = Результат.Выбрать(ТипОбхода); Пока ВыборкаКонтрагент.Следующий() Цикл ТипЗаписиКонтрагент = ВыборкаКонтрагент.ТипЗаписи(); Если ТипЗаписиКонтрагент=ТипЗаписиЗапроса.ИтогПоИерархии Тогда Продолжить КонецЕсли; ТабДок.Вывести(ОбластьКонтрагент); ….. ВыборкаДоговор = ВыборкаКонтрагент.Выбрать(ТипОбхода); Пока ВыборкаДоговор.Следующий() Цикл ТабДок.Вывести(ОбластьДоговор); …… КонецЦикла; КонецЦикла; |
|||
1
Wobland
19.01.13
✎
20:02
|
ИТОГИ ПО Контрагент?
|
|||
2
Knowledge
19.01.13
✎
20:06
|
(1)«|ИТОГИ ПО Контрагент ИЕРАРХИЯ , Договор ИЕРАРХИЯ АВТОУПОРЯДОЧИВАНИЕ»;
определяют вывод иерархического списка. Собственно в этом и вопрос можно ли их заменить чем- то другим. |
|||
3
Wobland
19.01.13
✎
20:07
|
(2) это техническое любопытство, или ты разрешения спрашиваешь?
|
|||
4
Knowledge
19.01.13
✎
20:09
|
(3) это любопытство. Кроме того мне почему- то не нравится такая конструкция.
|
|||
5
Wobland
19.01.13
✎
20:12
|
(4) если ты хочешь иметь дерево на выходе, то заменить итоги нечем
|
|||
6
Defender aka LINN
19.01.13
✎
20:13
|
(2) Их можно заменить пустой строкой
|
|||
7
Knowledge
19.01.13
✎
20:17
|
(6) нет, не получится.
|
|||
8
Wobland
19.01.13
✎
20:18
|
(7) ну на нет и суда нет
|
|||
9
Defender aka LINN
19.01.13
✎
20:22
|
(7) Типа, кровь носом пойдет и зубы выпадут?
|
|||
10
Knowledge
19.01.13
✎
20:28
|
(9) На выходе будет другой набор (в смысле порядка следования строк). Зубы не причем.
|
|||
11
Wobland
19.01.13
✎
20:29
|
(10) я бы даже сказал, что на выходе будет плоская таблица. а ну и чо?
|
|||
12
Defender aka LINN
19.01.13
✎
20:29
|
(10) Порядок следования строк будет тот же самый. Еще откровения будут, или таки вооружишься книгой*
|
|||
13
Wobland
19.01.13
✎
20:32
|
(12) врёшь же. группировочные строки уйдут
|
|||
14
Wobland
19.01.13
✎
20:33
|
(13) впрочем, к порядку это не имеет большого отношения ;)
автор хочет получить ту же картину, что и есть, но через назад? |
|||
15
Knowledge
19.01.13
✎
20:34
|
(12) только что попробовал + (13)
|
|||
16
Defender aka LINN
19.01.13
✎
20:35
|
(15) Все, проблема решена?
|
|||
17
Wobland
19.01.13
✎
20:35
|
(15) ну верни АВТОУПОРЯДОЧИВАНИЕ на место. будем дальше в угадайку играть? меня задолбало
|
|||
18
Knowledge
19.01.13
✎
20:41
|
(16-17) Если убрать, то получится
Контрагент Договор Банки Договор №001804 от 01.01.2006 Договор эквайринга К-2003/12 Договор №001023 от 09.01.2003 АКБ "АВТ-БАНК" АКБ "АВТ-БАНК" АКБ "АВТ-БАНК" АКБ ИНВЕСТСПЕЦБАНК (ЗАО), а надо Контрагент Договор Банки АКБ "АВТ-БАНК" Договор №001804 от 01.01.2006 Договор эквайринга К-2003/12 АКБ ИНВЕСТСПЕЦБАНК (ЗАО) Договор №001023 от 09.01.2003 |
|||
19
Wobland
19.01.13
✎
20:43
|
(18) а сходи ещё раз в (1)
|
|||
20
Knowledge
19.01.13
✎
21:19
|
Ну и ладно, оставим так.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |