Dynamics CRM4.0 和 Dynamics CRM2011 Plugin 实现一样的功能的方法的比较
1.给类型赋值不同
CRM4 plugin给lookup赋值为空 :
Lookup lookupnull = new Lookup();
lookupnull.IsNull = true;
lookupnull.IsNullSpecified = true;
entity.Properties["new_storeroom_areaid"] = lookupnull;
CRM2011 给 EntityReference 赋值为空:
entity["new_storeroom_areaid"] = null;
2.单表查询,返回Entity
CRM4.0 :
private DynamicEntity GetNewPrInfo(Guid NewPrID)//根据GUID查询某字段
{
ColumnSet colSet = new ColumnSet(NewPrInfo.EntityName);
colSet.AddColumn(NewPrInfo.AttributeName_Assigner);
colSet.AddColumn(NewPrInfo.AttributeName_AssignNode); TargetRetrieveDynamic target = new TargetRetrieveDynamic();
target.EntityId = NewPrID;
target.EntityName = NewPrInfo.EntityName; RetrieveRequest request = new RetrieveRequest();
request.ColumnSet = colSet;
request.ReturnDynamicEntities = true;
request.Target = target; RetrieveResponse response = (RetrieveResponse)this.crmService.Execute(request);
DynamicEntity PromotionPe = (DynamicEntity)response.BusinessEntity;
return PromotionPe;
}
CRM2011:
Entity accEntity = service.Retrieve(“new_test”, new_testid, new ColumnSet("字段1", "字段2"));//根据GUID,查询实体new_test的字段1和字段2的值。
Entity accEntity = service.Retrieve(entityName, entityId, new ColumnSet(true));//根据GUID,查询实体new_test的所有字段。
3.初始化CRM组织服务
CRM4:
CrmAuthenticationToken token = new CrmAuthenticationToken();
token.AuthenticationType = ;
token.OrganizationName = "AdventureWorksCycle"; CrmService service = new CrmService();
service.Url = ""http://<servername>:<port>/mscrmservices/2007/crmservice.asmx";
service.CrmAuthenticationTokenValue = token;
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
CRM2011:
IFD 的服务前面的段必须是https,不分内部和外部。 Uri orgServiceUri = new Uri("https://192.168.1.101/MicrosoftDynamicCRM/XRMServices/2011/Organization.svc");
ClientCredentials credentials = new ClientCredentials();
credentials.UserName.UserName = CRMUserName;
credentials.UserName.Password = CRMUserPassword;
OrganizationServiceProxy crmServiceProxy = new OrganizationServiceProxy(orgServiceUri, null, credentials, null);
crmService = (IOrganizationService)crmServiceProxy; . on-premise 内部部署(AD认证),,初始化WebService时的方式如下: 服务前面的段可以是https,也是可以http 如果没有路由映射 外网是访问不了 只能内网访问 Uri organizationUri = new Uri("http://192.168.1.101/MicrosoftDynamicCRM/XRMServices/2011/Organization.svc");
IServiceConfiguration<IOrganizationService> orgConfigInfo = ServiceConfigurationFactory.CreateConfiguration<IOrganizationService>(organizationUri);
var Orgcreds = new ClientCredentials();
Orgcreds.Windows.ClientCredential = new System.Net.NetworkCredential("administrator", "admiN123", "DynamicCRM.com");
OrganizationServiceProxy _serviceproxy = new OrganizationServiceProxy(orgConfigInfo, Orgcreds);
return (IOrganizationService)_serviceproxy; 这样子也可以: Uri orgServiceUri = new Uri(Config.CrmWebServiceUrl);
var credentials = new ClientCredentials();
credentials.Windows.ClientCredential = new System.Net.NetworkCredential(Config.CrmServerAccount, Config.CrmServerPSW, Config.CrmServerDomain);
OrganizationServiceProxy _serviceproxy = new OrganizationServiceProxy(orgServiceUri, null, credentials, null);
return (IOrganizationService)_serviceproxy;
4.返回多个实体
CRM4:
// Create a column set holding the names of the columns to be retrieved.
ColumnSet cols = new ColumnSet();
cols.Attributes = new string [] {"name", "accountid"}; // Create the query object.
QueryByAttribute query = new QueryByAttribute();
query.ColumnSet = cols;
query.EntityName = EntityName.account.ToString(); // The query will retrieve all accounts whose address1_city is Sammamish.
query.Attributes = new string [] {"address1_city"};
query.Values = new string [] {"Sammamish"}; // Execute the retrieval.
BusinessEntityCollection retrieved = service.RetrieveMultiple(query);
CRM2011:
方法一:
string fetchxml = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false' aggregate='true'>
<entity name='new_po_exp_detail'>
<attribute name='new_exp_amount' alias='new_exp_amount_sum' aggregate='sum' />
<attribute name='new_submit_amout' alias='new_submit_amout_sum' aggregate='sum' />
<attribute name='new_expense_category' alias='new_expense_category' groupby='true' />
<filter type='and'>
<condition attribute='statecode' operator='eq' value='0' />
</filter>
<link-entity name='new_po' from='new_poid' to='new_po_exp_detail' alias='ab'>
<filter type='and'>
<condition attribute='statecode' operator='eq' value='0' />
<condition attribute='new_po_status' operator='in'>
<value>5</value>
<value>7</value>
</condition>
<condition attribute='new_promotion_pe' operator='eq' value='" + new_promotion_peId + @"' />
</filter>
</link-entity>
</entity>
</fetch>";
EntityCollection entitycols = service.RetrieveMultiple(new FetchExpression(fetchxml));
方法二:
QueryByAttribute query = new QueryByAttribute("new_categorytate");
query.ColumnSet = new ColumnSet("new_categorytateid");
query.AddAttributeValue("statecode", );
query.AddAttributeValue("new_sn", new_sn);//产品品类编号
EntityCollection encols = service.RetrieveMultiple(query);
Dynamics CRM4.0 和 Dynamics CRM2011 Plugin 实现一样的功能的方法的比较的更多相关文章
- Microsoft Dynamics CRM4.0编程---说明
Introduction(说明) If your organization has customers, you need a software system to help you manage y ...
- Microsoft Dynamics CRM4.0 和 Microsoft Dynamics CRM 2011 JScript 方法对比
CRM 2011 如果需要再IE里面调试,可以按F12在前面加上contentIFrame,比如 contentIFrame.document.getElementById("字段" ...
- Microsoft Dynamics CRM4.0 JScript 过滤lookup 出现 Microsoft Dynamics CRM 窗口无法打开,可能已被弹出窗口阻止程序所阻止。
一.现象:JScript过滤lookup字段,选择lookup字段出现下图的情况: 出现:Microsoft Dynamics CRM 窗口无法打开,可能已被弹出窗口阻止程序所阻止.请将这台Micro ...
- Microsoft Dynamics CRM4.0 创建单据的时候,自动生成单据编号的通用方法
一.新建两个实体,具体如下: 单据流水号(new_maxbillcode) 显示名称 名称 类型 格式 最大长度 需求级别 IME模式 备注 名称 new_name nvarchar 文本 100 业 ...
- Dynamics CRM 4.0升级Dynamics CRM 2013后全局Ribbon的修改
最近在为一个客户在Dynamics CRM 4.0到Dynamics CRM 2013的升级,升级之后发现原来在Dynamics CRM 4.0中定义的全局Ribbon按钮像牛皮癣一样,在每个实体页面 ...
- Dynamics CRM9.0更新了Chrome后菜单按钮变形
前段时间Chorme更新后Dynamics CRM9.0的系统菜单样式变的很难看 具体修改方法如下: 找到Dynamics CRM安装目录C:\Program Files\Microsoft Dyna ...
- 转载文章:Windows Azure 基础结构服务上的 Microsoft Dynamics NAV 和 Microsoft Dynamics GP!
Windows Azure 基础结构服务(虚拟机和虚拟网络)可提供按需基础结构,该基础结构可进行伸缩以适应不断变化的业务需求.无论您是在虚拟机中创建新应用程序,还是运行现有应用程序,我们都将按分钟收费 ...
- Discuz 7.0版块横排显示版块图标和版块简介的方法
Discuz 7.0版块横排显示版块图标和版块简介的方法 最近很多朋友咨询Discuz论坛设置论坛版块横排后,如何设置显示版块图标和简介的问题. 一.显示板块图标 找到templates\defaul ...
- 转:JMeter监控内存及CPU ——plugin插件监控被测系统资源方法
JMeter监控内存及CPU ——plugin插件监控被测系统资源方法 jmeter中也可以监控服务器的CPU和内存使用情况,但是需要安装一些插件还需要在被监测服务器上开启服务. 1.需要的插件准备 ...
随机推荐
- URl中文转ASCII
编码 System.Web.HttpUtility.UrlEncode("中国", System.Text.Encoding.GetEncoding("GB2312&qu ...
- 第一个Sprint冲刺第五天
讨论成员:邵家文.李新.朱浩龙.陈俊金 讨论问题:掌握计时技术的知识 讨论地点:qq网络 进展:完成对功能的理解
- 动画(Animation) 、 高级动画(Core Animation)
1 演示UIImage制作的动画 1.1 问题 UIImage动画是IOS提供的最基本的动画,通常用于制作一些小型的动画,本案例使用UIImage制作一个小狗跑动的动画,如图-1所示: 图-1 1.2 ...
- 在用的vim插件
The-NERD-tree https://github.com/vim-scripts/The-NERD-tree 在vim中也可以有目录树的,如果要打开当前文件夹下的其他文件的话也可以很方便的进 ...
- Debian下安装Firefox与flash简介
Debian下安装Firefox与flash简介 由于Debian在Firefox的版权上出现了问题,导致官方发布的Debian系统不能使用默认的Firefox浏览器,最后官方重编的Firefox改名 ...
- web安全攻防-环境配置
1.安装虚拟机VMware Workstation12 PRO 2.在虚拟机上安装kali2.0 3.查看liunx的ip地址ifconfig 4.端口 协议 (1)RDP协议(桌面协议)3389端口 ...
- SPAdes
用后感: 拼个小基因组还好,对于很大的基因组,文库很多的,还是不要用了.服务器768G内存,都不够用.... 主页: http://bioinf.spbau.ru/spades 说明书: http:/ ...
- 解决SimpleCursorAdapter不能自动更新的问题
假设场景是这样的:你使用SimpleCursorAdapter显示数据,并监听数据的变化:在数据发生变化的时候,调用cursor的requery,期待UI显示也跟着变化. 但是,你可能会发现,UI并没 ...
- iOS学习笔记---oc语言第一天
第一讲 初始类和对象 c语言的超集,允许在oc中使用c语言源代码.编译器兼容c语言程序 具备完善的面向对象特性 包含一个运行时系统 类库丰富 面向对象编程 oop 面向对象语言:c++ java ...
- iOS学习笔记---C语言第三天
循环结构 : while循环 do...while循环(几乎不用) for循环(使用最多) 特点:在给定的条件成立时,反复执行某程序段,直到条件不成立为止. 给定的条件为循环条件,反复执行 ...