ICurrencyCache

ICurrencyCacheサービスは組織のtransactioncurrencyセットと組織の基本通貨へのキャッシュアクセスを提供します。通貨は初回アクセス時に単一のスナップショットとして読み込まれ、粗いスライドウィンドウで更新されます。管理者はめったに新しい通貨を追加しないため、キャッシュはホットレコード取得パス上のレコードごとの通貨検索を省くためにわずかなメモリ容量を節約します。

記録上の自動人口

通常、直接触れる必要 ICurrencyCache ありません。レコードのフェッチに少なくとも1つのマネーカラムが含まれている場合、サーバーは自動でプロジェクト transactioncurrencyid し、解決された通貨をレコードの Currency プロパティに付与します。 MoneyEdit その開始装飾に正しいシンボルを生成するためにその消費を行います。

React
Blazor

直接アクセス

idで通貨を調べたり、組織内のすべての通貨を列挙したり(通貨選択機能、為替レート表示)、またはベース通貨を解決する必要があるカスタムサーバーサイドコードの場合、 ICurrencyCacheを注入します:

ヒント

ICurrencyCache サーバーサイドのみです。行の通貨が必要なブラウザ側のコードは、 TableRecord.Currency (Blazor)/ record.currency (React)を直接読み込み、レコードにマネーカラムが含まれると自動的に入力されます。

ICurrencyCache Interface

方法

名称
パラメータ
種類
概要
GetGuid id
Currency?
指定されたトランザクション通貨IDで通貨を返す、または Dataverseに一致するレコードが存在しない場合にnullとなります。
GetAllIReadOnlyDictionary<Guid, Currency>
組織内で設定されたすべての通貨を、IDでキー化して返します。単体としてロード スナップショット — 辞書を反復する呼び出し者は、 キャッシュは列挙中の更新を行います。
GetAllAsyncCancellationToken token
Task<IReadOnlyDictionary<Guid, Currency>>
非同期に組織内で設定されたすべての通貨をidでキーで返します。
GetAsyncGuid id
CancellationToken token
Task<Currency>
非同期に指定された transactioncurrencyidで通貨を返します。 または一致するレコードが存在しない場合は null となります。
GetBaseCurrencyCurrency?
組織の基本通貨は organization.basecurrencyidから解決されました。 transactioncurrencyid がnullのレコードのフォールバックとして使用される — マルチ通貨に全く関与していないテーブルに典型的なことです。返還 組織の記録が解決できない場合(それも同様に)は null となります より深いDataverse接続性の問題を示しています)。
GetBaseCurrencyAsyncCancellationToken token
Task<Currency>
組織の基本通貨を非同期で返還します。
名称: Get
パラメータ: Guid id
種類: Currency?
概要: 指定されたトランザクション通貨IDで通貨を返す、または Dataverseに一致するレコードが存在しない場合にnullとなります。
名称: GetAll
種類: IReadOnlyDictionary<Guid, Currency>
概要: 組織内で設定されたすべての通貨を、IDでキー化して返します。単体としてロード スナップショット — 辞書を反復する呼び出し者は、 キャッシュは列挙中の更新を行います。
名称: GetAllAsync
パラメータ: CancellationToken token
種類: Task<IReadOnlyDictionary<Guid, Currency>>
概要: 非同期に組織内で設定されたすべての通貨をidでキーで返します。
名称: GetAsync
パラメータ: Guid id
CancellationToken token
種類: Task<Currency>
概要: 非同期に指定された transactioncurrencyidで通貨を返します。 または一致するレコードが存在しない場合は null となります。
名称: GetBaseCurrency
種類: Currency?
概要: 組織の基本通貨は organization.basecurrencyidから解決されました。 transactioncurrencyid がnullのレコードのフォールバックとして使用される — マルチ通貨に全く関与していないテーブルに典型的なことです。返還 組織の記録が解決できない場合(それも同様に)は null となります より深いDataverse接続性の問題を示しています)。
名称: GetBaseCurrencyAsync
パラメータ: CancellationToken token
種類: Task<Currency>
概要: 組織の基本通貨を非同期で返還します。

Currency クラス

性質

名称
種類
デフォルト
概要
ExchangeRatedecimal
1
組織の基準通貨に対する為替レートからの為 レートです。 1.0 基礎通貨そのものに対してです。主に診断や高度な表示のために表面化されています シナリオ — エディターはローカルで変換を行いません。
IsoCodestring
ISO 4217の3文字コード(例:USDEUR、JPY)です。読み上げてみろ isocurrencycode。ARIAラベルや文化認識型フォーマットのバックアップに便利です。
Namestring
localized currencyname (例: US Dollar)から来た通貨名。使用中 ピッカー、ツールチップ、アクセシビリティテキストで。
Precisionint
2
小数点で表示する場所は、 currencyprecisionから提供。2に戻る Dataverseがフィールドをnullから離れるとき。 MoneyMetadata.Precisionとは独立して、 これはカラムレベルの精度です。これが通貨レベルのデフォルトです。
Symbolstring
Dataverseの表示シンボルは currencysymbol で格納されます — 最大5文字まで、 通常は単一のUnicodeグリフ($£¥)ですが、 時折、単一のグリフ形態を持たない通貨用の短い文字列が使われることもあります (フランスkrR$)または組織固有のカスタム値を。逐語的に表示 エディタ内では — Unicode + font フォールバックがすべてのグリフをカバーします。SVGのサイドカーもありません。
名称: ExchangeRate
種類: decimal
デフォルト: 1
概要: 組織の基準通貨に対する為替レートからの為 レートです。 1.0 基礎通貨そのものに対してです。主に診断や高度な表示のために表面化されています シナリオ — エディターはローカルで変換を行いません。
名称: IsoCode
種類: string
概要: ISO 4217の3文字コード(例:USDEUR、JPY)です。読み上げてみろ isocurrencycode。ARIAラベルや文化認識型フォーマットのバックアップに便利です。
名称: Name
種類: string
概要: localized currencyname (例: US Dollar)から来た通貨名。使用中 ピッカー、ツールチップ、アクセシビリティテキストで。
名称: Precision
種類: int
デフォルト: 2
概要: 小数点で表示する場所は、 currencyprecisionから提供。2に戻る Dataverseがフィールドをnullから離れるとき。 MoneyMetadata.Precisionとは独立して、 これはカラムレベルの精度です。これが通貨レベルのデフォルトです。
名称: Symbol
種類: string
概要: Dataverseの表示シンボルは currencysymbol で格納されます — 最大5文字まで、 通常は単一のUnicodeグリフ($£¥)ですが、 時折、単一のグリフ形態を持たない通貨用の短い文字列が使われることもあります (フランスkrR$)または組織固有のカスタム値を。逐語的に表示 エディタ内では — Unicode + font フォールバックがすべてのグリフをカバーします。SVGのサイドカーもありません。