[Gelöst] Dataport ruft Dataports auf,diese durch CU Filtern?

Bild Microsoft Dynamics NAV 1.xx und 2.xx
(ehem. Navision Financials)

[Gelöst] Dataport ruft Dataports auf,diese durch CU Filtern?

Beitragvon sfranke » 28. März 2014 08:35

Hallo Leuts,

ich hab einen Dataport der durch DATAPORT.RUNMODAL(ID, FALSE); drei weitere Dataports aufruft. Mein Anliegen ist, wie es möglich ist einen Filter auf die Dataports zu legen (mit einem Datum, 7 Tage in der Vergangenheit), ohne das der Benutzer das Datum eingeben müsste bei jedem Dataport.

Aktiv wĂĽrde man ja einfach einen Filter in der ReqForm eintragen, aber das will ich nicht, da der Export - durch einen Klick - unbewacht ausgefĂĽhrt werden soll.

Liebe GrĂĽĂźe
Stefan
Zuletzt geändert von sfranke am 28. März 2014 13:17, insgesamt 1-mal geändert.
sfranke
 
Beiträge: 16
Registriert: 27. Januar 2014 13:40
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.60f

Re: Dataport ruft Dataports auf, diese durch CU Filtern?

Beitragvon winfy » 28. März 2014 09:33

Hi Stefan,

schau dir einmal den Befehl SETTABLEVIEW an.
Vor dem Aufruf des jeweiligen Dataports den Filter mit Settableview setzen.

Code: Alles auswählen
Record.SETFILTER("Posting Date", '%1..%2', TODAY-7, TODAY);
DATAPORT1.SETTABLEVIEW(Record);
DATAPORT1.RUNMODAL;


*Record sollte das Dataitem in deinem Dataport sein.

mfg,
winfy
Zuletzt geändert von winfy am 28. März 2014 14:01, insgesamt 1-mal geändert.
"Das Wissen ist das einzige Gut, das sich vermehrt, wenn man es teilt.
Wer nichts weiĂź, muss alles glauben."
...Marie von Ebner-Eschenbach
Benutzeravatar
winfy
 
Beiträge: 873
Registriert: 15. Oktober 2009 08:19
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: NAV 3.x - BC 23.x

Re: Dataport ruft Dataports auf, diese durch CU Filtern?

Beitragvon sfranke » 28. März 2014 12:02

Lieben Dank winfy,

Jetzt muss ich nur noch rausfinden wie ich den Record referenziere :)

Hier mal das effektive Szenario, vielleicht hilft/reicht das :)

* Ich habe ein Feld angelegt in 3 Tabellen (Verkaufskopf, VerkaufsrechnungsKopf und Verkaufslieferkopf)
* Ich habe je einen Dataport angelegt um die Daten aus einer Tabelle zu exportieren. (D1, D2, D3)
* Der Dataport X ruft nun D1, D2, D3 nacheinander mit
Code: Alles auswählen
DATAPORT.RUNMODAL(D1, FALSE);
DATAPORT.RUNMODAL(D2, FALSE);
DATAPORT.RUNMODAL(D3, FALSE);

auf.

