在费用报告上设置自定义表格

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

我是 SuiteScript 新手,正在尝试弄清楚如何仅在某些记录类型上运行脚本。例如,我想仅对某些类型的费用报告设置自定义表单。脚本如何知道仅在费用报告上运行以及如何告诉它仅在 FieldA =“SomeValue”的费用报告上运行?

这是一个脚本的开头,我认为它可能是正确的,但我不是 100% 确定。如有任何帮助,我们将不胜感激。

/**
 *@NApiVersion 2.0
 *@NScriptType UserEventScript
*/

function expenseBeforeLoad() {

}

define(['N/record','N/search','N/ui/dialog', 'N/log'], function (record, search, dialog, log) {
    
    function pageInit(context) {
        var currentRecord = context.currentRecord;
        
        currentRecord.setValue({
            fieldId: 'customform',
            value: 'Travel Expense Form'
        });        
    }
    
    return {
        pageInit: pageInit
    }
    
});
netsuite suitescript suitescript2.0
1个回答
0
投票

首先,您的脚本最大的问题是您在 JSDOC 部分 (

/**...*/
) 中将其标识为用户事件脚本,但该脚本返回
pageInit
事件的入口点函数,该函数属于客户端脚本。

其次,要回答有关如何在特定记录类型上运行脚本的问题,这因脚本类型而异,但对于用户事件脚本和记录级别客户端脚本来说是相似的。脚本运行需要三件事:

  1. 脚本文件。这是存储在 NetSuite 文件柜中的文本文件,扩展名为 .js。对于 SuiteScript 2.x,它需要有一个有效的 JSDOC 部分来指定版本和脚本类型,并且通常需要至少实现 NetSuite 为该脚本类型指定的入口点函数之一。
  2. 脚本记录。这是通过转到自定义 > 脚本 > 脚本 > 新建并填写详细信息(包括选择脚本文件)来创建的。
  3. 脚本部署。这可以通过单击“部署”按钮从脚本记录创建。您可以在此处选择要运行脚本的记录类型,以及事件或上下文等其他过滤选项。
© www.soinside.com 2019 - 2024. All rights reserved.