Фокус в том, что для поставленной задачи периодов с буквой О нет. Будут только А и Р. Вообще буковки, которые видны в утилите просмотра результатов расчета, вообще не имеют значения, так как они показывают состояние на текущий момент (момент последнего расчета). Например, у расчета, который был сделан 2 года назад, и после которого несколько раз был сделан расчета, утилита будет показывать статус О. Но не смотря на это, когда будет формироваться расчетный листок за такой период, этот статус все равно будет преобразован в А и Р. Есть специальный ФМ, которые из каталога результатов расчета выделяет те расчеты, которые релевантны для определенного в-периода. Этот же ФМ производит перекодировку буковок в соответствующее значение А и Р. По поводу как учитывать данные в зависимости от признака А и Р. Данные из расчета с признаком Р нужно просто умножить на -1, без всяких условий, а не так - если наша запись "A", надо отнять "P" . Результат складывается с учетом необходимого уровня группировки.
Какими ФМ можно пользоваться? Есть несколько способов, приведу пару Способ 1. ФМ 'RP_EVALUATION_PERIODS'. Этому ФМ передается период, за который нужна информация, он выдает список результатов расчетов (таблица EVP). При этом признак srtza имеет правильное значение для соответствующего в-периода. Далее нужно считать результаты расчетов по номерам EVP-SEQNR и обработать, умножая значение RT-BETRG на -1, если srtza = ‘P’.
Способ 2. ФМ 'HR_RU_GET_EVALUATION_PERIODS'. Этот ФМ сам определяет релевантные периоды и загружает необходимые результаты расчетов. На выходе будет структура payroll, где содержится вся необходимая информация.
Как делается в конкретной программе довольно легко вскрывается просмотром исходника. Открываете, делаете глобальный поиск по "get pernr". Если это стандратная программа, то обычно есть процедура типа process_pernr, ныряете туда и смотрите. Можно также поставить точку останова и посмотреть в исполнении, можно увидеть что-куда переадется и что возвращается. Если набить руку это занимает не больше 5 минут. Можно попросить помощь штатного абапера на первых порах.
С программой расчетных листков сложность в том, что она универсальная - расчетные листки можно смотреть вместе с пересчетами, отдельно с пересчетами ит.д. Поэтому там может применяться более сложная обработка данных.
|
|