Текущее время: Чт, мар 28 2024, 18:39

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


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

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


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

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