1с не задан вид расчета

Обновлено: 04.07.2024

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

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

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

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

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

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

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

Вытесняющие виды расчета - описание правил формирования фактического периода действия

Для видов расчета плана видов расчета с поддержкой периода действия (свойство "Использует период действия") есть возможность задавать список вытесняющих видов расчета. Этот список используется системой при расчете фактического периода действия соответствующих регистров расчета (т.е. тех, которым назначен план видов расчета). Отношения "вытесняющий-вытесняемый" между записями регистра расчета возникают в том случае, если периоды действия записей пересекаются. На рисунке ниже приведены примеры. В них принято, что для вида расчета А вытесняющими являются виды расчета B и C, а для вида расчета B вытесняющим является вид расчета C. В примере не учитываются такие нюансы как наличие сторно-записей и период регистрации записей.

В примере 1 фактический период действия записи A - три интервала времени. Т.е. при запросе к таблице фактического периода действия мы получим три записи для вида расчета A, и по одной записи для видов расчета B и C. В примере 2 иллюстрация того, что фактический период действия может оказаться "пустым". О таком случае будем говорить, что вид расчета A полностью "вытеснен".

Практический пример для приведенной выше иллюстрации - виды начислений при расчете заработной платы - "больничный", "отпуск" (вытесняется больничным) и "по окладу" (вытесняется и больничным и отпуском).

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

  • В режиме исполнения для предопределенных видов расчета пользователь может только "дописать" список вытесняющих видов расчета. У него нет возможности сократить этот список.
  • Невозможно ввести в систему вид расчета с "неполным" списком вытесняющих видов расчета. На приведенном выше примере это значит, что для вида расчета A нельзя в списке вытесняющих видов расчета оставить только вид расчета B, так как он в свою очередь вытесняется видом расчета C (более подробно см. "Особенности поведения системы при записи объекта Вид расчета").
  • Для целей вычисления фактического периода действия система не различает списки вытесняющих видов расчета введенные при конфигурировании и в режиме исполнения. В этом смысле разработчик конфигурации, который дал возможность пользователю редактировать списки вытесняющих видов расчета, дал ему возможность переопределить функцию вычисления фактического периода действия.

Влияние периода регистрации записей на формирование фактического периода действия

При вычислении фактического периода действия учитывается период регистрации записей регистров расчета.

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

Влияние сторнирующих записей на формирование фактического периода действия

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

  • сначала отметить ошибочность прошлого начисления;
  • затем ввести новое начисление.

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

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

На приведенном выше рисунке записи более раннего и более позднего периодов регистрации разделены прерывистой линией. Фактический период действия записи B в примере 1 - пустой. В примере 2, в условиях присутствия сторнирующей записи фактический период действия записи B - не пустой. В примере 3 проиллюстирован случай, когда при расчете фактического периода действия для вида расчета B дал в результате два интервала времени - до начала периода действия вида расчета A более раннего периода и в интервале, "открытом" сторно-записью вида расчета A.

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

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

Вычисление фактического периода действия для сторнирующих записей

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

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

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

Особенности поведения системы при записи объекта Вид расчета

Общие проверки вида расчета

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

Проверки предопределенных табличных частей

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

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


Проверки табличной части вытесняющих видов расчета


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


Система в приведенном случае "требует" включить виды расчета Б1 и Б2 в список вытеснения для вида расчета А так как в этот список включен вид расчета А2.

Проверки табличной части ведущих видов расчета

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

Особенности записи предопределенных видов расчета при реструктуризации конфигурации

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


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

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

У всех начислений, в том числе и у компенсации отпуска, есть такие реквизиты как «Начисляется в целом за месяц» и «Использовать период». По умолчанию для компенсации отпуска установлены значения этих реквизитов «Да» и «Не использовать».

После того, как Вы добавили в формулу показатель «Доля неполного рабочего времени», программа при записи начисления автоматически изменила значения реквизитов следующим образом:

— реквизит «Начисляется в целом за месяц» принял значение «Нет»

— реквизит «Использовать период» принял значение «Период действия».

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

После того, как реквизиты «Начисляется в целом за месяц» и «Использовать период» изменили свое значение, в документе Увольнение перестало заполняться начисление для компенсации отпуска и указать это начисление нет возможности.

Можно попробовать на копии базы обработкой группового изменения реквизитов для компенсации отпуска (в режиме разработчика!) изменить значения реквизитов «Начисляется в целом за месяц» и «Использовать период», установить им принудительно значения по умолчанию. После этого попробовать провести Увольнение и посмотреть, корректно ли рассчитается.

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

Или можно попробовать ввести в формулу свой показатель, например «Коэффициент ставки» (назначается для сотрудника, постоянный). Формула тогда будет выглядеть так:

«Макс(СреднийЗаработокОбщий * КалендарныеДниМесяцаБезПраздников, УчитыватьМРОТ * МРОТ* ?(КоэффициентСтавки>0,КоэффициентСтавки,1)) / КалендарныеДниМесяцаБезПраздников * КоличествоДнейОтпуска * КоэффициентИндексацииСреднегоЗаработка»

и вводить его значение для сотрудников с неполной ставкой в кадровых документах или документе Изменение оплаты труда в отдельной табличной части (Доп. тарифы, коэффициенты). Для того, чтобы эта табл. часть стала доступной в документах, необходимо в настройках расчета з/п установить флажок «Используется несколько тарифных ставок для одного сотрудника».

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

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




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

Настройка видов расчетов “Начисления”

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

Чтобы отредактировать уже существующий вид расчетов, необходимо выбрать нужный и дважды нажать на него.

В форме элемента пользователь может отредактировать реквизиты и в некоторых полях указать свои данные.


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

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


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

Реквизит ”Тип показателя” - настройка, определяющая поведение показателя, является его тип.


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


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


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

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


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


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


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


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


Настройка видов расчетов “Удержание”.

Для настройки видов расчетов “Удержание” воспользуемся пунктом меню “Настройка”.

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

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

“Начисление удержания” можно выбрать один из перечисленных вариантов.


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

На вкладке “Расчет базы”


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

Читайте также: