[Gelöst] Reports: Woher die code.GetData(?,?) Nummer wissen.

12. Januar 2009 16:16

Hallo zusammen,

ich versuche gerade einen Report anzupassen (Verkaufsangebot) und muss ein weiteres Multilanguage-Label in den VS-Report einfügen. Ich habe jetzt in der Header-Section ein dementsprechendes Label erstellt und würde dieses nun gerne mit dem wohl von NAV Standardmäßigen Befehl "code.GetData(?,?)" anzeigen lassen. Nur wie finde ich heraus was das Label für eine Nummer hat bzw. was bedeutet diese Nummer überhaupt.

Konnte leider dazu nirgends Hilfe finden, ich hoffe ich könnt mir daher helfen ^^
Vielen Dank schonmal im Voraus,
Lieben Gruß
Christian
Zuletzt geändert von Bubbleman am 12. Januar 2009 18:43, insgesamt 1-mal geändert.

Re: Reports: Woher die code.GetData(?,?) Nummer wissen.

12. Januar 2009 16:33

Bubbleman hat geschrieben:Ich habe jetzt in der Header-Section ein dementsprechendes Label erstellt und würde dieses nun gerne mit dem wohl von NAV Standardmäßigen Befehl "code.GetData(?,?)" anzeigen lassen.

Mir sagt dieser Befehl gar nichts - wo setzt du ihn ein und wofür?

Ich kenne den Vorgang nur so:

Du hast im NAV-Report ein neues Label hinzugefügt. Dieses Label muss in der Eigenschaft DataSetFieldName etwas stehen haben - denn unter genau diesem Namen wirst du ihn dir aus der DataSource im VS-Bericht ziehen.

Re: Reports: Woher die code.GetData(?,?) Nummer wissen.

12. Januar 2009 16:38

Hallo Natalie,

Natalie hat geschrieben:Du hast im NAV-Report ein neues Label hinzugefügt. Dieses Label muss in der Eigenschaft DataSetFieldName etwas stehen haben - denn unter genau diesem Namen wirst du ihn dir aus der DataSource im VS-Bericht ziehen.


So kenne ich das auch, klappt aber leider nur im Body, nicht im Header... Wenn du dir mal das Layout z.B. von Rechnungen etc. anschaust siehst du dort auch das Microsoft überall dieses code.GetData(...) verwenden.

Re: Reports: Woher die code.GetData(?,?) Nummer wissen.

12. Januar 2009 16:47

Bubbleman hat geschrieben:Wenn du dir mal das Layout z.B. von Rechnungen etc. anschaust siehst du dort auch das Microsoft überall dieses code.GetData(...) verwenden.

Oh, war mir bis jetzt noch nicht aufgefallen :-)
Diese Funktion findest du im VS-Bereicht unter Bericht -> Berichtseigenschaften... -> Registerkarte Code

Code:
Public Function GetData(Num as Integer, Group as integer) as Object
if Group = 1 then
   Return Cstr(Choose(Num, Split(Cstr(Data1),Chr(177))))
End If

if Group = 2 then
   Return Cstr(Choose(Num, Split(Cstr(Data2),Chr(177))))
End If

if Group = 3 then
   Return Cstr(Choose(Num, Split(Cstr(Data3),Chr(177))))
End If

if Group = 4 then
   Return Cstr(Choose(Num, Split(Cstr(Data4),Chr(177))))
End If
End Function


Gefüllt worden ist das Ganze damit:
Code:
Public Function SetData(NewData as Object,Group as integer)
  If Group = 1 and NewData > "" Then
      Data1 = NewData
  End If

  If Group = 2 and NewData > "" Then
      Data2 = NewData
  End If

  If Group = 3 and NewData > "" Then
      Data3 = NewData
  End If

  If Group = 4 and NewData > "" Then
      Data4 = NewData
  End If
End Function


Aber wo???
Ah, direkt darüber, in diesen roten Boxen ganz oben im Seitenkopf, z.B.:
Code:
=Code.SetData(ReportItems!CustAddr.Value,1)

Re: Reports: Woher die code.GetData(?,?) Nummer wissen.

12. Januar 2009 18:43

Vielen Dank,

ist zwar etwas umständlich gelöst, aber so geht es.

Lieben Gruß
Christian

Re: Reports: Woher die code.GetData(?,?) Nummer wissen.

12. Januar 2009 19:09

Bubbleman hat geschrieben:ist zwar etwas umständlich gelöst, aber so geht es.

Konntest du auf die Schnelle überblicken, WARUM es so gelöst worden ist?

Re: Reports: Woher die code.GetData(?,?) Nummer wissen.

12. Mai 2009 09:12

Natalie hat geschrieben:Konntest du auf die Schnelle überblicken, WARUM es so gelöst worden ist?

