[Gelöst] - Report mit Vorausgewählten Filter

17. August 2009 09:10

Hi,

wir haben einen Report der zur Ausgabe von Artikelpreisen dient.

Nun habe ich die Aufgabe bekommen diesen Report zu kopieren , beim Ausführen der Kopie sollen bestimmte Artikel vorausgewählt werden.... Sprich der Report wird gestartet und Artikel X,Y,Z sollen im Filter Feld schon eingetragen sein....

Dieser Gedanke verursacht mir Bauchschmerzen... warum einen ganzen Report kopieren der sich in der Funktionalität nicht ändert, nur damit ein paar Artikel "Vorgefiltert" werden? ... Man kann sich das Leben auch schwer machen ...

Um dies zu vermeiden habe ich mir 2 Lösungswege ausgedacht:

1. In der Optionen Registerkarte des Report eine CheckBox einbauen. Wenn True würde ich die gewünschten Artikel in das FilterFeld des Reports einsetzen. Diese Lösung würde aber eine zusätzliche Interaktion des Users erfordern (Register Optionen ausählen und dort dann den Haken setzen) ... Sehe aber keinen anderen Weg um dies besser zu lösen, ausser beim Start des Report eine Dialog Abfrage zu machen, was auch doof ist, weil dieser "neue" Report wahrscheinlich von nur einer Person genutzt wird.

2. Es gibt ja das Form 281(Berichte).Ich stelle mir hier vor, das der Report mit der ID 50058 zwei mal vorkommt, mit unterschiedlichen Text, je nach Text würde ich dann beim Starten des Report die Filter Felder vor ausfüllen oder nicht.

Ist es möglich im Report an den Name des Bericht (Feld Text) zu kommen? Und wenn ja, wie?

Dankeschön.
Zuletzt geändert von elTorito am 17. August 2009 14:38, insgesamt 1-mal geändert.

Re: Report mit Vorausgewählten Filter

17. August 2009 13:19

du kannst das mal versuchen mit
Code:
Currreport.objectid;


das hat als Rückgabewert den Reportnamen.
evtl. kommst du damit weiter.

Re: Report mit Vorausgewählten Filter

17. August 2009 13:24

Das dürfte nicht weiterhelfen, denn er will den Report ja mit bestimmten Filtern aufrufen, jedoch steht CurrReport.OBJECTID erst IN dem Report zur Verfügung.

Mein Vorschlag: In dem betroffenen Report durch ein Häkchen kennzeichnen, dass nur bestimmte Artikel verarbeitet werden sollen.
Bei gesetztem Häkchen im OnPreDataItem den gewünschten Filter setzen.
Optimal wäre natürlich, wenn die zu verarbeitenden Artikel z. B. in der "Lager Einrichtung" als Filterstring in einem Textfeld hinterlegt werden können, und dieses Feld dann im OnPreDataItem ausgelesen wird. So braucht nicht immer die Programmierung angepasst werden, wenn jetzt mehr/weniger/andere Artikel berücksichtigt werden sollen.

Re: Report mit Vorausgewählten Filter

17. August 2009 13:43

Ist es möglich ein Textfeld im request Options Form zu validieren? Oder über einen Button im Request Options Form eine Validierung anzustoßen?

Dann würde ich es nämlich so machen, das die Vordefinierte Filterbedingung aus einer Tabelle ausgewaehlt werden kann. (Nach dem ich den Vorschlag ablehnte eine Kopie des Reports zu machen, kam das Argument "Dann kann ich den gewünschten Filtertext ja gar nicht selber ändern"... ) ... In der Report Kopie hätte man das auch nicht gekonnt, aber nunja... Wünsche... ;-)

Optimal wäre natürlich, wenn die zu verarbeitenden Artikel z. B. in der "Lager Einrichtung" als Filterstring in einem Textfeld hinterlegt werden können, und dieses Feld dann im OnPreDataItem ausgelesen wird. So braucht nicht immer die Programmierung angepasst werden, wenn jetzt mehr/weniger/andere Artikel berücksichtigt werden sollen.


Ich glaube das versuche ich gerade umzusetzen :-)

Habe also nun ein Textfeld, verknüpft an eine Tabelle wo Filter Strings gespeichert sind. Diese zur Laufzeit einsetzen sollte kein Problem darstellen.

Schön wäre aber natürlich wenn nach Auswahl des Filterstring, ich das Filterfeld vom Artikel füllen könnte. Daher die Frage ob man Textfeld im Request Options Form validieren kann.

Danke.
Gruß
Peter

Re: Report mit Vorausgewählten Filter

17. August 2009 13:51

versuchs mal andersrum,

starte deinen Report, aus deiner Filterstring tabelle.

Re: Report mit Vorausgewählten Filter

17. August 2009 14:35

Innerhalb der RequestForm hast du leider keine Möglichkeit, das Artikel-Register mit Filtern zu füllen.
Filter, welche in den DateItem-Registern der RequestForm angezeigt werden sollen, müssen vor dem Report-Aufruf gesetzt werden.

Natürlich kannst du auch eine Textbox auf der RequestOptionForm platzieren und dort einen Filtertext anzeigen, diesen musst du dann aber im OnPreDataItem entsprechend per C/AL-Code der Record-Variablen noch per SETFILTER zuweisen.

Re: Report mit Vorausgewählten Filter

17. August 2009 14:38

Timo Lässer hat geschrieben:Natürlich kannst du auch eine Textbox auf der RequestOptionForm platzieren und dort einen Filtertext anzeigen, diesen musst du dann aber im OnPreDataItem entsprechend per C/AL-Code der Record-Variablen noch per SETFILTER zuweisen.


So habe ich das jetzt erstmal gemacht. Mal gespannt was für ein Feedback kommt.

Danke euch für die Antworten. Denke das Thema ist somit auch gelöst.

Gruß
Peter