Класс БухИтоги.
Методы Подставлять, Отладка, ВыполнитьЗапрос.
Синтаксис методов аналогичен одноименным методам SQLiteQuery.
Класс реализует виртуальную таблицу БИОстатки.
Синтаксис ВТ:
онто>,<Условия>)
<ГраницаРасчета> - она и есть

<Соединение> - соединения с другими таблицами (использование соединений с текущей реализацией оптимизатора запросов движка SQLite и стандартными индексами 1С - неэффективно), сделано для использования с собственными индексами)
<Счета> - список кодов счетов, по которым получаются остатки. Обязателен.
<ТипыИтогов> - список выбираемых итогов, разделенных запятыми. 1-сумма, 2-валютная сумма, 3-количество
<Субконто> - список видов субконто, по которым получаются остатки. Виды субконто могут быть заданы в виде Субконто1 (1-е субконто счета) или наименованием.
<Условия> - условия, накладываемые на выборку.
Пример использования:
Запрос=СоздатьОбъект("БухЗапрос");
ТекстЗапроса="SELECT
|ОсновнойОстатки.Счет [Счет :Счет.Основной]
|, substr(ОсновнойОстатки.Субконто1,1,9) AS [Материал $Справочник.Материалы]
|, substr(ОсновнойОстатки.Субконто2,1,9) AS [Склад $Справочник.МестаХранения]
|, ОсновнойОстатки.КоличествоОстаток As [Остаток $Число.15.3]
|FROM $БИОстатки.Основной(:ВыбДата,
|,
|(10), 3,
|(Материалы, МестаХранения),
|) AS ОсновнойОстатки
|";
Запрос.Подставлять("ВыбДата",ВыбДок);
ВремяНач=_GetPerformanceCounter();
Т=Запрос.ВыполнитьЗапрос(ТекстЗапроса);
Сообщить(_GetPerformanceCounter()-ВремяНач);
Т.ВыбратьСтроку();
Запрос=СоздатьОбъект("БухЗапрос");
ТекстЗапроса="SELECT
|ОсновнойОстатки.Счет [Счет :Счет.Основной]
|, substr(ОсновнойОстатки.Субконто1,1,9) AS [Товар $Справочник.Материалы]
|, substr(ОсновнойОстатки.Субконто2,1,9) AS [Склад $Справочник.МестаХранения]
|, ОсновнойОстатки.КоличествоОстаток As [Количество $Число.15.3]
|, ОсновнойОстатки.СуммаОстаток As [Сумма $Число.15.2]
|FROM $БИОстатки.Основной(:ВыбДата,
|,
|(10.1, 10.2, 10.3), (1,3),
|(Субконто1, Субконто2),
|Субконто2 =:Склад
|) AS ОсновнойОстатки
|";
Запрос.Подставлять("ВыбДата",ВыбДок);
Запрос.Подставлять("Склад",Константа.ОсновнойСклад);
ВремяНач=_GetPerformanceCounter();
Т=Запрос.ВыполнитьЗапрос(ТекстЗапроса);
Сообщить(_GetPerformanceCounter()-ВремяНач);
Т.ВыбратьСтроку();