RoustR написал(а):
Не работал именно с этим отчетом, чтобы ответить не глядя в чем у вас проблема. Попробуйте отловить вызов ФМ HR_RU_GET_PF_PERIODS или HR_RU_SEN_CALCULATE_COMPLETE, посмотреть что у них на выходе. Если ФМ выдают верные стажи, то их настройка в порядке, проблема где-то в программе дальше - ищем что происходит со стажами после ФМ. Если сами ФМ выдают неверные стажи - проверяем настройку стажей.
В ф.м. HR_RU_DAQ_PFR_SENIORITY расчет стажа запускается 2 раза:
Code:
if sv_gprun = 'X'.
* separate GPH contract run
perform seniority_run using 'X' lo_repcl sv_gprsn sv_ctype sv_ceval
im_daq-pernr lv_begda lv_endda
lv_py271 lv_py272 lv_pyins
lv_posty lv_pygph
changing lt_pfper.
endif.
* LABOR contract run
perform seniority_run using space lo_repcl sv_gprsn sv_ctype sv_ceval
im_daq-pernr lv_begda lv_endda
lv_py271 lv_py272 lv_pyins
lv_posty lv_pygph
changing lt_pfper.
По умолчанию sv_gprun
Code:
sv_gprun type flag value 'X'.
Заполняется sv_gprun
Code:
* separate GPH run
call method cl_hr_t7rurptcst00=>read
exporting
progr = 'PFR_SENIORITY'
param = 'GPH_RUN'
receiving
t7rurptcst00 = ls_par00.
if not ls_par00-progr is initial.
sv_gprun = ls_par00-contn.
endif.
Добавил в T7RURPTCST00 для "программы" PFR_SENIORITY пустое значение для параметра GPH_RUN...