Ãœbersetzbare Felder des Artikelstamms
Michael Wanner
Sali ZämeWenn ich auf dem Artikelstamm Übersetzebare Benutzerdefinierte Felder (oder auch Beschreibung in Fremdsprache) habe und diese im z.B Englischen Kundenauftrag andrucken möchte, erscheinen mir diese Felder noch in Deutsch.
Wie kann ich erzeugen, dass diese Felder auch in der Sprache des Dokuments angedruckt werden?
Besten Dank für die Antwort
Gruess Michi
Philipp Knecht
Hi MichaelPrinzipiell werden die Artikelbezeichnungen wie man sie im Artikelstamm eingeben kann (Feld RDR1.Dscription) und die Usertexte (Feld OITM.UserText) schon mittels Query übersetzt.
In der nächsten Version kommen dann die Zahlungsbedingungen auch noch dazu.
Falls du weitere Felder die mittels B1 - Funktion übersetzt wurden andrucken willst kannst du die folgende Funktion benutzen welche du wie üblich mittels LD.GetMLDesc aufrufen kannst.
(Den Parameter "LangCode" kannst du direkt von den Ld.Txt - Parametern hernehmen)
hth
/// <summary>
/// Returns corresponding translation
/// </summary>
/// <param name="defValue">The Value if no Translation is found</param>
/// <param name="tableName">Tablename (Check OMLT)</param>
/// <param name="fieldName">FieldAlias (Check OMLT)</param>
/// <param name="pk">Primary Key (Check OMLT)</param>
/// <param name="langCode">LangCode (Check MLT1)</param>
/// <returns></returns>
public static string GetMLDesc(string defValue, string tableName,string fieldName, string pk, string langCode)
Manuel Grenacher
Für die Multilanguage (Übersetzungen) hier ein Beispiel eines UDF auf dem Artikel (OITM)Die Funktion braucht folgende Parameter -> LD.GetMLDesc(string defValue, string tableName,string fieldName, string pk, string langCode)
Folgener Aufruf im VALUE Feld hinterlegen:
[quote]LD.GetMLDesc(DocumentRow("RowRowItems.U_FELD"),"OITM","U_FELD", DocumentRow("RowRowItems.ItemCode"),GetData("LD.Par.LangCode"))
defValue -> DocumentRow("RowRowItems.U_FELD"), Falls keine Übersetzung vorhanden ist, übernimmt er den Standardwert
tableName -> "OITM", Artikelstammdaten, Wenn es ein Beleg ist, kann hier ORDR verwendet werden.
fieldName -> "U_FELD", Ihr UserField
pk -> DocumentRow("RowRowItems.ItemCode"), ItemCode, kann in der OMLT Tabelle nachgesehen werden (Select * from OMLT)
langCode -> GetData("LD.Par.LangCode"), Code wird vom Layouter übergeben, kann auch vom GP gelesen werden.
0
Please sign in to leave a comment.
Comments
0 comments