Бухгалтерский запрос

Для получения большого количества итогов в различных разрезах объект «Бухгалтерские Итоги» переключается в режим работы с запросом. Для переключения в этот режим вызывается метод ВыполнитьЗапрос в параметрах которого, а также дополнительными методами устанавливается состав итогов, которые будут получены запросом. Выполнение данного метода осуществляет выборку данных и их предварительную обработку.

После выполнения запроса с помощью специального набора методов объекта «Бухгалтерские Итоги» осуществляется получение итогов, полученных дан­ным запросом. К этим методам относятся методы обхода итогов в различных разрезах (сформированных запросом) и методы для получения собственно итогов. Кроме того специальный набор атрибутов объекта «Бухгалтерские Итоги» позволяет обращаться процессе обхода результатов запроса к значениям полученных группировок.


Метод ВыполнитьЗапрос

Синтаксис: ВыполнитьЗапрос(<НачалоПериода>, <КонецПериода>, <ФильтрПоСчетам>, <ФильтрПоКоррСчет>, <Валюта>, <ТипИтогов>, <Периодичность>, <ТипСуммы>)

Параметр
Описание
<НачалоПериода>
Необязательный параметр. Выражение типа дата, документ или позиция документа начала периода запроса. Если этот параметр не указан, будут вы­числяться начальные сальдо на момент, указан­ный в параметре <КонецПериода>
<КонецПериода>
Необязательный параметр. Выражение типа дата, документ или позиция документа конца периода запроса. Если этот параметр не указан, будут вычисляться начальные сальдо на момент, указанный в параметре <НачалоПериода>.
<ФильтрПоСчетам>
Необязательный параметр. Счета, для которых будут отбираться итоги в запросе. Задается зна­чением типа «Счет» или объектом типа «Список-Значений», содержащим значения типа «Счет», либо строкой содержащей список кодов счетов, разделенных символом ", " или ";". Если параметр не указан, отбор будет выполняться по всем сче­там.
<ФильтрПоКоррСчет>
Необязательный параметр. Значение типа «Счет» — корреспондирующий счет, в корреспон­денции с которым будут отбираться итоги счета, указанного в параметре <ФильтрПоСчетам>. Задается значением типа «Счет» или объектом типа «СписокЗначений», содержащим значения типа «Счет», либо строкой содержащей список кодов счетов, разделенных символом "," или ";". Если параметр не указан, будут отбираться итоги в корреспонденции со всеми счетами.
<Валюта>
Необязательный параметр. Значение типа «Справочник.Валюты». Если параметр не указан итоги выдаются без учета валюты.
<ТипИтогов>
Необязательный параметр. Число — тип отбирае­мых итогов. Может принимать следующие значе­ния:
  • 1 — остатки и обороты по счету в целом (по умолчанию);
  • 2 — обороты между счетами;
  • 3 — Первое и второе вместе.
<Периодичность>

Необязательный параметр. Позволяет получить дополнительный разрез итогов по периодам. Чис­ло или символьная строка. По умолчанию периодичность не задана. Параметр <Периодичность> может принимать следующие значения:

Число
Синоним
Примечание
1
«Период» Промежуточные итоги не рассчитываются;
2
«Операция» Промежуточные итоги рассчитываются по операциям;
3
«Проводка» По проводкам
4
«День» По дням
5
«Неделя» По неделям
6
«Декада» По декадам
7
«Месяц» По месяцам
8
«Квартал» По кварталам
9
«Год» По годам

<ТипСуммы>
Необязательный параметр. Число или строка — тип рассчитываемых итогов. Может принимать следующие значения (в скобках указаны строковые синонимы):
  • 1 («С») рассчитывать суммы;
  • 2 («В») рассчитывать валютные суммы;
  • 4 («К») рассчитывать количество.

Если требуется одновременно рассчитывать разные суммы, значение параметра получается путем сложения допустимых значений, например: 5 (1+4) — рассчитывать суммы и количество. При указании параметра строкой в ней указываются все символы, которые обозначают типы сумм, которые нужно рассчитывать. По умолчанию рассчитываются все типы сумм.

В зависимости от переданных параметров итоги могут быть подготовлены методом ВыполнитьЗапрос в различных разрезах. Кроме того, на результат запроса влияют дополнительные установки, которые выполняются вызовами специальных методов объекта «Бухгалтерские Итоги».

Метод ВключатьСубсчета позволяет получить итоги в разрезе субсчетов.

Применение метода ИспользоватьСубконто (перед вызовом ВыполнитьЗапрос) позволяет сформировать запрос в разрезе субконто.

После выполнения запроса обход запросов в различных разрезах выполняется соответствующими методами объекта. Для доступа к итогам в разрезе периодов используются методы ВыбратьПериоды и ПолучитьПериод.

Пример
//рассчитать остатки и обороты по счету 60 за заданный период
БухИтоги.ВыполнитьЗапрос(ДатаНач, ДатаКон, "60", , 3);


Метод ВключатьСубсчета

Метод ВключатьСубсчета должен вызываться до выполнения метода ВыполнитьЗапрос. Он устанавливает режим, при котором итоги отбираемые запросом будут разворачиваться по субсчетам соответвенно основных и корреспондирующих счетов.

Синтаксис: ВключатьСубсчета(<ФлагСчета>, <ФлагКоррСчета>}

Параметр
Описание
<ФлагСчета>

Необязательный параметр. Признак развертыва­ния сальдо по субсчетам основного счета. Число:

  • 0 — не разворачить по субсчетам (по умолчанию);
  • 1 — разворачивать по субсчетам;
  • -1 (минус единица) — не выдавать итоги по сче­там-группам.
<ФлагКоррСчета>
Необязательный параметр. Признак развертыва­ния сальдо по субсчетам корреспондирующего счета. Число:
  • 0 — не разворачить по субсчетам (по умолчанию);
  • 1 — разворачивать по субсчетам;
  • -1 (минус единица) — не выдавать итоги по кор­респондирующим счетам-группам.

Метод ИспользоватьСубконто

Метод ИспользоватьСубконто устанавливает режим отбора итогов по субконто методом ВыполнитьЗапрос. Метод ИспользоватьСубконто слудет вызывать до вызова метода ВыполнитьЗапрос. После выполнения метода ВыполнитьЗапрос установки метода ИспользоватьСубконто сбрасываются и перед слудеющим запросом их нужно устанавливать заново.

Метод ИспользоватьСубконто может вызываться последовательно несколько раз. В этом случае установки, выполняемые этим методом суммируются.

Синтаксис: ИспользоватьСубконто(<ВидСубконто>, <Субконто>, <ТипФильтра>, <ПоГруппам>)

Параметр
Описание
<ВидСубконто>

Значение типа «Вид Субконто» — расчет времен­ных итогов будет выполнен только для субконто указанного вида. Задается значением типа «Вид Субконто» или строкой содержащей имя иденти­фикатора вида субконто, как он назван в конфи­гураторе.
<Субконто>
Необязательный параметр. Здесь может быть за­дано или одно конкретное значение субконто, по которому будут отобраны итоги по аналитике или объект типа «Список значений», где можно задать несколько значений субконто. Если параметр не задан — то считается пустым значением субконто.
<ТипФильтра> Необязательный параметр. Число — тип фильтра по субконто. Может принимать следующие значе­ния:
  • 1 — разворачивать по данному субконто (по умолчанию),
  • 2 — отбирать по данному субконто,
  • 3 — не учитывать это субконто вообще.
<ПоГруппам> Необязательный параметр. Число — группировка др итогов по субконто. Параметр <ПоГруппам> имеет смысл, если параметр <ТипФильтра> равен 1, а вид субконто, заданный параметром <ВидСубконто>, имеет тип значения «Справочник». Параметр может принимать значения:
  • 0 — не показывать итоги по группам справочника (по умолчанию);
  • 1 — показывать итоги по группам справочника.

Пример:

* Данный запрос формирует итоги по счету 10 в разрезе материалов по одному складу.

БухИтоги.ИспользоватьСубконто(ВидыСубконто.Материалы, , 1);
БухИтоги.ИспользоватьСубконто(ВидыСубконто.Склады, ВыбСклад, 2);
БухИтоги.ВыполнитьЗапрос(ДатаНач, ДатаКон, "10");


Метод ИспользоватьКорСубконто

Метод ИспользоватьКорСубконто устанавливает режим отбора итогов по субконто методом ВыполнитьЗапрос. Метод ИспользоватьКорСубконто слудет вызывать до вызова метода ВыполнитьЗапрос. После выполнения метода ВыполнитьЗапрос установки метода ИспользоватьКорСубконто сбрасываются и перед слудеющим запросом их нужно устанавливать заново.

Метод ИспользоватьКорСубконто может вызываться последовательно несколько раз. В этом случае установки, выполняемые этим методом суммируются.

Синтаксис: ИспользоватьКорСубконто(<ВидСубконто>, <Субконто>, <ТипФильтра>, <ПоГруппам>)

Параметры аналогичны параметрам метода ИспользоватьСубконто.


Метод Опции

Синтаксис: Опции(<ВключатьЗабалансовыеСуммы>, <ВключатьОборотныеСубконтоСуммы>)

