Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: _Arne_ am 10.07.02 - 09:52:10

Titel: Feld nach dem Speichern sperren ?
Beitrag 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
Titel: Re: Feld nach dem Speichern sperren ?
Beitrag von: rar am 10.07.02 - 10:35:08
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
Titel: Re: Feld nach dem Speichern sperren ?
Beitrag von: _Arne_ am 10.07.02 - 10:54:02
Die Idee klingt gut, bin allerdings ein anfänger im Script Bereich ..hummmmmmmmmmmmmmm

Gruß,
Arne  :o
Titel: Re: Feld nach dem Speichern sperren ?
Beitrag von: rar am 10.07.02 - 11:47:09
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
Titel: Re: Feld nach dem Speichern sperren ?
Beitrag von: _Arne_ am 11.07.02 - 12:05:01
Dankeschön werde mich mal mit Hoschees hilfe dran versuchen :)
Titel: Re: Feld nach dem Speichern sperren ?
Beitrag von: bob am 10.08.02 - 18:25:33
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