ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
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
----
- NetSuite Admin Corner | New to NetSuite
- Explore the NSC Webinars Category
- Join our poll and share your ideas! We want to know what you think. Don't forget to comment and make your voice heard!
- Expand your NetSuite knowledge by joining this month's Ask A Guru Live about Advanced Accounting. RSVP on this event now!
