tag:blogger.com,1999:blog-26411468558105362182024-03-18T14:31:51.760+00:00Axapta V/s MeYet another blog for Dynamics 365 for Finance and Operations. This blog primarily targets technical readers. I will be sharing my experience with Dynamics AX using code snippets, errors, and solutions, Tips, and tricks. Any feedback regarding a post or overall site are always welcome.Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.comBlogger394125tag:blogger.com,1999:blog-2641146855810536218.post-67805335158685761852024-03-18T14:30:00.001+00:002024-03-18T14:30:57.243+00:00Database log full causing Application Access issue<div>Hi Folks, </div><div><br /></div><div>Lately last day I put a 3rd party solution on my DEV box, and the build and synch were successful. But the next morning the application was not working and it was saying (with a 'Hmmm....' sound).</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh-F1mAJ1LQYva_0sgKwq7FTUl7CWL3G-mUnS-M8WKgrRPQzXu67u9j_IetyEGRYdY08y1BTxWpZgt3iKARCXw0_BAVgjhGrK5QjUErlgXbzXTCiKrBbJsxJsNzgrh2bQ6nwAgVvihhjtGutm_Q-7ewKumRSMImITGFGRV6unOsyF1mw30oVPZlkV-byKrt" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="622" data-original-width="1146" height="217" src="https://blogger.googleusercontent.com/img/a/AVvXsEh-F1mAJ1LQYva_0sgKwq7FTUl7CWL3G-mUnS-M8WKgrRPQzXu67u9j_IetyEGRYdY08y1BTxWpZgt3iKARCXw0_BAVgjhGrK5QjUErlgXbzXTCiKrBbJsxJsNzgrh2bQ6nwAgVvihhjtGutm_Q-7ewKumRSMImITGFGRV6unOsyF1mw30oVPZlkV-byKrt=w400-h217" width="400" /></a></div><br />Interestingly, I was able to access VM and Visual stuido was working normally. All services were running fine including IIS. Tried with certificate rotation via LCS, but nothing on the Azure portal. </div><div><br /></div><div>(I have still didn't realized to check on event logs :) ) It was a very strange error, after spending a few min here and there, let's check on the events and it says something like the below</div><div><br /></div><div><div><span style="white-space: normal;"><span style="white-space: pre;"> </span><i>{"Class":17,"Number":9002,"State":2,"Message":"The transaction log for database 'AxDB' is full due to 'LOG_BACKUP'.","ErrorCode":-2146232060,"Procedure":"","LineNumber":9,"Errors":[{"Class":17,"Number":9002,"State":2,"Message":"The transaction log for database 'AxDB' is full due to 'LOG_BACKUP'.","Procedure":"","LineNumber":9,"Source":".Net SqlClient Data Provider"}],"ConnectionId":"<345234534523453>","Source":".Net SqlClient Data Provider"}</i></span></div><div><span style="white-space: normal;"><i><span style="white-space: pre;"> </span>Machine: VM001-1</i></span></div></div><div><br /></div><div><b><u>The Solution:</u></b></div><div><br /></div><div>Check the MSSQL Logs drive and this must be full and running out of space. To fix this, </div><div>1. Open SQL management Studio on VM and connect with the local server. </div><div>2. Right-click on AXDB and select properties. Navigate to Options and set 'Recovery model' to simple.</div><div><br /></div><div><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgoDSdC2jXbtqfAvS933gMDq1sUyhhvJjRXZOCvHhtq7TpUCCLoJ86HtDH843p-8MYF6JnQP9homK2_YBUrvBrVN4Bw_oTAWv1x9BA6HeBh32d2rYGFKSR1-FYAqKleWHjGLxprrh0zvCDGqz2pHQQKP2lTU_uO2NwwS4xVd2JxHiCcnpVghV0VdxgifCCj" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img alt="" data-original-height="846" data-original-width="866" height="390" src="https://blogger.googleusercontent.com/img/a/AVvXsEgoDSdC2jXbtqfAvS933gMDq1sUyhhvJjRXZOCvHhtq7TpUCCLoJ86HtDH843p-8MYF6JnQP9homK2_YBUrvBrVN4Bw_oTAWv1x9BA6HeBh32d2rYGFKSR1-FYAqKleWHjGLxprrh0zvCDGqz2pHQQKP2lTU_uO2NwwS4xVd2JxHiCcnpVghV0VdxgifCCj=w400-h390" width="400" /></a></div><div><br /></div><div>3. Now, right-click on ACDB, select Task > Shrik > File, and set the below values</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj-zK2l3b_rYxAEHkMtq4OQhSs3KwzG8Ic7-q0kHYL6voc2nGNh3evDdw1j86ng6olTDsVZLcMLNgLRnv5Q4CTvVS_2-BaQNubDCMyE2iE0_62nLiTtBfIGA4rQbZVhG7JqSV7WptRF-29AJzVyWTxeL45piXr60kWEuTjm1T-L1opUFuyBkYyuD0Iop-c5" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="838" data-original-width="867" height="387" src="https://blogger.googleusercontent.com/img/a/AVvXsEj-zK2l3b_rYxAEHkMtq4OQhSs3KwzG8Ic7-q0kHYL6voc2nGNh3evDdw1j86ng6olTDsVZLcMLNgLRnv5Q4CTvVS_2-BaQNubDCMyE2iE0_62nLiTtBfIGA4rQbZVhG7JqSV7WptRF-29AJzVyWTxeL45piXr60kWEuTjm1T-L1opUFuyBkYyuD0Iop-c5=w400-h387" width="400" /></a></div><br /><br /></div><div><br /></div><div>4. Click ok and restart the WWW service, the issue should be resolved. </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><br /></div></div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-90493833243327662922024-02-24T11:48:00.000+00:002024-02-24T11:48:01.427+00:00QuickFix: D365FO Dev Box prompting for User name and Password<div>Hi Folks, </div><div><br /></div><div>After doing get latest or build you may get the issue of accessing the environment where its keeps asking for a username and password, </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhFoB4pv1h2oanrcSHsVuAhRX41mprKTCZhZmyhcuC1vNWHmhi1JXi6O7Tl4jE_xWK_jMaZ3iOhPp3d0LiDr97m5Dbn3LebJmYCLi9xu7dJ2vxU6MdWtcnUDP2L82Kel3TrKByllpCzleDoMl34vK4YfMQuROxXrQG_G1jLQo5eU3A91z-wgs4gP5uAQqGy" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="494" data-original-width="2020" height="156" src="https://blogger.googleusercontent.com/img/a/AVvXsEhFoB4pv1h2oanrcSHsVuAhRX41mprKTCZhZmyhcuC1vNWHmhi1JXi6O7Tl4jE_xWK_jMaZ3iOhPp3d0LiDr97m5Dbn3LebJmYCLi9xu7dJ2vxU6MdWtcnUDP2L82Kel3TrKByllpCzleDoMl34vK4YfMQuROxXrQG_G1jLQo5eU3A91z-wgs4gP5uAQqGy=w640-h156" width="640" /></a></div><br /><br /><b><u>Solution:</u></b></div><div><br /></div><div>Login into VM and check the below services if they are up and running, </div><div><br /></div><div>1. World Wide Web Publishing service</div><div>2. Microsoft Dynamics 365 Unified Operations: Batch Management Service</div><div>3. Microsoft Dynamics 365 Unified Operations: Data export import framework Service<br /><div class="separator" style="clear: both; text-align: center;"><br /></div>Once all these services are up and running without any issues try again. </div><div><br /></div><div>Thanks</div><div>Harry </div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-31813108231888249652024-02-22T15:33:00.000+00:002024-02-22T15:33:23.690+00:00QuickFix: Build pipeline failing at 'Prepare for Build' step<div><b>[This is my own experience which worked for me. Pay attention to other troubleshooting as well like checking for any error on other steps, checking event viewer etc]</b></div><div><b>Issue</b>: Build pipeline failing at step of 'Prepare for build' or it's taking a very long time, it's stuck at the below step,</div><div><br /></div><div><div>/LOG:"C:\DynamicsSDK\VSOAgent\_work\1\s\Backup-AX7Packages_RoboCopy.log"</div></div><div><br /></div><div><b>Solution</b>: If you read the previous steps carefully it may give you some more details something like the below, </div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj42_qqpG9iPBTmlnHKCK3FdBHNvTT6kcrqRA3pmEJxG0cdzS2IQIYzNby7zFfPEVtPmAbghvQTgGqjmKG8_6sdvqiR-CsfnSS7Q9yccepXtsPiytJlC8TjXbjVxbc7VSWcbuP-0SNTV2ycKuMDQSFe4gLdw0Skf_fK31wRLSPk2fruDRMVcJwUqJhEL3q8" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="53" data-original-width="582" height="36" src="https://blogger.googleusercontent.com/img/a/AVvXsEj42_qqpG9iPBTmlnHKCK3FdBHNvTT6kcrqRA3pmEJxG0cdzS2IQIYzNby7zFfPEVtPmAbghvQTgGqjmKG8_6sdvqiR-CsfnSS7Q9yccepXtsPiytJlC8TjXbjVxbc7VSWcbuP-0SNTV2ycKuMDQSFe4gLdw0Skf_fK31wRLSPk2fruDRMVcJwUqJhEL3q8=w400-h36" width="400" /></a></div><br /><br /></div><div>If you RDP to your build machine and check for the folder delete this from the Build machine and try to run the pipeline, if should create this from scratch. </div><div><br /></div><div><div aria-labelledby="rowContent-122" class="bolt-fixed-height-list-row scroll-hidden absolute focused" data-focuszone="focuszone-12299" data-row-index="122" role="treeitem" style="box-sizing: border-box; height: 20px; overflow: hidden; position: absolute; top: 2440px; width: 1386.4px;" tabindex="-1"><div class="line-row flex-row flex-grow" style="box-sizing: border-box; cursor: text; display: flex; flex-direction: row; flex-grow: 1; padding: 0px 12px; white-space-collapse: preserve;"><span class="line-area flex-center flex-row flex-grow justify-start" role="group" style="align-items: center; box-sizing: border-box; display: flex; flex-direction: row; flex-grow: 1; justify-content: flex-start; user-select: text;"><span class="content" style="box-sizing: border-box; margin-left: 20px; margin-right: 12px; position: relative; word-break: break-all;"><span class="pl-plain" style="box-sizing: border-box;">/LOG:"C:\DynamicsSDK\VSOAgent\_work\1\s\Backup-AX7Packages_RoboCopy.log"
</span></span><span class="link" data-line="123" data-lsec="70b92200-87db-50c8-35f9-975ba5f9e5b7" style="box-sizing: border-box; height: 20px; margin-right: 25px; visibility: hidden;"><span class="fluent-icons-enabled" style="box-sizing: border-box; display: inline-flex;"><span aria-hidden="true" class="fontSizeM flex-noshrink fabric-icon ms-Icon--Link" style="-webkit-font-smoothing: antialiased; align-self: center; box-sizing: border-box; display: inline-flex; flex-shrink: 0; font-family: FluentRegular; font-size: 0.875rem;"></span></span></span></span></div></div><div aria-expanded="true" aria-labelledby="rowContent-123" class="bolt-fixed-height-list-row scroll-hidden absolute" data-focuszone="focuszone-12299" data-row-index="123" role="treeitem" style="box-sizing: border-box; height: 20px; overflow: hidden; position: absolute; top: 2460px; width: 1386.4px;" tabindex="-1"><div class="line-row flex-row flex-grow" style="box-sizing: border-box; cursor: text; display: flex; flex-direction: row; flex-grow: 1; padding: 0px 12px; white-space-collapse: preserve;"><span class="line-area flex-center flex-row flex-grow justify-start highlight" role="group" style="align-items: center; box-sizing: border-box; display: flex; flex-direction: row; flex-grow: 1; justify-content: flex-start; user-select: text;"><span class="flex-noshrink flex-self-start line" data-line="124" data-lsec="70b92200-87db-50c8-35f9-975ba5f9e5b7" role="treeitem" style="align-self: flex-start; box-sizing: border-box; color: rgba(var(--palette-neutral-60,102, 102, 102),1); flex-shrink: 0; font-family: Menlo, Consolas, "Courier New", monospace; font-size: 12px; min-width: 33px; padding-left: 20px; text-align: right; user-select: none;"></span></span></div></div></div><div><div aria-labelledby="rowContent-122" class="bolt-fixed-height-list-row scroll-hidden absolute focused" data-focuszone="focuszone-12299" data-row-index="122" role="treeitem" style="box-sizing: border-box; height: 20px; overflow: hidden; position: absolute; top: 2440px; width: 1386.4px;" tabindex="-1"><div class="line-row flex-row flex-grow" style="box-sizing: border-box; cursor: text; display: flex; flex-direction: row; flex-grow: 1; padding: 0px 12px; white-space-collapse: preserve;"><span class="line-area flex-center flex-row flex-grow justify-start" role="group" style="align-items: center; box-sizing: border-box; display: flex; flex-direction: row; flex-grow: 1; justify-content: flex-start; user-select: text;"><span class="content" style="box-sizing: border-box; margin-left: 20px; margin-right: 12px; position: relative; word-break: break-all;"><span class="pl-plain" style="box-sizing: border-box;">/LOG:"C:\DynamicsSDK\VSOAgent\_work\1\s\Backup-AX7Packages_RoboCopy.log"
</span></span><span class="link" data-line="123" data-lsec="70b92200-87db-50c8-35f9-975ba5f9e5b7" style="box-sizing: border-box; height: 20px; margin-right: 25px; visibility: hidden;"><span class="fluent-icons-enabled" style="box-sizing: border-box; display: inline-flex;"><span aria-hidden="true" class="fontSizeM flex-noshrink fabric-icon ms-Icon--Link" style="-webkit-font-smoothing: antialiased; align-self: center; box-sizing: border-box; display: inline-flex; flex-shrink: 0; font-family: FluentRegular; font-size: 0.875rem;"></span></span></span></span></div></div><div aria-expanded="true" aria-labelledby="rowContent-123" class="bolt-fixed-height-list-row scroll-hidden absolute" data-focuszone="focuszone-12299" data-row-index="123" role="treeitem" style="box-sizing: border-box; height: 20px; overflow: hidden; position: absolute; top: 2460px; width: 1386.4px;" tabindex="-1"><div class="line-row flex-row flex-grow" style="box-sizing: border-box; cursor: text; display: flex; flex-direction: row; flex-grow: 1; padding: 0px 12px; white-space-collapse: preserve;"><span class="line-area flex-center flex-row flex-grow justify-start highlight" role="group" style="align-items: center; box-sizing: border-box; display: flex; flex-direction: row; flex-grow: 1; justify-content: flex-start; user-select: text;"><span class="flex-noshrink flex-self-start line" data-line="124" data-lsec="70b92200-87db-50c8-35f9-975ba5f9e5b7" role="treeitem" style="align-self: flex-start; box-sizing: border-box; color: rgba(var(--palette-neutral-60,102, 102, 102),1); flex-shrink: 0; font-family: Menlo, Consolas, "Courier New", monospace; font-size: 12px; min-width: 33px; padding-left: 20px; text-align: right; user-select: none;"></span></span></div></div></div><div><div aria-labelledby="rowContent-122" class="bolt-fixed-height-list-row scroll-hidden absolute focused" data-focuszone="focuszone-12299" data-row-index="122" role="treeitem" style="box-sizing: border-box; height: 20px; overflow: hidden; position: absolute; top: 2440px; width: 1386.4px;" tabindex="-1"><div class="line-row flex-row flex-grow" style="box-sizing: border-box; cursor: text; display: flex; flex-direction: row; flex-grow: 1; padding: 0px 12px; white-space-collapse: preserve;"><span class="line-area flex-center flex-row flex-grow justify-start" role="group" style="align-items: center; box-sizing: border-box; display: flex; flex-direction: row; flex-grow: 1; justify-content: flex-start; user-select: text;"><span class="content" style="box-sizing: border-box; margin-left: 20px; margin-right: 12px; position: relative; word-break: break-all;"><span class="pl-plain" style="box-sizing: border-box;">/LOG:"C:\DynamicsSDK\VSOAgent\_work\1\s\Backup-AX7Packages_RoboCopy.log"</span>/LOG:"C:\DynamicsSDK\VSOAgent\_work\1\s\Backup-AX7Packages_RoboCopy.log"</span></span></div></div></div><div><div aria-labelledby="rowContent-122" class="bolt-fixed-height-list-row scroll-hidden absolute focused" data-focuszone="focuszone-12299" data-row-index="122" role="treeitem" style="box-sizing: border-box; height: 20px; overflow: hidden; position: absolute; top: 2440px; width: 1386.4px;" tabindex="-1"><div class="line-row flex-row flex-grow" style="box-sizing: border-box; cursor: text; display: flex; flex-direction: row; flex-grow: 1; padding: 0px 12px; white-space-collapse: preserve;"><span class="line-area flex-center flex-row flex-grow justify-start" role="group" style="align-items: center; box-sizing: border-box; display: flex; flex-direction: row; flex-grow: 1; justify-content: flex-start; user-select: text;"><span class="link" data-line="123" data-lsec="70b92200-87db-50c8-35f9-975ba5f9e5b7" style="box-sizing: border-box; height: 20px; margin-right: 25px; visibility: hidden;"><span class="fluent-icons-enabled" style="box-sizing: border-box; display: inline-flex;"><span aria-hidden="true" class="fontSizeM flex-noshrink fabric-icon ms-Icon--Link" style="-webkit-font-smoothing: antialiased; align-self: center; box-sizing: border-box; display: inline-flex; flex-shrink: 0; font-family: FluentRegular; font-size: 0.875rem;"></span></span></span></span></div></div><div aria-expanded="true" aria-labelledby="rowContent-123" class="bolt-fixed-height-list-row scroll-hidden absolute" data-focuszone="focuszone-12299" data-row-index="123" role="treeitem" style="box-sizing: border-box; height: 20px; overflow: hidden; position: absolute; top: 2460px; width: 1386.4px;" tabindex="-1"><div class="line-row flex-row flex-grow" style="box-sizing: border-box; cursor: text; display: flex; flex-direction: row; flex-grow: 1; padding: 0px 12px; white-space-collapse: preserve;"><span class="line-area flex-center flex-row flex-grow justify-start highlight" role="group" style="align-items: center; box-sizing: border-box; display: flex; flex-direction: row; flex-grow: 1; justify-content: flex-start; user-select: text;"><span class="flex-noshrink flex-self-start line" data-line="124" data-lsec="70b92200-87db-50c8-35f9-975ba5f9e5b7" role="treeitem" style="align-self: flex-start; box-sizing: border-box; color: rgba(var(--palette-neutral-60,102, 102, 102),1); flex-shrink: 0; font-family: Menlo, Consolas, "Courier New", monospace; font-size: 12px; min-width: 33px; padding-left: 20px; text-align: right; user-select: none;"></span></span></div></div></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-444825570603897392024-01-13T15:07:00.004+00:002024-01-16T17:54:27.232+00:00QuickFix: Stop script for service model: AOSService on machine: <div>If you are getting errors while upgrading your tier-1 environment, trust me you are not alone, many of us facing this error say, </div><div><br /></div><div><b>Error 1: </b></div><div><i><b>Stop script for service model: AOSService on machine</b></i></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgZ4HN8CKB5QvdBT71ALaCDEFeRx2bBkOAqwTez7r328kljsp2hhkrv2KP80_rAb8efQEqM0Uw20Zx6yW9MIQeoiLoa54fNAdptglp54QwrhaysskQPI4fgZM27mYTzxPTXlNWMbTGmxiFN0sFZ4HiOyBx7c5WLNNXRPvCaDkEjCbuoG3GHTSPsAIDZ-PPE" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="154" data-original-width="1272" height="78" src="https://blogger.googleusercontent.com/img/a/AVvXsEgZ4HN8CKB5QvdBT71ALaCDEFeRx2bBkOAqwTez7r328kljsp2hhkrv2KP80_rAb8efQEqM0Uw20Zx6yW9MIQeoiLoa54fNAdptglp54QwrhaysskQPI4fgZM27mYTzxPTXlNWMbTGmxiFN0sFZ4HiOyBx7c5WLNNXRPvCaDkEjCbuoG3GHTSPsAIDZ-PPE=w640-h78" width="640" /></a></div><br /><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>If you remember this is the same issue we had with the earlier version, and to fix this you have to update the VC++ runtime. You can download this from the below link and run it on our tier-1 environment (s).</div><div><br /></div><div><a href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/get-started/whats-new-platform-updates-vcruntime?WT.mc_id=DX-MVP-5000410" target="_blank">New VC++ runtime requirement for cloud-hosted environments and VHD images running version 10.0.36 or later</a></div><div><br /></div><div><br /></div><div><b>Error 2:</b></div><div><b><i>GlobalUpdate script for service model: RetailServer on machine:(VM Name)</i></b></div><div><b><i><br /></i></b></div><div><b><i><br /></i></b></div><div>Let's understand why, (Or let's see what the fix is :) )</div><div><br /></div><div>Whenever you Apply any update from LCS, it will create a package on VM local disk normally at the below location </div><div>ServiceVolume\DeployablePackages and you have to select the most recent folder (in case you already tried a few times with this error).</div><div><br /></div><div>Navigate to RetailServer\Scripts and find the file name 'DropAllRetialChannelDbObjects'. </div><div>Here is the entire path in case you need it (ServiceVolume\DeployablePackages\RetailServer\Scripts\DropAllRetialChannelDbObjects), run this SQL query on AXDB on VM and try again to apply the update. </div><div><br /></div><div>Tip: This SQL script sometimes takes hours and hours to finish, you can try to stop this execution and select one query at a time from the script. </div><div><br /></div><div><b><br /></b></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-3978695476713665882024-01-04T15:22:00.002+00:002024-01-04T15:22:19.080+00:00ENum values in BYOD<div>While exporting data in BYOD ENUMS are exporting with values (numerical) than its string values. </div><div><br /></div><div>All ENUMS are sitting in this table with their values and IDs, </div><div>SRSANALYSISENUMS </div><div><br /></div><div>Sometimes this table doesn't update automatically you can write a small job to populate all EUMs in this table, below is the code</div><div><br /></div><div><div> public static void generateEnum(Args _args)</div><div> {</div><div> BIHelper::populateSRSAnalysisEnums();</div><div> }</div></div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-21841778510850416922023-11-13T12:21:00.002+00:002023-11-13T12:21:49.367+00:00Color code the cell in Excel export<div>Hi Folks, </div><div><br /></div><div>Below is a sample code to color code your Excel cell while exporting. In this code, we will be using two assemblies as below</div><div><br /></div><div><div>using OfficeOpenXml;</div><div>using OfficeOpenXml.Style; </div></div><div><br /></div><div>and standard Excel export code with a bit of creativity, </div><div><br /></div><script src="https://gist.github.com/d47447/9a70f862f9e759ee0ae51dc2317736df.js"></script><div><br /></div><div><br /></div><div>You can be more creative by writing separate methods for major colors and calling them based on cell values. </div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-53178977020807893372023-10-24T16:00:00.000+00:002023-10-24T16:00:30.601+00:00[Solved]Error while importing/Exporting opening balances DIXF (No active format for data entities has been set up)<div>Hi Folks, </div><div><br /></div><div>We were trying to import some opening balances and encountered some issues which say error as below, </div><div><br /></div><div><i>Error 1:</i></div><div><br /></div><div><div>Results. The account type Ledger is not valid</div><div>Results. Validations failed</div></div><div><br /></div><div><i>Error 2:</i></div><div><br /></div><div><div>Results. No active format for data entities has been set up.</div><div>Set up an active format for each dimension format type.</div><div>Results. Error found when validating record.</div><div>Data written to target 'General journal' ('0' records created, '0' records updated)</div></div><div><br /></div><div><br /></div><div><b>Solution:</b></div><div><br /></div><div>To fix this issue, Navigate to the below form</div><div><br /></div><div><div>"General ledger > Chart of accounts > Dimensions > Financial dimension configuration for integrating applications"</div></div><div><br /></div><div>Now here you need to set up two records as below, please make a note of the 'Dimension format type' and select the required dimension from available dimension types. </div><div><br /></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiFyzvsbzGc3qeCJwFcXEPHBNsl7j61Et-q0vO02rf9PhwPnB5BxcNo2g3O4x9qtIIsKlPGYnBvPdLzQtRkvC0toTeO24FQlz6pufzNfMgQ2sHhTGtsp-eH7yUaCFYbbeF13YUHOQcKb1yQw6VpZobMY3IoCPzNPNjKoODK-yGTzUgB684sg4JeSfSJE8Ut" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="596" data-original-width="1370" height="278" src="https://blogger.googleusercontent.com/img/a/AVvXsEiFyzvsbzGc3qeCJwFcXEPHBNsl7j61Et-q0vO02rf9PhwPnB5BxcNo2g3O4x9qtIIsKlPGYnBvPdLzQtRkvC0toTeO24FQlz6pufzNfMgQ2sHhTGtsp-eH7yUaCFYbbeF13YUHOQcKb1yQw6VpZobMY3IoCPzNPNjKoODK-yGTzUgB684sg4JeSfSJE8Ut=w640-h278" width="640" /></a></div><br /><br /></div><div><br /></div><div>Save your changes and retry to import/export your file, it should work this time. </div><div><br /></div><div>If you want to learn more about this specific form, I would recommend reading below Microsoft document.</div><div><br /></div><div><a href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/financial/financial-dimension-configuration-integration?WT.mc_id=DX-MVP-5000410#data-entities" target="_blank">Financial dimension configuration for Data Entities</a></div><div><br /></div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-73276503571014559422023-10-03T13:10:00.001+00:002023-10-03T18:12:58.847+00:00[Solved] Parameter issue with SSRS report<div>If you are reading this post, my humbly empathy with you, you are one of the victims of the SSRS report. :)</div><div><br /></div><div>I am not diving on exact error messgae you may getting while build/deploying report. </div><div><br /></div><div>Lets understand the root casue of this first, </div><div>..</div><div>.</div><div>.</div><div>.</div><div>.</div><div>.</div><div>.</div><div>.</div><div>.</div><div>.</div><div>.</div><div>.</div><div>.</div><div>.</div><div><br /></div><div>There is no root cause. Its just SSRS, </div><div><br /></div><div><br /></div><div>Well, if you open SSRS report in XML editor (by right click on report and Open with), you will total two place where parameters are defined. (In case there is one datasource in report, there be more place if there are more than one datasource)</div><div>Take a close look on all three and makre sure all of them having same number of paramters , plus same name of each paramater.</div><div><br /></div><div>1. Under node: Report dataset parameter</div><div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiiJOoTIS_ImPbQ4QLgqHhmA7S7jigQ9IN82qufeSWA-zbiMGbQ_XOgEEvkMtyzL7CWRxPcq-f-iTP7yaeFRUlkH98IPDB2rYJsC_9sce6j2tLv9WsyUL0DTrkTFIKuCcp6a755eLzEIgrzELiUTW2FB7N18aIDbxDnrMIqslQgQj_HIm5bsUn5UIHrupbm" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="199" data-original-width="547" height="116" src="https://blogger.googleusercontent.com/img/a/AVvXsEiiJOoTIS_ImPbQ4QLgqHhmA7S7jigQ9IN82qufeSWA-zbiMGbQ_XOgEEvkMtyzL7CWRxPcq-f-iTP7yaeFRUlkH98IPDB2rYJsC_9sce6j2tLv9WsyUL0DTrkTFIKuCcp6a755eLzEIgrzELiUTW2FB7N18aIDbxDnrMIqslQgQj_HIm5bsUn5UIHrupbm" width="320" /></a></div><br /><br /><br /></div><br /><br /></div></div><br /><div>2. Under node : ReportParametersLayout, </div><div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhOVebOIaYijEtTqvAsPuoc2lJH-sGMulKb73mCDjsjasA6wfZIH0I_RTQ_2z3FcBMTSsBPgI1WyqLkDiW_na-oT9zvcyy-ZnSskpiC8mkyeVEt1uB0jfsseSfKLHV7IxsekYqDelfjOPywLrKPM1_pRcVa8EasL9kknLBrcNc6HbkOmdCqmvcmwjSK7LZM" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="265" data-original-width="792" height="107" src="https://blogger.googleusercontent.com/img/a/AVvXsEhOVebOIaYijEtTqvAsPuoc2lJH-sGMulKb73mCDjsjasA6wfZIH0I_RTQ_2z3FcBMTSsBPgI1WyqLkDiW_na-oT9zvcyy-ZnSskpiC8mkyeVEt1uB0jfsseSfKLHV7IxsekYqDelfjOPywLrKPM1_pRcVa8EasL9kknLBrcNc6HbkOmdCqmvcmwjSK7LZM" width="320" /></a></div><br /><br /><br /></div><div>well, this one is reall yintesting as you also needs to make sure of changing the ColumnIndex or RowIndex.</div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-24982106460985164542023-09-15T13:50:00.001+00:002023-09-15T13:50:00.140+00:00QuickFix: Company doesn't exit error on report<div><br /></div><div>In my case it was an issue with the wrong extends of the contract class (of course this happened because of poor copy-paste skills :) ) Check the contract class if you have extended with the SrsReportRdlDataContract class, instead of this you need to add DataContractAttribute on top, that it.</div><div><br /></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi-JovtyAb6oXwRjp6FvaeoxBeGBLWxSIl4ccEBlb7Dllr9oZwiH4QzXol-kaizjQZ9dQ3hADCYuqdTpMIIfYCz0cWMxpmBOEknf0FGQcMs-KJhYi2YtInz3HoCf1THyWHhvBXzC-pI7myxcHft4yj9xXBN9nXB8six26DEuMch9ckg7xLuinDglNcZTXjw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="128" data-original-width="481" height="85" src="https://blogger.googleusercontent.com/img/a/AVvXsEi-JovtyAb6oXwRjp6FvaeoxBeGBLWxSIl4ccEBlb7Dllr9oZwiH4QzXol-kaizjQZ9dQ3hADCYuqdTpMIIfYCz0cWMxpmBOEknf0FGQcMs-KJhYi2YtInz3HoCf1THyWHhvBXzC-pI7myxcHft4yj9xXBN9nXB8six26DEuMch9ckg7xLuinDglNcZTXjw" width="320" /></a></div><br /><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-23325289255035975432023-09-06T10:09:00.001+00:002023-09-14T12:20:29.910+00:00Supercharging Dynamics 365 F&O implementation with Azure DevOps<div>Hi Folks, </div><div><br /></div><div>Here is the recording of the session delivered on 31st August, it primarily targeted below topics, </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhmdLGG1nvoUk4ayE5PqW9eMO0oAJqIlJZEm-0iRyntNA1GofsAACBIEisu5rLQeZ6HlTlg-OypXdnspQVmQor5s5cfbwLDH1ZtsZ1LQJWh9zWM2NWYD6jAWPM4HrHJWhtews5TZeowxXxEJ_zTTNIxdbrE-Q59C99dlrvShohSW_LUcm-uJahrA1E3u9Ud" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1039" data-original-width="969" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEhmdLGG1nvoUk4ayE5PqW9eMO0oAJqIlJZEm-0iRyntNA1GofsAACBIEisu5rLQeZ6HlTlg-OypXdnspQVmQor5s5cfbwLDH1ZtsZ1LQJWh9zWM2NWYD6jAWPM4HrHJWhtews5TZeowxXxEJ_zTTNIxdbrE-Q59C99dlrvShohSW_LUcm-uJahrA1E3u9Ud" width="224" /></a></div><div><br /></div>and of course an interactive demo around those topics, </div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="316" src="https://www.youtube.com/embed/0aWxbxNnM4M" width="380" youtube-src-id="0aWxbxNnM4M"></iframe></div><br /><div><br /></div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-55367716538256235092023-08-22T11:01:00.001+00:002023-08-22T11:01:53.183+00:00QuickFix: Error while build SSRS report<div>Error Message:</div><div><br /></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjZy9L6AM0pWGLkeuDh5Azr9R1Yya7OkV7L3nA9M8MrhqR6fw5643CbzGo4aNv3hOi9zpLCnPkUFLbkxcvH-v4LQU1CHdMzFsGM2_HuQ9Z8ocXhYAqt8b3M2hkcL63gByGwt9-EfHVtmX1EF-lSRvqDFoSEAh6OK7UFlLDOj_bpFywdjNK8ne-9zUUeqC_K" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="198" data-original-width="1518" height="84" src="https://blogger.googleusercontent.com/img/a/AVvXsEjZy9L6AM0pWGLkeuDh5Azr9R1Yya7OkV7L3nA9M8MrhqR6fw5643CbzGo4aNv3hOi9zpLCnPkUFLbkxcvH-v4LQU1CHdMzFsGM2_HuQ9Z8ocXhYAqt8b3M2hkcL63gByGwt9-EfHVtmX1EF-lSRvqDFoSEAh6OK7UFlLDOj_bpFywdjNK8ne-9zUUeqC_K=w640-h84" width="640" /></a></div><br /><br /></div><div><br /></div><div><div>Severity<span style="white-space: pre;"> </span>Code<span style="white-space: pre;"> </span>Description<span style="white-space: pre;"> </span>Project<span style="white-space: pre;"> </span>File<span style="white-space: pre;"> </span>Line<span style="white-space: pre;"> </span>Suppression State</div><div>Error<span style="white-space: pre;"> </span>Path: [AxReport/<ReportName>]:"An unhandled exception was thrown while validating <ReportName>with callstack System.InvalidOperationException: Sequence contains no matching element</div><div> at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source, Func`2 predicate)</div><div> at Microsoft.Dynamics.AX.Metadata.Extensions.Reports.AxReportDataSetParameterExtensions.GetAssociatedReportParameter(AxReportDataSetParameter datasetParameter, AxReport report)</div><div> at Microsoft.Dynamics.AX.Metadata.Validation.DataSetParameterConstraint.Validate(ModelValidationContext context, AxReportDataSetParameter element)</div><div> at Microsoft.Dynamics.AX.Metadata.Validation.AxReportValidator.ValidateDataSets(AxReport report, ModelValidationContext validationContext)</div><div> at Microsoft.Dynamics.AX.Metadata.Validation.AxReportValidator.DoValidate(AxReport report, Uri uri, IMetadataProvider metadataProvider, IDiagnosticSink diagnostics)</div><div> at Microsoft.Dynamics.AX.Metadata.Validation.ValidatorBase`1.StartValidation(T objectToValidate, Uri uri, IMetadataProvider metadataProvider, IDiagnosticSink diagnostics)."</div></div><div><br /></div><div><br /></div><div>Fix: Sorry to say in this way, but simply create a completely new report and copy the design from the current to the new report, this should work.</div><div><br /></div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-59577567181911146982023-07-31T16:08:00.004+00:002023-07-31T16:08:28.840+00:00[Solved] Unable to find a feature in 'Feature management' workspace<div>If you are struggling to find a required feature in the 'Feature management' workspace, simply click on 'Check for updates' and most hopefully the feature you are looking for will start appearing in the list. </div><div><br /></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEigrD0zuOdV623_KypSIoB4Qn16moINhc3DUy9Uct9wKng8n5q-sWNQu6ecmWjj_3BICuFRqtP5M2SHiynuCG6oL56lzyfpZm9crxE6aBU3emGLMbZEtzvW_XP_sb1UfFg2PtXMKFMrtI0j4uE4omdmcenx693RVAao9lXIgwPGLcwe6HkLcifGLULEf46u" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="509" data-original-width="2442" height="133" src="https://blogger.googleusercontent.com/img/a/AVvXsEigrD0zuOdV623_KypSIoB4Qn16moINhc3DUy9Uct9wKng8n5q-sWNQu6ecmWjj_3BICuFRqtP5M2SHiynuCG6oL56lzyfpZm9crxE6aBU3emGLMbZEtzvW_XP_sb1UfFg2PtXMKFMrtI0j4uE4omdmcenx693RVAao9lXIgwPGLcwe6HkLcifGLULEf46u=w640-h133" width="640" /></a></div><br /><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-18759569005994259172023-07-10T17:48:00.001+00:002023-11-13T12:22:59.132+00:00QuickFix: Golden config database promotion to UAT <div>Hi Folks, </div><div><br /></div><div>If you are reading this post, I would assume you already followed Microsoft docs on the same topic but are unable to follow all the steps as it says. </div><div><br /></div><div>Here is the MS doc URL, </div><div><br /></div><div><a href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/database/dbmovement-scenario-goldenconfig/?WT.mc_id=DX-MVP-5000410" target="_blank">Golden configuration promotion</a></div><div><br /></div><div>There is a wrong command example that asks you to navigate to the SQL folder as below (<a href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/database/dbmovement-scenario-goldenconfig?WT.mc_id=DX-MVP-5000410#export-the-database-from-sql-server" target="_blank">Export the database from SQL Server)</a></div><div><br /></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi-lvcOeuJsFZ7KsAgm3HxHphzxVCtLtlJ-ZdWQCOta3ywCPdG741W96YPFnerJh03kS-8fFotgSREaKmTSyg9kgzMLTAvRGKrizHFM4MfI_07mFnd8lYz5BtrhKUsz7_dpICXWkLTVQ9mUp1UwC1RIKVSvHEA7omd7RTiCBDM4-jj6EvRqoezyuRhGFlMX" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="176" data-original-width="885" height="128" src="https://blogger.googleusercontent.com/img/a/AVvXsEi-lvcOeuJsFZ7KsAgm3HxHphzxVCtLtlJ-ZdWQCOta3ywCPdG741W96YPFnerJh03kS-8fFotgSREaKmTSyg9kgzMLTAvRGKrizHFM4MfI_07mFnd8lYz5BtrhKUsz7_dpICXWkLTVQ9mUp1UwC1RIKVSvHEA7omd7RTiCBDM4-jj6EvRqoezyuRhGFlMX=w640-h128" width="640" /></a></div><br /><br /></div><div>Actual the path for SWL is wrong, the correct path should be as below, </div><div><br /></div><div>C:\Program Files\Microsoft SQL Server\160\DAC\bin</div><div><br /></div><div>I have raised this with Microsoft and hopefully, this will be fixed soon. </div><div><br /></div><div>Cheers</div><div><br /></div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-76130148198405136422023-07-03T11:58:00.002+00:002023-07-03T11:58:30.496+00:00A complete Guide - Configuring Power BI in Dynamics 365 Finance and Operations (D365FO) <div><p class="MsoNormal"><b>Introduction:<o:p></o:p></b></p>
<p class="MsoNormal">Power BI is a powerful business intelligence tool that
enables users to visualize and analyze data from various sources. When
integrated with Dynamics 365 Finance and Operations (D365FO), Power BI can
provide insightful reports and dashboards, empowering organizations to make
data-driven decisions. In this blog post, we will walk you through the process
of configuring Power BI in D365FO, allowing you to harness the full potential
of these two Microsoft tools.<o:p></o:p></p>
<p class="MsoNormal">There are many default Power BI report available, and you
can also develop and integrate your own reports. Let's follow the below steps to configure
this in a Tier 2 environment as Microsoft doesn’t support Tier 1 environments
for Power BI anymore. <o:p></o:p></p>
<p class="MsoNormal"><b>Step 1: Accessing the Power BI service:<o:p></o:p></b></p>
<p class="MsoNormal">To begin the configuration process, you need to have access
to the Power BI service. Visit the Power BI website
(https://powerbi.microsoft.com/) and sign in using your Microsoft account
credentials. Make sure you use the same account for all the below steps as well. <o:p></o:p></p>
<p class="MsoNormal"><b>Step 2: Register the Power BI application:<o:p></o:p></b></p>
<p class="MsoNormal">In the Power BI configuration form, click on the "Register
new app" button. This step will prompt you to sign in with your Power BI
account credentials and authorize D365FO to access your Power BI resources. Check
this post for <a href="https://www.theaxapta.com/2023/06/step-by-step-guide-to-azure-app.html" target="_blank">step by step guide for app registration</a>. <o:p></o:p></p><p class="MsoNormal">Once the app is registered you need to enable below API permission, </p><p class="MsoNormal">I. <b>Content </b>:</p><p class="MsoNormal">Content. Create</p><p class="MsoNormal">II. <b>Dashboard</b></p><p class="MsoNormal">Dashboard.Read.All</p><p class="MsoNormal">III. <b>Dataset</b></p><p class="MsoNormal">Dataset.Read.All</p><p class="MsoNormal">Dataset.ReadWrite.All</p><p class="MsoNormal">IV. <b>Report</b></p><p class="MsoNormal">Report.Read.All</p><p class="MsoNormal">V. <b>Workspace</b></p><p class="MsoNormal">Workspace.Read.All</p>
<p class="MsoNormal"><b>Step 3: Grant Permissions in Power BI Service:</b><o:p></o:p></p>
<p class="MsoNormal">Switch back to the Power BI service and navigate to "My
workspace" or the desired workspace where you want to embed D365FO
reports. Click on "Settings" and then "Admin portal." In
the admin portal, select "Workspace settings" and choose the
workspace where D365FO reports will be embedded. Under "Members," add
the D365FO user account or security group that requires access to the Power BI
reports.<o:p></o:p></p>
<p class="MsoNormal"><b>Step 4: Setup Power BI Integration in D365FO:<o:p></o:p></b></p>
<p class="MsoNormal">In the D365FO environment, navigate to System Administration
> Setup > Power BI configuration. Enable the Power BI integration by
checking the "Enable Power BI Integration" checkbox.<o:p></o:p></p>
<p class="MsoNormal">Add application id and client secrete id which you got from
App registration. Do the authentication on Power BI.<o:p></o:p></p>
<p class="MsoNormal"><b>Step 5: Deploy Power BI Reports in D365FO:<o:p></o:p></b></p>
<p class="MsoNormal">Navigate to System Administration > Setup > Deploy
Power BI files. Select your required report and on the top action pane, select ‘Deploy
Power BI file’. You may get an error like below</p><p></p>
<p class="MsoNormal"><b>‘Deployment failed for <Report Name>’</b>, this is because you didn’t log in to PowerBI.com yet. Please follow step 1 and validate if
you are able to see ‘My workspace’ at the bottom left of the screen. <o:p></o:p></p>
<p class="MsoNormal"><b>Step 7: Embed Power BI Reports in D365FO:<o:p></o:p></b></p>
<p class="MsoNormal">In D365FO, open the desired workspace where you want to
embed the Power BI report. Click on "Options" and select
"Personalize this form." Edit the form and add a Power BI tile to the
desired location. Provide the "Report URL" or "Dashboard
URL" for the Power BI report you want to embed. Additionally, you can
specify filters and parameters based on your requirements.<o:p></o:p></p><p class="MsoNormal">You may get an error on the workspace similar to below</p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjACQap1xvVeAMYJDjT-ZW2JNK0TB8qccylyYPzTRTzslD7mAMCqbbTK62V2YGo4x6o7dGHEXi-BgzdrgSWQvKY0t8VESe-g1f4lV5wcCqpgqFIgujlWUszdxXhpgvrp8gaF7LSOCn3SBXgWfThn-RY7h4q2Vk5qCE9kYxw3n7RuJMSUT1CAQDVLrPOKw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="258" data-original-width="888" height="116" src="https://blogger.googleusercontent.com/img/a/AVvXsEjACQap1xvVeAMYJDjT-ZW2JNK0TB8qccylyYPzTRTzslD7mAMCqbbTK62V2YGo4x6o7dGHEXi-BgzdrgSWQvKY0t8VESe-g1f4lV5wcCqpgqFIgujlWUszdxXhpgvrp8gaF7LSOCn3SBXgWfThn-RY7h4q2Vk5qCE9kYxw3n7RuJMSUT1CAQDVLrPOKw=w400-h116" width="400" /></a></div><p class="MsoNormal">QueryUserError</p><p class="MsoNormal">To fix this issue you need to make sure the respective entity store is refreshed successfully. If you are facing an issue with the refresh, check out this post. </p><br /><p></p>
<p class="MsoNormal"><b>Step 8: Save and Publish the Changes:<o:p></o:p></b></p>
<p class="MsoNormal">Save and publish the changes made to the form in D365FO. The
Power BI report tile will now be visible to users in the designated workspace,
allowing them to access and interact with the embedded reports.<o:p></o:p></p>
<p class="MsoNormal"><b>Conclusion:<o:p></o:p></b></p>
<p class="MsoNormal">Configuring Power BI in Dynamics 365 Finance and Operations
opens up a world of data analysis and visualization possibilities. By following
these step-by-step instructions, you can seamlessly integrate Power BI with
D365FO, enabling your organization to leverage insightful reports and
dashboards to make informed decisions. Remember to ensure appropriate
permissions and access control settings to maintain data security and
governance. With Power BI and D365FO working together, you can unlock valuable
insights and drive business success.<o:p></o:p></p></div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-91864521002794317382023-06-17T14:53:00.001+00:002023-06-17T14:53:00.153+00:00Step-by-Step Guide to Azure App Registration Process<div><p class="MsoNormal"><b><span style="font-size: 14.0pt; line-height: 107%;">Introduction:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">Azure App
Registration is a crucial step when developing applications that integrate with
Azure services. It allows your application to authenticate and access resources
securely within the Azure ecosystem. In this blog post, I will provide a
comprehensive, step-by-step guide to the Azure App Registration process,
helping you understand the necessary steps to register your application.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">App registration
is required for a lot of purposes in D365FO, for example<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="font-size: 14.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">1.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 14.0pt; line-height: 107%;">To set up Warehouse mobile <o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="font-size: 14.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">2.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 14.0pt; line-height: 107%;">Setup out of box Power BI report<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="font-size: 14.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">3.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 14.0pt; line-height: 107%;">Postman configuration <o:p></o:p></span></p>
<p class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="font-size: 14.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">4.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 14.0pt; line-height: 107%;">Various integration scenarios<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span style="font-size: 14.0pt; line-height: 107%;">Prerequisite</span></b><span style="font-size: 14.0pt; line-height: 107%;">: Just one, get the admin account and
use the same account for all the steps, this account should have access to D365FO
as well. (I know it's not mandatory but I
would recommend this.)<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 14.0pt; line-height: 107%;">Step 1:
Access the Azure Portal:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">To begin the
Azure App Registration process, log in to the Azure Portal
(https://portal.azure.com) using your Azure account credentials. Once logged
in, you'll have access to the Azure dashboard.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 14.0pt; line-height: 107%;">Step 2:
Navigate to Azure Active Directory:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">From the
Azure dashboard, locate and select "Azure Active Directory" from the
list of available services. Azure Active Directory is a comprehensive identity
and access management solution provided by Microsoft. (To make sure you choose the right directory). <o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 14.0pt; line-height: 107%;">Step 3:
Choose "App Registrations":<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">Within Azure
Active Directory, navigate to the "App registrations" section. This
section allows you to manage all your application registrations. You can search for the same in the top search bar.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 14.0pt; line-height: 107%;">Step 4:
Click "New Registration":<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">Click on the
"New Registration" button to initiate the app registration process.
You will be prompted to provide essential details about your application.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span style="font-size: 14.0pt; line-height: 107%;">Step 5:
Fill in Application Details:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">In this
step, you need to provide the following details:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">-
"Name": Enter a unique name for your application.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">-
"Supported account types": Choose the appropriate account type (such
as "Accounts in this organizational directory only" or "Accounts
in any organizational directory"). Mostly it will be within the same organization.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">-
"Redirect URI": Specify the URI where Azure will redirect users after
authentication. This is typically the URI of your application. In our case, it
will be the URL of D365FO environment. <o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 14.0pt; line-height: 107%;">Step 6:
Register the Application:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">After
providing the necessary details, click on the "Register" button to
create the application in Azure. Azure will generate a unique "<b>Application
(client) ID</b>" that you will need to use during the development and
configuration of your application.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span style="font-size: 14.0pt; line-height: 107%;">Step 7:
Configure API Permissions:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">To access
Azure resources from your application, you need to grant it appropriate
permissions. In the app registration page, navigate to "API
permissions" and click on "Add permission." Here, you can
select the APIs and permissions required for your application. This section is used if you are going to use this for Power BI. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span style="font-size: 14.0pt; line-height: 107%;">Step 8:
Grant Admin Consent:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">Once you
have configured the necessary API permissions, you need to obtain consent from
an Azure administrator. Click on the "Grant admin consent for <your
organization name>" button to initiate the consent process.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span style="font-size: 14.0pt; line-height: 107%;">Step 9:
Generate Client Secrets:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">If your
application requires a client secret, such as when using the OAuth 2.0 client
credentials flow, navigate to the "Certificates & secrets"
section within the app registration page. Here, you can create and manage
client secrets securely. Copy the value securely as it will not visible after
this step and you need this for most of the applications eg. the Warehouse mobile
app, and Power BI configuration. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span style="font-size: 14.0pt; line-height: 107%;">Step 10:
Application Configuration (Optional):<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">After
completing the app registration process, you can configure additional settings
specific to your application, such as branding, authentication options, and
more. Explore the app registration page and adjust the settings as per your
requirements.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 14.0pt; line-height: 107%;"> </span></b></p>
<p class="MsoNormal"><b><span style="font-size: 14.0pt; line-height: 107%;">Conclusion:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 14.0pt; line-height: 107%;">The Azure
App Registration process is a vital step when building applications that
integrate with Azure services. By following this step-by-step guide, you can
successfully register your application in Azure Active Directory, configure
necessary permissions, and obtain the required credentials for secure
authentication and access to Azure resources. Properly registered applications
can take advantage of various Azure services and APIs while ensuring a
streamlined and secure development process.</span><o:p></o:p></p></div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-61649300288781483762023-06-09T10:37:00.000+00:002023-06-09T10:37:10.395+00:00How to add security on a specific control on form<div>Hi Folks, </div><div><br /></div><div><span style="font-family: "Times New Roman", serif; font-size: 12pt;">In this post, I will discuss
how to enhance security for a specific form control, such as a button or
checkbox. Typically, we would use the DisplayMenuItem feature to manage
security privileges. However, things can become a bit different when you want
to assign special security privileges to a particular form control.</span></div><div>
<p class="MsoNormal"><span style="font-family: "Times New Roman",serif; font-size: 12.0pt; line-height: 107%; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-GB; mso-font-kerning: 0pt; mso-ligatures: none;">Here's a standard approach
to achieving this. Please follow the steps below:<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -36.0pt;"><!--[if !supportLists]--><span style="font-family: "Times New Roman",serif; font-size: 12.0pt; line-height: 107%; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-GB; mso-font-kerning: 0pt; mso-ligatures: none;">1.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal;">
</span></span><!--[endif]--><span style="font-family: "Times New Roman",serif; font-size: 12.0pt; line-height: 107%; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-GB; mso-font-kerning: 0pt; mso-ligatures: none;">Begin by
navigating to the form design and selecting the desired form control to which
you want to add additional security privileges.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpLast" style="margin-left: 54.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="font-family: "Times New Roman",serif; font-size: 12.0pt; line-height: 107%; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-GB; mso-font-kerning: 0pt; mso-ligatures: none;">a.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-family: "Times New Roman",serif; font-size: 12.0pt; line-height: 107%; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-GB; mso-font-kerning: 0pt; mso-ligatures: none;">Set the property 'Need permission' to 'Yes'.
This step will make the field available in Step 5.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Times New Roman",serif; font-size: 12.0pt; line-height: 107%; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-GB; mso-font-kerning: 0pt; mso-ligatures: none;">2. Create a new privilege. If an existing one suits your
requirements, feel free to use it.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Times New Roman",serif; font-size: 12.0pt; line-height: 107%; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-GB; mso-font-kerning: 0pt; mso-ligatures: none;">3. Within the privilege settings, locate the 'Form control
permission' section.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Times New Roman",serif; font-size: 12.0pt; line-height: 107%; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-GB; mso-font-kerning: 0pt; mso-ligatures: none;">4. Add a new form here.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Times New Roman",serif; font-size: 12.0pt; line-height: 107%; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-GB; mso-font-kerning: 0pt; mso-ligatures: none;">5. Include the control on this form and adjust its properties
accordingly.<o:p></o:p></span></p>
<div style="border-bottom: solid windowtext 1.0pt; border: none; mso-border-bottom-alt: solid windowtext .75pt; mso-element: para-border-div; padding: 0cm 0cm 1.0pt 0cm;">
<p class="MsoNormal" style="border: none; line-height: normal; margin-bottom: 0cm; mso-border-bottom-alt: solid windowtext .75pt; mso-padding-alt: 0cm 0cm 1.0pt 0cm; padding: 0cm;"><span style="font-family: "Times New Roman",serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-GB; mso-font-kerning: 0pt; mso-ligatures: none;">By following these steps, you can implement enhanced security measures
for specific form controls.</span></p></div></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjl08r5I0uIK-VJLFE-IaDua2gDC5iHznO2_9e-b_x_g3lSqr-bKplavmBwQ66Wt2HB7J6NraivbGlwM6Y1rPaVzoB2S7KFYVrqFgen9EeCTMy2GrIRMUUkONc3xcP-C1hEQ0TWM7jUx2_s7LFVX4l4cz7yyoJhBZyGTFLlj8EecDbIhuF1W-Kszkpkug" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="190" data-original-width="306" height="249" src="https://blogger.googleusercontent.com/img/a/AVvXsEjl08r5I0uIK-VJLFE-IaDua2gDC5iHznO2_9e-b_x_g3lSqr-bKplavmBwQ66Wt2HB7J6NraivbGlwM6Y1rPaVzoB2S7KFYVrqFgen9EeCTMy2GrIRMUUkONc3xcP-C1hEQ0TWM7jUx2_s7LFVX4l4cz7yyoJhBZyGTFLlj8EecDbIhuF1W-Kszkpkug=w400-h249" width="400" /></a></div><br /><br /></div><div><br /></div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-42147556452610057982023-06-06T16:06:00.001+00:002023-06-06T16:06:34.835+00:00Simplifying Data Retrieval with D365FO X++ Lookup Method<!DOCTYPE html>
<html>
<head>
<title>Simplifying Data Retrieval with D365FO X++ Lookup Method</title>
</head>
<body>
<h1>Simplifying Data Retrieval with D365FO X++ Lookup Method</h1>
<h2>Introduction</h2>
<p>Microsoft Dynamics 365 for Finance and Operations (D365FO) is a powerful ERP system that offers robust customization capabilities. One such customization option is the ability to write X++ code for lookup methods. These methods can greatly simplify data retrieval and enhance the user experience within the application. In this blog post, we will explore the lookup method in D365FO X++ code and provide a sample code snippet to demonstrate its usage.</p>
<h2>Understanding the Lookup Method</h2>
<p>The lookup method in D365FO X++ code allows developers to retrieve data from related tables or data sources based on specified criteria. It enables users to select a value from a predefined set of options, providing a seamless way to populate fields with accurate and relevant information. The lookup method essentially acts as a search functionality within the application, making it easier for users to find and select the desired data.</p>
<h2>Sample Code</h2>
<pre>
<code>
public static void lookupDemo(FormStringControl _control)
{
SysTableLookup sysTableLookup;
QueryBuildDataSource queryBuildDataSource;
QueryBuildRange queryBuildRange;
sysTableLookup = SysTableLookup::newParameters(tablenum(CustTable), _control);
queryBuildDataSource = sysTableLookup.addDataSource(tablenum(CustTable));
// Adding a range to filter the lookup results
queryBuildRange = queryBuildDataSource.addRange(fieldNum(CustTable, AccountNum));
queryBuildRange.value("1001"); // Setting the filter value
sysTableLookup.performFormLookup(); // Opening the lookup form
}
</code>
</pre>
<h2>Explanation</h2>
<p>In the above code, we start by creating a new instance of the <code>SysTableLookup</code> class, passing the target table and the control where the lookup will be displayed as parameters. In this case, we use the <code>CustTable</code> table and the <code>_control</code> argument, which represents the form string control.</p>
<p>Next, we add a data source to the lookup using the <code>addDataSource()</code> method. Here, we specify the table we want to retrieve data from (in this case, <code>CustTable</code>).</p>
<p>To filter the lookup results, we add a range using the <code>addRange()</code> method on the <code>queryBuildDataSource</code>. In this example, we filter the results based on the <code>AccountNum</code> field and set the filter value to "1001".</p>
<p>Finally, we call the <code>performFormLookup()</code> method on the <code>sysTableLookup</code> object, which opens the lookup form for the user to select the desired value.</p>
<h2>Conclusion</h2>
<p>The lookup method in D365FO X++ code provides a convenient way to retrieve and display data from related tables or data sources. By implementing lookup functionality, developers can enhance the user experience by simplifying data selection and ensuring the accuracy of entered values. The code snippet provided above serves as a starting point for utilizing lookup methods in your D365FO customization projects. Experiment with different tables, filters, and fields to tailor the lookup functionality to meet your specific business requirements.</p>
</body>
</html>
-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-55931193301316982802023-05-19T13:48:00.001+00:002023-05-19T13:48:00.161+00:00Configuring Azure Key Vault Parameters in Dynamics 365 Finance and Operations<!DOCTYPE html>
<html>
<head>
<title>Configuring Azure Key Vault Parameters in Dynamics 365 Finance and Operations</title>
</head>
<body>
<h1>Configuring Azure Key Vault Parameters in Dynamics 365 Finance and Operations</h1>
<h2>Introduction:</h2>
<p>In this blog post, I will guide you through the process of configuring Azure Key Vault parameters in Dynamics 365 Finance and Operations (referred to as FinOps). This configuration is particularly useful for integration scenarios where sensitive data, such as security keys or certifications, needs to be securely stored. By leveraging Azure Key Vault, we can ensure data encryption and proper management of cryptographic keys and certificates.</p>
<h2>Prerequisite Steps:</h2>
<p>Before we dive into the configuration, let's go through some prerequisite steps to set the stage for a seamless setup:</p>
<ol>
<li>Create a Key Vault: Begin by creating a Key Vault in the Azure portal and make a note of the Value URI, which can be found in the overview tab. This Value URI will be needed during the configuration process.</li>
<li>Add Certificates, Secrets, and Keys: Next, add the necessary certificates, secrets, and keys to your Key Vault. These items are essential for secure data storage and retrieval.</li>
<li>App Registration in Azure: Perform an app registration in the Azure portal and store the generated Client ID and Secret Key. This registration will enable secure communication between Dynamics 365 Finance and Operations and the Azure Key Vault.</li>
</ol>
<h2>Configuration Steps:</h2>
<p>Now that we have completed the prerequisite steps, let's proceed with the actual configuration of Azure Key Vault parameters in Dynamics 365 Finance and Operations:</p>
<ol>
<li>Navigate to D365FO: Go to the D365FO application and access the System Administration module.</li>
<li>Open Key Vault Parameters: Within the System Administration module, locate and open the "Key Vault Parameters" form.</li>
<li>Create a New Record: Create a new record in the Key Vault Parameters form, and fill in the required details for the configuration.</li>
<li>Certification Tab: Switch to the Certification tab within the Key Vault Parameters form. Here, you will add the necessary information for each certificate, including Name, Description, Secret, Secret Type, and Version (if applicable). The Secret field should contain a reference to the certificate in the format: vault://<KeyVaultName>/<SecretName>/(Version if any). Set the Secret Type to "Certificate."</li>
<li>Validate Configuration: Click on the Validate button to ensure the settings are properly configured and functioning as expected.</li>
</ol>
<h2>Code Example:</h2>
<p>To demonstrate how to access the configured certificate in your code, consider the following sample code snippet:</p>
<pre><code>public class TheAxaptaAccessKeyVault
{
public static void main(Args _args)
{
KeyVaultCertificateTable kvcTable;
str value;
kvcTable = KeyVaultCertificateTable::findByName("TestKeyVault");
value = KeyVaultCertificateHelper::getManualSecretValue(certTable.RecId);
info(value); // This will retrieve the value stored in the certificate.
}
}</code></pre>
<h2>Conclusion:</h2>
<p>Congratulations! You have successfully configured Azure Key Vault parameters in Dynamics 365 Finance and Operations. Now you can securely store and access sensitive data, such as certificates and keys, ensuring the highest level of data protection. Implementing this configuration will greatly enhance your integration scenarios and data security practices within the Dynamics 365 environment.</p>
<p>Happy configuring and coding!</p>
<p>#Dynamics365 #Azure #KeyVault #DataSecurity #Integration #Configuration</p>
</body>
</html>
-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-67415740836048051382023-04-30T14:30:00.003+00:002023-04-30T14:30:00.133+00:00Azure Key vault parameter setup in D365FO<div><span style="font-family: verdana;">Hi Folks, </span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;">In this post, I am going to share how to configure Azure key vault parameters in Dynamics 365 Finance and Operations (Let's call it FinOps until we have a new name from Microsoft :) ).</span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;">First, let's understand what the use of this form is, This is primarily used for integration scenarios where a business needs to save sensitive data like security keys or certifications and a functionality or application working with this data must support data encryption, working with certificates, etc. As the cloud version of Microsoft Dynamics 365 for Finance and Operations doesn't support local storage of certificates, customers need to use key vault storage in this case. The Azure Key Vault provides the opportunity to import cryptographic keys, and certificates to Azure, and to manage them.</span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;">Now let's see some prerequisite steps, </span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;">1. Create a key value on the Azure portal and note the Value URI. This is available on the overview tab.</span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhNuubEtMUKazrKbu3NvA34EkVJjRHCkrX5YgdFf4QKDN6DDX0_CJfcIPjQNwnTaDVywqSYoqZMNJwoTfpASiUvOtXVi1PeMurOzOoiZVOlEESehc7kl2GjPJBSHy18kkupxSrdQj-zaDvotdJb6pUVkCl0_VoEKYlRF3CtCojjr4nBLKnn0bZ4_VFcXg" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img alt="" data-original-height="338" data-original-width="1453" height="148" src="https://blogger.googleusercontent.com/img/a/AVvXsEhNuubEtMUKazrKbu3NvA34EkVJjRHCkrX5YgdFf4QKDN6DDX0_CJfcIPjQNwnTaDVywqSYoqZMNJwoTfpASiUvOtXVi1PeMurOzOoiZVOlEESehc7kl2GjPJBSHy18kkupxSrdQj-zaDvotdJb6pUVkCl0_VoEKYlRF3CtCojjr4nBLKnn0bZ4_VFcXg=w640-h148" width="640" /></span></a></div><span style="font-family: verdana;"><br />2. Add your certificate, Secrate, and keys.</span></div><div><span style="font-family: verdana;">3. On the Azure portal, do an app registration and store the client Id and secret key. </span></div><div><span style="font-family: verdana;">4. Now navigate to D365FO > System admin > Setup > Key Vault Parameters</span></div><div><span style="font-family: verdana;">5. Create a new record and fill below details</span></div><div><span style="font-family: verdana;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgQfzinZIaheGkCXrAQNqeeiiThKc3c5D2B-tHfx9WIMxyP2Jyo2FZa5hKJ9JALDVZUpUWKpGVDUfSwsgQjPKv2UXRckhH6P9JGAknsiImAkUSGLb18QsijVF3zIENKS9lVPKzgrexwoQVrbdwpW7JynZIwXE9JF_1-wSkdrSlnrfrY1odvYi8kFbaynQ" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img alt="" data-original-height="117" data-original-width="724" height="104" src="https://blogger.googleusercontent.com/img/a/AVvXsEgQfzinZIaheGkCXrAQNqeeiiThKc3c5D2B-tHfx9WIMxyP2Jyo2FZa5hKJ9JALDVZUpUWKpGVDUfSwsgQjPKv2UXRckhH6P9JGAknsiImAkUSGLb18QsijVF3zIENKS9lVPKzgrexwoQVrbdwpW7JynZIwXE9JF_1-wSkdrSlnrfrY1odvYi8kFbaynQ=w640-h104" width="640" /></span></a></div><span style="font-family: verdana;"><br />6. On the certification tab, add below for each certificate </span></div><div><div><b><span style="font-family: verdana;">Name</span></b></div><div><b><span style="font-family: verdana;">Description</span></b></div><div><span style="font-family: verdana;"><b>Secret </b>– Enter a secret reference to the certificate in the below format</span></div></div><div><div><span style="font-family: verdana;">vault://<KeyVaultName>/<SecretName>/(Version if any)</span></div></div><div><span style="font-family: verdana;"><b>Secret Type</b>: Certificate</span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;">7. Click on Validate button to check the setting. </span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;">That is all, now you should be able to access this certificate in your code, here is a sample code to access the certificate, </span></div><div><span style="font-family: verdana;"><br /></span></div><div><div><span style="font-family: courier;">public class TheAxaptaAccessKeyVault</span></div><div><span style="font-family: courier;">{</span></div><div><span style="font-family: courier;"> public static void main(Args _args)</span></div><div><span style="font-family: courier;"> {</span></div><div><span style="font-family: courier;"> KeyVaultCertificateTable kvcTable;</span></div><div><span style="font-family: courier;"><span> </span><span> </span>str<span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span>value</span></div><div><span style="font-family: courier;"><br /></span></div><div><span style="font-family: courier;"> <span> </span><span> </span>kvcTable = KeyVaultCertificateTable::findByName("TestKeyVault");</span></div><div><span style="font-family: courier;"> value <span> </span><span> </span>= KeyVaultCertificateHelper::getManualSecretValue(certTable.RecId);</span></div><div><span style="font-family: courier;"><br /></span></div><div><span style="font-family: courier;"> info(value); //This will give you stored in the certificate. </span></div></div><div><span style="font-family: courier;">}</span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;">Cheers!!!</span></div><div><span style="font-family: verdana;"><br /></span></div><span style="font-family: verdana;">-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
</span>Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-91112970151624738312023-04-12T14:57:00.000+00:002023-04-12T14:57:02.857+00:00Unable to restore database into DEV/Tier-1 instance <div>Hi Folks, </div><div><br /></div><div><br /></div><div>When trying to restore a DB backup (.bak file) to one of the DEV boxes I was getting a strange error (initially it was strange :) ). The backup file was the size of about 50GB and I have disc space available of about 400GB but still, system was reporting issues for size. </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgeY-mE3iuQsvZ5VOZ-1OmZdTRIWoPUMOyhkpb6BrtoauIkpcnSoLKGaNFHb82ModT5YYV2_m7ls3wDBPIiQFqaTkFyiZ0zozoPVMWsyS_R1jDINk53SF0QjJUVuPYmdk829gm635MlvtSptJcagTfRyFxIB-UlRcL5WM59T7GnqnZETQztY4qWVLAzSw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="266" data-original-width="969" height="176" src="https://blogger.googleusercontent.com/img/a/AVvXsEgeY-mE3iuQsvZ5VOZ-1OmZdTRIWoPUMOyhkpb6BrtoauIkpcnSoLKGaNFHb82ModT5YYV2_m7ls3wDBPIiQFqaTkFyiZ0zozoPVMWsyS_R1jDINk53SF0QjJUVuPYmdk829gm635MlvtSptJcagTfRyFxIB-UlRcL5WM59T7GnqnZETQztY4qWVLAzSw=w640-h176" width="640" /></a></div><br /><br /></div><div><b>Possible reason</b>: When we create a backup from SQL management studio, it contains only the used data pages and the backup file can be compress, while the actual database can be much larger then the backup file itself.</div><div><br /></div><div><b>Solution</b>: To verify the actual size of database, you can right-click on the database (at source) and check the properties, you will get the actual size of the Database itself. Now when you have the required size details with you, just make sure you have the space available in target system. </div><div>Now, as the dev box is hosted on your Azure subscription, you have much more control over this. You can <a href="https://learn.microsoft.com/en-us/azure/virtual-machines/windows/expand-os-disk?WT.mc_id=DX-MVP-5000410#resize-a-managed-disk-in-the-azure-portal" target="_blank">change the disk size from Azure portal.</a> </div><div><br /></div><div>Cheers!!!</div>-Harry <div><br /></div><div>Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
</div>Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0Manchester, UK53.4807593 -2.242630525.170525463821157 -37.3988805 81.790993136178855 32.9136195tag:blogger.com,1999:blog-2641146855810536218.post-59332580101820703852023-03-04T14:42:00.004+00:002023-05-23T13:16:19.152+00:00QuickFix: Set default browser in Visual studio for debugging<div><div><span style="font-size: medium;"><b>Introduction</b>:</span></div><div><span style="font-size: medium;">In the realm of Dynamics 365 development, encountering issues when debugging and finding that Visual Studio opens objects in Internet Explorer (IE) can be quite frustrating. Although Microsoft no longer officially supports IE, this peculiar behavior persists. Fortunately, there is a simple solution: changing the default browser within Visual Studio. In this blog post, we will guide you through the steps to configure your preferred browser, such as Chrome, for seamless debugging in Dynamics 365.</span></div><div><span style="font-size: medium;"><br /></span></div><div><span style="font-size: medium;">Step 1: Navigating to Visual Studio Extension</span></div><div><span style="font-size: medium;">To begin, open Visual Studio and access the "Extensions" menu.</span></div><div><span style="font-size: medium;"><br /></span></div><div><span style="font-size: medium;">Step 2: Dynamics 365 Extension Options</span></div><div><span style="font-size: medium;">Within the "Extensions" menu, locate and select the "Dynamics 365" extension. This will open the options panel specific to Dynamics 365 development.</span></div><div><span style="font-size: medium;"><br /></span></div><div><span style="font-size: medium;">Step 3: Debugging Configuration</span></div><div><span style="font-size: medium;">Within the Dynamics 365 extension options, find and select the "Debugging" section.</span></div><div><span style="font-size: medium;"><br /></span></div><div><span style="font-size: medium;">Step 4: Modifying Default Browser</span></div><div><span style="font-size: medium;">In the Debugging section, you will find the option to modify the default browser used for object debugging.</span></div><div><span style="font-size: medium;"><br /></span></div><div><span style="font-size: medium;">Step 5: Set Preferred Browser</span></div><div><span style="font-size: medium;">Choose your preferred browser, such as Chrome or any other compatible browser, as the default option for object debugging.</span></div><div><span style="font-size: medium;"><br /></span></div></div><div><span style="font-size: medium;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgfZ40wn9c_iIP4u34bztSgg1nMoeVAVGsOQZMM90KfkDsFFp5sqvmH29LNi4a3YxO_kjHiurEdaXxkybycW-DmxanKcH4SH8ht4w3ifqe90SxiBZQ0jk9erIrVi0o8ZMpYFmrj_-eBIxHrtFOy8bZ4-aRd1KFjW1lQqnfrnquMbAJl0lDYMsChNxM_mQ" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: medium;"><img alt="" data-original-height="575" data-original-width="863" height="426" src="https://blogger.googleusercontent.com/img/a/AVvXsEgfZ40wn9c_iIP4u34bztSgg1nMoeVAVGsOQZMM90KfkDsFFp5sqvmH29LNi4a3YxO_kjHiurEdaXxkybycW-DmxanKcH4SH8ht4w3ifqe90SxiBZQ0jk9erIrVi0o8ZMpYFmrj_-eBIxHrtFOy8bZ4-aRd1KFjW1lQqnfrnquMbAJl0lDYMsChNxM_mQ=w640-h426" width="640" /></span></a></div><span style="font-size: medium;"><br /></span><div><span style="font-size: medium;"><b>Conclusion</b>:</span></div><div><span style="font-size: medium;">By following these simple steps, you can easily resolve the issue of Visual Studio opening objects in Internet Explorer during debugging sessions in Dynamics 365. Take control of your debugging experience and choose a browser that aligns with your preferences and development requirements.</span></div><div><span style="font-size: medium;"><br /></span></div><div><span style="font-size: medium;">Happy debugging and seamless development!</span></div><div><span style="font-size: medium;"><br /></span></div><div><span style="font-size: medium;">#VisualStudio #Dynamics365 #Debugging #Development #BrowserConfiguration</span></div></div><div><span style="font-size: medium;"><br /></span></div><span style="font-size: medium;">-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
</span>Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-33350565229119187812023-02-25T09:16:00.009+00:002023-02-25T09:16:00.173+00:00Best way to do Postman setup with D365FO<div>Hi Folks, </div><div><br /></div><div>There are very simple steps to do initial setup between Postman and D365FO environment. Please follow below steps.</div><div><br /></div><div><i>(Make sure you have added a record in 'Azure Active Directory applications' in D365FO under Sys admin > setup > Azure Active Directory applications )</i></div><div><br /></div><div>1. Download postman from <a href="https://www.postman.com/downloads/" target="_blank">here</a> and install on you machine.</div><div><br /></div><div>2. Do app registration on Azure portal, and make sure you copy all details from app registration to a safe place as not all information will available for later use.</div><div><br /></div><div>3. Go to environment in left pane and create a new environment, you can name it as same as your D365FO environment like DEV01, UAT, Test etc. This also help when you are working with multiple environment and you keep using same get/post script to access different environments. </div><div><br /></div><div>4. Add all the variables here as below</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhOhydvCWCzkpdVxHgDv6LSiplFZi1KZwGu2XmuTuBApcb2_u4wF4bC34ejmKnxMPr9ZjpCnnfVSu9-8fKeOt1_CTUbL2fcYlw5u-lotts9zkwVgvz5GLSozxfq9SdZ304hyeLIr_meoSGz1ZwcnAzf07yu3vuAlMWOoy8OANl4yTxldcjmrPhTLwomww" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="368" data-original-width="1172" height="200" src="https://blogger.googleusercontent.com/img/a/AVvXsEhOhydvCWCzkpdVxHgDv6LSiplFZi1KZwGu2XmuTuBApcb2_u4wF4bC34ejmKnxMPr9ZjpCnnfVSu9-8fKeOt1_CTUbL2fcYlw5u-lotts9zkwVgvz5GLSozxfq9SdZ304hyeLIr_meoSGz1ZwcnAzf07yu3vuAlMWOoy8OANl4yTxldcjmrPhTLwomww=w640-h200" width="640" /></a></div><br />Client_ID: You will get it from Azure app registration. </div><div>grant_Type: client_credentials</div><div>resource: D365FO environment URL i<https://D365FOUrl/></div><div>client_secret: You will get it from Azure app registration. </div><div>tenant_id: You will get it from Azure app registration. </div><div>access_token: To generate access token follow step 9.</div><div><br /></div><div><br /></div><div>5. Now create new collection and name it with your environment name eg. Dev01</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjW6FfdwqbbhMseccPRJoYwZPWOnVel8F3EfAhxw2KA_ww9gsKRbjHZ-KZE0ZWcJiZQqVO0CLOckEkR7Ju8gL1W3ai7rp_QreyYBWMx19kaWbNajCTORS8QMR4c7goKT61za1uLJ97wdbZ6iF4O_4795PIhIYfvXm7Ea7yxcp1h2pX2_25JtrbNM4pBFw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="579" data-original-width="1241" height="298" src="https://blogger.googleusercontent.com/img/a/AVvXsEjW6FfdwqbbhMseccPRJoYwZPWOnVel8F3EfAhxw2KA_ww9gsKRbjHZ-KZE0ZWcJiZQqVO0CLOckEkR7Ju8gL1W3ai7rp_QreyYBWMx19kaWbNajCTORS8QMR4c7goKT61za1uLJ97wdbZ6iF4O_4795PIhIYfvXm7Ea7yxcp1h2pX2_25JtrbNM4pBFw=w640-h298" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div>6. Next, click on 3 dots next to collection name and select 'add request'</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh5R-Yxtiw8NQ3ifuzVF-KqTZnji7Pzu7QndKHRN-y6DTWT37QHzJMPLIijfRclUlxw_XzURtVBIc0EKVFfCdnv2tUbSUFAZWrKx_1zpx_0AdNxtG-1DbduWNGz8m5E48ZYglG6yX_fxVrhh3lP2iJ4aIWX0WVz3pRSpZZFEwypY7IcoyW8L64khfS7HQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="627" data-original-width="616" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEh5R-Yxtiw8NQ3ifuzVF-KqTZnji7Pzu7QndKHRN-y6DTWT37QHzJMPLIijfRclUlxw_XzURtVBIc0EKVFfCdnv2tUbSUFAZWrKx_1zpx_0AdNxtG-1DbduWNGz8m5E48ZYglG6yX_fxVrhh3lP2iJ4aIWX0WVz3pRSpZZFEwypY7IcoyW8L64khfS7HQ=w629-h640" width="629" /></a></div><br /><br />7. Name this request as 'Authorization', you can name it as per your use like getting public entities details or get a specific entity data or metadata. In the post request paste below as is.</div><div><br /></div><div><span data-offset-key="b2jtq-0-0" face="Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", Helvetica, Arial, sans-serif" style="background-color: white; color: #212121; font-size: 12px; white-space: pre-wrap;"><span data-text="true">https://login.microsoftonline.com/</span></span><span class="resolvedVariable" color="var(--base-color-brand)" data-testid="resolvedVariable" face="Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", Helvetica, Arial, sans-serif" spellcheck="false" style="background-color: white; font-size: 12px; white-space: pre-wrap;"><span data-offset-key="b2jtq-1-0">{{tenant_id}}</span></span><span data-offset-key="b2jtq-2-0" face="Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", Helvetica, Arial, sans-serif" style="background-color: white; color: #212121; font-size: 12px; white-space: pre-wrap;"><span data-text="true">/oauth2/token</span></span></div><div><br /></div><div><br /></div><div>8. Select 'From-data' in body and set below details.</div><div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg4kUt7WK3I5fPxjXYbGNdDGKSufUaEk-XqILLUABD0BdbR5UHOype-fVHyQAoX1gRNAqnZpafbzg0bVMd5dzCofeq_JmyKyJwWD0-Mrheh5gOq1x7ivy85mWYendc4FmOW9UbRpda2eE5X4pobRv5kKXDYpcsS3u4azFgd7Ta9xYqEhotYQ5Y0D5lwUg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="452" data-original-width="1274" height="228" src="https://blogger.googleusercontent.com/img/a/AVvXsEg4kUt7WK3I5fPxjXYbGNdDGKSufUaEk-XqILLUABD0BdbR5UHOype-fVHyQAoX1gRNAqnZpafbzg0bVMd5dzCofeq_JmyKyJwWD0-Mrheh5gOq1x7ivy85mWYendc4FmOW9UbRpda2eE5X4pobRv5kKXDYpcsS3u4azFgd7Ta9xYqEhotYQ5Y0D5lwUg=w640-h228" width="640" /></a></div><br /><br />Now you see we parameterize most of things and you don't need to create multiple request for different environments, you can simple change the environment from right top corner. <br /><br /></div><div>9. Now, Click on send button and you should get a status 200 message with access token. </div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgJpg28wQAAb3x4M0fdhuiXOt9irBto8guMSSXhZWxK8-8A__h0hDSWboqlpsfG5Siv2CHySGpVWiojonvJ0gNTT9ERB7UFT0PZohgpUGm3mEPKRWdajwenxjzVpSU6Hj4dGmyRRB-LRJ-MfEb-t9O2ssicJZbipELB8jYYqG5AUD2P5Z90nQQWn_aP9Q" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="464" data-original-width="1259" height="236" src="https://blogger.googleusercontent.com/img/a/AVvXsEgJpg28wQAAb3x4M0fdhuiXOt9irBto8guMSSXhZWxK8-8A__h0hDSWboqlpsfG5Siv2CHySGpVWiojonvJ0gNTT9ERB7UFT0PZohgpUGm3mEPKRWdajwenxjzVpSU6Hj4dGmyRRB-LRJ-MfEb-t9O2ssicJZbipELB8jYYqG5AUD2P5Z90nQQWn_aP9Q=w640-h236" width="640" /></a></div>You can add the access token to your environment variable. <br /><br /></div><div>Here we have completed the Postman setup. Now you can try few things to explore this further</div><div><br /></div><div>10. Add one more request in your collection, and add details as below to get list of public entities. </div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh8mM1-7hZy-5s75SGasXEpA-Q-W6voTPUU0lzID9GsCAzq_ghLv5CGoK_CviBvYbS60_WcLFVb50Dt6oMUtk0j0q3zRdiiCMThoq1AW5iC69zaBjGCXUG68ensCyK-bKk7EaqajCw-AdHEdVuUF77GxINY_3LvdqQrSBturRPvFH2PtmllY1jBou9WRQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="561" data-original-width="1264" height="284" src="https://blogger.googleusercontent.com/img/a/AVvXsEh8mM1-7hZy-5s75SGasXEpA-Q-W6voTPUU0lzID9GsCAzq_ghLv5CGoK_CviBvYbS60_WcLFVb50Dt6oMUtk0j0q3zRdiiCMThoq1AW5iC69zaBjGCXUG68ensCyK-bKk7EaqajCw-AdHEdVuUF77GxINY_3LvdqQrSBturRPvFH2PtmllY1jBou9WRQ=w640-h284" width="640" /></a></div><br /><br /></div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com1tag:blogger.com,1999:blog-2641146855810536218.post-65005572044339980752023-02-04T12:49:00.007+00:002023-02-04T12:49:40.820+00:00QuickFix: [Solved] SSRS Report Deployment failed - The number of defined parameter is not equal to the number of cell definitions in the parameter panel<div><span style="font-family: georgia;">While duplicating an SSRS report for customization sometimes you may face this error at the time of report deployment. </span></div><div><span style="font-family: georgia;"><br /></span></div><div><u><i><span style="font-family: georgia;">Error Message:</span></i></u></div><div><b><span style="font-family: georgia;">"SSRS Report Deployment failed - The number of the defined parameters is not equal to the number of cell definitions in the parameter panel."</span></b></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><u><i>Solution</i></u>: </span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;">The first thing you need to check for any extra parameter is this report, compare with the standard report. There are two places you need to compare</span></div><div><span style="font-family: georgia;">1. DataSet parameters</span></div><div><span style="font-family: georgia;">2. Report Parameter</span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhttytv86sRJv8cUJr2wpe9nTPoEx1p6l4Q6jUU6V-y9PwIKDNh4Rew3NJ8-9NhHiM84l_TgQGIY1MOv26oSNmyw-WnjC-hBtMPOmAJfYjPKE6Y3E-y9rvtg7zxjF2P6HJBX4v_g1IbXwRpSuZX_n9IGoOqOt1IN6oMP8GLBCLlclNwGSf7BJDwdkIseQ" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="665" data-original-width="464" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEhttytv86sRJv8cUJr2wpe9nTPoEx1p6l4Q6jUU6V-y9PwIKDNh4Rew3NJ8-9NhHiM84l_TgQGIY1MOv26oSNmyw-WnjC-hBtMPOmAJfYjPKE6Y3E-y9rvtg7zxjF2P6HJBX4v_g1IbXwRpSuZX_n9IGoOqOt1IN6oMP8GLBCLlclNwGSf7BJDwdkIseQ=w445-h640" width="445" /></a></div><br /><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><span style="font-family: georgia;"><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;">There might be an extra parameter(s), try to remove this extra parameter from the report. In case you are unable to delete it from the front end you need to open the report in XML (Right-click on the report in solution and select open with > Open with XML Text editor).</span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;">In the XML file search for this parameter and carefully remove it from everywhere. If you are not familiar with XML better to take help. Save your changes and build the solution. This time your report should be deployed without any error. </span></div><div><span style="font-family: georgia;"><br /></span></div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
</span>Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-20354280989391215552023-01-10T15:51:00.004+00:002023-10-23T08:26:55.971+00:00[Solved] Issue with Database import in Dev Box<div>[Updated on 19 Oct, 2023]</div><div>Hi Folks, </div><div><br /></div><div>While trying to import the UAT database into the dev box or any other tier-1 box (You might have tried this <a href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/database/import-database/?WT.mc_id=DX-MVP-5000410" target="_blank">MS document</a>), </div><div><br /></div><div><div>*** Changes to connection setting default values were incorporated in a recent release. More information is available at https://aka.ms/dacfx-connection</div><div>*** Error importing database: Could not import package.</div><div>Changes to connection setting default values were incorporated in a recent release. More information is available at https://aka.ms/dacfx-connection</div><div>Unable to connect to target server 'localhost'. Please verify the connection information such as the server name, login credentials, and firewall rules for the target server.</div><div>A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.)</div><div>The certificate chain was issued by an authority that is not trusted.</div><div>*** The settings for connection encryption or server certificate trust may lead to connection failure if the server is not properly configured.</div></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiYmdOWybrVB64SPMw7wpf4rFU5kS25KTNq-LU1NZAcJ6u7zf1gq39zUOO-XkAYt2SsoJHiQzeUxGek2pNJq3joGdVHaN0iRqrbHFeiUtfJvNrXfMBt_ufbCnC7LjeojM35wK6lZwCFTT7-cq9B0NGLEDSrWdUuzvikyK388MSlRj7eubvHohyg4CDrag" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="335" data-original-width="1188" height="180" src="https://blogger.googleusercontent.com/img/a/AVvXsEiYmdOWybrVB64SPMw7wpf4rFU5kS25KTNq-LU1NZAcJ6u7zf1gq39zUOO-XkAYt2SsoJHiQzeUxGek2pNJq3joGdVHaN0iRqrbHFeiUtfJvNrXfMBt_ufbCnC7LjeojM35wK6lZwCFTT7-cq9B0NGLEDSrWdUuzvikyK388MSlRj7eubvHohyg4CDrag=w640-h180" width="640" /></a></div><br /><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>That's because of recent changes in encryption policies on SQL. To fix this issue you need to update the import SQL command below</div><div><br /></div><div>SqlPackage.exe /a:import /sf:J:\MSSQL_BACKUP\UATbackup.bacpac /tsn:localhost /tdn:AXDB_UAT /p:CommandTimeout=1200<b> /TargetEncryptConnection:False</b></div><div><b><br /></b></div><div><b>Update on 19 Oct, 2023:</b></div><div><b><br /></b></div><div><b>Now you have to use the new parameters below </b></div><div><b><br /></b></div><div><b>SqlPackage.exe /a:import /sf:J:\MSSQL_BACKUP\UATbackup.bacpac /tsn:localhost /tdn:AxDb_UAT /p:CommandTimeout=1200 /TargetUser:"axdbadmin" /TargetPassword:"<DB adm pwd>" /TargetTrustServerCertificate:True</b></div><div><br /></div>-Harry
Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta
Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0tag:blogger.com,1999:blog-2641146855810536218.post-88759595303417990312022-12-31T20:54:00.000+00:002022-12-31T20:54:00.275+00:00[Hinglish] Form event methods in D3665FO<iframe width="480" height="270" src="https://youtube.com/embed/VlzT07je7Qk" frameborder="0"></iframe>Deepak Agarwalhttp://www.blogger.com/profile/14791585205262127391noreply@blogger.com0