Mehrsprachiger Bericht funkt. nicht

5. Oktober 2009 10:38

Hallo alle,

ich habe irgendwie ein merkwürdiges Problem mit meinem Bericht.

Dieser ist eine Kopier vom Sales Quote Bericht. In diesem wurden eingige optische Anpassungen vorgenommen. In diesem Bericht sind alle CaptionML mit den Sprachcode ENU und DEA befüllt.
Außerdem sind in den Spracheinstellungen unter dem Pkt. Verwaltung diese Sprachcodes auch gesetzt. Im OnAfterGetRecord des ersten Dateitems wird außerdem auch der Sprachcode abgefragt.
Code:
 CurrReport.LANGUAGE := Language.GetLanguageID("Language Code");
.

Das komische ist, wenn ich die Sprache auf ENU einstelle und mir dann den Sectiondesigner öffne, ist alles in Englisch. Drucke ich aber diese Bericht, ist alles in Deutsch. Gibt es noch ein vierte Möglichkeit, wo ich die Sprache einstellen muss?

Danke für die Info.
LG
rom

Re: Mehrsprachiger Bericht funkt. nicht

5. Oktober 2009 10:45

rom hat geschrieben:Im OnAfterGetRecord des ersten Dateitems wird außerdem auch der Sprachcode abgefragt.
Code:
 CurrReport.LANGUAGE := Language.GetLanguageID("Language Code");
.

Ja, aber nicht der der Anwendung (also welche Sprache du momentan in NAV einsgestellt hast), sondern der Sprachcode des Debitors. "Language Code" meint das Feld "Language Code" des DataItems "Sales Header". Dieses Feld wiederum wird nach dem Feld "Language Code" des Sell-to Customers belegt.

Das komische ist, wenn ich die Sprache auf ENU einstelle und mir dann den Sectiondesigner öffne, ist alles in Englisch. Drucke ich aber diese Bericht, ist alles in Deutsch. Gibt es noch ein vierte Möglichkeit, wo ich die Sprache einstellen muss?

Logische Konsequenz laut obiger Feststellung ;-)
Die Sprache im Sectionsdesigner wird durch die NAV-Sprache gewählt, hat aber nichts direkt mit dem Ausdruck des Reports zu tun, wenn - wie hier - zum Zeitpunkt des Druckes die Sprache mittels CurrReport.LANGUAGE := ... übersteuert wird.

Was möchtest du nun erreichen? Wenn der Bericht stets in der Sprache des Debitors gedruckt werden soll, dann ändere nichts.
Soll eine andere Quelle angezapft werden (Auswahl im Optionsregister des Reports etc.), dann musst du diese Stelle hier noch ändern:
Code:
 CurrReport.LANGUAGE := Language.GetLanguageID(NeueLangID);

Also nicht mehr das Feld "Language Code" auswerten.
Soll die Sprache immer die aktuelle NAV-Sprache sein, dann kommentiere die obige Zeile einfach aus.