регистр бухгалтерии 1с параметр субконто

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

Введение

В предыдущей статье по регистрам бухгалтерии «Регистры бухгалтерии. Настройки, субконто и движения с субконто» мы подробным образом рассмотрели работу настроек этого регистра, а также внутренности виртуальных таблиц «Субконто» и «Движения с субконто». Коснулись некоторых особенностей настроек и их влияние на хранение данных регистра на стороне базы данных.регистр бухгалтерии 1с параметр субконто. Смотреть фото регистр бухгалтерии 1с параметр субконто. Смотреть картинку регистр бухгалтерии 1с параметр субконто. Картинка про регистр бухгалтерии 1с параметр субконто. Фото регистр бухгалтерии 1с параметр субконто

регистр бухгалтерии 1с параметр субконто. Смотреть фото регистр бухгалтерии 1с параметр субконто. Смотреть картинку регистр бухгалтерии 1с параметр субконто. Картинка про регистр бухгалтерии 1с параметр субконто. Фото регистр бухгалтерии 1с параметр субконтоСегодня мы продолжим анализ работы регистра, но на этот раз рассмотрим только одну виртуальную таблицу «Обороты». Такая маленькая, и такая интересная!

Все данные для публикации получены с помощью инструментов:

Начнем с простых запросов, которые генерирует платформа 1С, и закончим на особенностях и вопросах производительности.

Небольшое отступление

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

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

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

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

Простой пример

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

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

Как мы видим, платформа получает данные из основной таблицы регистра для получения оборотов по указанным ресурсам. Алгоритм такой:

Чтобы пример был более полным, установим параметр «НачалоПериода» как 10.12.2018, т.е. меньше минимальной даты рассчитанных итогов, но не более чем на 1 месяц. Вот такой запрос будет сформирован к базе данных.

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

Ранее в одной из статей мы говорили о том, почему рассчитывать итоги очень важно. И снова на примере выше было показано, что если итоги не обслуживаются, то запросы к регистру бухгалтерии будут работать менее эффективно. Давайте перейдем к более сложному примеру.

А если добавить субконто

Настало время усложнить пример и добавить в запрос субконто, отбор по счету и измерению «Организация».

Намешали сразу почти все, что можно в этой виртуальной таблице, кроме кор. счета и аналитики с ресурсами по нему, т.к. об этом позже. Вот какой запрос, а точнее серию запросов, в этом случае сформирует платформа 1С.

Запрос стал больше и сложнее, но на самом деле ничего сверхъестественного тут нет:

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

Данные кор. счета

Немного изменим пример, добавив кор. счет с аналитикой и обороты по количеству (т.к. это не балансовый ресурс) по нему.

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

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

Будьте осторожны с получением данных оборотов по корреспондирующим счетам и их аналитике.

Особая периодичность

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

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

Использовать периодичность нужно очень осторожно, т.к. некорректное ее указание может значительно снизить производительность информационной системы.

Производительность запросов

Мы рассмотрели несколько примеров работы виртуальной таблицы «Обороты» регистра бухгалтерии. В контексте производительности напрашиваются такие выводы:

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

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

Следующий раунд

Среди всех виртуальных таблиц регистров бухгалтерии именно таблица «Обороты» является самой «легкой» как в использовании в запросах, так и с точки зрения потребления ресурсов и производительности. Однако, даже она по производительности часто уступает таблице оборотов регистра накопления и это нормально. Ведь у этих регистров совершенно разные задачи.

Регистры бухгалтерии достаточно сложные и «тяжелые» как с точки зрения хранения данных, так и в части использования в разработке. Именно поэтому нужно использовать их для учетных задач, но никак не для оперативного учета. Представьте что было бы, если бы чеки ККМ формировали проводки при проведении 🙂 Прощай розница! :)))

Все данные для публикации получены с помощью инструментов:

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

Источник

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

Объяснитепожалуйста зачем нужен параметр ВидСубконто в приведенном коде?

Вот тестовый пример в пустой Бухгалтерии 3.0 КОРП создаем счет 100, его субсчет 100.1 (оба запретим использовать в проводках)
Вот запрос в консоли:

