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