环境变量这个功能很早就有了,但最近才关注到,是个不错的功能,所以写篇介绍下它的应用。
项目里都会有配置实体这么个东西,用于存储各种常量或者与其他系统集成时的各种配置参数,以往我们都是自定义一个实体用来存放,在系统部署和迁移的过程中这部分就需要作为主数据来进行迁移。
而环境变量的优势是可以跟着解决方案走,并且可配置查询读取权限
环境变量的创建需要在powerapps的管理中心里操作
下图是21V的数据类型
相比Global缺少了secret类型
我为了测试定义两种比较常用的类型,一个text一个json
定义好后,首先看下在JS里怎么取值,我取了schemaname为new_text的默认值,这个实体的元数据结构就自己看了,不在这里赘述
- function onLoad(ExectionContext)
- {
- Xrm.WebApi.retrieveMultipleRecords('environmentvariabledefinition',"?$filter=schemaname eq 'new_text'&$select=defaultvalue").then(function(result)
- {
- console.log(result.entities);
- });
- }
得到的结果如下,如果存的是JSON,那取出来后JSON.parse下就可以用了
Plugin里也是一样,对environmentvariabledefinition实体一个query加个condition就能取出配置参数了。
以上是在D365开发中的应用,当然还有Power Automate和Canvas app中的应用。