NetSuite SuiteScript 2.0基于复选框禁用字段
如果这是一个愚蠢的问题,我很抱歉,但我是NetSuite的新手,并且注意到他们的文档绝对是荒谬、可怕和令人恶心的。撇开所有的幽默和苦涩不谈,我找不到SuiteAnswers应该包含的细节。我可以找到类型字段或记录,但它没有显示这些类型的可用选项。它只是显示要调用哪些方法来返回字段或记录 因此,我在培训指定的fieldChanged事件上有它,下面是我的内容NetSuite SuiteScript 2.0基于复选框禁用字段,netsuite,suitescript,Netsuite,Suitescript,如果这是一个愚蠢的问题,我很抱歉,但我是NetSuite的新手,并且注意到他们的文档绝对是荒谬、可怕和令人恶心的。撇开所有的幽默和苦涩不谈,我找不到SuiteAnswers应该包含的细节。我可以找到类型字段或记录,但它没有显示这些类型的可用选项。它只是显示要调用哪些方法来返回字段或记录 因此,我在培训指定的fieldChanged事件上有它,下面是我的内容 function fieldChanged(context) { debugger; var custome
function fieldChanged(context) {
debugger;
var customer = context.currentRecord
if (context.fieldId == 'custentity_apply_coupon') {
var field = record.getField("custentity_apply_coupon");
if (record.getValue("custentity_apply_coupon") == true) {
reord.getField("custentity_coupon_code").isDisabled = false;
}
else{
reord.getField("custentity_coupon_code").isDisabled = true;
}
field.isDisabled = false;
}
}
事实证明,我在文档中从未发现过,一旦从currentRecord.currentRecord获得字段,就可以通过field.isDisabled将其设置为disabled。我花了很长时间才发现isDisabled是field的属性,然后完全猜测isDisabled是客户端脚本的get/set调用。下面是最终有效的代码
function fieldChanged(scriptContext) {
var customer = scriptContext.currentRecord;
if(scriptContext.fieldId == "custentity_sdr_apply_coupon"){
debugger;
var field = customer.getField("custentity_sdr_coupon_code");
field.isDisabled = !customer.getValue(scriptContext.fieldId);
if(field.isDisabled){
customer.setValue(field.id, "");
}
}
}
var objRec_Curr=scriptContext.currentRecord;
var TransferType=objRec_Curr.getCurrentSublistValue({sublistId:'xxxxxxxxx',fieldId:'xxxxxxxxxxx'});
如果(TransferType='ABC')
eval(“nlapiDisableLineItemField('custpage\u sublist\u out','custpage\u out\u transfer\u location',true)”;
其他的
eval(“nlapiDisableLineItemField('custpage\u sublist\u out','custpage\u out\u transfer\u location',false)”代码>我希望这会有所帮助
function fieldChanged(context) {
var currentRecord = context.currentRecord;
var approvalChkBox = currentRecord.getValue({
fieldId: 'supervisorapproval'
});
var memoField = currentRecord.getField("memo");
if (approvalChkBox)
memoField.isDisabled = true;
else
memoField.isDisabled = false;
}
这是一个好问题,这是你正在寻找的最简单的解决方案。使用getValue
方法和isDisabled
来满足此要求。代码是不言自明的。祝你好运
function fieldChanged(context) {
var record = context.currentRecord;
var fieldname = context.fieldId;
var changedValue = record.getValue(fieldname); //getValue method is the key here
var couponid = record.getField('custentity_kld_coupon_code');
if (fieldname == 'custentity_kld_apply_coupon' && changedValue == true) {
couponid.isDisabled = false; //isDisabled helps you to enable or disable a field
} else {
couponid.isDisabled = true;
}
}
您是如何将事件附加到复选框上的?它是一个脚本2.0,所以NetSuite已经处理过了。我只是检查了一下被选中或未被选中的字段是否是复选框。考虑在代码中添加一些注释,以帮助其他用户更好地理解它