Laut dir fĂĽge ich vor jedem DATAPORT.RUNMODAL(); jetzt
Code: Alles auswählen
Record.SETFILTER(Buchungsdatum", '%1..%2', TODAY-7, TODAY);
DATAPORT.SETTABLEVIEW(Record);

ein.

Doch wie muss ich den Record initialisieren, wenn ich ihn auf die Tabelle: VerkaufsKopf (39? glaube) referenzieren will (fĂĽr den ersten Export)? Als globale Variable, dann aber als welcher Datentyp?

Liebe GrĂĽĂźe
Stefan
sfranke
 
Beiträge: 16
Registriert: 27. Januar 2014 13:40
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.60f

Re: Dataport ruft Dataports auf, diese durch CU Filtern?

Beitragvon winfy » 28. März 2014 12:22

So referenzieren wie das Dataitem in deinem Dataport.

Also Record vom DataTyp Record Subtype SalesHeader (Tabelle 36).
Den Dataport solltest du auch als Variable anlegen.

Also z.B. Dataport1 vom DataTyp Dataport.



mfg,
winfy
Zuletzt geändert von winfy am 28. März 2014 12:47, insgesamt 1-mal geändert.
"Das Wissen ist das einzige Gut, das sich vermehrt, wenn man es teilt.
Wer nichts weiĂź, muss alles glauben."
...Marie von Ebner-Eschenbach
Benutzeravatar
winfy
 
Beiträge: 873
Registriert: 15. Oktober 2009 08:19
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: NAV 3.x - BC 23.x

Re: Dataport ruft Dataports auf, diese durch CU Filtern?

Beitragvon sfranke » 28. März 2014 12:46

Ohjea :(

Code: Alles auswählen
// run delivery head dataports
SalesHeader.SETFILTER("Buchungsdatum", '%1..%2', TODAY-7, TODAY);
DATAPORT.SETTABLEVIEW(SalesHeader);
DATAPORT.RUNMODAL(50089,FALSE);

SalesBookingHeader.SETFILTER("Buchungsdatum", '%1..%2', TODAY-7, TODAY);
DATAPORT.SETTABLEVIEW(SalesBookingHeader);
DATAPORT.RUNMODAL(50094,FALSE);

SalesDeliveryHeader.SETFILTER("Buchungsdatum", '%1..%2', TODAY-7, TODAY);
DATAPORT.SETTABLEVIEW(SalesDeliveryHeader);
DATAPORT.RUNMODAL(50097,FALSE);


Der Code ist okay, das Problem ist er kennt "SETTABLEVIEW" anscheinend noch nicht in Navision 2.60f. Er sagt nur: "Sie haben eine undefinierte Variable angegeben. SETTABLEVIEW Definieren sie die Variable unter 'C/AL-Globale Variablen'".

Liebe GrĂĽĂźe
Stefan
sfranke
 
Beiträge: 16
Registriert: 27. Januar 2014 13:40
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.60f

Re: Dataport ruft Dataports auf, diese durch CU Filtern?

Beitragvon winfy » 28. März 2014 12:52

Deklariere mal D1 bis D3 als Variablen vom Typ Dataport.
Stelle die Dataports in den Properties am Besten auch so ein, dass die RequestForm nicht angezeigt wird und in eine konkrete Datei exportiert wird.

Code: Alles auswählen
// run delivery head dataports
SalesHeader.SETFILTER("Buchungsdatum", '%1..%2', TODAY-7, TODAY);
D1.SETTABLEVIEW(SalesHeader);
D1.RUNMODAL;

SalesBookingHeader.SETFILTER("Buchungsdatum", '%1..%2', TODAY-7, TODAY);
D2.SETTABLEVIEW(SalesBookingHeader);
D2.RUNMODAL;

SalesDeliveryHeader.SETFILTER("Buchungsdatum", '%1..%2', TODAY-7, TODAY);
D3.SETTABLEVIEW(SalesDeliveryHeader);
D3.RUNMODAL;


Alternativ könntest du auch in den Dataports eine Funktion schreiben, wobei du beim Aufruf des Dataport den Dateinamen setzt und diverse andere Parameter für den Dataport setzt. (z.B D1.SetParameter(Import/Export,Filename,UseReqForm,...) )

mfg,
winfy
Zuletzt geändert von winfy am 28. März 2014 14:00, insgesamt 2-mal geändert.
"Das Wissen ist das einzige Gut, das sich vermehrt, wenn man es teilt.
Wer nichts weiĂź, muss alles glauben."
...Marie von Ebner-Eschenbach
Benutzeravatar
winfy
 
Beiträge: 873
Registriert: 15. Oktober 2009 08:19
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: NAV 3.x - BC 23.x

Re: Dataport ruft Dataports auf, diese durch CU Filtern?

Beitragvon Natalie » 28. März 2014 12:57

sfranke hat geschrieben:Der Code ist okay, das Problem ist er kennt "SETTABLEVIEW" anscheinend noch nicht in Navision 2.60f. Er sagt nur: "Sie haben eine undefinierte Variable angegeben. SETTABLEVIEW Definieren sie die Variable unter 'C/AL-Globale Variablen'".

Gab es in NAV 2.60 schon F5 beim Schreiben von Code? Dort findest du alle verfĂĽgbaren Befehle; vielleicht hieĂź er damals nur anders.
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: Dataport ruft Dataports auf, diese durch CU Filtern?

Beitragvon sfranke » 28. März 2014 13:03

Hallo Natalie,

ja aber der DATAPORT besitzt wohl, leider, nur die Funktionen RUN und RUNMODAL. :/

Gibt es noch eine andere Möglichkeit?! Eventuell im Export des einzelnen Dataports die Einträge Filtern? Nur wie geh ich da sonst vor und ist das wirklich schneller als alle Daten zu exportieren. So durchsucht er die Datenbank ja einmal komplett und fängt dann an zu exportieren.

Edit: @winfy: Die DataPorts exportieren bereits statisch und ohne RequestForm :)

Liebe GrĂĽĂźe
Stefan
sfranke
 
Beiträge: 16
Registriert: 27. Januar 2014 13:40
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.60f

Re: Dataport ruft Dataports auf, diese durch CU Filtern?

Beitragvon winfy » 28. März 2014 13:08

sfranke hat geschrieben:ja aber der DATAPORT besitzt wohl, leider, nur die Funktionen RUN und RUNMODAL. :/


Hast du die Dataports einmal als Variablen angelegt, wie ich das gerade beschrieben habe (siehe Code)?

mfg,
winfy
Zuletzt geändert von winfy am 28. März 2014 13:59, insgesamt 1-mal geändert.
"Das Wissen ist das einzige Gut, das sich vermehrt, wenn man es teilt.
Wer nichts weiĂź, muss alles glauben."
...Marie von Ebner-Eschenbach
Benutzeravatar
winfy
 
Beiträge: 873
Registriert: 15. Oktober 2009 08:19
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: NAV 3.x - BC 23.x

Re: Dataport ruft Dataports auf, diese durch CU Filtern?

Beitragvon sfranke » 28. März 2014 13:17

BAM! Danke Winfy!

Ich habs probiert und in den Variablen Funktioniert es!

Liebe GrĂĽĂźe
Stefan
sfranke
 
Beiträge: 16
Registriert: 27. Januar 2014 13:40
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.60f


ZurĂĽck zu NAV 2.xx

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast