Galka написала:
читаем САП, так сказать "RTFM". Функция HR_SEN_CRULE_0100_DURATION
Цитата:
This function module is used for a conversion rule for employment period calculation.
The units years, months, and days are used for the calculation. The required conversions take place based on the assumption that 1 year = 12 months and 1 month = 30 days.
Там немного другое имеется в виду (по крайней мере HR_SEN_CRULE_0100_DURATION работает так). Если в результате расчета в поле дни получилось число 30 и более, до они переносится в "старший разряд" - месяцы.
Сами попробуйте, вот что этот ФМ выдает.
01.08.1974 - 05.09.1973 = 0.10.28
02.08.1974 - 05.09.1973 = 0.10.29
03.08.1974 - 05.09.1973 = 0.11.00
04.08.1974 - 05.09.1973 = 0.11.00
05.08.1974 - 05.09.1973 = 0.11.01
Если Вы хотите считать, что в году 360 дней, другой подход, достачно простой кстати. НУжно вычислить разницу между ennda и begda (просто математическое вычитание). Остаток от деления разницы на 30 даст количество дней, целочисленное деление на 30 даст кол-во месяцев. Эти месяца также разделить на 12 - остаток от деления - месяцы, частное - годы.
Только ведь при таком подходе стаж на период 01.01.1990-31.12.2007 будет 18г3м3д. Так и нужно?