A blog about Dynamics 365

  • Creating a Table Group All Pattern

    Creating a Table Group All Pattern

    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 ER by Selected Records

    The Fast Way to Filter ER 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…

  • Debugging Electroninc Reporting

    Debugging Electroninc Reporting

    The debug functionality is a powerful ER tool that lets us see the values assigned to format nodes, the format mapping nodes, and finally navigate the mapping data sources. The last one is the most important part because it allows us to navigate between table relations. I frequently use this tool, not just for ER,…

  • Extending ER Destinations: Integration with OneDrive (III)

    Extending ER 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 ER Destinations: Integration with OneDrive (II)

    Extending ER Destinations: Integration with OneDrive (II)

    To implement the logic, we will create four classes: We won’t write the final class now. I’ll explain it in the next and last post of this series. For now, we will show an info message to verify it’s working. After compiling, we should see the destinations with a lookup for the connection. The enabled…

  • Extending ER Destinations: Integration with OneDrive (I)

    Extending ER 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…

  • Create a Word/PDF in ER (III)

    Create a Word/PDF in ER (III)

    In the last two posts, we explored how to create a Word document with ER. In this final part of the series, I will show you how to fix common issues when working with Word, name the document, and finally export it as a PDF. Line break By default, Word deletes line breaks and substitutes…

  • Create a Word/PDF in ER (II)

    Create a Word/PDF in ER (II)

    We already have the format mapped, so we can download our Word document by selecting the Word node, going to ‘Attachments’ and then selecting ‘Open’: Let’s open our Word document and ensure we have the ‘Developer’ tab enabled. If it’s not visible, you can activate it by navigating to ‘File’ > ‘Options’ > ‘Customize Ribbon’.…

  • Create a Word/PDF in ER (I)

    Create a Word/PDF in ER (I)

    In this series, I’m going to explain the process of creating a Word document in Electronic Reporting (ER) or a PDF, as it can easily be converted to PDF using the ‘Electronic Reporting Destination’. In this post, I’ll be focusing on the format, as the model and the mapping are generic. This method is valid…

  • Validate ER on execution and show errors or warnings

    Validate ER on execution and show errors or warnings

    Validate ER on execution and show errors or warnings

  • Extending Generic Electronic Reports

    Extending Generic Electronic Reports

    There are different ways to extend Generic Microsoft Electronic Reports (GER), depending on your needs. If you need to modify the data source, you would extend the mapping, while if you need to modify the design, you would extend the format. However, both approaches have limitations; for example, you cannot add a new field. In…

  • Mapping priority in ER

    Mapping priority in ER

    In ER, there may be multiple mappings for a single model. This is because there could be different ways of filling it. In this post, I’m going to explain how the system knows which one to run. Let’s start with this example of an export message. We have a model, three mappings, and a format.…

  • About VALUEIN() in ER for filtering lists

    About VALUEIN() in ER for filtering lists

    In this post, I’m going to experiment with the VALUEIN() formula inside FILTER() to better understand how it really works. VALUEIN() is a formula that returns a boolean indicating if a certain value is in a list. For example, if we want to know if ‘US-001’ is in the ‘CustTable’, we would do: And we’ll…

  • Using Electronic Reporting for API requests (II)

    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)

    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

    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…

  • Import a CSV file with ER (III)

    Import a CSV file with ER (III)

    In the first two entries of this series, we saw the standard way ER for import works, but sometimes that’s just not enough. When we’re working with a file we want to parse, and we have, or think we could find, escape characters (for example, with CSVs or EDI messages), we must leverage the power…

  • Import a CSV file with ER (II)

    Import a CSV file with ER (II)

    This article is the second in a series of three about importing CSV files into the system. We will explore the format, the format mapping, and how to test the development. In a future article, I will cover a topic that requires more advanced knowledge of Electronic Reporting and programming logic in general for addressing…

  • Import a CSV file with ER (I)

    Import a CSV file with ER (I)

    In this series, I’m going to show an example of importing a CSV file using Electronic Reporting (ER). This guide assumes you have basic knowledge of ER. If you are just starting, I recommend reading the series on ER export first, as it is more step-by-step and explains the basic concepts of ER. In an…

  • Integrating ER import messages into the UI

    Integrating ER 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 ER export formats into the UI

    Integrating ER 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,…

  • ER Object Base Reference Error

    ER Object Base Reference Error

    When uploading versions to ER, you may sometimes encounter the error messages ‘Unresolved references left’ and ‘Reference of the object X to the object ‘Base’ Y cannot be established’. Let’s discuss why this happens, how to prevent it, and how to fix it. Cause Let’s suppose we have a Model, a Mapping, and a Format.…

  • Export Message Creation in D365FO Electronic Reporting: Part IV – The Format

    Export Message Creation in D365FO Electronic Reporting: Part IV – The Format

    In this final part of the series, we’ll explore how to create a text file using some of the data we’ve gathered in our mapping. The file will be organized into sections, with information sorted both by a suffix on each line and the data’s position within the line. This format is commonly used in…

  • Export Message Creation in D365FO Electronic Reporting: Part III – The Mapping

    Export Message Creation in D365FO Electronic Reporting: Part III – The Mapping

    In this final part of the mapping, we’re going to link our declared and transformed objects with the model and then check if the data we are getting is what we were expecting. There are two ways to link nodes: either directly with the ‘Bind’ button or using the formula UI ‘edit’. Let’s start with…

  • Export Message Creation in D365FO Electronic Reporting: Part II – The Mapping

    Export Message Creation in D365FO Electronic Reporting: Part II – The Mapping

    In this second part, we’re going to see how to create the mapping. This is the most technical part, and while we’re going to keep it simple, it sometimes requires knowledge of the system architecture and access to Visual Studio, or the help of someone with a technical profile. I’ve decided to split the mapping…

  • Export Message Creation in D365FO Electronic Reporting: Part I – The Model

    Export Message Creation in D365FO Electronic Reporting: Part I – The Model

    In this series, we’re going to learn how to create a simple export message with Electronic Reporting (ER) from scratch, without extending any generic message from Microsoft. The goal is to generate a txt file containing filtered data from customer invoices. There are three kinds of nodes or steps involved in creating an export message:…

  • About safety of Electronic Reports (ER) from unknown origins in D365FO

    About safety of Electronic Reports (ER) from unknown origins in D365FO

    ER is a powerful tool with access to most AOT objects, making it theoretically unsafe if the origin of the ER is unknown. Data transformation, along with data insertion or retrieval from the database, occurs in the mapping, potentially making it the most dangerous node. Additionally, because a mapping can be directly created within the…

  • Converting ER Lookup Codes to External Codes: A Step-by-Step Guide

    Converting ER Lookup Codes to External Codes: A Step-by-Step Guide

    In this blog post, I’ll show you how to change lookup data in Dynamics 365 for Finance and Operations into internal enumerations set up by users, accessible through the standard UI for each legal entity. Specifically we’ll look at how to change tax codes from the TaxTable into external codes, like ‘VAT’, ‘Green taxes’, and…