Autor Thema: evaluate in lotusscript  (Gelesen 1771 mal)

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
evaluate in lotusscript
« am: 04.02.03 - 15:34:36 »
hallo zusammen,

ich habe folgendes problem in einer scriptlibrary:
- in meiner datenbank habe ich die eigenschaft gewählt: allow soft deletions(in deutsch heisst das glaube ich wiederherstellbare löschungen erlauben)
- in meinem script möchte ich ein dokument wiederherstellbar -also nicht endgültig- löschen
- in der formelsprache geht das mit @deletedocument
- das habe ich über evaluate(wie in der hilfe gefunden) folgendermassen eingebunden:
eval = session.evaluate( "@deletedocument", doc )

ich kann diese formel nicht speichern, fehlermeldung "not a member"!

was mache ich falsch?
oder gibt es einen anderen besseren lösungsansatz?

vielen dank im voraus
« Letzte Änderung: 11.02.03 - 13:54:48 von forrest g »

klaussal

  • Gast
Re:evaluate in lotusscript
« Antwort #1 am: 04.02.03 - 15:48:38 »
... da müsste man schon den ganzen code sehen (zb. dim, set)  ;D
eine zeile reicht nicht

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:evaluate in lotusscript
« Antwort #2 am: 04.02.03 - 16:04:31 »
hallo klaus,

wie du möchtest...
habe die messageboxen für dir fehler mal aus dem code rausgenommen.

vielen dank für die hilfe

Function funcAktionLoeschenView( doc As notesdocument )
      
   On Error Goto Fehler
   
   'DEKLARATION DER NOTESOBJEKTE   
   'Frontend
   Dim ws As New notesuiworkspace
   
   'Backend
   Dim session As New notessession
   Dim db As notesdatabase
   Dim col As notesdocumentcollection

   'VARIABLEN
   Dim Form As String
   Dim Unid As String
   Dim Status As String    
                  
   Dim AntwortLoeschStatus As Variant   
   
   Dim FehlerXDocs As String   
   Dim Fehler0Doc As String   
   Dim DocGelöscht As String   
   
   'ZUWEISUNG DES NOTES-ENVIRONMENT      
   Set db = session.currentdatabase
                Set col = session.currentdatabase.UnprocessedDocuments
   
   If col.count = 0 Then
      Msgbox Fehler0Doc   
      Print Fehler0Doc
      Exit Function
   End If
   
   If col.count = 1 Then
      Set doc = col.GetFirstDocument   
      Form = doc.Form(0)
      Unid = doc.UniversalID
      
      If ( Form = "fHilfsdokument" ) Then
         'Funktionsaufruf zur Löschung der Antwortdokumente, wenn das aktuelle Dokument ein Hauptdokument ist
         Set AntwortLoeschStatus = funcVererbenLoeschen( doc )   
      End If
      
      If ( (Form = "fHilfsdokument" And AntwortLoeschStatus = "1") Or _
      (Form = "fHilfsdocAntwort" Or Form = "fRückantwort") ) Then
            If Not ( doc.GLBesonders(0) <> "1" ) Then

            doc.GLLöschDatum = Left( Cstr(Now), 16 )
            doc.GLKiller = session.commonusername
                  
            Set doc = funcVererbenHistorie( doc, Status )
            If doc Is Nothing Then
               Goto Fehler
            End If
            
            'Aktuelles Dokument löschen
            Dim eval As Variant
            eval = session.evaluate( "@deletedocument", doc )
            If ( eval ) Then
               Msgbox DocGelöscht
            End If
         End If
      End If
      
   Else
      Msgbox FehlerXDocs
      Print FehlerXDocs
      Exit Function   
   End If 'ANZAHL GEWAEHLTER DOKUMENTE
   
   Goto Ende
   
Fehler:
   'FEHLERBEHANDLUNG: die Fehlerbehandlung in einer eigenen Library"Errorhandling" wird aufgerufen
   Call funcFehler

Ende:
   'BEENDEN DER SUB
End Function

klaussal

  • Gast
Re:evaluate in lotusscript
« Antwort #3 am: 04.02.03 - 16:22:47 »
... das war's dann wohl

@DeleteDocument

Verwendung:
Diese Funktion ist nur für die Verwendung in Formeln vorgesehen, die von Agenten ausgeführt werden; sie hat an anderer Stelle keine Wirkung.

(ein kleiner auszug aus der designer-hilfe)
 ;)

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:evaluate in lotusscript
« Antwort #4 am: 04.02.03 - 16:25:36 »
jo, danke

also entweder im agenten oder...

weiss noch jemand eine andere lösuntg?

vielen dank an klaus

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:evaluate in lotusscript
« Antwort #5 am: 05.02.03 - 11:30:32 »
Wie wär´s damit ?
' Call Doc.Remove(True)

Ciao

Don Pasquale

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:evaluate in lotusscript
« Antwort #6 am: 06.02.03 - 15:59:09 »
hi don pasquale,

das wäre sicherlich eine möglichkeit.
nur löscht die remove-methode das dokument permanent aus der db un das möchte ich in diesem fall nicht.
ich möchte hier eine wiederherstellbare löschung.

ich weiss auch schon wie, wenn das jemanden interessiert:
ich versehe beim "löschen" die dokumente mit einem löschflag="1".
der viewselect für alle ansichten enthält dann löschflag!="1" und die dokumente fallen aus diesen ansichten.
dann gibt es einen periodischen agenten, der alle dokumente mit löschflag="1" löscht.

hat jemand eine bessere idee?
ich teste das jetzt mal und hoffe, dass ich dann den daumen nach oben setzen kann...

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:evaluate in lotusscript
« Antwort #7 am: 06.02.03 - 16:23:32 »
Hi forrest g,

ich hab's in meinen Datenbanken genauso geregelt wie du, mit Löschflag usw.

Ich habe aber dahingehend erweitert, dass ich eine Ansicht "Papierkorb" erstellt habe, in der nur die gelöschten Dokumente angezeigt werden. Darin gibt es eine Aktion, die ein Wiederherstellen erlaubt und eine Aktion fürs entgültige Löschen (nur sichtbar für Admin).

So ist es für jeden User möglich, bis der Admin entgültig löscht, ein Dokument wiederherzustellen. Kommt bei unseren User recht gut an.

Axel
 

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:evaluate in lotusscript
« Antwort #8 am: 06.02.03 - 16:29:25 »
hi axel,

prima, dann scheint das ja der richtige ansatz zu sein.

neben den "normalen" ansichten habe ich wie du noch 2 weitere ansichten erstellt:
eine für den admin mit harddelete und wiederherstellen.
die andere mit select auf den löschflag, in welcher sich alle vermeintlich gelöschten dokumente(mit löschflag= "1") befinden, bevor der periodische agent läuft

vielen dank für deine antwort

Offline forrest g

  • Aktives Mitglied
  • ***
  • Beiträge: 130
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:evaluate in lotusscript
« Antwort #9 am: 11.02.03 - 13:47:32 »
sorry,
habe vergessen das auf erledigt zu setzen, läuft.

@axel,
die idee mit dem papierkorb ist prima, hab die mal übernommen
danke
« Letzte Änderung: 11.02.03 - 13:53:12 von forrest g »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz