ディスカッション

スイート全体に組み込まれたAI機能は、データをより迅速に分析し、より優れた意思決定を促進する独自の考察を生成できるようにすることで、生産性を向上させ、リーダーに利便性をもたらします。オラクルのAI機能がどのように役立つかについては、これらのオンデマンド・ウェビナーをご覧ください。

AIを用いた自動化で請求書処理を合理化

AIを用いた考察を使用して、計画と予測を迅速化
NetSuiteの保存検索やレポートをマスターするための究極のガイドである分析センターを使用して、データの力を最大限に活用しましょう。複雑さを単純化し、組織の真の可能性を解き放ちます。今すぐ分析センターに参加して、新たな高みを目指しましょう!
NetSuite Release 2025.1リリース・ノートは、こちらからダウンロードできます。
SuiteWorld 2025年10月6日~9日 アジェンダビルダーが公開されました!

SuiteWorldまであと41日となりました。以下の最新情報をご確認ください。
アジェンダビルダー公開
SuiteWorld On Airの登録受付開始
新しいNetSuite Prompt Studioコンテスト
その他の最新情報も!

詳細はこのスレッドでご確認ください!

スクリプトで配送のカスタム配送先住所の上書きを外す

編集済:Jun 2, 2025 2:48PM SuiteCloud / カスタマイズ

適用

製品:  NetSuite 2022.1



シナリオ

配送レコードを動的にロードして、住所サブレコードの宛先(担当者)(id: attention)に詳細を追加するユーザーイベントスクリプトがあります。既述フィールドで値をレコードレベルで追加する場合、配送の住所サブレコードの上書き(id: override)のチェックバックスは有効されて、住所選択(id: shipaddresslist)を「-Custom-」に設定されます。その後、宛先(担当者)のフィールドの変更は住所(id: shipaddress)のテキスト・エリアには反映しません。



解決策

住所のテキスト・エリアに宛先(担当者)の変更は反映するために、送信後機能があるユーザーイベントスクリプト配送レコードにデプロイします。送信後機能の中身に上書きのチェックバックスが有効の時に外すロジックを作成します。そのようなスクリプトのロジックは以下のサンプルを参照できます。

  1. ユーザーイベントスクリプトの送信後機能を使用します。

  2. 配送レコードをロードします。

  3. サブレコードをアクセスします。

  4. 上書きのチェックバックスは「T」真かどうかチェックします。

  5. 上書きのチェックバックスは「T」真の場合、「F」否にします。

  6. サブレコードをコミットします。

  7. レコードを保存します。


SuiteScript 1.0のサンプルコード:
 
function userEventAfterSubmit(type) { 
    var itemFulfillment = nlapiLoadRecord("itemfulfillment", nlapiGetRecordId()); 
    var sub = itemFulfillment.editSubrecord("shippingaddress"); 
 
    if (sub.getFieldValue("override") == "T") { 
        nlapiLogExecution("DEBUG", "上書き", "否に設定する"); 
        sub.setFieldValue("override", "F"); 
        sub.commit(); 
    } else { 
        nlapiLogExecution("DEBUG", "上書き", "既に否となっている"); 
    } 
 
    nlapiSubmitRecord(itemFulfillment); 
} 

SuiteScript 2.0のサンプルコード:
 
function afterSubmit(scriptContext) { 
    var itemFulfillment = record.load({ 
        type: record.Type.ITEM_FULFILLMENT, 
        id: scriptContext.newRecord.id 
    }); 
    var sub = itemFulfillment.getSubrecord({ 
        fieldId: "shippingaddress" 
    }); 
 
    if (sub.getValue({ 
            fieldId: "override" 
        })) { 
        log.debug({ 
            title: "上書き", 
            details: "否に設定する" 
        }); 
        sub.setValue({ 
            fieldId: "override", 
            value: false 
        }); 
    } else { 
        log.debug({ 
            title: "上書き", 
            details: "既に否となっている" 
        }); 
    } 
 
    itemFulfillment.save(); 
 
} 



免責事項

ここに記載されているサンプルコードは、法律で認められている最大限の範囲で、いかなる種類の保証もなく、「現状のまま」で提供されています。Oracle+NetSuite社は、開発者がそれぞれの開発プラットフォームにサンプルコードを実装したり、独自の Web サーバー構成を使用したりする際に、個々の成功を保証するものではありません。

Oracle + NetSuite社は、サンプルコードに関連するデータまたは情報の使用、使用結果、正確性、適時性または完全性に関して、いかなる保証も行わず、表明もしません。Oracle + NetSuite社は、明示的にも黙示的にもすべての保証を放棄し、特に、商品性、特定目的への適合性、およびコード、またはそれに関連するサービスやソフトウェアに関連する保証を放棄します。

Oracle + NetSuite社は、本サンプルコードに関連してお客様または他者が行った行為に起因するいかなる種類の直接的、間接的または結果的な損害または費用についても責任を負いません。

ようこそ!

サインイン

完全な詳細を表示するには、サインインしてください。

登録

アカウントがありませんか?ここをクリックして始めましょう!

リーダーボード

コミュニティの達人

第3四半期 (7月~9月 2025年)

今週のリーダー

今月のリーダー

歴代リーダー