在单击Netsuite中的“工作流”按钮之前或之后打开弹出窗口



我有这段代码(用户事件脚本),它与我的自定义按钮一起工作正常,

function beforeLoad_addButton(type, form) {
    var url = nlapiResolveURL('SUITELET', '543', 'customdeploy1')+'&entity=' + nlapiGetRecordId() +  '&recordType=' + nlapiGetRecordType();
    var script = "win = window.open('" + url + "', 'win', 'resizable=0,scrollbars=0,width=450,height=300');";
    form.addButton('custpage_buttonalert', 'Add Memo', script);
}

但现在我想从使用工作流创建的另一个按钮打开此弹出窗口(Suitelet)。如何在不中断工作流的情况下将单击操作挂钩到使用工作流创建的按钮上。

我设法这样做:

function beforeLoad_addButton(type, form) {
    var url = nlapiResolveURL('SUITELET', '424', 'customdeploy1')+'&entity=' + nlapiGetRecordId() +  '&recordType=' + nlapiGetRecordType();
    var script = "win = window.open('" + url + "', 'win', 'resizable=0,scrollbars=0,width=450,height=300');";
    form.addButton('custpage_buttonalert', 'Add Memo', script);
    var ids = ['custpageworkflow105', 'custpageworkflow128', 'custpageworkflow148', 'custpageworkflow106', 'custpageworkflow129', 'custpageworkflow149', 'custpageworkflow107', 'custpageworkflow130', 'custpageworkflow150'];
    var script1 = '';
    script1 += '<script>';
    ids.forEach(function(entry) {
            script1 += 'jQuery("#' + entry + '").click(function() {'+ script +'});';
    });
    script1 += '</script>'

    var newInlineHtmlField = form.addField('custpage_myinline','inlinehtml','',null,null);
        newInlineHtmlField.setDefaultValue(script1);
}

我正在以形式注入Javascript。在这里,"ids"数组包含工作流按钮 ID。单击其中一个按钮时,将执行 script1 变量中的代码,然后执行工作流。

最新更新