我正尝试使用suitecript 1.0在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。
当我应用{recordmode:'dynamic'}值后,将值硬编码到此测试脚本中时,我得到的是它现在被认为是NULL的方式。
我尝试了各种各样的东西,但由于我没有Netsuite支持,它证明是我根本无法弄清楚的。
任何提示,建议都会非常感激,因为我已经在这几天了
答案 0 :(得分:1)
当您使用动态订单时,您设置的字段会有所不同。因此,当您在设置客户之前设置销售订单时,您实际上会收到错误消息"无效的销售订单参考密钥1260,用于客户空白"
我所做的是创建客户存款,如:
var depRec = nlapiCreateRecord('customerdeposit', {entity:soRec.getFieldValue('entity'), salesorder:soId});
还设置了未设置的资金标志似乎是必需的(但并不总是出于某种原因)所以,因为您提供的帐户ID也是这样做的:
depRec.setFieldValue('undepfunds', 'F');