Текущее время: Пт, июл 25 2025, 05:39

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: корректировочный межрасчёт - период за какой пересчёт
СообщениеДобавлено: Вт, дек 25 2012, 16:13 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, авг 22 2005, 14:50
Сообщения: 1285
Откуда: с работы
Пол: Женский
Доброго всем времени суток,
настроила корректировочный межрасчёт - всё хорошо, даже NUM прикрутился в расчётку к ВО, а период для межрасчётов всегда 00000, более того в RUCDT берут и всю ВПБП курочат на с-по дату офсайкла и естественно все сплиты на этот ВПБП. Вытащить за какой месяц пересчёт - нереально - тупо неоткуда.
САП говорит At the moment our local Product manager did not confirm developing of this functionality, because there is no legal requirements to standard payslip in Russia. А мои упёрлись - крутись как хочешь, а сделай :twisted: Показывать просто прошлый месяц для каждого ВО не хотят. Да тут даже абапом не вижу как сделать - ну не делать ради этого свою табличку в кластер и не ломать же RUCDT в самом деле
А у вас есть идеи, как можно сделать?

Самое смешное, было по корректировочному офсайклу от САПа что типо у всех клиентов работает нормально - не жалуются. Я ещё поспрашала вокруг - корректировочным практически нигде не пользуются ибо непредсказуемо глючен. Интересно, много у кого есть и пользуются?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: корректировочный межрасчёт - период за какой пересчёт
СообщениеДобавлено: Ср, дек 26 2012, 14:04 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
Обратите внимание на таблицу RURT. В ней сохраняется оригинальное заполнение таблицы RT, перед тем как с ней поработает RUCDT.
Схема обратки примерно такая. В конце обратного расчета месяца в таблице RT хранится новый расчет. Этот расчет копируется в RURT. Затем новый расчет (RT) сравнивается со старой версией этого же расчет, разница между ними попадает в RUCDT, а RT заполняется старым расчетом. Остальные таблицы
Для желаемого отображения расчетного листка вам нужно работать с RURT вместо RT. Именно так поступают такие отчета как 2НДФЛ, например. Причем, даже не нужно логику программы сильно переделывать. RU-версии ФМ считывания данных из кластера делают это на лету.

Пример. ФМ HR_RU_GET_EVALUATION_PERIODS заканчивается таким кодом
Code:
*  5. Additional post processing block.
*     Substitute wage types in RT with data from RURT if run was during correction run
  IF rurt_processing IS NOT INITIAL AND pay_type = cd_c-correct.
    LOOP AT evaluated_periods ASSIGNING <ls_period> WHERE evp-inpty EQ cd_c-correct
                                                    AND ( evp-payty EQ cd_c-regular OR
                                                          evp-payty EQ cd_c-correct ).
      <ls_period>-inter-rt = <ls_period>-nat-rurt.
    ENDLOOP.
  ENDIF.
который сам выполняет подмену.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: корректировочный межрасчёт - период за какой пересчёт
СообщениеДобавлено: Ср, дек 26 2012, 18:10 
Ассистент
Ассистент

Зарегистрирован:
Ср, сен 09 2009, 23:04
Сообщения: 30
1) работать с RURT можно только в случае, если никаких фильтров для передачи из перерасчитываемом периоде в регулярном нет.
2) САП сделал расширение расчетного листка на основе HRforms, которое должно решать эту же проблему, но уже в релулярном расчете, который импортирует результаты корректировочного. для СЕ версии: 0001718199 HR-RU: pdf-based HR Form of payslip for CE.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: корректировочный межрасчёт - период за какой пересчёт
СообщениеДобавлено: Чт, дек 27 2012, 06:26 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
andre-ka написал(а):
1) работать с RURT можно только в случае, если никаких фильтров для передачи из перерасчитываемом периоде в регулярном нет.

Что за фильтры при передаче? В перерасчете что-то считаем, но при передаче в месяц расчета отсекаем как ненужное?
Это лишь вопрос организации расчета. Если это действительно необходимо, то отсекать можно в самом перерасчете, до вызова RUCDT. Тогда и на передаче не нужно будет ничего отсекать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: корректировочный межрасчёт - период за какой пересчёт
СообщениеДобавлено: Пт, дек 28 2012, 17:26 
Ассистент
Ассистент

Зарегистрирован:
Ср, сен 09 2009, 23:04
Сообщения: 30
RoustR написал(а):
Если это действительно необходимо, то отсекать можно в самом перерасчете, до вызова RUCDT. Тогда и на передаче не нужно будет ничего отсекать.

