Вопрос – ответ. 4

Вопрос:
Формируем график отпусков Т-7 на 2014 год.
На селекционном экране выбираем орг.единицу, год 2014,
дата январь 2014 года.
Других параметров для выбора ТН нет.
В отчет выводятся Все ТН, ШД которых когда-либо имели соединение с указанной на селекционном экране орг.единицей. (То есть переведенные в другие вышестоящие, нижестоящие орг.единицы в 2012,2011…годах).
Где не получается отсечь ненужные ТН – не понятно, это стандартный код. Ноту не нашли.

Ответ:

Привет. С этим вопросом будет чуток сложнее, так как мне негде проверить. Я почитал код формы и пришел к выводу, что все дело в стандартной логической базе данных (ЛБД). В этом отчете используется PNP, которая использует общие куски кода с PNPCE. Если для первой ЛБД нормальной документации нет, то для второй она более чем исчерпывающая (транзация SE36 – дкоументация). Судя по отладчику, если мы используем поиск по оргструктуре, то система подставляет максимальный диапазон для поиска 01/01/1800 – 31/12/9999. Поэтому и попадают все оргединицы и табельныа номера.

Но в документации сказано, что можно этим делом управлять с помощью вызова макросов и функциональных модулей в блоке инициализации программы. По умолчанию используется путь анализа из таблицы T77SO параметр ‘PPWAY’ ‘O-S-P’.

Restrict by OrgStructure

You can also select personnel numbers by their position in the organizational structure. To do so, you use the OrgStructure function in the application toolbar. This button displays the organizational structure. Here you can select the organizational units to which the personnel numbers to be selected should belong. It is insignificant if the personnel numbers are assigned to the selected organizational unit directly or to one of its subordinate organizational units. If you restrict the selection by organizational structure, the Dynamic Selections, Search Help, and Selection ID functions are not available.

Заполнение табельных номеров происходит в функциональном модуле FUNCTION rp_pnp_fill_index_from_plog.

The PN-BEGPS and PN-ENDPS fields contain the person selection period for which the personnel number selection was performed. The PN-BEGDA and PN-ENDDA fields contain the data selection period. If you have specified the evaluation period using a payroll period, PN-PABRP contains the payroll period, PN-PABRJ the payroll year, and PN-PERMO the period parameters. The payroll period and payroll year are also in PN-PAPER.

The report can also fill the PN-BEGDA, PN-ENDDA, PN-BEGPS, and PN-ENDPS fields with values at the START-OF-SELECTION event and in doing so, specifies the evaluation period. In cases like this, it is not meaningful to have this setting option on the selection screen and it should therefore be hidden using the report category. In addition, the report must ensure that the values specified are valid since there is no longer a validation of these values.

То есть мы можем управлять периодами выборки в событии START-OF-SELECTION в инклуде include zx_hruat7_sos.

 

Добавить комментарий