Beschreibung statt Wert
Hallo,
ich möchte ein Userfeld im Beleg anzeigen. Das Userfeld ist ein Dropdown Feld mit einer hinterlegten Werteliste. Nun wird mir immer der "Wert" im Beleg angezeigt/gedruckt. Wie bekomme ich es hin, das die dazugehörige Beschreibung an dieser Stelle angezeigt/gedruckt wird?
Danke für eure Hilfe!
-
Hallo Sven,
du kannst LD.GetDesc verwenden.
LD.GetDesc("OCRD","U_CardType",dataBand1("U_CardType"))
LD.GetDesc("XXX1","U_XXX2",XXX3)
XXX1 = Name der Tabelle in der das UDF ist
XXX2 = UDF-FeldName
XXX3 = Das Feld das du zur Zeit nutzt
Gruß Lothar
0 -
Hallo Lothar,
danke für die Rückmeldung. Leider klappt das aber noch nicht wie gewünscht.
Ich muss das doch unter Darstellung - Value eintragen, richtig?
Und der Wert wäre dann wie folgt? -> LD.GetDesc("ORDR","U_Testfeld",dataBand1("U_Testfeld"))Wenn ich das so mache, erhalte ich den Fehler -> Error in Layout : Eine Ausnahme vom Typ / "PerpetuumSoft.Reporting.Rendering.ScriptException" wurde ausgelöst.
Ich habe den Wert in der Auftragsbestätigung. Dort habe ich im Dropdown "U_Testfeld" zB den ersten Wert ausgewählt -> der hat als Wert 500 und als Beschreibung "Text". Ich möchte den Text dann angezeigt bekommen, auf dem Ausdruck.
0 -
Mein Fehler, ich hatte das falsche Datenfeld... nun passt es.
LD.GetDesc("ORDR","U_Testfeld",DocumentFooter("U_Testfeld"),GetData("B1_Data.Document.LangCode"))
Danke!!0 -
Sorry, ich habe nun doch noch eine Nachfrage zu dem Thema.
Ich möchte in einer Benutzerabfrage im B1 den hinterlegten Datensatz auch abfragen (hier in dem Beispiel aus dem Bereich Geschäftspartner).
Über folgende Abfrage bekomme ich dann aber auch hier wieder nur an den Wert und nicht an die Beschreibung
SELECT T0.U_Testfeld FROM OCRD T0 WHERE T0.CardCode = $[$4.0.0] FOR BROWSE
Gibt es hier auch einen Trick direkt an die Beschreibung zu gelangen, oder muss ich hier per "Join" und der UFD1 Tabelle mir die Beschreibung raussuchen? Wie mach ich das dann aber mit den verschiedenen Sprachen?
Danke noch Mal :-)0 -
Hallo Sven,
Versuch mal diese Abfrage:
DECLARE @LangCode AS INT
DECLARE @AliasID AS nvarchar(max)
DECLARE @Value AS nvarchar(max)/*Hole Sprachcode v. GP*/
SET @LangCode = (SELECT T0.LangCode FROM OCRD T0 WHERE T0.CardCode = $[$4.0.0])
/*Feldname des UDF ohne U_*/
SET @AliasID = 'xxx'
/*Hole den UDF-Wert v. GP*/
SET @Value = (SELECT T0.U_Testfeld FROM OCRD T0 WHERE T0.CardCode = $[$4.0.0])/*DEBUG ONLY*/
--SET @LangCode = (SELECT [LangCode] FROM [OCRD] WHERE [OCRD].[CardCode] = 'Muster3')
--SET @AliasID = 'aktivitaet'
--SET @Value = (SELECT [U_aktivitaet] FROM [OCRD] WHERE [OCRD].[CardCode] = 'Muster3')
SELECT
COALESCE([MLT1].[Trans],[UFD1].[Descr]) AS [UDF-Value]
FROM
CUFD
INNER JOIN [UFD1] ON [UFD1].[FieldID] = [CUFD].[FieldID] AND [UFD1].[TableID] = [CUFD].[TableID]
LEFT JOIN [OMLT] ON [OMLT].[TableName] = 'UFD1' AND REPLACE([OMLT].PK,' ','') = CONCAT([CUFD].[TableID],CAST([UFD1].[FieldID] AS nvarchar(max)),CAST([UFD1].[IndexID] AS nvarchar(max)))
LEFT JOIN [MLT1] ON [MLT1].[TranEntry] = [OMLT].[TranEntry] AND [MLT1].[LangCode] = @LangCode
WHERE
[CUFD].[TableID] = 'OCRD'
AND [CUFD].[AliasID] = @AliasID
AND [UFD1].[FldValue] =@ValueGruß Lothar
0
Please sign in to leave a comment.
Comments
5 comments