首页 文章

通过SuiteScript在时间表网格中获取数据

提问于
浏览
0

我有以下脚本,应用于Timesheet记录,当时间表记录上的任何字段发生更改事件时,将调用该脚本 . 这在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的新手 .

1 回答

  • 0

    Record.getField(options) 返回正文字段 . 要获取子列表字段,您需要 Record.getCurrentSublistField(options) . 您可以检查 Context.sublistId 以确定更改的字段是否是子列表字段 .

相关问题