ディスカッション

スイート全体に組み込まれた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  



シナリオ

オンラインフォームから新しいリードを作成する際、会社名とEメールに重複検出の設定がされています。 個人として販売されているリードを新規に作成した場合、すでに会社としてレコードが存在するため、重複したままになっています。 オンラインでは、このようなケースを想定しています。重複している場合、最も古いレコードを更新します。



解決策

オンラインフォームの重複検出のルールは、フォーム上で直接実行されます。しかし、リードフォームにスクリプトを配置した場合、次のようにデータを結合することになります。     nlapiSetFieldValue('companyname', firstname+lastname); のようなスクリプトが配置されている場合、送信前に オンラインフォームが送信された後、重複検出がこれを検出し、古いレコードを更新する代わりに新しいリードが作成されます。 これを解決するには、次のスクリプトが重複を分析した場合に実行されるスケジュールスクリプトが必要です。

 
  // スクリプトSuiteScript 1.0 
function beforeSubmit() { 
    var searchResults = search.create({ 
        search: record.Type.LEAD, 
        filters: 
        [ 
            ["email", "is", record.GetValue('email')] 
            ["companyname", "is", record.GetValue('companyname')] 
        ], 
        columns: 
        [ 
            search.createColumn({ 
                name: "id", 
                label: "ID" 
            }), 
        ] 
    }); 
 
    if (searchResults.lenght > 1) { 
        nlapiScheduleScript(SCRIPT, DEPLOYMENT, originalLeadId); 
    } 
} 
  


 
// スクリプトSuiteScript 2.0 
// N/task Module + N/search Module 
function beforeSubmit() { 
 
    var searchResults = search.create({ 
        search: record.Type.LEAD, 
        filters: 
        [ 
            ["email", "is", record.GetValue('email')] 
            ["companyname", "is", record.GetValue('companyname')] 
        ], 
        columns: 
        [ 
            search.createColumn({ 
                name: "id", 
                label: "ID" 
            }), 
        ] 
    }); 
 
    var searchResults = mySearch.run(); 
 
    if (searchResults.lenght > 1) { 
        var mrTask = task.create({ 
            taskType: task.TaskType.SCHEDULED_SCRIPT, 
            scriptId: SCRIPT, 
            deploymentId: DEPLOYMENT, 
            params: { 
                originalLeadId 
            } 
        }); 
    } 
}
新しいリードの目的は、古いレコードの必要なフィールドをすべて更新し、新しいリードを削除することです。



免責事項

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

タグ付けされた:

ようこそ!

サインイン

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

登録

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

リーダーボード

コミュニティの達人

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

今週のリーダー

今月のリーダー

歴代リーダー