Объект 1С «Планы видов расчета»
Объект 1С «Планы видов расчета» — это прикладные объекты конфигурации, которые используются в механизме сложных периодических расчетов и служат для описания видов расчета и их взаимного влияния друг на друга.
Виды расчета — это объекты базы данных, о писывающие алгоритмы, по которым рассчитывается некоторая информация (например, часть заработной платы: оклад, премия и т.д.). Являются элементами плана видов расчёта.
Структура объекта 1С «Планы видов расчета»
План видов расчета представляет собой список видов расчета. Каждый вид расчета имеет код, наименование и набор реквизитов, содержащих дополнительную информацию о данном виде расчета.
Создание и редактирование видов расчета может выполняться:
- разработчиком (предопределенные виды расчета);
- пользователем (в процессе работы с прикладным решением).
Пользователь не может удалять виды расчета, созданные разработчиком.
Виды расчета, созданные в плане видов расчета, могут влиять друг на друга. Система поддерживает два вида такого влияния:
- зависимость по базовому периоду;
- вытеснение по периоду действия.
Для каждого вида расчета можно указать перечень видов расчета, от которых он будет зависеть по базовому периоду, и которые будут вытеснять его по периоду действия (подробнее. ).
Например, вид расчета «Алименты» может зависеть по базовому периоду от таких видов расчета, как «Оклад», «ТарифДневной», «ДоплатаПерсональная» и т.д. А вид расчета «Оклад» может вытесняться видом расчета «Невыход»:

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

Некоторые начисления, например «Оклад»,
Свойства вкладки «Расчет»:
- Использует период действия — определяет, требуется ли использование периода в данном виде расчета (например, вид расчета «Штраф» не требует использования периода действия в отличие от вида расчета «Оклад», который начисляется за определенный период, например, за месяц. В плане видов расчета это фиксируется соответствующим флагом).
- Зависимость от базы — определяет возможность расчета от другого вида расчета:
- Не зависит — не зависит от другого начисления (например, штраф начисляется независимо);
- Зависит по периоду действия — зависит от временного периода другого вида расчета; при определении расчетной базы для записи регистра расчета будут учитываться только те записи, у которых фактический период действия попадает в базовый период (например, расчет отпускных в зависимости от оклада за последние полгода).
- Зависит по периоду регистрации — это период, в котором начисляются виды расчетов (период, в котором происходит начисление). Например, зарплата за январь может быть начислена в конце января или в начале февраля: если зарплата будет начислена в январе, в этом случае Период регистрации — Январь, если в феврале – Февраль.
- Базовые планы видов расчета — список планов расчетов, которые могут быть выбраны в качестве базы для объекта. Доступны для редактирования только в том случае, если «Зависимость от базы» установлено в значение, отличное от «Не зависит».
Планы видов расчета — один из видов объектов конфигурации, который может иметь предопределенные значения. Аналогично прочим объектам, предопределенные позиции отличаются от «обычных» тем, что у них заполнен стандартный реквизит ИмяПредопределенныхДанных.

