Текущее время: Ср, апр 17 2024, 02:22

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Создание отчетности на базе DAQ-полей
СообщениеДобавлено: Чт, окт 05 2017, 10:11 
Специалист
Специалист

Зарегистрирован:
Ср, авг 20 2008, 10:04
Сообщения: 114
Здравствуйте!

Подскажите пожалуйста что можно почитать о "создании своих собственных отчетов на базе стандартных DAQ-полей"? Может быть имеется специальный курс на эту тему?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание отчетности на базе DAQ-полей
СообщениеДобавлено: Чт, окт 05 2017, 11:07 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, май 30 2006, 08:34
Сообщения: 1900
Про курсы не знаю, может что-то свежее есть. Раньше мне нормальных материалов не попадалось.

Есть вопрос о целесообразности "создания своих собственных отчетов на базе стандартных DAQ-полей".
А зачем?
Собственная разработка должна быть, прежде всего, легко поддерживаемой.
Использование DAQ не даст преимуществ в скорости разработки. Заморочь еще та.
Если есть надежда использовать что-то из кучи стандартных ФМов, использующихся в DAQ-поля стандартных отчетов, то напрасно. Да, много ФМов есть. Пока разберетесь с ними, уже 20 раз всё можно разработать с нуля.

Если хотите использовать настройку HRPAYRUT7RUN для чтения результатов ЗП - это неплохая идея. Но для этого не обязательно юзать дак. Для этого достаточно использовать CL_HRPAYRU_PLTAXRUN без лишних наворотов.
Но и тут не всё гладко, т.к. используя CL_HRPAYRU_PLTAXRUN, бывает непросто понять, почему по коду дохода собралась именно такая сумму. Обычно эта сумма верная, но доказать пользователю трудно, т.к. суммы собираются только в разрезе периодов и кодов дохода (ни табельного, ни seqnr, ничего нет). Если заказчик недоволен суммой по БЕ, разбираться можно долго.
Зачастую, проще написать очень несложный отчет с подробнейшей расшифровкой собранных сумм.

С другой стороны, понимать дак полезно, чтобы решать инциденты со стандартными программами.

Посмотрите, как устроены стандартные программы. Например, 4-ФСС. Потом РСВ-1. Код 6-НДФЛ лучше не смотреть :)
Всё не просто, но поддаётся.
А еще в коде вы увидите, что в этих отчетах не всё решается DAQ, а кое-где имеется обычный хардкод. Т.е. дак - это конечно круто, но больше в теории, чем на практике.

_________________
С уважением.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание отчетности на базе DAQ-полей
СообщениеДобавлено: Чт, окт 05 2017, 13:22 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1392
Плюс DAQ-отчеты работают крайне неэффективно в плане производительности. Особенно это заметно на таких отчетах как РСВ или ЕССС.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание отчетности на базе DAQ-полей
СообщениеДобавлено: Чт, окт 19 2017, 13:28 
Специалист
Специалист

Зарегистрирован:
Ср, авг 20 2008, 10:04
Сообщения: 114
Не могли бы Вы привести пример кода для считывания сумм по КодуВО для табельного номера на базе класса CL_HRPAYRU_PLTAXRUN?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание отчетности на базе DAQ-полей
СообщениеДобавлено: Чт, окт 19 2017, 13:47 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1392
Стандартный отчет 2НДФЛ (HRULNDFL) является примером использования CL_HRPAYRU_PLTAXRUN. Переменная go_tax как раз ссылка на этот тип.

На примере HRULNDFL. Сначала экземпляр класса нужно создать
Code:
    CREATE OBJECT go_tax type (gv_taxrun)
      EXPORTING
          begda         = lv_date         " BEGDA and ENDDA are enhanced: Restriction on dates now will be outside PLTAXRUN
          endda         = iv_furda        " see CHECK on period within  AT_WAGES
        repid         = iv_repid
        fuper         = iv_furda
        selcond       = gs_selcond
        is_ocrun      = gs_ocrun
        iv_ext_recip  = gv_ext_recip
      EXCEPTIONS
        periods_error = 1
        OTHERS        = 2.

В 2НДФЛ еще есть передача доп.условий
Code:
    go_tax->set_conditions( it_exkey  = lt_exkey
                            i_feature = '33OKT' ).

На GET PERNR передается ТН
Code:
  go_tax->if_hrpayru_report_control~set_person(
                        exporting
                            i_pernr         = pernr-pernr
                        exceptions
                            payroll_results = 1
                            error_of_class  = 2 ).

Все, можно получать суммы в разрезе кодов доходов
Code:
    LOOP AT go_tax->at_wages INTO l_s_twage.
...
    ENDLOOP.



Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание отчетности на базе DAQ-полей
СообщениеДобавлено: Пт, окт 20 2017, 08:30 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1392
Кстати, если вернуться к исходному вопросу, отчету на DAQ-полях, то класс типа CL_HRPAYRU_PLTAXRUN - это не замена, а лишь подготовка к работе.
Сначала работают классы типа CL_HRPAYRU_PLTAXRUN, они собирают необходимые данные. Эти классы, сборщики данных, объединяются (управляются) общим мастер-классом (пример cl_hrpayru_report_control). Когда все данные собраны, вызывается движок DAQ. Этому движку в качестве параметра передается ссылка на мастер-класс report_control, через которые можно добраться до нужного класса - сборщика данных и запросить у него нужную информацию.

Движок DAQ раскручивает настройку DAQ отчета, добирается до DAQ поля и вызывает ФМ, который указан в настройке поля. ФМ в качестве одного и параметра получает ссылку на ссылка на report_control, и через него запрашивает нужную информацию. Пример ФМ HR_RU_DAQ_PAY2_SUM, который используется отчете справки 182-н, и отвечает за работу с суммовыми полями. Там есть такой код
Code:
  lo_rc = ch_misc.
..
* PY result
  lo_taxrun ?= lo_rc->get_object( 'TAXRUN' ).
..
  loop at lo_taxrun->at_wages assigning <ls_wages>
       where per >= lv_begpr and per <= lv_endpr and wcode = ls_fiatt_rt-wcode.
....
  endloop.
который показывает способ доступа по суммовых полей, который собрал CL_HRPAYRU_PLTAXRUN.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание отчетности на базе DAQ-полей
СообщениеДобавлено: Пт, окт 20 2017, 11:30 
Специалист
Специалист

Зарегистрирован:
Ср, авг 20 2008, 10:04
Сообщения: 114
Спасибо большое!


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

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


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

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


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

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