Добрый день!
Использую Delphi для вызова BAPI для создания заказа на поставку.
Заказ создается, но проблема следующая:
1. цена подтягивается не моя заданная, а видимо из инфо-записи
2. не удается задать требуемые контировки (FUNDS_CNTR и CMMT_ITEM) - после создания заказа эти поля пусты!
помогите разобраться, что делаю не так?
Ниже пример кода (создание заказа без контракта с одной позицией материала).
BObj:= SAPBapiControl1.GetSAPObject('BUS2012');//PO
Header := SAPBapiControl1.dimAs (Mat,'CreateFromData','PoHeader');
Schedul:= SAPBapiControl1.dimAs(Mat,'CreateFromData','PoItemSchedules');
Item := SAPBapiControl1.dimAs (Mat,'CreateFromData','PoItems');
AccntAssignm := SAPBapiControl1.dimAs (Mat,'CreateFromData','PoItemAccountAssignm');
Ret := SAPBapiControl1.dimAs (Mat,'CreateFromData','Return');
Header.value ('DOC_TYPE') := 'ZNB2'; //заказ без контракта
Header.value ('DOC_CAT') := 'F';
Header.value ('PURCH_ORG'):= '100';
Header.value ('PUR_GROUP'):= '100';
Header.value ('VENDOR') := '0000117760';
Item.Rows.Add;
Item.Value (1,'PO_ITEM') := '00010';
Item.Value (1,'PUR_MAT') := Mat1;
Item.Value (1,'STORE_LOC') := Sklad1;
Item.Value (1,'PLANT') := Zavod1;
Item.Value (1,'NET_PRICE') := '910,00';
Item.Value (1,'PO_PRICE') := 'X'; //хочу цену НЕ из инфозаписи
Item.Value (1,'UNIT') := 'PC';
Item.Value (1,'PRICE_UNIT') := '1';
Item.Value (1,'ORDERPR_UN') := 'PC';
Schedul.Rows.Add;
Schedul.Value (1,'PO_ITEM') := '00010';
Schedul.Value (1,'DEL_DATCAT') := '1';
Schedul.Value (1,'DELIV_DATE') := '16.09.2006';
Schedul.Value (1,'QUANTITY') := '7';
//контировки
AccntAssignm.Rows.Add;
AccntAssignm.Value (1,'PO_ITEM') := '00010';
AccntAssignm.Value (1,'FUNDS_CTR') := '300000';
AccntAssignm.Value (1,'CMMT_ITEM') := '422100000';
AccntAssignm.Value (1,'QUANTITY') := Schedul.Value (1,'QUANTITY');
|
|