Заполняя либо очищая программно это свойство, можно «обычный» элемент делать предопределенным, и наоборот. Если оно заполнено, то другой стандартный реквизит, «Предопределенный», принимает значение «Истина».
Свойства предопределенного элемента плана расчетов в 1С:
- Флаг » Период действия является базовым периодом » — если флаг установлен, то базой для расчета будет являться сам период расчета. Доступен только:
- при установленном флаге «Использует период действия», и
- если установлена зависимость от базы.
- Вкладка » Базовые » позволяет выбрать из имеющихся планов расчета те расчеты, которые будут являться для него базовым (например, для отпускных базой является оклад).
- Вкладка » Вытесняющие » — расчеты, которые аннулируют данные за текущий период (исключают действие текущего расчета, например, во время отпуска работник не должен получать оклад, т.е. либо оклад, либо больничный, либо отпускные).
- Вкладка » Ведущие » — вкладка, на которой указываются расчеты, взаимосвязанные с этим видом расчета; это виды расчета, при вводе (или изменении) которых результат текущего вида расчета должен быть пересчитан. Используются далее в перерасчетах (например, если отпускные уже были рассчитаны на основании оклада, а потом оклад был изменен задним числом, позволяет отследить изменение оклада). Указывать их надо вручную, даже если вы уже выбрали какой-то вид расчета в качестве базового, тут его надо прописать еще раз. Настройка необходима для контроля перерасчета — если мы пересчитаем задним числом данные по виду расчета, ведущего для данного, то и данный вид расчета также надо будет пересчитать.
Ведущими должны быть как минимум все базовые и вытесняющие виды расчета, т.к. от их изменений напрямую зависит текущий вид расчета.
Особенности работы с планами видов расчета:
- Для описания множеств возможных видов расчетапредназначены планы видов расчета.
- Виды расчета — этообъекты базы данных (например, в ПВР «Основные начисления организаций» могут входить такие виды расчетов как Оклад по дням, ГПД на месяц, и т.д.).
- Новые виды расчетаможно создавать как в режиме «1С:Предприятие», так и в режиме «Конфигуратор» (предопределенные).
Особенности зависимостей планов видов расчета:
- Зависимость от базы как «Зависимость по периоду действия» в плане видов расчета устанавливается, если предполагается, что в дальнейшем при определении расчетной базы для записи регистра расчета будут учитываться только те записи, у которых фактический период действия попадает в базовый период.
- Зависимость от базы как «Зависимость по периоду регистрации» в плане видов расчета устанавливается, если предполагается, что в дальнейшем при определении расчетной базы для записи регистра расчета будут учитываться только те записи, у которых «Период регистрации» попадает в базовый период.
- Базовые планы видов расчета — это те планы видов расчета, из которых будут браться виды расчета для вычисления расчетной базы.
- Отсутствие предопределенной табличной части «Базовые виды расчета» у видов расчета Плана видов расчета можно объяснить тем, что зависимость от базы в плане видов расчета не определена.
- Если установлена зависимость базы по периоду действия, то может произойти частичное попадание записей регистра расчета в базовый период, причем база будет рассчитана пропорционально тому, какую часть от фактического периода влияющей записи составляет перекрывающийся, с указанным базовым периодом, участок. При этом будут использованы данные графика, связанного с этой записью.
- Если одним документом рассчитываются зависимые по базе записи (например, Оклад и ПремияПроцентом, в состав базы которой попадает оклад), то прежде, чем рассчитать зависимую от базы запись, нужно рассчитать запись, попадающую в эту базу и записать результат в регистр расчета. Таким образом, в общем случае в процессе проведения документа будет произведено две процедуры записи в регистр расчета (чтобы сделать вторую запись, нужно сначала считать первую).
- В качестве базовых регистров (из ресурсов которых рассчитывается база) могут выступать:
- несколько регистров расчета;
- регистры расчета, которые связаны с планами видов расчета, являющимися базовыми для плана видов расчета, с которым связан рассматриваемый регистр расчета
- Ведущие виды расчета — это виды расчета, при вводе (или изменении) которых результат текущего вида расчета должен быть пересчитан.
- В качестве ведущих можно указать:
- виды расчета из нескольких планов видов расчета;
- виды расчета из одного плана видов расчета.
- Если для вида расчета «Премия» в качестве базового указан вид расчета «Оклад», и кроме того дополнительно он назначен ведущим для премии, то в таблице перерасчетов появится информация о необходимости пересчета оклада только в случае, если оклад будет введен отдельным документом после того как премия была введена и рассчитана (раз премия зависит от оклада — нужно ее пересчитать после ввода оклада задним числом).
- Вытесняющие виды расчета — это такие виды расчета записи которых в регистрах расчета должны вытеснять записи данного вида расчета по периоду действия.
- Вытесняться могут виды расчета, которые принадлежат одному плану видов расчета.
- Понятие вытесняющие виды расчетов теряет смысл, если период действия в плане видов расчета не используется (закладка «Вытесняющие» отсутствует, если снят флаг «Использует период действия»).
Формы плана видов расчета
Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в плане видов расчета, система поддерживает несколько форм его представления:
- система может автоматически генерировать все нужные формы;
- разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию.

Форма вида расчета
Форма вида расчета используется для просмотра и изменения данных отдельных видов расчета. Как правило, она представляет данные в удобном для восприятия и редактирования виде.
Форма списка планов вида расчета
Форма списка планов вида расчета для просмотра видов расчета используется форма списка. Она позволяет:
- выполнять навигацию по списку;
- добавлять, помечать на удаление и удалять виды расчетов;
- выполнять сортировку и отбор отображаемой информации по нескольким критериям.
Кроме этих двух форм для видов расчета поддерживается форма выбора конкретных видов расчета из списка. Она, обычно, содержит минимальный набор информации, необходимой для выбора того или иного вида расчета.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Практикум 11. План видов расчета, регистр расчета
Познакомимся с объектами конфигурацииПлан видов расчета и Регистр расчета и узнаем об основных понятиях, используемых при создании сложных периодических расчетов.
Такие расчеты используются, прежде всего, при расчете заработной платы . Поэтому дальнейшее их рассмотрение мы будем строить на примере расчета заработной платы сотрудников, которые работают в нашей фирме.
В общем случае сумма заработной платы сотрудника складывается из множества частей. Например, оплата по окладу, премия, штрафы, оплаты по больничному листу, разовые выплаты и т.д. Каждая из этих частей рассчитывается по некоторому алгоритму, присущему только этой части. Например, сумма штрафа может определяться просто фиксированной суммой , сумма премии может рассчитываться как процент от оклада, а сумма оплаты по окладу рассчитывается исходя из количества рабочих дней в месяце и количества дней , отработанных сотрудником. Поэтому для обозначения каждой такой части мы будем использовать термин вид расчета.
Алгоритм каждого вида расчета опирается в общем случае на две категории параметров: период, за который нужно получить конечные данные, и набор некоторых исходных данных, используемых при расчете.
Как правило, в реальной жизни различные виды расчета существуют не сами по себе, а оказывают некоторое влияние на другие виды расчета. Исходя из того, что вид расчета опирается на две различные категории параметров, такое влияние тоже имеет двойственный характер.
Во-первых, это может быть влияние на исходные данные, используемые при расчете. В качестве примера можно привести начисление премии в виде процента от оплаты по окладу. При изменении оплаты по окладу размер премии тоже должен быть пересчитан, исходя из новой суммы начисленного оклада. Другими словами, сумма начисленного оклада является базой для расчета премии. Причем, поскольку оклад рассчитывается за некоторый период, при расчете премии нам интересно знать не значение оклада вообще, а сумму, начисленную в том периоде, который влияет на расчет премии. Такой период мы будем называть базовым, а подобную зависимость между видами расчета → зависимостью по базовому периоду.
В качестве примера рассмотрим начисление премии за апрель. Премия должна начисляться в размере 10% от суммы, начисленной в качестве оплаты по окладу. Следовательно, необходимо проанализировать все записи о начислениях оплаты по окладу, которые попадают в интересующий нас базовый период, а именно апрель. Допустим, общая сумма таких начислений составила 8 000 рублей → в этом случае премия должна быть начислена в размере 800 рублей.

Во-вторых, это влияние может быть не на исходные данные, а на сам период, за который производится расчет. В качестве примера можно привести расчет оплаты по окладу и невыход на работу. Предположим, мы начислили сотруднику оплату по окладу за март месяц. В этом случае период действия такого расчета будет с 1 марта по 31 марта. После этого мы получили информацию от руководителя отдела, что, оказывается, сотрудник отсутствовал на работе с 1 по 10 марта по неизвестной причине. В этом случае нам нужно будет произвести расчет Невыход, в котором можно рассчитать какие-то удержания с сотрудника. Но кроме этого необходимо будет пересчитать и оклад сотрудника, исходя из того, что фактический период действия расчета Оклад стал теперь с 11 марта по 31 марта. Такое влияние мы будем называть вытеснением по периоду действия. В результате если за полный месяц работы сотруднику должно было быть начислено 9 300 рублей, то теперь, за фактический период работы, начисление составит 6 300 рублей.

Таким образом, исходя из двух видов взаимного влияния расчетов, можно сказать, что в общем случае с каждым видом расчета будет связано три периода:
- период действия;
- фактический период;
- базовый период.
Период действия является «запрашиваемым». То есть, указывая период действия, мы говорим, «Мы хотели бы, чтобы результат действовал в этом периоде».
Фактический период → это то, что получилось из периода действия после анализа всех периодов действия расчетов, которые вытесняют наш по периоду действия.
Базовый период → это период, в котором мы анализируем результаты других расчетов, влияющих на наш по базовому периоду.
Как видите, взаимное влияние между видами расчетов может быть довольно разнообразным и, что самое сложное, многоуровневым. То есть один вид расчета может влиять на другой, который, в свою очередь, влияет на третий, и т.д.
Очевидно, что в такой ситуации требуется некий универсальный механизм, позволяющий описать каждый из видов расчетов (его алгоритм, влияние на другие виды расчетов , зависимость от других видов расчетов), обеспечить хранение данных, полученных в результате этих расчетов, и контроль необходимости перерасчета результатов зависимых расчетов в случае изменения результатов «первичных» расчетов.
В системе 1С:Предприятие такой универсальный механизм реализован при помощи планов видов расчета и регистров расчета.
Объект конфигурации План видов расчета
Объект конфигурацииПлан видов расчета является прикладным и предназначен для описания структуры хранения информации о возможных видах расчетов. На основе объекта конфигурацииПлан видов расчета платформа создает в базе данных информационную структуру, в которой может храниться информация о том, какие существуют виды расчета и каковы взаимосвязи между ними.
Отличительной особенностью плана видов расчета является то, что пользователь в процессе работы может добавлять новые виды расчета. Такая возможность делает механизм периодических расчетов более гибким и позволяет пользователю создавать собственные виды расчета, помимо тех, которые заданы разработчиком как предопределенные.
Объект конфигурации План видов расчета имеет свойство Использует период действия. С его помощью определяется, будут ли в этом плане находиться виды расчета, которые могут быть вытеснены по периоду действия. Если это свойство установлено, то разработчик получает возможность указать для каждого вида расчета те виды, которые вытесняют его по периоду действия.
Следующим важным свойством объекта конфигурации План видов расчета является Зависимость от базы. Оно определяет, будут ли в этом плане находиться зависимые по базовому периоду виды расчета. Если это свойство установлено, появляется возможность указать, в каком плане видов расчета будут находиться базовые виды расчета и, кроме этого, как будет определяться эта зависимость.
Существует возможность указать один из двух видов зависимости от базы:
- Зависимость по периоду действия;
- Зависимость по периоду регистрации.
Еще одной важной особенностью плана видов расчета является возможность создания предопределенных видов расчета и описания их взаимного влияния. При этом в общем случае разработчик имеет возможность указать три категории видов расчета, влияющих на предопределенный вид расчета:
- Базовые → их результаты должны быть использованы при перерасчете этого вида расчета;
- Вытесняющие → вытесняют этот вид расчета по периоду действия;
- Ведущие → изменение их результатов должно приводить к необходимости перерасчета этого вида расчета.
Здравый смысл подсказывает, что все базовые виды расчета должны быть включены и в категорию ведущих. Кроме того, ведущие виды расчета могут содержать и некоторые другие виды, косвенно влияющие на данный вид расчета.
Невыход вытесняет оклад по периоду действия, а премия зависит от оклада по базовому периоду. В этом случае для премии следует указать базовым видом расчета оклад, а ведущим → оклад и невыход, поскольку изменение результата расчета невыхода приведет к изменению результата оклада, что, в свою очередь, должно привести к изменению результата премии.

Создание плана видов расчета ОсновныеНачисления
1. Создадим новый объект конфигурации План видов расчета. Зададим ему имя → ОсновныеНачисления.
2. Перейдем на закладку Расчет и укажем, что он будет использовать период действия и зависеть от базы по периоду действия.
В качестве базового плана видов расчета укажем его самого, поскольку все наши виды расчетов будут храниться в единственном плане видов расчета.

