Domino 9 und frühere Versionen > Entwicklung
Seminardatenbank erstellen, Probleme mit Dokumente zählen
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