Glaube es jetzt selber herausgefungen zu haben: Diese Vorgehensweise ist nötig, weil sonst das hier kommt:

Fehlermeldung hat geschrieben:Fehler beim Überprüfen von RDL-Inhalt:
Fehler bei der lokalen Berichtsverarbeitung.

Die Definition des Berichts 'Hauptbericht' ist ungültig.

Der Value-Ausdruck für das Textfeld-Objekt 'textbox10' verweist auf ein Feld. Felder können im Seitenkopf oder -fuß nicht verwendet werden.

Re: [Gelöst] Reports: Woher die code.GetData(?,?) Nummer wissen.

30. November 2009 10:03

Hallo zusammen

Kurze Frage:
Wir haben den R206 neu gestaltet und dabei auch die MWSt verändert.
Nun muss ich Sie über den RTC anzeigen lassen, aber es gelingt mir nicht die Berechnung richtig auszuweisen.
D.h. Die VAT Rate wird richtig angezeigt, aber die VAT Base und der VAT Amount zeigen vollkommen falsche Zahlen an.
In meinem Beispiel sollte die VAT Base 13637.27 und der VAT Amount 1036.43 betragen anzeigen tut es mir aber 2351.25 und 178.69.
Kann mir jemand erklären wie der Datenaustausch zwischen dem CC und dem RTC in diesem Fall funktioniert?

Ebenfalls muss ich die "leeren" Felder der MWST ausblenden. Im CC gibt es dafür ja die Propertie BlankZero, gibt es sowas ähnliches auch im TRC?
Kann ich dies auch via Bericht|Berichteigenschaften|Code machen oder muss ich es anders versuchen?

Vielen Dank für eure Hilfe

Re: [Gelöst] Reports: Woher die code.GetData(?,?) Nummer wis

30. April 2010 14:45

An-ge-nommen, man hat keinen VS-RD sondern geht über den internen RD, weil auch nur Classic Version und (noch) kein RTC. Kann man diese Verbindung zu dem Code-Item/Code.Get dennoch löschen?

Konkret würde ich gern einen Report wie den der Mahnung (117) anpassen und dazu halt die CompanyAddr[x]-Felder rauslöschen, weil die se Informationen alle an anderer Stelle ausgedruckt werden (und da gleich viieel schöner ^^). Nur, lösche ich die Felder, bekomme ich die Fehlermeldung aus dem Anhang, ähnlich der, die Natalie gepostet hat. Ich hab auch keinen roten Kasten oben in der Ecke, nur ein großes :?: über dem Kopf. Kann das sein, dass dieser Report mit VS erstellt worden ist und somit nicht mehr vollständig durch den internen RD bearbeitet werden kann? Ist denn der VS-RD auch ohne DEV-Lic nutzbar?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: [Gelöst] Reports: Woher die code.GetData(?,?) Nummer wis

30. April 2010 15:09

DeWitt hat geschrieben:An-ge-nommen, man hat keinen VS-RD sondern geht über den internen RD

Was ist RD?

Solange ihr den RTC und auch das spezielle RTC-Layout dieses Reports nicht nutzen wollt, mach doch einfach folgendes:
Report im Istzustand als txt sichern (damit ihr im Bedarfsfall das RTC-Layout wiederherstellen könnt).
Danach rufe im Reportdesign auf: Extras -> DeleteLayout. Dann ist das Wegnehmen von Feldern kein Problem mehr. Auch das Entfernen von farbigen Elementen im Report ist kein Problem mehr.
Lediglich beim Kopieren von Controls innerhalb der Sections entferne im kopierten Control den Wert in der untersten Eigenschaft DataSetFieldName. Wird der nämlich dupliziert, lässt sich der Report nicht mehr kompilieren.

Re: [Gelöst] Reports: Woher die code.GetData(?,?) Nummer wis

30. April 2010 16:20

RD steht für Report-Designer. Die Abkürzung hab ich irgendwo in der Literatur aufgeschnappt und für allgemein gehalten *whoops*

Die Zwischenspeicherungsidee über den Weg ist super. Ging zwar 'leider' nur als fob oder xml und nicht als Text (Berechtigungs-Error -.- ), aber da ich den Ursprungsreport ja in unseren Nummernkreis kopiert habe und dort modifiziere, macht mir das zur Zeit keine Sorgen. Aber gut zu wissen für die Zukunft :)

DeleteLayout hat wunderbar geklappt. Jetzt kann ich bis zum nächsten Problem weitertüfteln. Irgendwie machen Reports ja schon Spass ^^ Muchas gracias!

Re: [Gelöst] Reports: Woher die code.GetData(?,?) Nummer wis

7. Juli 2010 08:22

Hier ein passender Blog-Eintrag: How to Define SetData and GetData in RTC Reports in Dynamics NAV Navision