тут надо учесть, что при корректировочном расчете для перерасчетов используется обычная схема и проверки на межрасчет не проходят.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: корректировочный межрасчёт - период за какой пересчёт
СообщениеДобавлено: Сб, дек 29 2012, 07:22 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
andre-ka написал(а):
при корректировочном расчете для перерасчетов используется обычная схема и проверки на межрасчет не проходят.

Почему же? Причину расчета проверить можно. Добавить собственное правило, которое реализует эту функцию, не составит труда. Или Вам удается использовать стандартную схему, не внося в нее ни одного изменения? Обычно приходится делать собственные вставки, чтобы реализовать какие-то бизнес-задачи. Тот же самый фильтр на передаче получилось реализовать только настройками характеристик ВО, без единого изменения схемы и правил?

И потом, если фильтровать ВО на этапе передачи изменений из месяца перерасчета, то это исказит работу стандартных отчетов. Стандартные отчеты используют именно этот механизм, и если он не будет работать для расчетных листков, то не будет работать и, например, для 2НДФЛ.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: корректировочный межрасчёт - период за какой пересчёт
СообщениеДобавлено: Чт, янв 10 2013, 11:58 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, авг 22 2005, 14:50
Сообщения: 1285
Откуда: с работы
Пол: Женский
Не совсем поняла, ну RURT - она ж в кластере потом не хранится, суммы-то ладно, мне периоды нужны. А там то же самое, что и в RT - нет периодов, да и ссылка на ВПБП какую?
RoustR написал(а):
Обратите внимание на таблицу RURT. В ней сохраняется оригинальное заполнение таблицы RT, перед тем как с ней поработает RUCDT

по поводу HRforms ноту нашла только про СЕ по России - у нас СЕ нет. Нашла такие формуляры:
SAP_PAYSLIP_RU
SAP_PAYSLIP_RU_1
SAP_PAYSLIP_RUCE
сижу курю Note 1415445 - FAQ HRForms remuneration statement и ставлю наконец лайф сайкл дизайнер. Чот сомневаюсь что там можно что-то вытянуть, если нет данных в расчёте о периоде за какой пересчёт конкретного ВО.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: корректировочный межрасчёт - период за какой пересчёт
СообщениеДобавлено: Чт, янв 10 2013, 12:32 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
RURT хранится в кластере. Это происходит только для расчета типа B. Я даже привел исходник ФМ, который на этапе считывания производит подмену RT на RURT.

Чтобы было понятнее, посмотрите как работает 2НДФЛ.
Откройте в se38 HRULNDFL
Найдите следующий фрагмент
Code:
** read payroll results
  data: g_lines type i.
  go_tax->if_hrpayru_report_control~set_person(
                        exporting
                            i_pernr         = pernr-pernr
                        exceptions
                            payroll_results = 1
                            error_of_class  = 2 ).
** reject pernr if there isn't relevant payroll result

провалитесь в set_person
найтите фрагмент
Code:
    IF ms_ocrun IS NOT INITIAL.
      l_period = ms_ocrun-bondt(6).
      lv_permo = me->get_permo( l_period ).
      me->read_cluster( EXPORTING
                            begper   = l_period
                            endper   = l_period
                            permo    = lv_permo
                            pernr    = <ls_pernr>-rfpnr
                            is_ocrun = ms_ocrun
                         IMPORTING
                           it_payroll  = lt_results
                         EXCEPTIONS
                           payroll_results = 1
                       ) .
      IF sy-subrc EQ 0.

Поставьте breakpointer на me->read_cluster.
Теперь запустим 2НДФЛ для своего расчета. На закладке "Другой прогон" необходимо указать параметры вашего корректировочного расчета.
Выполнить. Программа остановиться на breakpointer. Провалимся в read_cluster, там будет вызов hr_ru_get_evaluation_periods, пройдем туда.
Теперь смотрим как зачитваются результаты расчета. Последним шагом как и раз и будет подмена RT на RURT в коде, который я привел в первом сообщении.
Для самой 2НДФЛ эта подмена выполнена совершенно прозрачно, логика ее работы нисколько не меняется. Для расчетных листов нужно сделать тоже самое - произвести замену RT на RURT на этапе считывания. В RURT сохранена вся оригинальная информация о привязки к спитам. Условия подмены приведены в первом сообщении.

ЗЫ. При расчете типа B изменения в ВО, переданные из перерасчетов прошлых периодов, попадают в расчет текущего месяца, где они заменяются на другие ВО. При реализации этого подхода Вы должны настроить показывать оригинальные ВО, а не подменные, иначе изменения в расчетке будут отображены дважды.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB