Файл: Хрусталева Е. Ю. Язык запросов 1С-Предприятия 8 (2013).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.03.2019
Просмотров: 51813
Скачиваний: 8725
Рис. 3.71. Обороты между счетами «Товары» и «Поставщики»
Периодичность таблиц оборотов
Виртуальные таблицы – таблица оборотов, таблица оборотов и остатков и таблица
оборотов ДтКт – содержат параметр Периодичность. При помощи этого параметра
можно задать дополнительный разворот оборотов по периодичности. Параметр может
принимать одно из следующих значений (табл. 3.6).
Таблица 3.6. Значения, которые может принимать параметр «Периодичность»
Период
Комментарий
Период или
пусто
Не разворачивать
Год
Разворачивать по годам
Полугодие
Разворачивать по полугодиям
Квартал
Разворачивать по кварталам
Месяц
Разворачивать по месяцам
Декада
Разворачивать по декадам
Неделя
Разворачивать по неделям
День
Разворачивать по дням
Час
Разворачивать по часам
Минута
Разворачивать по минутам
Секунда
Разворачивать по секундам
Регистратор
Разворачивать по регистраторам
Запись
Разворачивать по записям (движениям регистра)
Авто
Периодичность определяется автоматически, в зависимости от
используемых в запросе полей периодов
Значение по умолчанию, если параметр не заполнен – Период.
При установке в параметре Периодичность значения, отличного от Период, в таблице
появляются новые поля, по которым можно сгруппировать данные.
В случае, если периодичность задана и не равна Период, в таблице появляется поле
Период, содержащее дату начала периода. Например, если выбрана периодичность
Месяц, то в таблице появятся первые числа всех месяцев, за которые были обороты.
Рассмотрим использование периодичности при построении виртуальной таблицы оборотов
ДтКт. Например, с помощью следующего запроса можно получить все обороты между
счетами Касса и Покупатели с разворотом по месяцам (листинг 3.69).
Листинг 3.69. Обороты между счетами с периодичностью «Месяц»
При периодичности запроса Месяц поле Период будет содержать дату начала каждого
месяца. Как мы видим на рисунке внизу, часть проводок по корреспондирующим счетам
Касса и Покупатели сделаны в мае 2013 года на сумму 450, а часть – в июне 2013 года,
на сумму 40 (рис. 3.72).
Рис. 3.72. Обороты между счетами «Касса» и «Покупатели» с периодичностью «Месяц»
Предположим, мы хотим детализировать обороты между этими счетами с точностью до
регистратора (листинг 3.70).
Листинг 3.70. Обороты между счетами с периодичностью «Регистратор»
В случае, если периодичность равна Регистратор, в таблице, помимо поля Период,
появляется поле Регистратор, содержащее ссылку на документ-регистратор.
Например, мы видим, какими документами были проведены операции между счетами
Касса и Покупатели за июнь 2013 года (рис. 3.73).
Рис. 3.73. Обороты между счетами «Касса» и «Покупатели» с периодичностью «Регистратор»
Если мы хотим еще более детализировать информацию с точностью до проводки (записи
движения регистра), то при получении оборотов следует использовать периодичность
Запись (листинг 3.71).
Листинг 3.71. Обороты между счетами с периодичностью «Запись»
В случае, если периодичность равна Запись, в таблицах, помимо полей Период и
Регистратор, появляется поле НомерСтроки, содержащее порядковый номер записи
движения регистра. Например, мы видим, из каких проводок складывался оборот за май
2013 года между счетами Касса и Покупатели (рис. 3.74).
Рис. 3.74. Обороты между счетами «Касса» и «Покупатели» с периодичностью «Запись»
Все вышесказанное справедливо также для виртуальных таблиц оборотов, остатков и
оборотов. Однако таблица остатков и оборотов имеет свои особенности, которые будут
рассмотрены в разделе «
Периодичность таблицы остатков и оборотов
».
Получение остатков и оборотов
Для получения остатков и оборотов по счету в разрезе субконто и измерений
используется виртуальная таблица ОстаткиИОбороты(). Таблица остатков и оборотов
позволяет получить обороты по счету, аналогично таблице оборотов, однако не
предоставляет возможности анализировать обороты с корреспондирующими счетами,
субконто, измерениями. Таблица остатков и оборотов может быть использована при
разработке оборотно-сальдовых ведомостей и других отчетов, где для каждой строки
необходимо показать остаток на начало периода, обороты за период и остаток на конец
периода.
Виртуальная таблица ОстаткиИОбороты имеет следующий состав полей:
<Имя измерения> – поле, содержащее значения измерения регистра, в разрезе
которого посчитаны остатки и обороты. Количество таких полей равно количеству
измерений, определенных для регистра как объекта конфигурации;
<Имя общего реквизита> – поле, содержащее значения общего реквизита с именем,
заданным в конфигурации. Такие поля создаются для общих реквизитов, являющихся
разделителями (режим разделения данных – Разделять) с режимом использования
разделяемых данных НезависимоИСовместно, в которых участвует данный регистр;
<Имя ресурса>НачальныйОстаток, <Имя ресурса>НачальныйОстатокДт, <Имя
ресурса>НачальныйОстатокКт, <Имя
ресурса>НачальныйРазвернутыйОстатокДт, <Имя
ресурса>НачальныйРазвернутыйОстатокКт – эти поля имеют тип Число. Поля
аналогичны полям таблицы остатков (подробнее можно прочитать в разделе
«
»). Если значение параметра виртуальной таблицы
Периодичность не задано или задано как Период, то начальные остатки
рассчитываются на дату начала интервала, указанного в параметре таблицы
остатков и оборотов НачалоПериода, иначе – на начало периода, к которому
относится данная запись;
<Имя ресурса>КонечныйОстаток, <Имя ресурса>КонечныйОстатокДт, <Имя
ресурса>КонечныйОстатокКт, <Имя
ресурса>КонечныйРазвернутыйОстатокДт, <Имя
ресурса>КонечныйРазвернутыйОстатокКт – эти поля имеют тип Число. Поля
аналогичны полям таблицы остатков (подробнее можно прочитать в разделе
«
»). Если значение параметра виртуальной таблицы
Периодичность не задано или задано как Период, то начальные остатки
рассчитываются на дату начала интервала, указанного в параметре таблицы
остатков и оборотов КонецПериода, иначе – на конец периода, к которому относится
данная запись;
<Имя ресурса>Оборот, <Имя ресурса>ОборотДт, <Имя ресурса>ОборотКт – эти
поля имеют тип Число. Поля аналогичны полям таблицы оборотов, подробнее можно
прочитать в разделе «
»;
Счет – имеет тип ПланСчетовСсылка.<имя>. Содержит счет, в разрезе которого
посчитаны остатки и обороты;
Субконто<Номер субконто> – имеет тип Характеристика.<имя>. Содержит
значение субконто, в разрезе которого посчитаны остатки и обороты. Количество
полей Субконто зависит от максимального количества субконто на счете плана
счетов. Номер субконто начинается с 1. Набор и порядок субконто определяются
параметром Субконто;
НомерСтроки – имеет тип Число. Существует только в случаях, если указано
значение параметра виртуальной таблицы оборотов Периодичность: Запись.
Содержит значение поля НомерСтроки записи движения регистра;
Период – имеет тип Дата. Существует только в случаях, если указано значение
параметра виртуальной таблицы оборотов Периодичность: Год, Полугодие,
Квартал, Месяц, Декада, Неделя, День, Секунда, Минута, Час, Регистратор или
Запись. Данное поле содержит начальную дату и время периода, к которому
относится оборот регистра;
Регистратор – имеет тип ДокументСсылка.<имя>. Существует только в случаях,
если указано значение параметра виртуальной таблицы оборотов Периодичность:
Регистратор или Запись. Данное поле содержит ссылку на документ-регистратор, к
которому относится оборот регистра.
Параметры виртуальной таблицы остатков и оборотов позволяют задать условие отбора
данных из информационной базы. Параметры следует задавать строго в порядке их
описания:
НачалоПериода, КонецПериода – имеет тип Дата, МоментВремени или Граница.
Период времени, за который будут получены остатки и обороты. Если параметры не
заданы, то будут получены все итоги по регистру;
Периодичность – содержит конструкцию языка запросов. Позволяет задать
дополнительную группировку данных по стандартным периодам. Возможные
значения: Период, Год, Полугодие, Квартал, Месяц, Декада, Неделя, День, Час,
Минута, Секунда, Регистратор, Запись. Если периодичность не задана или задана
как Период, дополнительной группировки не выполняется;
МетодДополнения – этот параметр содержит конструкцию языка запросов.
Возможны два значения: Движения или ДвиженияИГраницыПериода. Управляет
включением в отчет периодов, не имеющих оборотов, но имеющих остатки;
УсловиеСчета – содержит конструкцию языка запросов. Позволяет установить
фильтр по счету или счетам. Как правило, содержит следующие условия: Счет = (В
ИЕРАРХИИ, В) &Счет;
Субконто – имеет тип ПланВидовХарактеристикСсылка.<имя> или содержит
массив значений этого типа. Задает набор и порядок субконто, которыми можно
оперировать в запросе. А также служит для отбора оборотов регистра по видам
субконто. Если параметр задан, то будут выбираться данные только по тем счетам, у
которых определены все указанные виды субконто. Если параметр не задан, то
ограничений по видам субконто нет. Субконто определяются позиционно по
соответствующему счету;
Условие – содержит конструкцию языка запросов. Позволяет устанавливать отбор