Domino 9 und frühere Versionen > Entwicklung

Seminardatenbank erstellen, Probleme mit Dokumente zählen

<< < (3/4) > >>

feel_x:

--- Zitat von: Rob Green am 21.03.03 - 11:12:07 ---was verstehst Du unter "verschieben", wohin:
in eine "View" = das Select bestimmt die anzuzeigenden Docs
in einen "Ordner" = der User bestimmt die anzuzeigenden Docs...nimmt man das Hauptdoc und hat man eine Spalte mit anzuzeigenden Responses, werden diese automatisch "mit übernommen"

--- Ende Zitat ---

Also: Ein Teilnehmer meldet sich zum Seminar an,
zur Berechnung wird im Seminardokument (Hauptdokument)
ein Wert runtergezählt (verfügbare Plätze).
Jetzt ist das Problem, dass der User ja seine Seminarteilnahme auch wieder stornieren können soll.
Mache ich mittels Aktion und Agent.
Frage ist: Wie kann ich verhindern, dass der User sein Anmeldedokument einfach löscht, ohne den Button zu drücken?
In dem Fall würde ja das Hauptdokument nicht wieder hochgezählt werden.. wie kann ich ein reines "delete" verhindern?
;)

ata:
... im Datenbankscript gibt es dazu das Event

QueryDocumentDelete

... die Variable Continue auf False setzen

continue = False

... somit sind generell alle Löschungen unterbunden. wenn du es einschränken möchtest, mußt du eben noch die entsprechenden Fälle behandeln...

ata

feel_x:

hm.
Ein User soll ein Dokument nicht direkt löschen können,
sondern nur einen Agenten anstoßen dürfen, der die Löschung vornimmt und ein paar Feldwerte ändert.

wie ist die Logik?
Der Agent muss also Löschrecht haben und der User muss den Agenten benutzen können?
Muss ich nachher mal ausprobieren..

;)

ata:
... der Agent muß mit einer ID signiert werden, welche die erforderlichen Rechte hat...


ata

feel_x:

--- Zitat von: Rob Green am 21.03.03 - 09:39:13 ---Du mußt dazu im DB weiten QueryDocumentDelete einen Code einbauen, der den Zähler im Hauptdoc um -1 versetzt und dabei den Status von belegt auf frei stellt, wenn Du denn mit Stati im Hauptdoc arbeitest.

--- Ende Zitat ---


Kann mir da nochmal jemand helfen?
Ich habe in der Seminar-DB aus der Sandbox das hier gefunden:
Was muss ich ändern: View "Class Description" und Feld "Current Enrollment"?
Oder ist das skript viel zu kompliziert und das wäre einfacher zu lösen?
Es geht darum, dass beim Hauptdokument ein Feld runtergezählt wird, wenn ein Antwortdokument erstellt wird..


Sub Click(Source As Button)
   Dim workspace As New NotesUIWorkspace
   Dim Session As New NotesSession
   Dim Db As NotesDatabase
   Dim View As NotesView
   Dim User As Variant
   Dim RegUIDoc As NotesUIDocument
   Dim RegDoc As NotesDocument
   Dim ClassDoc As NotesDocument
   Dim CurrentEnrollment As Variant
   Dim NewEnrollment As Variant
   Dim RefreshAgent As NotesAgent
   
   Set Db = Session.CurrentDatabase
   User = Session.UserName
   Set RegUIDoc = Workspace.CurrentDocument
   Set view = Db.GetView("ClassDescriptions")    
   Set RegDoc = RegUIDoc.Document
   Call RegUIDoc.Save
   
   Dim parentUnid As String
   parentUnid = RegDoc.ParentDocumentUNID
   Set ClassDoc = Db.GetDocumentByUNID( parentUnid)    
   CurrentEnrollment = ClassDoc.Enrollment  
   NewEnrollment = CurrentEnrollment(0) + 1
   ClassDoc.Enrollment = NewEnrollment
   Call ClassDoc.Save(False,False)
   Call RegUIDoc.Close
   Call View.Refresh
End Sub

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln