Wieder mal REPORTPROBLEM

1. April 2007 00:23

Hallo,

ich habe einen Report mit mehreren Dataitems (ich blick nicht mehr durch).

Jedenfalls habe ich oben im Header eine Rechnungsadresse und ich möchte rechts daneben die Lieferadresse auch noch haben.

Die Lieferadresse kommt aber aus einem anderen Dataitem und ich weiss nicht wie ich das machen kann. Die Rechnungsadresse und Lieferadresse ist jeweils über KUNUMMER verknüpft.

Wie kann ich meine Daten aus dem Footer "Lieferadressen" im Header "Wareneingang Zeilen" anzeigen lassen??

bin echt ratlos hilfe!!!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

1. April 2007 08:57

Das andere Dataitem ist auch eine Tabelle, die über eine zusätzliche Recordvariable angesprochen werden kann. Im OnAfterGetRecordTrigger vom Wareneingang über die Kundennummer den Datensatz aus den Lieferadressen filtern und dann als SourceExpression der Adressfelder die Felder dieser Lieferadressen-Recordvariable verwenden.

1. April 2007 11:59

Hallo Kowa,

ich habe das versucht mit der Record Variable, also ich lege mir eine Variable an "rec_Lieferadressen" und diese muss ich dann als Source Expression im Kopf einfügen???

Kannst du mir das etwas einfacher erklären? Oder etwas genauer sagen wie ich das mache? Mit Reports habe ich kaum Erfahrung und bin froh das er nun überhaupt soweit läuft wie es läuft...

1. April 2007 23:00

Hallo Tesarolle,

du musst die entsprechenden Daten (also den Datensatz ) aus Variable "rec_Lieferadressen" holen,
in dem du entweder ein "rec_Lieferadressen.GET(Debitor,Code)" oder "rec_Lieferadressen.FIND('-')" (vorher einen Filter setzten) machst.

Dann kannst du in einer Textbox (in den Sections) die Daten wieder ausgeben z.B. Source Expression = rec_Lieferadressen.Name

Beachte, das bei der weiteren Verarbeitung "rec_Lieferadressen" noch auf den letzten Datensatz steht. Also must du die Variable "Clearen", damit keine falschen Daten angezeigt werden!
Gruß Mikka

2. April 2007 10:55

Ich habe jetzt

SETRANGE(KUNUMMER,KUNUMMER);
FIND('-'):

Aber er zeigt mir bei den Lieferadressen immer nur die erste Lieferadresse an die er überhaupt inder TAbelle der Lieferadressen findet.

Was muss ich denn konkret machen mit dem Setrange und Find? Bin nun e cht schon st. an diesen Problem. Wäre echt nett wenn mir jemand weiter helfen könnte,

2. April 2007 11:21

nimm
Code:
IF NOT rec_Lieferadressen.GET(KUNUMMER) THEN rec_Lieferadressen.init;

in den OnAfterGetRecord-Trigger des DataItems "WARENEINGANG ZEILEN" auf,
wenn es mal keine Lieferadresse gibt, werden leere Felder gedruckt und es gibt keine Fehlermeldung.

2. April 2007 20:15

Hallo Tesarolle,

wenn du immer nur den ersten Datensatz bekommst, liegt das daran, das du nur auf die Kundennummer Filters.
(Du arbeitest doch mit der Tabelle 222?) Diese Tabelle hat einen Prim.Key aus Debitor.No und Code.
Entweder machst du ein GET auf Debitor.No und Code (würde ich vorziehen!) oder du setzt einen Filter und machst ein FIND('-').

Das sollte klappen.
Gruß Mikka

2. April 2007 23:57

Nee, Mikka, nicht mit der 222, da heissen die Felder anders ;-)
Ich vermute einfach, dass der nicht im onaftergetrecord von der lieferzeile nach der Lieferadresse sucht.