Skip to main content


Use temporary table as form datasource in D365FO

In this article, we will learn how we can use the temporary table as a form datasource in D365. In our scenario, we will populate the temporary table at runtime and bind it with the form datasource. firstly, we will pass an argument on the clicked event and write the form datasource  init  method to populate the data in it.  In our scenario we will work on the CustTable form, we will populate the customer group in the temporary table which we create on the selected customer while clicking the button. Step 1:  Create a new table of type TempDB and add two new fields i.e., CustGroupId and CustGroup. Step 2:  We will create a new form with the pattern (List Type), then add our previously created temporary table as a datasource, and then drag both the fields CustGroupId and CustGroup on the form grid part. After the form creation, we will also create the display menu item of type  form  and use our form on it. Step 3:  We will create an extension of the form ' CustTable ' and creat
Recent posts

Display method and their alternative in D365

In this article, we will learn how to add a field to the VendTable form in Dynamics 365 using the display method and the alternative of using view. The field would be populated on two different locations whose navigations are as below: Navigation 1: Account payable -> Vendors -> All vendors Navigation 2:  Account payable -> Vendors -> All vendors -> Payment tab Add field using Display Method Display Method:  Any method which has a display keyword as a modifier is a display method. You can use the display method on formdatasource, tables, and forms. Display methods are used where we want to show additional information on the forms or reports such as field computation, getting value from different tables without creating active relationships on the datasource level, and so on.  Step 1: We will create an extension of table VendTable and after creating an extension we will create a COC of the table which contains our custom display method. To improve the performance of a dis

Deploy Package to LCS for Dynamics 365 Finance & Operation

In this blog, we will learn how to extract deployable packages from the Azure DevOps Pipeline and then deploy the specific package to the LCS Standard Acceptance Testing (UAT) Environment. Extract Package from Pipeline and Upload to LCS Step 1 : Go to Azure DevOps ->  Pipelines ->  Recent ->  10.0.37-Gated Build Step 2 : Go to recent check-in Step 3 : Go to published Step 4 : Click on Step 5 : After downloading the Deployable package Go to Lifecycle Services -> Asset library Step 6 : Go to Software deployable package Step 7 : Navigate and select Software deployable package and select the  + button to add the package to the folder and confirm. Refresh the screen and wait for the package to get validated, the tick will appear once validated. Note: The package will be successfully uploaded to the LCS Environment after the above step. Now we will deploy this package to the Standard Acceptance Testing (UAT) environment. Deploy Pack

Inserting Data in Table using Query::insert_recordset

When dealing with performance, there is a query system control named Query::Insert_Recordset.  This allows multiple records to be inserted into a table in the same way the Insert_Recordset command works. This will also eliminate the  need to loop over hundreds of records, as well as roundtrips between the SQL server and the AOS server.  Here is a quick demo of how it works:  Query query = new Query(queryStr(MDTrvExpenseDetailsQuery)); QueryRun queryRun; QueryBuildDataSource qbdsTrvExpTrans, qbdsTrvExpTable, qbdsProjTable, qbdsHcmWorker, qbdsDirPerson; Map fieldMapping; HcmPositionWorkerAssignment hcmPositionWorkerAssignment; HcmPosition hcmPosition; MDTrvExpenseDetailsContract contract = this.parmDataContract() as MDTrvExpenseDetailsContract; paymentStatus = contract.parmPaymentS

Bank Cheque Report Customization

In this article, we will customize the Vendor Payment Journal   form and the Bank Cheque Payment  report in D365. We have to add the custom field in the Vendor Payment Journal form, report and also customize the slip text area of the cheque printing report. To fulfill the requirement we will follow such steps: Step 1: We will create an extension of the  LedgerJournalTrans  table and then add the custom field  Memo to it.  Step 2: We will create an extension of the  form   LedgerJournalTransVendPaym (Vendor Payment Journal)  and drag the  Memo  field in the lines from the LedgerJournalTrans datasource. Note: The custom field is successfully added to the form. Now we will add this field to the cheque report. Step 3: We will create COC of the  determineReportMenuOutput method of the ChequeController class to call our custom design of the cheque report.  [ExtensionOf(classStr(ChequeController))] internal final class MDChequeController_Extension { protected str determineReportMenuO

Adding custom field in the SSRS Report

The purpose of this blog:  We will add a custom field in the standard SSRS report We will create COC for the PSAProjInvoiceDP class to assign the custom field value First of all, we will go through the report: Project management and accounting -> Projects -> All projects Action pane -> Manage -> Project invoice proposal (as well as) Action pane -> Manage -> Invoice journal This is the default format of the report and we have to remove all the marked columns from our design and add the Service date  i.e., the Confirmed receipt date column in the first column of the line details as shown  below: The design of this report is: To fulfill the above requirement we will do the following steps: Step 1: We will create an extension of the table ' PSAProjInvoiceTmp ' . This table contains the information used in the line details section of the report. Here we add the new custom field named ' ReceiptDateConfirmed ': Step 2: We will duplicate the  ' PSAProjInv

Add New Report Format to Print Management in D365

In my previous article , I explained how to add a custom field, make some  design  changes, and create a chain of command of the  PSAProjInvoiceDP  class in the PSAProjInvoice   report. In this article, we will look at how we can call our custom report that we have created in the previous article using Print Management. W hat is print management? Print management in D365 FO X++ is a powerful tool for managing and customizing your report designs. It provides a flexible way to control how your reports are printed and distributed. Adding our report design to print management By default, we have a PSAProjInvoice.Report   report format for the Project Invoice Proposal   and Invoice Journal  reports. In our case, we have to add our custom design using the Print management report format.  Project management and accounting -> Setup -> Forms -> Form setup Print Management -> Project invoice without billing rules -> To add a custom design firstly we have to find the document type