Domino 9 und frühere Versionen > ND6: Entwicklung
Eigentlich trivial: Abbruch Button
Thomas Schulte:
Noch einmal. Du baust eine eigene Aktion ein, "Workflow Beenden", diese Aktion löscht das Dokument nicht sondern setzt es in einen nicht bearbeitungsfähigen Zustand (Flag, Autoren und Leserfelder). Damit kann jeder normal damit arbeiten und wenn es nicht mehr weitergehen soll dann ist das eine DEDIZIERTE Aktion und nicht von irgendwelchen Zufälligkeiten abhängig.
sslneve:
Hallo Thomas,
ich verstehe wohl nicht ganz ... Die Speicherung passiert in dem Formular an mehreren Stellen. Es handelt sich zwar um einen Workflow, allerdings wird ein bestimmtes Dokument eigentlich immer nur von einer Person bearbeitet. Mein Problem ist aber doch jenes:
Wenn
- neues Dokument
- bereits durch Formular-Code gespeichert
- Abbruch-Button
dann
ist das Dokument vorhanden, was es aber nicht sein soll (Abbruch beim Neuanlegen meint für gewöhnlich, daß kein Dokument gespeichert wird).
Ich habe mir jetzt was gebastelt, das zumindest die richtige Entscheidung treffen würde. Allerdings weiss ich halt nicht, wie ich das unerwünschte Dokument per Code wegkriege (mit Code zum Löschen markieren und dann von Hand Refreshen ist irgendwie unergonomisch).
sslneve:
So, ich habs jetzt so gemacht (falls es jemanden interessiert ;) ):
Wenn das Formular geöffnet wird (Queryopen), wird IsNewDoc geprüft und ins Environment geschrieben (steinigt mich später).
Der Abbruch Button prüft dies und (AND) ein Feld, das anzeigt, ob das aktuelle Dokument jemals gespeichert wurde. Trifft das zu (neues Doc und während des Anlegens schonmal gespeichert) und soll ein Abbruch erfolgen, dann muss das leider schon gespeicherte Doc gelöscht werden. Da das nicht wirklich geht, solange das Doc noch offen ist, wird es gespeichert (-> keine lästigen Abfragen) und geschlossen und vorher noch geschwind die ID ins Environment
gejagt. Jetzt wird noch ein Agent aufgerufen, der die ID wieder ausliest und damit doc.RemovePermanently macht.
Natürlich werden die ins Environment geschriebenen Daten an geeigneter Stelle in jedem Fall wieder entfernt.
Fazit: Umständlich, anstrengend, unkonventionell .. aber geht.
Thomas Schulte:
Eine Speicherung eines Dokumentes das von einer Person durchgehend in mehreren Abschnitten bearbeitet wird durch unterschiedliche Aktionen während der Benutzer noch im Dokument rumfuhrwerkt ist SCHWACHSINNIG. :-:
Da im Nachtrab herzugehen und automatisch das bereits angelegte Dokument wieder LÖSCHEN zu wollen ist dann HIRNRISS hoch 5. Das löst dein generelles Problem nicht. In diesem Fall ist ein REDESIGN der Maske und unter Umständen des zugrunde liegenden Vorganges angesagt. >:(
Nachklapp: Deine Lösung ist alles mögliche nur keine LÖSUNG. Was machst du wenn dein Agent nicht anläuft oder der Rechner ausgeschaltet wird. Oder du einen RSOD bekommst.
Du ignorierst alle brauchbaren Ansätze um eine Pseudobastellösung zu bauen. ::)
Das nennt man Beratungsresistenzrenitenz (Danke Jens).
Semeaphoros:
Renitenz, nicht Resistenz, Thomas.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln