ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
SuiteWorldまであと41日となりました。以下の最新情報をご確認ください。
アジェンダビルダー公開
SuiteWorld On Airの登録受付開始
新しいNetSuite Prompt Studioコンテスト
その他の最新情報も!
詳細はこのスレッドでご確認ください!
ラインIDと行シーケンス番号の違い
適用
製品: NetSuite 2022.2
シナリオ
NetSuiteユーザーは、特定の条件を満たすトランザクションを検索し、SuiteScriptを使用してそれらを変更したいと考えています。 setLineItemValue(name、linenum、value)を使用してラインアイテムを変更するには、対応するラインIDが必要です。使用可能な検索列を見ると、ユーザーは、ラインID(フィールドの内部ID:行)と行シーケンス番号(フィールドの内部ID:linesequencenumber)のどちらをsetLineItemValue(name, linenum, value)に使用すべきなのかを考えています。
行シーケンス番号は、サブリスト内のラインアイテムの位置に従って各トランザクションラインに格納される内部シーケンス番号を保持し、nlobjSublistメソッドのsetLineItemValue(name、linenum、value)およびgetLineItemValue(group、fldnam、linenum)で予期される値です。
ラインIDは、サブリスト内のラインアイテムの位置とは関係ありません。各ラインアイテムには、作成時にラインIDが付与されます。これは、実行された操作(ラインの編集、上のラインアイテムの挿入など)に関係なくラインが削除されるまで変わりません。ラインアイテムが削除され、それを置き換えるために別のラインアイテムが挿入された場合、新しいラインアイテムのラインIDは異なりますが、ラインシーケンス番号は同じになります。
SuiteScript 1.0のSuiteScript 2.0と同じ関数は以下となります
- setLineItemValue(name, linenum, value) は 2.0ではRecord.setSublistValue(options)
- getLineItemValue(group, fldnam, linenum)は 2.0ではRecord.getSublistValue(options)
解決策
ラインIDと行シーケンス番号の違いを説明するために、アイテムサブリストに3つのラインアイテムと次のトランザクション検索が含まれる注文書#123を例とします。
条件:
- 種類は注文書である
- トランザクション番号は123である
- メモはVATではない
- メインラインは真(True)
結果:
- 種類
- 名前/ID
- アイテム
- メモ
- ラインID
- 行シーケンス番号
検索は、3つの結果、注文書からの3つのアイテムを返します。元のラインアイテムが削除されていない場合、ラインIDと行シーケンス番号は同じです。
アイテム | ラインID | 行シーケンス番号 |
Item 1 | 1 | 1 |
Item 2 | 2 | 2 |
Item 3 | 3 | 3 |
既存のラインアイテムを編集しても、ラインIDや行シーケンス番号には影響しませんが、ラインアイテムを削除して新しいアイテムを追加すると、ラインIDは行シーケンス番号とは異なる値となります。たとえば、最初のアイテムが注文書から削除されると、ラインIDと業シーケンス番号の値は同じではなくなります。
アイテム | ラインID | 行シーケンス番号 |
Item 2 | 2 | 1 |
Item 3 | 3 | 2 |