我有以下脚本,应用于时间表记录,当时间表记录上的任何字段发生更改事件时,将调用该脚本。这在 body 字段上非常有效,但在 timegrid 内的字段上失败(我相信是 Timesheet 的一个子字段)。我要做的只是根据用户在向时间表添加时间时选择的客户显示/隐藏自定义字段。我想捕捉事件,检查客户,如果真的隐藏另一个字段。
下面的示例只是测试 isDisplay 函数的起点。它隐藏了触发事件的任何字段。通过更改时间网格中的客户来测试它时,它会触发,获取正确的 id,即字面意思是“客户”,但随后调用 getField() 返回 null。但是,如果我将它传递给它的主体字段之一(例如日期),则 getField() 可以正常工作。
例子:
define(['N/currentRecord'], function () {
function fieldChanged(context) {
//get reference to whichever field is changing and hide it...
var f = context.currentRecord.getField({fieldId: context.fieldId});
f.isDisplay = false;
}
return {
fieldChanged: fieldChanged
}
}
);
谁能指出我正确的方向?我应该有另一种方式到达时间网格字段吗?我是 SuiteScript 的新手。