1с хозрасчетный обороты параметры
Устройство регистра накопления
Все поля регистра накопления можно разделить на три категории: измерения, ресурсы, реквизиты. К этим категориям относятся и все системные поля регистра. Период является измерением. Регистратор и НомерСтроки, с одной стороны, являются измерениями, так как вместе периодом определяют момент времени в которое произошло движение; с другой стороны, они характеризуют конкретную запись и могут быть отнесены к категории реквизитов. Вид движения является реквизитом так как является только характеристикой конкретной записи.
Таблицы регистра накопления остатков
Регистр накопления остатков состоит из двух таблиц: таблицы движения и таблицы итогов. В таблице движений хранятся записи, которые либо вводятся пользователем вручную, либо генерируются в процессе проведения документа или исполнения обработки. Таблица движений имеет следующую структуру:
1. Период
2. Регистратор
3. Номер строки
4. Вид движения
5. <Измерения>
6. <Ресурсы>
7. <Реквизиты>
В таблице итогов хранятся остатки в разрезе всех измерений с периодичностью месяц, на начало месяца. Временной интервал, за который хранятся остатки, ограничивается установкой периода рассчитанных итогов. Период рассчитанных итогов указывается как последний день месяца, по который рассчитаны итоги. То есть если период рассчитанных итогов равен 31.07.2004, то итоги будут рассчитаны по 01.08.2004 включительно. Кроме того, в таблице итогов отдельно хранятся актуальные итоги. Таблица итогов имеет следующую структуру:
1. Период
2. <Измерения>
3. <Ресурсы>
Если период рассчитанных итогов равен 31.07.2004, а самое раннее движение было сделано 02.05.2004, то итоги будут хранится за следующие периоды: 01.06.2004, 01.07.2004, 01.08.2004 и актуальные итоги.
Виртуальная таблица остатков
Виртуальная таблица остатков для расчета данных всегда использует таблицу итогов и иногда таблицу движений. Использование таблицы движений зависит от момента времени, на который считаются остатки, и периода рассчитанных итогов. При расчете остатков используются довольно простая стратегия.
1. Подбирается ближайший больший или равный момент времени, на который рассчитаны остатки.
2. На этот момент получаются остатки из таблицы итогов.
3. Если момент времени, на который считаются остатки, не совпадает с моментом времени итогов, то остатки досчитываются по движениям за период с момента запроса остатков по момент итогов.
Рассмотрим несколько примеров. Пусть период рассчитанных итогов равен 31.07.2004. Мы хотим получить остатки на 01.07.2004, 15.07.2004, 01.08.2004, 15.08.2004 и актуальные остатки.
Для случаев получения остатков на 01.07.2004, 01.08.2004 и актуальных остатков данные будут получены непосредственно из таблицы итогов. В случае получения остатков на 15.07.2004 сначала будут получены данные из таблицы итогов на момент времени 01.08.2004, так как это ближайший больший момент времени, на который посчитаны остатки, а затем будут обработаны данные из таблицы движений за период с 15.07.2004 по 31.07.2004 включительно. В случае получения остатков на 15.08.2004, ближайшим большим моментом времени, на который посчитаны остатки является момент актуальных остатков. Таким образом, для расчета остатков на 15.08.2004, будут получены актуальные итоги и обработаны данные таблицы движений начиная с 15.08.2004.
Виртуальная таблица оборотов
Виртуальная таблица оборотов всегда работает по данным таблицы движений. То есть для получения оборотов за какой-либо период будут обработаны данные таблицы движений за этот период, независимо от периода рассчитанных итогов.
Виртуальная таблица остатков и оборотов
Виртуальная таблица остатков и оборотов рассчитывает одновременно и остатки, и обороты. В зависимости от того, указана периодичность или нет, изменяется способ работы данной таблицы. Если периодичность не указана, то расчет данных производится единым запросом, который в свою очередь содержит подзапросы. Один из них вычисляет остатки на начальный момент периода, как это описано для виртуальной таблицы остатков, второй -обороты за заданный период, как это описано для виртуальной таблицы оборотов. Результаты подзапросов объединяются и выдаются как единый результат.
В случае если периодичность задана, расчет данных разбивается на следующие шаги:
1. Получение остатков на начало заданного периода.
2. Получение оборотов с заданной периодичностью за заданный период.
3. Объединение данных двух запросов.
Отличие оборотного регистра от регистра остатков
В отличие от регистра остатков, оборотный регистр накапливает обороты. По данному регистру нельзя посчитать остатки, и поэтому для него существуют только одна виртуальная таблица оборотов. Структура таблицы движений оборотного регистра не сильно отличается от таблицы движений регистра остатков. Она имеет следующую структуру:
1. Период
2. Регистратор
3. Номер строки
4. <Измерения>
5. <Ресурсы>
6. <Реквизиты>
Очевидно, что в таблице движений оборотного регистра отсутствует только поле ВидДвижения. Таблица же итогов оборотного регистра по своей структуре идентична структуре таблицы регистра остатков:
1. Период
2. <Измерения>
3. <Ресурсы>
Но сходство этих таблиц на этом и заканчивается. В таблице итогов оборотного регистра хранятся обороты с периодичностью месяц. Итоги хранятся за все периоды, за которые были движения и не ограничиваются периодом рассчитанных итогов. В таблице итогов оборотного регистра не хранятся актуальные данные, так как для оборотов такого понятия не существует.
Виртуальная таблица оборотов
Виртуальная таблица оборотов в своей работе может использовать как таблицу итогов, так и таблицу движений. Зависит это от заданного периода и периодичности. Если периодичность задана, и она меньше месяца, то используется только таблица движений. Если периодичность не задана или задана большей или равной месяцу, то использование таблицы итогов или движений зависит от заданного периода. Если в заданный период попадают целые месяцы, то данные за них считаются по таблице итогов, остальное считается по таблице движений. Например считаются данные с периодичностью месяц за периоды:
1. с 01.03.2004 по 31.03.2004
2. с 02.03.2004 по 03.05.2004
3. с 02.03.2004 по 03.04.2004
В первом случае все данные будут посчитаны по таблице итогов. Во втором случае данные за период с 01.04.2004 по 30.04.2004 включительно будут посчитаны по таблице итогов, а за периоды с 02.03.2004 по 31.03.2004 включительно и с 01.05.2004 по 03.05.2004 включительно будут посчитаны по таблице движений. В третьем случае данные за весь указанный период будут посчитаны по таблице движений.
В предыдущей статье по регистрам бухгалтерии "Регистры бухгалтерии. Настройки, субконто и движения с субконто" мы подробным образом рассмотрели работу настроек этого регистра, а также внутренности виртуальных таблиц "Субконто" и "Движения с субконто". Коснулись некоторых особенностей настроек и их влияние на хранение данных регистра на стороне базы данных.
Сегодня мы продолжим анализ работы регистра, но на этот раз рассмотрим только одну виртуальную таблицу "Обороты". Такая маленькая, и такая интересная!
Все данные для публикации получены с помощью инструментов:
Начнем с простых запросов, которые генерирует платформа 1С, и закончим на особенностях и вопросах производительности.
Небольшое отступление
И так, начнем с простого. Все примеры продолжим делать на той же базе данных, что и в предыдущей статье.
Для чего нужна таблица оборотов? Правильно, для получения оборотов по счету (внезапно!). При этом можно получить оборот как общий по счету, так и в разрезе аналитики: измерений регистра (организация, валюта, подразделение и т.д.) или субконто счета. И, конечно же, можно получить обороты с учетом кор. счета и кор. аналитики по этому счету.
В общем, виртуальная таблица, часто используемая как в отчетах, так и в алгоритмах. Все, кто работает с учетными системами почти всегда сталкиваются с регистрами бухгалтерии и с таблицей оборотов, в частности. В самой знаменитой типовой конфигурации "Бухгалтерия предприятия" эта виртуальная таблица используется в таких отчетах как:
- Анализ состояния учета по налогу на прибыль
- Продажи
- Расшифровка платежей в бюджет
- И еще много-много всего.
Думаю, что необходимость использования этой виртуальной таблицы очевидна. Перейдем к первому примеру и рассмотрим, что именно делает платформа 1С с этой виртуальной таблицей.
Простой пример
Первый запрос имеет мало общего с практическими задачами (и я надеюсь Вы так не делаете на рабочем базе). Получим обороты для всех счетов по сумме и количеству.
Если Вы далаете такие запросы на рабочей базе, то стоит подумать над тем, чтобы от такого отказаться. Почему? Взгляните какой запрос мы имеем на стороне базы данных.
Как мы видим, платформа получает данные из основной таблицы регистра для получения оборотов по указанным ресурсам. Алгоритм такой:
- Получаем обороты из основной таблицы по дебету
- Получаем обороты из основной таблицы по кредиту
- Объединяем полученные данные в единую таблицу и группируем по счету
В принципе все работает логично. Но может появиться вопрос: почему платформа не использует данные итогов? Ведь оптимально было бы получить общие показатели из таблиц итогов, чем рассчитывать все заново по основной таблице. Ответ в этом случае прост - в запросе не установлен отбор по периоду. Чтобы платформа 1С начала использовать таблицы итогов нужно установить фильтр по периоду, как минимум по началу периода.
Например, если в базе установлен период рассчитанных итогов для регистра бухгалтерии с 01.01.2019 по 31.07.2020, то для начала использования итогов начало периода должно быть установлено больше или равным 01.01.2019. Есть нюанс: если поставить дату начала периода меньше даты рассчитанных итогов (но не более чем на 1 месяц), то платформа все равно будет использовать итоги, а для периода до минимальной даты рассчитанных итогов будет сделан запрос к основным таблицам регистра (точнее два запроса - для дебета и для кредита). Вот так стал выглядеть запрос с началом периода.
Чтобы пример был более полным, установим параметр "НачалоПериода" как 10.12.2018, т.е. меньше минимальной даты рассчитанных итогов, но не более чем на 1 месяц. Вот такой запрос будет сформирован к базе данных.
В чем-то этот запрос похож на предыдущий пример, но значительные отличия все же присутствуют:
- В первую очередь данные за тот период, в котором есть рассчитанные итоги, получаются именно из таблицы итогов. В нашем случаев используются итоги между счетами.
- Там, где итоги недоступны платформа 1С собирает данные из основных таблиц регистра (период до расчета итогов и после максимальной даты рассчитанных итогов).
Ранее в одной из статей мы говорили о том, почему рассчитывать итоги очень важно. И снова на примере выше было показано, что если итоги не обслуживаются, то запросы к регистру бухгалтерии будут работать менее эффективно. Давайте перейдем к более сложному примеру.
А если добавить субконто
Настало время усложнить пример и добавить в запрос субконто, отбор по счету и измерению "Организация".
Намешали сразу почти все, что можно в этой виртуальной таблице, кроме кор. счета и аналитики с ресурсами по нему, т.к. об этом позже. Вот какой запрос, а точнее серию запросов, в этом случае сформирует платформа 1С.
Запрос стал больше и сложнее, но на самом деле ничего сверхъестественного тут нет:
- Сначала платформа подготавливает информацию по счету, который используется в отборах и по виду субконто.
- Затем начинается основной запрос, в котором:
- Получаем данные оборотов из таблицы итогов по 2 субконто. Почему именно по этой таблице? Да потому что во всех отборах нашего примера устанавливался счет 51, у которого 2 субконто (банковский счет и статья ДДС). Для получаемых значений также устанавливается фильтр по счету и субконто, а также по организации. Отбор по периоду устанавливается в промежутке от 01.01.2019 (начала периода рассчитанных итогов) до 28.02.2020 включительно.
- Т.к. изначально отбор ставился с 10.12.2018, то платформа делает дополнительных два запроса (по дебету и кредиту) к основным таблицам регистра в период с 10.12.2018 по 31.12.2018, т.к. получить обороты из таблиц итогов за этот период нельзя.
- Дополнительно делаются аналогичные два запроса (по дебету и по кредиту) за 01.03.2020, т.к. именно эта дата установлена как конец периода отбора. Т.к. итоги рассчитываются в разрезе месяца, то получить данные оборотов за один день с их помощью не получится. Именно поэтому и был еще раз сгенерирован запрос к основным таблицам регистра.
- После все полученные данные группируются и возвращаются как результат.
В самом запросе дал исчерпывающие комментарии, внимательно посмотрите на него, чтобы лучше разобраться.
Данные кор. счета
Немного изменим пример, добавив кор. счет с аналитикой и обороты по количеству (т.к. это не балансовый ресурс) по нему.
Сгенерированный платформой 1С запрос очень похож на тот, что было в предыдущем примере, но логика получения данных значительно изменилась.
Т.к. у нас присутствует получение данных по корреспондентскому счету, то итоги в этом случае использовать уже невозможно. В таблице итогов просто нет заранее подготовленных данных для подобных запросов. Поэтому вся информация по оборотом "вытягивается" из основных таблиц регистров.
Будьте осторожны с получением данных оборотов по корреспондирующим счетам и их аналитике.
Особая периодичность
В качестве последнего примера рассмотрим тот же запрос, но с небольшой модификацией - установим параметр виртуальной таблицы "Периодичность" в "Неделя" и посмотрим что будет.
Сформированный SQL-запрос, который в этот раз я оставлю без комментариев, показывает, что и в этом случае таблицы итогов не были задействованы. Подобное поведение характерно и для регистра накопления, которое мы рассматривали в предыдущей статье. Заключается оно в том, что если периодичность установлена меньше месяца, то итоги никаким образом не помогут в получении данных, ведь они рассчитаны в разрезе месяца.
В примере выше уже была ситуация, когда для получения данных за один день платформа формировала SQL-запросы к основным таблицам регистра. Тут схожая ситуация.
Использовать периодичность нужно очень осторожно, т.к. некорректное ее указание может значительно снизить производительность информационной системы.
Производительность запросов
Мы рассмотрели несколько примеров работы виртуальной таблицы "Обороты" регистра бухгалтерии. В контексте производительности напрашиваются такие выводы:
- Для максимальной производительности запросов к виртуальной таблице оборотов необходимо использовать итоги регистра. То есть они должны быть рассчитаны и обслуживаться ежемесячно, сдвигая дату рассчитанных итогов. Об этом мы говорили ранее.
- Даже если итоги в базе рассчитаны и обслуживаются, необходимо придерживаться некоторых правил написания запросов к таблице оборотов, когда это возможно в контексте поставленной задачи:
- Периодичность не должна быть меньше месяца, иначе данные будут запрашиваться из основных таблиц регистра и итоги будут игнорироваться.
- Обязательно нужно указывать период, за который выполняется получение данных оборотов, иначе все данные будут получаться из основных таблиц регистра. Да, если не указать период в таблице оборотов - итоги не будут использоваться. Но Вы же так не делаете, верно?
- Использование корреспондирующих полей (кор. счет или измерения, а также ресурсы) также приводит к отключению использования итогов. Будьте осторожны.
- При работе с оборотами продумайте максимально возможные условия отборов, как минимум по периоду и основным измерениям регистра, счетам и субконто (виду и значениям). Это позволит избежать большинства проблем производительности при использовании этой виртуальной таблицы.
- Для максимальной производительности отборы должны быть максимально селективными. Если Вы получаете обороты за пару лет с указанием отбора только по счету, то потенциальный объем получаемых данных может быть очень большой. В этом случае СУБД может проигнорировать индексы, т.к. ей проще эти данные получить сканированием таблиц.
Таким образом, использовать виртуальную таблицу оборотов регистра бухгалтерии можно и нужно, но стоит учитывать ее особенности работы.
В случае же, когда производительность при получения данных оборотов критична, то необходимо рассмотреть вариант создания отдельного регистра накопления, как это часто можно увидеть в типовых конфигурациях. Регистры накопления работают значительно быстрее с оборотами, т.к. выполняют меньше функций, а структура регистра накопления значительно проще. Да и агрегаты этих регистров, если их использовать с умом, позволяют решать проблемы производительности при получении оборотов практически любого уровня.
Следующий раунд
Среди всех виртуальных таблиц регистров бухгалтерии именно таблица "Обороты" является самой "легкой" как в использовании в запросах, так и с точки зрения потребления ресурсов и производительности. Однако, даже она по производительности часто уступает таблице оборотов регистра накопления и это нормально. Ведь у этих регистров совершенно разные задачи.
Регистры бухгалтерии достаточно сложные и "тяжелые" как с точки зрения хранения данных, так и в части использования в разработке. Именно поэтому нужно использовать их для учетных задач, но никак не для оперативного учета. Представьте что было бы, если бы чеки ККМ формировали проводки при проведении :) Прощай розница! :)))
Все данные для публикации получены с помощью инструментов:
В следующих статьях мы подробнее рассмотрим остальные виртуальные таблицы регистров, а после поднимем тему неплатформенных индексов для них, влияния количества субконто на производительность, а также несколько конкретных кейсов запросов к регистру и их оптимизацию.
Выборка из регистра бухгалтерии и работа с виртуальными таблицами мало чем отличается от выборки из регистра накопления. Поэтому перед чтением данной статьи рекомендую ознакомиться со статьей про работу с виртуальными таблица регистра накопления. В данной статье подробно будет рассмотрена только та функциональность, которая есть только у регистра бухгалтерии.
Выборка из регистра бухгалтерии
Помимо выборки из основной таблицы регистра бухгалтерии в запросе можно выбрать данные из таблицы субконто.
РегистрБухгалтерии.РегистрБухгалтерии1 КАК РегистрБухгалтерии1Выборка значений субконто:
РегистрБухгалтерии1Субконто.Регистратор КАК Регистратор , РегистрБухгалтерии1Субконто.МоментВремени КАК МоментВремени , РегистрБухгалтерии1Субконто.НомерСтроки КАК НомерСтроки , РегистрБухгалтерии1Субконто.ВидДвижения КАК ВидДвижения , РегистрБухгалтерии.РегистрБухгалтерии1.Субконто КАК РегистрБухгалтерии1СубконтоВиртуальные таблицы регистра бухгалтерии
У регистра бухгалтерии немного больше виртуальных таблиц, чем у регистра накопления:
При этом у регистра бухгалтерии без поддержки корреспонденции не будет виртуальной таблицы ОборотыДтКт.
ДвиженияССубконто
Виртуальная таблица ДвиженияССубконто содержит в себе поля как основной таблицы регистра бухгалтерии, так и таблицы значений субконто:
Данная таблица получается соединением основной таблицы и таблицы значений субконто. Из всех виртуальных таблиц только данная таблица может содержать неактивные записи (поле Активность = Ложь), но при этом в самой таблице есть поле Активность, поэтому неактивные записи можно будет исключить в запросе.
Таблица ДвиженияССубконто имеет следующие параметры:
- С помощью параметров НачалоПериода и КонецПериода можно ограничить выборку записей по периоду. Тип может быть Дата, МоментВремени, Граница.
- Параметр Условие позволяет наложить отбор на любые поля таблицы.
- Параметр Упорядочивание позволяет задать поле по которому нужно отсортировать таблицу. После имени поля можно указать ВОЗР или УБЫВ для определения порядка сортировки (по возрастанию или по убыванию).
- Параметр Первые позволяет ограничить количество выбираемых записей.
Данный запрос выберет первые 10 записей за период между &НачДата и &КонДата, с отбором по счету дебета = &СчетДт, выборка будет отсортирована по полю Организация.
Все отборы, сортировку и ограничение количества записей можно указать не в параметрах виртуальной таблицы, а в тексте запроса. Преимущество использования параметров в том, что они будут использованы в процессе формирования виртуальной таблицы, что положительно скажется на производительности запроса.
Как правило данную таблицу используют для получения проводок вместе с субконто.
Виртуальная таблица остатки
Отличия от виртуальной таблицы регистра накопления
Виртуальная таблица остатков регистра бухгалтерии очень сильно похожа на виртуальную таблицу остатков регистра накопления, поэтому рассмотрим только основные отличия.
Во-первых помимо измерений регистра бухгалтерии в таблице остатков присутствуют поля Счет и субконто. Количество субконто равно максимальному количеству субконто в плане счетов.
В нашем примере в настройках плана счетов было указано максимум два субконто, поэтому в таблице есть два поля для субконто: Субконто1 и Субконто2. Если на каком-то счете присутствует только одно субконто, то в поле Субконто2 будет NULL.
Во-вторых, для каждого ресурса создается по пять полей:
- Остаток
- ОстатокДт
- ОстатокКт
- РазвернутыйОстатокДт
- РазвернутыйОстатокКт
В поле Остаток будет остаток, как он хранится в таблице итогов. Дебетовый остаток будет больше нуля, кредитовый меньше.
Поля ОстатокДт и ОстатокКт рассчитываются по разному, в зависимости от вида счета:
- Для активного счета ОстатокКт всегда равен нулю, а ОстатокДт = Остаток.
- Для пассивного счета ОстатокДт всегда равен нулю, а ОстатокКт = -Остаток.
- Для активно-пассивного счета, если Остаток > 0, то ОстатокДт = Остаток, а ОстатокКт = 0. Если Остаток < 0, то ОстатокДт = 0, а ОстатокКт = -Остаток.
Даже если у активного счета остаток будет меньше нуля, то он будет отображаться как дебетовый остаток, но с минусом. Аналогично с пассивным счетом: если остаток больше нуля, то он будет по кредиту, но с минусом:
Признак Балансовый у измерений и ресурсов никак не влияет на количество полей.
В-четвертых, есть два новых параметра: УсловиеСчета и Субконто:
УсловиеСчета позволяет задать отбор по счетам учета, можно указать несколько счетов.
В параметре Условие можно задать отбор по измерениям и субконто, данный параметр аналогичен параметру для виртуальной таблицы регистра накопления.
По своей структуре регистр бухгалтерии напоминает регистр накопления, поэтому в данной статье будут рассмотрены только те свойства, которые характерны только для регистра бухгалтерии.
Как правило регистр бухгалтерии всегда связан с планом счетов. План счетов указывается на закладке Основные. Один регистр бухгалтерии может быть связан только с одним планом счетов, в свою очередь план счетов может быть связан с несколькими регистрами бухгалтерии:
В одном регистре бухгалтерии хранятся данные по всем счетам бухгалтерского учета. Если сейчас добавить один ресурс Сумма, указать хотя бы один регистратор и сохранить конфигурацию базы данных, то в базе данных будет создана следующая таблица:
Период Регистратор Номер строки Активность Счет Вид движения Сумма Колонка Счет добавляется автоматически, если была указана связь с планом счетов. В колонке Вид движения могут храниться два значения: Дебет или Кредит.
Можно сказать, что регистр бухгалтерии это регистр накопления, у которого есть предопределенное измерение Счет, а в поле Вид движения вместо Приход и Расход хранится Дебет и Кредит.
Если установить на закладке Основные флаг Корреспонденция:
То вместо колонок Счет и Вид движения будут созданы колонки СчетДт и СчетКт:
Период Регистратор Номер строки Активность СчетДт СчетКт Сумма Так как в России применяется схема бухгалтерского учета с двумя корреспондирующими счетами, то как правило регистр бухгалтерии создается именно с флагом Корреспонденция. Также это позволяет анализировать обороты между счетами.
Также как и с регистрами накопления, каждое новое измерение, ресурс или реквизит регистра бухгалтерии добавляет в таблицу новую колонку.
Таблица итогов
Для каждого регистра бухгалтерии создается таблица итогов, в которой хранятся и остатки и обороты. Состав колонок таблицы следующий:
Период Счет Сумма Остаток Сумма Оборот Сумма ОборотДт Сумма ОборотКт Для примера добавим документ Приходная накладная со следующими реквизитами:
А также в обработке проведения добавим код для формирования движений по регистру бухгалтерии:
//устанавливаем признак записи в регистр бухгалтерии Движения . РегистрБухгалтерии 1 . Записывать = Истина; Движение = Движения . РегистрБухгалтерии 1 . Добавить ( ) ; Движение . СчетКт = ПланыСчетов . Хозрасчетный . РасчетыСПоставщиками ;Проведем один документ:
В результате в таблицу движений будет добавлена строка:
Период Регистратор Номер строки Активность СчетДт СчетКт Сумма 17.07.2021 Приход №1 1 Истина 41.01 60 200 В таблице итогов появятся две строки для текущих итогов:
Период Счет Сумма Остаток Сумма Оборот Сумма ОборотДт Сумма ОборотКт 01.11.3999 41.01 200 0 0 0 01.11.3999 60 -200 0 0 0 Для текущих итогов хранятся только остатки. Остаток считается как оборот по дебету минус оборот по кредиту по всем записям регистра, независимо от вида счета (активный, пассивный или активный-пассивный).
Чтобы появились промежуточные итоги нужно установить период рассчитанных итогов в обработке Управление итогами. Установим 31.08.2021, чтобы были рассчитаны итоги для остатков на конец июля:
После этого в таблицу итогов будут добавлены еще четыре строки:
Период Счет Сумма Остаток Сумма Оборот Сумма ОборотДт Сумма ОборотКт 01.07.2021 41.01 0 200 200 0 01.07.2021 60 0 -200 0 200 01.08.2021 41.01 200 0 0 0 01.08.2021 60 -200 0 0 0 01.11.3999 41.01 200 0 0 0 01.11.3999 60 -200 0 0 0 Колонка Оборот считается как ОборотДт минус ОборотКт за один месяц.
В одной строке хранится оборот за месяц, а также начальный остаток на конец предыдущего месяца. Если сейчас провести еще одну приходную накладную в августе:
То в строку с периодом 01.08.2021, где раньше хранились только остатки будут добавлены обороты за август:
Период Счет Остаток Оборот ОборотДт ОборотКт 01.07.2021 41.01 0 200 200 0 01.07.2021 60 0 -200 0 200 01.08.2021 41.01 200 100 100 0 01.08.2021 60 -200 -100 0 100 01.11.3999 41.01 300 0 0 0 01.11.3999 60 -300 0 0 0 Добавление нового измерения в регистр бухгалтерии автоматически добавляет новую колонку в таблицу итогов. Если добавить новый ресурс, то будет добавлено сразу четыре колонки:
- Ресурс остаток
- Ресурс оборот
- Ресурс оборот дебет
- Ресурс оборот кредит
Обороты между счетами
Период СчетДт СчетКт Сумма Период СчетДт СчетКт Сумма 01.07.2021 41.01 60 200 01.08.2021 41.01 60 100 У регистров бухгалтерии без флага Корреспондеция такой таблицы нет.
Добавление нового измерения или ресурса в регистр бухгалтерии автоматически добавляет новую колонку в таблицу оборотов между счетами.
Признак Балансовый
В свойствах ресурса есть признак Балансовый:
По умолчанию данный флаг установлен и для ресурса добавляется одна колонка в таблицу, которая одновременно изменяет сумму и по дебету и по кредиту.
Если снять флаг Балансовый, то контроль двойной записи не будет выполняться:
Для регистра с поддержкой корреспонденции при снятом флаге Балансовый для одного ресурса в таблице движений будет создано два поля: для дебета и для кредита. Например, добавим в регистр ресурс Количество и снимем флаг Балансовый:
В таблицу движений будет добавлено сразу два поля: КоличествоДт и КоличествоКт.
Период Регистратор Номер строки Активность СчетДт СчетКт Сумма КоличествоДт КоличествоКт Теперь можно записывать разное значение количества для счета дебета и счета кредита:
Читайте также: