BC14 regionales Datumsformat

13. September 2022 16:00

Hallo,

wie bekomme ich es hin, wenn ich eine SalesLine.Description per Code befülle, dass ein Datum im jeweiligen Regionsformat des "Sell-to Customer" erzeugt wird?
Soweit ich weiß, macht das BC immer anhand meiner eigenen Regionseinstellung

Beispiel

Code:
SalesLine.Description := STRSUBSTNO('Invoice from %1 until %2,FromDate,ToDate);


Für einen US-Kunde soll dann in der SalesLine folgendes stehen

Code:
Invoice from 04/24/22 until 05/24/22


und nicht

Code:
Invoice from 24.04.2022 until 24.05.2022


Also mein Ziel wäre es z.B. in der Ländercodetabelle ein Feld Region einzubauen und dort die Windows Region "en-US" zu hinterlegen.
Sollte dann ein Debitor US als Ländercode und Region "en-US" eingerichtet haben, dann wird das Datum entsprechend für die Sales Line formatiert.
In RDLC geht das meines Wissens. Lässt sich das auch im AL / C/AL irgendwie lösen?

Re: BC14 regionales Datumsformat

13. September 2022 16:09

Du könntest es natürlich ausprogrammieren in Abhängigkeit der Region des Debitors, die Standardformate beziehen sich auf die Region des jeweiligen Windows.

Sinngemäß also:
CASE Customer.Region of
'US' : Text := FORMAT(Date,0,'<Month,2>/<Day,2>/<Year>');
'DE' : Text := FORMAT(Date,0,'<Day,2>.<Month,2>.<Year4>');
END;

https://docs.microsoft.com/en-us/dynami ... te-formats

Re: BC14 regionales Datumsformat

13. September 2022 16:53

Also mein Ziel wäre es z.B. in der Ländercodetabelle ein Feld Region einzubauen und dort die Windows Region "en-US" zu hinterlegen.

Das ist sicherlich auch sinnvoll,über DotNet kann man das auswerten,Hinweise hier
https://community.dynamics.com/business/b/navteam/posts/windows-regional-settings-and-number-formatting-in-rdlc-reports
https://docs.microsoft.com/de-de/dotnet/api/system.globalization.datetimeformatinfo?view=net-6.0

Falls man das Fass nicht aufmachen will, einfach alle benötigten FilterStrings ('<Month,2>/<Day,2>/<Year>','<Day,2>.<Month,2>.<Year4>','<Day,2>/<Month,2>/<Year4>','<Day,2>-<Month,2>-<Year4>' usw.) in ein weiteres Feld in der Ländertabelle eintragen und dann im Report im FORMAT-Befehl direkt einsetzen. Dann kann man alle internationalen Geschäftspartner mit dem jeweiligen inländischen Datumsformat bzw. den Trennzeichen verwöhnen, die sie gewohnt sind.
z.B.
US,GB,FR,IT,PT: /
DK,PL,SE: .
NL: -