トランザクションフィールド「ドキュメント番号」のソートに関する注意点

はじめに

NetSuiteを運用するにあたり、トランザクションレコードは欠かすことのできない要素です。

リスト内のトランザクションレコードを並べ替えることもあるでしょうが、ソート基準のフィールドを「ドキュメント番号」にする場合には後述の仕様を考慮する必要があります。

ドキュメント番号に特有のソート結果

保存検索の設定やフィールド名のクリックによって昇順ないし降順の並べ替えを実行した場合、通常は数字・アルファベット・仮名に基づく並び順が適用されます。
例えば3件のトランザクションレコードがそれぞれ「SO_20220009」「PO_20220012」「SO_20260001」をドキュメント番号に持つ場合、昇順ソートの結果は次のようになるはずです。

  • PO_20220012
  • SO_20220009
  • SO_20260001

しかしながら、NetSuite上でドキュメント番号の昇順ソートをかけた場合、実際には次のように並べ替えられます。

  • SO_20260001
  • SO_20220009
  • PO_20220012

これは、NetSuiteのシステムが自動採番されるドキュメント番号内の「1」「9」「12」を比較して並べ替えを実行しているためです。そのため、「SO」と「PO」、「2022」と「2026」の比較はなされず、表示の文字列によるソートとは異なる結果となります。

表示されている文字列の通りにソートをかける方法

並び順を表示されている文字列の通りにする方法として、ドキュメント番号を通常のテキストに変換したフィールドを持たせるというものがあります。
例えば保存検索の場合は、計算式(テキスト)フィールドでドキュメント番号を設定することで、自動採番される数字ではなく表示の文字列に基づくソート結果が得られるようになります。「計算式」は、ドキュメント番号のフィールドID {tranid} をそのまま設定すればOKです。

まとめ

トランザクションのドキュメント番号のソートは自動採番される数字に基づいて掛けられるため、表示の文字列通りにレコードが並ぶとは限りません。

表示の文字列通りにソートをかけるには、計算式などによってドキュメント番号を単なるテキストとして表示させる必要があります。

両方の設定方法を念頭においてうえで、要件に応じてより適した方法でトランザクションレコードのソートをかけると良いでしょう。