Retail Statement Posting– Retail Statement Posting or Day End Posting in Microsoft Dynamics 365 finance and operations/D365 Commerce/D365 Retail is very important process. In Dynamics 365 Commerce, Retail statement posting process is a batch task which updates financial Transaction, customer transactions & inventory transactions. Retail statement posting process consists automation of activities like creation of sales order from D365 MPOS/CPOS retail sales transactions, invoice posting of sales order , retail tender payments & customer settlements.
Scenarios– Extension & Customization of Retail posting routine is a common requirement and classes architecture & posting routines is way more different than Microsoft Ax 2012 retail statement posting and totally new.
Example 1 :
During the time of retail statement posting, developer wants to carry custom fields in SalesLine or wants to update value of fields in SalesLine.During Retail statement posting , RetailTransactionServiceOrder Class is resposible for creation of SalesTable or Customer Order. Fortunately, Microsoft provides a class RetailCreateCustomerOrderExtensions for extending Retail Statement posting – Customer Order Creation Process. You can extend the class RetailCreateCustomerOrderExtensions and by using Chain of command (COC) of method RetailCreateCustomerOrderExtensions.preSalesLineCreate() you can achieve mentioned scenario.
In example 1 we are modifying the value of SalesLine. In this example , developer wants to update or carry new fields in SalesTable or customer Order Header during Retail Statement Posting.You can extend the class RetailCreateCustomerOrderExtensions and by using Chain of command (COC) of method RetailCreateCustomerOrderExtensions.orderHeaderBeforeInsert() you can achieve mentioned scenario.
Issue – During the creation of data entity of table VendInvoiceTrans in Microsoft Dynamics 365 Finance and operation, system is throwing error- The natural key for the table VendInvoiceTrans was not found.
Root Cause– The reason is that the table VendInvoiceTrans is using RecId as its primary index. D365 Fo Data Entity Wizard doesn’t support tables with a RecId as a primary index.
Steps to Solve–
Duplicate any existing data entity in your D365 fins and ops project and model. In my case i am making a duplicate copy of existing data entity – EMPSurveyTableEntity
Rename the duplicate copy of data entity
Change the existing datasource of data entity from EMPSurveyTable to VendInvoiceTrans
Delete existing fields of data entity and add new field from datasource vendInvoiceTrans
Remove the field from KEYS –> ENTITY KEY and new fields as per your need from datasource VendInvoiceTrans. ENTITY KEY fields should not allow duplicate and should be unique combination.
Change the Data entity properties PUBLIC COLLECTION NAME , PUBLIC ENTITY NAME & DATA MANAGEMENT STAGING TABLE to new values.
Right click on data entity and regenerate Staging Table Again
Objective – Microsoft Dynamics 365 (Finance & operations) & Forms Pro Survey Integration : Send and Save Survey Responses using Microsoft Power Automate/Microsoft Flow/Azure Logic Apps.
Scenario – Organisation wants to send Employee Satisfaction Survey to their employees via email. Employee will complete the survey . Survey Responses should be store and save in Microsoft Dynamics 365 Finance & operations.
Technologies/Products – Microsoft Form Pro(Free 30 Days Trial), Microsoft Dynamics 365 Finance & operations, Microsoft Power Automate(Microsoft Flow/Azure Logic Apps).
Prerequisite – Before moving ahead individual must go and see my old post on Microsoft Forms i.e. Microsoft Forms : Create a Survey Form From Scratch. Individual should have knowledge of Microsoft Power Automate(Microsoft Flow/Azure Logic Apps) & Dynamics 365 Finance & operations development.
Send Survey – Login to Microsoft Power Automate/Microsoft Flow/Azure Logic Apps. Create a Microsoft Flow for sending Employee Surveys to the employees of the company . In this scenario i am using a custom data entity of Employee master which is returning fields – Employee Code & Employee Email, Employee. You can use your own data entity as per your requirement and business need. I am reading all the Employee records and sending surveys in their email. You can add more conditions as per your business need. For demonstration purpose i am keeping things simple.Please refer below flow for your reference.
Storing and saving Survey responses – Create a Microsoft Flow for Storing and saving Survey responses in Microsoft Dynamics 365 Finance and operations using D365 FO custom data entity and Microsoft Flow Fins and ops connectors.Please refer below flow for your reference.
Microsoft Forms is online application & surveys creator tool which helps you to create surveys, quizzes & polls. Microsoft Forms also comes with Microsoft Forms Pro version with many more integration capabilities and features as comparison to basic version.With Microsoft Forms Pro, you can create and send surveys and receive survey responses in Dynamics 365 Applications along with other Dynamics 365 data. Microsoft Forms can be easily integrated and used with applications like Microsoft Flow, Microsoft Power Automate & Microsoft Azure Logic Apps.
In Microsoft Dynamics AX/D365 Finance and operation, users can setup multiple legal entities. By default in Microsoft Dynamics AX/D365 FO, all tables store data per company unless SaveDataPerCompany property is not changed to NO. By dafault value of property SaveDataPerCompany = Yes.Using crosscompany & changecompany keyword, you can construct a query to retrieve all records, regardless of the company you are currently logged into.You can fetch the all the company records using keyword -crosscompany and function – changecompany.
static void main()
custTable = null;
while select custTable
//custTable of company 'INMF'.
static void main()
while select crosscompany custTable
custTable of all the companies
Metadata object with the same name is defined in multiple assemblies.
##[error]C:\DynamicsSDK\Metadata\Microsoft.Dynamics.AX.Application.Build.targets(40,5): Error : Error: AxTableExtension/InventSite.ACXPowerBIExtension/Name - Metadata object with the same name is defined in multiple assemblies: 'WOWMOMO,ACXPOWERBI'
Search the Table Extension InventSite.ACXPowerBIExtension in Application Explorer.
Go the K:\AosService\PackagesLocalDirectory Folder. Choose your model folder and remove extra copy or duplicate copy of InventSite.ACXPowerBIExtension from your model.
Restart visual studio and start build and sychronisation.
Microsoft Dynamics AX, Microsoft Dynamics 365 for Finance and Operations, D365 FO, Retail, SQL, Microsoft Power Apps, Microsoft Power BI, Microsoft Azure, Logic Apps, Microsoft Flow, Microsoft power automate, Microsoft Power Platform,.Net, X++, C#, Power BI DAX, Data Warehousing, Microsoft Analysis Services, SQL Server Reporting Services