首页 > 其他分享 >Dynamics 365 视图界面,通过分隔符实现批量查询数据(已知编号数组,直接复制到视图可以直接搜索)

Dynamics 365 视图界面,通过分隔符实现批量查询数据(已知编号数组,直接复制到视图可以直接搜索)

时间:2023-01-30 14:34:20浏览次数:47  
标签:复制到 InputParameters 视图 item context query Query Dynamics

效果:

 

 

源码实现:

public class test_RetrieveMultiple_pre : IPlugin {
        public void Execute(IServiceProvider serviceProvider) {
            //上下文
            IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
            //服务工厂
            IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
            //组织服务
            IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
            //管理员组织服务
            IOrganizationService serviceAdmin = serviceFactory.CreateOrganizationService(null);

            QueryExpression query = null;
            if (context.InputParameters.Contains("Query") && context.InputParameters["Query"] is QueryExpression) {
                query = (QueryExpression)context.InputParameters["Query"];
            }
            else if (context.InputParameters.Contains("Query") && context.InputParameters["Query"] is FetchExpression) {
                FetchExpression fetch = (FetchExpression)context.InputParameters["Query"];
                var conversionRequest = new FetchXmlToQueryExpressionRequest {
                    FetchXml = fetch.Query
                };
                var conversionResponse = (FetchXmlToQueryExpressionResponse)serviceAdmin.Execute(conversionRequest);

                query = conversionResponse.Query;
            }
            if (query == null) return;

            foreach (var item in query.Criteria.Conditions) {
                if (item.AttributeName.Contains("name")) {
                    //判断原有条件的符号是否是等于
                    if (item.Operator != ConditionOperator.Equal) return;
                    //拆分,根据空格拆分
                    string[] valueStr = item.Values.First().ToString().Split(' ');
                    //组装新条件
                    query.Criteria.AddCondition(item.AttributeName, ConditionOperator.In, valueStr);
                    //将原有条件移除
                    query.Criteria.Conditions.Remove(item);
                    break;
                }

            }
            context.InputParameters["Query"] = query;
        }
    }

 

标签:复制到,InputParameters,视图,item,context,query,Query,Dynamics
From: https://www.cnblogs.com/parkerchen/p/17075832.html

相关文章

  • 12.1 SQL Server视图
    SQLServer视图(Views)目录SQLServer视图(Views)简介视图的优点安全简单一致性创建视图示例创建一个简单视图重新定义视图使用聚合函数创建视图删除视图简介示例删除一个......
  • Dynamics CRM Online WebAPI
    创建应用1.登录https://portal.azure.com/#home2.选择AzureActiveDirectory3.在注册应用程序页面中输入应用程序的注册信息3.1添加应用程序3.2填写应用程序注册......
  • Dynamics 365 PDF功能
    前言关于PDF功能,好像老版本的CRM仅支持指定实体启用(本人没有用过老版本的CRM,入行以来实施的都是v9的了),现在新版本的CRM已经支持自定义实体启用PDF功能。使用该功能需要的......
  • 数据可视化大屏高德地图javascript webAPI开发的智慧治安物联网管理系统实战解析(web
    文章目录​​高德地图开发系列文章目录​​​​前言​​​​一、项目说明​​​​二、核心代码开发​​​​1.引入库​​​​2.构建DOM容器​​​​3.高德地图开发​​​​(1......
  • MySQL之视图
    视图什么是视图视图是一张虚表(建立在真实的table的基础之上,即视图的数据来源是对应的table).首先需要创建一张表,在表的基础上,指定的列映射成一个视图.就是一个SEL......
  • django rest_framework 视图api开发
     importjsonfromdjango.httpimportJsonResponsefromdjango.views.decorators.csrfimportcsrf_exemptfromdjango.viewsimportViewfromdjango.utils.decorator......
  • 学习笔记——springMVC中视图及视图解析器对象;视图控制器
    2023-01-20一、springMVC中视图及视图解析器对象1、视图解析器对象(ViewResolver)(1)概述:SpringMVC中所有视图解析器对象均实现ViewResolver接口(2)作用:使用ViewResolver,将Vi......
  • Cesium 二三维视图联动
    近期做了二三维视图联动,简单记录一下。主要功能就是同时开启二维和三维视图一起查看。大概思路就是新创建一个2D视图,将相机进行同步(其实部分资源也应该同步,不过这需要......
  • 【SLAM与多视图几何】【Fundamental Matrix】F矩阵代数推导详解
    核心图片详解两个视角同时看到了三维空间点中的X在两个视角中分别为二维点x、x'。e'认为是左边相机光心在右边的投影l'可能是对极直线?不过名称不重要重要的是e'和......
  • BI 可视化工具不只有视图,还有报表
    前言:对于市面上常见的BI可视化工具而言,如FineBI、观远BI、SmartBI、DataEase等,它们所提供的功能并不仅仅是局限于柱状图、折线图、地图、饼图、散点图、热力图等视图。......