Файл: Хрусталева Е. Ю. Язык запросов 1С-Предприятия 8 (2013).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.03.2019

Просмотров: 50384

Скачиваний: 8599

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

данных виртуальной таблицей по значениям субконто и измерений регистра
бухгалтерии.

Рассмотрим примеры построения запросов к таблице оборотов регистра бухгалтерии.

Самым распространенным примером отчета, который формируется с использованием
таблицы остатков и оборотов, является отчет «Оборотно-сальдовая ведомость», текст
которого приведен в листинге 3.72.

Листинг 3.72. Запрос для формирования отчета «Оборотно-сальдовая ведомость»

Если использовать этот запрос как источник данных для отчета в системе компоновки
данных (без секции описания итогов) и выводить отчет в виде иерархических группировок
по счетам, то мы получим следующий результат (рис. 3.75).


background image

Рис. 3.75. Отчет «Оборотно-сальдовая ведомость»

ВНИМАНИЕ!

Таблица остатков и оборотов универсальна и содержит поля, необходимые во многих
отчетах. Однако платой за универсальность всегда является производительность.
Формирование таблицы может включать в себя выполнение до трех запросов.
Использование таблицы имеет смысл только в случаях, когда в одной группировке отчета
требуется получение и остатков на начало, и оборотов и остатков на конец периода. Если же
этого не требуется, то, возможно, более производительным будет вариант с несколькими
запросами к таблице остатков или к таблице оборотов.

Периодичность таблицы остатков и оборотов
Для получения дополнительного разворота оборотов по периодичности при построении
таблицы остатков и оборотов используется параметр Периодичность. Его назначение и
использование аналогично другим таблицам оборотов.

подробнее

Раздел «

Периодичность таблиц оборотов

».

При построении таблиц оборотов, оборотов ДтКт с определенной периодичностью в них
попадают только те периоды, которые содержали обороты.

Таблица остатков и оборотов позволяет в одной группировке запроса получить и остатки
(входящие и исходящие), и обороты. Поэтому в таблице присутствует еще один параметр


background image

МетодДополнения, который может принимать два значения:
ДвиженияИГраницыПериода (по умолчанию) и Движения. В первом случае в результат
отчета включаются периоды, за которые были обороты, и, кроме того, еще и границы
интервала, если на эти даты были остатки. Во втором случае в результат отчета
включаются только те периоды, за которые были обороты.

Рассмотрим эти отличия на примере запроса, получающего остатки и обороты по счету
товаров за период с 01.06.2013 по 30.06.2013 включительно (листинг 3.73).

Листинг 3.73. Остатки и обороты по счету «Товары»

Если параметр МетодДополнения принимает значение ДвиженияИГраницыПериода или
если он не задан, то в отчет включается дата начала интервала отбора итогов
(01.06.2013, так как на эту дату был входящий остаток), и дата конца интервала
(30.06.2013, по той же причине), рис. 3.76.

Рис. 3.76. Остатки и обороты по счету «Товары»

В случае, если параметр МетодДополнения принимает значения Движения (листинг
3.74), в отчет попадают только те даты, за которые были обороты по счету Товары (рис.
3.77).

Листинг 3.74. Остатки и обороты по счету «Товары»


background image

Рис. 3.77. Остатки и обороты по счету «Товары»

Развернутые остатки
В некоторых случаях требуется получить не просто остатки на счетах, а развернутые
остатки, которые считаются развернуто для измерений и субконто, используемых в
запросе. Например, на активно-пассивных счетах может быть как дебетовый, так и
кредитовый остаток. В этом случае важно видеть не общий остаток, а остаток с
разворотом по аналитике, учитываемой на счете.

Например, в нашей демонстрационной конфигурации существует активно-пассивный счет
Контрагенты, по которому проведены следующие операции (табл. 3.7).

Таблица 3.7. Проводки по счету «Контрагенты»

Период

Счет дт

Аналитика

Счет кт

Аналитика

Сумма

1

31.05.2013

Касса

Контрагенты

Иванов

8

2

31.05.2013

Контрагенты

Петров

Касса

3

3

20.06.2013

Контрагенты

Иванов

Касса

10

4

20.06.2013

Касса

Контрагенты

Петров

10

Предположим, требуется узнать за период с 01.06.2013 по 30.06.2013 начальный остаток,
обороты и конечный остаток на счете Контрагенты. Причем требуется развернуть
остатки по контрагентам, т. е. получить остатки в разрезе аналитики (Субконто1),
ведущейся на счете.

Это можно сделать с помощью следующего запроса (листинг 3.75).

Листинг 3.75. Получение развернутых остатков из таблицы остатков и оборотов


background image

Развернутый остаток не имеет смысла без критерия, по которому он будет
«разворачиваться». В практике учета чаще всего получают развернутые остатки счета с
разворотом по аналитике этого счета. Поэтому в выборку запроса включено поле
Субконто1 (в качестве первого субконто на счете Контрагенты учитываются
Контрагенты).

Поля развернутых остатков, присутствующие в виртуальных таблицах в детальной
выборке запроса, полностью повторяют содержимое полей остатков (свернутых).
Развернутые остатки имеют смысл только при наличии в запросе итогов. Поэтому в
запросе мы рассчитываем итоги по полю Счет, суммируя все числовые поля.

В результате будет получена следующая динамика остатков и оборотов по счету
Контрагенты за июнь 2013 года (рис. 3.78).

Рис. 3.78. Остатки, развернутые остатки и обороты по счету «Контрагенты»

Мы видим, что на 01.06.2013 контрагент Иванов был нашим кредитором, и мы были ему
должны 8 рублей. В текущем отчетном периоде мы заплатили ему 10 рублей.
Переплатили 2 рубля, и теперь он наш дебитор (он нам должен 2 рубля). Контрагент
Петров, наоборот, был дебитором (был нам должен 3 рубля), в текущем отчетном