Skip to main content

Posts

Showing posts from July, 2024

🔎 How to Get Line-wise Other Charges Tax Amount in D365FO (IGST / CGST / SGST)

 In many D365FO implementations (especially India GST projects), we often need: Line-wise Other Charges Tax Amount Split into IGST, CGST, and SGST For Posted Customer Invoice Lines (CustInvoiceTrans) By default, D365FO stores: Invoice Lines → CustInvoiceTrans Charges → MarkupTrans Tax → TaxTrans To get accurate charges tax per invoice line, we must follow proper table relation hierarchy. 📌 Table Relationship Structure CustInvoiceTrans → MarkupTrans → TaxTrans Relationship Logic: MarkupTrans.TransTableId == tableNum(CustInvoiceTrans) MarkupTrans.TransRecId == CustInvoiceTrans.RecId TaxTrans.SourceTableId == tableNum(MarkupTrans) TaxTrans.SourceRecId == MarkupTrans.RecId This ensures we fetch only Charges Tax , not Item Tax. 🧠 Business Requirement For each invoice line, we need: IGST Amount CGST Amount SGST Amount Converted to positive value (if negative) 💻 X++ Code – Line Wise Charges Tax Calculation Cus...

Introduction to X++ Variables

 X++ is a high-level programming language used primarily in Microsoft Dynamics 365 Finance and Operations. Understanding how variables work in X++ is fundamental for managing data and performing various operations within the ERP system. What is a Variable? A variable in X++ is an identifier that points to a memory location where data of a specific type is stored. The characteristics of a variable, such as size, precision, default value, and range, depend on its data type. Variables are crucial for storing and manipulating data during the execution of a program. Variable Scope The scope of a variable defines where it can be accessed within the code: Instance Variables : Declared in class declarations and accessible from any method within the class or its extensions. Local Variables : Declared within a method and can only be accessed within that method. Declaring Variables When you declare a variable, memory is allocated, and the variable is initialized to its default value. Variable...

Introduction to X++ (Detailed X++ Language Reference)

  Introduction to X++ X++ is a high-level programming language designed for enterprise resource planning (ERP) systems and database applications. It combines object-oriented, application-aware, and data-aware paradigms to facilitate complex business process management and data manipulation. Key Features of X++ Classes : System Classes : Provide core functionalities, such as file handling, collections, and data manipulation. Application Classes : Manage various business processes specific to ERP systems. Reflection : Allows introspection of classes to dynamically access properties and methods at runtime. Tables : Access to Relational Tables : X++ allows direct interaction with database tables using syntax similar to SQL. Keywords : Includes keywords for data definition and manipulation, akin to SQL. Reflection : Supports introspection on tables for dynamic access to fields and methods. User Interface : Forms and Reports : X++ provides the ability to create and manipulate UI elements...