Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Christian97 am 09.03.04 - 20:18:02

Titel: Dokument öffnen und Fokus in Frame setzen
Beitrag von: Christian97 am 09.03.04 - 20:18:02
Hallo,

ich hab mir ein Frameset gebastelt. Links ein Menü, Rechts erscheinen die Ansichten und geöffneten Dokumente. Wenn ich nun ein Dokument in der Ansicht per Doppelklick öffne, soll das Dokument gleich aktualisiert werden, weil eine hide-when Formel dann erst greift. @SetTargetFrame scheidet ja aus, weil das ja nur vor dem Öffnen geht. Ein normales @Command([ViewRefreshFields]) im PostOpen reicht auch nicht, denn der Fokus ist sonstwo, aber nicht im rechten Frame.

Wie bekomme ich den Fokus in den Frame? Könnt Ihr mir helfen?

Vielen Dank
Christian
Titel: Re:Dokument öffnen und Fokus in Frame setzen
Beitrag von: TMC am 09.03.04 - 22:08:15
Hi,

kurze Zwischenfrage: Das Hide-when greift also nicht, wenn Du das Dok per Doppelklick öffnest? Was steht denn in der Hide when? User/Rollen - abhängig? Dann würde mich das wundern.

Matthias
Titel: Re:Dokument öffnen und Fokus in Frame setzen
Beitrag von: Christian97 am 09.03.04 - 22:16:01
In der Maske befindet sich eine Zeile, die erst sichtbar sein soll, wenn ein bestimmter Wert aus einem Optionsschaltflächenfeld ausgewählt wurde. Wenn ich ein neues Dokumente mit Datenübernahme aus dem gewählten erstelle, zeigt's die Zeile trotzdem an, obwohl das Optionsfeld leer ist. Wenn ich aber in den Frame reinklicke und F9 drücke, dann springt die hide-when an und die Zeile ist weg.

das Optionsfeld heißt "Ansprache", die hide-when Formel
Code
Ansprache != "MA"

Christian
Titel: Re:Dokument öffnen und Fokus in Frame setzen
Beitrag von: TMC am 09.03.04 - 22:23:21
Wie verhält sich das denn, wenn Du das Dokument eigenständig - also ohne Frames - erstellst / öffnest?

Matthias
Titel: Re:Dokument öffnen und Fokus in Frame setzen
Beitrag von: koehlerbv am 09.03.04 - 22:27:55
Da scheint doch eher an der Maske was fehlerhaft zu sein, und da ganze hat weniger mit Frames zu tun. Vor allem das erforderliche F9 (was ja auch programmatisch beim Öffnen des Dokuments erfolgen könnte) macht mich stutzig.

"Mehr Input !", würde Nr. 5 jetzt sagen   ;)

Bernhard
Titel: Re:Dokument öffnen und Fokus in Frame setzen
Beitrag von: Christian97 am 09.03.04 - 22:28:33
Wenn ich die Maske so einstelle, daß sie nicht im Frame, sondern als neues Fenster geöffnet wird, wirkt die Hide-When Formel auch nicht sofort. Dann kann ich aber @Command(ViewRefreshFields]) im PostOpen verwenden und das Feld zeigt es nicht an.
Das geht aber nur, weil das Fenster schon aktiv ist. Im Frameset muß ich erst in den Frame reinklicken, damit ich das offene Dokument refreshen kann.

Christian
Titel: Re:Dokument öffnen und Fokus in Frame setzen
Beitrag von: TMC am 09.03.04 - 22:31:18
Aha, hab mir auch sowas gedacht :-)


Schuss ins Blaue:
Liegt das Optionsfeld unterhalb Deiner Hide when - Zeile?

Matthias
Titel: Re:Dokument öffnen und Fokus in Frame setzen
Beitrag von: Christian97 am 09.03.04 - 22:33:09
nein, das Optionsfeld liegt oberhalb.

Christian
Titel: Re:Dokument öffnen und Fokus in Frame setzen
Beitrag von: TMC am 09.03.04 - 22:42:00
Gibts sonst noch was was wir wissen sollten (irgendwelche Events beim Öffnen der Maske etc. etc., sonstige Besonderheiten, ....) ?

Was in jedem Fall geht (hier aber ein Workaround wäre):

Du baust Deinen Button "Neues Dokument" um. Setzt da ein Script rein.

Z.B.
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument 'Erstes Dokument
   
While (doc Is Nothing)
   Set uidocNew = uiws.ComposeDocument( "", "", "DEINE FORM" )
   Exit Sub
Wend

Set docNew = db.CreateDocument
docNew.FORM = "DEINE FORM"
   
docNew.Feld1 = doc.Feld1(0)
docNew.Feld2 = doc.Feld2(0)

Call docNew.save(False, False)
Set uidocNew = uiws.editDocument(False, docNew)   
Call docNew.remove(True)
uidocNew.EditMode = True


Nur so als anpassbares Beispiel.

Matthias
Titel: Re:Dokument öffnen und Fokus in Frame setzen
Beitrag von: Christian97 am 09.03.04 - 22:49:59
Es sind wirklich keine Besonderheiten in der Maske drin, keine Events, nix.

Wie ich das Script verstehe, kann ich damit die Felder im neuen Dokument explizit angeben, die Werte übernehmen sollen. Damit bekomm ich zumindest die Hide-When-Zeile versteckt.

Gibt es denn keine Funktion, mit der man einen Klick in einen anderen Frame machen kann? Wenn ich den Fokus in den Frame bekommen könnte, wäre ja alles ok.

Trotzdem großen Dank an Dich!

Christian

Titel: Re:Dokument öffnen und Fokus in Frame setzen
Beitrag von: TMC am 09.03.04 - 22:59:07
Christian, Deine Lösung mit F9-Simulation gefällt mir deswegen nicht, weil es spätestens dann Fehler-Popups hagelt, wenn Du mit "Input Validation" arbeitest. Denn die wird automatisch ausgeführt bei F9.

Ist also insofern keine Frameproblematik sondern Maskenproblematik (wie oben auch schon von Bernhard erwähnt).

Matthias
Titel: Re:Dokument öffnen und Fokus in Frame setzen
Beitrag von: koehlerbv am 09.03.04 - 23:13:39
Christian, vielleicht kannst Du zur Einfachheit der Hilfe auch einfach Deine DB hier posten. Dann würden wir ja sofort sehen, wo es denn klemmt. So betreiben wir hier erstmal "Skispringen im Nebel" ...

Bernhard
Titel: Re:Dokument öffnen und Fokus in Frame setzen
Beitrag von: TMC am 09.03.04 - 23:16:03
Das wäre natürlich das einfachste :-))

Alternativ (wegen Vertraulichkeit etc.): Erstelle doch schnell mal eine neue DB.
So wie sich das anhört hast Du ein Frameset, eine Maske, eine View. Sollte also in ein paar Minuten zusammengezimmert sein.
Vorteil zusätzlich: diese neue Test-DB ist vollkommen bereinigt von etwaigen (vergessenen) Codes ;-)

Matthias
Titel: Re:Dokument öffnen und Fokus in Frame setzen
Beitrag von: Christian97 am 09.03.04 - 23:18:07
ich glaub, ich werde mal die Alternative von Matthias versuchen.

Vielen Dank Euch beiden!

Christian
Titel: Re:Dokument öffnen und Fokus in Frame setzen
Beitrag von: koehlerbv am 09.03.04 - 23:20:29
Eine leere Kopie sollte es sowieso sein. Falls vorhanden, bitte nicht vergessen, eine eventuell vorhandene konsistente ACL zu entfernen.
Falls wichtige Konfig-Doks vorhanden sind, diese natürlich wieder hineinkopieren, bevor wir uns hier den Wolf suchen. Und bitte eine kleine Anleitung ... wir haben ja auch noch andere Tasks ...

Wir kriegen das schon geschaukelt. Das hier ist ja das beste Notes-Forum, oder ?

Bernhard