基于复选框Netsuite删除字段值

基于复选框Netsuite删除字段值,netsuite,Netsuite,我有一个要求,如果用户取消选中复选框,则在保存某个字段时,应清除该字段的值 要打印的是一个复选框 检查#是字段 如果用户取消选中“待打印”复选框,则在保存页面时,复选框#字段应清除 这应该是一个用户事件,是否在提交功能之后? 如何实现这一点?这里有两个选项可以满足您的需求 1) 您可以在上面提到的@John的评论和字段更改中编写一个客户端脚本,您可以在提交表单时清除不希望保存的字段值 2) 编写提交前函数并验证复选框字段值,如果未选中,则清除您不想保存的字段。我建议在提交前使用用户事件脚本将字段

我有一个要求,如果用户取消选中复选框,则在保存某个字段时,应清除该字段的值

要打印的是一个复选框 检查#是字段

如果用户取消选中“待打印”复选框,则在保存页面时,复选框#字段应清除

这应该是一个用户事件,是否在提交功能之后?
如何实现这一点?

这里有两个选项可以满足您的需求

1) 您可以在上面提到的@John的评论和字段更改中编写一个客户端脚本,您可以在提交表单时清除不希望保存的字段值


2) 编写提交前函数并验证复选框字段值,如果未选中,则清除您不想保存的字段。

我建议在提交前使用
用户事件
脚本将字段值设置为空,因为如果数据输入点是通过csv导入、suitescript、,等等

if (nlapiGetFieldValue(TO_BE_SUBMITTED_FIELD_ID) == 'F'){
  nlapiSetFieldValue('tranid', null);` 
}
如果愿意,您可以编写额外的客户端脚本,以便在复选框的值设置为false时禁用/清除该字段,以获得更好的用户体验

对于序列号,我会说,使用下面的代码(我假设序列号是纯数字)


我当时的想法是,这应该是一个使用fieldChanged事件的客户端脚本,为什么这需要是一个用户事件脚本呢?用户将通过UI选中/取消选中复选框,因此我编写了一个类似于
if(btobeprint='F')
`{`recBillPayment.setFieldValue('tranid',null)的代码“`
}
现在自动按顺序生成检查。我的要求是1)如果用户编辑支票并保存,则应使用用户输入的值保存。2) 下一次付款应遵循旧的顺序。
if (nlapiGetFieldValue(TO_BE_SUBMITTED_FIELD_ID) == 'T'){
//search in descending order (use this code in your same before submit script)   
var search = nlapiCreateSearch(RECORD_TYPE, ['mainline', 'is', 'T'], new nlobjSearchColumn('tranid').setSort(true));
var results = search.runSearch();
var records = results.getResults(0, 1);

var nextTranId = praseInt(records[0].getFieldValue('tranid'), 10) + 1;
nlapiSetFieldValue(tranid, nextTranId);
}