Метод Опции должен вызываться до выполнения метода ВыполнитьЗапрос. Он устанавливает режимы включения в итоги сумм по забалансовым счетам и оборотным субконто. Если метод не вызвался, суммы по забалансовым счетам и оборотным суб­конто не включаются в запрос.

Если параметр равен 1, то эти суммы включаются в запрос, если 0, то не включаются.


Обработка результатов запроса (обход группировок)

Методы обхода группировок результата запроса приведены ниже:

Методы
Описание

ВыбратьСчета
ПолучитьСчет

Синтаксис: ВыбратьСчета(<ФлагВсе>, <ФлагДК>, <Номер>, <РазвСальдо>)

Параметр
Описание
<ФлагВсе> Необязательный параметр.
  • 0 — отбирать те счета, которые имели итоги на этом уровне обхода итогов запроса (по умолчанию);
  • 1 — включить в выборку все счета, которые имели итоги в данном запросе;
  • -1, -2 ... — включить в выборку счета, которые имели итоги в группировке n-го вышестоящего уровня.
<ФлагДК> Необязательный параметр.
  • 1 — включать в выборку счета только с дебетовы­ми оборотами;
  • 2 — включать в выборку счета только с кредито­выми оборотами.
  • 0 — включать в выборку счета вне зависимости от дебетовых/кредитовых оборотов (по умолчанию).
<Номер>
Необязательный параметр. Положительное целое число — номер выборки. Если параметр не ука­зан, выборке присваивается номер 0.

Выборке, открываемой методом ВыбратьСчета, может быть присвоен номер — положительное целое число. Номер — это «метка» выборки. Номер может использоваться для обращения к результатам выборки при помощи метода ПолучитьСчет. Использование этой метки необходимо, если требуется получить две группировки по счету.
<РазвСальдо> Необязательный параметр. Признак необходимости рассчитывать развернутое сальдо по субконто. Используется только если в запросе участвуют субконто.
  • 1 — рассчитывать развернутое сальдо.
  • 0 — не рассчитывать развернутое сальдо (по умолчанию);

Синтаксис: ПолучитьСчет(<Номер>, <Счет>)

Параметр
Описание
<Номер> Необязательный параметр. Положительное целое число — номер выборки. Если раньше было открыто несколько выборок по счету.
<Счет> Необязательный параметр. Конкретное значение счета, которое нужно получить из выборки.

Пример.

БухИтоги.Запрос(Дата1, Дата2);
БухИтоги.ВыбратьСчета();
Пока БухИтоги.ПолучитьСчет() = 1 Цикл

Деб = БухИтоги.ДО();
Кред = БухИтоги.КО();

КонецЦикла;

ВыбратьКорСчета
ПолучитьКорСчет

Синтаксис
ВыбратьКорСчета(<ФлагВсе>, <ФлагДК>, <Номер>)
ПолучитьКорСчет(<Номер>, <Счет>)

Пример:

БухИтоги.Запрос(Дата1, Дата2);
БухИтоги.ВыбратьСчета();
Пока БухИтоги.ПолучитьСчет() = 1 Цикл

БухИтоги.ВыбратьКорСчета();
Пока БухИтоги.ПолучитьКорСчет() = 1 Цикл

Деб = БухИтоги.ДО();
Кред = БухИтоги.КО();

КонецЦикла;

КонецЦикла;
ВыбратьВалюты
ПолучитьВалюту

Синтаксис:
ВыбратьВалюты(<ФлагВсе>, <ФлагДК>, <Номер> , <РазвСальдо>, <Сортировка>)
ПолучитьВалюту(<Номер>, <Валюта>)

Пример:

БухИтоги.Запрос(Дата1, Дата2);
БухИтоги.ВыбратьСчета();
Пока БухИтоги.ПолучитьСчет() = 1 цикл

БухИтоги.ВыбратьВалюты();
Пока БухИтоги.ПолучитьВалюту() = 1 цикл

ДебВ = БухИтоги.ДО(2);
КредВ = БухИтоги.КО(2);

КонецЦикла;

КонецЦикла;

ВыбратьПериоды
ПолучитьПериод

Синтаксис:
ВыбратьПериоды(<ФлагВсе>, <ФлагДК>, <Номер>, <РазвСальдо>)
ПолучитьПериод(<Номер>, <ДатаНачалаПериода>)

Пример:

БухИтоги.ВыполнитьЗапрос(Дата1, Дата2, , , , , "Месяц");
БухИтоги.ВыбратьСчета();
Пока БухИтоги.ПолучитьСчет() = 1 цикл

БухИтоги.ВыбратьПериоды();
Пока БухИтоги.ПолучитьПериод() = 1 цикл

Деб = БухИтоги.ДО();
Кред = БухИтоги.КО();

