Текущее время: Вс, июл 20 2025, 02:21

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


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

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


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

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