calm написал(а):
Цитата:
Могу поискать пример для HRUCEDT0, если нужно.
Не доводилось делать такого. Может быть у вас найдется хорошая ссылочка под рукой?
Ссылки нет.
Для HRUCEDT0 сделаны модификации в RPCEDSZ9
Code:
FORM convert-mod USING fld_info TYPE tr_fld_info
$found LIKE boolean.
$found = true.
CASE fld_info-conv.
* WHEN '$x'. PERFORM convert-$x USING fld_info $found.
WHEN 'Z0'. PERFORM convert-z0 USING fld_info $found.
...
WHEN OTHERS.
$found = false.
ENDCASE.
ENDFORM.
Примеры процедур конвертации
convert-z0 - для перечисления из BT находит № ведомости в самодельном реестре ведомостей выплаты зарплаты. То есть, в расчетном листке в строке перечисления выводиться № ведомости, по которой прошло перечисление.
Code:
FORM convert-z0 USING fld_info TYPE tr_fld_info $found LIKE boolean.
DATA: zbtext LIKE t5m3t-btext.
DATA: zdatbw LIKE zhr_py_reestr-datbw.
DATA: BEGIN OF our-version.
INCLUDE STRUCTURE pc201_pay.
DATA: END OF our-version.
$found = true.
READ TABLE xbt WITH KEY btznr = xrt-btznr.
SELECT SINGLE btext INTO zbtext FROM t5m3t
WHERE bttyp = xbt-bttyp.
SELECT SINGLE datbw INTO zdatbw FROM zhr_py_reestr
WHERE juper = rgdir-juper AND
doknr = xbt-pskto AND
laufd = xbt-dtadt AND
perio = pn-pabrp AND
gjahr = pn-pabrj AND
zlsch = xbt-zlsch AND
bttyp = xbt-bttyp.
IF NOT xbt-pskto IS INITIAL.
WRITE zdatbw TO fld_info-value.
CONCATENATE zbtext '№' xbt-pskto 'от' fld_info-value
INTO fld_info-value SEPARATED BY space.
ENDIF.
ENDFORM.
Также для примера можно смотреть стандартные преобразования, процедуры convert-*. Их там много.
Само преобразование необходимо зарегистрировать в pe51_checktab, чтобы его в настройках выбирать можно было. Далее, в формуляре, в настройке строки вывода, в нужном поле указать использование своего преобразования. Все.