{"id":25836,"date":"2020-11-27T10:38:06","date_gmt":"2020-11-27T10:38:06","guid":{"rendered":"https:\/\/www.inogic.com\/blog\/?p=25836"},"modified":"2021-03-06T10:05:52","modified_gmt":"2021-03-06T10:05:52","slug":"how-to-add-an-existing-record-into-a-subgrid-in-dynamics-365-crm-using-easyrepro","status":"publish","type":"post","link":"https:\/\/www.inogic.com\/blog\/2020\/11\/how-to-add-an-existing-record-into-a-subgrid-in-dynamics-365-crm-using-easyrepro\/","title":{"rendered":"How to Add an Existing Record into a Subgrid in Dynamics 365 CRM Using EasyRepro"},"content":{"rendered":"<h1><strong>Introduction<\/strong><\/h1>\n<p style=\"text-align: justify;\">EasyRepro provides automatic testing in Dynamics 365 CRM. It also gives the power to interact with Subgrid of Dynamics 365 CRM. However, it carries some limitations along with its benefits, like adding an existing record in the Subgrid, which we are going to cover up in this blog.<\/p>\n<p style=\"text-align: justify;\">We will show you a generic method to add an existing record in any Subgrid of both one to many relationships and many to many relationships in Dynamics 365 CRM.<\/p>\n<p><a href=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-1.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter wp-image-25837 size-full\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-1.png\" alt=\"How to Add an Existing Record into a Subgrid in Dynamics 365 CRM Using EasyRepro\" width=\"377\" height=\"343\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-1.png 377w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-1-300x273.png 300w\" sizes=\"(max-width: 377px) 100vw, 377px\" \/><\/a><\/p>\n<p><strong>Scenario<\/strong><\/p>\n<p style=\"text-align: justify;\">Let us take a scenario on the Account record where we need to add an existing contact in the Contacts Subgrid. For this, we will call our generic function:<\/p>\n<p><strong>AddExistingRecord(client, xrmApp, &#8220;Contact&#8221;, &#8220;Contacts&#8221;, &#8220;Mike Ross&#8221;);<\/strong><\/p>\n<p><strong><em>Note: The xrmApp and client are XrmApp and WebClient respectively, which are both classes of EasyRepro.<\/em><\/strong><\/p>\n<p style=\"text-align: justify;\">The third parameter is to display the name of the entity of Subgrid, which will be used to get the Overflow and Add Existing buttons. Now, moving on to the fourth parameter, which is the Subgrid name. If you do not know the Subgrid name, you can check in the form, or else you can also quickly check it in the dev tools. As shown below, in the attribute data-id with the value <strong>\u2018dataSetRoot_Contacts\u2019<\/strong>, remove <strong>\u2018dataSetRoot_\u2019<\/strong> and what remains <strong>(Contacts) <\/strong>is the Subgrid name.<\/p>\n<p><a href=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-2.png\"><img decoding=\"async\" class=\"aligncenter wp-image-25838 size-full\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-2.png\" alt=\"How to Add an Existing Record into a Subgrid in Dynamics 365 CRM Using EasyRepro\" width=\"908\" height=\"374\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-2.png 908w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-2-300x124.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-2-768x316.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-2-660x272.png 660w\" sizes=\"(max-width: 908px) 100vw, 908px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">After calling our function, it will search for Add Existing button on the Subgrid and click on it, following with the input of the record name in the search box and adding it on the Subgrid along with the Add button.<\/p>\n<p style=\"text-align: justify;\">Now, let us understand our generic method in the below steps.<\/p>\n<p><strong>Step 1:<\/strong><\/p>\n<p style=\"text-align: justify;\">Staying on the current window is necessary to find the elements. The below code will make sure that we are on the current window where the Subgrid is present.<\/p>\n<p><strong>var xrmBrowser = client.Browser;<\/strong><\/p>\n<p><strong>var win = xrmBrowser.Driver.SwitchTo().Window(xrmBrowser.Driver.CurrentWindowHandle);<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 xrmApp.ThinkTime(2000);<\/strong><\/p>\n<p><strong>Step 2:<\/strong><\/p>\n<p style=\"text-align: justify;\">In this step, we will check whether the button is on the command bar of the Subgrid. If it is there then it will use the SubGrid. ClickCommand method to click on the Add Existing button.<\/p>\n<p><strong>if (win.HasElement(By.XPath(&#8220;\/\/button[@aria-label=&#8217;Add Existing &#8221; +entityDisplayName + &#8220;&#8216;]&#8221;))){<\/strong><\/p>\n<p><strong>xrmApp.Entity.SubGrid.ClickCommand(subgridName, &#8220;Add Existing &#8221; + entityDisplayName, null, null);<\/strong><\/p>\n<p><strong>}<\/strong><\/p>\n<p><strong>Step 3:<\/strong><\/p>\n<p style=\"text-align: justify;\">However, if not found then it means it is under the Overflow button. So, next, it will find that Overflow button by using XPath and click on it to show the buttons underneath. Now we can find the Add Existing Button from the list of buttons present under the more commands. And when we get to our Add Existing button, it will click on it, which will open a Lookup dialog box.<\/p>\n<p><strong>else<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0 {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0 var moreCommandbar = win.HasElement(By.XPath(&#8220;\/\/button[@title=&#8217;More commands for &#8221; + entityDisplayName + &#8220;&#8216;]&#8221;)) ?<\/strong><\/p>\n<p><strong>win.FindElement(By.XPath(&#8220;\/\/button[@title=&#8217;More commands for &#8221; + entityDisplayName + &#8220;&#8216;]&#8221;)): null;<\/strong><\/p>\n<p><strong>if (moreCommandbar != null)<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0 {<\/strong><\/p>\n<p><strong>\u00a0\u00a0 \u00a0\u00a0moreCommandbar.Click();<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0 xrmApp.ThinkTime(2000);<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0 var button = win.HasElement(By.XPath(&#8220;\/\/*[@aria-label=&#8217;Add Existing &#8221; + entityDisplayName + &#8220;&#8216;]&#8221;)) ?<\/strong><\/p>\n<p><strong>win.FindElement(By.XPath(&#8220;\/\/*[@aria-label=&#8217;Add Existing &#8221; + entityDisplayName + &#8220;&#8216;]&#8221;)) : null;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0 if (button == null)<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Assert.Fail(&#8220;Add Existing &#8221; + entityDisplayName + &#8221; button was not found&#8221;);<\/strong><\/p>\n<p><strong>else if (button != null)<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 button.Click();<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0 }<\/strong><\/p>\n<p><strong>else<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0 Assert.Fail(&#8220;Overflow button was not found&#8221;);<\/strong><\/p>\n<p><strong>}<\/strong><\/p>\n<p><strong>xrmApp.ThinkTime(2000);<\/strong><\/p>\n<p><strong>Step 4:<\/strong><\/p>\n<p style=\"text-align: justify;\">Here we will find the search text box to input our record name with SendKeys method, which in our case is Mike Ross.<\/p>\n<p><a href=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-3.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-25839\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-3.png\" alt=\"How to Add an Existing Record into a Subgrid in Dynamics 365 CRM Using EasyRepro\" width=\"938\" height=\"132\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-3.png 938w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-3-300x42.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-3-768x108.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-3-660x93.png 660w\" sizes=\"(max-width: 938px) 100vw, 938px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">As shown below, the record will be set in the <strong>\u2018Look for Records\u2019<\/strong> text box.<\/p>\n<p><a href=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-4.png\"><img decoding=\"async\" class=\"aligncenter wp-image-25840 \" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-4.png\" alt=\"How to Add an Existing Record into a Subgrid in Dynamics 365 CRM Using EasyRepro\" width=\"402\" height=\"607\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-4.png 645w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-4-199x300.png 199w\" sizes=\"(max-width: 402px) 100vw, 402px\" \/><\/a><\/p>\n<p>After we input our record name, it will give us the list which will have our record as the only available option making it easy to select that option and add it with the help of the Add button as shown in the below image.<\/p>\n<p><a href=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-5.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-25841\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-5.png\" alt=\"How to Add an Existing Record into a Subgrid in Dynamics 365 CRM Using EasyRepro\" width=\"402\" height=\"601\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-5.png 402w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-5-201x300.png 201w\" sizes=\"(max-width: 402px) 100vw, 402px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Finally, our record is added to the Subgrid.<\/p>\n<p><a href=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-6.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-25842\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-6.png\" alt=\"How to Add an Existing Record into a Subgrid in Dynamics 365 CRM Using EasyRepro\" width=\"343\" height=\"283\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-6.png 343w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-6-300x248.png 300w\" sizes=\"(max-width: 343px) 100vw, 343px\" \/><\/a><\/p>\n<p><u>Given below is the complete function to add existing item into Subgrid:<\/u><\/p>\n<p><strong>private void AddExistingRecord(WebClient client, XrmApp xrmApp, string entityDisplayName, string subgridName, string recordName)<\/strong><\/p>\n<p><strong>{<\/strong><\/p>\n<p><strong>\u00a0 try<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0 {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0 var xrmBrowser = client.Browser;<\/strong><\/p>\n<p><strong>var win = xrmBrowser.Driver.SwitchTo().Window(xrmBrowser.Driver.CurrentWindowHandle);<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0 xrmApp.ThinkTime(2000);<\/strong><\/p>\n<p><strong><em>\/\/Find Add Existing Button on the Subgrid command bar<\/em><\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if (win.HasElement(By.XPath(&#8220;\/\/button[@aria-label=&#8217;Add Existing &#8221; + entityDisplayName + &#8220;&#8216;]&#8221;)))<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 xrmApp.Entity.SubGrid.ClickCommand(subgridName, &#8220;Add Existing &#8221; + entityDisplayName, null, null);<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 else{<\/strong><\/p>\n<p><strong><em>\/\/If not found search for Overflow button<\/em><\/strong><\/p>\n<p><strong>var moreCommandbar = win.HasElement(By.XPath(&#8220;\/\/button[@title=&#8217;More commands for &#8221; + entityDisplayName + &#8220;&#8216;]&#8221;)) ?<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 win.FindElement(By.XPath(&#8220;\/\/button[@title=&#8217;More commands for &#8221; + entityDisplayName + &#8220;&#8216;]&#8221;))<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : null;<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if (moreCommandbar != null){<\/strong><\/p>\n<p><strong><em>\/\/If we get Overflow button Click on it<\/em><\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0moreCommandbar.Click();<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 xrmApp.ThinkTime(2000);<\/strong><\/p>\n<p><strong><em>\/\/Find Add Existing Button under the more commands button list<\/em><\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var button = win.HasElement(By.XPath(&#8220;\/\/*[@aria-label=&#8217;Add Existing &#8221; + entityDisplayName + &#8220;&#8216;]&#8221;)) ?win.FindElement(By.XPath(&#8220;\/\/*[@aria-label=&#8217;Add Existing &#8221; + entityDisplayName + &#8220;&#8216;]&#8221;)) : null;<\/strong><\/p>\n<p><strong><em>\/\/If not found throw error<\/em><\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if (button == null)<\/strong><\/p>\n<p><strong>Assert.Fail(&#8220;Add Existing &#8221; + entityDisplayName + &#8221; button was not found&#8221;);<\/strong><\/p>\n<p><strong><em>\/\/If found then click<\/em><\/strong><\/p>\n<p><strong>else if (button != null)<\/strong><\/p>\n<p><strong>button.Click();<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 else<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Assert.Fail(&#8220;Overflow button was not found&#8221;);<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/strong><\/p>\n<p><strong>xrmApp.ThinkTime(2000);<\/strong><\/p>\n<p><strong>\/\/Search text box and add input<\/strong><\/p>\n<p><strong>win.FindElement(By.XPath(&#8220;\/\/input[@role=&#8217;searchbox&#8217;]&#8221;)).SendKeys(recordName);<\/strong><\/p>\n<p><strong>xrmApp.ThinkTime(2000);<\/strong><\/p>\n<p><strong>\/\/Search and Click on the record from the list<\/strong><\/p>\n<p><strong>win.FindElement(By.XPath(&#8220;\/\/li[contains(@aria-label,'&#8221; + recordName + &#8220;&#8216;)]&#8221;)).Click();<\/strong><\/p>\n<p><strong>\/\/Click on Add button to add the record<\/strong><\/p>\n<p><strong>win.FindElement(By.XPath(&#8220;\/\/button[@aria-label=&#8217;Add&#8217;]&#8221;)).Click();<\/strong><\/p>\n<p><strong>}<\/strong><\/p>\n<p><strong>catch (Exception ex)<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 {<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 throw new Exception(ex.Message);<\/strong><\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<\/strong><\/p>\n<p><strong>}<\/strong><\/p>\n<h1><strong>Conclusion<\/strong><\/h1>\n<p style=\"text-align: justify;\">As illustrated, the above generic function will help you to add an existing record in Dynamics 365 CRM Subgrid using EasyRepro. In addition, to interact with Business Process Flow with Easyrepro do check out our blog <a href=\"https:\/\/www.inogic.com\/blog\/2020\/07\/how-to-interact-with-business-process-flow-in-dynamics-365-crm-using-easyrepro\/\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/p>\n<p><a href=\"https:\/\/www.inogic.com\/product\/productivity-apps\/user-adoption-monitor-in-dynamics-crm\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter wp-image-25845 size-full\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro.jpg\" alt=\"\" width=\"800\" height=\"200\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro.jpg 800w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-300x75.jpg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-768x192.jpg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/11\/How-to-Add-an-Existing-Record-into-a-Subgrid-in-Dynamics-365-CRM-Using-EasyRepro-660x165.jpg 660w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction EasyRepro provides automatic testing in Dynamics 365 CRM. It also gives the power to interact with Subgrid of Dynamics 365 CRM. However, it carries some limitations along with its benefits, like adding an existing record in the Subgrid, which we are going to cover up in this blog. We will show you a generic\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.inogic.com\/blog\/2020\/11\/how-to-add-an-existing-record-into-a-subgrid-in-dynamics-365-crm-using-easyrepro\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[16,19,2192],"tags":[533,545],"class_list":["post-25836","post","type-post","status-publish","format-standard","hentry","category-dynamics-365","category-dynamics-crm","category-easyrepro","tag-dynamics-365","tag-dynamics-365-crm"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/25836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/comments?post=25836"}],"version-history":[{"count":0,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/25836\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media?parent=25836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/categories?post=25836"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/tags?post=25836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}