Autor Thema: Klick auf Button soll Fenster öffnen mit einer Datumsauswahl  (Gelesen 3042 mal)

Offline ThomasHB

  • Aktives Mitglied
  • ***
  • Beiträge: 164
Hallo Zusammen,

wenn man innerhalb einer View auf einen Button klickt, dann soll im ersten Schritt ein Fenster erscheinen, welches den in Notes üblichen Datumsdialog enthält um so ein Datum für die selektierten Dokumente auswählen zu können.

Bisher muss man dieses Datum von Hand eintippen, die Meldung bisher basiert auf einem workspace.Prompt... Ich finde aber irgendwie keinen Weg, die Datumsfunktion einzublenden.

Mir reichen schon ein paar Stichworte, was da zum Einsatz kommen sollte.
Sofern das überhaupt möglich ist.

Danke und viele Grüße,
Thomas

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Dialogbox

Du wolltest ja nur ein Stichwort  ;)
« Letzte Änderung: 07.04.11 - 11:20:30 von Peter Klett »

Offline ThomasHB

  • Aktives Mitglied
  • ***
  • Beiträge: 164
Das versuche ich mal...

Ich will deshalb nur ein Stichwort, weil ich es aus eigenen Kräften schaffen will...
Das Thema hatten wir ja schon mal...

Danke, Peter.

Sollte ich da Probleme kriegen melde ich mich noch mal.

Gruß,
Thomas

Offline ThomasHB

  • Aktives Mitglied
  • ***
  • Beiträge: 164
....so jetzt habe ich doch wirklich eine Frage dazu.

Also Dialogbox umgesetzt, klappt auch alles ganz prima, das Feld wird entsprechend gesetzt.
Wunderbar...

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...

Was ist hier der Trick, damit die Dialogbox nur in entsprechender Größe angezeigt wird?

Grüße,
Thomas

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Nimm einen Layoutbereich. Die Größe des Layoutbereichs definiert die Größe der Dialogbox.

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
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...


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

Offline ThomasHB

  • Aktives Mitglied
  • ***
  • Beiträge: 164
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

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)

Was mache ich denn falsch?

Grüße,
Thomas

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
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


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.

Offline ThomasHB

  • Aktives Mitglied
  • ***
  • Beiträge: 164
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?

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
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



Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: Klick auf Button soll Fenster öffnen mit einer Datumsauswahl
« Antwort #10 am: 07.04.11 - 19:18:50 »
Das ist ein Optionaler Parameter. Sollte er dann nicht das ausgewählte sprich selektierte Dokument als Default nehmen?

aus der Hilfe:
NotesDocument. Optional. A document to be opened instead of the current document.


Dabei bedeutet "current document" nicht das in einer View markierte Dokument, sondern ein im FrontEnd geöffnetes Dokument.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz