1

「標準の編集ボタン」ではなく、カスタムボタンをクリックしてレコードの編集ページを表示したい

私のコード:

Script Version: Suite Script 2.0
User Event Script:
    function beforeLoad(context) {

        log.debug('Test', 'Before Load Event Initiated');
        var frm = context.form;
        frm.clientScriptFileId = 2250;

        //Values from System/ScriptContext
        var record = context.newRecord;
        if (context.type == context.UserEventType.VIEW) {
            frm.addButton({
                id: 'custpage_cust_edit_btn',
                label: 'Deactivate Record',
                functionName: 'customRecordEditMode(' + record.id + ')'
            });
        }

    }

Client Script:

    function customRecordEditMode(recordID) {
        debugger;
        try {
            window.location.href = "https://system.sandbox.netsuite.com/app/common/custom/custrecordentry.nl?rectype=194&id=" + recordID + "&e=T";
        } catch (exception) {
            alert("Error:", exception.message);
        }
    }

エラーメッセージ:

次のエラー メッセージが表示されます。

ここに画像の説明を入力

ただし、レコードの URL は、標準の [編集] ボタンをクリックしたときと同じです。(i,e) rectype=194&id=237&e=T

前もって感謝します

4

1 に答える 1

2

生の URL でこのエラーが発生する理由は正確にはわかりませんが、生の URL を使用する代わりに、N/urlモジュールを利用してみましたか?

require(['N/url', 'N/record'], function(url, r) {
    var output = url.resolveRecord({
        recordType: r.Type.SALES_ORDER,
        recordId: 6,
        isEditMode: true
    });
});

N/redirectまたは、モジュールの方が良いかもしれません:

require(['N/redirect', 'N/record'], function(redirect, r) {
    redirect.toRecord({
        "type": r.Type.TASK,
        "id": 6,
        "isEditMode": true
    });
});
于 2016-09-21T16:02:54.633 に答える