[gelöst] RecFilterFields mit Wert vorbelegen

24. Juli 2006 09:15

Hallo,

gibt es eine Möglichkeit bei einem Report ein Feld von RecFilterFields mit einem Wert vorbeleben?

Falls nicht, ist es möglich RecFilterFields und ein Requestform zu verwenden?

Danke Jürgen
Zuletzt geändert von Juergen_G am 25. Juli 2006 13:28, insgesamt 1-mal geändert.

24. Juli 2006 11:44

Wenn Du damit meinst, ob man die Filterfelder der Requestform schon vorbelegen kann, dann lautet die Antwort ja.
Ein Beispiel kannst du Dir ansehen, wenn Du z.B. im Auftrag eine Auftragsbestätigung druckst, da ist die Nummer des Auftrags vorbelegt.

24. Juli 2006 13:00

Bei mir funktioniert es hiermit immer ganz gut:

SETRECFILTER;
REPORT.RUNMODAL(REPORT::NameReport,TRUE,FALSE,Rec);
RESET;

24. Juli 2006 13:19

Sorry ich habe mich nicht präzise genug ausgedrückt.

Ich möchte einen Bericht aus der Berichtsliste starten. Der Bericht liest die Sätze der Tabelle Wertposten und ich möchte das Feld Herkunftsart mit dem Wert Kreditor vorbelegen.

mfG Jürgen

24. Juli 2006 14:23

Folgende Diskussion hier im Forum dreht sich um das selbe oder um ein ähnliches Thema.

Vielleicht gibt das ja noch den einen oder anderen Input:

Filter vorbelegen

25. Juli 2006 13:25

Hallo,

ich habe (jedenfalls für mich) was neues herausgefunden:
Ich habe einen Report auf die Wertposten erstellt. Im TableFilter filtere ich auf den Herkunftstyp Kreditor. In den RecFilterfields habe ich die Herkunftsnummer angegeben. Es sind jetzt nur mehr die Kreditoren im Feld Herkunftsnummer auswählbar.

mfG

17. Januar 2007 11:39

Hallo zusammen,

ich steh im Moment vor einem ähnlichen Problem. Ich will einen Report aus einer Berichtsliste heraus öffnen, der aus 2 DataItems besteht. Das 2te DataItem ist mit dem ersten über bestimmte Filter verknüpft, zusätzlich will ich allerdings, dass dieses DataItem automatisch noch auf den Zuständigkeitseinheitencode gefiltert wird und zwar so, dass der Benutzer sieht, worauf gefiltert wird und ihn bei Bedarf ändern kann. Deswegen will ich eben das Feld Zuständigkeitseinheitencode in den ReqFilterFields vorbelegen, leider hab ich hier noch keinen Befehl oder eine Einstellung gefunden.

Geht das ganze überhaupt?

Danke schon mal

Grüße
Alez

17. Januar 2007 12:32

Alez hat geschrieben:[...] Deswegen will ich eben das Feld Zuständigkeitseinheitencode in den ReqFilterFields vorbelegen, leider hab ich hier noch keinen Befehl oder eine Einstellung gefunden.

Nein, das geht nicht. Du kannst lediglich Filter für das erste DateItem beim Aufrufen des Reports vorgeben.

Was jedoch geht ist, auf der RequestForm ein Feld "Zuständigkeitseinheitencode" setzen. Im "OnPreDataItem"-Trigger des 2. DataItems setzt du dann den Filter (mit SETFILTER) selber.

Gruß, Marc

17. Januar 2007 15:06

Hallo Marc,

schade, hatte gehofft das würde gehen. Aber dann lass ich es lieber weg, weil für die paar Benutzer lohnt sich das nicht wirklich, aber es wäre halt interessant gewesen. Dann soll es lieber aus der Zup gefüllt werden ;)

Danke trotzdem

Grüße Alez

17. Januar 2007 15:53

Eine Lösung fällt mir noch ein:

1. Erstelle im Report eine neue globale Code-Variable mit dem Namen "ResponsibilityCenterCode".

2. Erstelle im Report eine neue Funktion mit dem Namen "SetResponsibilityCenterCode". Diese Funktion hat einen Code-Parameter. Hinterlege den folgenden C/AL-Code in der Funktion:
Code:
ResponsibilityCenterCode := Code;
.

3. Im "OnPreDateItem"-Trigger des 2. DataItems den folgenden C/AL-Code hinterlegen:
Code:
SETFILTER("Responsibility Center", ResponsibilityCenterCode);
.

Du musst also - bevor der Report aufgerufen wird - die Funktion aufrufen und ihr den Zuständigkeitseinheitencode übergeben. In etwa so:

Code:
Report.SetResponsibilityCenterCode('TEST');
Report.RUN;


Das ganze habe ich jetzt nicht getestet...

Gruß, Marc

17. Januar 2007 15:59

Das lies mir keine Ruhe und ich hab es selber getestet. Leider funktioniert das doch nicht. :-( Aber ich guck mir das später noch mal genauer an. Irgendeine Lösung muss es doch geben...

Gruß, Marc

18. Januar 2007 02:34

marc,

da es nur um einen Wert geht würde ich setrange statt setfilter nehmen.
aber diesen auch nur ausfüllen, wenn der RespCenterCode auch gefüllt ist, sonst suchst du nach leerem Eintrag darin.

18. Januar 2007 10:40

Hallo Marc,

scheint dich ja echt nicht mehr loszulassen das Thema :-D

Das einzige Problem was ich jetzt sehe, ist, dass ich die Funktion ja vor dem Report aufrufen muss, also bräuchte ich wieder einen Button o.ä. Aber der Report soll ja über die Berichtsliste gestartet werden, deswegen bin ich mir grad nicht sicher ob das Ganze so funktionieren wird.

Grüße
Alez

18. Januar 2007 11:36

Ich glaube, jetzt weiss ich.....

Dieses Feld muss natürlich in der Requestform stehen, sonst sieht man nichts....

Also auch die Requestform hat einen OnOpenForm- Trigger, da könnte man die entsprechenden Filter setzen, so wie ich das sehe, soll der Kreditor ja sozusagen hardcoded als Vorschlag dadrin stehen,
richtig Jürgen?

18. Januar 2007 16:21

Ja genau Michael - Danke für den Tipp