КонецЦикла;

КонецЦикла;

ВыбратьСубконто
ПолучитьСубконто

Синтаксис:
ВыбратьСубконто(<Индекс>, <ФлагВсе>, <ФлагДК>, <Номер>, <РазвСальдо>, <Сортировка>, <ПорядокОбхода>)
ПолучитьСубконто(<Индекс>, <Номер>, <Субконто>)

Пример:

БухИтоги.ИспользоватьСубконто(ВидыСубконто.Материалы, , 1);
БухИтоги.ИспользоватьСубконто(ВидыСубконто.Склады, , 1);
БухИтоги.ВыполнитьЗапрос(ДатаНач, ДатаКон, "10");
БухИтоги.ВыбратьСубконто(1);
Пока БухИтоги.ПолучитьСубконто(1) = 1 цикл

БухИтоги.ВыбратьСубконто(2);
Пока БухИтоги.ПолучитьСубконто(2) = 1 цикл

Деб = БухИтоги.ДО();
Кред = БухИтоги.КО();

КонецЦикла;

КонецЦикла;

ВыбратьКорСубконто
ПолучитьКорСубконто

Синтаксис:
ВыбратьКорСубконто(<Индекс>, <ФлагВсе>, <ФлагДК>, <Номер>, <РазвСальдо>, <Сортировка>, <ПорядокОбхода>)
ПолучитьКорСубконто(<Индекс>, <Номер>, <Субконто>)

БухИтоги.ИспользоватьСубконто(ВидыСубконто.Товары, , 1);
БухИтоги.ИспользоватьКорСубконто(ВидыСубконто.Клиенты, , 1);
БухИтоги.ВыполнитьЗапрос(ДатаНач, ДатаКон);
БухИтоги.ВыбратьСубконто();
Пока БухИтоги.ПолучитьСубконто() = 1 цикл

БухИтоги.ВыбратьКорСубконто();
Пока БухИтоги.ПолучитьКорСубконто() =1 цикл

Деб = БухИтоги.КорДО();
Кред = БухИтоги.КорКО();

КонецЦикла;

КонецЦикла;


Атрибуты и методы результата запроса

При обходе группировок результата запроса возможно обращение к следующим атрибутам и методам:

Атрибут
Описание

Счет

Текущий счет, выбранный функцией ПолучитьСчет
КорСчет Текущий корр. счет, выбранный функцией ПолучитьКорСчет
Валюта Текущая валюта, выбранная функцией ПолучитьВалюту
НачДата
КонДата
Начальная и конечная дата текущего периода, выбранного функцией ПолучитьПериод
Операция Атрибут позволяет обращаться к текущей операции, если запрос получен с детализацией итогов по периоду «Операция» и «Проводка».

Метод
Описание
Субконто
КорСубконто

ПредставлениеСубконто
ПредставлениеКорСубконто

Синтаксис
Субконто(<Номер> | <ВидСубконто>)
КорСубконто(<Номер> | <ВидСубконто>)

Пример

БухИтоги.ИспользоватьСубконто(ВидыСубконто.Товары, , 1);
БухИтоги.ВыполнитьЗапрос(ДатаНач, ДатаКон);
БухИтоги.ВыбратьСубконто();
Пока БухИтоги.ПолучитьСубконто() = 1 цикл
......... Сообщить(БухИтоги.Субконто());
КонецЦикла;

ЭтоГруппа Для тех субконто, которые выбираются из иерархических справочников метод возвращает 1, если текущее значение является группой справочника.
СНД
СНК
СКД
СКК
ДО
КО

СНД — дебетовое сальдо на начало периода;
СКД — дебетовое сальдо на конец периода;
СНК — кредитовое сальдо на начало периода;
СКК — кредитовое сальдо на конец периода;
ДО — дебетовый оборот за период;
КО — кредитовый оборот за период.

Синтаксис (у всех одинаковый): СНД(<ТипСуммы>)

Параметр <ТипСуммы> может принимать следующие значения:

  • 1 ("С") - сумма (по умолчанию)
  • 2 ("В") - валютная сумма
  • 3 ("К") - количество

СНДРС
СКДРС
СНКРС
СККРС

СНДРС — дебетовое развернутое сальдо на начало периода;
СКДРС — дебетовое развернутое сальдо на конец периода;
СНКРС — кредитовое развернутое сальдо на начало периода;
СККРС — кредитовое развернутое сальдо на конец периода;
КорДО
КорКО
Возвращает дебетовый или кредитовый оборот между корреспондирующими счетами или субконто.
ВыбранаПоДт
ВыбранаПоКт
Эти функции возвращают 1, если выбран итог по дебету / кредиту.