Каталог решений - Итераторы выборки

Итераторы выборки

Итераторы выборки

В наличии

Обход результата запроса можно сделать по группировкам и по полям. В первом случае используются итоговые записи, во втором — линейный список. Еще можно обходить коллекцию элементов строк, однако в этом случае никаких дополнительных средств обхода, кроме детального, платформа не предоставляет. В статье рассматривается решение, расширяющее возможности стандартных средств обхода результата запроса, а также применимое для обхода коллекции строк.

Категория:

Описание

Оглавление

Постановка проблемы.. 1

Обход элементов по шаблону проектирования Итератор. 1

Реализация шаблона Итератор. 1

Описание подсистемы.. 1

Примеры использования. 1

Производительность. 1

Вывод. 1

Постановка проблемы

Обход выборки из результата запроса по группировкам можно выполнить двумя способами: с итогами или без итогов. В первом случае необходимо в запросе указать поля группировки и итогов. Обход элементов выборки в этом случае осуществляется методом Следующий(). Во 2-м — достаточно получить линейный список и выполнить обход элементов выборки с помощью метода СледующийПоЗначениюПоля(). В обоих случаях обход элементов необходимо выполнять с использованием вложенных циклов, каждый уровень которых будет соответствовать обходу по одному полю группировки. Последнее обстоятельство может быть очень неудобным: приводит к громоздкому коду со вложенными циклами, значительно усложняет алгоритмы выборки, когда заранее неизвестен состав и порядок полей группировки.

Если же говорить о таблице значений, то для нее вообще не существует методов платформы, которые бы позволили выполнить обход её элементов по полям группировок. Однако существует способ свести задачу обхода из таблицы значений к обходу элементов выборки из результата запроса, использовав временную таблицу.

has been added to your cart:
Оформление заказа