Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: _Arne_ am 10.07.02 - 09:52:10
-
Huhu :)
Folgendes Problem,
ich habe eine Maske mit versch. Inventar angaben.
Nun soll dort noch eine Tabelle rein wo div. Zählerstände eingetragen werden können. Nach dem Speichern sollen DIESE Einträge nicht mehr zu verändern sondern nur noch löschbar sein.. hat jmnd also eine Idee wie ich das Feld nach dem füllen/speichern sperren kann???
P.s.
ich möchte nicht das ganze Dokument sperren
Gruß,
Arne
-
Ich würde in so einem Fall im Postyopen der Maske irgendwelche Felder (mit notesItem.SaveToDisk = false) mit dem Inhalt der nicht mehr änderbaren Feldern befüllen und im Querysave vergleichen, ob der neue Wert des Feldes (wenn nicht "") der gleiche Wert wie früher ist. Wenn nein, dann Meldung, daß die Felder nicht geändert werden dürfen und wieder befüllen mit den alten Werten.
-rar
-
Die Idee klingt gut, bin allerdings ein anfänger im Script Bereich ..hummmmmmmmmmmmmmm
Gruß,
Arne :o
-
Im Postopen der Maske:
Sub Postopen(Source As Notesuidocument)
dim doc as NotesDocument
set doc = Source.Document
dim item as NotesItem
set item= New NotesItem( doc, "tmpFeld1", Source.FieldGetText("Feld1"))
item.SaveToDisk = false
set item= New NotesItem( doc, "tmpFeld2", Source.FieldGetText("Feld2"))
item.SaveToDisk = false
...
End Sub
Und ins Querysave...
Sub Querysave(Source As Notesuidocument, Continue As Variant)
If Not Source.IsNewDoc Then
Dim felder (1) As String ' der 1er ist die Anzahl der zu vergleichenden Felder -1
felder(0) = "Feld1"
felder(1) = "Feld2"
Dim x As Integer
x = False
Forall y In Felder
Dim item As NotesItem
Dim tmpitem As Notesitem
Set item = Source.document.GetFirstItem(y)
Set tmpitem = Source.document.GetFirstItem("tmp"+y)
If item.Values(0) <> tmpitem.Values(0) Then
item.Values = tmpitem.Values
x = True
End If
End Forall
If x = True Then
Msgbox "Die Werte wurden wieder zurückgesetzt",0,"So nicht mein Freund"
End If
End If
End Sub
Hoffe das hilft dir.
Grüße aus Tirol
-dani
-
Dankeschön werde mich mal mit Hoschees hilfe dran versuchen :)
-
Hi,
ich hatte auch mal sowas ähnliches und hatte dies so gelöst:
Textfeld1 = eigentlicher Inhalt, der nur bearbeitet werden darf, wenn es ein neues Dokument ist
- Typ "bearbeitbar"
- in den Feldeigenschaften "Absatz verbergen wenn Formel wahr" anklicken und "!@IsNewDoc" eintragen
Textfeld2
- Typ "berechnet zur Anzeige"
- unter "Wert" eintragen: Textfeld1
HTH,
Bob