Текущее время: Сб, ноя 18 2017, 12:41

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




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

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

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


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

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

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

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

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

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

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


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

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


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

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


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

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

На примере HRULNDFL. Сначала экземпляр класса нужно создать
Код:
    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НДФЛ еще есть передача доп.условий
Код:
    go_tax->set_conditions( it_exkey  = lt_exkey
                            i_feature = '33OKT' ).

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

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



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

Зарегистрирован:
Пт, сен 07 2007, 08:53
Сообщения: 1142
Кстати, если вернуться к исходному вопросу, отчету на 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-н, и отвечает за работу с суммовыми полями. Там есть такой код
Код:
  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, 12:30 
Младший специалист
Младший специалист

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


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

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


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

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


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

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