RTC Bericht Mehrsprachig

17. April 2014 08:18

Hallo,
ich versuche einen sehr einfachen Bericht von NAV2009 R2 in NAV13 R2 nachzubauen.
Leider habe ich ein Problem mit der Mehrsprachigkeit. In Nav09 hat es wunderbar funktioniert.
Sprich es werden die Werte von der Tabelleneigenschaft CaptionML angezeigt, abhängig vom Sprachencode.

Nur leider schaffe ich das nicht in NAV13 R2. Habe es nicht geschafft bei einen Label und auch nicht bei Felder mit Include Caption.
Mit einem globalen Textfeld funktioniert es.
Wo könnte hier der Fehler sein.

lg
stony

Re: RTC Bericht Mehrsprachig

17. April 2014 08:48

stony hat geschrieben:Nur leider schaffe ich das nicht in NAV13 R2. Habe es nicht geschafft bei einen Label und auch nicht bei Felder mit Include Caption.
Mit einem globalen Textfeld funktioniert es.
Wo könnte hier der Fehler sein.
Egal ob Label oder Include Caption: Beide landen nicht als Spalte in deinem DataSet, sondern unter den Berichtsparametern. Diese Parameter ändern sich den ganzen Bericht hindurch nicht. Druckst du z.B. 5 Auftragsbestätigungen unterschiedlicher Sprachen als Stapel, ändern sich die Werte der Berichtsparameter nicht.

Also: Labels dürfen NUR für Reports verwendet werden, welche nicht zwischendurch die Sprache wechseln.

Wenn dein Bericht aber nur einmal eine andere Sprache wählt - nämlich ganz zu Anfang - sollte das kein Problem sein. Setze das CurrReport.LANGUAGE dann aber nicht im OnAfterGetRecord- sondern OnPreDataItem-Trigger.

Re: RTC Bericht Mehrsprachig

17. April 2014 11:00

Wenn ich den Befehl CurrReport.LANGUAGE in den OnPreDataItem-Trigger gebe, dann funktioniert auch die Textvariable nicht mehr.
Und ich brauche nur einmal. Sprich ändere die Sprache im Bericht nicht.

Re: RTC Bericht Mehrsprachig

17. April 2014 11:16

Woher weiß dein Report, in welche Sprache er wechseln soll? Liegt es doch an den Daten im DataItem? Dies widerspräche aber deiner Aussage, die Sprache könnte nicht zwischendurch wechseln.

Re: RTC Bericht Mehrsprachig

17. April 2014 11:40

Der Bericht hat zwei DataItem´s. Einen Kopf und eine für die Zeilen.
In der Kopftabelle ist ein Feld, welches den Sprachcode enthält. Und diese lese ich mit dem Befehl CurrReport.LANGUAGE := Language.GetLanguageID(Sprachcode) aus.

Re: RTC Bericht Mehrsprachig

17. April 2014 12:20

stony hat geschrieben:In der Kopftabelle ist ein Feld, welches den Sprachcode enthält.

Wie gesagt, für dieses Szenario sind die Labels (und damit Include Caption) nicht vorgesehen, da niemand den Benutzern verbietet, den Reportfilter zu lösen und mehrere Köpfe gleichzeitig zu drucken = mehrere Sprachwechsel.

Wenn du trotzdem unbedingt mit Labels arbeiten möchtest, musst du halt die Clientsprache (GLOBALLANGUAGE) temporär umstellen ...