Category: X++
-
A Guide to Daily Data Aggregation in Electronic Reporting
From time to time, I need to develop reports that present monthly data aggregated by day. In this post, I’ll demonstrate how a user can select a specific month of the year and generate a CSV report showing the total vendor invoiced amount for each day. I’ll also walk through the methodology I use and…
-
Extending Electronic Reporting Sources: Integration with OneDrive (II/II)
To implement the logic, we will create the following classes: TST2 One DriveInbound File: This class defines a custom inbound file and implements the interface ERIImportFile. TST2 One DriveInbound FileSource: This class is intended to read and import files. However, we will use it primarily to call TST2 OneDriveAPI, ensuring a better separation of concerns.…
-
Extending Electronic Reporting Sources: Integration with OneDrive (I)
In this series, I will explain how to extend ER (Electronic Reporting) sources to import from non-default origins (beyond the default options like manual imports or SharePoint). This will also enable us to program batch jobs for continuous integrations. Specifically, I will guide you step by step on how to integrate with a third-party OneDrive,…
-
Creating a Table Group All Pattern in Dynamics F&O
There is a recurring pattern across various parts of the ERP system that allows users to select a specific record, a group, or all. This pattern is commonly applied against Customer, Vendor, and Product Masters. The granularity it offers is highly useful, as it simplifies the user’s parameterization process. For example, with Customers, we can…
-
The Fast Way to Filter Electronic Reporting by Selected Records
Sometimes, we need to print a report based on filtered records. While there is a default function for this in ER table records, using the “Ask for query” option, this may not always meet the user’s needs. Instead, the user might prefer to select the records directly from the form and then click the report…
-
Extending Electronic Reporting Destinations: Integration with OneDrive (III)
In this final post of the series, I’m going to explain how to send files to OneDrive. Since I’ve implemented this functionality in a separate class, it’s more independent from the ER destinations. This is intentional because we may want to reuse the class for other developments. If you are extending destinations that aren’t for…
-
Extending Electronic Reporting Destinations: Integration with OneDrive (II)
To implement the logic, we will create four classes: TST2 OneDriveERDest Settings: This class packs and unpacks the form’s data and implements the ERIFormatFile DestinationSettings interface. TST2 OneDriveERDest OneDrive: This class retrieves the file and sends it to the TST2 OneDriveAPI. It implements the ERIFileDestination interface. TST2 OneDriveERDest EventHandlers: This class enables and disables controls…
-
Extending Electronic Reporting Destinations: Integration with OneDrive (I)
By default, you can export ER generated files to your computer, to a tab in your browser, to an email, to an archive (either the default SharePoint or the default Azure Storage), to a printer, and even to Power BI (though I’m not sure how this works, it seems to pass through SharePoint). Most of…
-
Using Electronic Reporting for API requests (II)
In this second part, I’m going to explain the code from the executable class. I’m using attachments because I find them very helpful during testing and even in production. However, you can also work in memory; at the end of this guide, I’ll explain how. Let’s start with the executable class. We’ll begin by using…
-
Using Electronic Reporting for API requests (I)
When we need to make a request to an external API, it’s really helpful to use ER because it’s a low-code environment that helps us build, test, and fix our messages much faster. ER supports XML and JSON, so we won’t have a hard time designing the request body or reading the response body. With…
-
Run interface implementations parameterized in a lookup
In this blog post, I’m going to show you a pattern that allows users to parameterize an Interface and run it based on that parameterization. This isn’t a tutorial or guide per se, but rather an experimental solution I developed while trying to implement a similar pattern to the one already used by Microsoft in…
-
Integrating Electronic Reporting import messages into the UI
Following my previous article, ‘Integrating ER Export Formats into the UI’, let’s now take a look at import messages. I’m starting with a very simple model, an import format and an import mapping (direction to destination). In the mapping, there are two user input parameters, ‘string1’ and ‘string2’. These parameters serve as the keys for…
-
Integrating Electronic Reporting export formats into the UI
We’re going to see how to integrate an ER export format into a form. This involves adding a button that, when clicked, will execute a parameterized ER format and pass arguments from the currently selected record. We have this table, where the first two strings act as a unique key: Additionally, we have a Model,…