Domino 9 und frühere Versionen > ND8: Entwicklung

Mit @SetField werte setzen ?

(1/1)

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

Axel:

--- Zitat von: Scotty67 am 15.06.10 - 15:11:26 ---ich nehme an das die Funktion @SetField die richtige ist
@SetField("Status";"Open"))

--- Ende Zitat ---

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

--- Ende Code ---

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

Axel
 

WildVirus:
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

Scotty67:
...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))

Axel:
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

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln