getDispalyValue('field_name') 在 UI 宏中不起作用

getDispalyValue('field_name') is not working when in a UI Macro

我有一个 UI 宏,它获取记录列表并将它们显示在某些表单字段上方的 table 中。我没有使用嵌入式列表,因为我希望 table 是只读的,但到目前为止,还没有找到让嵌入式列表可读的方法。

在我的宏中我有:

<g2:evaluate var="jvar_records" object="true" >
        var gr = new GlideRecord(Tables.PTC);
        gr.query();
        gr;
</g2:evaluate>

<j2:while test="$[jvar_records.next()]">
     <tr class="$[jvar_class]">
            <td>$[jvar_records.getValue('arrival_date')]</td>
            <td>$[jvar_records.getValue('departure_date')]</td>
            <td>$[jvar_records.getDisplayValue('certifier')]</td>
            <td>$[jvar_records.getDispalayValue('trip.depart_reason_code')]</td>
    </tr>
</j2:while>

字段certifier 和trip 是Reference 字段,我想获取其显示值。但是它们在宏观上总是像空的一样回来。它在后台脚本中工作得很好。 如果我只是得到值 jvar_records.getValue('certifier') 它正确地给我 sys_id.

我错过了什么?

我比较确定,在 标签之外,Jelly 被限制在客户端 API。客户端 GlideRecord 没有 getDisplayValue 函数。

我要做的是让你的 g2:evaluate 实际上循环遍历记录并构建一个正常的 JavaScript 对象数组,其中只包含你需要的值,然后 return 该数组对象的数量,而不是 return 将 GlideRecord 对象与查询结果结合起来。