[RTC] RDL-Report-Design

17. Oktober 2012 20:56

Erledigt!!
Zuletzt geändert von Shibby84 am 10. Januar 2013 16:10, insgesamt 1-mal geändert.

Re: [RTC] RDL-Report-Design

17. Oktober 2012 21:10

Willkommen bei uns!
Ist jetzt nur geraten, weil ich so etwas ähnliches noch nicht versucht habe umzusetzen:
Code:
=Sum(ReportItems!NameDeinerIdealpreiszellenbox.Value)


Falls du noch nie mit ReportItems gearbeitet hast:
Jedes Element in VS hat einen eindeutigen Namen, auch jede Tabellenzelle (Eigenschaft Name). Über diesen Namen und ReportItems kannst du jeden beliebigen Zellinhalt ansprechen.

Re: [RTC] RDL-Report-Design

17. Oktober 2012 22:02

Erledigt!!
Zuletzt geändert von Shibby84 am 10. Januar 2013 16:10, insgesamt 1-mal geändert.

Re: [RTC] RDL-Report-Design

17. Oktober 2012 22:12

Wenn du es zwingend über RDL lösen möchtest, wäre es vielleicht ganz hilfreich, wenn du einen Screenshot deines RDL-Designs hochladen würdest (also nicht die Vorschau, sondern den Inhalt in Visual Studio). Vielleicht fällt jemandem dazu noch etwas Schlaues ein.

Ansonsten lässt sich bequem mit NAV abbilden: In NAV ein zusätzlich Feld mit dem Idealpreis einbinden, in VS dieses Feld statt deiner Funktion nutzen und bequem die Summe bilden, wie du es auch mit den anderen Preisen getan hast.

Re: [RTC] RDL-Report-Design

17. Oktober 2012 22:41

Erledigt!!
Zuletzt geändert von Shibby84 am 10. Januar 2013 16:11, insgesamt 1-mal geändert.

Re: [RTC] RDL-Report-Design

18. Oktober 2012 08:45

Also ich bin leider raus, da ich noch nie mit einer Matrix in VS gearbeitet habe. :-(

Re: [RTC] RDL-Report-Design

19. Oktober 2012 12:06

Erledigt!!
Zuletzt geändert von Shibby84 am 10. Januar 2013 16:11, insgesamt 1-mal geändert.

Re: [RTC] RDL-Report-Design

19. Oktober 2012 12:27

Shibby84 hat geschrieben:Wenn ich ein neues Feld "Idealpreis" in die Tabelle 39 "PurchLine" einbinde, wie ermittle ich dort den Minimalwert vom "Line Amount"?

Nein, nicht in der NAV-Tabelle.
Im C/AL-Code des CC-Reports (DataItem Purchase Line) ermittelst du den Minimalwert und speicherst ihn in einer globalen Variable. Diese Variable bettest du in der Section ein, wo sich bereits die anderen Preise befinden. Dies erzeugt beim nächsten Aufruf von VS eine neues Feld in deinem VS-DataSet.

Re: [RTC] RDL-Report-Design

19. Oktober 2012 15:05

Erledigt!!
Zuletzt geändert von Shibby84 am 10. Januar 2013 16:11, insgesamt 1-mal geändert.

Re: [RTC] RDL-Report-Design

19. Oktober 2012 15:58

Mittelwert? Wie kommst Du auf Mittelwert? Ich dachte du wolltest BestPrice?

Re: [RTC] RDL-Report-Design

19. Oktober 2012 16:00

Erledigt!!
Zuletzt geändert von Shibby84 am 10. Januar 2013 16:11, insgesamt 1-mal geändert.

Re: [RTC] RDL-Report-Design

19. Oktober 2012 16:13

Shibby84 hat geschrieben:Der Wert "Zeilenbetrag" wird an meine globale Variable übergeben, jedoch habe ich etwas schwierigkeiten mit dem Filtern.
Wie ermittle ich in NAV dann den Bestpreis?

Das hängt davon ab, wie du deinen Report (DataItems) aufgebaut hast.
An irgend einer Stelle (ich war von DataItem Purchase Line ausgegangen) liest du die ganzen Preise ein. Pro Artikel musst du dir den niedrigsten Preis merken.
Wahrscheinlich wird das doch nicht über eine globale Variable, sondern über einen temporären Record gehen. Zeig mal bitte deine DataItems, dann kann man mehr sagen.

Wenn es über die globale Variable geht, dann ist es doch ganz einfach: Wenn aktuell gelesener Preis < als Preis in globaler Variable, dann schreibe aktuellen Preis in globale Variable.

Re: [RTC] RDL-Report-Design

19. Oktober 2012 16:16

ich weiß nicht, ob ich die problematik richtig verstanden hab....du durchläufst alle einkaufszeilen und setzt immer BestpriceGlo mit dem Line Amount?

und dann möchtest du den kleinsten Line Amount haben?

dann vll so:
Code:
BestPriceGlo := 999999999; // oder den größten DecimalWert...wie auch immer
IF BestPriceGlo > "Line Amount" THEN
  BestPriceGlo := "Line Amount"

Re: [RTC] RDL-Report-Design

19. Oktober 2012 16:38

sweikelt, das ist die umständliche Variante zu
Natalie hat geschrieben:Wenn aktuell gelesener Preis < als Preis in globaler Variable, dann schreibe aktuellen Preis in globale Variable.

Re: [RTC] RDL-Report-Design

19. Oktober 2012 17:05

Erledigt!!
Zuletzt geändert von Shibby84 am 10. Januar 2013 16:11, insgesamt 1-mal geändert.

Re: [RTC] RDL-Report-Design

19. Oktober 2012 17:18

Natalie hat geschrieben:Zeig mal bitte deine DataItems, dann kann man mehr sagen.

Wenn ich dazu keine Antwort bekomme, kann ich auch nicht helfen ;-)
Falls du mit dem Vokabular nicht vertraut bist:
Wenn du vom Object Designer aus einen Report designst, landest du in der Übersicht der DataItems. Davon möchte ich gern den Screenshot sehen.

Re: [RTC] RDL-Report-Design

19. Oktober 2012 17:56

Erledigt!!
Zuletzt geändert von Shibby84 am 10. Januar 2013 16:12, insgesamt 1-mal geändert.

Re: [RTC] RDL-Report-Design

19. Oktober 2012 20:58

Hm OK; dann denke ich, solltest du es (sofern nicht jemandem auf die Schnelle eine gute VS-Lösung einfällt) mit einer temporären Tabelle versuchen. Link (falls das Thema für dich neu ist) hatte ich dir ja schon bereit gestellt.

Das Prinzip ist so:
Als Tabelle (für deine temp. Tabelle) such dir die Tabelle Item aus. Die Variable muss global sein. Ich nenne sie ab jetzt TempItem.
Im OnAfterGetRecord von PurchaseLine machst du dann folgendes:
Versuche, den aktuellen Artikel in TempItem zu finden. Gelingt dies nicht (der Artikel wird zum allerersten Mal durchlaufen), dann lege einen neuen TempItem-Datensatz an mit "No." = der aktuellen Artikelnr und "Unit Price" = aktueller EK-Preis --> INSERT
Hast du aber einen TempItem-Datensatz gefunden, prüfe, ob der Purchase Line-Preis kleiner ist als der TempItem-Preis. Wenn ja, den aktuellen Preis in TempItem übernehmen und mit MODIFY speichern.

Damit die Kombination aus Artikel und Bestpreis auch in VS verfügbar ist, müssen alle Datensätze von TempItem in den Sections ausgegeben werden. Erstelle hierfür ein neues integer-DataItem mit einer dazu gehörigen Body-Section.

Wie man diese Infos nun in einer VS-Matrix miteinander verknüpft, ist mir allerdings schleierhaft :roll:

Re: [RTC] RDL-Report-Design

24. Oktober 2012 09:44

Vielen Dank für die schnelle Antwort.
Zuletzt geändert von Shibby84 am 28. Dezember 2012 11:26, insgesamt 1-mal geändert.

Re: [RTC] RDL-Report-Design

24. Oktober 2012 10:09

Bitte nicht falsch verstehen, aber bitte lass die Finger von dieser Umsetzung, wenn du all das, was unter viewtopic.php?p=74150#Deklaration aufgeführt ist, nicht verstehst.

1) Deiner Beschreibung nach hast du temporary = Yes nicht gesetzt (steht im Link drin)
2) In deinem Quelltext arbeitest du mit Triggern (VALIDATE, INSERT(TRUE),MODIFY(TRUE), obwohl das bei temp. Records verboten ist (steht auch im Link so drin).
Das verursacht die Fehlermeldungen (und es ist gut so, sonst hättest du jetzt schon Phantomdatensätze in deiner Datenbank statt im Report erzeugt).

Bitte keine Experimente - die Gefahr, dass du dir Daten zerhaust, ist zu groß.
Nimm dir bitte wirklich Zeit, den o.g. Artikel zu lesen und zu verstehen.