创建客户存款记录时的 Netsuite 错误
Netsuite bug when creating customerdeposit record
我正在尝试使用 suitescript 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 支持,事实证明我根本想不通。
任何提示和建议将不胜感激,因为我已经研究了好几天
当您使用动态时,您设置字段的顺序会有所不同。因此,当您在设置客户之前设置销售订单时,您实际上会收到错误消息 "Invalid salesorder reference key 1260 for customer blank"
我所做的是像这样创建客户存款:
var depRec = nlapiCreateRecord('customerdeposit', {entity:soRec.getFieldValue('entity'), salesorder:soId});
似乎还需要设置未存入资金标志(但并非总是出于某种原因),因此既然您提供了帐户 ID,也可以这样做:
depRec.setFieldValue('undepfunds', 'F');
我正在尝试使用 suitescript 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 支持,事实证明我根本想不通。
任何提示和建议将不胜感激,因为我已经研究了好几天
当您使用动态时,您设置字段的顺序会有所不同。因此,当您在设置客户之前设置销售订单时,您实际上会收到错误消息 "Invalid salesorder reference key 1260 for customer blank"
我所做的是像这样创建客户存款:
var depRec = nlapiCreateRecord('customerdeposit', {entity:soRec.getFieldValue('entity'), salesorder:soId});
似乎还需要设置未存入资金标志(但并非总是出于某种原因),因此既然您提供了帐户 ID,也可以这样做:
depRec.setFieldValue('undepfunds', 'F');