【Dynamics 365 FO】导入汇率以及在X++代码中使用这些汇率

商务合作请加微信:DingtalkCSM

首先我们需要先创建一个汇率提供方,Dyanmics 365官方为我们提供了三个汇率提供方,直接点new然后选一个就好了。

建好汇率提供方之后我们就可以导入汇率了。

配置一下各项参数。

我们可以配置一个批处理,让系统每隔一段时间自动重新导入一遍汇率信息。

然后我们可以在Currency exchange rates这个表中查看我们导入的汇率。

导入汇率后如何使用汇率呢。

我们可以在表中选择指定的币种,然后调用CurrencyExchangeHelper类的calculateCurrencyToCurrency方法,通过向该方法中传入我们在表中选择的币种,以及填写的“售价”字段来自动计算出根据所选汇率换算后的值,最后把这个换算后的值填到“单价”字段中。

我这里就是建了一个名为“币种”的枚举字段,当然我们也可以直接建个字符串字段然后关联Currency表的CurrencyCode字段。

接着我们重写一下表的modifiedField方法,实现当用户修改币种字段或售价字段的时候,系统调用calculateCurrencyToCurrency方法来自动根据汇率换算出单价字段的值。

public void modifiedField(FieldId _fieldId)
    {
        super(_fieldId);
          switch(_fieldId)
        {
            case fieldNum(TestTable, FromCurrency): // 如果编辑的是币种字段
                AmountMst amountMST; // AmountMst类需要导入Ledger model
                CurrencyCode FromCurrency =  enum2Str(this.FromCurrency);  // CurrencyCode类需要导入Currency model;enum2Str()方法能帮我们把枚举类型的值转成字符串类型
                CurrencyCode toCurrency =  'CNY';
                CurrencyExchangeHelper currencyExchangeHelper = CurrencyExchangeHelper::newExchangeDate(Ledger::current(), systemDateGet()); // 先建一个CurrencyExchangeHelper类的对象
                amountMST = currencyExchangeHelper.calculateCurrencyToCurrency(FromCurrency,toCurrency,this.SalesPrice,true); // 通过这个对象来调calculateCurrencyToCurrency()方法
                this.UnitPrice = amountMST; // 最后把换算后的值赋值给单价字段,注意AmountMst是Real类型的,所以单价字段也得是Real类型
                break;
            case fieldNum(TestTable, SalesPrice): // 如果编辑的是售价字段
                AmountMst amountMST2;
                CurrencyCode FromCurrency2 =  enum2Str(this.FromCurrency);
                CurrencyCode toCurrency2 =  'CNY';
                CurrencyExchangeHelper currencyExchangeHelper2 = CurrencyExchangeHelper::newExchangeDate(Ledger::current(), systemDateGet());
                amountMST2 = currencyExchangeHelper2.calculateCurrencyToCurrency(FromCurrency2,toCurrency2,this.SalesPrice,true);
                this.UnitPrice = amountMST2;
                break;
        }
      }

最后就可以实现自动根据所填金额和所选币种来换算金额了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/507339.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

h5接入腾讯云人脸核身

一.自助接入步骤。 1.登录腾讯云开通人脸核身服务。 2.选择微信h5。 3.填写用户授权信息,选择对比源。 4.在调用实名核身鉴权接口时,必须传入认证人姓名和身份证号。 5.配置结果。 二.时序图 三.后端接口 service package com.ynfy.buss.exam.faceve…

PurpleKeep:提供Azure管道以创建基础设施并执行Atomic测试

关于PurpleKeep PurpleKeep是一款功能强大的安全测试自动化工具,该工具能够通过提供Azure管道以创建基础设施,并帮助广大研究人员执行Atomic测试。 随着攻击技术种类的迅速增加,以及EDR(端点检测和响应)和自定义检测规…

C语言----预处理(详解)

好了书接上回。我在讲编译与链接的时候写过宏和条件建议。我说会在下一篇博客中讲解,那么来了。今天我们来详细的讲讲预处理。宏与条件编译也在其中,那么我们现在就来好好会会这个预处理吧。 预定义符号 关于预定义符号,我暂时只知道几个。并…

Python-VBA编程500例-028(入门级)

经典二分查找算法(Classic Binary Search Algorithm)(也称为折半查找算法),是一种在有序数组中查找某一特定元素的搜索算法。它要求序列必须有序,然后通过每次比较数组中间元素与目标值,将搜索范围缩小一半,直到找到目标元素或搜索…

传输大咖20|提升效率:优化文件服务器删除大文件夹过程的策略

引文| 文件服务器在删除大文件夹时,往往会比较耗时。如果在原有线程中同步等待删除结果,那么会阻塞原有线程的运行;如果在其它线程中异步删除文件夹,则虽不阻塞原有线程的运行,但对于那些关注删除结果的用户…

每日面经分享(pytest装饰器)

