ディスカッション

NetSuiteの保存検索やレポートをマスターするための究極のガイドである分析センターを使用して、データの力を最大限に活用しましょう。複雑さを単純化し、組織の真の可能性を解き放ちます。今すぐ分析センターに参加して、新たな高みを目指しましょう!
We'd love to hear your thoughts on the Latest updates in the NetSuite Support Community (UI/UX edition) – December 2025. Your feedback is important to us—please let us know what you think or any suggestions you may have in the comments!

NetSuite管理者向けヒント | SuiteScriptを使って顧客レコードからコンタクトを削除する方法

Customer(顧客)Contact(コンタクト)の関係管理は、UI 上では単純に見えるかもしれません。しかし、SuiteScriptを使用する場合、理解しておくべき重要な制限があります。

Customer(顧客)レコード上のContact(コンタクト)サブリスト(contactroles)は静的サブリストとして扱われており、そのため特定の操作はスクリプト化できません。

SuiteScript でできないこと:

Contacts サブリストは静的サブリストであるため、以下の制限があります。:

  • SuiteScript を使用して、Customer(顧客)の Contacts(コンタクト)サブリストからプログラムで Contact を削除することはできません。
  • removeLine() のようなメソッドは、このサブリストでは失敗します。
  • 以下のようなエラーが発生することがあります。:

“You have attempted an invalid sublist or line item operation...”

これは、NetSuite における静的サブリストの管理方法による仕様通りの動作です。

SuiteScript でできること:

Customer(顧客)から直接 Contact(コンタクト)を切り離すことはできませんが、以下のようなサポートされている代替手段があります。:

1. UI 上でマニュアル管理する

管理者は、NetSuite の UI 上で Customer(顧客)レコードを開き、Contact (コンタクト)の追加や削除をマニュアルで行うことができます。

2. Contact(コンタクト)レコードを「無効」にする

目的が「Customer(顧客)レコードに表示させない」「使用不可にする」ことであれば、この方法は安全に自動化可能です。

サンプル:SuiteScript 2.xを使いContact(コンタクト)を「無効」にする
/**
 * @NApiVersion 2 .x
 * @NScriptType ScheduledScript 
 */
define(['N/record', 'N/log'], function(record, log) {
    function execute(context) {
        var contactId = 123;  // 対象となる Contact ID に置き換えてください
        try {
            // Contact を無効に設定
            record.submitFields({
                type: record.Type.CONTACT,
                id: contactId,
                values: {
                    isinactive: true
                }
            });
            log.debug({
                title: 'Contact無効化完了',
                details: 'Contact ' + contactId + 'を無効化しました。'
            });
        } catch (e) {
            log.error({
                title: '操作失敗',
                details: e.message
            });
        }
    }
    return { execute: execute };
});

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

Oracle + NetSuite Inc. は、サンプルコードに関連するデータまたは情報の使用、使用結果、正確性、適時性、完全性に関して、いかなる保証も行わず、すべての保証(明示的または黙示的)を否認します。特に、商品性、特定の目的への適合性、コードに関連するサービスまたはソフトウェアに関する保証を否認します。

Richard James Uri - SuiteCloud | WMS Tech | SuiteCommerce Advanced

----

Admin Tips.gif

ようこそ!

サインイン

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

登録

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

リーダーボード

コミュニティの達人

第 1 四半期 (1月~3月 2026)

今週のリーダー

今月のリーダー

歴代リーダー