Текущее время: Сб, июл 19 2025, 19:53

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




Начать новую тему Ответить на тему  [ Сообщений: 348 ]  На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18 ... 24  След.
Автор Сообщение
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Вт, апр 26 2016, 11:19 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, сен 10 2007, 23:29
Сообщения: 453
Откуда: и куда?
Пол: Мужской
Мне особенно вот это в ноте нравится:
However, report Income Tax Declaration (from 6-NDFL) does not support processing of 'L' option and displays results that are different from report Income Tax (form 2-NDFL)...
Коллеги, у меня у одного возникает вопрос - зачем было изобретать велосипед заново? В чем был смысл отказа от той же логики что и в 2-НДФЛ? Какой то хитрый архитектурный ход.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Вт, апр 26 2016, 14:08 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, июн 01 2005, 09:40
Сообщения: 536
Откуда: Belgorod
Пол: Мужской
msv написал:
...
Коллеги, у меня у одного возникает вопрос - зачем было изобретать велосипед заново? В чем был смысл отказа от той же логики что и в 2-НДФЛ? Какой то хитрый архитектурный ход.


В коде чувствуется рука человека, который хотел сделать мир лучше. :)

_________________
Новый этап на проекте - устранение доработок :).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Вт, апр 26 2016, 14:23 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, ноя 07 2006, 10:12
Сообщения: 1194
Откуда: Москва
Пол: Мужской
Вот что там: забирайте
https://drive.google.com/file/d/0B5ODkrBhqINNMFd5ZWhzNVl3cDg/view?usp=sharing

Переходите на новый SAP портал, там ноты и все что новоможное открывается наура.
https://launchpad.support.sap.com

_________________
С уважением, Р.В. Величко


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Вт, апр 26 2016, 15:09 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
Если эта нота что-то решает, то не далеко не все. В 2НДФЛ L-обработка включала в себя не только привязку сумм пересчета к оргпривоению по в-периоду. Еще есть начальная фильтрация результатов расчета по коду ЮрЛица, который задан на селекционном экране отчета.

В 6НДФЛ это проверка выполняется следующим образом (CL_HRPAYRU_PLTAXRUN_CS-COLLECT_OUTWAGE_CE)
Code:
* VERSC check
    CHECK ( <lo_result>->inter-versc-juper IN as_cond-juper OR
            lv_ext_juper IS NOT INITIAL )
      AND  <lo_result>->inter-versc-abkrs IN as_cond-abkrs.
Этот код не учитывает L-обработку. Я просмотрел изменения по ноте - эти строчки не изменяются.
Если у ТН будет пересчет за период нахождения в подразделении с другим кодом ЮрЛицо, и запустить отчет с фильтром по актуальному ЮрЛицу, то 6НДФЛ отбросит пересчет в другом ЮрЛИце. 2НДФЛ в такой же ситуации этот пересчет учтет.

PS. Правда проверить это утверждение сложно. Дело в том, что программа RPCPAYRU_6NDFL не передает в класс CL_HRPAYRU_PLTAXRUN_CS фильтр по ЮрЛицу, заданному на селекционном экране. as_cond-juper, который фигурирует в примере кода, остается пустой. Реализацию работы фильтра написали, а сам фильтр передать забыли.
Работа фильтра по ЮрЛицу работает только на уровне ЛБД. Если в RPCPAYRU_6NDFL попадет ТН, который был в разных ЮрЛицах, то он будет обработан полностью за отчетный период без учета фильтра по ЮрЛицу. Ситуацию спасает то, что данные по ненужному ЮрЛицу пройдут с другими реквизитами.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Ср, апр 27 2016, 14:26 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, окт 13 2004, 14:03
Сообщения: 209
Откуда: Москва
Пол: Мужской
RoustR написал(а):
Работа фильтра по ЮрЛицу работает только на уровне ЛБД. Если в RPCPAYRU_6NDFL попадет ТН, который был в разных ЮрЛицах, то он будет обработан полностью за отчетный период без учета фильтра по ЮрЛицу. Ситуацию спасает то, что данные по ненужному ЮрЛицу пройдут с другими реквизитами.


Именно так и происходит. Есть ощущение, что разработку отдали стажерам, которых научили ООП. А на выходе ооппа.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Чт, апр 28 2016, 08:13 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
ROMP написал:
Есть ощущение, что разработку отдали стажерам, которых научили ООП. А на выходе ооппа.


Да, нет. Нужно отдать должное, сама программа написана на очень хорошем техническом уровне. Даже можно сказать красиво. Просто стажер так не напишет. Но в месте с тем есть какие пробелы в работе именно с зарплатной частью.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Чт, апр 28 2016, 10:21 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Вт, сен 23 2008, 15:30
Сообщения: 7
Откуда: Москва
ROMP написал:

Именно так и происходит. Есть ощущение, что разработку отдали стажерам, которых научили ООП. А на выходе ооппа.


