设置"客户" PO的行级别上的字段

时间:2016-02-19 16:35:11

标签: netsuite

我正在尝试设置"客户"通过脚本创建采购订单时,采购订单的生产线级别上的字段。我希望该值为相关销售订单中的作业。如果您进入用户界面来编辑此字段,您可以输入作业和客户(该字段属于实体类型,这就是为什么两者都有效)。

我的代码是After Record Submit(用户事件)。以下是代码片段:

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创建,但Customer字段根本没有设置。我的日志执行显示了我期望的正确作业ID。我可以在UI中手动添加作业。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您的代码看起来是正确的。请尽量确保供应商和客户必须在同一子公司。

您能否尝试以动态模式创建采购订单,例如 - var poRecord = nlapiCreateRecord('purchaseorder', {recordmode:'dynamic'})