Domino 9 und frühere Versionen > ND6: Entwicklung

Feldwert per Schaltfläche ändern (Dok. im Lesemodus)

(1/4) > >>

Durri:
Hallo Notes-Gemeinde,

ich hab da folgendes Problem:   :-:

Ein Dokument ist aufgrund seines Status' zur Bearbeitung gesperrt. Das Status-Feld soll aber geändert werden können.
Aus der Ansicht heraus funzt das mit @SetField auch reibungslos. Ist das Dokument aber zum Lesen geöffnet, geht's wohl mit @SetField nicht mehr. Wie gesagt, Bearbeiten-Modus ist aufgrund des aktuellen Dokumentstatus' nicht mehr möglich.
Ich vermute mal, ich müsste per Script ran. Da bin ich jedoch relativ hilflos.
Vielleicht kann mir jemand von Euch mit einem String-Beispiel helfen.

Also, ich möchte über eine Schaltfläche einen Agenten anstoßen, der bei geöffnetem Dokument das Feld Status z. B. in den Wert "genehmigt" ändert, ohne dass das Dokument in den Bearbeiten-Modus gewechselt werden muss.

Vielen Dank schon mal im Voraus für die Unterstützung!!!

Michael

Andreas Huhn:
Hallo Michael,

versuche es mal so:

_var := @IsDocBeingEdited;
@Command([EditDocument] ; "1");
FIELD StatusFeld := "1";
@Command([FileSave);
@if(_var ; @Return(null) ; null);
FIELD saveoptions := "0";
@Command([EditDocument] ; "0")


Das Feld Statusfeld gegen dein Feld austauschen.

Weiß nicht ob das deine Anforderung erfüllt, aber ich denke einen Versuch ist es wert.

Viele Grüße,

Andreas

Durri:
Hallo Andreas,

so ähnlich war auch meine Ursprungsformel, die nicht funktioniert hat. Mit '@Command([EditDocument] ; "1")' will der Agent ja schon in den Bearbeiten-Modus wechseln und das ist ja gerade aufgrund des Status nicht möglich.

Michael

Mandalor:
wie fängst du ab, das bei einem bestimmten Status der Wechsel in den Bearbeitungsmodus nicht durchgeführt werden kann?
der Button muss einen flag setzen (z.B. Profildok oder Notes- Inieintrag).

Die Routine, welche den wechsel verhindert, muss diesen Flag auswerten und dann den wechsel zulassen.

--> du musst in den bearbeitungsmodus wechseln


2.Möglichkeit: du schließt das dok über einen aufgerufenen agenten, änderst den status und öffnest dann das dok wieder

Durri:
Hallo Markus,
ich hab im Querymodechange folgenden String, der eine Dokumentänderung nur zulässt, solange das Dok im Status "vorgemerkt" steht.

Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
   Dim Status As String
   Status = source.FieldGetText("Status")
   If Source.EditMode = False Then      
      Continue = False
      If Status <> "vorgemerkt" Then
         Success = Messagebox ("Das Dokument kann nicht mehr geändert werden!",0+64,"Fehler!")
         Continue = False
      Else
         Continue = True
      End If
   End If
End Sub

Das Dok geht irgendwann über eine Ansicht-Aktion mit @SetField in den Status "zur Genehmigung", wodurch der Vorgesetzte eine Mail bekommt, die ihn zur Genehmigung auffordert. Die Genehmigung durch den Vorgesetzten aus einer Ansicht heraus über @SetField funktioniert ja auch. Der Einfachheit halber hätte ich halt gern einen DokLink in die Mail gesetzt, so dass der Vorgesetzte bei geöffnetem Dokument entscheiden kann.
Ich könnte mir auch vorstellen, in o.a. String den aktuellen User statusabhängig mit dem zuständigen Vorgesetzten, dessen Notesname ebenfalls im Dokument im Feld VGMAIL hinterlegt ist, abzugleichen, so dass die Bearbeitung im Status "Zur Genehmigung" nur für den Vorgesetzten erlaubt ist. Da bin Scripttechnisch jedoch überfordert.

Trotzdem Danke
Michael

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln