通貨と価格についてよく寄せられる質問Issue <!-- div.margin { padding: 10px 40px 40px 30px; } table.tocTable { border: 1px solid; border-color: #e0e0e0; background-color: #fff; } .title { color: #d1232b; font-weight: normal; font-size: 28px; } h1 { color: #d1232b; font-weight: normal; font-size: 21px; margin-bottom: 5px; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: #cccccc; } h2 { color: #646464; font-weight: bold; font-size: 18px; } h3 { color: #000000; font-weight: bold; font-size: 16px; } h4 { color: #666666; font-weight: bold; font-size: 15px; } h5 { color: #000000; font-weight: bold; font-size: 13px; } h6 { color: #000000; font-weight: bold; font-size:14px; } ul, ol { margin-left: 0; list-style-position: outside; } --> 財務データはシステムでどこに保存されますか? 通貨タイプのディクショナリフィールドの場合、データは [fx_currency_instance] テーブル内に格納され、価格タイプのフィールドは [fx_price] テーブル内にデータが格納されます 為替レート情報は [fx_rate] テーブル内に格納されます。 FX_CURRENCY_INSTANCE 定義: 列 定義 table レコードが存在するテーブル field 財務データが入力されるフィールド id データが格納されているテーブル内の関連レコードの「sys_id」 currency ユーザーがデータを入力するために使用した通貨 amount ユーザーがデータを入力するために使用した金額 reference_currency これはシステムロケールに基づく通貨です reference_amount これはシステムロケールに基づく金額です FX_PRICE 定義: 列 定義 table レコードが存在するテーブル field 財務データが入力されるフィールド id データが格納されているテーブル内の関連レコードの「sys_id」 currency ユーザーがデータを入力するために使用した通貨 amount ユーザーがデータを入力するために使用した金額 reference_currency これはシステムロケールに基づく通貨です reference_amount これはシステムロケールに基づく金額です type 使用される通貨のタイプ (計算済み、固定、複数)。 *これらのテーブル内のデータを手動で調整しないでください。これらのテーブルはシステムによって管理されます。 価格フィールドと使用される通貨のタイプの詳細については、次のドキュメントを参照してください。 https://docs.servicenow.com/csh?topicname=price-fields.html&version=latest 基準通貨とは何ですか、なぜ使用されるのですか? システムでは、複数の通貨で財務データを入力することができますが、すべての財務データを 1 つの通貨で保存する必要があります。基準通貨には、すべての財務データが単一通貨で含まれ、システムロケールによって決定されます。基準通貨は、システム内で実行されるすべての計算と集計に使用されます。 システムロケールは、システムプロパティ「glide.system.locale」で制御されます。これが空白の場合、デフォルトで使用される基準通貨は米ドルになります。 システムのローカリゼーションの詳細については、次のドキュメントを参照してください。 https://docs.servicenow.com/csh?topicname=locales.html&version=latest システムロケールは変更できますか? システムロケールは、本番稼働後に変更しないでください。 このプロパティを変更すると、既存の財務データは更新されません。財務データが挿入/更新されると、基準通貨の保存に新しいロケールが使用されます。システム内のすべての計算/集計では基準通貨が使用され、システムロケールと一致しない基準通貨値がある場合、計算および集計の実行時に不正確な結果が表示されます。 SUM がリストビューの値と異なるのはなぜですか? SUM を実行すると、システムでは基準通貨フィールドの詳細が使用されます。これは、ユーザーセッション通貨で表示されるように換算されます。 セッション通貨換算では、常にシステム内の最新の為替レートが使用されます。 例 以下の例では、ユーザーの言語は英語に、国コードはオーストラリアに設定されているため、セッションロケールは「en.au」で、通貨はオーストラリアドルで表示されます。 リストビューには、オーストラリアドルで入力された $100 と $50 の 2 つの通貨値がありますが、合計は予想される $150 ではなく $159.1896 です。 換算に使用されるシステム内の最新の為替レート [fx_rate] を見てみましょう 関連付けられた通貨フィールドの fx_currency_instance 計算 ステップ 1: リスト内の関連するフィールドの各基準通貨値が合計されます。 34.6352 + 69.2704 = 103.9056 USD ステップ 2: 合計された基準総額をユーザーのセッション通貨に換算します。 (103.9056 / 1.1307) * = 159.1896 (4DP) 合計計算では常に最新の為替レートが使用されるため、レコードの保存時と現在の為替レートに大きな差がある場合は、これらの違いが発生します。通常、違いはそれほど大きくありません。 単一通貨モードとは何ですか? 単一通貨モードでは、プラットフォームのすべてのユーザーが同じ通貨で通貨値を表示できます。 単一通貨モードを使用すると、基準通貨が使用される単一通貨と一致するため、レート換算が回避されます。 単一通貨の詳細については、次のナレッジ記事を参照してください。 https://docs.servicenow.com/csh?topicname=single-currency-mode.html&version=latest 単一通貨モードに切り替えるにはどうすればよいですか? まだ本稼働稼働していません。 単一通貨モードを構成するには、次のプロパティを設定します。 glide.i18n.single_currency:trueglide.i18n.single_currency.code:3 文字の ISO 通貨コードシステムロケール:glide.system.locale 単一通貨モードの設定の詳細については、次のナレッジ記事を参照してください。 https://docs.servicenow.com/csh?topicname=single-currency-mode.html&version=latest 現在本稼働中です。 すべての通貨と価格データは、単一の通貨で入力する必要があります。希望する通貨で入力されておらず、0 より大きい値が入力されているすべての fx_currency_instance および fx_price レコードを確認する必要があります。 以下の手順は、本番に適用する前に、準本番インスタンス内でテストする必要があります。このプロセスをテストするには、準本番インスタンスで本番のクローンを実行することを強くお勧めします。このプロセスを適用したら、ServiceNow サポートにケースを提出することができます。ServiceNow サポートは評価して次のステップを提供します。 手順: *必ずしも単一通貨モードに換算できるとは限りません。通貨レコードの数やインスタンスの使用状況など、いくつかの要因が考慮されます。懸念がある場合は、この手順を開始する前に ServiceNow サポートに問い合わせることをお勧めします。 1) フィルターに「fx_currency_instance.LIST」と入力して、[fx_currency_instance] テーブルに移動します。 2) 入力された金額が 0 で、通貨値が希望の単一通貨ですでに入力されているレコードを除外します。 例:https:///fx_currency_instance_list.do?sysparm_query=amount!%3D0 [id]、[table]、および [fields] 列に注意してください。これらのフィールドに保持されているデータを理解するには、「財務データはシステムでどこに保存されますか」セクションを参照してください。 3) ステップ 2 で検出された各レコードに移動し、必要な通貨で正しい値を保持するように関連するフィールドを更新します。 4) フィルターに「fx_price.LIST」と入力して、[fx_price] テーブルに移動します。 5) 入力された金額が 0 で、通貨値が希望の単一通貨ですでに入力されているレコードを除外します。 例:https:///fx_price_list.do?sysparm_query=amount!%3D0 [id]、[table]、および [fields] 列に注意してください。これらのフィールドに保持されているデータを理解するには、「財務データはシステムでどこに保存されますか」セクションを参照してください。 6) ステップ 5 で検出された各レコードに移動し、必要な通貨で正しい値を保持するように関連するフィールドを更新します。 7) fx_Currency_instance.LIST および fx_price.LIST に移動しし、金額がゼロより大きいすべての通貨が希望の通貨で入力されていることを確認します。 https:///fx_price_list.do?sysparm_query=amount!%3D0 https:///fx_currency_instance_list.do?sysparm_query=amount!%3D0 希望の通貨で保存されていないレコードを見つけた場合は、手順 3 と 5 をそれぞれ再度実行します。 8) この時点で、ServiceNow サポートにケースを提出できます。ServiceNow サポートは評価して次のステップを提供します。 セッション通貨の値はどのように決定されますか? ユーザーロケールは、考慮される順に、以下によって決定されます。 国と言語の両方が指定されているユーザーレコード。glide.system.locale プロパティを使用して設定されたシステムロケール。 ブラウザのロケール。 *ブラウザのロケールは、使用しているブラウザ内の言語設定によって決まります。 通貨換算はどのように行われますか? すべての為替レートは [fx_rate] テーブルに保持されます。為替レート値は、その通貨をユーロに換算するために使用されるレートです。 為替レートは、ECB Web サイトから、「ECB 為替レートロード」と呼ばれるスケジュール済みジョブによって毎日収集されます。 基準通貨の計算方法 以下の例では、ユーザーが金額フィールドに 100 AUD の値を入力し、基準通貨として 69.2603 USD に変換されたことがわかります。 このレコードは 2019/05/27 17:12 に更新されました。使用された為替レートを見つけるには、更新時間より前に作成された通貨 USD/AUD の最も早い fx_rate レコードを見つける必要があります。 *通貨換算では、財務レコードの更新時に常にシステム内の最新の為替レートが使用されることに注意してください システムは AUD の値を EUR に変換し、次に EUR を USD に変換して、基準通貨を設定します。 (入力金額 / 入力通貨の為替レート) * システムロケールの為替レート通貨 (100/1.6168) * 1.1198 = 69.26026 (69.2603 を 4dp に四捨五入) 追加情報 通貨換算の詳細については、次のドキュメントを参照してください。 https://docs.servicenow.com/csh?topicname=currency-conversions.html&version=latest リストビューで通貨フィールドの地球アイコンが表示されないのはなぜですか? 通貨値の横に地球アイコンが表示され、値を次のいずれかの値に変更できます。 ユーザーが入力した値セッション通貨での値入力した値と、括弧で囲まれた参照通貨での値 このアイコンは、ユーザーのセッション通貨が入力した通貨と異なる場合に表示されます。アイコンをクリックすると、一覧が順番に表示されます。 サービスカタログを使用した価格タイプの計算済み、単一通貨、複数通貨の違いは何ですか? サービスカタログアイテムにアクセスすると、[価格] フィールドはデフォルトで常にユーザーのセッション通貨で表示されます。 計算済み:価格フィールドが計算済みを使用している場合、入力された値は最新の為替レートを使用してユーザーのセッション通貨に換算されます。 固定単一:通貨はユーザーのセッション通貨では表示されませんが、指定された通貨で表示されます。 複数:システム内のアクティブな通貨ごとに複数の fx_price レコードが生成されます。ユーザーがこのアイテムにアクセスすると、セッション通貨に基づいて関連するレコードに設定された内容が使用されます。変換は必要ないため行われません。 次の例では、ロケールが en.GB に設定されたユーザーを使用して、すぐに利用可能なカタログアイテム「Apple iPad 3」を注文し、カタログアイテムレコードに使用されるタイプに応じて各レコードがどのように表示されるかを示します。 計算済み: カタログアイテム fx_price レコード: Apple iPad 3 の注文 (GBP で表示): 固定単一: カタログアイテム fx_price レコード: Apple iPad 3 の注文 (USD で表示): 複数: カタログアイテム fx_price レコード: このアイテムには、親レコードによってリンクされた複数の fx_price レコードがあります。 Apple iPad 3 の注文: この例では、関連する GBP レコードが GBP100 に修正されており、これはユーザーがアイテムを注文するときに使用されます。 詳細については、次のドキュメントを参照してください。 https://docs.servicenow.com/csh?topicname=price-fields.html&version=latest