多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > Dynamics 365Online 通過插件中的retrievemultiple消息來過濾產品視圖

Dynamics 365Online 通過插件中的retrievemultiple消息來過濾產品視圖

來源:程序員人生   發布時間:2018-06-11 17:10:05 閱讀次數:10897次

      本篇中要講的是對產品視圖基于某個條件進行過濾顯示,而手段就是通過插件中的retrievemultiple消息,可能很多人都寫過對它都不陌生。

    先來看張插件注冊的截圖,插件的message是retrievemultiple,對應的實體我這里用的是product(為何用它是由于它特殊,由于它特殊才有了本篇博文),事件是pre-operation(這個很好理解,在展現數據之前就要過濾好,1定是pre中的操作了)


     之前寫的代碼是這樣的,判斷InputParameters是否是query,然后再判斷query的實體是否是產品,再進行邏輯處理

if (context.InputParameters.Contains("Query") && context.InputParameters["Query"] is QueryExpression)
                {
                    QueryExpression query = (QueryExpression)context.InputParameters["Query"];
                    
                    if (query.EntityName == "product")
                    {
                        //邏輯處理
                    }
                }
     但在365online(2016on-premises也是一樣的問題)中死活不行,然后斷點調了下發現query.EntityName中竟然沒有product了,調試下來發現取到的都是下面這些鬼

email

queue

solution

savedquery

systemuserroles

rb_userroleviewconfiguration

rb_roleviewconfiguration

userquery 
    很奇怪,product去哪了,不用QueryExpression篩數據那用甚么篩啊,我們把問題往前推到第1個if,看下面這張截圖,你會發現尼瑪變FetchExpression了而不是QueryExpression,所以第1個if都沒進怎樣可能進第2個if呢



      我嘗試的實體不多,目前發現的產品、客戶、聯系人都是這類情況,自定義的實體用QueryExpression都ok的,1開始猜想是否是系統實體都改FetchExpression挑選了,但嘗試了報價單的視圖用QueryExpression過濾是可以的,有時間得好好查查資料看看甚么個情況,如果有人了解其中緣由的也歡迎分享。

    下面奉上FetchExpression的代碼,這里用到了FetchExpression和QueryExpression之間的相互轉化

 if (context.InputParameters["Query"] is FetchExpression)
                {
                    FetchExpression fetch = (FetchExpression)context.InputParameters["Query"];
                    var conversionRequest = new FetchXmlToQueryExpressionRequest
                    {
                        FetchXml = fetch.Query
                    };
                    var conversionResponse =
                        (FetchXmlToQueryExpressionResponse)service.Execute(conversionRequest);

                    // Use the newly converted query expression to make a retrieve multiple
                    // request to Microsoft Dynamics CRM.
                    query = conversionResponse.Query;
                    if (query.EntityName == "product" && context.Depth == 1)
                    {
                        //邏輯
                    }
                    // Convert the query expression to FetchXML.
                    var converRequest = new QueryExpressionToFetchXmlRequest
                    {
                        Query = query
                    };
                    var converResponse =
                        (QueryExpressionToFetchXmlResponse)service.Execute(converRequest);

                    // Use the converted query to make a retrieve multiple request to Microsoft Dynamics CRM.
                    String fetchXml = converResponse.FetchXml;
                    fetch.Query = fetchXml;
                }
 FetchExpression和QueryExpression之間的相互轉化的msdn示例:

 https://msdn.microsoft.com/zh-cn/library/hh547457.aspx

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日本一区二区三区欧美在线观看 | 午夜精品同性女女 | 欧美孕交videofree巨大 | 亚洲国产高清一区二区三区 | 亚洲第一天堂 | 中文字幕免费在线看 | 国产成人免费a在线资源 | 波多野结衣四虎 | 午夜性a一级毛片 | 欧美xxxvideo | 国产最新精品视频 | 最近手机中文字幕高清1 | 久久精品视频7 | 日本特交大片免费观看 | 亚洲国产激情在线一区 | 久久毛片久久毛 | 免费人成激情视频在线观看冫 | 欧美午夜理伦三级在线观看 | 国产精品亚洲欧美一级久久精品 | 欧美精品18videos性欧美 | 国产一区二区在线免费观看 | 午夜久久久久久久 | 国产精品2 | 黑人操大逼 | 性生活免费视频网站 | 国产成人一区二区在线不卡 | 福利一区二区三区视频午夜观看 | 91精品一区二区三区在线播放 | 成人在激情在线视频 | 亚洲精品久久久久影院 | h视频免费在线观看 | 成人在线视频一区 | 中文伊人 | 国产高清在线精品一区在线 | 中文字幕在线播放量 | 亚洲精品福利网站 | 色爱区综合 | 欧美妇色 | 亚洲综合网站 | 国产伦精品一区二区三区在线观看 | 狠狠干天天爱 |