Вот оба отбора. Замечу, что если мы укажем в запросе к виртуальной таблице остатков регистра бухгалтерии поле «субконто3» (больше чем нужно), то запрос вылетит с ошибкой!
Из справки по виртуальной таблице остатков регистра бухгалтерии для параметра «Субконто»:

Тип параметра: ПланВидовХарактеристикСсылка. ; Массив; ФиксированныйМассив; СписокЗначений.
Передается ссылка, или массив ссылок, или фиксированный массив ссылок, или список значений, содержащий ссылки, на виды субконто.
Задает набор и порядок субконто, которыми можно оперировать в запросе. Так же ограничивает записи регистра.
Если параметр задан, то будут выбираться данные только по тем счетам, у которых определенны все указанные виды субконто. Если не задан, то ограничений по видам субконто нет. Субконто определяются позиционно по соответствующему счету.
Параметр не существует, если при конфигурировании для плана счетов не указаны субконто.
Значение по умолчанию: Неопределено.

И для самой виртуальной таблицы из встроенной справки 1С 8:

( )
Остаток ( Balance)
ОстатокДт ( BalanceDr)
ОстатокКт ( BalanceCr)
РазвернутыйОстатокДт ( SplittedBalanceDr)
РазвернутыйОстатокКт ( SplittedBalanceCr)
Субконто (ExtDimension )
Счет (Account)

Период (Period)
Условие счета (Account condition)
Субконто (Extra dimensions)
Условие (Condition)

Источник

Задачи бухгалтерского учета – тема № 3:
Что нужно знать об объекте «Регистр бухгалтерии».

Для того чтобы решать задачи из раздела по бухгалтерскому учету, нужно владеть базовыми терминами и понятиями, иметь представление об используемых объектах. Рассмотрим один из таких объектов – Регистр бухгалтерии.

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

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

Рассмотрим, как все это реализовано в платформе «1С:Предприятие 8.3».

Свойство «Корреспонденция»

У регистра бухгалтерии всегда присутствуют как минимум два условных «измерения». Свойство «Корреспонденция» позволяет настраивать «тип» этих измерений. Если свойство установлено, то регистр бухгалтерии будет содержать измерения «СчетДт» и «СчетКт» и контролировать указание значений этих измерений в рамках одной проводки, если нет – будет содержать измерения «Счет» и «Вид движения»:

регистр бухгалтерии 1с параметр субконто. Смотреть фото регистр бухгалтерии 1с параметр субконто. Смотреть картинку регистр бухгалтерии 1с параметр субконто. Картинка про регистр бухгалтерии 1с параметр субконто. Фото регистр бухгалтерии 1с параметр субконто

Рисунок 1 – Свойство «Корреспонденция» регистра бухгалтерии

В виде таблицы это можно представить следующим образом:

СчетДт

СчетКт

Сумма

Таблица 1 – Регистр бухгалтерии с поддержкой корреспонденции

Счет

Вид движения

Сумма

Таблица 2 – Регистр бухгалтерии без поддержки корреспонденции

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

СчетДт

Субконто1

СчетКт

Сумма

Таблица 3 – Движения регистра с поддержкой корреспонденции

Счет

Субконто1

Вид движения

Сумма

Таблица 4 – Движения регистра без поддержки корреспонденции

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

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

Важно! Отключение свойства «Корреспонденция» не отключает контроль двойной записи. То есть сумма приходов должна быть равна сумме расходов по всем счетам, измерениям и ресурсам с установленным свойством «Балансовый» – см. таблицу 4. На экзамене галочка «Корреспонденция» всегда должна быть установлена, так как задач по регистру бухгалтерии без поддержки корреспонденции на экзамене нет.

Свойство «Балансовый» измерений и ресурсов регистра бухгалтерии

Свойство «Балансовый» измерений и ресурсов регистра бухгалтерии отвечает за контроль двойной записи (баланса) по измерению или ресурсу.

Напомним, что принцип двойной записи гласит, что проводка всегда состоит из двух частей – дебета и кредита и изменениях в этих частях одинаковые. Применительно к измерениям и ресурсам регистра бухгалтерии данное правило означает, что при установленном свойстве «Балансовый» значение измерения или ресурса в дебете и кредите будет одинаковым. На уровне платформы такой контроль осуществляется однократным указанием значения измерения или ресурса в проводке:

