zoukankan      html  css  js  c++  java
  • 使用Power Automate获取CDS中数据并附加到邮件中发送

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面的微软最有价值专家(Microsoft MVP),欢迎关注我的微信公众号 MSFTDynamics365erLuoYong ,回复410或者20200516可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!

    我这里假设一个虚拟需求,每天定时将符合条件的数据清单附到邮件附件中发给指定的邮箱。

    首先登录 https://make.powerapps.com ,点击左边的 Solutions 链接,打开或者新建一个Solution,然后点击 New > Flow 来添加 Flow。

    选择Schedule 下面的 Recurrence 这个Action。

    我设置的循环时间如下:

    然后我添加一个Common Data Service (current environment) 这个connector 中的 List records 这个Action。

    查询设置如下:为了拿到查找字段的显示名称(主属性)和部分其他属性,我使用了 Expand Query:new_account($select=name),transactioncurrencyid($select=currencysymbol,isocurrencycode)

    然后增加 Data Operation 下面的 Create CSV table这个Action。

    From选择前面步骤的value,然后Columns我选择Custom,因为不选择Custom的话列会多出不少。

    这几个列设置的如下:

    客户列,我这里显示客户的名称,如果用表达式就是 item()?['new_account/name'] ,但是目前Power Automate比较智能,可以直接选取到,不用写表达式。

    状态列,如果直接使用字段值,显示的是存储值整数,所以我这里用表达式来设置:item()?['_statuscode_label'] ,获取选项集字段的显示值我的博文 Power Automate实用常见问题解答(FAQ) 有说明。

    总价列,因为默认获取到的是数字,我需要格式化一下,加上货币符号,千分位符号,保留2位小数,用的表达式是:concat(item()?['transactioncurrencyid/currencysymbol'], formatNumber(item()?['new_totalvalue'],'N2'))

    创建时间列,因为获取到的是UTC时间,所以我这里需要用函数来转换成北京时间并且格式化一下,使用的表达式是:convertFromUtc(item()?['createdon'],'China Standard Time', 'yyyy-MM-dd HH:mm:ss')

    关于函数的用法和说明请参考官方文档:Reference guide to using functions in expressions for Azure Logic Apps and Power Automate

    然后我添加一个Office 365 Outlook 这个Connector中的 Send an email (V2) 这个Action。

    设置如下:

    附件的名称我用了一个表达式:convertFromUtc(utcNow(), 'China Standard Time','yyyyMMdd') 。

    附件的内容使用前面Create CSV Table步骤的输出。

    保存后,点击右上角的 Test 按钮运行测试。

    很快就收到邮件了,如下:

    打开附件如下,基本符合要求。

    如果我要加一个序号呢?我目前没有特别好的办法,也可以实现。

    声明一个数组变量和一个整数变量,使用Control中的 Apply to each 这个action来做循环。

    循环中使用 Data Operation中的Compose 来针对查询结构的每个元素构造一个新的元素出来,带上xuhao属性并赋值,如下图:

    最后创建CSV table的时候就用这个数组来做,序号列就用表达式:item()?['xuhao'] ,其他列就要加上外面包括的属性然后加上字段名,示例:item()?['originalValue']['new_name'] 

    可以看到结果包括序号列了:

    当然,如果根据现有元素构造新元素可以采用Data Operation的Select 这个action。

    更多详情请参考官方文档:Use data operations with Power Automate

  • 相关阅读:
    ffmpeg解码视频存为BMP文件
    iphoneOS与Windwos下RTSP服务器与客户端的搭建
    RTSP协议介绍
    还原数据库
    .NET导入Excel数据
    jquery对表单元素操作
    Jquery操作select
    The process cannot access the file '' because it is being used by another process.....
    aspnet_merge.exe”已退出,代码为1的错误
    vs2008运行正常(可以访问数据库),而iis不能正常访问数据库
  • 原文地址:https://www.cnblogs.com/luoyong0201/p/Power_Automate_Send_Email_With_Query_Data_Into_CSV_Attachment.html
Copyright © 2011-2022 走看看