- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
插件(Plug-in)的开发
本例是为订单生成按照规则涉及的订单编码为例,利用插件来实现。
参考文章网址: HYPERLINK /2012/01/step-by-step-plugin-tutorial-using.html /2012/01/step-by-step-plugin-tutorial-using.html
HYPERLINK /2011/12/auto-number-solution-for-dynamics-crm.html /2011/12/auto-number-solution-for-dynamics-crm.html
我这里使用SDK中的Developer Toolkit,请先安装这个工具,安装办法见常用工具章节。
打开Visual Studio,新建Visual Studio项目,项目类型请选择 Dynamics CRM中的某个,我这里选择Dynamicc CRM 2011 Package,因为这种类型的项目可以通过Visual Studio直接部署到服务器上,比较方便,然后输入项目名称,我这里是输入Hand,如下所示:
这时候会让你链接到Dynamics CRM Server,我输入的信息如下,然后点击OK按钮。
然后右击解决方案,选择 添加 新建项目。
项目类型选择 Dynamics CRM 2011 Plug-in Library,我这里命名为AutoNumberPlugin,然后点击 确定 按钮。这个项目会自动产生一个Plugin.cs文件
然后需要为插件进行签名。右击刚才新增的项目AutoNumberPlugin,选择属性。
在属性窗口中,从左边的导航中选择 签名 这个导航项,选中 为程序集签名 前面的复选框,在 选择强名称密钥文件 下选择 新建,在弹出的 密钥文件名称 下面输入文明,我这里是输入 CRMPluginKey ,注意不要选中 使用密码保护密钥文件 前的复选框,然后点击 确定 按钮,然后保存属性窗口。
你会发现项目下多了一个密钥文件,如下所示。
在左面的CRM Explorer窗口中,展开 Entities节点,找到要为它注册插件的实体,我这里是 订单 实体。如果看不到CRM Explorer窗口,可以通过 视图 CRM Explorer 显示它。
右击 订单 实体,选择 Create Plug-In 。
在新出来的窗口,将Messagge设置为Create,Pipeline State设置为Pre-Operation,将Class更改为PreSalesOrderCreate ,因为我想用管理员的身份(这样避免对插件代码中涉及到的实体进行授权)来执行这个插件,所以我Run in Context 选择系统管理员,当然啦,很多情况下这里可能会选择 Calling User。然后点击OK按钮。
打开PreSalesOrderCreate.cs文件中,找到下面这行代码,
// TODO: Implement your custom Plug-in business logic.
首先一般是通过如下两行代码获取PluginExecutionContext和OrganizationService,一般可以使用localContext.Trace(trace message); 来执行调试目的。
IPluginExecutionContext context = localContext.PluginExecutionContext;
IOrganizationService service = localContext.OrganizationService;
然后就是为插件撰写代码,我这里撰写的全部代码如下:注意含有 localContext.Trace 的代码被我注释了,若插件有问题,可以将包含这个的语句启用起来,下载插件日志的时候就可以看到错误信息了。
// copyright file=PreSalesOrderCreate.cs company=Hand
// Copyright (c) 2013 All Rights Reserved
// /copyright
namespace Hand.AutoNumberPlugin
{
using System;
using System.ServiceModel;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Query;
/// summary
/// PreSalesOrderCreate Plugin.
/// /summary
public class PreSalesOrderCreate
您可能关注的文档
最近下载
- 电工电子技术(第3版)PPT完整全套教学课件.pptx VIP
- 比较思想政治教育(第二版) 010 比较思想政治教育(第二版) 第十章.pptx VIP
- 醇醚制烯烃中的催化剂(MTO-MTP).ppt VIP
- 辉瑞生物医药研发管线2025年罕见病治疗药物研发动态报告.docx
- 施工组织设计会签表.pdf VIP
- 比较思想政治教育(第二版) 009 比较思想政治教育(第二版) 第九章.pptx VIP
- 人教版七年级上册英语语法和练习.docx VIP
- 证券业协会反洗钱培训.pptx
- 比较思想政治教育(第二版) 008 比较思想政治教育(第二版) 第八章.pptx VIP
- 零碳园区初步规划方案.pptx VIP
文档评论(0)