Виртуальные таблицы регистра бухгалтерии

Курс

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

Выборка из регистра бухгалтерии

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

Выборка проводок:

Выборка значений субконто:

Виртуальные таблицы регистра бухгалтерии

У регистра бухгалтерии немного больше виртуальных таблиц, чем у регистра накопления:

  • ДвиженияССубконто
  • Остатки
  • Обороты
  • ОборотыДтКт
  • ОстаткиИОбороты

При этом у регистра бухгалтерии без поддержки корреспонденции не будет виртуальной таблицы ОборотыДтКт.

ДвиженияССубконто

Виртуальная таблица ДвиженияССубконто содержит в себе поля как основной таблицы регистра бухгалтерии, так и таблицы значений субконто:

Данная таблица получается соединением основной таблицы и таблицы значений субконто. Из всех виртуальных таблиц только данная таблица может содержать неактивные записи (поле Активность = Ложь), но при этом в самой таблице есть поле Активность, поэтому неактивные записи можно будет исключить в запросе.

Таблица ДвиженияССубконто имеет следующие параметры:

  • С помощью параметров НачалоПериода и КонецПериода можно ограничить выборку записей по периоду. Тип может быть Дата, МоментВремени, Граница.
  • Параметр Условие позволяет наложить отбор на любые поля таблицы.
  • Параметр Упорядочивание позволяет задать поле по которому нужно отсортировать таблицу. После имени поля можно указать ВОЗР или УБЫВ для определения порядка сортировки (по возрастанию или по убыванию).
  • Параметр Первые позволяет ограничить количество выбираемых записей.

Данный запрос выберет первые 10 записей за период между &НачДата и &КонДата, с отбором по счету дебета = &СчетДт, выборка будет отсортирована по полю Организация.

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

Как правило данную таблицу используют для получения проводок вместе с субконто.

Виртуальная таблица остатки

Отличия от виртуальной таблицы регистра накопления

Виртуальная таблица остатков регистра бухгалтерии очень сильно похожа на виртуальную таблицу остатков регистра накопления, поэтому рассмотрим только основные отличия.

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

В нашем примере в настройках плана счетов было указано максимум два субконто, поэтому в таблице есть два поля для субконто: Субконто1 и Субконто2. Если на каком-то счете присутствует только одно субконто, то в поле Субконто2 будет NULL.

Во-вторых, для каждого ресурса создается по пять полей:

  • Остаток
  • ОстатокДт
  • ОстатокКт
  • РазвернутыйОстатокДт
  • РазвернутыйОстатокКт

В поле Остаток будет остаток, как он хранится в таблице итогов. Дебетовый остаток будет больше нуля, кредитовый меньше.

Поля ОстатокДт и ОстатокКт рассчитываются по разному, в зависимости от вида счета:

  • Для активного счета ОстатокКт всегда равен нулю, а ОстатокДт = Остаток.
  • Для пассивного счета ОстатокДт всегда равен нулю, а ОстатокКт = -Остаток.
  • Для активно-пассивного счета, если Остаток > 0, то ОстатокДт = Остаток, а ОстатокКт = 0. Если Остаток < 0, то ОстатокДт = 0, а ОстатокКт = -Остаток.

В данном примере счете 41.01 активный, счет 60 — пассивный, а счета 76.01 и 76.02 — активно-пассивные.

Даже если у активного счета остаток будет меньше нуля, то он будет отображаться как дебетовый остаток, но с минусом. Аналогично с пассивным счетом: если остаток больше нуля, то он будет по кредиту, но с минусом:

Признак Балансовый у измерений и ресурсов никак не влияет на количество полей.

В-третьих, есть отличие при формировании виртуальной таблицы. Если в таблице итогов последние рассчитанные итоги были за июль 2021 года (то есть в таблице итогов есть запись с датой 01.07.2021 с остатком на конец июня и оборотом за июль), то при получении остатка на 20 июля для регистра накопления будет получен остаток из текущих итогов и по записям таблицы движений за период 20.07.2021 — 01.11.3999 будет досчитан остаток на 20 июля.

У регистра бухгалтерии в одной строке с остатком хранится оборот за текущий месяц, поэтому к остатку на конец июня будет прибавлен дебетовый оборот за июль, вычтен кредитовый оборот за июль, а потом от этого остатка по движениям за 20.07.2021 — 31.07.2021 будет досчитан остаток на 20 июля 2021.

В-четвертых, есть два новых параметра: УсловиеСчета и Субконто:

УсловиеСчета позволяет задать отбор по счетам учета, можно указать несколько счетов.

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

Если нужно получить остатки по счету, включая все его субсчета, то нужно использовать ключевое слово в ИЕРАРХИИ:

Параметр Субконто

В параметр Субконто можно передать массив видов субконто для отбора по видам субконто счетов. То есть если в данный параметр передать массив, который будет содержать в себе две ссылки на план видов характеристик Виды субконто, то в выборку попадут остатки только по тем счетам, у которых есть оба эти вида субконто:

Однако в большинстве случаев данный параметр используется для другой цели. Например, у нас есть два счета: 41.01 и 10:

Настройки обоих счетов практически идентичны, однако у счета 41.01 на первом месте субконто Номенклатура, на втором Склады. А у 10 счета наоборот.

