的生产线级别上设置“客户”字段我尝试在通过脚本创建PO时在采购订单的生产线级别上设置“客户”字段。我希望该值是相关销售订单中的作业。如果您进入用户界面来编辑此字段,则可以输入作业和客户(该字段是实体类型,这就是为什么这两个工作)。在PO
我的代码是记录提交后(用户事件)。下面是代码片段:
var objcurrentSO = nlapiLoadRecord('salesorder', nlapiGetRecordId());
var ijob = objcurrentSO.getFieldValue('job');
nlapiLogExecution("DEBUG", "JOB ID", "Job: "+ijob);
//get line Item information from SO and store into arrlines array
var objPO = nlapiCreateRecord('purchaseorder');
//set header fields for objPo
for (var j = 0; j < arrlines.length; j++)
{
objPO.selectNewLineItem('item');
objPO.setCurrentLineItemValue('item', 'item', arrlines[j].Item);
objPO.setCurrentLineItemValue('item', 'description', arrlines[j].Description);
objPO.setCurrentLineItemValue('item', 'rate', arrlines[j].Itemcost);
objPO.setCurrentLineItemValue('item', 'quantity', arrlines[j].Itemquantity);
objPO.setCurrentLineItemValue('item', 'department', 71);
objPO.setCurrentLineItemValue('item', 'class', arrlines[j].Class);
objPO.setCurrentLineItemValue('item', 'location', ilocation);
objPO.setCurrentLineItemValue('item', 'customer', ijob); //project set on line level
objPO.commitLineItem('item');
nlapiLogExecution('DEBUG', 'Setting PO line values', "Line: " + j + "; Item: " + arrlines[j].Itemtext + "; Itemcost: " + arrlines[j].Itemcost + "; Itemdescription: " + arrlines[j].Description);
}
//提交PO
有了这一切是什么目前出现的情况是PO造成的,但客户字段设置的。我的日志执行显示我期待的正确的作业ID。我可以在UI中手动添加作业。
任何想法?
有一件事令人感慨这是您的文章意味着你的代码在所有工作。 setCurrentLineItem成语应该是用于在动态模式下加载/创建的客户端脚本和记录。 – bknights
是否有理由不能使用“特殊订单”或“拖船”功能来自动生成采购订单? – bknights
有一件事情需要注意,而不能要求更多的代码/配置,因为客户子公司与采购订单中的子公司不匹配? –