[gelöst] Berichtsfilter leeren bei neuem Berichtsaufruf

1. August 2013 10:16

Hallo liebes MSDynamics-Forum,

ich hoffe jemand kann mir bei meinem unten stehenden Problem helfen :)

Folgendes:
Ich habe einen Bericht programmiert über die Table Item.
Der Bericht funktioniert auch wie gewünscht.
Jedoch ist die Vorgabe das bei jedem Neustart des Berichts die vorherigen Filterkriterien (die ich manuell eingegeben habe, "Artikelnummerfilter" und "Varianten Filter") gelöscht werden, praktisch das die Auswahl leer ist.
Navision speichert die vorherigen Filterkriterien, in diesem einen Bericht soll das aber nicht so sein.

Ich bitte um Hilfe, da ich einfach nicht weiterkomme.

MFG
SuppeDroops
Zuletzt geändert von SuppeDroops am 1. August 2013 15:24, insgesamt 1-mal geändert.

Re: Berichtsfilter leeren bei neuem Berichtsaufruf

1. August 2013 10:19

Herzlich willkommen bei uns!

Ich bin mir nicht sicher, aber probier mal Folgendes:
Die RequestForm verfügt über die Eigenschaften SaveTableView und SaveValues - stelle die mal auf No.

Re: Berichtsfilter leeren bei neuem Berichtsaufruf

1. August 2013 10:43

Hallo Natalie,

vielen Dank für die sehr schnelle Antwort.

Ich habe mal deinen Ratschlag befolgt, leider löst dies aber nicht mein Problem.
Die Artikelnummer bleibt weiterhin gespeichert im Bericht :(

Noch weitere Ideen?
Ich bin für jeden Ratschlag dankbar :)

MFG
SuppeDroops

Re: Berichtsfilter leeren bei neuem Berichtsaufruf

1. August 2013 11:09

Man könnte alle ReqFilterFields löschen, so dass beim Aufruf des Reports nur noch die RequestForm angezeigt wird. Dort werden dann die Filterkriterien in Textvariablen, die man bei jedem Start leeren kann, eingegeben.

Re: Berichtsfilter leeren bei neuem Berichtsaufruf

1. August 2013 11:14

Als Workaround:
Was ist wenn du alle DataItems im Report ausblendest und die relevanten Filter im Request Form des jeweiligen Reports in einem Textfeld eingeben lässt?

Sofern sie nicht immer auf andere Felder filtern, kannst du den Filter dann mit Setfilter auf das DataItem setzen.

EDIT: McClane du bist immer so schnell... :mrgreen:

mfg,
winfy

Re: Berichtsfilter leeren bei neuem Berichtsaufruf

1. August 2013 12:27

Ich habe euren Ratschlag mal befolgt und alles in der Request-Form eingebaut. (siehe Datei als Hilfe)

Es funktioniert aber noch nicht die Artikelfilterung (d. H. das Etikett wird noch für alle Artikel gedruckt) habe es mal mit Copyfilter und Setfilter probiert zwischen Request Form Artikel (Rec auf Item) und Dataitem "Item" probiert, klappt aber nicht. Habt ihr mir hierfür einen Tipp? welchen Code ich wo einsetzen muss?!

2tens gibt es die Möglichkeit sobald ich in der Requestform im Artikel eine Nummer eingebe, dass auch nur die Varianten dann für diese Nummer erscheint (sowie es auch ist wenn ich im Dataitem eine Artikelnummer filterung vornehme)

Die Datei mal als Hilfe wenn man es sieht wird es vielleicht einfacher

Vielen Dank für eure Hilfe.

MFG
SuppeDroops
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Berichtsfilter leeren bei neuem Berichtsaufruf

1. August 2013 12:56

Du brauchst keinen neuen Record Artikel usw. anlegen.

Einfach Textfelder angeben und dann eine Textvariable definieren: z.B. Artikelfilter vom Typ TEXT, Länge 250
Dann die SourceExpr nicht wie bei dir oben auf "Artikel.No.", sondern auf die angelegte TEXT-Variable Artikelfilter.

Dann im OnPreReport direkt auf das DataItem Setfilter anwenden:

Code:
Item.SETFILTER("No.", Artikelfilter);


Für die anderen Filterfelder genauso vorgehen.

mfg,
winfy

Re: Berichtsfilter leeren bei neuem Berichtsaufruf

1. August 2013 13:29

Hallo winfy,

vielen vielen Dank!!
Das klappt wirklich Perfekt!! :))

Hast du bzw. noch ein anderer eine Lösung zu meinem Punkt 2?!

Ich gebe eine Artikelnummer ein und im Variantenfilter sollte nur noch die Varianten-Auswahlmöglichkeit sein für diesen einen ausgewählten Artikel.

Falls das noch geht bin ich heute wunschlosglücklich :))

Mit den besten Grüßen
SuppeDroops

Re: Berichtsfilter leeren bei neuem Berichtsaufruf

1. August 2013 15:16

SuppeDroops hat geschrieben:Hallo winfy,

vielen vielen Dank!!
Das klappt wirklich Perfekt!! :))

Hast du bzw. noch ein anderer eine Lösung zu meinem Punkt 2?!

Ich gebe eine Artikelnummer ein und im Variantenfilter sollte nur noch die Varianten-Auswahlmöglichkeit sein für diesen einen ausgewählten Artikel.


Da der OptionString hier nur fest vorgegeben werden kann, würde mir hier ad hoc keine elegante Lösung einfallen.

mfg,
winfy

Re: Berichtsfilter leeren bei neuem Berichtsaufruf

1. August 2013 15:23

Hallo Winfy,

ich habe eine Lösung gefunden, der für mich gut ist.

Hier auch der Code, falls jemand anderes diesen auch braucht.

Code in der Request-Form Variantenfilter OnLookup:

ItemVariant.SETFILTER(ItemVariant."Item No.",Artikelfilter);
IF FORM.RUNMODAL(FORM::"Item Variants",ItemVariant) = ACTION::LookupOK THEN
Variantenfilter := ItemVariant.Code;

Damit ist mein Report fertig.

Vielen Dank nochmal alle für die Hilfe.

Problem wurde erfolgreich gelöst.

MFG
SuppeDroops