0) Основные понятия сложных периодических расчетов

Основа любого расчета, как понятия является вид расчета (собственно определение того, что именно рассчитывается). Виды расчета хранятся в плане (планах) вида расчета. (ПВР)

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

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

Период действия записи регистра расчета. Имеет смысл для записей, протяженных во времени. Например, командировка, зарегистрированная в марте может иметь период действия с 20 по 25 февраля. Если запись не имеет протяженности во времени, то для такой записи не имеет смысла понятие периода действия.

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

Теперь по поводу протяженности периода действия... Если, например, регистр расчета имеет периодичность в месяц, то невозможна запись, у которой, например, период действия c 01.01.2009 по 15.02. 2009. Придется делать две записи с периодами: с 01.01.2009 по 31.12.2009 и с 01.02.2009 по 15.02.2009.


Вытисняющие расчеты

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

Таким образом, говорят, что период действия командировки вытисняет период действия оклада. При этом период действия оклада не меняется! Меняется фактический период действия оклада. В нашем случае, фактический период действия оклада будет состоять из двух диапазонов дат, отстоящих друг от друга на 3 командировочных дня. Отметим, что если бы не было командировки, то фактический период действия оклада совпадал бы с периодом действия.

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

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

Что такое сторнирование? Дело в том, что оклад уже начислен и выплачен, следовательно, изменить что-либо в прошлом периоде невозможно, ибо в комплект поставки платформы 1С до сих пор не входит машина времени! За неимением таковой, придется выкручиваться в текущем периоде, а именно, необходимо отменить в текущем периоде ту часть оклада, которая попадает на больничный, а так же, необходимо позволить больничному иметь ненулевой фактический период действия в текущем периоде.

Именно сторно запись выправляет ситуацию.
Пусть в феврале сотрудник проболел пять дней, но расчетчик начислил ему полный оклад. В марте это выяснилось, ибо появился больничный. Тогда расчетчик вводит сторно запись c с периодом регистрации март, которая:
- отменяет начисление оклада за период болезни (например, 4000р)
- позволяет больничному иметь ненулевой фактический период в феврале, в результате чего сотруднику будет начислен больничный за февраль в марте.

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

Отметим, что вид расчета сторно-записи такой же, как у основной - «Оклад».

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

Зависимость по базовому периоду

Результат одного расчета может зависеть от результатов некоторых других расчетов за определенный период. Данный период, по которому вычисляется результаты базовых расчетов называется базовым периодом. А суммарный результат базовых расчетов - базой.
Так, например, квартальная премия может зависеть от оклада за 3 месяца, предшествующих месяцу начисления премии. В этом случае, базовый период - 3 месяца, а сама база - сумма фактически полученных средств по виду расчета «оклад» за 3 последних месяца.
Сама премия будит рассчитываться по определенной формуле исходя из базы, например, мы можем взять 50 % от среднеарифметического оклада за 3 месяца.

Ведущие расчеты и перерасчет

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

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