Dynamics CRM 365 Online 测试Plugin开发

目标:

Dynamics CRM 365 Online 测试Plugin开发,功能是实现自动编号Account Entity的accountnumber


步骤:

1、 使用Visual Studio 2019创建一个类库输出项目,此处要注意.net framework的版本,我使用dynamics CRM online 是v9.0

在这里插入图片描述

需要安装如下二个包,注意它的版本要与CRM兼容
在这里插入图片描述

2、 编写实现自动编号的业务逻辑,此处我测试的编号规则是年月日时分秒拼在一起的逻辑

using Microsoft.Xrm.Sdk;
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;

namespace Fei_Crm_Plugin
{
    public class Fei_AccountPlugin : IPlugin
    {
        public void Execute(IServiceProvider serviceProvider)
        {
            ITracingService tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService));

            IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));

            IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));

            IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);

            if(context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
            {
                Entity entity = (Entity)context.InputParameters["Target"];

                try
                {

                    DateTime _dateTime = DateTime.UtcNow;
                  
                    var welcomeText = $"F_{_dateTime.Year.ToString()}{_dateTime.Month.ToString()}" +
                        $"{_dateTime.Day.ToString()}{_dateTime.Hour.ToString()}{_dateTime.Minute.ToString()}{_dateTime.Second.ToString()}";

                    entity.Attributes.Add("accountnumber", welcomeText);
                }
                catch (FaultException<OrganizationServiceFault> ex)
                {
                    throw new InvalidPluginExecutionException("An error occurred in Plug-in", ex);
                    
                }
                catch(Exception ex)
                {
                    tracingService.Trace($"Fei_Plugin:{ex.ToString()}");
                    throw;
                }
            }
        }
    }
}

3、打开Plugin registration Tool注册开发好的dll, 此处需注意,如果连不上CRM则需下载最新的Plugin Registration Tool, 可通过安装
Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool这个包下载所需的版本,
位置在vs项中,如我的在如下位置
E:\Fei\Visual_Studio_Projects\Fei_Dynamics_Crm_Plugin\packages\Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool.9.1.0.20\tools
在这里插入图片描述
输入用户名与密码连接CRM并加载
在这里插入图片描述

在这里插入图片描述

选择Register new Assembly,然后上传自已dll
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4、 新建二条account记录,accountnumber字段自动编号,在CRM测试结果
在这里插入图片描述


产出:

Dynamics CRM 365 的plugin开发,可以实现通过power app配置无法实现的复杂逻辑

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fei-AX&CRM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值