Операторы языка запросов
Применение конструкции "С … По …" приводит к тому, что выборка записей из журнала расчетов проводится по времени действия записей журнала расчетов, определяемых реквизитами журнала расчетов "ДатаНачала" и "ДатаОкончания", а не временем их ввода в журнал. Более подробно о двойственности временного представления журналов расчетов см. выше, в главе "Работа с Журналами расчетов".
Замечание
Работа запроса с журналами расчетов, с использованием конструкции "Период С … По …", аналогична выборке записей в журнале расчетов, организуемой при помощи метода журнала расчетов ВыбратьПериод. С другой стороны, запрос, использующий конструкцию "С … По …", аналогичен выборке, организуемой при помощи метода журнала расчетов ВыбратьЗаписи.
Пример:
*
Процедура РасчЛистки()
Перем Запрос, Флаг;
Перем ДатаНач, ДатаКон;
ЖР = СоздатьОбъект{"ЖурналРасчетов.Зарплата");
Нач = ЖР.НачалоТекущегоПериода();
Кон = ЖР.КонецТекущегоПериода();
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
Флаг = Запрос.Выполнить(
"//{{ЗАПРОС(РасчЛистки)
|Период С ДатаНач По ДатаКон; // выборка по расчетным периодам!
|Рез = ЖурналРасчетов.Зарплата.Результат;
|Расч = ЖурналРасчетов.Зарплата.ВидРасч;
|Дни = ЖурналРасчетов.Зарплата.Дни;
|Сотр = ЖурналРасчетов.Зарплата.Объект;
|Группировка Сотр без групп;
|Группировка Расч;
|функция Сум = Сумма(Рез);
|функция Дней = Сумма(Дни);
|Условие(Рез о 0);
|"//}}ЗАПРОС
);
// ...
КонецПроцедуры;
*
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
// ниже формируется текст запроса с выборкой по времени
// действия записей журнала расчетов, а не по расчетным периодам!
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|С ДатаНач По ДатаКон;
|Рез = ЖурналРасчетов.Зарплата.Результат;
|Сотр = ЖурналРасчетов.Зарплата.Объект;
|ПЖ = ЖурналРасчетов.Зарплата.ПериодРегистрации;
|Группировка Сотр без групп;
|Группировка ПЖ;
|Функция Сум = Сумма(Рез);
"//}}ЗАПРОС
;
Флаг = Запрос.Выполнить(ТекстЗапроса);
// ...