СчетДт

СчетКт

Организация

Сумма

Таблица 5 – Измерения «Организация» и «Сумма» с поддержкой баланса

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

Отключение свойства «Балансовый» у измерения «Организация» позволит указать разные организации в дебетовой и кредитовой частях проводки – двойная запись не контролируется:

СчетДт

ОрганизацияДт

СчетКт

ОрганизацияКт

Сумма

Таблица 6 – Измерения «Организация» без поддержки баланса

Реальным примером использования небалансовых измерения и ресурса является валютный учет. В регистр бухгалтерии добавляется небалансовое измерение «Валюта» и небалансовый ресурс «Валютная сумма». Тогда при покупке у поставщика товаров за валюту в одной части проводки мы можем указать валюту и сумму в валюте, а сумма в рублях балансовая и распространяется на обе части проводки:

СчетДт

ВалютаДт

Вал.суммаДт

СчетКт

ВалютаКт

Вал.суммаКт

Сумма

Таблица 7 – Измерения «Валюта» и ресурс «Валютная сумма» без поддержки баланса

В результате такой проводки со счета «Поставщики» спишется сумма в 100 евро в разрезе измерения «Валюта» и сумма в 7500 рублей, а на счет «Товары» придет только сумма в 7500 рублей.

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

Что касается счетов, то по умолчанию они создаются с контролем баланса, но существует возможность этот контроль отключить. Делается это с помощью свойства счета «Забалансовый»:

регистр бухгалтерии 1с параметр субконто. Смотреть фото регистр бухгалтерии 1с параметр субконто. Смотреть картинку регистр бухгалтерии 1с параметр субконто. Картинка про регистр бухгалтерии 1с параметр субконто. Фото регистр бухгалтерии 1с параметр субконто

Рисунок 2 – Свойство счета «Забалансовый»

Проводка будет выглядеть вот так:

СчетДт

СчетКт

Сумма

Таблица 8 – Забалансовая проводка

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

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

Таблица движений регистра бухгалтерии с поддержкой корреспонденции является реальной таблицей и имеет следующий вид:

Поле

Комментарий

Документ – регистратор движения

Номер движения в наборе записей

Признак отражения записи в таблицах итогов

Балансовые измерения регистра бухгалтерии

Не балансовые измерения регистра бухгалтерии

Балансовые ресурсы регистра бухгалтерии

Не балансовые ресурсы регистра бухгалтерии

Реквизиты регистра бухгалтерии

Таблица 9 – Основная таблица регистра бухгалтерии с поддержкой корреспонденции

Обратите внимание на поле «Активность». Если у проводки отключить признак активности, то в итоговые таблицы она не попадет. Но в таблице движений все равно будет присутствовать.

Без поддержки корреспонденции:

Поле

Комментарий

Документ – регистратор движения

Номер движения в наборе записей

Признак отражения записи в таблицах итогов

Измерения регистра бухгалтерии

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

Реквизиты регистра бухгалтерии

Таблица 10 – Основная таблица регистра бухгалтерии без поддержки корреспонденции

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

Поле

Комментарий

Документ – регистратор движения

Номер движения в наборе записей

Таблица 11 – Таблица значений субконто регистра бухгалтерии

Эти две реальные таблицы являются основными, опираясь на них, можно получить все необходимые данные – соединением по периоду регистратора и виду движения. Но для оптимизации получения итоговых данных в системе хранятся вспомогательные таблицы итогов. Эти таблицы являются вторичными по отношению к реальным, то есть их можно восстановить из реальных таблиц.

Как упоминалось выше, количество таблиц итогов зависит от максимального количества субконто. Но как минимум одна таблица итогов присутствует всегда – это таблица итогов по счету в целом. Она имеет следующую структуру:

Поле

Комментарий

Измерения регистра бухгалтерии

Остаток по ресурсу

Дебетовый оборот по ресурсу

Кредитовый оборот по ресурсу

Таблица 12 – Таблица итогов по счету в целом любого регистра бухгалтерии

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

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

Поле

Комментарий

Измерения регистра бухгалтерии

Остаток по ресурсу

