Текущее время: Чт, июл 24 2025, 01:14

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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