pytest装饰器 a. pytest.mark.parametrize:这个装饰器用于标记测试函数,并为其提供多组参数进行参数化测试。可以使用元组、列表、字典等形式来指定参数组合。 import pytestpytest.mark.parametrize("num1, num2, expected", [(2, 2, 4), (5…

力扣热门算法题 217. 存在重复元素,223. 矩形面积,225. 用队列实现栈

217. 存在重复元素,223. 矩形面积,225. 用队列实现栈,每题做详细思路梳理,配套Python&Java双语代码, 2024.04.01 可通过leetcode所有测试用例。 目录 217. 存在重复元素 解题思路 完整代码 Java Python 223…

Discuz采集发布插件

Discuz(简称DZ)是一款知名的开源论坛系统,广泛应用于各类网站社区。对于许多站长来说,保持论坛内容的更新是一项挑战,特别是在内容量庞大的情况下。为了解决这个问题,有一类特殊的插件是用于在Discuz论坛中…

惟客数据《2024泛零售行业大会员经营实践与案例》正式发布

对于多业态、多品牌、多渠道经营的泛零售企业而言,如何改变过去会员经营过程中“各自为政”的状态? 如何让企业内不同业务之间的会员经营“瞄得准、看得穿、打得透、流得通、触得动”,充分发挥多业态、多品牌、多渠道优势,最大化挖…

transformers微调模型后使用pieline调用无法预测列表文本

初学transformers框架 使用trainer简单训练一个文本分类模型三个epoch后 使用piepline调用model 和tokenizer后 发现 传入列表文本后 输出就变得不正常了,为么子哇 如下图

简单说清楚什么是SQL Injection?

最近看完了《The Pragmatic Programmer: 20th Anniversary Edition, 2nd Edition: Your Journey to Mastery》,在第7章:While You Are Coding的footnotes中,提到了一幅漫画: 这不仅用简单的方式说清楚了什么是SQL Injection&#…

【御控物联】JSON结构数据转换在物联业务中应用(场景案例二)

文章目录 一、物联网业务场景现状二、物联网业务场景数据交互格式三、JSON格式数据转换案例四、JSON数据格式转换DEMO 一、物联网业务场景现状 目前,市场上多数物联网关与物联平台捆绑售卖,网关采集到设备数据只能按照指定的协议和规定的数据格式传输到…

蚂蚁测试可控制天气的“龙王”系统

关注卢松松,会经常给你分享一些我的经验和观点。 所有伟大的发明,都来自最初不切实际的幻想。 4月1日,不少互联网大厂都发布一些新产品,例如:淘宝测试用火箭送快递,蚂蚁集团推出可以控制天气的技术系统畅…

【学习笔记】java项目—苍穹外卖day03

文章目录 苍穹外卖-day03课程内容1. 公共字段自动填充1.1 问题分析1.2 实现思路1.3 代码开发1.3.1 步骤一1.3.2 步骤二1.3.3 步骤三 1.4 功能测试1.5 代码提交 2. 新增菜品2.1 需求分析与设计2.1.1 产品原型2.1.2 接口设计2.1.3 表设计 2.2 代码开发2.2.1 文件上传实现2.2.2 新…

MySQL 进阶-----索引使用规则

目录 前言 一、验证索引效率 二、最左前缀法则 三、范围查询 四、索引失效情况 1.索引列运算 2.字符串不加引号 3 .模糊查询 4.or连接条件 5 .数据分布影响 前言 本期我们学习MySQL索引的使用方法,在讲解索引的使用原则之前,先通过一个简单的…

【漏洞复现】通天星CMSV6弱口令漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

探索 Redis 数据库:一款高性能的内存键值存储系统

目录 引言 一、非关系型数据库 (一)什么是非关系型数据库 (二)非关系型数据库的主要特征 (三)关系数据库与非关系型数据库的区别 二、Redis 简介 (一)基本信息 (…

哪一款个微管理助手比较好用?

私域流量兴起,社群运营成为热门,越来越多的行业进入社群的圈子。但是社群管理是个超麻烦、巨琐碎的活儿,方法不对,很容易无限陷入死循环。 此时,一个合适的管理工具可以帮我们高效管理,达到事半功倍的效果…

构建第一个ArkTS应用(Stage模型)

创建ArkTS工程 若首次打开DevEco Studio,请点击Create Project创建工程。如果已经打开了一个工程,请在菜单栏选择File > New > Create Project来创建一个新工程。选择Application应用开发(本文以应用开发为例,Atomic Servi…

云原生最佳实践系列 7:基于 OSS Object FC 实现非结构化文件实时处理

方案概述 现在绝大多数客户都有很多非结构化的数据存在 OSS 中,以图片,视频,音频居多。举一个图片处理的场景,现在各种终端种类繁多,不同的终端对图片的格式、分辨率要求也不同,所以一张图片往往会有很多张…