Fragen zu Report

17. März 2010 14:53

Ich habe zu einem kleinen neu erstellten Report einige "kleine Fragen". Dazu habe ich mal ein Bild angehangen, damit sich jeder ein Bild machen kann was ich genau meine.
In dem Report werden einige Infos zu dem ausgewählten Debitor ausgegeben.
Hierbei sind die Probleme:
- der Sales Line Header wird bei jedem neuen Datensatz angezeigt. Es soll aber nur 1 mal pro Seite angezeigt werden
- für jeden Datensatz wird eine Gesamtsumme ausgegeben. Diese soll ganz am ende als totale Gesamtsumme ausgegeben werden. Ich habe es versucht, aber ich stoße immer auf Fehlermeldungen bzw. keine resultate.
- das Belegdatum soll aus dem Sales Header in den Sales Line. Header zu jedem Datensatz. Ich habe es über ein einfaches Get probiert, stoße dann erneut auf Fehlermeldungen. Ich habe dazu eine gl.Var. Typ Record angelegt, die im DataItem Sales Header aufgerufen wird. Dann habe ich das Feld gl.Var.."Document Date" in den Sales Line. Header eingebaut, bin dann aber beim testen auf Fehler gestoßen.

Es wäre sehr nett, wenn mir jemand einige Tips geben könnte.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Fragen zu Report

19. März 2010 23:06

Könntest du Teile deines Codes posten? Ich vermute, dass du bei deinem GET nicht den richtigen oder gesamten Primärschlüssel mitgibst.
Auch die Fehlermeldungen helfen beim Lösen deines Problems...

Re: Fragen zu Report

22. März 2010 12:00

Oh ha,
da scheint es aber an den Grundlagen zu fehlen.

- der Sales Line Header wird bei jedem neuen Datensatz angezeigt. Es soll aber nur 1 mal pro Seite angezeigt werden

Die Felder müssen nicht Header von der "Sales Line" sondern Header vom "Sales Header sein". In Deinem Beispiel dann Sales Header, Header (3). Hier must Du in den Properties PrintOnEveryPage: "Yes" setzen
Ansonsten wird halt für jede Verkaufszeile ein Header angedruckt. Du möchtest aber pro Verkaufsauftrag eine zusätzliche Beschreibung.

- für jeden Datensatz wird eine Gesamtsumme ausgegeben. Diese soll ganz am ende als totale Gesamtsumme ausgegeben werden. Ich habe es versucht, aber ich stoße immer auf Fehlermeldungen bzw. keine resultate.

Der Sales Line Group Footer ist falsch. Den hinterlegt man lediglich, wenn man die Sales Lines nach bestimmten Kriterien gruppieren möchte und pro Gruppenwechsel eine Summe haben möchte. Hier also lediglich den Sales Line, Footer. Eventuell hier das Property PlaceInBottom:Yes setzen
Im Report Designer must Du für das DataItem Sales Line im Property TotalField die Summenfelder hinterlegen. In Deinem Beispiel Amount.

- das Belegdatum soll aus dem Sales Header in den Sales Line. Header zu jedem Datensatz.

Hier must Du einfach eine Textbox einfügen und unter SourceExpr="Sales Header"."Document Date" hinterlegen. Du hast ja bereits den Verkaufskopf über das DataItem "Sales Header" im Zugriff.
Aber wie bereits erwähnt, ist der Sales Line Header eh falsch.

Möchte man dennoch pro Verkaufszeile auf weitere Datensätze zugreifen, gibt man folgenden Code an.
Code:
Sales Line - OnAfterGetRecord()
SalesHeader2.get("Sales Line"."Document Type", "Sales Line"."Document No.");

Alternativ würde folgender Code auch funktionieren, da man sich im DataItem von der Sales Line befindet.
Code:
SalesHeader2.get("Document Type", "Document No.");


Im DataItem Sales Header sollte das Property NewPagePerRecord:Yes gesetzt werden. Damit bekommst Du pro Verkaufskopf eine neue Seite.

Folgende Berichte sind ein guter Einstieg umden strukturellen Aufbau von NAV Berichten zu verstehen.
- 708 Lager - Auftragsbestand
- 716 Lager - EK-/VK-Preisliste
- 721 Lager - Einst.-Preisabweichung

205 Verkauf - Auftragsbestätigung ist dann schon sehr speziell...

Re: Fragen zu Report

25. März 2010 14:15

Danke für die Infos. habe es jetzt hinbekommen.

Da ich keinen neuen Threat aufmachen möchte stelle ich die Frage, die ganz gut hierrein passt, einfach mal hier. Dazu habe ich mal den besagten Report angehangen.

Es geht um folgendes:
Über das DataItemTableView habe ich einen Filter gesetzt. Hier kann ich jedoch nur auf 1 Bedingung filtern. Jetzt möchte ich das ganze um 1 Bedingung erweitern. Da ich das nicht über das DataItemTableView realisieren konnte, hatte ich meine Bedingung aus dem DataItemTableView gelöscht. Anschließend wollte ich beide Bedingungen direkt auf die entsprechende Section schreiben, geht das von der Funktion her?

Nachdem ich zuvor die 1 Bedingung aus dem DataItemTableView gelöscht habe und den Report starten wollte, kam die Fehlermeldung ungültiges Datum, wieso kam das? Danach habe ich aufgehört zu probieren und bin nun verzweifelt.

Also sind die offenen Fragen:
- wie beseitige ich die Fehlermeldung
- wohin schreibe ich die Bedingungen
- kann es zu Problem bei der Summenbildung im Footer kommen, wenn ich die Bedingung aus dem DataItemTableView direkt auf eine Section schreibe, sprich muss ich dannn dafür code schreiben?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.