|
Запрос с итогами. Как выбрать вложенную таблицу? | ☑ | ||
---|---|---|---|---|
0
ik
28.02.20
✎
09:44
|
Есть запрос. Как выбрать вложенную таблицу "Товары"??
На смысл запроса не смотрите, его нет)) Запрос.Текст = "ВЫБРАТЬ | Документ.Ссылка КАК Документ, | Документ.Контрагент КАК Контрагент, | Документ.СуммаДокумента КАК СуммаДокумента, | Документ.Товары.( | Номенклатура КАК Номенклатура, | Количество КАК Количество | ) КАК Товары |ИЗ | Документ.ПоступлениеТоваровУслуг КАК Документ |ИТОГИ | МИНИМУМ(Контрагент), | СУММА(СуммаДокумента) |ПО | Документ"; Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией, "Документ"); Пока Выборка.Следующий() Цикл ВыбТов = Выборка.Товары.Выбрать(); // ЕСТЕСТВЕННО, ПУСТОЙ РЕЗУЛЬТАТ |
|||
1
ДенисЧ
28.02.20
✎
09:47
|
Делай запрос к табчасти. И разумеется, не СуммуДокумента, а сумму по строке.
|
|||
2
dka80
28.02.20
✎
09:50
|
Если нужно и данные документа и данные табличной части, то лучше сделать два запроса. Затем выполнить пакет и данные второго запроса (запроса по табличной части) выбирать методом выбратьследующийполю
|
|||
3
RomanYS
28.02.20
✎
09:51
|
Длина полоски и комментарий ( // ЕСТЕСТВЕННО, ПУСТОЙ РЕЗУЛЬТАТ) вроде говорят о каком-то понимании. Но сам вопрос шокирует)
Либо убери здесь итоги и будет работать твой код, либо делай запрос к ТЧ с итогами подокументу. |
|||
4
dka80
28.02.20
✎
10:13
|
(3) да что вы пристали к этой длине полоски? Ее длина говорит лишь о том, что человек давно зарегистрирован на форуме. Может он не занимался 1С непосредственно все это время?
|
|||
5
ik
28.02.20
✎
10:22
|
(2) Спасибо. Реальный запрос несколько сложноват.. надеялся, что я не знаю какой-нибудь обход, типа МИНИМУМ(Контрагент)
|
|||
6
palsergeich
28.02.20
✎
10:23
|
(4) угу, судя по темам человек на 77 сидит.
Лучше помогите |
|||
7
RomanYS
28.02.20
✎
10:25
|
(5) Какой МИНИМУМ(Контрагент) в итогах по документу? В документе ОДИН контрагент. Твои итоги в (0) ничего не делают, просто дублируют детальные записи. Только в детальных записях есть нужная тебе ТЧ, а в итогах нет.
|
|||
8
ik
28.02.20
✎
10:28
|
(7) Я ж писал,
>На смысл запроса не смотрите, его нет)) |
|||
9
НЕА123
28.02.20
✎
10:31
|
(0)
ВыбТов.Следующий() ЛОЖЬ? |
|||
10
RomanYS
28.02.20
✎
10:31
|
А что тебе надо? Убери итоги и спокойно обходи вложенный результат запроса.
|
|||
11
ik
28.02.20
✎
10:37
|
Ладно, вот "осмысленный" запрос
Запрос.Текст = "ВЫБРАТЬ | Документ.Контрагент КАК Контрагент, | Документ.СуммаДокумента КАК СуммаДокумента, | Документ.Контрагент.ИсторияНаименований.( | Период КАК Период, | Наименование КАК Наименование | ) КАК Исторяи |ИЗ | Документ.ПоступлениеТоваровУслуг КАК Документ |ИТОГИ | СУММА(СуммаДокумента) |ПО | Контрагент"; (9) Да, конечно. |
|||
12
D_E_S_131
28.02.20
✎
10:46
|
А нафига тебе вообще запросом получать эту "ИсториюНаименований"? Все равно такая выборка будет отдельным подзапросом выполняться. Так и обойди эту табчасть просто от ссылки на контрагента.
|
|||
13
RomanYS
28.02.20
✎
12:59
|
(11) Ну и норм
ВыборкаКонтрагент ВыборкаДетальныеЗаписи(=Документ) ВыборкаТовары(вложенный результат запроса) |
|||
14
Said_We
29.02.20
✎
00:25
|
(11) Я правильно понимаю что на выходе надо иметь что-то типа такого:
Контрагент1, Наименование_Контрагента1_НаДатуДокумента1, СуммаДокумента1 Наименование_Контрагента1_НаДатуДокумента2, СуммаДокумента2 Наименование_Контрагента1_НаДатуДокумента3, СуммаДокумента3 Наименование_Контрагента1_НаДатуДокумента4, СуммаДокумента4 Наименование_Контрагента1_НаДатуДокумента5, СуммаДокумента5 Контрагент2, Наименование_Контрагента2_НаДатуДокумента1, СуммаДокумента1 Наименование_Контрагента2_НаДатуДокумента2, СуммаДокумента2 Наименование_Контрагента2_НаДатуДокумента3, СуммаДокумента3 Наименование_Контрагента2_НаДатуДокумента4, СуммаДокумента4 Наименование_Контрагента2_НаДатуДокумента5, СуммаДокумента5 ... КонтрагентN, Наименование_КонтрагентаN_НаДатуДокумента1, СуммаДокумента1 Наименование_КонтрагентаN_НаДатуДокумента2, СуммаДокумента2 Наименование_КонтрагентаN_НаДатуДокумента3, СуммаДокумента3 Наименование_КонтрагентаN_НаДатуДокумента4, СуммаДокумента4 Наименование_КонтрагентаN_НаДатуДокумента5, СуммаДокумента5 Если да, то зачем знать какое наименование контрагента было на момент документа? Информацию запроса мы смотрим здесь и сейчас, и как назывался контрагент ранее ..... не пойму для чего. Если это тоже не реальная задача, то давай уже реальную. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |