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

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

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

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

Добавлен: 12.03.2019

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

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

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

<Имя ресурса>Оборот – поле, содержащее оборот ресурса регистра по именам
ресурсов, как они заданы в конфигураторе, с добавлением слова Оборот. Содержит
разницу оборотов (оборот дебета минус оборот кредита);
<Имя ресурса>ОборотДт – поле, содержащее дебетовый оборот ресурса регистра
по именам ресурсов, как они заданы в конфигураторе, с добавлением слова
ОборотДт;
<Имя ресурса>ОборотКт – поле, содержащее кредитовый оборот ресурса регистра
по именам ресурсов, как они заданы в конфигураторе, с добавлением слова
ОборотКт;
<Имя ресурса>КорОборот – поле, содержащее оборот небалансового ресурса
регистра корреспондирующих счетов, по именам ресурсов, как они заданы в
конфигураторе, с добавлением слова КорОборот. Содержит разницу оборотов (кор
оборот дебета минус кор оборот кредита);
<Имя ресурса>КорОборотДт – поле, содержащее дебетовый оборот
небалансового ресурса регистра корреспондирующих счетов, по именам ресурсов,
как они заданы в конфигураторе, с добавлением слова КорОборотДт;
<Имя ресурса>КорОборотКт – поле, содержащее кредитовый оборот
небалансового ресурса регистра корреспондирующих счетов, по именам ресурсов,
как они заданы в конфигураторе, с добавлением слова КорОборотКт;
Счет – имеет тип ПланСчетовСсылка.<имя>. Содержит счет, в разрезе которого
посчитан оборот;
КорСчет – имеет тип ПланСчетовСсылка.<имя>. Содержит корреспондирующий
счет, в разрезе которого посчитан оборот;
Субконто<Номер субконто> – имеет тип Характеристика.<имя>. Содержит
значение субконто, в разрезе которого посчитан оборот. Количество полей Субконто
зависит от максимального количества субконто на счете плана счетов. Номер
субконто начинается с 1. Набор и порядок субконто определяются параметром
Субконто;
КорСубконто<Номер субконто> – имеет тип Характеристика.<имя>. Содержит
значение корреспондирующего субконто, в разрезе которого посчитан оборот.
Количество полей Субконто зависит от максимального количества субконто на счете
плана счетов. Номер субконто начинается с 1. Набор и порядок субконто
определяются параметром КорСубконто;
НомерСтроки – имеет тип Число. Существует только в случаях, если указано
значение параметра виртуальной таблицы оборотов ПериодичностьЗапись.
Содержит значение поля НомерСтроки записи движения регистра;
Период – имеет тип Дата. Существует только в случаях, если указано значение
параметра виртуальной таблицы оборотов ПериодичностьГодПолугодие,
КварталМесяцДекадаНеделяДеньСекундаМинутаЧасРегистратор или
Запись. Данное поле содержит начальную дату и время периода, к которому
относится оборот регистра;
Регистратор – имеет тип ДокументСсылка.<имя>. Существует только в случаях,
если указано значение параметра виртуальной таблицы оборотов Периодичность:


background image

Регистратор или Запись. Данное поле содержит ссылку на документ-регистратор, к
которому относится оборот регистра.

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

НачалоПериодаКонецПериода – имеет тип ДатаМоментВремени или Граница.
Период времени, за который будут получены обороты. Если параметры не заданы, то
будут получены все обороты регистра;
Периодичность – содержит конструкцию языка запросов. Позволяет задать
дополнительную группировку данных по стандартным периодам. Возможные
значения: ПериодГодПолугодиеКварталМесяцДекадаНеделяДеньЧас,
МинутаСекундаРегистраторЗапись. Если периодичность не задана или задана
как Период, дополнительной группировки не выполняется;
УсловиеСчета – содержит конструкцию языка запросов. Позволяет установить
фильтр по счету или счетам. Как правило, содержит следующие условия: Счет = (В
ИЕРАРХИИ, В) &Счет
;
Субконто – имеет тип ПланВидовХарактеристикСсылка.<имя> или содержит
массив значений этого типа. Задает набор и порядок субконто, которыми можно
оперировать в запросе. А также служит для отбора оборотов регистра по видам
субконто. Если параметр задан, то будут выбираться данные только по тем счетам, у
которых определены все указанные виды субконто. Если параметр не задан, то
ограничений по видам субконто нет. Субконто определяются позиционно по
соответствующему счету;
Условие – содержит конструкцию языка запросов. Позволяет устанавливать отбор
данных виртуальной таблицей по значениям субконто и измерений регистра
бухгалтерии;
УсловиеКорСчета – содержит конструкцию языка запросов. Позволяет установить
фильтр по корреспондирующему счету или счетам. Как правило, содержит
следующие условия: КорСчет = (В ИЕРАРХИИ, В) &КорСчет;
КорСубконто – имеет тип ПланВидовХарактеристикСсылка.<имя> или содержит
массив значений этого типа. В этот параметр таблицы можно передать ссылку на вид
субконто для получения отбора по этому виду или массив видов для установки
отбора и упорядочивания видов субконто в результате запроса.

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

Пример 1
Предположим, требуется узнать, сколько было куплено и списано различных товаров. Для
этого нужно получить дебетовые и кредитовые обороты (КоличествоОборотДт,
КоличествоОборотКт) со счета товаров в разрезе первого субконто (Номенклатура),
прикрепленного к счету товаров.


background image

Также нужно узнать с какого корреспондирующего счета (субконто корреспондирующего
счета) были получены те или иные товары. Для этого нужно получить обороты в разрезе
поля КорСчет и КорСубконто (листинг 3.62).

Листинг 3.62. Поступление и списание товаров со счета «Товары»

В запрос в качестве параметра передается условие по счету, где СчетТоваров – ссылка
на предопределенный счет Товары плана счетов.

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

Рис. 3.67. Поступление и списание товаров со счета «Товары»

Заметьте, что в результате запроса присутствуют две строки, где и основным, и
корреспондирующим счетом является счет Товары. При этом в дебет счета поступила
одна единица номенклатуры Комплект, а с кредита счета списан товар Паркер в
количестве 10 штук.

Чтобы проанализировать, из какого количества авторучек Паркер какое количество
Комплектов было собрано, нам потребуется использовать в запросе поле с постфиксом
КорОборот. Наглядно представить эту информацию можно с помощью следующего
запроса (листинг 3.63).

Листинг 3.63. Корреспонденция счета «Товары» с самим собой. Комплектация товаров


background image

В запросе мы устанавливаем фильтр по полям Счет и КорСчет, и получим таким
образом в качестве итогов обороты по всем проводкам, где корреспондировали между
собой счет Товары и счет Товары (рис. 3.68).

Рис. 3.68. Корреспонденция счета «Товары» с самим собой. Комплектация товаров

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

Листинг 3.64. Обороты между счетами «Касса» и «Покупатели»


background image

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

Результат выполнения запроса представлен на рис. 3.69.

Рис. 3.69. Обороты между счетами «Касса» и «Покупатели»

Особенности использования периодов и моментов времени при получении оборотов
Параметр Период виртуальной таблицы оборотов может принимать значения типа Дата,
МоментВремени или Граница. Рассмотрим особенности использования этих объектов
при получении оборотов.

В нашей демонстрационной конфигурации журнал проводок по счету Касса за июнь 2013
года содержит четыре проводки за первое и второе июня по 10 рублей каждая (табл.
3.5).

Таблица 3.5. Проводки по счету «Касса» за июнь 2013

Период

Счет дебета

Счет кредита

Сумма

01.06.2013 12:00:00

Касса

Покупатели

10.00

01.06.2013 23:59:59

Касса

Покупатели

10.00

Оборот за 01.06.2013

20,00

02.06.2013 0:00:00

Касса

Покупатели

10.00

02.06.2013 12:00:00

Касса

Покупатели

10.00

Оборот за 02.06.2013

20,00

Для анализа оборотов мы воспользуемся функцией, которая получает обороты на счете
Касса за период с НачПериода по КонПериода при помощи следующего запроса (листинг
3.65).