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

问题描述 投票:0回答:1

我有以下脚本,应用于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的新手。

javascript netsuite suitescript2.0
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.