Dynamics 365中的批量删除作业执行频率可以高于每天一次吗?

时间:2022-07-09 00:59:32

微软动态CRM专家罗勇 ,回复317或者20190314可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me 。

我先来做一个例子,登录Dynamics 365 Customer Engagement以后导航到 【设置】> 【数据管理】> 【批量删除记录】,点击【新建】按钮新建一个,如下,

Dynamics 365中的批量删除作业执行频率可以高于每天一次吗?

Dynamics 365中的批量删除作业执行频率可以高于每天一次吗?

可以看到我能选择的改批量删除任务执行的最高频率就是每天执行一次,如果我要更加频繁的执行频率呢?可以更改吗?根据官方文档 Recurrence pattern in asynchronous job execution 我来改改看。

待第一次运行完毕后,我用T-SQL看下这个作业,有两条记录,一条是父记录,也就是我定义的批量删除记录,另一个是运行一次后产生的记录,主要区别在于RecurrenceStartTime和RecurrencePattern字段有值,前面字段定义了什么时候开始,后面字段定义了执行频率。

Dynamics 365中的批量删除作业执行频率可以高于每天一次吗?

如何更改呢,很简单啊,就改RecurrencePattern字段和recurrencestarttime字段的值,为了方便大家执行,我这里用JavaScript调用Web API来查询和更改。

        var clientURL = Xrm.Page.context.getClientUrl();
var jobName = '删除一个月之前创建的已成功/失败/取消的系统作业';
var req = new XMLHttpRequest();
var jobId = "";
req.open("GET", encodeURI(clientURL + "/api/data/v9.0/asyncoperations?$select=asyncoperationid&$orderby=createdon asc&$filter=name eq '" + jobName + "' and recurrencepattern ne null&$top=1"), true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.onreadystatechange = function () {
if (this.readyState == 4) {
req.onreadystatechange = null;
if (this.status == 200) {
var responseJSON = JSON.parse(this.responseText);
if (responseJSON.value != null && responseJSON.value.length == 1) {
jobId = responseJSON.value[0].asyncoperationid;
req = new XMLHttpRequest();
req.open("PATCH", encodeURI(clientURL + "/api/data/v9.0/asyncoperations(" + jobId + ")"), true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
req.onreadystatechange = null;
if (this.status == 204) {
Xrm.Utility.alertDialog("Operation done successfully!");
}
else {
var error = JSON.parse(this.response).error;
Xrm.Utility.alertDialog("Error." + error.message);
}
}
};
var requestMsg = {};
requestMsg["recurrencepattern"] = "FREQ=HOURLY;INTERVAL=12;";
requestMsg["recurrencestarttime"] = new Date();
req.send(JSON.stringify(requestMsg));
}
else {
Xrm.Utility.alertDialog("Cann't find the recurrent job " + jobName);
}
}
else {
var error = JSON.parse(this.responseText).error;
Xrm.Utility.alertDialog("Error." + error.message);
}
}
};
req.send();

可以执行,但是报错Bulk Delete and Duplicate Detection recurrence must be specified as daily.,报错信息如下:

{
"error":{
"code":"0x8004d2a0",
"message":"Bulk Delete and Duplicate Detection recurrence must be specified as daily.",
"innererror":{
"message":"Bulk Delete and Duplicate Detection recurrence must be specified as daily.",
"type":"System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]",
"stacktrace":" at Microsoft.Crm.Extensibility.OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode, ExecutionContext executionContext)\r\n at Microsoft.Crm.Extensibility.OData.CrmODataExecutionContext.Upsert(Entity entity)\r\n at Microsoft.Crm.Extensibility.OData.CrmODataExecutionContext.Update(Entity entity, UpdateOption updateOption)\r\n at Microsoft.Crm.Extensibility.OData.CrmODataServiceDataProvider.UpdateEdmEntity(CrmODataExecutionContext context, String edmEntityName, String entityKeyValue, EdmEntityObject entityObject)\r\n at Microsoft.Crm.Extensibility.OData.EntityController.PatchEntityImplementation(String& entityName, String key, EdmEntityObject entityDelta)\r\n at Microsoft.PowerApps.CoreFramework.ActivityLoggerExtensions.Execute[TResult](ILogger logger, EventId eventId, ActivityType activityType, Func`1 func)\r\n at Microsoft.Xrm.Telemetry.XrmTelemetryExtensions.Execute[TResult](ILogger logger, XrmTelemetryActivityType activityType, Func`1 func)\r\n at lambda_method(Closure , Object , Object[] )\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()"
}
}
}

当然,不能改到更密集的话,也没有必要用代码来改动,界面上可以操作。导航到【设置】> 【数据管理】> 【批量删除记录】,选择【定期的批量删除系统作业】这个视图,打开要更改的批量删除作业

Dynamics 365中的批量删除作业执行频率可以高于每天一次吗?

点击【操作】 > 【修改定期项】

Dynamics 365中的批量删除作业执行频率可以高于每天一次吗?

做合适的设置就可以了,当然,如果想取消这个,将其设置为 【从不】就可以了。

Dynamics 365中的批量删除作业执行频率可以高于每天一次吗?

Dynamics 365中的批量删除作业执行频率可以高于每天一次吗?的更多相关文章

  1. 自定义工作流活动报错:您无法登陆系统。原因可能是您的用户记录或您所属的业务部门在Microsoft Dynamics 365中已被禁用。

    本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复265或者20170926可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  2. Dynamics 365工作流报错:您无法登陆系统。原因可能是您的用户记录或您所属的业务部门在Microsoft Dynamics 365中已被禁用。

    本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复265或者20170926可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  3. Dynamics 365中开发和注册插件介绍

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  4. 将Dynamics 365中的用户及其角色、角色导出到Excel中

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复240或者20161204可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  5. Dynamics 365中的应用程序介绍

    本人微信和易信公众号:微软动态CRM专家罗勇 ,回复275或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  6. Dynamics 365中配置和使用文件夹级别的跟踪&lpar;folder-level tracking&rpar;

    本人微信和易信公众号:微软动态CRM专家罗勇 ,回复274或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  7. Rails中实现批量删除

    在Rails生成的控制器模版中,包含的destroy只能处理单个对象,而批量删除要求能够同时处理多个对象,这需要自定义一个批量操作action.批量删除的效果图如下:

  8. Dynamics 365中的事件框架与事件执行管道(Event execution pipeline)

    本文介绍了Microsoft Dynamics 365(以下简称D365)中的两个概念,事件框架(Event Framework)与事件执行管道(Event execution pipeline). ...

  9. Dynamics 365中的公告&lpar;Post&rpar;分析

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

随机推荐

  1. 搭建web框架手册(一)

    昨天听完永康对EASYUI的介绍后终于明白了优秀的UI框架就是第一生产力,过去自己一直沉浸在后端代码中,完全忽视了前端的生产力交互,总觉得界面漂亮就是生产力,其实大错特错,真正的具有高效生产力的界面其 ...

  2. label的for属性

    一.使用介绍 <label>专为input元素服务,为其定义标记. for属性规定label与哪个表单元素绑定 label和表单控件绑定方式又两种: 1.将表单控件作为label的内容,这 ...

  3. Linux脚本

    放置在/usr/local/sbin下面: 收到一个问题:"-bash XXX 没有权限":需要在此目录下执行chmod +x filename 收到一个问题:"-bas ...

  4. 第七章&&num;183&semi; Redis Cluster 核心技术

    Redis Cluster 分布式集群 Redis Cluster 安装部署 Redis Cluster 集群管理操作(核心)

  5. MT【211】保序同构

    设$S,T$是$R$的两个非空子集,如果存在一个从$S$到$T$的函数$y=f(x)$满足:$1)T=\{f(x)|x\in S\};$2)对任意$x_1,x_2\in S$,当$x_1<x_2 ...

  6. http与https的区别以及https如何保证数据传输安全

    http是应用层协议,它会将要传输的数据以明文的方式给传输层,这样显然不安全.https则是在应用层与传输层之间又加了一层,该层遵守SSL/TLS协议,用于数据加密. **加密的方式有两种: 对称加密 ...

  7. 统计python文件中的代码&comma;注释&comma;空白对应的行数

    其实代码和空白行很好统计,难点是注释行 python中的注释分为以#开头的单行注释 或者以'''开头以'''结尾 或以"""开头以"""结尾 ...

  8. 【redis中键的生存时间(expire) 】

    1.redis中可以使用expire命令设置一个键的生存时间,到时间后redis会自动删除它      expire      设置生存时间(单位/秒)      pexpire    设置生存时间( ...

  9. quartusII13&period;0使用教程

    1.新建工程项目,填写项目存储路径和工程名,不要出现中文路径 2.添加已存在文件(可选),在[File name]下选择已经存在的工程项目,利用[Add]或[Add all]命令添加文件到新工程,点击 ...

  10. aspectj 与 spring 自定义注解

    ** * ErrorCode: * * @author yangzhenlong * @since 2016/7/21 */ @Target({ElementType.METHOD}) @Retent ...