FORMAT Beispiele

5. September 2006 18:07

Wie meine Umfrage gezeigt hat, gibt es ein gewisses Interesse an einer FORMAT-Beispielsammlung.

Ich eröffne hier ein entsprechendes Thema dazu. Bitte benutzt dieses Thema nur für Veröffentlichungen von funktionierenden Beispielen. Für allfällige Diskussionen und Fragen zum FORMAT-Befehl bitte ich euch, jeweils ein eigenes Thema im entsprechenden Forum zu eröffnen. Daraus resultierende, funktionsfähige Beispiele können dann hier angefügt werden.

Besten Dank für eure Mithilfe.

Beispiele:
In den FormatString kann man auch Textbausteine einbauen. Als Anwendungsbeispiel ein kleiner Test ob im System die normale DE- Datumsformatierung eingestellt ist.
Code:
OBJECT Codeunit 50055 Datumsformat DE
{
  OBJECT-PROPERTIES
  {
    Date=20.10.11;
    Time=15:39:47;
    Modified=Yes;
    Version List=;
  }
  PROPERTIES
  {
    OnRun=BEGIN
            MESSAGE(FORMAT(TODAY,0,STRSUBSTNO('%1 <Standard Format,0> %2 <Day,2>.<Month,2>.<Year>',Text001,Text002)));
          END;

  }
  CODE
  {
    VAR
      Text001@1000000000 : TextConst 'DEU=Diese Datumsformatierung:;ENU=This date format:';
      Text002@1000000001 : TextConst 'DEU=sollte mit dieser identisch sein:;ENU=should be identical to this one:';

    BEGIN
    END.
  }
}


Das Datum im Format TT.MMM ausgeben:
Code:
FORMAT(TODAY, 0, '<Day,2>.<Month Text,3>');


Datum/Zeit Stempel im Format YYYYMMDD_HHMMSS (z.B. bei Verwendung als Datei-Suffix):
Code:
FORMAT(CURRENTDATETIME, 0, '<Year4><Month,2><Day,2>_<Hour,2><Minute,2><Second,2>')


Ausgabe des Integer-Wertes bei Options-Feldern:
Code:
FORMAT(OptionField, 0, '<Number>')


Das Datum 4-Stellig ausgeben:
Code:
FORMAT(Buchungsdatum,0,'<Day,2>.<Month,2>.<Year4,4>')


Eine Decimal Zahl mit beliebigen "Tausender-Trennzeichen" ausgeben:
Hinweiß: Bei einem Hochkomma müssen 2 Hochkommas geschrieben werden, alle anderen Zeichen einfach!
Code:
FORMAT(Preis,0,'<Integer><1000Character,''><Decimal,3><Comma,.>')


Kovertieren in Text und Füllzeichen einfügen z.B. 000000001.000
Code:
FORMAT(Item.Inventory,0,'<Integer,9><Filler Character,0><Decimals,3><Comma,.><Precision,3:3>')


Decimalwert mit 5 Nachkommastellen, trotz DecimalPlaces 2:2:
Code:
FORMAT("Standard Cost",0,'<Precision,2:2><Standard Format,0>')


Wenn in einem Export über einen Dataport Betragsfelder ausgegeben werden, schneidet der Export die letzten Nullen ab. Aus 50.50 wird 50.5, aus 50.00 nur 50.
Für die weitere Verwendung in einem Serienbrief z.B. ist dies sehr unschön. Abhilfe schafft da folgende Formatierung mit FORMAT:
Code:
FORMAT(Rec.Betrag,0,'<Precision,2:2><Standard Format,0>');
Zuletzt geändert von rotsch am 19. März 2013 17:21, insgesamt 5-mal geändert.

Betrag als Text ausgeben mit zwei Nachkommastellen

5. September 2006 18:11

Wenn in einem Export über einen Dataport Betragsfelder ausgegeben werden, schneidet der Export die letzten Nullen ab. Aus 50.50 wird 50.5, aus 50.00 nur 50.

Für die weitere Verwendung in einem Serienbrief z.B. ist dies sehr unschön. Abhilfe schafft da folgende Formatierung mit FORMAT:

Code:
FORMAT(Rec.Betrag,0,'<Precision,2:2><Standard Format,0>');

6. Februar 2007 09:55

Das Datum 4-Stellig ausgeben:
Originalbeitag:Format funktion
Code:
FORMAT(Buchungsdatum,0,'<Day,2>.<Month,2>.<Year4,4>')



Eine Decimal Zahl mit beliebigen "Tausender-Trennzeichen" ausgeben:
Hinweiß: Bei einem Hochkomma müssen 2 Hochkommas geschrieben werden, alle anderen Zeichen einfach!
Originalbeitag:Befehl Format
Code:
FORMAT(Preis,0,'<Integer><1000Character,''><Decimal,3><Comma,.>')


Kovertieren in Text und Füllzeichen einfügen z.B. 000000001.000
Originalbeitag:FORMAT-Funktion zur Konvertierung Decimal-->Text
Code:
FORMAT(Item.Inventory,0,'<Integer,9><Filler Character,0><Decimals,3><Comma,.><Precision,3:3>')



Decimalwert mit 5 Nachkommastellen, trotz DecimalPlaces 2:2
Originalbeitag:FORMAT-Funktion zur Konvertierung Decimal-->Text
Kowa hat geschrieben:Trage bei den Properties bei AutoFormatType eine 1 ein. Diese AutoFormatType-"2" in der Fieldproperty kann nur mit der AutoFormatType-"1" in der Textbox-Property übersteuert werden.

6. Februar 2007 10:38

Hi Rotsch!

Sehr gute Idee! Hier, was mir spontan dazu einfällt ...

Datum/Zeit Stempel im Format YYYYMMDD_HHMMSS (z.B. bei Verwendung als Datei-Suffix):

Code:
FORMAT(CURRENTDATETIME, 0, '<Year4><Month,2><Day,2>_<Hour,2><Minute,2><Second,2>')


Ausgabe des Integer-Wertes bei Options-Feldern:

Code:
FORMAT(OptionField, 0, '<Number>')


To be continued ...

Re: FORMAT Beispiele

9. August 2010 14:29

Das Datum im Format TT.MMM ausgeben:
Originalbeitag:http://www.msdynamics.de/viewtopic.php?f=36&t=10849
Code:
FORMAT(TODAY, 0, '<Day,2>.<Month Text,3>');


mfg,
winfy

Re: FORMAT Beispiele

20. Oktober 2011 15:56

In den FormatString kann man auch Textbausteine einbauen. Als Anwendungsbeispiel ein kleiner Test, ob im System die normale DE- Datumsformatierung eingestellt ist.
Code:
OBJECT Codeunit 50055 Datumsformat DE
{
  OBJECT-PROPERTIES
  {
    Date=20.10.11;
    Time=15:39:47;
    Modified=Yes;
    Version List=;
  }
  PROPERTIES
  {
    OnRun=BEGIN
            MESSAGE(FORMAT(TODAY,0,STRSUBSTNO('%1 <Standard Format,0> %2 <Day,2>.<Month,2>.<Year>',Text001,Text002)));
          END;

  }
  CODE
  {
    VAR
      Text001@1000000000 : TextConst 'DEU=Diese Datumsformatierung:;ENU=This date format:';
      Text002@1000000001 : TextConst 'DEU=sollte mit dieser identisch sein:;ENU=should be identical to this one:';

    BEGIN
    END.
  }
}