如何在NetSuite中点击SO的"Close Order"按钮后弹出确认对话框?

How to pop up a confirmation dialog after user clicks the "Close Order" button of SO in NetSuite?

销售订单中有一个关闭订单按钮。

如果用户点击按钮,销售订单将被关闭。

我们想弹出一个对话框来确认点击,如果用户点击“”,那么销售订单将关闭;如果用户单击“”,它将return转到该页面并且没有任何反应。

我知道关闭订单的按钮 ID 是“closeremaining”,我们可以使用以下代码显示确认对话框:

    var options = {
        title: "Are you sure you want to close the order?",
        message: "Press OK or Cancel"
    };

    function success(result) {
        console.log("Success with value " + result);
    }

    function failure(reason) {
        console.log("Failure: " + reason);
    }
    dialog.confirm(options).then(success).catch(failure);

但是我们不知道如何在VIEW模式下用户点击按钮后弹出对话框。我尝试了以下但徒劳无功:

 var closeOrderBtn = document.getElementById("closeremaining");
 closeOrderBtn.addEventListener("click", showConfirmDialog);

谁能帮帮我?

目前,尚无法从标准按钮(关闭订单)触发脚本。您可以做的是隐藏标准按钮并将其替换为自定义按钮,以便您可以完全控制其功能。

以下是您需要执行的操作的概述:

  1. 隐藏关闭订单按钮
  2. 部署一个用户事件脚本并通过它添加一个按钮
  3. 使用客户端脚本添加将由脚本执行的功能(显示确认弹出窗口)
  4. 然后您可以通过将 isclosed 字段更改为来继续关闭订单 在项目子列表中为真

此外,您还可以阅读 SuiteAnswers 文章:SuiteScript > Confirm before Closing a Transaction Record (Id: 65115),因为它有关于如何实施它的分步指南。搜索时可以使用Id。