Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: TMC am 20.12.03 - 19:17:52

Titel: Script Dialogbox Werte übernehmen
Beitrag von: TMC am 20.12.03 - 19:17:52
Hi,

folgende Situation:

- Ein Dok ist in Bearbeitung
- Durch Klick auf einen Button wird ein Script ausgeführt

Im Script werden ein paar Felder des Dokumentes gesetzt, etc.

Dann wird im Script eine Dialogbox aufgerufen:
In der Dialogbox ist u.a. 1 Textfeld "Message".

Nach Klick auf "OK" in der Dialogbox will ich den Inhalt der Message im ursprünglichen Script weiterverarbeiten.
Ein gleichnamiges hidden Textfeld "Message" im Dokument selbst will ich vermeiden.

Ist das so überhaupt möglich? Muss ich in einem Event der Dialogbox was einbauen?
Oder Workaround nötig? (z.B. neues docTemp erstellen und das dann der Box übergeben?

Eine einfache Lösung wäre super, ich weiß aber nicht ob es da eine simple Methodik gibt

TMC
Titel: Re:Script Dialogbox Werte übernehmen
Beitrag von: Semeaphoros am 20.12.03 - 19:22:33
Entweder Du machst das, wie Du es schon angedeutet hast, mit einem TempDoc, kopierst hinein, was Du brauchst und bearbeitest das Ergebnis nach Bedarf und speicherst das TempDoc nicht ab.

Oder Du entfernst das/die überflüssigen Felder nach dem Schliessen der Diabox nach der Verarbeitung wieder aus dem aktuellen Dokument.

Ich persönlich würde die Variante mit dem TempDoc bevorzugen, damit ist sichergestellt, dass alle Bearbeitungsspuren, die die Diabox allenfalls hinterlassen könnten, entfernt werden und die Möglichkeit von SideEffects ist beschränkt. Dafür ist Setup und Nachbearbeitung eventuell etwas komplexer als das direkte Einbinden des aktuellen Dokumentes.
Titel: Re:Script Dialogbox Werte übernehmen
Beitrag von: TMC am 20.12.03 - 19:27:07
danke für die Infos :-)

TMC
Titel: Re:Script Dialogbox Werte übernehmen
Beitrag von: Semeaphoros am 20.12.03 - 19:32:55
Vielleicht noch eine Ergänzung dazu, das Gesagte gilt für die Situation hier, wo zusätzliche Hilfsfelder erforderlich sind. Wenn es keine solchen Hilfsfelder braucht, spricht natürlich nichts dagegen, die Diabox direkt aufs aktuelle Doc loszulassen.
Titel: Re:Script Dialogbox Werte übernehmen
Beitrag von: TMC am 20.12.03 - 19:33:25
Ich persönlich würde die Variante mit dem TempDoc bevorzugen, damit ist sichergestellt, dass alle Bearbeitungsspuren, die die Diabox allenfalls hinterlassen könnten, entfernt werden

Heißt das ich brauche vorher keine Items im tmpDoc anlegen und alle Felder werden durch "OK" in der Dialogbox in mein tmpDoc geschrieben?

TMC
Titel: Re:Script Dialogbox Werte übernehmen
Beitrag von: Semeaphoros am 20.12.03 - 19:45:23
Ja, Du musst nur Items vorher belegen, die schon einen Wert haben sollen oder falls Du irgendwelche Auswahllisten oder so hast, musst Du allenfalls die Werte der Listen vorher hinterlegen. Eine Diabox funktioniert eigentlich genau gleich, wie jedes Dokument im Editmodus, ausser dass es in einem modalen Fenster erscheint, was bedeutet, dass man das Fenster nicht verlassen kann. Thats it.
Titel: Re:Script Dialogbox Werte übernehmen
Beitrag von: TMC am 20.12.03 - 20:04:27
OK, grad mal getestet:

Zitat
   'Create DocTemp
   Dim docTemp As NotesDocument
   Set docTemp = db.CreateDocument
   'Create Items in docTemp
   Dim messageItem  As New NotesItem( docTemp, "Appr", ""  )
   Dim approverItem  As New NotesItem( docTemp, "Message", ""  )
   Call  uiws.DialogBox( "box_Appr", True, True, False, True, False, False, db.title, docTemp, True, False)
   Msgbox docTemp.Appr(0)
   Msgbox docTemp.Message(0)

So klappts einwandfrei, die Msgboxen zeigen den Inhalt dann sauber an.

Klammere ich die Zeilen
Zitat
   Dim messageItem  As New NotesItem( docTemp, "Appr", ""  )
   Dim approverItem  As New NotesItem( docTemp, "Message", ""  )
aus, dann geht es allerdings nicht.

TMC
Titel: Re:Script Dialogbox Werte übernehmen
Beitrag von: Semeaphoros am 20.12.03 - 20:08:23
Das ist aber klar, Du hast den Parameter "NoNewFields" auf TRUE gesetzt und verbietest damit der Diabox das Anlegen neuer Items
Titel: Re:Script Dialogbox Werte übernehmen
Beitrag von: TMC am 20.12.03 - 20:10:39
ach das meint die Option der Dialogbox  :)
Jetzt hab ich das auch verstanden ;D

Danke,
TMC
Titel: Re:Script Dialogbox Werte übernehmen
Beitrag von: TMC am 20.12.03 - 20:15:04
jip und so klappts dann auch.

Sehen sollte mich da keiner beim Coden von Dialogboxen:

Untere Fensterhälfte: Designer mit Codefenster
Obere Fensterhälfte: Designerhilfe.

Dann 2 Stifte in der Hand und nach und nach am Bildschirm die ganzen Schalter durchgehen der Dialogbox
 ;D

TMC
Titel: Re:Script Dialogbox Werte übernehmen
Beitrag von: Semeaphoros am 20.12.03 - 20:44:22
 ;D  ;D




Da hast Du offenbar die versteckte Kamera noch nicht entdeckt  ;)