zoukankan      html  css  js  c++  java
  • 案例实体添加个人视图时候不能显示起源列怎么办?这么干!

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

    案例实体(逻辑名称incident)是Dynamics 365服务模块最重要的实体,没有之一。当我们在定制案例实体的时候,发现添加视图的时候无法将起源列(逻辑名称caseorigincode)添加显示,截图为证。

    但是如果你添加的是公共视图,是可以添加到起源列的,如图:

    这是神马情况?为什么这个列不让我添加进显示呢?我也不知道,向微软技术支持中心求助,找到了解决办法。

    添加个人视图的时候有些东西是有了的,比如默认显示的列,应该是以实体中querytype等于1且isdefault等于true的那个公共视图为模板来生成的,我用Web API来查看:https://demo.luoyong.me/api/data/v8.2/savedqueries?$filter=returnedtypecode eq 'incident' and isdefault eq true and querytype eq 1。默认返回的格式不好看,如下:

    使用Chrome浏览器按F12出来开发者工具,点击Network这个Tabpage,点击这个请求,看Preview这个TabPage,能看到返回Json数据的元素及其值。

    可以看到这个视图的layoutxml字段的值是:<grid name="resultset" object="112" jump="title" select="1" icon="1" preview="1"><row name="result" id="incidentid"><cell name="title" width="300" /><cell name="ticketnumber" width="150" /><cell name="createdon" width="150" /><cell name="caseorigincode" width="100" ishidden="1" /></row></grid> 。

    可以看到这个XML中name为caseorigincode的cell多了一个ishidden属性,且其值为1,也就是隐藏的意思。那如果把我这个属性值设置为false呢。因为这个是系统原生视图,在不同的环境中其savedqueryid都是一样的,都是00000000-0000-0000-00AA-000000666200,那我用如下的代码来更新下,当然更新后还需要发布案例这个实体才行。

    ClientCredentials cc = new ClientCredentials();
    cc.UserName.UserName = @"crmadmin@luoyong.me";
    cc.UserName.Password = "*********";
    using (OrganizationServiceProxy orgSvc = new OrganizationServiceProxy(new Uri("https://demo.luoyong.me/XRMServices/2011/Organization.svc"), null, cc, null))
    {
      var savedQuery = orgSvc.Retrieve("savedquery", Guid.Parse("00000000-0000-0000-00AA-000000666200"), new ColumnSet("layoutxml"));
      savedQuery["layoutxml"] = savedQuery.GetAttributeValue<string>("layoutxml").Replace("ishidden="1"", "ishidden="0"");
      orgSvc.Update(savedQuery);
    }

    这个时候再次创建个人视图,发现起源列已经显示了,如图:

    显示的效果如下:

     当然,除了本办法,还有就是根据现有显示起源列的公共视图来创建视图,也可以显示起源列,哪些公共视图显示了起源列呢,我用Web API来查看:https://demo.luoyong.me/api/data/v8.2/savedqueries?$filter=contains(fetchxml,'caseorigincode') and not contains(layoutxml,'ishidden') 。可以看到 我的可用案例 等13个公共视图是显示这个列的。

  • 相关阅读:
    博客搬家了,新域名dinphy.wang
    Win7 SP1 32位 旗舰版 IE8 快速稳定 纯净优化 无人值守 自动激活 20170518
    Win7 SP1 64位 旗舰版 IE8 快速稳定 纯净优化 无人值守 自动激活 20180604
    红米3 TWRP-3.2.1-0(android_7.1.2_r29) 刷8.1不提示错误 刷MIUI不再卡屏 修复无系统重启问题 更新于20180316
    SudaMod-81.0 / crDroidAndroid-8.1(android-8.1.0_r20)红米3 2018年5月3日更新
    windows 10专业版14393.447 64位纯净无广告版系统 基于官方稳定版1607制作 更新于20161112
    Deepin 15.5上安装 Node.js
    在github上搭建个人博客
    Deepin 系统下安装VMware并激活
    Windows 10 Version 1803 (Updated March 2018) MSDN 镜像下载
  • 原文地址:https://www.cnblogs.com/luoyong0201/p/how_to_display_caseorigincode_in_incident_view.html
Copyright © 2011-2022 走看看