3. Перейдем на закладку Прочее и зададим предопределенные виды расчета. Как и в случае с бухгалтерией, расчеты в нашей фирме будут «скромные», поэтому мы создадим всего три элемента:
- Невыход → с именем и наименованием Невыход и кодом Невыход;
- Оклад — с именем, кодом и наименованием Оклад и вытесняющим его видом расчета Невыход;
- Премия — с именем, кодом и наименованием Премия, с базовым видом расчета Оклад и ведущими видами расчета Невыход и Оклад.



Объект конфигурации Регистр расчета
Объект конфигурации Регистр расчета является прикладным и предназначен для описания структуры накопления данных, являющихся результатами расчетов.
Отличительной особенностью регистра расчета является то, что он не предназначен для интерактивного редактирования пользователем. Разработчик может при необходимости предоставить пользователю возможность редактировать регистр расчета, но предназначение этого регистра заключается в том, чтобы его модификация производилась на основе алгоритмов работы объектов базы данных, а не в результате непосредственных действий пользователя.
Как и другие регистры, регистр расчета имеет ресурсы, в которых хранит числовые данные; имеет измерения, в разрезе которых можно получать значения ресурсов регистра; имеет реквизиты, которые характеризуют каждую запись регистра расчета.
Особенностью же регистра расчета является его периодичность , возможность использования механизмов вытеснения по периоду действия и зависимости по базовому периоду, а также связь с планом видов расчета.
Периодичность регистра расчета может быть определена одним из следующих значений:
- День;
- Месяц;
- Квартал;
- Год.
Периодичность регистра расчета определяет промежуток времени, к которому будет относиться каждая запись регистра. Для указания факта принадлежности записи к какому-либо периоду регистр имеет служебный реквизит ПериодРегистрации типа Дата. При записи данных в регистр платформа всегда приводит значение этого реквизита к началу того периода, в который он попадает.
Например, если в регистр расчета с периодичностью месяц записать данные, где ПериодРегистрации задан как 08.04.2008, то регистр сохранит эти данные со значением поля ПериодРегистрации 01.04.2008 (см. рисунок 1).
Если в этой же ситуации периодичность регистра будет год, сохраненное значение периода регистрации будет 01.01.2008.
Следующей важной особенностью регистра расчета является возможность использования механизма вытеснения одних записей другими по периоду действия. При этом для каждой записи регистр расчета формирует фактический период действия, который является в общем случае совокупностью нескольких периодов, расположенных внутри периода действия (см. рисунок 2).
![Документ -N Дота: 08.04.2008 ] Модуль документа I Движение. ПериодРегистрации = Движения. Записать ; ч_ Таблица регистра расчета периодичность регистра - Месяц Регистратор Период регистрации Номер строки 01.04.2003 00:00:00 1 с; 01.04.2008 00:00:00 о 01.04](https://stimul.kiev.ua/img/materialy_praktikum_11_plan_vidov_rascheta_registr_rascheta/356.png)

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

Таблица фактического периода действия

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

Таблица фактического периода действия

Другим механизмом, который поддерживает регистр расчета, является зависимость записей по базовому периоду. Этот механизм позволяет основывать расчет зависимых (вторичных) записей регистра на данных, полученных в результате расчета первичных записей. Регистр расчета может поддерживать два вида зависимости от базы:
- зависимость по периоду действия;
- зависимость по периоду регистрации.
Зависимость по периоду действия означает, что при анализе базовых записей будут выбираться те, для которых найдено пересечение их фактического периода действия и указанного базового периода.
Например, в начале апреля производится расчет зарплаты за март. Премия за март должна быть начислена исходя из оплаты по окладу за март. В этом случае, как правило, используется зависимость по периоду действия (см. рисунок).
Следует сделать два замечания к указанному рисунку.
Поля Начало базового периода и Конец базового периода имеют смысл только для записей тех видов расчета, для которых определена зависимость по базовому периоду (в нашем случае для записи расчета премии).
Значение базы, которая будет получена от конкретной влияющей записи, в общем случае не равно результату, который содержит эта запись. База будет рассчитана пропорционально тому, какую часть от фактического интервала влияющей записи составляет перекрывающийся с указанным базовым периодом участок. При этом будут использованы данные графика, связанного с записью.

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

Заключительной важной особенностью регистра расчета является его связь с планом видов расчета. Именно на основе этой связи работают механизмы вытеснения по периоду действия и зависимости по базовому периоду, поскольку в плане видов расчета описано взаимное влияние видов расчета друг на друга.
У регистра расчета могут существовать подчиненные объекты Перерасчет. Они предназначены для регистрации фактов появления в регистре записей, влияющих на результат расчета уже существующих записей регистра. Объект конфигурации Перерасчет может иметь несколько измерений, каждое из которых устанавливает связь между измерениями данного регистра расчета и влияющих регистров расчета. В частном случае это может быть один и тот же регистр.
В информационной структуре, созданной в базе данных на основе объекта конфигурации Перерасчет, платформа хранит информацию о том, какие записи регистра подлежат перерасчету. Таблицы перерасчета заполняются автоматически как на основании записей регистра расчета, затронутых ведущими видами расчета, так и на основании записей регистра расчета, для которых изменился фактический период действия. Исходя из этой информации, разработчик может принимать решение о необходимости перерасчета записей регистра.
Последним замечанием, которое следует сделать, говоря о регистре расчета, является возможность установки связи регистра расчета с графиком времени. Такой график времени должен представлять собой регистр сведений (непериодический, с обязательным измерением типа Дата и ресурсом типа Число), в котором содержится временная схема исходных данных, участвующих в расчетах. Измерениями этого графика могут быть, например, График работы (ссылка на справочник) и Дата, а ресурсом → количество рабочих часов в этой дате. В этом случае можно будет связать запись регистра расчета с каким-либо конкретным Графиком Работы (указав в качестве реквизита записи ссылку на справочник График работы) и в дальнейшем средствами встроенного языка получать информацию о количестве рабочих часов в периоде действия, фактическом периоде действия или периоде регистрации этой записи.
Создание регистра расчета Начисления
Прежде чем мы начнем создавать объект конфигурации Регистр расчета Начисления, нам потребуется создать два дополнительных объекта конфигурации:
- Регистр сведений ГрафикиРаботы;
- Справочник ВидыГрафиковРаботы.
Справочник понадобится нам для хранения информации о том, какие графики работы существуют на фирме, а регистр сведений → для указания того, какие дни в месяце являются рабочими, поскольку сумма оплаты по окладу будет рассчитываться исходя из того, сколько дней отработал сотрудник в расчетном месяце.
1. Создадим новый объект конфигурации Справочник с именем ВидыГрафиковРаботы.
2. В этом справочнике у нас будет два предопределенных графика работы :
- ГрафикАдминистрации;
- ГрафикМастеров.

7. Теперь все готово для создания регистра расчета.
Создадим новый объект конфигурации Регистр расчета с именем Начисления.
8. В качестве плана видов расчета, используемого регистром, выберем ОсновныеНачисления.
9. Установим, что
- регистр будет использовать период действия,
- График будет задаваться в регистре сведений ГрафикиРаботы,
- Значение графика будет находиться в ресурсе Значение,
- Дата графика → в измерении Дата.
10. Укажем, что регистр расчета будет использовать базовый период и периодичность регистра будет Месяц.

11. Затем перейдем на закладку Данные и создадим:
- измерение Сотрудник, тип СправочникСсылка.Сотрудники, базовое;
- ресурс Результат, тип Число, длина 15, точность 2;
- реквизит ГрафикРаботы, тип СправочникСсылка.ВидыГрафиковРаботы, связь с графиком по измерению ГрафикРаботы;
- реквизит ИсходныеДанные, тип Число, длина 15, точность 2.

Реквизит ГрафикРаботы мы будем использовать для того, чтобы связать запись регистра с используемым графиком работы, а реквизит ИсходныеДанные → чтобы хранить в нем данные, которые могут понадобиться при расчете или перерасчете (в нашем случае это будет расчет оклада).
12. Теперь перейдем на закладку Перерасчеты. Создадим объект конфигурации Перерасчет, который так и назовем → Перерасчет.
У него будет единственное измерение → Сотрудник, для которого в установке связи мы укажем измерение регистра Сотрудник и в качестве данных ведущих регистров выберем то же самое измерение Сотрудник регистра расчета Начисления.

На этом создание объекта конфигурации Регистр расчета Начисления завершено.
Использование регистра расчета. Создание документа НачисленияСотрудникам
Для того чтобы иметь возможность регистрировать в базе данных начисления, производимые сотрудникам фирмы, нам понадобится специальный документ.
1. Создадим новый документ с именем НачисленияСотрудникам.
2. Перейдем на закладку Нумерация и установим:
- Тип номера документа → Число;
- Длина номера → 5.
3. Этот документ будет иметь табличную часть Начисления, содержащую следующие реквизиты:
- Сотрудник, тип СправочникСсылка.Сотрудники;
- ГрафикРаботы, тип СправочникСсылка.ВидыГрафиковРаботы;
- ДатаНачала, тип Дата;
- ДатаОкончания, тип Дата;
- ВидРасчета, тип ПланВидовРасчетаСсылка.ОсновныеНачисления;
- Результат, тип Число, длина 15, точность 2.
Реквизиты ДатаНачала и ДатаОкончания понадобятся нам для того, чтобы задать период, в котором должна действовать запись расчета.
4. На закладке Движения запретим оперативное проведение документа. Отметим, что документ будет создавать движения по регистру расчета Начисления, и запустим конструктор движения.
5. В окне конструктора выберем табличную часть Начисления и нажмем Заполнить выражения.
6. Для реквизитов ПериодДействияКонец и БазовыйПериодКонец укажем выражение КонецДня(ТекСтрокаНачисления.ДатаОкончания).
7. Для поля ПериодРегистрации укажем выражение Дата.
8. Реквизиту ИсходныеДанные поставим в соответствие реквизит табличной части Результат.
9. Для реквизита Результат удалим выражение, присвоенное ему конструктором.

10. Нажмем ОК и посмотрим текст обработчика, созданный конструктором.

11. Запустим 1С:Предприятие в режиме отладки и посмотрим, как работает наш документ.
Начислим оклад за сентябрь всем сотрудникам фирмы:

12. Проведем документ и посмотрим, какие движения он сформировал в регистре Начисления:
![Список Начисления Действия -о] Т 0_Е_ Регистратор Период. Но. Вин рас. Период действия Дата начала пери. Дата окончания пери. Дата начала базов. Дата окончания базов. Л Ф- Начисления. 01.10.2008. 1 Оклад 01.03.2003 0:00:00 01.03.2003 0:00](https://stimul.kiev.ua/img/materialy_praktikum_11_plan_vidov_rascheta_registr_rascheta/372.png)
![Список Начисления Действия -о] _Э Активность Сторно Сотрудник Результат Г рафик работы Исходные данные Гусаков Николай Дмитриевич Г рафик мастеров 10 000,00 / Деловой Иван Сергеевич Г рафик мастеров 8 000,00 Симонов Валерий Михайлович Г рафик мастеров 3 00](https://stimul.kiev.ua/img/materialy_praktikum_11_plan_vidov_rascheta_registr_rascheta/373.png)
Обратите внимание на то, что платформа привела период регистрации каждой записи к началу периода регистра расчета (в обработчике проведения мы указывали значение даты документа 06.10.2008). Кроме этого заметьте, что с каждой записью мы сохранили в реквизите ИсходныеДанные размер оклада сотрудника, введенный в документе, чтобы в дальнейшем рассчитать сумму оплаты по окладу.
Для дальнейшего изучения работы регистра расчета нам понадобится служебный отчет, с помощью которого мы сможем посмотреть содержимое записей перерасчета.
Иллюстрация механизмов вытеснения и зависимости от базы
1. Создадим новый объект конфигурации Отчет и назовем его Перерасчет.
2. Создадим основную схему компоновки данных, добавим Набор данных → запрос и откроем конструктор запроса.
3. Из виртуальной таблицы перерасчета Начисления.Перерасчет выберем все поля:

4. На этом создание запроса закончено, нажмем ОК.
5. Перейдем на закладку Настройки и добавим группировку детальных записей.
6. На закладке Выбранные поля выберем для вывода в отчет поля ОбъектПерерасчета, ВидРасчета и Сотрудник. На этом создание схемы компоновки данных закончено.
7. Запустим 1С:Предприятие в режиме отладки, сформируем отчет Перерасчет и убедимся, что пока он не содержит никаких данных.
8. Создадим новый документ Начисление сотрудникам №–2, в котором начислим премию за сентябрь Гусакову и Деловому. Этим документом мы фиксируем тот факт, что данным сотрудникам нужно начислить премию по итогам работы за сентябрь. Поскольку размер премии нам не известен (он будет рассчитываться по некоторому алгоритму), поля Результат мы оставляем пустыми. ОК.

9. Теперь снова откроем документ Начисление сотрудникам №–1 и изменим оклад Гусакова с 10 000 на 7 000. Нажмем ОК. Сформируем отчет Перерасчет:

10. Как видите, отчет теперь содержит какие-то данные. В самом деле, вид расчета Премия зависит у нас по базовому периоду от вида расчета Оклад. Как только мы изменили существовавшие в регистре записи по виду расчета Оклад, платформа сразу же сформировала набор записей перерасчета, которые должны быть рассчитаны заново, так как изменилась их база.
11. Перепроведем документ Начисление сотрудникам №–2 (премия) и сформируем отчет Перерасчет. Он снова не содержит никаких данных → система отметила тот факт, что мы «пересчитали» зависимые записи, и очистила таблицу перерасчета.
12. На этом примере мы познакомились с работой механизма поддержки зависимости по базовому периоду у регистра расчета.
Теперь посмотрим, как работает механизм вытеснения по периоду действия. Для этого нам понадобится создать документ Начисление сотрудникам №–3.

13. Этим документом мы зафиксируем тот факт, что Гусаков не выходил на работу 1 по 10 сентября. Очевидно, что в этом случае потребуется пересчитать его оплату по окладу и, как следствие, начисленную премию. Нажмем ОК и сформируем Перерасчет.

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

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

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

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

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

Кроме этих двух форм для видов расчета поддерживается форма выбора конкретных видов расчета из списка. Она, обычно, содержит минимальный набор информации, необходимой для выбора того или иного вида расчета.
Настройка плана видов расчетов в 1С: Зарплата и управление персоналом
В данной инструкции рассмотрим настройку план видов расчетов, который способствует расчету начислений, удержаний. Также они имеют свой алгоритм расчета.
План видов расчетов представляет собой список элементов, которые имеют свои реквизиты. Чтобы просмотреть список необходимо перейти в пункт меню “ Настройки” и выбрать “Начисления” или “”Удержания”



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

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

Реквизит “Значение показателя” — можно выбрать назначение “Для сотрудника”, “Для подразделения”, “Для организации”.
Реквизит ”Тип показателя” — настройка, определяющая поведение показателя, является его тип.

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

Вернувшись обратно в настройки начисления, реквизит “Начисление выполняются” — определяет порядок ввода начисления.

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

Вкладка “Приоритет” — отображает список расчетов, который не может быть начислен одновременно.

Вкладка “Налоги, взносы,бухучет” — определяет порядок налогообложения, указывается код доходов НДФЛ, страховые взносы и т.д.

Выбор кода НДФЛ выбирается из справочника “Виды доходов НДФЛ”, по этим данным будут определятся расчет налогов и отражение в отчетности.

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

Настройка видов расчетов “Удержание”.
Для настройки видов расчетов “Удержание” воспользуемся пунктом меню “Настройка”.
Также как и в “Начисления” предопределенные элементы пользователь не может удалять данные.
В форме элемента разбита на три вкладки. На вкладке “основное” пользователь может выбрать расчет “Результат рассчитывается” или “Результат вводится фиксированной суммой”. Формулу можно отредактировать по такому же принципу как и начисление.
“Начисление удержания” можно выбрать один из перечисленных вариантов.

Также для нового элемента можно указать “Удержание выполняется” — “Ежемесячно” или “Только если введено значение показателя”.
На вкладке “Расчет базы”

На этом настройка удержания заканчивается. Как можно увидеть для настройки удержания намного меньше чем настройка начисления.