Регистр расчета в 1С 8.3

Курс

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

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

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

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

Период регистрацииРегистраторНомер строкиВид расчетаАктивностьСторно

Основные настройки выполняются на закладке Основные:

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

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

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

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

  • Год
  • Квартал
  • Месяц
  • День
Периодичность  регистра расчета

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

Данное свойство влияет на заполнение колонки Период регистрации. В период регистрации всегда будет записываться начальная дата того периода, который указан в свойстве Периодичность. Например, если периодичность месяц и период регистрации равен 15.03.2021, то в базу данных будет записано 01.03.2021 (начало месяца). Если бы периодичность была равна квартал, то в базу данных было бы записано 01.01.2021 (начало квартала).

Период действия и график

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

Если данный флаг установлен, то также должны быть заполнены свойства: График, Значение графика и Дата графика:

Период действия и график регистра расчета

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

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

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

Например, это может быть такой регистр сведений:

В данном регистре будет храниться дата и признак: это рабочий день или нет. Если рабочий, то 1. Если не рабочий, то 0:

График регистра расчета

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

Если был установлен флаг Период действия, то в основную таблицу будут добавлены еще три колонки:

  • Период действия
  • Период действия начало
  • Период действия конец
Период регистрацииРегистраторНомер строкиВид расчетаАктивностьСторноПериод действияПериод действия началоПериод действия конец

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

Например, если для регистра указана периодичность месяц, то для оклада за март 2021 года это будет:

Период действия01.03.2021
Период действия начало01.03.2021
Период действия конец31.03.2021

Если период действия оклада равен с 15 марта 2021 года по 31 марта 2021 года, то:

Период действия01.03.2021
Период действия начало15.03.2021
Период действия конец31.03.2021

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

Период действия01.01.2021
Период действия начало15.03.2021
Период действия конец31.03.2021

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

Период действия01.03.2021
Период действия начало15.03.2021
Период действия конец31.03.2021
Период действия01.04.2021
Период действия начало01.04.2021
Период действия конец15.04.2021

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

РегистраторНомер строкиПериод действия началоПериод действия конец

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

Например, если сначала была введена запись об окладе за март 2021 года:

Период регистрацииРегистраторНомер строкиВид расчетаАктивностьСторноПериод действияПериод действия началоПериод действия конец
01.03.2021Начисление ЗП №11ОкладИстинаЛожь01.03.202101.03.202131.03.2021

В этом случае в таблице с фактическим периодом будет одна строка:

РегистраторНомер строкиПериод действия началоПериод действия конец
Начисление ЗП №1101.03.202131.03.2021

Но если в основную таблице ввести запись о командировке с 20 по 25 марта, то так как командировка вытесняет оклад по периоду действия (сотрудник не может одновременно работать в офисе и быть в командировке), то фактический период для оклада будет разбит на две строки:

Период регистрацииРегистраторНомер строкиВид расчетаАктивностьСторноПериод действияПериод действия началоПериод действия конец
01.03.2021Начисление ЗП №11ОкладИстинаЛожь01.03.202101.03.202131.03.2021
01.03.2021Начисление ЗП №12КомандировкаИстинаЛожь01.03.202120.03.202125.03.2021
РегистраторНомер строкиПериод действия началоПериод действия конец
Начисление ЗП №1101.03.202119.03.2021
Начисление ЗП №1126.03.202131.03.2021
Начисление ЗП №1220.03.202125.03.2021

Базовый период

Если установить флаг Базовый период:

Базовый период регистра расчета

То в основную таблицу будет добавлено еще две колонки:

  • Базовый период начало
  • Базовый период конец
Период регистрацииРегистраторНомер строкиВид расчетаАктивностьСторноПериод действияПериод действия началоПериод действия конецБазовый период началоБазовый период конец

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

Измерения, ресурсы и реквизиты

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

Измерения, ресурсы и реквизиты регистра расчета

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

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

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

У измерений есть свойство Базовое:

свойство Базовое

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

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

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

Запись в регистр расчета

Регистр расчета обязательно должен быть подчинен регистратору.

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

Запись при проведении:

Запись через набор записей:

Чтение записей регистра расчета

Чтобы прочитать записи регистра расчета можно использовать методы Выбрать или ВыбратьПоРегистратору. Или использовать запрос.

Метод Выбрать:

Метод ВыбратьПоРегистратору:

Запрос:


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

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

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