惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
博客园 - Franky
罗磊的独立博客
G
Google Developers Blog
The GitHub Blog
The GitHub Blog
P
Proofpoint News Feed
Recent Announcements
Recent Announcements
V
V2EX
F
Fortinet All Blogs
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
U
Unit 42
GbyAI
GbyAI
A
About on SuperTechFans
WordPress大学
WordPress大学
Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
Martin Fowler
Martin Fowler
D
DataBreaches.Net
The Cloudflare Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MongoDB | Blog
MongoDB | Blog

Donghai's Blog

使用DBeaver连接Dynamics 365 Dataverse | Donghai C# 技术备忘 - LINQ | Donghai 为Astro站点添加Google Analytics | Donghai C# 技术备忘 - LINQ - Donghai’s Blog 20260819 说些什么 | Donghai Dynamics 365 interview questions | Donghai C# 技术备忘 (1) | Donghai Dynamics 365 事件框架、事件执行管道 | Donghai 马拉松配速表 | Donghai 马拉松赛事分级 | Donghai 抖音创作日志(2026年) | Donghai 2026年跑步日志(5月开始) | Donghai 2FA | Donghai 初尝Github Actions | Donghai AstroPaper主题添加Waline评论 | Donghai Dynamics 365集中视图/聚焦视图/Focused View | Donghai AstroPaper主题添加GitHub风格的Markdown警告框 | Donghai AstroPaper主题自定义记录 | Donghai 我日常收藏的优质网站资源导航(持续更新) | Donghai 如何从归档页批量获取URL并提交到Bing Webmaster Tools | Donghai PaperMod 使用 Zeoseven 自定义网页字体 | Donghai 我常用的Prompt | Donghai Hugo默认时区导致本地预览文章不显示 | Donghai 通过手动提交工单解决Bing不收录网站问题 | Donghai 如何访问 Power BI 管理门户(Power BI Admin Portal) | Donghai 还在手敲时间戳?Win11输入法一个技巧,秒输当前时间戳 | Donghai 工作术语备忘录(持续更新) | Donghai 使用XrmToolBox导出安全角色表级权限到Excel | Donghai 24年的年终总结 | Donghai World笔记 | Donghai
Dynamics 365货币字段 | Donghai
Donghai · 2025-03-10 · via Donghai's Blog

深入了解 Dynamics 365 货币字段

本文通过一个简单但完整的实验,来梳理 Dynamics CRM 中的货币字段(Currency Field)是如何工作的,以及它在多币种场景下是什么样的表现

Table of contents

Open Table of contents
  • 前言
  • 基本概念
  • 开始实验
    • Step 1. 新建币种(Currency)
    • Step 2. 添加实验数据:多币种金额如何换算?
    • Step 3. 货币字段 + 汇总(Rollup)会发生什么?

前言

在本文的实验环境中:

  • 基础货币 (Base Currency) 设置为美元(USD)

  • 新建了2个用于实验的实体,两个实体之间是 1:N 关系(InvoiceInvoice Detail)

    • Invoice 实体
    • Invoice Detail 实体

基本概念

Dynamics 365 中,货币(Currency)是一种特殊的字段类型,它用于存储与金额相关的数据,还有一个容易被忽略但重要的点是:当你在实体中创建一个“货币字段”时,系统实际上会在后台自动创建 4 个字段

以我在 Invoice Detail 实体中新建的 Amount 货币字段为例,系统在后台生成了以下字段:

  1. gdh_amount —> 存储实际输入的货币值
  2. gdh_amount_Base —> 存储根据汇率换算后的基础货币金额

此外,还会自动关联两个字段:

  • 币种(Currency)
  • 汇率(Exchange Rate)

Invoice Detail实体新添的Amount货币字段

开始实验

Step 1. 新建币种(Currency)

打开 Power Platform 管理中心 —> 选择 “环境” —> 进入 “设置” —> 选择 “币种”

新建币种-01

在弹出的页面,新添币种

新建币种-02

我添加了两个币种:人民币和日元,新建的信息如下:

货币名称货币代码货币符号汇率货币精度
US DollarUSD$1.00002
RMBCNY7.25002
JPYJPYJPY ¥147.63002

TIP

(1) 汇率更新时,Dynamics 365 不会重新计算所有货币字段

(2) 汇率由系统管理员设定

Step 2. 添加实验数据:多币种金额如何换算?

Invoice Detail 中,分别创建了3条记录,使用不同币种填写 Amount 字段:

No.CurrencyAmountAmount(Base)Exchange Rate
SASD-00001260JPYJPY ¥ 1,000.00$6.77147.6300000000
SASD-00001259US Dollar$1,000.00$1,000.001.0000000000
SASD-00001258RMB¥ 1,000.00$137.937.2500000000

新建实验数据

打开 Invoice 记录可以清楚看到,当币种是 “基础货币(USD)” 时,AmountAmount(Base) 完全一致,当币种不是 “基础货币” 时,系统会根据:Amount(Base) = Amount ÷ Exchange Rate 自动完成换算,无需任何自定义逻辑或插件

Step 3. 货币字段 + 汇总(Rollup)会发生什么?

接下来我在 Invoice 实体中新建一个货币类型的汇总字段:Example - Total Amount,该字段用于汇总当前 Invoice 下所有 Invoice Detail 的金额

新建货币汇总字段

汇总字段的配置规则如下:

  • 汇总来源:Invoice Detail
  • 汇总字段:Amount
  • 汇总方式:Sum

字段汇总规则

汇总结果:

汇总结果

最终你会发现,系统并不是直接 “把不同币种的 Amount 相加”,实际执行逻辑是:

  1. 将子表金额统一转换为 Base 金额
  2. 汇总 Amount(Base)
  3. 再根据当前 Invoice 的 “币种(Currency)” 和 “汇率(Exchange Rate)” ,换算为显示金额,

也就是说,汇总字段的计算核心,永远围绕 Amount(Base) 展开

TIP

Dynamics 365 中的汇总字段是定时计算的,可在系统作业中设置频率,最快每 1 小时计算一次,也可以在字段旁点击“小键盘”图标,手动触发 重新计算

重新计算

(完)

如果这篇文章刚好帮到了你,欢迎请我喝杯咖啡