Структура запросов и методика их использования
Продолжение примера:
//Итог общий
Пока НашЗапрос.Группировка("Товар") = 1 Цикл
//Итог по товару
Пока НашЗапрос.Группировка("Склад") = 1 Цикл
//Строка по товару — складу
КонецЦикла;
//Итог по товару
КонецЦикла;
//Итог общий
После выхода из процедуры, где была определена переменная, содержащая объект типа "Запрос" (в нашем примере "НашЗапрос") или после уничтожения объекта типа "Запрос" (Наш3апрос = 0;), временный набор данных на локальной машине пользователя уничтожается.
Из приведенного выше примера можно сделать несколько важных заключений:
- при просмотре временного набора данных, вложенность циклов просмотра должна точно повторять порядок группировок запроса (нельзя входить во вложенную группировку, не войдя в предыдущую);
- допускается просматривать временный набор данных, опуская с некоторого уровня все вложенные (внутренние) группировки;
- не следует прерывать последовательность просмотра временного набора данных (например, оператором Прервать;), если вы собираетесь использовать временный набор дальше или еще раз, т. к. в таком случае теряется точка позиционирования во временном наборе и продолжать просмотр невозможно;
Пример:
Пока Запрос.Группировка("Товар") = 1 Цикл
Если (Запрос.Товар = НужныйТовар) Тогда
Пока Запрос.Группировка("Отдел") = 1 Цикл
Если (Запрос.Отдел = НужныйОтдел) Тогда
Пока Запрос.Группировка("Сотрудник") = 1 Цикл
Если (Запрос.Сотрудник = НужныйСотрудник) Тогда
Пока Запрос.Группировка("Док") = 1 Цикл
Док = Запрос.Док;
Если Запрос.ПрихКол <> 0 Тогда
Таб.ВывестиСекцию("Приход");
ИначеЕсли Запрос.РасхКол <> 0 Тогда
Приращение = Запрос.РасхКол;
Таб.ВывестиСекцию("Расход");
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Атрибуты запросов
Атрибутами запроса являются объявленные в описании запроса внутренние переменные (см. главу "Язык запросов"), имена группировок и функций запроса. Все атрибуты запросов – только для чтения.
Чтобы обратиться к атрибуту запроса, имя этого атрибута пишется через точку после имени ссылки на запрос. Значения атрибутов запроса определяются текущим положением в полученной выборке.
