Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Scotty67 am 15.06.10 - 15:11:26

Titel: Mit @SetField werte setzen ?
Beitrag von: Scotty67 am 15.06.10 - 15:11:26
...spiele gerade herum, komm auf einen grünen zweig...

ein radiobutton-feld, ich hätte gerne bei auswahl eines bestimmten werts (von z.b 4 möglichen) das automatisch in
einem anderen radiobutton-feld auch ein Wert gesetzt wird....

ich nehme an das die Funktion @SetField die richtige ist
@SetField("Status";"Open"))

lg/hannes
Titel: Re: Mit @SetField werte setzen ?
Beitrag von: Axel am 15.06.10 - 16:52:05
ich nehme an das die Funktion @SetField die richtige ist
@SetField("Status";"Open"))

Für das was du machen willst, ist es die falsche Funktion. Da du den Feldwewrt bei einer Änderung setzen willst, musst du das OnChange-Event des einen Optionsfeldes nutzen und hier ist nur Script möglich.

Ein ganz einfaches Beispiel könnte so aussehen. Es fehlt allerdings jegliche Fehlerbehandlung.

Code
Sub Onchange(Source As Field)
	Dim ws As New NotesUIWorkspace
	Dim uidoc As NotesUIDocument
	
	Set uidoc = ws.CurrentDocument
	
	Call uidoc.FieldSetText("Status", "Open")
	
End Sub

Zusätzlich musst du in den Feldeigenschaften auf den 3.Reiter (Propellerhut) die Option "Run Exiting/Onchange events alfter value change" setzen.

Axel
 
Titel: Re: Mit @SetField werte setzen ?
Beitrag von: WildVirus am 15.06.10 - 22:57:05
N'Abend,

außerdem sollte das markierte Häkchen aktiviert werden

Es geht auch so, dass das Zielfeld sich selbst berechnet in Abhängigkeit vom Quellfeld.

CU,
Axel
Titel: Re: Mit @SetField werte setzen ?
Beitrag von: Scotty67 am 16.06.10 - 07:37:01
...danke für den Tipp nur funktioniert das nur im Debug-Modus - aber vielleicht fällt euch ja noch dazu etwas ein...

hier der script hinter dem OnChange

   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   
   Set uidoc = ws.CurrentDocument
   Dim x As String
   x=uidoc.FieldGetText("Division")
   
   
   If x="PP/PS" Then
      Call uidoc.FieldSetText("BusinessArea", "PP/PS")
   End If
   
   
Das Feld BusinessArea wiederum ist ein RadiobuttonField welches die eigenen Werte
wiederum über diese Formel bekommt:

@Unique(@DbLookup("Notes":"NoCache";"":"";"ConfigBa";Division;2))
Titel: Re: Mit @SetField werte setzen ?
Beitrag von: Axel am 16.06.10 - 19:19:28
Eventuell ist es ein Aktualisierungsproblem. Versuch mal als letzte Anweisung ein

Call uidoc.Refresh

Du kannst in deinen Code an den entsprechenden Stellen auch mal eine Messagebox... - Anweisung einfügen. Dann siehst du auch ohne Debug wo du dich gerade im Code befindest.

Axel