{"id":582,"date":"2011-10-04T07:49:53","date_gmt":"2011-10-04T07:49:53","guid":{"rendered":"http:\/\/mahenderpal.wordpress.com\/?p=582"},"modified":"2011-10-04T07:49:53","modified_gmt":"2011-10-04T07:49:53","slug":"create-custom-filtered-lookup-to-filter-records-based-on-start-and-end-date-in-ms-crm-2011","status":"publish","type":"post","link":"https:\/\/himbap.com\/blog\/?p=582","title":{"rendered":"Create custom filtered lookup to filter records based on start and end date in ms crm 2011"},"content":{"rendered":"<blockquote><p>MS CRM 2011 provides us facility to create\u00a0custom filtered lookup on the fly. So in this post I am going to explain how we can create a custom filtered lookup based on start and end date. Let say we have two entities Entity A and Entity B, having relationship N:1 (A:B) and entity A have two attributes start Date and End Date\u00a0 and Entity B have a issuedate field.\u00a0you can below code to\u00a0create a custom filter lookup view at runtime to show only issuedate between Start Date and End Date.<\/p>\n<p>function SetFilterLookuValues(StrtDate,EndDate) {<\/p>\n<p>&nbsp;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/formate date<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 StartDate = SDate.getFullYear();<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var M = (parseInt(SDate.getMonth()) + 1);<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 StartDate = StartDate + &#8220;-&#8221; + (M &lt; 10) ? &#8216;0&#8217; + M : M;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 StartDate = StartDate + &#8220;-&#8221; + SDate.getDate();<\/p>\n<p>&nbsp;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var EDate = new Date(EndDate);<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 M = (parseInt(EDate.getMonth()) + 1);<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 EndDate = EDate.getFullYear();<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 EndDate = EndDate + &#8220;-&#8221; + (M &lt; 10) ? &#8216;0&#8217; + M : M;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 EndDate = EndDate + &#8220;-&#8221; + EDate.getDate();<\/p>\n<p>&nbsp;<\/p>\n<p>var viewId = &#8220;{65EC9B45-EE81-4F89-BAF6-E8603FF8E1E4}&#8221;; \/\/Give a unique GUID to view ID<\/p>\n<p>var entityName = &#8220;EntityB&#8221;; \/\/Name of the entity for lookup filter<\/p>\n<p>var viewDisplayName = &#8220;Give View Name Here&#8221;;<\/p>\n<p>\/\/Write Fetchxml to fetch data<\/p>\n<p>&nbsp;<\/p>\n<p>var fetchXml = &#8220;&lt;fetch distinct=&#8217;true&#8217; mapping=&#8217;logical&#8217;<\/p>\n<p>output-format=&#8217;xml-platform&#8217; version=&#8217;1.0&#8242;&gt;&#8221; +<\/p>\n<p>&#8220;&lt;entity name=&#8217;EntityB &gt;&#8221; + \/\/change entity name here<\/p>\n<p>&#8220;&lt;attribute name=&#8217;EntityBid&#8217;\/&gt;&#8221; + \/\/change with id attribute (key field)<\/p>\n<p>&#8220;&lt;attribute name=&#8217;name&#8217;\/&gt;&#8221; +<\/p>\n<p>&#8220;&lt;order descending=&#8217;false&#8217; attribute=&#8217;name&#8217;\/&gt;&#8221; +<\/p>\n<p>&#8220;&lt;filter type=&#8217;and&#8217;&gt;&#8221; +<\/p>\n<p>\/\/put filter condition here<\/p>\n<p>&#8220;&lt;condition attribute=&#8217;issuedate&#8217; value='&#8221; + StartDate + &#8220;&#8216; operator=&#8217;ge&#8217;\/&gt;&#8221; +<\/p>\n<p>&#8220;&lt;condition attribute=&#8217;issuedate&#8217; value='&#8221; + EndDate + &#8220;&#8216; operator=&#8217;le&#8217;\/&gt;&#8221; +<\/p>\n<p>&#8220;&lt;\/filter&gt; &lt;\/entity&gt; &lt;\/fetch&gt;&#8221;;<\/p>\n<p>\/\/build grid layout for the custom view<\/p>\n<p>var layoutXml = &#8220;&lt;grid name=&#8217;resultset&#8217; &#8221; +<\/p>\n<p>\u00a0 &#8220;object=&#8217;1&#8242; &#8221; +<\/p>\n<p>\u00a0 &#8220;jump=&#8217;name&#8217; &#8221; +<\/p>\n<p>\u00a0 &#8220;select=&#8217;1&#8242; &#8221; +<\/p>\n<p>\u00a0 &#8220;icon=&#8217;1&#8242; &#8221; +<\/p>\n<p>\u00a0 &#8220;preview=&#8217;1&#8242;&gt;&#8221; +<\/p>\n<p>\u00a0 &#8220;&lt;row name=&#8217;result&#8217; &#8221; +<\/p>\n<p>\u00a0 &#8220;id=\u2019EntityBid\u2019&gt;&#8221; + \/\/id(key) attribute from entityB<\/p>\n<p>\u00a0&#8220;&lt;cell name=&#8217;name&#8217; &#8221; +<\/p>\n<p>\u00a0 &#8220;width=&#8217;300&#8242; \/&gt;&#8221; +<\/p>\n<p>\u00a0 &#8220;&lt;\/row&gt;&#8221; +<\/p>\n<p>\u00a0 &#8220;&lt;\/grid&gt;&#8221;;<\/p>\n<p>&nbsp;<\/p>\n<p>\u00a0\/\/add new view view<\/p>\n<p>Xrm.Page.getControl(&#8220;LookupfieldName&#8221;).addCustomView(viewId, entityName, viewDisplayName, fetchXml, layoutXml, true);<\/p>\n<p>\u00a0\u00a0\u00a0 }<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p><\/blockquote>\n<p>}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MS CRM 2011 provides us facility to create\u00a0custom filtered lookup on the fly. So in this post I am going to explain how we can create a custom filtered lookup based on start and end date. Let say we have two entities Entity A and Entity B, having relationship N:1 (A:B) and entity A have two attributes start Date and&#8230; <a href=\"https:\/\/himbap.com\/blog\/?p=582\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/582"}],"collection":[{"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=582"}],"version-history":[{"count":0,"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/582\/revisions"}],"wp:attachment":[{"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=582"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=582"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=582"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}