Ликвидация бизнеса. Приказы. Оборудование для бизнеса. Бухгалтерия и кадры
Поиск по сайту

1с план график из регистра сведений. Расчет заработной платы. Настройки объекта перерасчет

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

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

Мы не будем рассматривать эти способы подробно, рассмотрим только их отличия и область применения.

Метод ПолучитьБазу()

Метод ПолучитьБазу() определен для объектов РегистрРасчетаМенеджер.<Имя регистра расчета> и РегистрРасчетаЗапись.<Имя регистра расчета> . Метод позволяет задать ресурсы базовых регистров, по которым необходимо получить обороты, задать поля, в разрезе которых нужно получить обороты и задать правила сопоставления измерений основного и базовых регистров расчета.

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

Имена измерений и ресурсов базовых регистров задаются в формате <ИмяРегистраРасчета>.<ИмяПоля>.

Пример использования метода:
Код 1C v 8.х Ресурсы = Новый Массив(1);
Ресурсы = "ОсновныеНачисления.Результат,ДополнительныеНачисления.Результат";

Измерения = Новый Структура("ФизЛицо,Организация");
Измерения.ФизЛицо = "ОсновныеНачисления.Физлицо,ДополнительныеНачисления.Работник";
Измерения.Организация = "ОсновныеНачисления.Организация,ДополнительныеНачисления.Организация";

Разрезы = Новый Массив(1);
Разрезы = "ОсновныеНачисления.Способ,ДополнительныеНачисления.Способ";
// Рассчитываем базуТаблицаБазовыхДанных = РегистрРасчета.Удержания.ПолучитьБазу(Отбор,
// Ресурсы, Измерения, Разрезы);

В приведенном выше примере измерение "Физлицо" основного регистра при получении оборотов будет сопоставляться с измерением "Физлицо" базового регистра "ОсновныеНачисления" и измерением "Работник" базового регистра "ДополнительныеНачисления".

Таблица языка запросов для получения базовых данных
Для получения базовых данных в языке запросов определены виртуальные таблицы "РегистрРасчета.<Имя регистра расчета>.База<Имя базового регистра расчета>" . В качестве параметров виртуальной таблицы задаются измерения основного регистра, измерения базового регистра и поля, в разрезе которых нужно получить базовые данные. Измерения и разрезы задаются как массив (или список значений) строк с именами измерений.

Пример написания запроса с использованием виртуальных таблиц базовых данных:
Код 1C v 8.х
Измерения1 = Массив(2);
Измерения1 = "Физлицо";
Измерения1 = "Организация";

Измерения2 = Массив(2);
Измерения2 = "Работник";
Измерения2 = "Организация";

Разрезы = Новый Массив(1);
Разрезы = "Способ";

ТекстЗапроса = "ВЫБРАТЬ Физлицо, ВидРасчета, СУММА(РезультатБаза)
|ИЗ
|ВЫБРАТЬ Физлицо, ВидРасчета, РезультатБаза
| ИЗ РегистрРасчета.Удержания.БазаОсновныеНачисления(&Измерения1,&Измерения1,&Разрезы)
|ГДЕ " + УсловиеОсновных + "
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ Работник, ВидРасчета, РезультатБаза
| ИЗ РегистрРасчета.Удержания.БазаДополнительныеНачисления(&Измерения1,&Измерения2,&Разрезы)
|ГДЕ " + УсловиеДополнительных + "
|) КАК База
|СГРУППИРОВАТЬ ПО
| Физлицо,
| ВидРасчета
|";

Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("Измерения1", Измерения1);
Запрос.УстановитьПараметр("Измерения2", Измерения2);
Запрос.УстановитьПараметр("Разрезы", Разрезы);

// ...установка дополнительных параметров запроса, применяемых в условиях в операторе ГДЕ// ,..
// получим выборку результата запросаВыборка = Запрос.Выполнить().Выбрать();

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

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

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

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

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

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

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

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

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

План видов расчета и Регистр расчета.

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

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

План видов расчета

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

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

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

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

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

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

А вид расчета Оклад может вытесняться видом расчета Невыход:

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

Формы плана видов расчета
Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в плане видов расчета, система поддерживает несколько форм его представления. Система может автоматически генерировать все нужные формы; наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию:

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

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

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

Регистр расчета

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

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

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

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

Периодичность

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

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

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

Например, график времени, имеющий следующую структуру:

Перерасчеты
Регистр расчета может включать в себя специальные объекты - Перерасчеты:

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

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

Механизмы, реализуемые регистром расчета

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

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

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

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

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

Регистр расчета поддерживает два вида зависимости по базовому периоду:

  • зависимость по периоду действия;
  • зависимость по периоду регистрации.

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

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

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

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

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

Формы регистра расчета
Для того, чтобы пользователь мог просматривать данные, содержащиеся в регистре расчета, система поддерживает форму представления регистра расчета - форму списка. Она позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям:

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

Функциональные возможности регистра расчета
Основными функциональными возможностями, которые предоставляет регистр расчета разработчику, являются:

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

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

Структура

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

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

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

Связь с планом видов расчета

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

Периодичность

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

Подчинение регистратору

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

Связь с графиком времени

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

Например, график времени, имеющий следующую структуру:

Перерасчеты

Регистр расчета может включать в себя специальные объекты - Перерасчеты :

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

Уникальность записей

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

Механизмы, реализуемые регистром расчета

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

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

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

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

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

Регистр расчета поддерживает два вида зависимости по базовому периоду:

  • зависимость по периоду действия;
  • зависимость по периоду регистрации.

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

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

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

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

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

Формы регистра расчета

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

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

Функциональные возможности регистра расчета

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

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

Как известно при чтении данных платформа 1С обращается к таблицам базы данных. Но для регистров платформа 1С на основе реальных таблиц умеет формировать виртуальные таблицы , которые физически в базе данных не храняться. Это позволяет разработчику вместо того, чтобы делать сложный запрос к реальной таблице, сразу получить данные из виртуальной простейшим запросом. А также исключает возможные ошибки. Поэтому использовать виртуальные таблицы нужно всегда, когда есть такая возможность. Особенно при сдаче экзамена 1С:Специалист. Рассмотрим разные типы регистров и посмотрим какие виртуальные таблицы предоставляет платформа для каждого типа регистров.

Регистры сведений

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

  • СрезПервых
  • СрезПоследних

Регистры накопления

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

Регистр накопления остатков

Доступны следующие виртуальные таблицы

  • Остатки
  • Обороты
  • ОстаткиИОбороты

Регистр накопления оборотов

Доступна только одна виртуальная таблица

  • Обороты

Регистры расчета

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

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

Самым большим набором виртуальных таблиц обладают регистры бухгалтерии

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

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

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

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

Регистры 1С — это просто таблицы, содержащие колонки и строки. Принцип тот же самый, что и у таблиц Excel или обычных "бумажных " таблиц.

Движение документа по регистрам — это записи, вносимые документом в регистры при проведении, называются.

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

Тут была важная часть статьи, но без JavaScript её не видно!

Виды регистров 1С Бухгалтерии

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

  • Регистры сведений
  • Регистры накопления
  • Регистры расчета
  • Регистры бухгалтерии

Последний тип регистра как раз и хранит бухгалтерские проводки документов. Чем отличаются все эти друг от друга и почему, я рассказываю в читаемом мной курсе Бухгалтерии Предприятия 8 . Здесь же приведу ещё раз список существующих регистров 1С, только в виде скриншота (на примере 1С Бухгалтерии 8.2).


А вот то же самое на примере 1С:Бухгалтерии 8.3:

сайт_

Просмотр регистров 1С Бухгалтерии

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

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

сайт_

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

Внесение изменений в регистры

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

Вопрос на засыпку: знаете ли вы, что в некоторые справочники также нельзя вносить данные через всеми любимую кнопку "Добавить". Как думаете, почему?

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

сайт_

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

Подведём итоги

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

Особенности разных регистров, внесение в них данных, типы регистраторов, различие между периодическими и непериодическими регистрами, а также многое другое, я рассматриваю в своём курсе 1С:Бухгалтерии 8 , представленному на данном сайте.