AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.05.2005, 10:41   #1  
konrad_imported is offline
konrad_imported
Участник
 
183 / 10 (1) +
Регистрация: 25.11.2004
Коллеги!
А кто как решил такую проблему? Про увольнении сотрудника, проработавшего менее положенного для очередного отпуска срока, ему должна быть выплачена компенсация из расчета 2,33 дня за каждый отработанный месяц. Стандартный механизм не работает с десятичными значениями дней компенсации. Следовательно, есть два пути:
1. Округлять дни компенсации до большего целого, вводя предприятие в некоторые расходы, но не нарушая законодательства.
2. Достаточно серьезная переработка механизма расчета компенсации.

Кто идет каким путем?
Старый 20.05.2005, 15:43   #2  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
Цитата:
Сообщение от konrad
Коллеги!
А кто как решил такую проблему? Про увольнении сотрудника, проработавшего менее положенного для очередного отпуска срока, ему должна быть выплачена компенсация из расчета 2,33 дня за каждый отработанный месяц. Стандартный механизм не работает с десятичными значениями дней компенсации. Следовательно, есть два пути:
1. Округлять дни компенсации до большего целого, вводя предприятие в некоторые расходы, но не нарушая законодательства.
2. Достаточно серьезная переработка механизма расчета компенсации.

Кто идет каким путем?
Я ходил обоими путями.
Для одних клиентов дни компенсации округлялись до целых по правилам арифметики. Для других клиентов настраивался расчет компенсации с возможностью ввода в приказ нецелого количества дней. Доработка там не такая уж большая. У меня это заняло часа 2-3. Там толком и дорабатывать ничего не надо, только тип полей с Integer на Decimal аккуратно изменить.
А вообще законодательство нигде не лимитирует, с точностью до какого знака должны исчисляться дни компенсации.
Старый 20.05.2005, 18:31   #3  
konrad_imported is offline
konrad_imported
Участник
 
183 / 10 (1) +
Регистрация: 25.11.2004
В приказе - да, доработка минимальна.
Основная доработка видится в изменении кода шагов метода используемого расчетного элемента. А так как и отпуск по ним же считается - то залезать туда пока не хочется. (используемая версия Навижн - 310)
Старый 22.05.2005, 18:13   #4  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
А что Вы хотите менять в шагах?
Если у Вас Navision 3.10, по идее для расчета компенсации должен использоваться только 1 шаг СУМ=СУМ ОТП СОВ ДНИ. Там вроде и дорабатывать ничего не надо, если только где тип переменной с Integer на Decimal изменить.
Старый 23.05.2005, 09:59   #5  
konrad_imported is offline
konrad_imported
Участник
 
183 / 10 (1) +
Регистрация: 25.11.2004
Да, именно СУМ=СУМ ОТП СОВ ДНИ. Там в свою очередь используется функция VacationPayment. В ней число дней отпуска (либо компенсации) используется в функции CALCDATE. Естественно, Integer на Decimal тут ничего в принципе не даст - EmployeeSalary.Amount и так Decimal. Потому и надо код менять достаточно сильно и с оглядкой.
Старый 23.05.2005, 10:27   #6  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
Хм. Просмотрел VacationPayment. Нашел там только такую строку с CalcDate и Amount.

DateEndFirstPart := CALCDATE('<' + FORMAT(ROUND(EmployeeSalary.Amount,1))+'D>',DateStartFirstPart);

ROUND, по-моему, не я ставил. Но даже если его и не стоит, ставьте смело. Расчету отпуска от этого хуже не будет.
Старый 23.05.2005, 18:59   #7  
konrad_imported is offline
konrad_imported
Участник
 
183 / 10 (1) +
Регистрация: 25.11.2004
У меня Round-a там нет, и на этом месте расчет естественно затыкается.
Вот только не понятно, нафига его (round) туда ставить. Проще тогда в приказе число дней целое округленное поставить. А то в приказе дни будут с сотыми стоять, в листке компенсации - тоже, а расчет пойдет с округленного числа. Липа, однако!
Вот, собственно, отсюда и вытекает необходимость переделывать серьезно механизм, если учитывать эти чертовы сотые.
Старый 24.05.2005, 09:43   #8  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
Так этим оператором и не производится расчет оплаты отпуска. Для расчета количества оплачиваемых дней используется значение поля Amount из таблицы EmployeeSalary.
А переменная DateEndFirstPart в дальнейшем при расчете компенсации не используется. По крайней мере, в стандартном Navision/
Старый 24.05.2005, 15:15   #9  
konrad_imported is offline
konrad_imported
Участник
 
183 / 10 (1) +
Регистрация: 25.11.2004
Куда нужна DateEndFirstPart в разрезе отпуска - я пока не отслеживал. Насторожило ее наличие - раз расчитывается - значит, зачем-то нужно. Хорошо, если не так.
Знать бы еще - что из того, что рассчитывается, не понадобится
Старый 22.08.2005, 12:29   #10  
Пружинин Тимофей is offline
Пружинин Тимофей
Участник
 
2 / 10 (1) +
Регистрация: 22.08.2005
Лучше округлять, но можно руководствоваться правилами об отпусках 1930 года там получается 2 дня за месяц http://www.pravonatrud.ru hfpltk rjvgtycfwbb компенсации
Старый 17.12.2005, 12:43   #11  
Пружинин Тимофей is offline
Пружинин Тимофей
Участник
 
2 / 10 (1) +
Регистрация: 22.08.2005
Ну , во первых 2.33 или 2 до сих пор спорный вопрос... 12 месяцев, 28 календарных дней... и того 2 дня за месяц. отработал работник больше половины месяца платишь как за полный, меньше, не платишь вовсе. С траблами про увольнения вот тут подробно http://trudovoepravo.ru/uvolnenie/
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:14.