Dynamics CRM中的操作(action)是否是一个事务(transaction)?



然后激活这个操作,这样我们就可以调用这个操作了。

static void Main(string[] args)
{
var service = GetOrganizationService();
var whoAmIReq = new WhoAmIRequest();
var whoAmIResp = service.Execute(whoAmIReq) as WhoAmIResponse;
OrganizationRequest req = new OrganizationRequest("new_TestAction");
req["AccountName1"] = "测试创建的客户一";
req["AccountName2"] = "测试创建的客户二";
req["Target"] = new EntityReference("systemuser", whoAmIResp.UserId);
service.Execute(req);
Console.WriteLine("程序运行完成!");
Console.ReadKey();
}







public sealed class GetNoteContent : CodeActivity
{
[RequiredArgument]
[Input("要添加附件的客户")]
[ReferenceTarget("account")]
public InArgument<EntityReference> InAccount { get; set; } protected override void Execute(CodeActivityContext executionContext)
{
IOrganizationServiceFactory serviceFactory = executionContext.GetExtension<IOrganizationServiceFactory>();
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId); try
{
// TODO: Implement your custom Workflow business logic.
using (WebClient client = new WebClient())
{
byte[] responseBytes = client.DownloadData(@"http://www.luoyong.me/GetAnnotationDocument.ashx?AnnotationId=B39F0691-C377-E511-80ED-000D3A800514");
var annotationEntity = new Entity("annotation");
annotationEntity["documentbody"] = Convert.ToBase64String(responseBytes);
annotationEntity["subject"] = "微软MVP罗勇用代码增加的带附件的注释标题";
annotationEntity["notetext"] = "微软MVP罗勇用代码增加的带附件的注释内容";
annotationEntity["filename"] = "附件.pdf";
annotationEntity["mimetype"] = "application/pdf";
annotationEntity["isdocument"] = true;
annotationEntity["objectid"] = InAccount.Get(executionContext);
service.Create(annotationEntity);
}
}
catch (FaultException<OrganizationServiceFault> e)
{
tracingService.Trace("Exception: {0}", e.ToString()); // Handle the exception.
throw;
} tracingService.Trace("Exiting GetNoteContent.Execute(), Correlation Id: {0}", context.CorrelationId);
}
}


正常的能成功,我就稍微修改下自定义工作流活动的代码,故意把URL搞错,然后测试,抛出了如下异常:


如果我将操作的 启用回滚 选项去掉,然后激活测试结果如下,可以看到客户创建了,但是附件没有创建。






Dynamics CRM中的操作(action)是否是一个事务(transaction)?的更多相关文章
- Dyanmics CRM您无法登陆系统。原因可能是您的用户记录或所属的业务部门在Microoft Dynamics CRM中已被禁用
当在操作CRM时,做不论什么的写操作包含创建数据.更新数据.都会提示以下截图中的错误:"您无法登陆系统.原因可能是您的用户记录或所属的业务部门在Microoft Dynamics CRM中已 ...
- Dynamics CRM中一个查找字段引发的【血案】
摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复267或者20180311可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...
- 在Dynamics CRM中使用Bootstrap
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 在Dynamics CRM中自定义一个通用的查看编辑注释页面
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复162或者20151016可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 注释在CRM中的显示是比较特别, ...
- Dynamics CRM中的地址知多D?
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复169或者20151105可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! CRM中的地址以前不是很了解,定 ...
- Dynamics CRM中的注释(Note)及RollupRequest消息初探
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复161或者20151015可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 注释,这个实体的架构名称是Ann ...
- Dynamics CRM 中Web API中的深度创建(Deep Insert)
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 您无法登陆系统。原因可能是您的用户记录或所属的业务部门在Microoft Dynamics CRM中已被禁用
问题发生在CRM 4.0 上 1 用户所在办事处及办事处上级被禁用. 2 如果已经重新启用了,还是报这个错误. 可以把停用的办事处及相关下级再重新--停用--启用一次试试. 3 如果还是报错,查看是否 ...
- Microsoft Dynamics CRM 2011 JS操作集锦
1.Xrm.Page.context 用户ID:getUserId() 用户角色:getUserRoles() 用户语言:getUserLcid() 组织名称:getOrgUniqueName() 组 ...
随机推荐
- 【Luogu P3994】高速公路
Problem Background \(C\) 国拥有一张四通八达的高速公路网树,其中有 \(n\) 个城市,城市之间由一共 \(n-1\) 条高速公路连接.除了首都 \(1\) 号城市,每个城市都 ...
- three.js实现土星绕太阳体系
概况如下: 1.SphereGeometry实现自转的太阳,土星: 2.RingGeometry实现土星公转轨道: 3.ImageUtils加载球体贴图: 4.canvas中createRadialG ...
- JMeter压测“java.net.SocketException: Socket closed”解决方法
报错详情: java.net.SocketException: Socket closed at java.net.SocketInputStream.socketRead0(Native Metho ...
- 2018最新cocoapods详细安装和使用
1查看当前终端里存在的源 终端输入:$ gem sources -l2移除淘宝镜像 $ gem sources --remove https://rubygems.org/ 3装上目前能用的源 终端输 ...
- 通过官网模板轻松实现Grafana的可视化界面配置(以MySQL监控项为例)
我们知道可视化是监控的一个重要环节,所以往往我们这个环节花费大量的时间和精力.可是如果可以借鉴前辈的经验和成果,可以事半功倍.Grafana 有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编 ...
- 手机号码生成器app,手机上用的
手机号码生成器app,在日常的工作中可能会用到,它是用来找客人用的,不是生成了拿来做手机卡使用的,可能很多人会误解他的功能. 其实他的操作并不复杂,大体分为三步. 第一步,选择省份城市比如我们选择了甘 ...
- React 中this.setStat是批量执行的, 它发现做三次是多余的,所以只执行一次
16==> this.setStat是批量执行的 它发现做三次是多余的,所以只执行一次 import React, { Component } from "react"; e ...
- Less(1)
1.先判断注入类型 (1)首先看到要求,要求传一个ID参数,并且要求是数字型的:?id=1 (2)再输入?id=1' 发现报错 (3)输入?id=1'' 单引号报错,双引号正常显示,判断是字符型注入: ...
- 【西北师大-2108Java】期中成绩汇总
[西北师大-2108Java]期中成绩汇总 作业成绩 2018软件工程 得分排行 千帆竞发图 得分明细 学号 博客 博客 总分 201571030325 325 60 201571030332 htt ...
- poj 2456 Aggressive cows 二分 题解《挑战程序设计竞赛》
地址 http://poj.org/problem?id=2456 解法 使用二分逐个尝试间隔距离 能否满足要求 检验是否满足要求的函数 使用的思想是贪心 第一个点放一头牛 后面大于等于尝试的距离才放 ...