With the release of Business Central 2025 Wave 1, BC continues to enhance administrative control and governance features. One of the most welcome additions for global organizations is the ability to limit the available language options per environment. This is a game-changer for companies seeking better localization control, user experience consistency, and governance.
🚀 What’s New?
Until now, Business Central environments would display all installed languages by default, allowing users to switch freely. While flexibility is good, it posed problems in certain scenarios:
Local subsidiaries wanting only their national language.
Confusion due to long lists of unused language options.
Incorrect UI labels or translations due to unintended language selection.
Wave 1 2025 introduces the ability to define which languages are allowed per environment. Admins can now limit language choices for users based on the business unit, geography, or internal policy.
🔧 How to Configure Allowed Languages
To define allowed languages for a specific environment, follow these steps:
Sign in to the Business Central
Navigate to the new section: “Allowed Languages”.
From the list of installed languages, check the boxes for only those you wish to allow.
Once applied, users in this environment will only see the allowed languages in their My Settings > Language dropdown.
This new feature may seem minor at first glance, but for global businesses and IT admins, it’s a powerful tool for consistency, control, and compliance. Whether you’re managing multiple countries, brands, or test environments, defining allowed languages per environment helps streamline operations and avoid confusion.
With the release of Business Central 2025 Wave 1, Business Central continues to simplify AL development by introducing intuitive and developer-friendly features. One such small yet powerful enhancement is the ToText method — designed to streamline how simple type values are converted to text.
In previous versions, we developers often relied on FORMAT() for converting simple types like integers, decimals, booleans, and option values into text. While FORMAT() has been effective, it comes with localization considerations and sometimes produces inconsistent results depending on the environment or the formatting settings.
✨ What’s New: ToText Method
The new ToText method is a type extension method introduced for simple AL types. It provides a clearer, more consistent way to convert values to string representations without the overhead of full formatting logic.
Supported Types
The ToText method supports the following simple types:
Integer
Decimal
Boolean
Char
Option
Date
Time
DateTime
GUID
Let’s look at some examples of how the ToText() method can simplify your code:
var
myInteger: Integer := 42;
myDecimal: Decimal := 2.71828;
myDate: Date := TODAY;
myTime: Time := TIME(10, 30, 0);
myBoolean: Boolean := true;
myOption: Option Alpha,Beta,Gamma := Option::Beta;
integerAsText: Text;
decimalAsText: Text;
dateAsText: Text;
timeAsText: Text;
booleanAsText: Text;
optionAsText: Text;
begin
integerAsText := myInteger.ToText(); // integerAsText will be '42'
decimalAsText := myDecimal.ToText(); // decimalAsText will be '2.71828' (or similar based on locale)
dateAsText := myDate.ToText(); // dateAsText will be the default short date format
timeAsText := myTime.ToText(); // timeAsText will be the default time format
booleanAsText := myBoolean.ToText(); // booleanAsText will be 'true'
optionAsText := myOption.ToText(); // optionAsText will be 'Beta'
Message('Integer: %1', integerAsText);
Message('Decimal: %1', decimalAsText);
Message('Date: %1', dateAsText);
Message('Time: %1', timeAsText);
Message('Boolean: %1', booleanAsText);
Message('Option: %1', optionAsText);
end;
Prefer ToText() when you want predictable results across environments (e.g., when storing values in logs or metadata).
Continue using FORMAT() when you need locale-aware output, such as in printed documents or user-facing formatted messages.
It simplifies the process of converting simple data types to their default text representations, leading to cleaner, more readable, and potentially more efficient code. While FORMAT() remains the go-to for advanced formatting needs, ToText() will undoubtedly become a frequently used tool in your Business Central development.
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 AutoFormatExpressionproperty 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.
What is the AutoFormatExpression Property?
The AutoFormatExpressionproperty in AL is used to specify a formatting expression that overrides the default formatting behavior of a control. It works in conjunction with the AutoFormatTypeproperty 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.
How Does 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:
Decimal Places: Use # for optional digits and 0 for mandatory digits after the decimal point.
Thousands Separator: Typically a comma (,), but this can be influenced by regional settings.
Currency Symbol: The currency symbol is usually determined by the 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:
Days:d (day of the month), dd (day of the month with leading zero), ddd (abbreviated day name), dddd (full day name).
Months:M (month number), MM (month number with leading zero), MMM (abbreviated month name), MMMM (full month name).
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.
With recent updates to AL language in Microsoft Dynamics 365 Business Central, developers now have more flexibility when working with strings containing numeric suffixes — thanks to the new overload of the IncStr method.
If you’ve ever had to increment a string with a number at the end (e.g., “INV001” to “INV002”), you’ve probably used IncStr. But until recently, IncStr only allowed an increment of +1.
FlowFields in Business Central are incredibly powerful, allowing you to dynamically calculate values based on related data. However, what happens when you have many FlowFields, but only a few are visible on a page? Calculating all of them can lead to unnecessary performance overhead. Business Central’s clever design allows you to optimize this process by calculating values only for visible FlowFields, significantly improving page load times and overall system responsiveness. Let’s delve into how this works and why it’s beneficial.
FlowFields retrieve data dynamically, often requiring complex calculations or lookups. While this provides real-time insights, it can also impact performance, especially when dealing with large datasets or numerous FlowFields.
Imagine a customer card page with dozens of FlowFields, but you only display a handful of them in the main view. Calculating all those FlowFields, even the hidden ones, wastes valuable resources. This is where Business Central’s “calculate only visible” feature comes into play.
The “Calculate Only Visible” Concept
Business Central intelligently determines which Flow Fields are currently visible on the page and only calculates those values. This optimization minimizes unnecessary computations, resulting in faster page loads and improved user experience.
Benefits of Calculating Only Visible FlowFields:
Improved Performance: Faster page load times, especially for pages with numerous FlowFields.
Enhanced User Experience: Smoother navigation and faster data retrieval.
Scalability: Allows you to design complex pages with many FlowFields without sacrificing performance.
Business Central’s runtime environment dynamically analyzes the page layout and determines which Flow Fields are currently displayed.
Business Central’s “calculate only visible FlowFields” feature is a powerful optimization that can significantly improve performance and user experience