我正在尝试从我的网络服务请求更新netsuite中的采购订单记录。
不是更新记录,而是添加一条新记录,其中包含与先前记录相同的详细信息。
例如,我为数量为150的项目添加了一条记录,现在我想将此数量更新为200.当我完成更新操作时,观察到有两条记录,一条150条,另一条条带200条。这是代码。我在哪里做错了?
PurchaseOrder po=new PurchaseOrder();
RecordRef rf=new RecordRef();
rf.setInternalId("1683");
po.setEntity(rf);
Calendar trandate=Calendar.getInstance();
po.setTranDate(trandate);
po.setCurrencyName("USA");
RecordRef rf1=new RecordRef();
rf1.setName("Primary Purchase Order");
po.setCustomForm(rf1);
CustomFieldList cfl=new CustomFieldList();
CustomFieldRef[] cfr=new CustomFieldRef[3];
cfr[0]=new StringCustomFieldRef("5391","custbody23", "zy-vnd-103");
ListOrRecordRef listOrRecordRef1=new ListOrRecordRef();
listOrRecordRef1.setName("Transportation Method");
listOrRecordRef1.setInternalId("1");
ListOrRecordRef listOrRecordRef2=new ListOrRecordRef();
listOrRecordRef2.setName("Delivery Incoterm");
listOrRecordRef2.setInternalId("1");
cfr[1]=new MultiSelectCustomFieldRef("5392","custbody24",new ListOrRecordRef[]{listOrRecordRef1});
cfr[2]=new MultiSelectCustomFieldRef("5393","custbody25",new ListOrRecordRef[]{listOrRecordRef2});
cfl.setCustomField(cfr);
po.setCustomFieldList(cfl);
RecordRef rf2=new RecordRef();
rf2.setName("22:London");
rf2.setInternalId("10");
po.setLocation(rf2);
Double exchangeRate=1.0;
po.setExchangeRate(exchangeRate);
PurchaseOrderItemList poil=new PurchaseOrderItemList();
PurchaseOrderItem[] item=new PurchaseOrderItem[1];
item[0]=new PurchaseOrderItem();
RecordRef rf3=new RecordRef();
rf3.setName("ACC05");
rf3.setInternalId("1070");
item[0].setItem(rf3);
item[0].setRate("15.28");
double qty=50.0;
item[0].setQuantity(qty);
double amt=764.0;
item[0].setAmount(amt);
Calendar expectedReceiptDate=Calendar.getInstance();
expectedReceiptDate.add(Calendar.DATE,7);
item[0].setExpectedReceiptDate(expectedReceiptDate);
poil.setItem(item);
po.setItemList(poil);
po.setBillAddress("hi<br>unitedstates<br>CA");
po.setInternalId("6306");
WriteResponse writeRes = _port.update(po);