ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
SuiteWorldまであと41日となりました。以下の最新情報をご確認ください。
アジェンダビルダー公開
SuiteWorld On Airの登録受付開始
新しいNetSuite Prompt Studioコンテスト
その他の最新情報も!
詳細はこのスレッドでご確認ください!
Suitescriptを使用して注文書が終了とされた後に電子メールを送信する
適用
製品: NetSuite 2024.2
シナリオ
トランザクションが終了に変更されるタイミングでスクリプトとワークフローは実行させることはできません。これは、Enhancement 216263に記載されています。
beforeLoadで実行されるユーザーイベントスクリプトを作成します。
注意: Enhancementについては次の記事をご参照ください。 10054 Voting for Enhancements.
解決策
SuiteScript 1.0:
function userEventBeforeLoad(type, form, request){function userEventBeforeLoad(type, form, request){
var id = nlapiGetRecordId(); // Get Record Id
var transactiontype = nlapiGetRecordType(); // Get Record Type
var status = nlapiGetFieldValue('status'); // Get the order status
var salesrep = nlapiGetFieldValue('salesrep'); // Get the sales rep
if (status == 'Closed' ) // check if status is closed
{
nlapiSendEmail(nlapiGetContext().getUser(), salesrep, 'Close order' + transactiontype + id , 'Your order has now been closed.' ); // send email
}
}
SuiteScript 2.0:
/**
* @NApiVersion 2.x
* @NScriptType UserEventScript
* @NModuleScope SameAccount
*/
define(['N/record','N/email'], function (record,email){
function beforeLoad(scriptContext) {
var recId = scriptContext.request.parameters.id;
var soRecord = record.load({
type: record.Type.SALES_ORDER,