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个公共视图是显示这个列的。

  • 相关阅读:
    ArcGIS Server JavaScript API 各命名空间的含义【转】
    python datetime 转timestamp
    python re 里面match 和search的区别
    django 两种创建模型实例的方法
    delete old data in elasticsearch
    iptables做nat网络地址转换
    zabbix trapper items
    pssh远程执行命令的利器
    gentoo 下安装lamp
    xshell密钥登录服务器
  • 原文地址:https://www.cnblogs.com/luoyong0201/p/how_to_display_caseorigincode_in_incident_view.html
Copyright © 2011-2022 走看看