【问题标题】:Netsuite suitescript 2.0Netsuite 套件脚本 2.0
【发布时间】:2018-08-21 20:45:30
【问题描述】:

我想使用 message.create 模块在查看模式下创建确认消息,我尝试了以下方式,如代码所示: 首先,我在查看模式下获取了一个用户事件脚本,并在加载前添加了一个按钮,单击该按钮后,将触发客户端脚本以创建消息 /** * @NApiVersion 2.x * @NScriptType 用户事件脚本 * @NModuleScope 相同帐户 */ 定义(['N/ui/serverWidget'],

函数(ui) {

/**
 * Function definition to be triggered before record is loaded.
 *
 * @param {Object} scriptContext
 * @param {Record} scriptContext.newRecord - New record
 * @param {string} scriptContext.type - Trigger type
 * @param {Form} scriptContext.form - Current form
 * @Since 2015.2
 */
function beforeLoad(scriptContext) {
    if (scriptContext.type !== scriptContext.UserEventType.VIEW)
        { 
            log.debug("triggered");
             var Form=scriptContext.form;
             Form.addButton({
                    id : 'custpage_message',
                    label : 'message',
                    functionName:'message'
                });
             form.clientScriptFileId = 18249;
        }
}



return {
    beforeLoad: beforeLoad,

};

}); 这是我的客户端脚本: /** * @NApiVersion 2.x * @NScriptType 客户端脚本 * @NModuleScope 相同帐户 */ 定义(['N/ui/message'],

函数(消息){

/**
 * Function to be executed after page is initialized.
 *
 * @param {Object} scriptContext
 * @param {Record} scriptContext.currentRecord - Current form record
 * @param {string} scriptContext.mode - The mode in which the record is being accessed (create, copy, or edit)
 *
 * @since 2015.2
 */
function pageInit(scriptContext) {

}
function message()
{
     var myMsg = message.create({
            title: "My Title", 
            message: "My Message", 
            type: message.Type.CONFIRMATION
        });
}

return {
    pageInit: pageInit,
    message:message
};

});

【问题讨论】:

    标签: suitescript


    【解决方案1】:

    I 事物消息功能冲突。只需重命名消息函数并尝试一下。

    【讨论】:

    • 如果我保持他们正在触发的警报但消息没有显示@Praveen Kumar
    • 只需重命名函数名
    • 不要使用消息作为函数名使用其他名称
    【解决方案2】:
     var myMsg = message.create({
                    title: "My Title", 
                    message: "My Message", 
                    type: message.Type.CONFIRMATION
                });
             myMsg.show(); -- you missed that statement
    

    -- 在用户事件脚本中

    if (scriptContext.type !== scriptContext.UserEventType.VIEW)
            { 
                log.debug("triggered");
                 var Form=scriptContext.form;
                 Form.addButton({
                        id : 'custpage_message',
                        label : 'message',
                        functionName:'testmessage()'
                    });
                 Form.clientScriptFileId = 115069;
            }
    

    如上代码查看模式但未创建,因为您检查类型不等于查看。

    【讨论】:

    • 尝试这样做但仍然无法正常工作:alert('triggered'); var myMsg = message.create({ title: "My Title", message: "My Message", type: message.Type.CONFIRMATION }); myMsg.show({ 持续时间 : 1500 });@Praveen Kumar
    • 在查看模式下 if (scriptContext.type === scriptContext.UserEventType.VIEW)
    【解决方案3】:
        /**
         * @NApiVersion 2.x
         * @NScriptType ClientScript
         * @NModuleScope SameAccount
         */
        define(['N/ui/message'],
    
        function(message) {
    
            function pageInit(scriptContext) {
    
            }
            function testmessage()
            {
                debugger;
                 var myMsg = message.create({
                        title: "My Title", 
                        message: "My Message", 
                        type: message.Type.CONFIRMATION
                    });
                 myMsg.show();
            }
    
            return {
                pageInit: pageInit,
                testmessage:testmessage
            };
        });
    
    /**
     * @NApiVersion 2.x
     * @NScriptType UserEventScript
     * @NModuleScope SameAccount
     */
    define([],
    
    function() {
    
        /**
         * Function definition to be triggered before record is loaded.
         *
         * @param {Object} scriptContext
         * @param {Record} scriptContext.newRecord - New record
         * @param {string} scriptContext.type - Trigger type
         * @param {Form} scriptContext.form - Current form
         * @Since 2015.2
         */
        function beforeLoad(scriptContext) {
            if (scriptContext.type == scriptContext.UserEventType.VIEW)
            { 
                log.debug("triggered");
                 var Form=scriptContext.form;
                 Form.addButton({
                        id : 'custpage_message',
                        label : 'message',
                        functionName:'testmessage'
                    });
                 Form.clientScriptFileId = 115069;
            }
        }
    
        return {
            beforeLoad: beforeLoad
    
        };
    
    
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多