ИМХО Скорее отдали кому-то, кто с зарплатой мало сталкивался. Возможно, FI руку приложил. Тут проблема не с кодом, а именно с постановкой задачи.

Небольшой вопрос - кому-нибудь SAP про НФДЛ в межрасчетах и налоговые вычеты ответил? Например, когда в одном периоде был межрасчет отпуска и после его выплаты ввели имущественный вычет.

На пару страниц ранее обсуждалось.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Чт, апр 28 2016, 12:15 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
Мне не ответили.
На мой взгляд, там есть довольно просто решение. Нужно просто в таблицу собранных доходов добавить строки с нулевой суммой для каждой записи из межрасчета, для которой не соответствующей записи в регулярном расчете. Тогда существующий алгоритм справляется проблемой. Могу поделиться кодом, он не сложный. Он у меня сразу заработал, каких-либо проблем обнаружено не было.

Класс CL_HRPAYRU_PAYFACTX, метод POST_PROCESS_WAGES. Там в начале есть такие строчки
Code:
    lt_wages = mo_pltaxrun->at_wages[].
    SORT: lt_wages[] BY wcode per.

После них нужно вставить такой код
Code:
    FIELD-SYMBOLS: <zs_wages_of_regular>        LIKE LINE OF mo_pltaxrun->at_wages[],
                   <zs_wages_of_offcycle>       LIKE LINE OF mo_pltaxrun->at_wages[],
                   <zs_payment_fact_for_run>    LIKE LINE OF mt_payment_fact_for_run[],
                   <zs_payment_fact_for_run_oc> LIKE LINE OF mt_payment_fact_for_run_oc[].
* REZ_RR   ***************************************************************
    data: z_found type boolean,
          lt_xages type prupy_t_wages,
          zs_wages_offcycle LIKE LINE OF mo_pltaxrun->at_wages[].

* ищем запись, которая есть в межрасчетах, но нет в регулярном
    LOOP AT zt_wages[] into zs_wages_offcycle.
      zv_anyk = get_classification_key_obj(
        iv_pernr = iv_pernr
        iv_wages_objid =  zs_wages_offcycle-objid ).
      READ TABLE mt_payment_fact_for_run_oc[] ASSIGNING <zs_payment_fact_for_run_oc>
        WITH KEY anyk = zv_anyk.
*     это межрасчет
      CHECK: sy-subrc = 0.

*     ищем в регулярном
      clear z_found.
      LOOP AT zt_wages[] ASSIGNING <zs_wages_of_regular>
        WHERE wtype = zs_wages_offcycle-wtype AND
              wcode = zs_wages_offcycle-wcode AND
              per   = zs_wages_offcycle-per   AND
              exkey = zs_wages_offcycle-exkey AND
              cntr1 = zs_wages_offcycle-cntr1 AND
              objid <> zs_wages_offcycle-objid.
        zv_anyk = get_classification_key_obj( iv_pernr = iv_pernr
          iv_wages_objid =  <zs_wages_of_regular>-objid ).
        READ TABLE mt_payment_fact_for_run[] ASSIGNING <zs_payment_fact_for_run> WITH KEY anyk = zv_anyk.
        if sy-subrc = 0.
*         есть такая
          z_found = abap_true.
          exit.
        endif.
      endloop.
      if z_found = abap_false.
*       не нашли, создадим пустую
*       выберем регулярный расчет
        LOOP at mt_payment_fact_for_run[] ASSIGNING <zs_payment_fact_for_run>
          where fpper = <zs_payment_fact_for_run_oc>-fpper.
**1            and Z_FPBEG <= <zs_payment_fact_for_run_oc>-PAYROLL_RUN_ID-BONDT
**1            and Z_FPEND >= <zs_payment_fact_for_run_oc>-PAYROLL_RUN_ID-BONDT.
*         Ищю любую запись, мне нужен OBJID
          loop at zt_wages[] ASSIGNING <zs_wages_of_regular>.
            zv_anyk = get_classification_key_obj(
              iv_pernr = iv_pernr
              iv_wages_objid =  <zs_wages_of_regular>-objid ).
            if <zs_payment_fact_for_run>-anyk = zv_anyk.
              z_found = abap_true.
              exit.
            endif.
          endloop.
          if z_found = abap_true. exit. endif.
        ENDLOOP.
        if z_found = abap_true.
          zs_wages_offcycle-OBJID =  <zs_wages_of_regular>-OBJID.
          clear zs_wages_offcycle-SUM.
          append zs_wages_offcycle to lt_xages.
        endif.
      endif.
    endloop.
    if LINES( lt_xages ) > 0.
      append lines of lt_xages[] to zt_wages[].
      SORT: zt_wages[] BY wcode per.
    endif.
* REZ_RR   ***********************************************************************

Далее идет стандартный код.

Замечания.
1. код вставлялся путем расширения (ENHANCEMENT), поэтому все штатные переменные переименнованны, например lt_wages[] стал zt_wages[].
2. У меня структура mt_payment_fact_for_run расширена. САП почему-то различает регулярные расчеты только по периоду (fpper). Если расчета месяц сплитован, то будет более одного расчета за месяц, и отделить их друг от друга никак нельзя. Я дополнительно для себя сохраняю даты периодов. У вас этого расширения не будет, поэтому я эти строчки закомментировал (отмечены как **1).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Чт, апр 28 2016, 13:11 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, окт 22 2012, 21:07
Сообщения: 54
malexey08 написал(а):
ROMP написал:

Именно так и происходит. Есть ощущение, что разработку отдали стажерам, которых научили ООП. А на выходе ооппа.


ИМХО Скорее отдали кому-то, кто с зарплатой мало сталкивался. Возможно, FI руку приложил. Тут проблема не с кодом, а именно с постановкой задачи.

Небольшой вопрос - кому-нибудь SAP про НФДЛ в межрасчетах и налоговые вычеты ответил? Например, когда в одном периоде был межрасчет отпуска и после его выплаты ввели имущественный вычет.

На пару страниц ранее обсуждалось.


САП СНГ уже 2 месяц хранит олимпийское молчание


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Чт, апр 28 2016, 13:17 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, апр 15 2013, 03:56
Сообщения: 65
Добрый день, коллеги!

Мы установили ноту: 2309265 - Retroactive payment classification in report "Income tax declaration (form 6-NDFL)"

И теперь разбивка по ОКТМО пропала, а как у вас? :?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Пт, апр 29 2016, 16:08 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, июн 01 2005, 09:40
Сообщения: 536
Откуда: Belgorod
Пол: Мужской
Пришло время сдачи отчетности, а нота так и не появилась.
2297545 - 6-NDFL: cumulative updates

_________________
Новый этап на проекте - устранение доработок :).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Пт, апр 29 2016, 17:56 
Специалист
Специалист

Зарегистрирован:
Пт, июн 21 2013, 10:42
Сообщения: 102
RoustR написал(а):
Мне не ответили.
На мой взгляд, там есть довольно просто решение. Нужно просто в таблицу собранных доходов добавить строки с нулевой суммой для каждой записи из межрасчета, для которой не соответствующей записи в регулярном расчете. Тогда существующий алгоритм справляется проблемой. Могу поделиться кодом, он не сложный. Он у меня сразу заработал, каких-либо проблем обнаружено не было.
.

Подскажите, не пойму.
Как вы вставляет ENH в середину метода грубо говоря. И что делать в дальнейшем с zt_wages[]. Изначально её надо заполнить так:
zt_wages = mo_pltaxrun->at_wages[]. ??


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Пт, апр 29 2016, 18:44 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
В середину - нельзя, если конечно разработчик явно не создал точку расширения в середине метода. По этой причине я создал расширение в начале метода, куда просто скопировал весь существующий метод. В конце вставки - exit., чтобы штатный код не выполнялся.
В скопированном тексте есть определение переменных. Если все оставить как есть, то будет ошибка повторного определения. Поэтому нужно отключить в своем тексте эти определения. Я делал полное переименование всех переменных, но это совсем не обязательно. Получаем свой код, полностью дублирующий штатный. Теперь можно его модифицировать. Кусок текста я привел.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Пт, апр 29 2016, 19:05 
Специалист
Специалист

Зарегистрирован:
Пт, июн 21 2013, 10:42
Сообщения: 102
RoustR написал(а):
В середину - нельзя, если конечно разработчик явно не создал точку расширения в середине метода. По этой причине я создал расширение в начале метода, куда просто скопировал весь существующий метод. В конце вставки - exit., чтобы штатный код не выполнялся.
В скопированном тексте есть определение переменных. Если все оставить как есть, то будет ошибка повторного определения. Поэтому нужно отключить в своем тексте эти определения. Я делал полное переименование всех переменных, но это совсем не обязательно. Получаем свой код, полностью дублирующий штатный. Теперь можно его модифицировать. Кусок текста я привел.

Приведите пожалуйста полный код метода POST_PROCESS_WAGES с ENH


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: 6-НДФЛ в 2016 году
СообщениеДобавлено: Пт, апр 29 2016, 19:08 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
Брат Мигель написал:
Пришло время сдачи отчетности, а нота так и не появилась.
2297545 - 6-NDFL: cumulative updates


Я эту ноту ставил, в версии от 18.04.2016. Там конечно прогресс был, но полноценно ошибки не решены. Обработка B-межрасчетов в простых случаях работала. Это когда сотрудник просто уволился и все. А если было 2 расчета увольнения (типа что-то не доплатили), то уже нет. Туго будет и в такой ситуации: аванс, увольнение, приняли повторно в другое обособленное подразделение, еще разовая выплата, регулярный расчет сплитованный на 2 части. На мой взгляд, там требуется хронологическая обработка, работа с датой расчета, но ничего подобного в коде нет.
По проблеме, которая возникает в случае отсутствии строки в регулярном расчете, которая было в межрасчете, там ничего не было.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 348 ]  На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18 ... 24  След.

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


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

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


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

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