|
20.05.2005, 10:41 | #1 |
Участник
|
Коллеги!
А кто как решил такую проблему? Про увольнении сотрудника, проработавшего менее положенного для очередного отпуска срока, ему должна быть выплачена компенсация из расчета 2,33 дня за каждый отработанный месяц. Стандартный механизм не работает с десятичными значениями дней компенсации. Следовательно, есть два пути: 1. Округлять дни компенсации до большего целого, вводя предприятие в некоторые расходы, но не нарушая законодательства. 2. Достаточно серьезная переработка механизма расчета компенсации. Кто идет каким путем? |
|
20.05.2005, 15:43 | #2 |
Участник
|
Цитата:
Сообщение от konrad
Коллеги!
А кто как решил такую проблему? Про увольнении сотрудника, проработавшего менее положенного для очередного отпуска срока, ему должна быть выплачена компенсация из расчета 2,33 дня за каждый отработанный месяц. Стандартный механизм не работает с десятичными значениями дней компенсации. Следовательно, есть два пути: 1. Округлять дни компенсации до большего целого, вводя предприятие в некоторые расходы, но не нарушая законодательства. 2. Достаточно серьезная переработка механизма расчета компенсации. Кто идет каким путем? Для одних клиентов дни компенсации округлялись до целых по правилам арифметики. Для других клиентов настраивался расчет компенсации с возможностью ввода в приказ нецелого количества дней. Доработка там не такая уж большая. У меня это заняло часа 2-3. Там толком и дорабатывать ничего не надо, только тип полей с Integer на Decimal аккуратно изменить. А вообще законодательство нигде не лимитирует, с точностью до какого знака должны исчисляться дни компенсации. |
|
20.05.2005, 18:31 | #3 |
Участник
|
В приказе - да, доработка минимальна.
Основная доработка видится в изменении кода шагов метода используемого расчетного элемента. А так как и отпуск по ним же считается - то залезать туда пока не хочется. (используемая версия Навижн - 310) |
|
22.05.2005, 18:13 | #4 |
Участник
|
А что Вы хотите менять в шагах?
Если у Вас Navision 3.10, по идее для расчета компенсации должен использоваться только 1 шаг СУМ=СУМ ОТП СОВ ДНИ. Там вроде и дорабатывать ничего не надо, если только где тип переменной с Integer на Decimal изменить. |
|
23.05.2005, 09:59 | #5 |
Участник
|
Да, именно СУМ=СУМ ОТП СОВ ДНИ. Там в свою очередь используется функция VacationPayment. В ней число дней отпуска (либо компенсации) используется в функции CALCDATE. Естественно, Integer на Decimal тут ничего в принципе не даст - EmployeeSalary.Amount и так Decimal. Потому и надо код менять достаточно сильно и с оглядкой.
|
|
23.05.2005, 10:27 | #6 |
Участник
|
Хм. Просмотрел VacationPayment. Нашел там только такую строку с CalcDate и Amount.
DateEndFirstPart := CALCDATE('<' + FORMAT(ROUND(EmployeeSalary.Amount,1))+'D>',DateStartFirstPart); ROUND, по-моему, не я ставил. Но даже если его и не стоит, ставьте смело. Расчету отпуска от этого хуже не будет. |
|
23.05.2005, 18:59 | #7 |
Участник
|
У меня Round-a там нет, и на этом месте расчет естественно затыкается.
Вот только не понятно, нафига его (round) туда ставить. Проще тогда в приказе число дней целое округленное поставить. А то в приказе дни будут с сотыми стоять, в листке компенсации - тоже, а расчет пойдет с округленного числа. Липа, однако! Вот, собственно, отсюда и вытекает необходимость переделывать серьезно механизм, если учитывать эти чертовы сотые. |
|
24.05.2005, 09:43 | #8 |
Участник
|
Так этим оператором и не производится расчет оплаты отпуска. Для расчета количества оплачиваемых дней используется значение поля Amount из таблицы EmployeeSalary.
А переменная DateEndFirstPart в дальнейшем при расчете компенсации не используется. По крайней мере, в стандартном Navision/ |
|
24.05.2005, 15:15 | #9 |
Участник
|
Куда нужна DateEndFirstPart в разрезе отпуска - я пока не отслеживал. Насторожило ее наличие - раз расчитывается - значит, зачем-то нужно. Хорошо, если не так.
Знать бы еще - что из того, что рассчитывается, не понадобится |
|
22.08.2005, 12:29 | #10 |
Участник
|
Лучше округлять, но можно руководствоваться правилами об отпусках 1930 года там получается 2 дня за месяц http://www.pravonatrud.ru hfpltk rjvgtycfwbb компенсации
|
|
17.12.2005, 12:43 | #11 |
Участник
|
Ну , во первых 2.33 или 2 до сих пор спорный вопрос... 12 месяцев, 28 календарных дней... и того 2 дня за месяц. отработал работник больше половины месяца платишь как за полный, меньше, не платишь вовсе. С траблами про увольнения вот тут подробно http://trudovoepravo.ru/uvolnenie/
|
|