【问题标题】:Netsuite SuiteScript : Button to open new transaction from custom record and Default fieldsNetsuite SuiteScript:用于从自定义记录和默认字段打开新事务的按钮
【发布时间】:2020-05-26 15:25:07
【问题描述】:

我正在尝试在名为处理批处理的自定义记录上创建按钮,这将允许我创建工作订单和库存转移。这些按钮只会打开一个新页面而不保存新交易,只是重定向到新交易页面。

在这些交易中,有一个名为 Processing batch 的自定义字段,它是自定义记录的列表,我希望该字段默认为单击按钮的批次的 ID。

我有一个用于按钮的用户事件脚本和一个用于打开链接的客户端脚本。

用户事件:

define([],

函数() {

function beforeLoad(context) {
    context.form.addButton({
        id: "custpage_workorderbutton",
        label: "Create New Work Order",
        functionName: "newWorkOrder"
    });
    context.form.addButton({
        id: "custpage_inventoryTransferButton",
        label: "Create New Inventory Transfer",
        functionName: "newInventoryTransfer"
    });
    context.form.clientScriptModulePath = "SuiteScripts/CreateNewWO.js";
}


return {
    beforeLoad: beforeLoad,
};

});

客户端脚本:(为测试目的定义了对话框,但不需要)

define(['N/ui/dialog'],

函数(对话框){ var 出口 = {};

function pageInit(context) {

}
function newWorkOrder(){
    window.open("https://6236296.app.netsuite.com/app/accounting/transactions/workord.nl?whence=");
}

function newInventoryTransfer(){
    window.open("https://6236296.app.netsuite.com/app/accounting/transactions/invtrnfr.nl?whence=");
}

exports.newInventoryTransfer = newInventoryTransfer;
exports.newWorkOrder = newWorkOrder;
exports.pageInit = pageInit;

return exports;

});

有人知道我将如何实现我的目标吗?

提前谢谢你。

【问题讨论】:

    标签: javascript netsuite suitescript2.0


    【解决方案1】:

    您也可以尝试添加“记录”。当您将其作为参数传递时,作为自定义字段的前缀。 例如。 'invtrnfr.nl?record.batchId=1'

    这也适用于标准字段。

    参考: https://blog.prolecto.com/2018/05/20/drive-values-to-netsuite-forms-and-other-url-tricks/

    补充说明: 您可能还需要检查 url.resolveDomain 和 url.resolveTaskLink 来构建 URL。 :)

    【讨论】:

      【解决方案2】:

      您可以通过以下两种方式执行此操作。

      1. 通过添加
      2. 在打开的 URL 中传递参数

      '&yourparamname='+ idvalue 指向打开交易窗口的 URL

      如果您将参数传递到 URL,那么您可以使用部署到交易页面的 onInit 脚本从 URL 中获取参数并随心所欲。

      1. 您可以使用 window.opener.nlapiGetFieldValue(yourfield) 从弹出的页面获取值,然后使用该值设置交易页面上的字段

      这只是两种方式。我希望这有帮助。

      【讨论】:

      • 在第二种方法中,我会将该值存储在变量中吗?那么在打开的交易页面上设置,我会使用当前的记录模块吗?
      猜你喜欢
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多