Autor Thema: Vor dem Speichern Ansicht nach gleichen Daten durchsuchen  (Gelesen 2201 mal)

Offline Raimund

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Hi Entwickler,

mal wieder eine Frage an Euch.

Folgendes Problem:

Ein Feld mit Soll Umsatz:

Nach dem speichern des Dokuments darf der Autor sein Dokument nicht mehr bearbeiten.
Nur der Editor hat nun noch die Möglichkeit einer Bearbeitung.


Ferner:

Validierung. Meldung wenn schon ein Dokument selben Typs, Land, Monats und Jahres
vorhanden ist.

Vielen Dank im Voraus

Gruß
Raimund
« Letzte Änderung: 07.07.03 - 16:58:20 von Raimund »

Offline cpo

  • Aktives Mitglied
  • ***
  • Beiträge: 176
  • Geschlecht: Weiblich
  • ...nichts wissen macht auch nichts!
Re:Nach dem speichern nicht mehr bearbeiten dürfen
« Antwort #1 am: 03.07.03 - 10:44:44 »
Hi Raimund,

da würde ich im Querysave einen Lookup auf eine versteckte Ansicht machen. Schlüssel ist zusammengesetzt aus Typ, Tag, Monat und Jahr. Wenn Du ein doc zurückbekommst brichst Du das Speichern-Ereignis ab.
Das kann man entweder mit @@ oder mit script machen (statt Lookup den GetDocumentbykey).

Wenn gespeichert werden darf, setzt Du einfach die Inhalte eines Feldes vom Typ Autoren auf z.B. eine Role, halt so, dass der eigentliche Autor nicht mehr drinsteht.
CPO

Offline Raimund

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re:Nach dem speichern nicht mehr bearbeiten dürfen
« Antwort #2 am: 03.07.03 - 11:22:12 »
Hi CPO,

danke für die Antwort.

Gibt es dafür irgend welche Beispile, wie man das angehen soll?

Gruß
Raimund

Offline Till_21

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • I love Germany
Re:Nach dem speichern nicht mehr bearbeiten dürfen
« Antwort #3 am: 03.07.03 - 12:32:48 »
warum so umstaendlich ?
reicht es nicht die acl 'richtig' zu konfigurieren ?

gruss
 

Offline cpo

  • Aktives Mitglied
  • ***
  • Beiträge: 176
  • Geschlecht: Weiblich
  • ...nichts wissen macht auch nichts!
Re:Nach dem speichern nicht mehr bearbeiten dürfen
« Antwort #4 am: 03.07.03 - 17:42:27 »
Till,
wie würdest Du die ACL denn setzen? Herr Wichtig soll ein doc ändern können. (Also isser mindestens Autor) Und er soll es nicht mehr ändern können, wenn ein best. Feld gefüllt ist.
Imho geht das nur mit Autorenfeldern...

Raimund, Beispiel gibt's in Massen... Mach ein Feld z.B. "AuthorList" vom Feldtyp Autorennamen.
Als Vorgabewert schreibst Du @UserName
Damit ist der Ersteller des Docs änderungsberechtigt. (Achtung: gilt nur für Leute mit ACL=Autor - und du solltest dafür sorgen, dass du selbst etwas höhere Rechte hast  ;D)
Im Save des doc baust Du dann ein
@If(Fieldname <> "";@SetField("AuthorList";"");"")

Könnte so funktionieren. Ist nicht getestet nur getippt - bin nicht so die Heldin der Klammeraffen :P

CPO




Offline cpo

  • Aktives Mitglied
  • ***
  • Beiträge: 176
  • Geschlecht: Weiblich
  • ...nichts wissen macht auch nichts!
Re:Nach dem speichern nicht mehr bearbeiten dürfen
« Antwort #5 am: 04.07.03 - 11:41:09 »
hi Raimund,

hmmm, würde ich sowieso ganz anders machen...
Ich würde mir auf dem document ein berechnetes Feld mit den entscheidenden Infos machen.
Dann eine Ansicht, in der die dokumente nach diesem Feld kategorisiert sind.
Im QuerySave muss dann geprüft werden, ob es ein dokument mit den Schlüsselinfos schon gibt.
Ungefähr so:
Dim session As New notessession, worspace as New notesuiworkspace
Dim db as notesdatabase, view as notesview, doc as notesdocument, uidoc as notesuidocument
Dim Strkey as String
.... zuweisen
Strkey = workspace.currentdocument.document.TheKey(0)
doc = view.Getdocumentbykey(strkey)
If doc is nothing then
 'man darf's speichern
Else
 'man darf nicht - also Msgbox, continue=False und raus
End If

Öh, das Script solltest du nur laufen lassen, wenn das doc neu ist, also bisher noch nicht gespeichert wurde  ;)

CPO


Offline Raimund

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Vor dem Spechern DB nach gleichen Daten durchsuchen
« Antwort #6 am: 04.07.03 - 11:44:23 »
Hi Entwickler,

habe ein Script zusammen gebastelt, welcher die DB nach vorhandenen Feldern durchsucht. Leider nur nach einem. Brauche aber 4.

Wenn diese schon mit den Werten vorhanden sind sollte ein speichern nicht möglich sein.

Wo liegt hier der Fehler?

Jemand eine Idee?

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim tmpdoc As NotesDocument
   Dim dcCollection As NotesDocumentCollection
   Dim cKey As String
   Dim cText As String
   Set uidoc = workspace.CurrentDocument
   Set doc = uidoc.Document
   Set db = session.CurrentDatabase
   cKey = uidoc.FieldGetText("tmpBereich")
   Set view = db.GetView( "Alle Dokumente" )
   If doc.IsNewNote Then  'Prüfung auf doppelte Dokumente nur wenn Dokument neu
      Set dcCollection = view.GetAllDocumentsByKey(ckey, False)
      If doc Is Nothing Then
         Messagebox"Eintrag noch nicht vorhanden"
      Else
         Messagebox"Eintrag bereits in der Datenbank vorhanden"
         continue=False
         Msgbox "Bitte abbrechen!!!"
         Exit Sub
      End If
   End If
End Sub
Danke im Voraus

Gruß
Raimund
« Letzte Änderung: 07.07.03 - 09:01:27 von Raimund »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz