Работа в режиме запроса
Параметр <Периодичность> может принимать следующие значения (в скобках указаны строковые синонимы):
| 1 ("Период", "Period") | Промежуточные итоги не рассчитываются; |
| 2 ("Операция", "Entry") | Промежуточные итоги рассчитываются по операциям; |
| 3 ("Проводка", "Operation") | По проводкам; |
| 4 ("День", "Day") | По дням; |
| 5 ("Неделя", "Week") | По неделям; |
| 6 ("Декада", "Decade") | По декадам; |
| 7 ("Месяц", "Month") | По месяцам; |
| 8 ("Квартал", "Quorter") | По кварталам |
| 9 ("Год", "Year") | По годам. |
Возвращаемое значение:
Число: 1 – запрос выполнен; 0 – запрос не выполнен.
Описание:
Метод ВыполнитьЗапрос выполняет отбор и расчет итогов за период, задаваемый параметрами <НачалоПериода> и <КонецПериода>.
В зависимости от переданных параметров итоги могут быть подготовлены методом ВыполнитьЗапрос в различных разрезах. Кроме того, на результат запроса влияют дополнительные установки, которые выполняются вызовами специальных методов объекта "Бухгалтерские Итоги".
Параметр <Периодичность> позволяет получить итоги запроса в разрезе периодов.
Метод ВключатьСубсчета позволяет получить итоги в разрезе субсчетов.
Применение метода ИспользоватьСубконто (перед вызовом ВыполнитьЗапрос) позволяет сформировать запрос в разрезе субконто.
После выполнения запроса обход запросов в различных разрезах выполняется соответствующими методами объекта.
Для доступа к итогам в разрезе периодов используются методы ВыбратьПериоды и ПолучитьПериод.
При использовании методов ВыполнитьЗапрос и Рассчитать возможно указание только одной границы интервала. В этом случае будут рассчитываться только остатки на эту границу.
Данный метод может использовать предварительно выполненный временный расчет. Для этого у временного расчета должен быть взведен флаг актуальности, система должна находиться в монопольном режиме, или расчет производится в модуле документа и в данном модуле выполняется запрос.
Пример:
В монопольном режиме:
// модуль обработки
ИтРасчет.Актуальность(1);
...
Док.ВыбратьДокументы();
Пока Док.ПолучитьДокумент() = 1 Цикл
ИтРасчет.Рассчитать(, Док.ТекущийДокумент());
...
Док.Провести();
КонецЦикла;
...
// модуль документа
...
ИтЗапрос.ВыполнитьЗапрос(, Док.ТекущийДокумент(), СчетПоКоду("41"));
...
…в данном случае ИтЗапрос.ВыполнитьЗапрос(…) воспользуется результатами временного расчета ИтРасчет. Данная возможность может использоваться при групповом перепроведении документов.
Пример:
БухИтоги.ВыполнитьЗапрос(ДатаНач, ДатаКон, "60", , 3);
