Autor Thema: Formelproblem  (Gelesen 3894 mal)

Offline Thunder

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 728
  • Geschlecht: Männlich
Formelproblem
« am: 12.01.05 - 12:21:06 »
Halllo,
ich habe da ein Verständnisproblem in Sachen Formeln.
Ich habe eine AktenanforderungsDB.In einer Maske wird die Kundennummer eingetragen und über einen Buttong soll dann überprüft werden, ob es bereits eine Akte mit dieser Nummer gibt - und diese auch gleich öffnen.
Hierzu habe ich eine Lookup-Ansicht mit der Kundennr und der UNID.
Ich möchte jetzt aber die derzeitige Maske zunächst schließen (ohne Nachfrage) und die gefundene mit der Kundennr öffnen.
Mit folgender Formel öffnet sich die neue Akte zusätzlich und die alte wird nicht geschlossen.

_var:=@DbLookup("";"":"";"(LU Akten)";Kundennr;2);
@PostedCommand([FileCloseWindow]);
@Command([OpenView];"(LU Akten)");
@Command([OpenDocument];"0";_var);
@Command([OpenView];"(LU Akten)")

Packe ich ein 2.FileCloseWindows dazu, dann schließt Notes mir sofort die neue Akte.Komisch finde ich auch, dass wenn ich den letzten OpenView-Befehl weglasse, dann wird nur eine zusätzliche View geöffnet und nicht die Akte, obwohl ich ja schon vorher die View öffne.
Wo ist mein denkfehler ?

Gruss
Remko
« Letzte Änderung: 13.01.05 - 09:01:11 von Thunder »
Notes Server: 9.0.1 FP10
Workstations: 9.0.1 (ca.350)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Formelproblem
« Antwort #1 am: 12.01.05 - 12:26:12 »
Hi,

du versuchst mit PostedCommand das Fenster zu schliessen. Und genau hier liegt der Knackpunkt. PostedCommand wird nach Abarbeitung aller anderen Befehle ausgeführt.

Versuch mal folgendes:

_var:=@DbLookup("";"":"";"(LU Akten)";Kundennr;2);
@Command([FileCloseWindow]);
@Command([OpenView];"(LU Akten)");
@Command([OpenDocument];"0";_var);


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Thunder

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 728
  • Geschlecht: Männlich
Re: Formelproblem
« Antwort #2 am: 12.01.05 - 12:35:55 »
Danke für die schnelle Antwort,
leider keine Änderung. Und auch hier brauche ich noch ein zusätzliches OpenView hinten dran, um das Dokument angezeigt zu bekommen.
Vielleicht ein Bug ? Setze Notes 5.0.12 ein.
Notes Server: 9.0.1 FP10
Workstations: 9.0.1 (ca.350)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Formelproblem
« Antwort #3 am: 12.01.05 - 12:41:36 »
Hi,

hier noch mal ein Versuch:

_temp := Kundennr;
@Command([FileCloseWindow]);
_var:=@DbLookup("";"":"";"(LU Akten)";_temp;2);
@Command([OpenView];"(LU Akten)");
@Command([OpenDocument];"0";_var);

Das Problem bei Formeln ist, dass man nicht immer sicher sein kann, dass die Befehle in der Reihenfolge abgearbeitet werden, in der man sie schreibt.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Thunder

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 728
  • Geschlecht: Männlich
Re: Formelproblem
« Antwort #4 am: 12.01.05 - 12:48:24 »
Das ist mir auch schon oft aufgefallen - gerade mit vielen Prompt Abfragen hintereinander.
Die neue Formel hat leider den selben Effekt.  :-\ Werde mich da mal morgen dran weiterversuchen. Habe für heute erst einmal Feierabend.
Wünsche noch einen schönen Tag !
Notes Server: 9.0.1 FP10
Workstations: 9.0.1 (ca.350)

Offline Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: Formelproblem
« Antwort #5 am: 12.01.05 - 13:20:06 »
Arbeitest du mit einem Frameset? Dort kannst du evt. besser steuern, wo ein Dokument sich öffnet. Wenn das neue Dokument sich im gleichen Frame öffnen soll wie das vorherige (Target-Frame: _PARENT) dann könnte das klappen. Hab ich aber nicht ausprobiert, hab lange keine Formelsprache mehr benutzt. 
sagt Mark.



slowfood.de

klaussal

  • Gast
