Dynamics 365 自定义渠道的步骤
1.创建2个实体:渠道【new_flashinfosmschannel】、消息模板(配置窗体)
注意:如果想用标准消息模板,可以不用创建消息模板
标准消息模板效果:
2.导出解决方案,往XML增加一个关系【EntityRelationship】
https://learn.microsoft.com/zh-cn/dynamics365/marketing/real-time-marketing-define-custom-channel-instance
注意:导出的解决方案,需要包含实体【msdyn_channelinstance】
示例:
<EntityRelationship Name="msdyn_ChannelInstance_extendedentityid_new_flashinfosmschannel">
<EntityRelationshipType>OneToMany</EntityRelationshipType>
<IsCustomizable>0</IsCustomizable>
<IntroducedVersion>1.0.0.0</IntroducedVersion>
<IsHierarchical>0</IsHierarchical>
<ReferencingEntityName>msdyn_ChannelInstance</ReferencingEntityName>
<ReferencedEntityName>new_flashinfosmschannel</ReferencedEntityName>
<CascadeAssign>NoCascade</CascadeAssign>
<CascadeDelete>RemoveLink</CascadeDelete>
<CascadeReparent>NoCascade</CascadeReparent>
<CascadeShare>NoCascade</CascadeShare>
<CascadeUnshare>NoCascade</CascadeUnshare>
<CascadeRollupView>NoCascade</CascadeRollupView>
<IsValidForAdvancedFind>1</IsValidForAdvancedFind>
<ReferencingAttributeName>msdyn_extendedentityId</ReferencingAttributeName>
<RelationshipDescription>
<Descriptions>
<Description description="" languagecode="1033" />
</Descriptions>
</RelationshipDescription>
<EntityRelationshipRoles>
<EntityRelationshipRole>
<NavPaneDisplayOption>UseCollectionName</NavPaneDisplayOption>
<NavPaneArea>Details</NavPaneArea>
<NavPaneOrder>10000</NavPaneOrder>
<NavigationPropertyName>msdyn_extendedentityid_new_flashinfosmschannel</NavigationPropertyName>
<RelationshipRoleType>1</RelationshipRoleType>
</EntityRelationshipRole>
<EntityRelationshipRole>
<NavigationPropertyName>msdyn_ChannelInstance_extendedentityid_new_flashinfosmschannel</NavigationPropertyName>
<RelationshipRoleType>0</RelationshipRoleType>
</EntityRelationshipRole>
</EntityRelationshipRoles>
</EntityRelationship>
3.写插件代码&注册上去&在CRM创建customer api,比如创建的new_flashinfosms_customapi
4.在代码创建自定义渠道
/// <summary>
/// 渠道定义
/// </summary>
/// <param name="service"></param>
/// <returns></returns>
public static Guid Insert_msdyn_channeldefinitions(IOrganizationService service)
{
Entity entity = new Entity("msdyn_channeldefinition");
entity.Id = Guid.NewGuid();//
entity["msdyn_name"] = "Flashinfo SMS Channel";
entity["msdyn_displayname"] = "Flashinfo SMS Channel";
entity["msdyn_description"] = "Flashinfo SMS Channel";
entity["msdyn_channeltype"] = "Custom";
entity["msdyn_outboundendpointurltemplate"] = "/new_flashinfosms_customapi";
entity["msdyn_hasinbound"] = false;
entity["msdyn_hasdeliveryreceipt"] = true;
entity["msdyn_supportsaccount"] = false;
entity["msdyn_channeldefinitionexternalentity"] = "new_flashinfosmschannel";
entity["msdyn_channeldefinitionexternalformid"] = "2054e3cb-e2fb-4d0a-bdde-cc51982da65d"; //必须小写,是实体new_flashinfosmschannel的主窗体ID
entity["msdyn_messageformid"] = "9af480f8-a1b8-422a-9e4e-62d95a952ccf"; //可以为null,代表使用标准模板效果 var id = service.Create(entity);
return id;
}
/// <summary>
/// 消息定义
/// </summary>
/// <param name="service"></param>
/// <param name="cid"></param>
public static void Insert_msdyn_channelmessageparts(IOrganizationService service, Guid cid)
{
Entity entity = new Entity("msdyn_channelmessagepart");
entity.Id = Guid.NewGuid();//
entity["msdyn_name"] = "text";// 消息部分的名称
entity["msdyn_displayname"] = "text";// 显示名称
entity["msdyn_description"] = "text";// 说明
entity["msdyn_channeldefinitionid"] = new EntityReference("msdyn_channeldefinition", cid);// 渠道定义 ID
entity["msdyn_type"] = new OptionSetValue(192350000);// 渠道类型
entity["msdyn_isrequired"] = true;// 指示是否需要此部分
entity["msdyn_maxlength"] = 1000;// 部分的最大长度
var id = service.Create(entity);
}
调用:
var id = Insert_msdyn_channeldefinitions(adminService);
Insert_msdyn_channelmessageparts(adminService, id);
5.在自定义渠道,就能看到新增的渠道
Dynamics 365 自定义渠道的步骤的更多相关文章
- Dynamics 365 marketing中添加自定义渠道磁贴
Dynamics 365 marketing中默认的渠道只有Marketing Email和Marketing Activity,想要添加其他渠道必须自定义磁贴,自定义磁贴的步骤如下: 1.创建实体 ...
- 自定义工作流活动报错:您无法登陆系统。原因可能是您的用户记录或您所属的业务部门在Microsoft Dynamics 365中已被禁用。
本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复265或者20170926可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- Dynamics 365中自定义工作流活动获取的上下文分析及注意事项
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复244或者20170306可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- 自定义适用于手机和平板电脑的 Dynamics 365(三):显示的实体
您可以启用 适用于手机的 Dynamics 365 和 适用于平板电脑的 Dynamics 365 的有限实体集. 若要查看是否启用了实体,或者要启用实体,请单击“设置”>“自定义”>“自 ...
- 自定义适用于手机和平板电脑的 Dynamics 365(二):窗体自定义项
适用于手机的 Dynamics 365 和 适用于平板电脑的 Dynamics 365 使用窗体作为 Web 应用. 窗体在应用程序中的显示方式为移动体验进行了优化. 下图显示了从 Web 应用程序到 ...
- Dynamics 365 CE将自定义工作流活动程序集注册到磁盘并引用其他类库
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 自定义适用于手机和平板电脑的 Dynamics 365(五):可视控件
使用 适用于手机的 Dynamics 365 和平板电脑中的可视控件帮助移动用户更快地输入 Dynamics 365 数据并提供更丰富的可视体验. 此组自定义控件包括滑块.开关.星数评级.视频嵌入以及 ...
- 自定义适用于手机和平板电脑的 Dynamics 365(四):窗体脚本
为 Web 应用程序中使用的窗体编写的脚本也应该适用于用于手机和平板电脑的 Dynamics 365,但存在一些差异. 通常,对于移动应用程序无效的方法不返回错误,但是它们也不返回任何值. 开发人员可 ...
- 自定义适用于手机和平板电脑的 Dynamics 365(一):主页
当用户首次打开适用于手机和平板电脑的 Dynamics 365 时,他们将看到默认为“销售仪表板”的主页. 您可以创建新仪表板或 Web 应用程序中编辑现有仪表板,然后为移动设备启用它们,用户可以选择 ...
- 为Dynamics 365 USD设置打开调试面板的自定义快捷键
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
随机推荐
- 从 DevOps 到平台工程:软件开发的新范式
DevOps 是一种将开发和运营结合起来的方法,在应用规划.开发.交付和运营方面将人员.流程和技术结合起来.DevOps 使以前孤立的角色(如开发.IT运营.质量工程和安全)之间进行协调和合作.一直以 ...
- windows下搭建docker容器环境
下载Docker Desktop https://www.docker.com/ 安装Docker Desktop(软件默认安装c盘,若要安装到其他盘,在安装之前创建软连接再进行安装) 在自定义磁盘中 ...
- 【python基础】编写/运行hello world项目
1.编写hello world项目 编程界每种语言的第一个程序往往都是输出hello world.因此我们来看看,如何用Python输出hello world. 1.如果你是初学者,main.py中的 ...
- Abstract Factory Pattern 抽象工厂模式简介与 C# 示例【创建型】【设计模式来了】
〇.简介 1.什么是抽象工厂模式? 一句话解释: 通过对抽象类和抽象工厂的一组实现,独立出一系列新的操作,客户端无需了解其逻辑直接访问. 抽象工厂模式(Abstract Factory Patte ...
- CentOS 8 已是绝版?还有后续么?
文章由 Linux爱好者( ID: LinuxHub)整理自开源中国 + 红帽官方.本文章经原作者同意后授权转载. 2020年12月8日,CentOS 项目宣布,CentOS 8 将于 2021 年底 ...
- 汇总低效的SQL语句
背景 SQL专家云像"摄像头"一样,对环境.参数配置.服务器性能指标.活动会话.慢语句.磁盘空间.数据库文件.索引.作业.日志等几十个运行指标进行不同频率的实时采集,保存到SQL专 ...
- Airtest图像识别测试工具原理解读&最佳实践
1 Airtest简介 Airtest是一个跨平台的.基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows.Android和iOS.Airtest框架基于一种图形脚本语言Si ...
- CSS3实现3D效果的图片墙
先来看一下效果:http://39.105.101.122/myhtml/CSS/transform_3D/img_3D.html 目前没有做IE的兼容,在谷歌浏览器里面可以看到效果 布局结构: &l ...
- 蔬菜识别系统Python+TensorFlow+Django+卷积神经网络算法
一.介绍 蔬菜识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法.并通过对数据集进行训练,最后得到一个识别精度较高的模型.并基于Django框架,开 ...
- WPF 入门笔记 - 06 - 命令
我们把世界看错,反说它欺骗了我们. --飞鸟集 前言 相较而言,命令对我来说是一个新概念,因为在Winform中压根没有所谓的命令这个概念.从文字角度理解,"命令"可以指代一种明确 ...