Дебетовый оборот по ресурсу

Кредитовый оборот по ресурсу

Таблица 13 – Таблица итогов по счету в разрезе субконто 1

Поле

Комментарий

Измерения регистра бухгалтерии

Остаток по ресурсу

Дебетовый оборот по ресурсу

Кредитовый оборот по ресурсу

Таблица 14 – Таблица итогов по счету в разрезе субконто 1 и субконто 2

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

Поле

Комментарий

Измерения регистра бухгалтерии

Таблица 15 – Таблица итогов оборотов между счетами

Напрямую доступа к таблицам итогов у разработчика нет. При разработке прикладного решения разработчик обычно работает с виртуальными таблицами регистра бухгалтерии. Такие таблицы физически не существуют и создаются только при обращении к ним средствами платформы.

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

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

регистр бухгалтерии 1с параметр субконто. Смотреть фото регистр бухгалтерии 1с параметр субконто. Смотреть картинку регистр бухгалтерии 1с параметр субконто. Картинка про регистр бухгалтерии 1с параметр субконто. Фото регистр бухгалтерии 1с параметр субконто

Рисунок 3 – Виртуальные таблицы регистра бухгалтерии

Кстати таблицы «Управленческий» и «Управленческий.Субконто» на рисунке – это как раз реальные таблицы регистра бухгалтерии.

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

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

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

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

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

Дополнительно к параметрам предыдущих двух таблиц в таблице остатков и оборотов добавляется такой параметр как МетодДополнения. Этот параметр управляет включением выборки периодов не имеющих оборотов, но имеющих остатки. Возможные значения – Движения или ДвиженияИГраницыПериода. Значение по умолчанию – ДвиженияИГраницыПериода.

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

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

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

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

Заключение

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

В следующей главе начнем разбирать задачи учета товаров и расчета себестоимости списания.

Источник

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

Еще одна таблица

Также мы коснемся некоторых вопросов производительности таких запросов и сформируем общие рекомендации по их использованию.

Все данные для публикации получены с помощью инструментов:

На практике виртуальная таблица остатков используются очень часто. В той же типовой конфигурации «Бухгалтерия предприятия 3.0» ее использование можно встретить в таких отчетах как:

В общем, эта виртуальная таблица используется очень часто как в отчетах бухгалтерского учета, так и в алгоритмах. Итак, поехали дальше!

Просто получаем остатки

Как и в предыдущих публикациях, здесь мы видим один маленький запрос 1С, но очень большой SQL-запрос к базе данных.

Текст сформированного SQL-запроса очень большой, но принцип работы его очень простой:

В тексте самого запроса оставил комментарии, чтобы проще было разобраться. Подобные запросы работают максимально эффективно как из-за рассчитанных итогов, так и из-за относительно небольшого размета таблицы «ИтогиПоСчетам». Даже если информационная система функционирует несколько лет, в этой таблице редко бывает больше миллиона записей, но не всегда конечно. Ранее мы уже рассматривали вопрос с итогами и пример проблем обслуживания таблиц итогов:

Но давайте усложним текст запроса и рассмотрим что сделает платформа.

Остатки на период

SQL-запрос в результате стал еще больше, т.к. платформа 1С получает данные не только из таблиц итогов «ИтогиПоСчетам», но и из основных таблиц регистра.

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

Тот же принцип работает и для регистра накопления. Подробнее эту тему мы рассматривали в публикации Регистры накопления. Виртуальные таблицы. Часть №2: «Остатки» и «Остатки и обороты».

Вот какие шаги выполняются при получении данных в этом случае:

Этот запрос уже значительно «тяжелее» для выполнения, т.к. платформе 1С приходится «заглянуть» в основные таблицы регистра. Даже с учетом отборов по счету и организации данных для обработки может быть очень много. Отбор может быть просто неселективным и на уровне СУБД будет выполнено сканирование таблицы.

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

Добавим немного субконто

Пойдем дальше и добавим в наш запрос аналитику субконто и ресурс «Количество». В примере делал отбор по счету с 2 субконто, поэтому и в запросе выведено только два поля.

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

Сначала выполняется получение служебных данных:

Когда все данные подготовлены просыпается мафия формируем основной запрос.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *