Skip to main content

Posts

Your D365 Emails Deserve Better Than Plain Text | Build Professional HTML Email Templates in Dynamics 365 Finance & Operations | D365 FO X++

Your D365 Emails Deserve Better Than Plain Text | Build Professional HTML Email Templates in Dynamics 365 Finance & Operations ERP notification emails have a reputation problem. Approval alerts, violation notices, document-ready pings — most of them look like they were built in 2004: plain text, no branding, maybe a logo if you're lucky. It doesn't have to be that way. If you've built a notification email in Dynamics 365 Finance & Operations, you've likely faced this question: where does the header banner, the logo, and the footer icons actually come from — and how do you make the email actually look good without turning it into a maintenance nightmare? A common first instinct is to hardcode the whole email as an HTML string in X++, with the images either linked to a random hosted path or (worse) embedded as long Base64 strings baked directly into the code. It works, but it's fragile: every rebrand or logo tweak becomes a code change and a deployment, the cl...
Recent posts

Error while Restoring DB After Dynamics F&O Version Upgrade "An unexpected failure occurred: Data plan execution failed with message One or more errors occurred. (One or more errors occurred. (One or more errors occurred. (Violation of PRIMARY KEY constraint 'I_15464SETTINGKEYINDEX'. Cannot insert duplicate key in object 'dbo.FINANCIALREPORTINGSETTINGS'. The duplicate key value is (5637144576, DisableMaps). The statement has been terminated.)))."

Dear Dev Team, We usually encounter this type of error after upgrading Dynamics versions. The simplest and most reliable way to resolve it is to restore or import the database using a temporary name , and then rename it back to AxDB afterward. Failed Execution :  you will get the error message. "An unexpected failure occurred: Data plan execution failed with message One or more errors occurred. (One or more errors occurred. (One or more errors occurred. (Violation of PRIMARY KEY constraint 'I_15464SETTINGKEYINDEX'. Cannot insert duplicate key in object 'dbo.FINANCIALREPORTINGSETTINGS'. The duplicate key value is (5637144576, DisableMaps). The statement has been terminated.)))." Correct approach The key step is to temporarily rename AxDB to AxDBLocal during the import. C:\SqlPackageExe>SqlPackage.exe /a:import /sf:C:\DB\qfz-erp-stgbackup.bacpac /tsn:LOCALHOST /tdn:AxDBLocal /p:CommandTimeout=18000 /TargetEncryptConnection:False Later use below script to ...

Integrate Business Events with Applications using MS Power Automate Flow in D365 FO

Integrate OOTB or Customized Business Events with Applications using MS Power Automate Flow Dear Consultants, Based on requirements, we choose integration techniques. Today, we'll discuss the methods we use to trigger a call based on process in D365 FO. Blog for Pre Process before consuming Customized Business Event : Customized Business Event in D365 FO Requirements: New employee is getting on board. The outside system should know the on-boarding process has initiated. Dependent processed will trigger based on ERP event CRUD operation should be available using Data entity framework. Pre- requisites: Data Entity should be available Business Event should be available Permission to create and manage flow should be available on Power Portal.     Steps: 1) Navigate to Business Events Catalog 2) Search your OOTB / Customized Business Event & Download the schema 3) Login to https://make.powerautomat...

Custom Service Integration to sending response as a list in D365 F&O || Inbound integration

  Hello Devs, Custom service is very common when it comes to third party integration. Here I will explain using inbound integration to design a custom service and expose the service for integration. Requirement : Need to send list of employees who are on leave today This service will be used by third party Application We will start from creating Response class, 1) Response class 2) A Helper class to hold Response within a list 3) The main Service class to hold logic 4) Simply, Once populating all response values and adding them into list, Return List Response . That is in my case, return ResponseList; 5) Creating service for your service class 5) After service, create service group 6) Assign Service class to Service element 7) Now assign our Service to Service Group (You can drag & drop also) 8) Test your service (On any browser) Structure : Environment URL/API/Services/YourServiceGroupTitle/YourServiceTitle/YourMethod In my case it looks like this, Testing your ...