Имя: Пароль:
 
1C
1С v8
Группировки по табличным частям в запросе.
0 Help1с
 
07.11.16
11:02
Приветствую.
Формирую ХМЛ документ. Нужно получить в 1с таблицу с полями:
1. НомерДокумента
2. Контрагент
3. ТЧ.Товары
  3.1 Номенклатура
4. ТЧ.Услуги
  4.2 Услуга

че-то туплю и не могу сообразить как использовать группировки и обход. В документе разное количество строк по каждой ТЧ.
Из запроса ссылки не получаю, чтобы ускорить быстродействие (выбираю только значение).
Конечно я могу выгрузить результат запроса в ТЗ и там группировать и обходить таблицу как мне нужно, только как мне кажется это повлияет на быстродействие.
Подскажите можно ли в запросе использую группировки обойти таблицу как мне нужно.
Обход запроса вижу так:
Пока ВыборкаПоДокументу.Следующий() Цикл
НомерДокумента = ВыборкаПоДокументу.Номер;
Пока ВыборкаПоТЧТовары.Следующий() Цикл  
КонецЦикла;
Пока ВыборкаПОТЧУслуги.Следующий() Цикл
КонецЦикла;
КонецЦикла;

Спасибо.
1 Ёпрст
 
07.11.16
11:05
делай так, что ле.. Потом обходи



ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслуг.Товары.(
        Номенклатура
    ),
    РеализацияТоваровУслуг.Услуги.(
        Номенклатура
    )
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
2 Ёпрст
 
07.11.16
11:05
будут тебе отдельные выборки твоих ТЧ документа.
3 Help1с
 
07.11.16
11:08
(2) так используются ссылки, я не хочу их выбирать. полей на самом деле больше, я для примера взял.
4 mehfk
 
07.11.16
11:08
Делай как-то так:

выбрать что-то, "товары" как ИмяТч из док.товары
union all
выбрать что-то, "услуги" как ИмяТч из док.услуги

...
итоги по ИмяТЧ
5 Ёпрст
 
07.11.16
11:08
(3) че ?
6 Help1с
 
07.11.16
11:09
(3) + или я не прав и так можно получить значения?
7 Ёпрст
 
07.11.16
11:10
На тебе все поля

ВЫБРАТЬ
    *,
    РеализацияТоваровУслуг.Товары.*,
    РеализацияТоваровУслуг.Услуги.*
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
8 Help1с
 
07.11.16
12:49
(7) спасибо. не совсем то что нужно, но похоже по другому никак.
я хотел получать в запросе примитивные типы (дата, строка, число), попробую так выполнить.
9 Ёпрст
 
07.11.16
12:50
(8) получай, кто мешает ?!
10 azernot
 
07.11.16
12:52
(8) Ссылка в каком-то смысле - это тоже примитивный тип. Строка 36 символов.
Получение ссылки само по себе, не ведёт к считыванию всех данных объекта, пока ты не получаешь что-то через точку от ссылки.
11 Ёпрст
 
07.11.16
12:53
ВЫБРАТЬ
    РеализацияТоваровУслуг.Номер КАК НомерДокумента,
    РеализацияТоваровУслуг.Дата КАК ДатаДокументаДокумента,
    РеализацияТоваровУслуг.Товары.(
        Номенклатура.Наименование КАК НаименованиеТовара,
        Номенклатура.Код КАК КодТовара
    ) КАК ТабличнаяЧастьТовары,
    РеализацияТоваровУслуг.Услуги.(
        Номенклатура.Наименование КАК НаименованиеУслуги,
        Номенклатура.Код КАК КодУслуги
    ) КАК ТабличнаяЧастьУслуги
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
12 Help1с
 
07.11.16
13:02
(11) огромное спасибо. не знал что так можно. сейчас проверю. )
Независимо от того, куда вы едете — это в гору и против ветра!