rdlc GetData SetData [gelöst]

28. Februar 2019 16:47

Ich mal wieder... :roll:

Ich steh schon wieder derbe aufm Schlauch. Und zwar möchte ich gerade einen Report anpassen, der mit GetData und SetData arbeitet. Hier fehlen an verschiedenen Stellen Übersetzungen und ich finde einfach nicht, wo ich diese anpassen kann.

GetData(10,2) sagt ja aus, dass Wert 10 von Group 2 genommen wird. Aber woran erkenne ich, was jetzt genau Group 2 ist und woher es seine Werte nimmt?
Ich weiß, dass ich in den ausgeblendeten Kästchen suchen soll, weil hier das SetData definiert ist mit eben den Werten durchnummeriert. Wenn hier keine Nummer am Ende steht, heißt das dann automatisch group 1?
Ich hab schon echt viele Foren und Blogs durchsucht und alles rundherum ist mir auch schlüssig, nur nicht, woher die group weiß, woher sie ihre Daten bezieht, irgendwie finde ich dazu einfach nichts.

Bzw. was mir auch noch fragen aufwirft ist, woher "ReportItem!bla.value" seine Werte bezieht, was genau ist ReportItem an dieser Stelle?

Ich freu mich über Hilfe.

Freundliche Grüße
Zuletzt geändert von Kristin K. am 1. März 2019 11:23, insgesamt 1-mal geändert.

Re: rdlc GetData SetData

28. Februar 2019 21:28

Hallo,

ich kenne das so (von Standard Reports) das im Setter zunächst die Feldwerte übergeben werden und ganz am Ende des Befehls dann die Gruppennummer steht.
Geht es um einen Standard Report oder um einen selbst entworfenen? Falls Standardreport, um welchen geht es?

Re: rdlc GetData SetData

1. März 2019 08:46

guten Morgen Kristin,

Kristin K. hat geschrieben:Bzw. was mir auch noch fragen aufwirft ist, woher "ReportItem!bla.value" seine Werte bezieht, was genau ist ReportItem an dieser Stelle?

das sind im Normalfall Labels.

Die kannst du bearbeiten, wenn du den Report bearbeitest ("Report Dataset Designer") und über "Ansicht" --> "Labels" aufrufst.
Die SetData-Felder sind teilweise als Expression versteckt, manchmal aber auch in den Hidden-Expressions.
Wenn du den Report im Textformat exportierst, kannst du die entsprechenden Textboxen, in denen die SetData-Expressions eingetragen sind, ggf. leichter finden.

Re: rdlc GetData SetData

1. März 2019 09:13

Hallo,

"ReportItem!bla.value" sind die Controls (Felder, Labels,..), die du im Report- Boddy ausgibst.

Übrigens habe ich GetData und Setdata für meine RDLC- Reports schon relativ lange entsorgt, und durch Funktionen ersetzt, die mit Klartextnamen arbeiten. Das funktioniert auf die Dauer einfacher, und man muss nicht immer nach dem Index suchen, wenn man mit den Variablennamen durchgängig arbeiten kann.

Gruß Fiddi

Re: rdlc GetData SetData

1. März 2019 10:08

Das ganze ist ein zugekauftes Modul, das unser damaliger Chef für ultra toll befunden hat, selbst aber nie damit gearbeitet hat, weil ers nicht gerafft hat ^^"
Meine Kollegin hat sich da primär drum gekümmert, die jetzt aber gerade krank ist und auf einmal fallen Übersetzungsfehler auf, die sicher schon seit 2015 vorhanden sind :evil:

Dass die Group am Ende der Feldwerte auftauchen sollte (!) habe ich mir aus den ganzen Foren schon herausgelesen, ist bei uns nur leider nicht der Fall... Ist halt die Frage, ob eine fehlende Group automatisch Group 1 bedeutet..
Auch dass die Felder in Hidden Expressions definiert werden habe ich rausfinden können. Aber nicht überall, manchmal in der normalen Feldexpression, dann wurde Hidden einfach False gesetzt.

"ReportItems!bla.Value" im Kopf bezieht sich auf den Textfeldnamen im Body, wie ich grad rausfinden konnte, somit macht das schon mal wieder Sinn. Dadurch konnte ich rausfinden, dass mein Feld ohne Übersetzung sich auf DocumentText bezieht. DocumentText wiederum wird mit "STRSUBSTNO(ReportFunctions.GetDocumentCaption(DocumentHeader),CopyText)" gefüllt. DocumentHeader ist hier der SalesHeader und der besitzt alle Übersetzungen! Dennoch wird im englischen immer das Deutsche Wort "Angebot" angedruckt. Ich hab im Report in die Captions geguckt und auch in der Tabelle selbst... Habt ihr noch ne Idee, wo die Übersetzung dann fehlen könnte?

Ich hab grad noch mal rumgespielt und es sind nicht alle Angebote betroffen, der Report ansich funktioniert also! Wie kann es sein, dass die Überschriften bei manchen dann auf Deutsch sind, der Rest aber auf englisch? D: Jetzt bin ich ganz verwirrt.
Kann man sowas im Debitoren hinterlegen?!

Re: rdlc GetData SetData

1. März 2019 10:27

Hallo Kristin,
die Sprache für die Belegausgabe wird im Normalfall über das Feld "Language Code" (z.B. im Verkaufskopf) gesteuert.
Du müsstest dazu im OnAfterGetRecord-Trigger der Tabelle "Sales Header" eine Codezeile haben, die mit "CurrReport.LANGUAGE := ..." beginnt.

mit den "ReportItems!.." hatte Fiddi natürlich recht

Re: rdlc GetData SetData

1. März 2019 10:46

Hallo,

und hinterlegt wird die Sprache beim Debitor, bzw. darüber im Auftrag vorgegeben.

Gruß Fiddi

Re: rdlc GetData SetData

1. März 2019 11:22

Hallo zusammen, ihr habt mir beim Verständnis des Reportaufbaus wirklich sehr geholfen.
Das Problem lag aber an ganz anderer Stelle.
Mein ehemaliger Chef hat (vermutlich aufgrund ähnlichem Fehlerbildes) irgend eine absolut merkwürdige Abfrage einprogrammiert, die überflüssig hoch 10 war. Ich hab sie auskommentiert und siehe da, der Report nimmt brav den Sprachcode, der im Angebot hinterlegt ist. Ich habs jetzt noch so eingerichtet, dass sich meine Pages den Sprachcode aus dem Debitoren ziehen. :roll:
Hat jetzt wieder mal viel Zeit gekostet, aber immerhin weiß ich jetzt wie GetData und SetData richtig funktionieren :'D

Danke und schönes Wochenende!