Domino 9 und frühere Versionen > ND8: Entwicklung
Klick auf Button soll Fenster öffnen mit einer Datumsauswahl
TRO:
--- Zitat von: ThomasHB am 07.04.11 - 12:22:25 ---Allerdings habe ich das Problem, das die Dialogbox sehr groß ankommt.
Obwohl ich die AutoFit Schalter auf True gesetzt habe.
Die Felder befinden sich in einer Tabelle...
--- Ende Zitat ---
Es ist nicht der AutoFit-Schalter sondern der sizeToTable-Schalter:
flag = notesUIWorkspace.DialogBox( form$ , [autoHorzFit] , [autoVertFit] , [noCancel] , [noNewFields] , [noFieldUpdate] , [readOnly] , [title$] , [notesDocument] , [sizeToTable] , [noOkCancel] , [okCancelAtBottom] )
hth
Thomas
ThomasHB:
Hallo noch mal,
also scheinbar bin ich, mangels Erfahrung oder Dummheit nicht in der Lage, das Problem so zu lösen wie ich es gerne hätte. Ich dachte, das ganze funktioniert, das tut es aber nur bedingt.
Also es sieht so aus, das habe ich gemacht:
Neues Form erzeugt, in der Form eine Kopie des Feldes aus dem anderen Form erzeugt.
Form mit Layoutbereichen angepasst etc.
Der Aufruf klappt...
Das Datum wird allerdings nicht in das Dokument gespeichert, wenn das Script ganz durchläuft.
Breche ich aber den Debugger, nach der Datumsauswahl ab, dann speichert er das.
Das ist der Code für die Dialogbox:
--- Code: --- response = ws.Dialogbox("Stammdaten_DateSelect", True, True, False, True, False, False, "Bitte Datum setzen...")
If response = False Then
Exit Sub
End If
--- Ende Code ---
Ich denke mein Problem liegt in der Weiterverarbeitung... Da die Dialogbox aber nur einen Bool zurück wirft, verstehe ich scheinbar nicht, wie die Weiterverarbeitung läuft.
Denn auf response kann ich mich ja so gesehen nicht beziehen, außer eben jetzt für das Verhalten, wenn es False ist.
Danach folgt nichts wildes mehr... Ein ReplaceItemValue und eine Form Änderung sowie ein Save...
Wenn das Script dann durch ist, fehlt mir der Datumswert in dem Feld...
--- Code: --- doc.Form = "Marketing_trk_ab"
Call doc.ReplaceItemValue("ausgeschieden", "Inaktiv")
Call doc.Save(True, False, False)
--- Ende Code ---
Was mache ich denn falsch?
Grüße,
Thomas
TRO:
--- Zitat von: ThomasHB am 07.04.11 - 15:57:02 ---Das ist der Code für die Dialogbox:
--- Code: --- response = ws.Dialogbox("Stammdaten_DateSelect", True, True, False, True, False, False, "Bitte Datum setzen...")
If response = False Then
Exit Sub
End If
--- Ende Code ---
--- Ende Zitat ---
Wo übergibst Du denn im Aufruf von ws.Dialogbox das NotesDocument, dass dann nach Rückkehr aus der DiaBox den geänderten Feldwert enthält??
Eventuell könntest Du dann später auch noch über den Schalter NoNewFields stolpern, der bei Dir auf True steht.
ThomasHB:
Ach was...
Das war ja easy...
Aber da komme ich trotzdem nicht ganz hinter.
Das ist ein Optionaler Parameter. Sollte er dann nicht das ausgewählte sprich selektierte Dokument als Default nehmen?
Peter Klett:
Ich nutze Dialogboxen am liebsten mit einem separaten Dokument. Also sinngemäß so
...
Set dialogdoc = New NotesDocument (db)
'Vorgabewerte setzen
dialogdoc.Wert1 = Vorgabewert
...
If Not workspace.Dialogbox (......., dialogdoc) Then
Exit Sub
End If
'Daten das dialogdoc verarbeiten
'z.B.
If dialogdoc.Wert1 (0) = "irgendwas" Then
'Tue irgendwas
End If
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln