セッションと参照通貨

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:3分
  • Now Platform® のデフォルトの (標準の) 通貨フィールドでは、セッションと参照の 2 種類の通貨を使用します。

    セッション通貨
    セッション通貨は、ユーザーのロケールまたは単一通貨モードによってユーザーに対して定義されます。
    参照
    参照通貨はシステムロケールによって決定され、インスタンス全体で使用される標準となります。
    通貨または価格フィールドに値を入力するたびに、次の 3 つの情報が保存されます。
    • ユーザーのロケールで入力された値。
    • ユーザーのロケールの通貨コード。
    • 現在の為替レートを使用して参照通貨に変換された値。
    注:
    複数通貨モードでは、通貨フィールドに保存されている通貨コードがセッション通貨コードと異なる場合があります。たとえば、セッション通貨がユーロで、入力された数値が日本円になる可能性があります。

    セッション通貨

    ユーザーが通貨値を表示するときには、入力した形式またはセッション通貨形式で値を表示できます。形式には次のものが含まれます。
    • 通貨記号
    • セッション通貨に変換され、ローカライズされた数値形式で表示された値。

    ユーザーのロケールによってセッション通貨の形式が決まります。

    数字の形式では、ロケールに基づいて、小数点記号などの機能が異なる場合があります。たとえば、米国の書式は 1,234,567.89 ですが、ドイツの書式は 1.234.567,89 です。Now Platform® は、次の順序でセッション通貨を決定します。
    • glide.i18n.single_currency および glide.i18n.single_currency.code を使用した単一通貨モードのセットアップ。
    • ユーザーのロケールのデフォルト通貨。

    参照通貨

    異種通貨の値で計算を実行するために、Now Platform® には、参照通貨と呼ばれるシステム通貨に変換された通貨値が保存されます。すべての通貨フィールドには、参照通貨値が含まれています。システムは、次の順序で参照通貨を決定します。
    • glide.system.locale プロパティを使用して設定されたシステムロケール
    • Java のデフォルトロケール、通常は en.US

    フィルタリングおよびアグリゲーションの機能では、参照通貨値を使用してデフォルトの通貨フィールドで計算を実行します。換算レートが変化するので、これらの機能で不正確な結果が生じる可能性があります。

    通貨フィールドの問題

    システムは各値に対して少なくとも 2 つの通貨 (セッション通貨と参照通貨) で処理するため、通貨フィールドのフィルタリング、ソート、および表示の結果にユーザーが混乱することがよくあります。

    注:
    通貨フィールドの集計とフィルタリングでは参照通貨が使用され、ユーザーにはセッション通貨が表示されます。換算レートが変化するので、フィルタリングされた参照通貨の値は、セッション通貨の値が示す順序とは異なる場合があります。集計でも同じ問題が発生します。
    ユーザーに対して次の問題が発生する可能性があります。
    • 通貨フィールドでフィルタリングされたリストが、期待した順序になっていない可能性があります。フィルタリングには参照通貨値が使用されますが、セッション通貨値で表示されます。
    • 参照通貨の値が集計されてからセッション通貨に変換されるため、通貨フィールドの集計では期待される結果が得られない場合があります。
    • 通貨値は通貨コードではなくユーザーのロケールに基づいて書式設定されるため、通貨値が期待どおりに表示されない場合があります。

    この混乱は、セッション通貨と参照通貨の違い、換算レートの変化、およびユーザーごとに異なるセッション通貨を使用したことの結果である可能性があります。