2016-10-12 28 views
0

我试图使用suitescript 1.0在Netsuite中创建客户存款记录。创建客户存款记录时的Netsuite错误

我原来的代码在2016.2发布之前一直处于完美状态。

该更新打破了它,因为它会覆盖在付款字段中提交的值,并立即使其从销售订单ID中获得销售订单的全部金额。这不是我们需要它做的。

原始代码

function createDeposit(request,response) 
{ 
    var record = nlapiCreateRecord('customerdeposit'); 
     record.setFieldValue('salesorder','1260'); 
     record.setFieldValue('customer','1170'); 
     record.setFieldValue('payment','100'); 
     record.setFieldValue('account','2'); 
     record.setFieldValue('memo','this is a test'); 
     deposit = nlapiSubmitRecord(record,true,false); 
     response.write(deposit); 
} 

在NetSuite的用户组的答复后,促使我使用{recordmode:'dynamic'}属性我得到一个奇怪的错误..

测试替换功能它不工作

function createDeposit(request,response) 
{ 
    var record = nlapiCreateRecord('customerdeposit',{recordmode:'dynamic'}); 
     record.setFieldValue('salesorder','1260'); 
     record.setFieldValue('customer','1170'); 
     record.setFieldValue('payment','100'); 
     record.setFieldValue('account','2'); 
     record.setFieldValue('memo','this is a test'); 
     deposit = nlapiSubmitRecord(record,true,false); 
     response.write(deposit); 
} 

我现在得到的错误信息是

客户无效的销售订单参考金钥1260。

我没有得到的东西是它如何被认为是NULL,当值应用{recordmode:'dynamic'}值后,该值被硬编码到这个测试脚本中。

我试过各种各样的东西,但由于我没有Netsuite的支持,它的证明是我无法弄清楚的。

任何提示,建议将不胜当您使用动态设置字段的顺序有差别赞赏,因为香港专业教育学院一直在这几天

回答

1

。所以,当你之前设置的客户你实际上得到错误信息设置销售订单“无效salesorder参考键1260客户空白

我要做的就是创造客户存款,如:

var depRec = nlapiCreateRecord('customerdeposit', {entity:soRec.getFieldValue('entity'), salesorder:soId}); 

还设置未沉积资金国旗似乎是必需的(但并不总是出于某种原因),所以既然你提供的帐户ID也这样做:

depRec.setFieldValue('undepfunds', 'F');