Запрос по содержимому регистра
Запрос = СоздатьОбъект(“Запрос”);
// Проверка на дату, до точки актуальности (ТА) Если (Дата1>ПолучитьДатуТА()) и (Дата2>ПолучитьДатуТА()) Тогда Предупреждение(“Обе границы периода лежат за ТА ! Формирование невозможно !”,5); Возврат; КонецЕсли;
Если Дата2 >= ПолучитьДатуТА() Тогда
ТекстЗапроса = “Период с Дата1;”; Иначе
ТекстЗапроса = “Период с Дата1 по Дата2;”; КонецЕсли;
// Основной текст запроса ТекстЗапроса = ТекстЗапроса + “ |Реквизит=Регистр.ВидРегистра.Реквизит; |Док = Регистр.ВидРегистра.ТекущийДокумент; |Сумма=Регистр.ВидРегистра.Сумма; |Количество=Регистр.ВидРегистра.Количество; |Группировка Реквизит без групп; |Группировка Док; |Функция НачОст=НачОст(Количество); |Функция Приход=Приход(Количество); |Функция Расход=Расход(Количество); |Функция КонОст=КонОст(Количество); |Условие (Реквизит в ВыбРеквизит);”;
// Выполнение запроса Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Предупреждение(“Запрос по регистру не выполнился!”); Возврат; КонецЕсли;
// Группировки Пока Запрос.Группировка(“Реквизит”) = 1 Цикл Реквизит = Запрос.Реквизит; Пока Запрос.Группировка(“Док”) = 1 Цикл Док = Запрос.Док; // Обработка полученных данных... КонецЦикла; КонецЦикла;
|