我们没有设置库存分配。我正在尝试创建一个新的返回授权记录。我可以附加该项目,但我似乎无法更新项目中的字段或使用序列号填充inventorynumber。如果您手动填充表单上的字段,它可以工作,但我不能让它在restlet中工作。
当尝试填充库存编号时,我收到错误“子列表库存编号字段库存编号不是子记录字段”。
// create new rma record
var rmarecord=nlapiCreateRecord('returnauthorization');
rmarecord.setFieldValue('customform','116'); // form is RMA
rmarecord.setFieldValue('department', '55');
rmarecord.setFieldValue('class', '56');
rmarecord.setFieldValue('location', '20');
rmarecord.setFieldValue('otherrefnum', datain.ponumber);
rmarecord.setFieldValue('custbody2', datain.rma);
rmarecord.setFieldValue('custbody3', datain.problemdesc);
rmarecord.setFieldValue('entity', datain.customerid);
// Select Line Item
rmarecord.selectNewLineItem('item');
rmarecord.setCurrentLineItemValue('item', 'item', itemrecordid);
rmarecord.setCurrentLineItemValue('item', 'rate', '0');
rmarecord.setCurrentLineItemValue('item', 'amount', '0');
rmarecord.setCurrentLineItemValue('item', 'quantity', '1');
rmarecord.setCurrentLineItemValue('item', 'pricelevel', '0'); // Custom
var inventorydetailrecord = rmarecord.createCurrentLineItemSubrecord('item', 'inventorynumber');
inventorydetailrecord.selectNewLineItem('inventorynumber');
inventorydetailrecord.setCurrentLineItemValue('inventorynumber', 'inventorynumber', datain.serial);
inventorydetailrecord.commitLineItem('inventorynumber');
inventorydetailrecord.commit();
rmarecord.commitLineItem('item');
var rmaid = nlapiSubmitRecord(rmarecord,false,true);
答案 0 :(得分:0)
尝试
inventorydetailrecord.setCurrentLineItemValue('inventorynumber','inventorydetail',datain.serial);
答案 1 :(得分:0)
<强>编辑:强> 我刚刚注意到你写过你没有使用库存分配。 在这种情况下,您没有库存明细子记录,而是尝试将值设置为名为“serialnumbers”的字段:
var inventorydetailrecord = rmarecord.createCurrentLineItemSubrecord('item', 'inventorydetail');
inventorydetailrecord.selectNewLineItem('inventoryassignment');
inventorydetailrecord.setCurrentLineItemValue('inventoryassignment', 'receiptinventorynumber', datain.serial);
inventorydetailrecord.commitLineItem('inventoryassignment');
inventorydetailrecord.commit();
无论如何,如果您决定使用库存分配,请在下面找到有关库存明细子记录的说明。
子记录字段ID是“inventorydetail”
库存明细子记录中的子列表ID称为“库存分配”。
库存分配子列表中的序列号字段ID是“receiptinventorynumber”。
请参阅下面的代码段,以便更新子记录中的SN:
@Autowired
BetterObjectPrinter<Integer> integerBetterObjectPrinter;
@Autowired
BetterObjectPrinter<String> stringBetterObjectPrinter;
public interface ObjectPrinter<T> {
public String print(T obj);
}
@Component
public class IntegerPrinter implements ObjectPrinter<Integer> {
public String print(Integer obj) {
return obj.toString();
}
}
@Component
public class StringPrinter implements ObjectPrinter<String> {
public String print(String obj) {
return obj.toString();
}
}
@Component
public class BetterObjectPrinter<T> {
@Autowired
ObjectPrinter<T> objectPrinter;
public String print(T obj) {
return objectPrinter.print(obj);
}
}