[gelöst] [RTC] Aufruf einer vorgefilterten Page

14. November 2011 16:21

Hallo zusammen,

ich versuche gerade von einer Page eine andere Page aufzurufen, welche mir eine vorgefilterte Ansicht anzeigen soll.
Diesen Code mit derzeit noch festen Werten verwende ich testweise dafür:

Code:
CLEAR(CommentLines);
Comments.RESET;
Comments.SETRANGE(Comments."Table No.",50012);
Comments.SETRANGE(Comments."Comment Code",'ANTRAGSART');
Comments.SETRANGE(Comments."Document No.",'AN00012');
CommentLines.SETTABLEVIEW(Comments);
CommentLines.RUNMODAL;


Komischerweise bekomme ich in der Page dann aber nur den ersten Datensatz aus der Tabelle Comments angezeigt. Es müßten aber
4 sein. Wenn ich mir vor dem Runmodal die Datensatzanzahl ausgeben lasse werden auch dei 4 DS genannt.
Kann mir jemand sagen warum die Page nicht alle gefundenen Datensätze anzeigt? Irgenwie steh ich da auf dem Schlauch.

Viele Dank für eure Hilfe.
Zuletzt geändert von fragglet am 15. November 2011 18:02, insgesamt 1-mal geändert.

Re: [RTC] Aufruf einer vorgefilterten Page

14. November 2011 16:36

Hallo,

was passiert denn, wenn du manuell die Tabelle "CommentLines" auf die Bedingugen filterst?

Sind die Tabellen "Comments" u. "CommentLines" nicht unterschiedliche Tabellen?
Warum filterst du nicht gleich auf "CommentLines"?
Zuletzt geändert von aydina81 am 14. November 2011 16:44, insgesamt 1-mal geändert.

Re: [RTC] Aufruf einer vorgefilterten Page

14. November 2011 16:38

fragglet hat geschrieben:Wenn ich mir vor dem Runmodal die Datensatzanzahl ausgeben lasse werden auch dei 4 DS genannt.

Das beweist doch, dass das "Problem" in der Page selbst liegt. Schau dir mal die Eigenschaften und Funktionen an.

Re: [RTC] Aufruf einer vorgefilterten Page

14. November 2011 16:43

Die aufgerufene Page hat keine Funktionen.
Die Properties sind eigentlich auch ganz "normal" (siehe Anhang)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: [RTC] Aufruf einer vorgefilterten Page

14. November 2011 16:55

Hast du schon Aydins Hinweise geprüft?

Re: [RTC] Aufruf einer vorgefilterten Page

14. November 2011 17:03

CommentLines ist eine Page die als Source Table die Tabelle Comments hat.
Die Tabelle Comments filtere ich und gebe diesen Filter mit Settableview an die Page.
Danach starte ich die Page mit Runmodal. Hat sich da mit Einführung der Pages etwas mit dem Befehl
Runodal geändert?

Was meintest du mit manueller Filterung? Wenn ich im Objektdesigner die Tabelle
öffne und die Werte im Filter eingebe bekomme ich meine 4 Datensätze angezeigt.

Re: [RTC] Aufruf einer vorgefilterten Page

14. November 2011 17:11

Versuch mal diesen Code.

Code:
//CLEAR(CommentLines);
Comments.RESET;
Comments.SETRANGE(Comments."Table No.",50012);
Comments.SETRANGE(Comments."Comment Code",'ANTRAGSART');
Comments.SETRANGE(Comments."Document No.",'AN00012');
//CommentLines.SETTABLEVIEW(Comments);
//CommentLines.RUNMODAL;
PAGE.RUNMODAL(PAGE::"CommentLines", Comments)

Re: [RTC] Aufruf einer vorgefilterten Page

14. November 2011 18:20

Leider funktioniert diese Variante auch nicht. Es wird nur ein Datensatz angezeigt.
Ich werde mal mit anderen Pages testen ob das ein generelles Problem ist.

Re: [RTC] Aufruf einer vorgefilterten Page

14. November 2011 18:30

Welchen Schlüssel hat denn die Tabelle ?

Re: [RTC] Aufruf einer vorgefilterten Page

14. November 2011 22:38

Sowohl Tabelle (Request Comment Line) als auch Page sind nicht (deutscher) NAV-Standard zu. Das macht die Suche für uns natürlich schwieriger.
Ich bleibe nach wie vor bei meiner Annahme, dass das Problem in der Page liegt.
Ist im OnOpenPage-Trigger nichts enthalten? Was ist mit OnNextRecord?

Re: [RTC] Aufruf einer vorgefilterten Page

15. November 2011 17:37

Hallo,

habe jetzt den Fehler gefunden. Im OnNextRecord stand auskommentierter Code.
Der wurde aber scheinbar trotzdem verarbeitet. Habe ihn entfernt und dann reagierte
die Page "normal"

Danke für eure Hilfe!

Re: [RTC] Aufruf einer vorgefilterten Page

15. November 2011 18:00

fragglet hat geschrieben:Im OnNextRecord stand auskommentierter Code.
Der wurde aber scheinbar trotzdem verarbeitet.

OnNextRecord gehört zu den Alles-oder-nichts-Triggern.
Ist nichts drin, folgt NAV einer implementierten Logik (hier: alle Datensätze untereinander anzeigen).
Sobald der Trigger geändert wird (es reicht schon, nur eine Variable zu deklarieren, kein Code!), "hört die Maschine auf zu denken" und macht nur noch das, was im Trigger steht. Naja, und wenn da nichts drin steht (bzw. alles auskommentiert ist), dann passiert halt kein NEXT und der erste Datensatz wird nie überschritten.