Если сейчас выполнить такой запрос:

То в результате у нас товары перемешаются со складами:

Потому что на 41.01 счете первое субконто это номенклатура, а на 10 счете первое субконто — склады.

Чтобы упорядочить виды субконто на всех счетах тоже используется параметр Субконто. Теперь виды субконто на счетах учета будут идти в том порядке, в каком они перечислены в параметре ВидыСубконто:

Параметр ВидыСубконто:

Результат:

Развернутый остаток

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

Рассмотрим на примере: есть два контрагента Иванов и Петров. Иванов должен нам 100 рублей, Петрову мы должны 200 рублей:

Сейчас поля с развернутым остатком полностью совпадают с обычным остатком. Развернутый остаток имеет смысл только при использовании итогов в запросе. Если нужно получить общий остаток по счету:

Для обычного остатка итоговый остаток равен 100 рублей по кредиту. Это значит, что только мы должны нашим контрагентам 100 рублей. Однако Иванов и Петров не договаривались между собой о взаимозачете. И если посмотреть развернутый остаток, то видно, что нам должны 100 рублей и мы должны 200 рублей.

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

Можно сказать, что развернутый остаток — это аналитический остаток (с учетом аналитики). В то время как обычный остаток — это синтетический остаток (без учета аналитики, в целом по счету).

Метод Остатки

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

Виртуальная таблица обороты

Обороты регистра бухгалтерии

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

Состав полей виртуальной таблицы:

Обороты можно получить в разрезе всех измерений, субконто и счетов учета.

Для каждого небалансового измерения и ресурса создаются дополнительные поля, которые содержат в наименовании Кор, так как значения небалансовых измерений и ресурсов могут отличаться для счета дебета и счета кредита:

Так как валютный учет ведется только на 60 счете, то измерение валюта заполняется только для него. Ресурс Количество заполняется только для 10 и 41 счета, так как только на них ведется количественный учет.

Субконто тоже можно выбрать как для основного счета, так и для корреспондирующего:

Параметры виртуальной таблицы оборотов:

Параметры НачалоПериода, КонецПериода, Периодичность и Условие совпадают с аналогичными параметрами регистра накопления.

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

Дополнительно есть параметры УсловиеКорСчета и КорСубконто. Они аналогичны параметрам УсловиеСчета и Субконто, но применяются для корреспондирующего счета

Например, можно получить обороты со всеми корреспондирующими счетами для одного счета:

Если убрать отбор по счету и установить его по кор. счету, то получится то же самое, только поля Счет и КорСчет поменяются местами, а также поменяются местами дебет и кредит для ресурса Сумма:

Если установить отбор как по счету, так и по кор. счету, то можно получить обороты между двумя счетами:

Алгоритм формирования виртуальной таблицы оборотов регистра бухгалтерии такой же, так у регистра накопления. Но если в запросе используются поля, которые содержат в своем наименовании Кор, то используется только таблица движений регистра бухгалтерии.

Если регистр бухгалтерии не поддерживает корреспонденцию, то в таблице оборотов не будет полей со словом Кор в наименовании.

Метод Обороты

Также есть метод Обороты, который позволяет получить таблицу оборотов регистра бухгалтерии:

Виртуальная таблица ОборотыДтКт

Обороты между корреспондирующими счетами

Виртуальная таблица ОборотыДтКт очень сильно похожа на виртуальную таблицу оборотов. Отличается состав полей таблицы:

Параметры тоже почти такие же:

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

Еще одно отличие в том, что в таблице ОборотыДтКт явно указывается отбор по счету дебета или по счету кредита, а в таблице оборотов указывается отбор по счету и кор. счету, при этом сам счет может быть как в дебете проводки, так и в кредите.

Например, в базе есть следующие проводки по 60 счету:

Если выполнить запрос к таблице оборотов с отбором по 60 счету:

То мы получим все корреспонденции с 60 счетом, а по ресурсам СуммаОборотДт и СуммаОборотКт можно понять с какой стороны был 60 счет. Там где заполнена СуммаОборотДт 60 счет был в дебете проводки, а где заполнена СуммаОборотКт в кредите.

Если выполнить аналогичный запрос к таблице ОборотыДтКт:

То мы получим только те обороты, где 60 счет был в дебете проводки.

Если установить отбор по счету кредита:

То будут получены только те обороты, где 60 счет был в кредите проводки.

В основном таблицу ОборотыДтКт используют для получения оборотов, когда заранее известно какой счет дебетуется, а какой кредитуется.

Данная таблица существует только для регистров с поддержкой корреспонденции.

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

Метод ОборотыДтКт

С помощью метода ОборотыДтКт можно получить таблицу оборотов между корреспондирующими счетами регистра бухгалтерии:

Виртуальная таблица Остатки и обороты

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

Она включает в себя поля аналогичные таблице остатков и таблице оборотов регистра бухгалтерии, за исключением полей, содержащих в наименовании Кор:

Параметры аналогичны таблице оборотов плюс добавляется параметр МетодДополнения, который аналогичен такому же параметру для таблицы остатков и оборотов регистра накопления:

С помощью данной таблицы можно получить оборотно-сальдовую ведомость по счетам учета:


Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok