[gelöst] Request Form im Dataport mit Record füllen

20. Januar 2011 13:44

Hallo,

ich frage mich, ob es für folgende Herausforderung eine Lösung gibt:

Ich möchte einen Dataport zum Export von Daten aus Verkaufsaufträgen erstellen. Der User soll aber nur das Request-Form sehen, da hierin die Möglichkeit zur Modifikation des "zugesagten Liefersdatums" der zu exportierenden Daten bestehen soll.

Der Dataport wird aus dem Verkaufsauftragsform mit einem Filter auf "Sales Header" gestartet:
Code:
Header := Rec;
Header.SETFILTER(Header."No.","No.");
Header.SETFILTER(Header."Promised Delivery Date",FORMAT("Promised Delivery Date"));
DATAPORT.RUN(50010,TRUE,Header);

"Sales Header" ist Data-Item des Dataports, über vordefinierte Filter blende ich den Reiter "Verkaufskopf" aus. Im angezeigten Requestform kann ich jedoch nicht auf die zuvor gesetzten Filter auf "Sales Header" Bezug nehmen. Das Feld "Promised Delivery Date" bleibt stets leer. Ich vermute, dass das System im "OnDataport - OnInitDataport()" Trigger noch nicht die Daten erfasst hat.
Code:
Dataport - OnInitDataport()
frei_Haus := TRUE;
Fixtermin := TRUE;
Export_Termin := "Sales Header"."Promised Delivery Date";


Wenn ich jedoch den Reiter "Verkaufskopf" einblende werden die Filterwerte bereits durch das System entsprechend meines SETFILTER vorgegeben und können modifiziert werden.

-> Besteht die Möglichkeit die Daten auch auf dem Requestform darzustellen? Ich finde die "zwei Reiter"-Variante zu unübersichtlich.

Danke,
Zuletzt geändert von Bluefeet am 2. Februar 2011 12:54, insgesamt 1-mal geändert.

Re: Request Form im Dataport mit Record füllen

20. Januar 2011 14:09

Bau in den Dataport eine Funktion zur Übergabe der Filter und deklariere ihn als Variable. Dann
Code:
DeinDataportVar.SetzeFilter(...);
DeinDataportVar.runmodal;
Sollte so eigentlich klappen.

Re: Request Form im Dataport mit Record füllen

20. Januar 2011 14:09

Nebenbei: Das ist nicht eindeutig. Angebote/Rechnungen mit der gleichen Nummer fallen da auch rein.

Re: Request Form im Dataport mit Record füllen

21. Januar 2011 11:29

Hallo McClane,

ich bin mir nicht sicher, ob ich deine Idee korrekt verstanden habe (und daher mein Problem noch nicht gelöst?!). Meinst du, dass ich den Dataport innerhalb des Dataport nochmals als Variable einer Funktion definiere? Wenn ja, wann soll diese Funktion durchlaufen werden? OnInit?

Bedeutet das dann im Ergebnis, dass die User den Dataport 2x ausführen?

Re: Request Form im Dataport mit Record füllen

21. Januar 2011 11:35

Der Aufruf erfolgt dort, wo der Dataport nun schon aufgerufen wird, und da wird der Dataport als Variable deklariert.

Im Dataport selbst musst du eine Funktion erweitern, in der du die View auf das Dataitem übergibst.

Re: Request Form im Dataport mit Record füllen

25. Januar 2011 18:26

Hi,

den Aufruf über die Variable hab ich, aber kannst du mir für die Funktion zur Übergabe mal einen Denkanstoß geben? Wie bekomme ich die View, mit der ich den Dataport als Variable ausführe in das Requestform? Ich habe immer das Problem, dass die View erst verfügbar ist, wenn der Dataport ausgeführt wird. Vor dem Dataport (also bei der Darstellung des Requestform) bekomme ich die View nicht...???

Danke,

Re: Request Form im Dataport mit Record füllen

26. Januar 2011 00:52

Die Funktion SetzeFilter (mit dem Parameter View) des Dataports macht nicht viel:
Code:
"Sales Header".SetView(View);
Der Aufruf wäre bei dir:
Code:
DeinDataportVar.SetzeFilter(Header.GetView);
Ob du das vorgegebene versprochene Warenausgangsdatum im Filter oder einer weiteren Funktion mit übergibst, kannst du halten wie ein Dachdecker :wink:

Re: [gelöst] Request Form im Dataport mit Record füllen

2. Februar 2011 12:56

Danke für Deine Hilfe McClane, hab jetzt alles in der Reihe! :-)

Gruß

Bluefeet