SAPфорум.RU
https://www.sapboard.ru/forum/

Допил Корреспонденции счетаов (J3RKKRS)
https://www.sapboard.ru/forum/viewtopic.php?f=5&t=97428
Страница 1 из 1

Автор:  Derian [ Ср, мар 06 2019, 17:12 ]
Заголовок сообщения:  Допил Корреспонденции счетаов (J3RKKRS)

Коллеги, может кто подскажет какие-то BADI или Enhancement'ы по Корреспонденции счетаов (J3RKKRS).

Ситуация в следующем.

Есть количественный учет на забалансе, который генерит в документах FI 0 строки:
Пример:
Examp 1

Через эти строки не хочет работать стандартная Корреспонденция счетаов (J3RKKRS). (И её можна понять :D ).

Но нужно как-то придумать, что б автоматом эти строки цеплялись к какойто строке...

Может кто-то, что-то подскажет. Буду безгранично благодарен.

Автор:  Yozhhhhh [ Чт, мар 07 2019, 00:06 ]
Заголовок сообщения:  Re: Допил Корреспонденции счетаов (J3RKKRS)

Строки с нулевыми суммами система удаляет, есть такое дело.
Удаляет вот тут:

J_3RKORRSSP --> FORM read_bseg

Поэтому сделать так, чтобы автоматом они цеплялись, стандартно не получится.

Но SAP позволяет делать свою корреспонденцию вот тут
J_3RKRLNF01 --> FORM move_krp_all

* First interpret documents which can be interpreted by own algorithm
* even they can be interpreted automatically
IF NOT gref_exithandler IS INITIAL.
CALL METHOD gref_exithandler->EXIT_J_3RKORRSSP_001
...

Внутри можно свою логику реализовать.
Для этого придется перелить таблицы tbl_bseg, tbl_deb и tbl_kre заново и реализовать свою логику.
И тогда чисто теоретически задача будет решаемая.

Вариант второй - доцепить нужные позиции не перед стандартной обработкой, а после нее. Там же

* customer funtion call
IF NOT gref_exithandler IS INITIAL.
CALL METHOD gref_exithandler->EXIT_J_3RKORRSSP_002

Внутри своего компонента можно доцепить уже чисто нулевые позиции (я полагаю, у Вас есть четкий критерий, что брать, а что нет, потому что нулевых позиций много генерит система стандартно: курсовые и пр.)

Автор:  Kengur [ Чт, мар 07 2019, 13:36 ]
Заголовок сообщения:  Re: Допил Корреспонденции счетаов (J3RKKRS)

После первого экзита отработает стандартный механизм разбора. После второго все равно будет проверка на сумму по счету. т.е. если там нарисовать суммы, то добавится строка с минусом, а вот куда она ляжет в корреспонденцию не ясно.

Автор:  Yozhhhhh [ Вс, мар 10 2019, 08:26 ]
Заголовок сообщения:  Re: Допил Корреспонденции счетаов (J3RKKRS)

Kengur написал(а):
После первого экзита отработает стандартный механизм разбора. После второго все равно будет проверка на сумму по счету. т.е. если там нарисовать суммы, то добавится строка с минусом, а вот куда она ляжет в корреспонденцию не ясно.


Да вот фигушки.
IF result1proc = 1 OR do_st = 'X' .
* Automatic document interpretation
CALL FUNCTION 'J_3RK_KORRSCH_MOVE4_KRP_ALL'

Стандартный разбор последует только при subrc = 1 или при do_st (do standard) = 'X', который, к слову, как раз в CHANGING.
Чтобы не запускать стандартный механизм, достаточно всего лишь вернуть subrc = 0 или обнулить флаг do_st.
Все там будет нормально работать после первого экзита.

Автор:  Kengur [ Пн, мар 11 2019, 09:18 ]
Заголовок сообщения:  Re: Допил Корреспонденции счетаов (J3RKKRS)

Yozhhhhh написал:
Kengur написал(а):
После первого экзита отработает стандартный механизм разбора. После второго все равно будет проверка на сумму по счету. т.е. если там нарисовать суммы, то добавится строка с минусом, а вот куда она ляжет в корреспонденцию не ясно.


Да вот фигушки.
IF result1proc = 1 OR do_st = 'X' .
* Automatic document interpretation
CALL FUNCTION 'J_3RK_KORRSCH_MOVE4_KRP_ALL'

Стандартный разбор последует только при subrc = 1 или при do_st (do standard) = 'X', который, к слову, как раз в CHANGING.
Чтобы не запускать стандартный механизм, достаточно всего лишь вернуть subrc = 0 или обнулить флаг do_st.
Все там будет нормально работать после первого экзита.

Фигушки что? Предлагаешь переписать весь алгоритм интепретации в первом экзите? Не суетитесь под клиентом... :roll:

Автор:  Yozhhhhh [ Пн, мар 11 2019, 14:49 ]
Заголовок сообщения:  Re: Допил Корреспонденции счетаов (J3RKKRS)

Хоспади, что там переписывать-то?))) Эту корреспонденцию писали два хромых инвалида.
Предпочтительные пары не реализованы, в коде обрабатываются мертвые значения из J_3RKKRN, которых даже нет в доменных справочниках, в PAI на даты проводки в J3RKKRS какая-то дикость с открытыми периодами, алгоритм выбора приоритета по маске не продуман. Там половина функционала под снос.
По-хорошему две таблицы с дебетами и кредитами в лупе прогнать, вот и весь разбор корреспонденции.

Тем более назначение экзита именно в этом и есть - делать свою интерпретацию.

* First interpret documents which can be interpreted by own algorithm
* even they can be interpreted automatically

Дальше каждый сам решает, переписывать или нет.
Ну а конкретно в этой ситуации я бы воспользовался не первым экзитом, а вторым.
То есть доверил бы стандартной обработке ненулевые позиции, а во втором экзите уже дополнительно выбрал нулевые позиции и дописал бы их в tbl_krp.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/