Labels im Report zeigen Fremdsprache nicht an

8. Juli 2021 17:06

Hallo zusammen,

ich habe einen Report wo einige statische Texte als Labels angelegt sind. Die Labels haben sowohl deutsche als auch französische (FRB) Übersetzungen.

Allerdings zeigt der Report die Labels immer nur in Deutsch an, obwohl der Kunde FRB als Language Code hat. Wenn ich allerdings an meinem NAV Client die Systemsprache auf FRB umstelle, werden auch die Labels übersetzt.

Irgendwo im Report scheint da ein Fehler zu sein.

Habt ihr eine Idee wo ich da schauen könnte?

Viele Grüße
escrima

Re: Labels im Report zeigen Fremdsprache nicht an

8. Juli 2021 17:18

Hallo,

der Report hat keinen Fehler.
Wenn du in einem Report während des Drucks mit unterschiedlichen Sprachen arbeiten möchtest (Belege), dann musst du mit Textkonstanten arbeiten, die können die Sprache auch währen des Drucks umschalten.

Gruß Fiddi

Re: Labels im Report zeigen Fremdsprache nicht an

9. Juli 2021 08:47

Ist denn die sinngemäße Zeile
Code:
 CurrReport.LANGUAGE := Language.GetLanguageID(ContactLanguageCode);

vorhanden? Sonst kommt kein Sprachwechsel auf die des Kontakts.
Multiple Document Languages

Re: Labels im Report zeigen Fremdsprache nicht an

9. Juli 2021 09:37

Hallo,

ich fürchte das ändern der Sprache im Report wird für Labels nicht funktionieren, da die nur einmal am Anfang des Berichts ausgegeben werden, und nicht nachdem du den Kontakt gelesen hast.

Gruß Fiddi

Re: Labels im Report zeigen Fremdsprache nicht an

9. Juli 2021 10:06

fiddi hat geschrieben:[…]da die nur einmal am Anfang des Berichts ausgegeben werden, und nicht nachdem du den Kontakt gelesen hast.

Würde ich so probieren:
Funktion im Report erstellen, Kontakt dorthin jeweils vorab per Reportvariable übergeben und damit die Sprache festlegen und danach den Report mit der gleichen Reportvariable aufrufen.

Re: Labels im Report zeigen Fremdsprache nicht an

9. Juli 2021 10:11

Hallo,

ich würde versuchen die Sprache im aufrufenden Code des Reports umzustellen, bevor ich den Report aufrufe.

Beide ausprobieren.

Gruß Fiddi

Re: Labels im Report zeigen Fremdsprache nicht an

13. Juli 2021 08:11

Hallo,

mein Code beginnt wie unten zu sehen und die Sprache wird bei Sales Header - OnAfterGetRecord() festgelegt. Das scheint ja zu spät für die Labels zu sein.

Muss ich dann bei OnInitReport() oder vorher schon eine Funktion erstellen, die mir den Kontakt übergibt?

Code:
Documentation()

OnInitReport()
CompanyInfo.GET;
SalesSetup.GET;
CompanyInfo.CALCFIELDS(Picture);
ShowLines := TRUE;

OnPreReport()
IF NOT CurrReport.USEREQUESTPAGE THEN
  InitLogInteraction;

OnPostReport()

Sales Header - OnPreDataItem()
NoOfRecords := COUNT;
Print := Print OR NOT IsReportInPreviewMode;

Sales Header - OnAfterGetRecord()
IF grecContact.GET("Sales Header"."Bill-to Contact No.") THEN;
CurrReport.LANGUAGE := Language.GetLanguageID("Language Code");

FormatAddr.GetCompanyAddr("Sales Header"."Responsibility Center",RespCenter,CompanyInfo,CompanyAddr);
FormatAddr.SalesHeaderBillTo(CustAddr,"Sales Header");
FormatDocument.SetPaymentTerms(PaymentTerms,"Payment Terms Code","Language Code");

IF SalespersonPurchaser.GET("Sales Header"."Salesperson Code") THEN BEGIN

Re: Labels im Report zeigen Fremdsprache nicht an

13. Juli 2021 08:20

Hallo,

ich habe es noch nicht probiert, aber ich fürchte, die Sprache musst du noch vor dem Aufruf des Reports setzen, wenn es denn überhaupt funktioniert.

Und ganz wichtig: Du kannst die Sprache nicht im Report wechseln, also mehrere Aufträge am Stück mit unterschiedlichen Sprachen zu drucken ist mit Labels nicht möglich.
Das könnte insbesondere bei Rechnungen interessant werden, die man gerne mit dem Filter "Menge gedruckt" =0 ausdruckt.

Daher würde ich bei Belegen immer mit Textkonstanten arbeiten. (Die müssen ja nicht alle einzeln übergeben werden 8-) )

Gruß Fiddi

Re: Labels im Report zeigen Fremdsprache nicht an

15. Juli 2021 12:58

Vielen Dank für eure Tips. So richtig hat's einfach nicht funktioniert mit den Labels.

Ich hab jetzt alle Labels auf Text Konstanten umgestellt und damit läufts super-