DED_MOROZ написал:
Привет!
BAPI_INCOMINGINVOICE_CREATE1 не умеет проводить документы с сокращением суммы счета, об этом сказано в ноте:
2196371 - Invoice Reduction not available for BAPI_INCOMINGINVOICE_CREATE
Я бы попробовал сначала поставить точку прерывания в начале ФМ MRM_FINAL_CHECK.
Здесь можно попробовать заполнить недостающие поля таблиц I_RBKPV, T_DRSEG данными сокращения суммы счета.
Предварительно можно посмотреть какие поля заполняются в таблицах I_RBKPV, T_DRSEG при проводке документа с сокращением суммы счета в MIRO.
Если все получится, то тогда:
1) Через EXTENSIONIN передавать в BAPI необходимые поля
2) сделать неявную точку расширения в начале ФМ MRM_FINAL_CHECK и там заполнить нужные поля I_RBKPV, T_DRSEG данными EXTENSIONIN
Да, такую ноту видел:)
Я тоже пошел по пути, аналогичному предложенному вами. ФМ этот ковырял в том числе. Проблема в том, что если добавлять нужные поля DRSEG "в середине" процесса, то в ФМ MR_ACCOUNT_ASSIGNMENT не попадаю на операцию RKA, т.к. поля подводящих к ней условий рассчитываются до попытки принудительного заполнения нужных для сокращения счета полей в том же MRM_FINAL_CHECK. А заполнять только необходимый минимум, в т.ч. нужных для условия операции RKA, полей - страшно, т.к. неизвестно, где они участвуют до этого момента и какие рассчитываемые в логике данные не заполнятся.
В итоге подсунул нужные поля в энхансменте инклуда LMRM_BAPIU01. Там в параметрах одной процедурки наряду с s_rbkpv есть tab_frseg, в которой сидят поля, указанные на входе в bapi, но при этом имеются нужные мне поля.
Документ создался, вроде даже идентичен аналогичному документу, проводимому вручную в MIRO.
Спасибо!