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

Вопрос задал Сергей Р.

Ответственный за ответ: Щелкунова Юлия (★9.81/10)

Здравствуйте. Возможно ли реализовать: Оклад+ПремияРазоваяСуммой. Если сотруднику с отпускными начисляется меньше, чем если бы он не ходил в отпуск, требуется доплатить разницу. Вариант https://its.1c.ru/db/staff1c/content/34887/zup30 — сразу пишут «без табеля». Нам надо вариант с табелем. Пробовал через Показатель, формула Макс((((Оклад + РазмерРазовойПремии) * ДоляНеполногоРабочегоВремени / НормаДней) * _Проба1) — РасчетнаяБаза, 0), _Проба1 — количество дней отпуска. Работает только когда отпуск не попадает на выходные. Когда выходные — сумма больше. Не пробовал для переходящего отпуска. Спасибо.

Метки вопроса: —

Все комментарии (6)

  1. Здравствуйте! К сожалению, поскольку отпуск оплачивается и за выходные дни, нет возможности посчитать количество рабочих дней за период, на который приходится отпуск. Т.е. дни в отпуске — это всегда с выходными. Придётся вводить как показатель именно количество рабочих дней, приходящихся на период отпуска.
    С формулой Вашей согласна, но в качестве значения «проба1» нужно указывать дни без выходных. А автоматизировать расчёт этого показателя не получится, придётся вносить вручную.

  2. Юлия, спасибо огромное. Я не зарплатник, потратил много времени на разные варианты, надо было просто подождать Вашего ответа, чтоб так сказать понимать, куда копать. Напишу, может кому пригодится. Для расчета придется вносить по сотруднику сразу два показателя — ПолныхДнейОтпуска и РабочихДнейОтпуска. Дело в том, что для расчета мы получаем базу, которая определяется днями отпуска с выходными, а для доплаты нам надо учесть только дни отпуска без выходных. Формула Макс((((Оклад + РазмерРазовойПремии) * ДоляНеполногоРабочегоВремени *_ПолныхДнейОтпуска / НормаДней — РасчетнаяБаза) * _РабочихДнейОтпуска / _ПолныхДнейОтпуска, 0). Может что упростить можно, буду весьма благодарен за замечания.

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

    1. Здравствуйте!
      Наверное я изначально неверно поняла задачу.
      Давайте на примере:
      Оклад + премия =50 000. Норма дней в месяце 20. Отпуск на неделю, т.е. полных дней 7, а рабочих 5. Отпускные 10 000 руб.

      Если бы сотрудник не был в отпуске, то работая, получил бы 50 000/20*5= 12500. Доплатить надо 2500 руб.

      И формулу я вижу так: Макс(((Оклад + РазмерРазовойПремии) * ДоляНеполногоРабочегоВремени *_РабочихДнейОтпуска / НормаДней — РасчетнаяБаза), 0)

      А получается считаете только за рабочие дни в отпуске в базу: 10 000/7*5 = 7142,85
      И доплачиваем 12500 — 7 142,85 = 5 357,14.

      Тогда да, нужно и кол-во полных дней и кол-во рабочих.

      А какой вид времени используете в начислении? Если Отпуск (должен же быть он), то количество полных дней можно не вводить, а почитать показателем «время в днях».

  3. Юлия, здравствуйте!
    1. Классно, вот что значит так сказать грамотный методист — один параметр с Вашей помощью удалось сократить. Действительно, если поставить ВидВремени=Отпуск, то вместо показателя _ПолныхДнейОтпуска можно использовать ВремяВДнях.
    2. Вы писали «… И формулу я вижу так: Макс(((Оклад + РазмерРазовойПремии) * ДоляНеполногоРабочегоВремени *_РабочихДнейОтпуска / НормаДней — РасчетнаяБаза), 0)» — тут наверное закралась ошибка. Например отпуск у сотрудника 3 дня Пт, Сб и Вс (рабочих — 1 день), Оклад + премия =50 000. Норма дней в месяце 20, отпускные 3000. Слева от знака вычитания «(Оклад + РазмерРазовойПремии) * ДоляНеполногоРабочегоВремени *_РабочихДнейОтпуска / НормаДней» — это мы получим сумму (Оклад+Премия) за один рабочий день. Справа от знака вычитания РасчетнаяБаза, это оплата за 3 дня отпуска. То есть мы сравниваем несравниваемые значения — одна сумма за один день, другая за 3 дня, это неправильно, тут надо одну часть привести к другой по дням, и потом только сравнивать (в нашем случае вычитать.). В нашем случае например такая формула покажет доплату 0 (левая часть сумма за один день 50 000/20*1=2500руб будет меньше правой части за три дня 3000), это неправильно, ведь мы должны сделать доплату за один день отпуска Пт 50 000/20*1-3000/3*1 = 2500-1000 = 1500 руб. Ведь за каждый отработанный день сотрудник получает 2500, за каждый день отпуска 1000. Поэтому наверное с приведенными суммами должна быть такая формула:
    Макс(((Оклад + РазмерРазовойПремии) * ДоляНеполногоРабочегоВремени * ВремяВДнях / НормаДней — РасчетнаяБаза) * _РабочихДнейОтпуска / ВремяВДнях, 0)
    Здесь умножением * ВремяВДнях сумма ОкладПремияЗаДень приводится по дням к РасчетнаяБаза (сумма отпуска), разность получаем для ДнейОтпуска, далее нам надо привести разность к рабочим дням, поэтому * _РабочихДнейОтпуска / ВремяВДнях.

    1. Здравствуйте!
      (Оклад + РазмерРазовойПремии) * ДоляНеполногоРабочегоВремени *_РабочихДнейОтпуска / НормаДней» — это мы получим сумму (Оклад+Премия) за один рабочий день.
      Нет, это будет сумма (Оклад+Премия) за все рабочие дни отпуска.
      А сравниваю с полной суммой отпускных, без пересчета на рабочие дни, потому что я изначально подумала, что это не требуется.
      Т.е. я сравнивала, сумму зарплаты, которую бы получил сотрудник за период отпуска, с полной суммой отпускных.

      Раз Вам по условию требуется пересчитывать отпускные на рабочие дни, то нужно добавить пересчет в формулу. сразу скажу, Вы формулу составили правильно!
      Но мне сначала показалось, что она не верная. Просчитала на нескольких примерах — верный результат! Долго не могла «вкурить», ка кона работает! ? Потом сообразила. Вот, что значит, два разных человека мыслят по разному. 🙂

      Я вижу формулу так:
      Макс(((Оклад + РазмерРазовойПремии) * ДоляНеполногоРабочегоВремени * _РабочихДнейОтпуска / НормаДней — РасчетнаяБаза * _РабочихДнейОтпуска / ВремяВДнях), 0)

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

Комментарии закрыты.