Re: Formelproblem
« Antwort #6 am: 12.01.05 - 13:21:35 »
Ist leider aud 6er-Hilfe, deshalb weiss ich nicht. ob der 2. Satz stimmt.

1)Dieser Befehl wird erst nach allen @Funktionen ausgeführt.
2)Verwenden Sie @Command([CloseWindow]), wenn der Befehl sofort ausgeführt werden soll
« Letzte Änderung: 12.01.05 - 13:41:11 von klauss »

Glombi

  • Gast
Re: Formelproblem
« Antwort #7 am: 12.01.05 - 13:22:11 »
Es muss alles mit @PostedCommand gemacht werden.
Auch würde ich die Lookup-Ansicht wieder schließen. Das geht dann so:

_var:=@DbLookup("";"":"";"(LU Akten)";Kundennr;2);
@PostedCommand([FileCloseWindow]);
@PostedCommand([OpenView];"(LU Akten)");
@PostedCommand([OpenDocument];"0";_var);
@Posted@Command([OpenView];"(LU Akten)");
@PostedCommand([FileCloseWindow])

Andreas

Glombi

  • Gast
Re: Formelproblem
« Antwort #8 am: 12.01.05 - 13:23:22 »
Ist leider aud 5er-Hilfe, deshalb weiss ich nicht. ob der 2. Satz stimmt.

1)Dieser Befehl wird erst nach allen @Funktionen ausgeführt.
2)Verwenden Sie @Command([CloseWindow]), wenn der Befehl sofort ausgeführt werden soll
@Command([CloseWindow]) ist aber erst ab R6 definiert.

Andreas

klaussal

  • Gast
Re: Formelproblem
« Antwort #9 am: 12.01.05 - 13:38:06 »
@andreas,

das meinte ich ja mit: ich weiss nicht, ob.....

Offline Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: Formelproblem
« Antwort #10 am: 12.01.05 - 13:40:33 »
stehen denn 6er-Befehle schon in der 5er Hilfe ???

Naja, Notes ist halt proaktiv ;)
sagt Mark.



slowfood.de

klaussal

  • Gast
Re: Formelproblem
« Antwort #11 am: 12.01.05 - 13:41:33 »
sch... ist nicht mein Tag heute.... :P

Offline Thunder

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 728
  • Geschlecht: Männlich
Re: Formelproblem
« Antwort #12 am: 13.01.05 - 08:57:51 »
Hui - ganz schöne Diskussion draus geworden.
Ich arbeite nicht mir Framesets-muss leider noch kompatibel zu Notes 4.5x bleiben.

@Glombi: Es funktioniert ! Kann nur noch nicht so nachvollziehen warum  ???
Ich denke Posted setzt man nur vor die Formel, wenn sie als letztes ausgeführt werden soll. Setze ich vor allen Formeln ein Posted dann müsste das doch dasselbe sein, als wenn ich es weglasse. gruselig

Danke für eure Unterstützung !
Notes Server: 9.0.1 FP10
Workstations: 9.0.1 (ca.350)

klaussal

  • Gast
Re: Formelproblem
« Antwort #13 am: 13.01.05 - 09:37:49 »
Nein, eben nicht. "FileCloseWindow" würde dann immer als letzte Formel ausgeführt !! Wenn also vor allen Formeln ein "posted" steht, werden die der Reihe nach abgearbeitet.

klaus

Glombi

  • Gast
Re: Formelproblem
« Antwort #14 am: 13.01.05 - 09:39:46 »
Zitat
Ich denke Posted setzt man nur vor die Formel, wenn sie als letztes ausgeführt werden soll. Setze ich vor allen Formeln ein Posted dann müsste das doch dasselbe sein, als wenn ich es weglasse. gruselig
Das mit @Command und @PostedCommand ist etwas knifflig und eine definitive Schwachstelle der Formelsprache. Es ist aber historisch gewachsen und die Formelsprache nähert sich langsam einer wirklichen Programmiersprache an  ;D

@PostedCommand werden während des Programmablaufs gesammelt und damm am Ende der Formel ausgeführt - meistens in der Reihenfolge, in der diese im Code auftragen.

Einige @Command werden an der Stelle ausgeführt, wo diese im Code auftreten, andere werden am Ende der Formel ausgeführt. Dazu gehört auch das
@Command([FileCloseWindow]).

Aus diesem Grund hat Dein erster Code nicht funktioniert. Um das zu umgehen, verwendet man ausschließlich @PostedCommand
(oder man installiert einen R3 Client  ;D)

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz