Egal написал:
Max Popenker написал(а):
..Data
всем привет
есть нужда автоматом в бэкграунде создавать фактуры на еще неотфактурированные поставки к заказам определенного типа.
соответственно, хочется использовать ФМ BAPI_BILLINGDOC_CREATEFROMDATA, хоть он и устарел.
Никто не поделится опытом, что ему надо дать на вход (кроме номера док-та поставки и типа фактуры). чтобы автоматом создавалась фактура по переданному документу?
заранее спасибо
Он действительно устарел и вместо него есть ФМ BAPI_BILLINGDOC_CREATEMULTIPLE
Тем не менее - хотелось бы узнать что ему надо скармливать, если фактура создается по сбытовому заказу.
Есть у кого такой опыт?
10х.
Отвечаю сам себе.
*// Заполняем структуру фактуры.
* Структура гибридная, можно использовать как для передачи
* только заголовочных данных и ссылки на сбытовой документ,
* так и для передачи позиций фактуры (в случае создания
* фактуры без документа образца)
* Если поле ref_doc_ca незаполнено - считается что фактура
* создается по-позиционно. В противном случае в это поле
* указывается тип документа-образца.
* Если номер позиции ref_item (в случае заказа) не указан,
* то фактурируется все позиции документа. Иначе - только
* указанная позиция.
*//
REFRESH: t_billingdatain.
CLEAR: t_billingdatain.
t_billingdatain-doc_type = 'YYY'.
t_billingdatain-ordbilltyp = 'Z2'.
t_billingdatain-ref_doc = v_salesdocument.
t_billingdatain-ref_doc_ca = 'C'.
APPEND t_billingdatain.
*//
*// Создание фактуры
CALL FUNCTION 'BAPI_BILLINGDOC_CREATEMULTIPLE'
TABLES
billingdatain = t_billingdatain
return = t_return
success = t_success.
COMMIT WORK AND WAIT.
вот и все.
единственный трабл который возник - это тот что ФМ очень часто "пролетал" мимо только что созданного заказа(ФМ отвечал, что документ не найден), при этом блокировка-деблокировка этого самого заказа жизнь никак не улучшала. Проблему решила команда SET UPDATE TASK LOCAL, перед созданием заказа.
