开发者问题收集

Netsuite suitescript 2.0

2018-08-20
1938

我想使用 message.create 模块在查看模式下创建一条确认消息,我尝试了以下代码中所示的方法: 首先,我在查看模式下获取一个用户事件脚本,并在加载前添加一个按钮,单击按钮时会触发客户端脚本来创建消息 /** * @NApiVersion 2.x * @NScriptType UserEventScript * @NModuleScope SameAccount */ define(['N/ui/serverWidget'],

function(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 ClientScript * @NModuleScope SameAccount */ define(['N/ui/message'],

function(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
};

});

3个回答

我认为消息函数有冲突。只需重命名消息函数并尝试即可。

Praveen Kumar
2018-08-21
 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;
        }

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

Praveen Kumar
2018-08-21
    /**
     * @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

    };


});
Praveen Kumar
2018-08-21