[Gelöst] Sprache/Bericht auf Englisch

Bild Microsoft Dynamics NAV 3.xx
(ehem. Navision Attain)

[Gelöst] Sprache/Bericht auf Englisch

Beitragvon cremoso » 8. Februar 2007 11:02

Guten Tag!

Wir haben zwei Berichte. Einen auf Deutsch und einen auf Englisch.
Wie kann ich es am Besten lösen die bei einem Button eventuell zu hinterlegen und dann eine Abfrage kommt ob man es Deutsch oder Englisch haben will? Hoffe ich habe mich verständlich genug ausgedrückt :)
Vielen Dank schon mal!

lg cremoso
Zuletzt geändert von cremoso am 14. März 2007 16:43, insgesamt 1-mal geändert.
cremoso
 
Beiträge: 4
Registriert: 8. Februar 2007 11:00

Beitragvon mikka » 8. Februar 2007 11:51

Hallo cremoso,
"Herzlich Wilkommen" hier im Forum.

Evtl so:
Auf dem Push Trigger
Code: Alles auswählen
IF CONFIRM('Ausdruck in Deutsch?',TRUE) THEN
 REPORT.RUNMODAL(Dein_Deutscher_Report)
ELSE
  REPORT.RUNMODAL(Dein_Englischer_Report);


Alternativ:
Auswahl = Variable Integer
Code: Alles auswählen
Auswahl := STRMENU('Deutsch drucken,Englisch drucken,Abbrechen',1);
CASE Auswahl OF
  1: REPORT.RUNMODAL(Dein_Deutscher_Report);
  2: REPORT.RUNMODAL(Dein_Englischer_Report);
  3: MESSAGE('Dier Verarbeitung wurde abgebrochen');
END;

GruĂź Mikka
GruĂź, Mikka

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
mikka
Microsoft Partner
Microsoft Partner
 
Beiträge: 1832
Registriert: 26. September 2005 11:54
Wohnort: Bremen
Realer Name: Michael
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.6, 3.7, 4, 5, 2009/13/15

Beitragvon cremoso » 8. Februar 2007 12:04

Danke schon dafĂĽr!
Habe aber noch ein Problem. Und zwar (man oh man ist Navision unĂĽbersichtlich) steht schon eine Menge Code drin. Habe drei Buttons. Einmal um eine Bestellung per Fax, per Email zu verschicken und einmal nur zum Druck. Bei Fax ist das Problem das wir nicht so genau wissen was da gemacht wird. Wir sind im Navision Programmieren ziemlich neu.

code hätte ich hier.

Beim Button hinterlegt - Finde da nur raus was fĂĽr eine CodeUnit aufgerufen wird...
Code: Alles auswählen
<Control1000000009> - OnPush()
BelegDrucken.EinkKopfDruck(Rec);
 
BerechneTotale()
EinkBuchen.SummeEinkaufZeilen(Rec,1,TotalEkZeile,TotalEkZeileMW,MWStBetrag,MWSTBetragText);
 
InitDokument(VAR Dokument : Record Dokument)
// DM_stle
Dokument.INIT;
Dokument.Herkunftstyp := 'BESTELLUNG';
Dokument."Herkunftsnr." := "Nr.";


Das ist der "wichtige" Teil aus der codeunit
Code: Alles auswählen
EinkKnopfDruckFax(EinkKopf  : Record Einkaufskopf)

//************ 2004-03-18 : Ro : 1.00 **************************************
EinkKopf.SETRANGE("Nr.",EinkKopf."Nr.");
EinkaufEinrichtung.GET;
IF EinkaufEinrichtung."Rechnungsrab. berechnen" THEN BEGIN
  EinkZeile.RESET;
  EinkZeile.SETRANGE(Belegart,EinkKopf.Belegart);
  EinkZeile.SETRANGE("Belegnr.",EinkKopf."Nr.");
  EinkZeile.FIND('-');
  EinkBerechRab.RUN(EinkZeile);
  EinkKopf.GET(EinkKopf.Belegart,EinkKopf."Nr.");
  COMMIT;
END;
CASE EinkKopf.Belegart OF
  EinkKopf.Belegart::Anfrage:
    BerichtsAuswahl.SETRANGE(Verwendung,BerichtsAuswahl.Verwendung::EK_AnFax);
  EinkKopf.Belegart::Rahmenbestellung:
    BerichtsAuswahl.SETRANGE(Verwendung,BerichtsAuswahl.Verwendung::"EK-Rahm");
  EinkKopf.Belegart::Bestellung:
    BerichtsAuswahl.SETRANGE(Verwendung,BerichtsAuswahl.Verwendung::EK_BeFax);
  ELSE
    EXIT;
END;
BerichtsAuswahl.SETFILTER("Bericht ID",'<>0');
BerichtsAuswahl.FIND('-');
REPEAT
  REPORT.RUNMODAL(BerichtsAuswahl."Bericht ID",TRUE,FALSE,EinkKopf)
UNTIL BerichtsAuswahl.NEXT = 0;


ich verstehe aber nicht wann der bericht aufgerufen wird
cremoso
 
Beiträge: 4
Registriert: 8. Februar 2007 11:00

Beitragvon Natalie » 8. Februar 2007 12:38

ich verstehe aber nicht wann der bericht aufgerufen wird


In deinem Codeunit-Ausschnitt ganz unten:
Code: Alles auswählen
REPEAT
  REPORT.RUNMODAL(BerichtsAuswahl."Bericht ID",TRUE,FALSE,EinkKopf)
UNTIL BerichtsAuswahl.NEXT = 0;
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Beitragvon cremoso » 8. Februar 2007 12:46

Aber wo mich das hinfĂĽhren soll oder heissen soll weiĂź ich nicht

Code: Alles auswählen
BerichtsAuswahl."Bericht ID",TRUE,FALSE,EinkKopf
cremoso
 
Beiträge: 4
Registriert: 8. Februar 2007 11:00

Beitragvon Natalie » 8. Februar 2007 13:34

Du hast recht, das, was du vorhast, beiĂźt sich ĂĽbelst mit dem Standard.

Der Standard sieht vor, dass du keine zwei Berichte fĂĽr verschiedene Sprachen verwendest, sondern im Gegenteil, einen Bericht immer mehrsprachig anlegst.

Im Bericht selber (und das wĂĽrde sich auch nicht mit deinem Plan beiĂźen) kann die Sprachauswahl umgeswitcht werden (etwa ĂĽber die Optionen).
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Beitragvon cremoso » 8. Februar 2007 13:36

Wie funktioniert dies genau mit der Mehrsprachigkeit in einem Bericht??

Ich weiss zwar, dass es hier die Caption ML gibt, diese greift jedoch meines Wissens immer auf die Current Language vom User/Windows zurĂĽck, somit geht es in meinem Fall nicht.

Kann ich die Language ID mit dem Aufrufbefehl vom Report mitangeben?
Dies wäre die beste Lösung.

Danke fĂĽr deine nette Hilfe.
cremoso
 
Beiträge: 4
Registriert: 8. Februar 2007 11:00

Beitragvon Natalie » 8. Februar 2007 14:35

Dies wird bereits im Standard so gemacht.
Nimm zum Beispiel die Auftragsbestätigung, Report 204.
Die Sprache richtet sich nach der Sprache des Debitors, der Sie bekommt.

Umgesetzt wird dies so:
Im DataItem "Sales Header", Trigger OnAfterGetRecord findest du ganz oben
Code: Alles auswählen
CurrReport.LANGUAGE := Language.GetLanguageID("Language Code");


Und so musst du das verstehen:
Sprache des Reports = Funktion zum Umstellen (Paramter: Ziel-Sprache).
Die Zielsprache ist hier das Feld "Language Code" der Tabelle Sales Header.
NatĂĽrlich kannst du statt der Feld-Variablen auch mit einer von dir geschaffenen Code-Variable arbeiten. Hauptsache, es wird ein gĂĽltiger Sprachcode ĂĽbergeben.
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV


ZurĂĽck zu NAV 3.xx

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron