[Gelöst] Report: Default-Werte in ReqFilterFields hinterlege

Bild Microsoft Dynamics NAV 4.xx
(ehem. Microsoft Business Solutions-Navision)

[Gelöst] Report: Default-Werte in ReqFilterFields hinterlege

Beitragvon mgerhartz » 10. März 2006 16:53

Hallo zusammen,

kurze Frage: Ist es möglich in einem Bericht Default-Werte für ein ReqFilterField zu hinterlegen? Wenn ja, wie funktioniert das. Bei einem selbst erstellten Optionsfeld in der Requestform kenne ich eine Lösung aber nicht in den ReqFilterFields, da sie ja dirket auf die DataItem/Tabellen zugreifen.

GrĂĽĂźe

Markus
Zuletzt geändert von mgerhartz am 10. April 2006 13:31, insgesamt 1-mal geändert.
mgerhartz
 
Beiträge: 308
Registriert: 13. Februar 2006 15:18
Wohnort: Koblenz

Beitragvon rotsch » 10. März 2006 17:54

Hallo Markus

Ich konnte das folgendermassen lösen:

SetupRec.Filter := Rec.GETVIEW()
Damit kann ich die durch den Benutzer gesetzten Filter in einer Tabelle ablegen. Dies kann man z.B. auf den OnPreDataItem-Trigger des Reports
tun.

Nun kannst Du auf dem Request-Form einen Lookup erstellen und den gewünschten Filter aus der Liste auswählen lassen.

Wiederum auf OnPreDataItem setzt Du dann den gelesenen Filter mit
Rec.SETVIEW(SetupRec.Filter)

Etwas besseres habe ich noch nicht gefunden.
Ich hoffe, es hilft ein wenig

Beste GrĂĽsse
Roger
Benutzeravatar
rotsch
Microsoft Partner
Microsoft Partner
 
Beiträge: 1703
Registriert: 8. März 2006 14:44
Bezug zu Microsoft Dynamics: Freiberufler
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: Ab Version 1.3 bis Aktuell

Beitragvon Marc Teuber » 10. März 2006 17:58

Hi Markus,

bevor du den Report aufrufst musst du eine Record-Variable anlegen und mit dieser den Befehl SETFILTER aufrufen. AnschlieĂźend ĂĽbergibst du dem Report-Befehl SETTABLEVIEW als Parameter die Record-Variable.

Code: Alles auswählen
OnPush()
Item.SetFILTER("No.", '10*');
Report.SETTABLEVIEW(Item);
Report.RUN;


OnPush kann beispielsweise der Trigger eines Buttons sein. Item ist hier die Record-Variabel. Report ist ebenfalls eine Variable jedoch vom Typ "Report".

GruĂź, Marc
Benutzeravatar
Marc Teuber
Microsoft Partner
Microsoft Partner
 
Beiträge: 1064
Registriert: 2. Oktober 2005 13:36
Wohnort: Greven
Arbeitsort: MĂĽnster, Dortmund
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Beitragvon Timo Lässer » 10. März 2006 19:57

Man muss nicht unbedingt den Report als Variable anlegen, es geht auch ohne:
Code: Alles auswählen
OnPush()
Item.SETFILTER("No.",'10*');
REPORT.RUN(Report::"4711",Item);
Hier wird einfach der Report mit einer (gefilterten) Record-Variable aufgerufen.
REPORT ist hierbei keine Variable, sondern ein "C/AL-Befehl".

Wenn dein Report jedoch mehrere DataItems hat, welche vorgefiltert aufgerufen werden sollen, dann kommst du um Marc's Lösung nicht herum:
Code: Alles auswählen
OnPush()
Item.SETFILTER("No.", '0815');
Cust.SETFILTER("No.", '4711');
MyReport.SETTABLEVIEW(Item);
MyReport.SETTABLEVIEW(Cust);
MyReport.RUN;
FĂĽr jedes vorzubelegende DataItem musst du eine entsprechende Record-Variable anlegen, filtern und per MyReport.SETTABLEVIEW() an den Report ĂĽbergeben.
Navision ermittelt automatisch anhand der Record-Variable, welches DataItem gemeint sein könnte.
Ich weiß allerdings nicht, wie sich Navision verhält, wenn mehrere DataItems in dem Report dieselbe Tabelle verwenden.
(Wo mag Navision da wohl die Filter hinĂĽbertragen? 1. Vorkommen, alle Vorkommen? Keine Ahnung, da noch nicht ausprobiert.)
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5279
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Beitragvon Marc Teuber » 10. März 2006 20:20

Timo Lässer hat geschrieben:Ich weiß allerdings nicht, wie sich Navision verhält, wenn mehrere DataItems in dem Report dieselbe Tabelle verwenden.
(Wo mag Navision da wohl die Filter hinĂĽbertragen? 1. Vorkommen, alle Vorkommen? Keine Ahnung, da noch nicht ausprobiert.)

1. Vorkommen! :-)

GruĂź, Marc
Benutzeravatar
Marc Teuber
Microsoft Partner
Microsoft Partner
 
Beiträge: 1064
Registriert: 2. Oktober 2005 13:36
Wohnort: Greven
Arbeitsort: MĂĽnster, Dortmund
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Beitragvon Timo Lässer » 10. März 2006 20:37

Und schon habe ich auch wieder etwas dazugelernt ;-)
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5279
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Beitragvon Marc Teuber » 10. März 2006 20:48

Na ist doch auch mal schön, wenn ich zur Abwechslung helfen kann.
Frage beantwortet? 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
Marc Teuber
Microsoft Partner
Microsoft Partner
 
Beiträge: 1064
Registriert: 2. Oktober 2005 13:36
Wohnort: Greven
Arbeitsort: MĂĽnster, Dortmund
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Beitragvon mgerhartz » 13. März 2006 10:14

Guten Morgen Jungens, danke für eure reichhaltigen Antworten. Nur die Frage lautete, wie kann ich bei einem ReqFilterField einen Defaultwert hinterlegen. Wenn ich eure Lösungen so anschaue, bedeutet das doch, dass ich einen Button auf der Request Form anlege, der dann das DataItem nach einem bestimmten Wert filtert. Hab ich das richtig verstanden und gibt es sonst wirklich keine andere Lösung? Trotzdem aber danke für eure Hilfe.....
mgerhartz
 
Beiträge: 308
Registriert: 13. Februar 2006 15:18
Wohnort: Koblenz

Beitragvon rotsch » 13. März 2006 10:36

In diesem Fall muss Du den Report vor dem Aufruf 'vorfiltern', wie z.B. beim Aufruf des RĂĽstscheins aus dem Auftrag. Da kannst Du dann jedes Feld mit einem Filter belegen. Dies allerdings nur fĂĽr das erste DataItem im Report


SalesHead.SETRANGE("Document Type","Document Type");
SalesHead.SETRANGE("No.","No.");
REPORT.RUN(REPORT::"Sales Picking List",TRUE,FALSE,SalesHead);
Gruss und besten Dank, Roger
Benutzeravatar
rotsch
Microsoft Partner
Microsoft Partner
 
Beiträge: 1703
Registriert: 8. März 2006 14:44
Bezug zu Microsoft Dynamics: Freiberufler
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: Ab Version 1.3 bis Aktuell

Beitragvon mgerhartz » 13. März 2006 11:09

Ich habe folgende einfache Lösung vorgenommen. Hätte ich auch schneller draufkommen können, oder :lol:

Meine Report hat zum GlĂĽck nur ein DataItem (Structure) und so hab ich einfach den DataItemTableView - Filter auf die gewĂĽnschten Felder gesetzt. Unser Kunde wollte nur ausschlieĂźen, dass bestimmte Gliederungen nicht angezeigt werden. Damit funktioniert's.

Zum Schluss aber noch eine Frage: Kann man trotzdem den Filter umgehen, indem man im ReqFilterField den Filter umsetzt. z. B. Im DataItemTableView habe ich "Booking Block" auf Yes gesetzt und im ReqFilterField setze ich das Feld auf NO. Geht sowas? Wäre nicht schlimm. Die Liste ist eh nur für den internen Gebrauch.
mgerhartz
 
Beiträge: 308
Registriert: 13. Februar 2006 15:18
Wohnort: Koblenz

Beitragvon Marc Teuber » 13. März 2006 12:33

mgerhartz hat geschrieben:Zum Schluss aber noch eine Frage: Kann man trotzdem den Filter umgehen, indem man im ReqFilterField den Filter umsetzt. z. B. Im DataItemTableView habe ich "Booking Block" auf Yes gesetzt und im ReqFilterField setze ich das Feld auf NO. Geht sowas?
Ja, das geht.

GruĂź, Marc
Benutzeravatar
Marc Teuber
Microsoft Partner
Microsoft Partner
 
Beiträge: 1064
Registriert: 2. Oktober 2005 13:36
Wohnort: Greven
Arbeitsort: MĂĽnster, Dortmund
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re:

Beitragvon Raik Zobel » 19. Mai 2017 10:45

rotsch hat geschrieben:Ich konnte das folgendermassen lösen:

SetupRec.Filter := Rec.GETVIEW()
Damit kann ich die durch den Benutzer gesetzten Filter in einer Tabelle ablegen. Dies kann man z.B. auf den OnPreDataItem-Trigger des Reports
tun.

Nun kannst Du auf dem Request-Form einen Lookup erstellen und den gewünschten Filter aus der Liste auswählen lassen.

Wiederum auf OnPreDataItem setzt Du dann den gelesenen Filter mit
Rec.SETVIEW(SetupRec.Filter)


Hi, de Beitrag ist zwar schon etwas alt. Aber eine kleine Frage habe ich noch dazu. Ist es in irgendeiner Form möglich, die im Requestform per SETVIEW gesetzten Filter auch im jeweiligen Dataitem zu aktualisieren? Also das man auch sieht, das man nun eine andere Filterkonfiguration geladen hat? (NAV 2013 R2)

Edit: Ahh.. sorry. Hab gerade gesehen, dass es noch die Variable "RequestOptionpage" gibt. Mit RequestOptionPage.UPDATE(true) geht es ;)
Zuletzt geändert von Raik Zobel am 19. Mai 2017 13:34, insgesamt 2-mal geändert.
Benutzeravatar
Raik Zobel
 
Beiträge: 279
Registriert: 4. März 2013 13:43
Realer Name: Raik Zobel
Arbeitsort: Leipzig
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.00SP3, 2013R2, 2016

Re: [Gelöst] Report: Default-Werte in ReqFilterFields hinter

Beitragvon Kowa » 19. Mai 2017 11:27

Forumsknigge beachten, bitte keine Vollzitate!
GruĂź, Kai

Frage beantwortet? 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, Messenger oder Telefon! DafĂĽr ist dieses Forum da.

Download: Dynamics NAV Object Text Explorer (Alternativlink). MVP Alumni
Benutzeravatar
Kowa
Moderator
Moderator
 
Beiträge: 7849
Registriert: 17. Juni 2005 17:32
Wohnort: Bremen
Realer Name: Kai Kowalewski
Arbeitsort: Osterholz-Scharmbeck
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: BC, NAV 2018 bis Navision 2.01


ZurĂĽck zu NAV 4.xx

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast