With the release of Business Central 2025 Wave 1, Microsoft continues enhancing the AL language to make development cleaner, more flexible, and maintainable. One of the updates includes improvements around the AutoFormatExpression
property — a property that may seem minor but plays a crucial role in controlling how data is displayed, especially in reports and pages.
In essence, the AutoFormatExpression
property allows you to define a specific format for how numeric and date/time values are displayed in your Business Central application. This goes beyond the basic formatting options and provides granular control over aspects like decimal places, thousands separators, date and time patterns, and more.
AutoFormatExpression
Property?The AutoFormatExpression
property in AL is used to specify a formatting expression that overrides the default formatting behavior of a control. It works in conjunction with the AutoFormatType
property and is typically used in pages and reports to control how numeric or date values are displayed.
For example, you might want to display a date in DD-MM-YYYY
format instead of the system default, or format a decimal with specific currency or precision rules.
AutoFormatExpression
Work?The AutoFormatExpression
property accepts a string that defines the desired format. The syntax of this string follows specific rules depending on whether you are formatting numeric or date/time data.
For Numeric Data:
The expression can include placeholders for:
#
for optional digits and 0
for mandatory digits after the decimal point.,
), but this can be influenced by regional settings.AutoFormatType
and AutoFormatSubType
properties.Example:
#,##0.00
: Displays numbers with two decimal places and thousands separators (e.g., 1,234.56).0.0
: Displays numbers with one mandatory decimal place (e.g., 123.4).For Date/Time Data:
The expression uses specific codes to represent different parts of the date and time:
d
(day of the month), dd
(day of the month with leading zero), ddd
(abbreviated day name), dddd
(full day name).M
(month number), MM
(month number with leading zero), MMM
(abbreviated month name), MMMM
(full month name).yy
(two-digit year), yyyy
(four-digit year).h
(12-hour format), hh
(12-hour format with leading zero), H
(24-hour format), HH
(24-hour format with leading zero).m
(minutes), mm
(minutes with leading zero).s
(seconds), ss
(seconds with leading zero).f
, ff
, fff
(fractional seconds).tt
(AM/PM designator).:
), but this can be influenced by regional settings./
), hyphen (-
), or period (.
), but this can be influenced by regional settings.Examples:
MM/dd/yyyy
: Displays date as month/day/year (e.g., 12/25/2025).dd-MMM-yy hh:mm tt
: Displays date and time with abbreviated month and 12-hour format (e.g., 25-Dec-25 06:36 PM).dddd, MMMM dd, yyyy
: Displays the full day, month, and year (e.g., Monday, December 25, 2025).table AutformatTable
{
fields
{
field(1; "Amount"; Decimal)
{
AutoFormatType = 10; // Currency
AutoFormatExpression = "#,##0.00";
}
field(2; "Order Date"; Date)
{
AutoFormatExpression = "MM/dd/yyyy";
}
field(3; "Order Time"; Time)
{
AutoFormatExpression = "hh:mm:ss tt";
}
}
}
page AutoFormatPage
{
layout
{
area(content)
{
group(GroupName)
{
field("Amount"; Rec.Amount)
{
// Inherits AutoFormatExpression from the table field
}
field("Formatted Amount"; Rec.Amount)
{
AutoFormatExpression = "0.##"; // Overrides table field format for this instance
}
field("Order Date"; Rec."Order Date")
{
// Inherits AutoFormatExpression from the table field
}
field("Order Time"; Rec."Order Time")
{
// Inherits AutoFormatExpression from the table field
}
}
}
}
}
Another example could be as follows
pageextension 50100 CustomerListExt extends "Customer List"
{
layout
{
addlast(content)
{
field("Balance LCY"; Rec."Balance (LCY)")
{
ApplicationArea = All;
AutoFormatType = 1;
AutoFormatExpression = Rec."Currency Code";
}
}
}
}
While AutoFormatExpression
gives you precise control, be aware that regional settings can still influence aspects like decimal and thousands separators, as well as date and time formats if not explicitly defined.
The AutoFormatExpression
property in Business Central Wave 1 2025 is a significant enhancement for developers looking to control the presentation of numeric and date/time data.
Stay tuned for more !!!
Original Post https://ammolhsaallvi.blog/2025/04/22/autoformatexpression-property-in-business-central-wave-1-2025/