ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
SuiteWorldまであと41日となりました。以下の最新情報をご確認ください。
アジェンダビルダー公開
SuiteWorld On Airの登録受付開始
新しいNetSuite Prompt Studioコンテスト
その他の最新情報も!
詳細はこのスレッドでご確認ください!
ワークフローアクションスクリプトを使用し、アイテムサブリスト以外のサブリストで実行する
適用
製品: NetSuite 2022.1
シナリオ
サブリストアクショングループをアイテム以外のサブリストで実行したい。
現在、アイテム以外のサブリストにサブリストアクショングループを作成することはできません。たとえば、支払請求書では、サブリストアクショングループをサブリスト費用に設定できません。回避策として、かわりにワークフローアクションスクリプトを使用できます。
費用サブリストの勘定科目IDを確認し、勘定科目IDが494の場合にエラーをスローするワークフローアクションスクリプトのサンプルについては、次のスニペットを参照してください。
解決策
SuiteScript 1.0 サンプルスクリプト:
function workflowAction() {
for (var i = 0; i < nlapiGetLineItemCount('expense'); i++) {
var accountid = nlapiGetLineItemValue('expense', 'account', i + 1);
nlapiLogExecution('DEBUG', 'expense account id', accountid)
if (accountid == 494) {
throw nlapiCreateError("Error", "Details of the Error", true);
}
}
}
SuiteScript 2.0 サンプルスクリプト:
function workflowAction(scriptContext) {
var rec = scriptContext.newRecord;
var lineCount = rec.getLineCount({
sublistId: 'expense'
});
for (var i = 0; i < lineCount; i++) {
var accountid = rec.getSublistValue({
sublistId: 'expense',
fieldId: 'account',
line: i
});
log.debug('expense account id', accountid);
if (accountid ==494) {
throw error.create({
name: 'Error',
message: 'Details of the Error',
notifyOff: true
})
}
}
}
免責事項
ここに記載されているサンプルコードは、法律で認められている最大限の範囲で、いかなる種類の保証もなく、「現状のまま」で提供されています。Oracle+NetSuite社は、開発者がそれぞれの開発プラットフォームにサンプルコードを実装したり、独自の Web サーバー構成を使用したりする際に、個々の成功を保証するものではありません。
Oracle + NetSuite社は、サンプルコードに関連するデータまたは情報の使用、使用結果、正確性、適時性または完全性に関して、いかなる保証も行わず、表明もしません。Oracle + NetSuite社は、明示的にも黙示的にもすべての保証を放棄し、特に、商品性、特定目的への適合性、およびコード、またはそれに関連するサービスやソフトウェアに関連する保証を放棄します。
Oracle + NetSuite社は、本サンプルコードに関連してお客様または他者が行った行為に起因するいかなる種類の直接的、間接的または結果的な損害または費用についても責任を負いません。