![]() |
v8. запутался под вечер в запросе (обход по группировкам) упрощенный текст запроса: ВЫБРАТЬ РеализацияУслуг.Контрагент, ПараметрыФормированияДокументов.Периодичность, РеализацияУслуг.Ссылка ИЗ Документ.РеализацияУслуг КАК РеализацияУслуг ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыФормированияДокументов КАК ПараметрыФормированияДокументов ПО РеализацияУслуг.Контрагент = ПараметрыФормированияДокументов.Контрагент ИТОГИ ПО Контрагент ... ВыборкаКонтрагентов = Запрос.Выполнить.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаКонтрагентов.Следующий() Цикл вот тут мне надо обратиться к полю Периодичность, но его в этой группировке нет, как мне исправить текст запроса, чтобы можно было обратиться к Периодичность на одном уровне с Контрагентом? Туплю, направьте на путь истинный, плз. |
Единственная возможность [b]в запросе[/b] - применить агрегатную функцию к полю |
(1) +1 |
а зачем итоги, если нужна периодичность, сделай итоги по контрагент и периодичность |
ИТОГИ МИНИМУМ(Периодичность) ПО Контрагент |
3-angro > Там не только периодичность - нужен обход по контрагентам и внутри обход по документам, обход по документам идет по разным алгоритмам в зависимости от [b]Периодичности и других полей[/b] относящихся к контрагенту. 1-roma n > дело в том, что если в запросе все равно есть Периодичность, получать ее же вне запроса как-то не хочется |
5-Uho > а что за тип в поле? Перечисление? Можно разыменовать до порядка и дёргать при обходе значение из перечисления по индексу (но я как-то не уверен за равенство индекса и порядка... лучше уж тогда массив предварительно собрать) Ну или (3) |
5-Uho > если значение Порядка гарантировано одно на контрагента Выборка = ВыборкаКонтрагентов.Выбрать(); Выборка.Следующий() Порядок = Выборка.Порядок; ... Выборка.Сбросить() Пока Выборка.Следующий() |
6-roma n > Периодичность - перечисление, но не только периодичность нужно получить во внешнем обходе, там и булево есть и др.. 7-roma n > хм, имхо, уж лучше агрегатную функцию |
8-Uho > посмотри на ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений |
9-roma n > я как-то СКД только для отчетов пользую |
10-Uho > Когда нужна группировка по 8 полям и запрос вернет 9-уровневую выборку я не задумываясь делаю схему компоновки. Пару раз напорешься и будешь лихо втыкать ее везде, где она упрощает жизнь. Я даже пару печатные формы иногда на СКД делаю, потому что быстрее накидать структуру, чем рисовать макет вручную. |
11-Reaper > примерчик использования СКД для "[b]неотчетов[/b]" можешь показать? |
Текущее время: 11:15. Часовой пояс GMT +3. |