supprimer un document apres archivage

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

supprimer un document apres archivage

Messagepar jfarissi » 29 Sep 2009 à 17:05

Bonjour,

J'ai mis une action sur mon masque pour archiver le document courant sur une autre base et je veux le supprimer en même temps de la base courante j'arrive a archiver mais le supprimer en même temps m'envoi un message d'erreur voir image ci-joint

une idée ??
Dernière édition par jfarissi le 01 Oct 2009 à 10:14, édité 1 fois.
jfarissi
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 164
Inscrit(e) le : 08 Avr 2009 à 13:29

Messagepar roubech » 30 Sep 2009 à 00:33

tu lances comment ton traitement ? depuis un bouton d'action sur un masque appellé quand le doc est ouvert à l'écran ?
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar jfarissi » 30 Sep 2009 à 10:44

oui c'est ça.
jfarissi
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 164
Inscrit(e) le : 08 Avr 2009 à 13:29

Messagepar jfarissi » 30 Sep 2009 à 10:48

est ce que je peux faire n close puis de le supprimer via UniqueID??
jfarissi
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 164
Inscrit(e) le : 08 Avr 2009 à 13:29

Messagepar Michael DELIQUE » 30 Sep 2009 à 10:50

salut

tu as pensé à Call notesUIDocument.DeleteDocument
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar jfarissi » 30 Sep 2009 à 11:12

oui sa marche mais il pose le signe croix sur le doc mais elle ne le supprime pas
jfarissi
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 164
Inscrit(e) le : 08 Avr 2009 à 13:29

Messagepar Michael DELIQUE » 30 Sep 2009 à 11:16

re tu veux supprimer ton document depuis le document ou depuis une vue ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar jfarissi » 30 Sep 2009 à 11:18

depuis le document
jfarissi
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 164
Inscrit(e) le : 08 Avr 2009 à 13:29

Messagepar Michael DELIQUE » 30 Sep 2009 à 11:24

salut

je ferais un truc un peu plus sioux

1 déplacé le nom du form dans un un champ de sauvegarde (OldFORM par exemple)
2 changer le nom du form (TrashForm)

ça retire ton doc de la vue et l'utilisateur n'a pas besoin d'avoir les droit en suppression

ensuite une petite vue pour afficher les document en attente de suppression (ce qui te permet de le restaurer facilement en cas de pépin)

et une petit agent hebdomadaire qui va gentillement effacer tous les docs de la vue
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Michael DELIQUE » 30 Sep 2009 à 11:27

j'ai du code dans un coin pour faire ça si tu veux
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar jfarissi » 30 Sep 2009 à 11:32

merci michael pour ton code
jfarissi
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 164
Inscrit(e) le : 08 Avr 2009 à 13:29

Messagepar jfarissi » 30 Sep 2009 à 11:38

Pourquoi ne pas faire un flag qui reçois "1" lors de l'archivage est sur une vue n'afficher que les doc avec flag 1 et les supprimer par un agent ?
jfarissi
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 164
Inscrit(e) le : 08 Avr 2009 à 13:29

Messagepar Michael DELIQUE » 30 Sep 2009 à 11:41

Code : Tout sélectionner
Sub DocDeleteSoftMark(Doc As NotesDocument)

'marque les document en suppression
   On Error Goto ErreurHandle
   
   If Doc Is Nothing Then
      Error 9999,"Doc is Nothing"
      Exit Sub
   End If
   
   Call Doc.ReplaceItemValue("Form_Old",Doc.GetItemValue("Form")(0))
   Call Doc.ReplaceItemValue("Form","$$_Trash")
   Call Doc.Save(True,False)
   
   Exit Sub
ErreurHandle:
   Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Exit Sub
End Sub


Code : Tout sélectionner
Function DocDeleteSoftEraseAllMarked(wDB As NotesDatabase) As Integer

'supprime les documents marqué en suppression

   Dim Collection As NotesDocumentCollection
   Dim DBCible As NotesDatabase
dim Session as New NotesSession
   
   On Error Goto ErreurHandle
   
   DocDeleteSoftEraseAllMarked = 0
   

   
   If wDB Is Nothing Then
      Set DBCIble = Session.CurrentDatabase   
   Else
      Set DBCIble = wDB
   End If
   
   Set Collection = DBCible.Search({@Uppercase(@trim(Form)) = "$$_TRASH"},Nothing,0)
   
   If Collection Is Nothing Then
      Set DBCIble = Nothing
      Exit Function
   Elseif Collection.Count = 0 Then
      Set Collection = Nothing
      Set DBCIble = Nothing
      Exit Function
   End If
   
   DocDeleteSoftEraseAllMarked = Collection.Count
   
   Call Collection.RemoveAll(True)
   
   Set Collection = Nothing
   Set DBCIble = Nothing
   
   Exit Function
ErreurHandle:
   Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"

   Exit Function
End Function


Code : Tout sélectionner
Sub DocDeleteSoftRestaure(Doc As NotesDocument)
'restaure le document marqué en suppression

   On Error Goto ErreurHandle
   
   If Doc Is Nothing Then
      Error 9999,"Doc is Nothing"
      Exit Sub
   End If
   
   Call Doc.ReplaceItemValue("Form",Doc.GetItemValue("Form_OLD")(0))
   Call Doc.ReplaceItemValue("Form_Old","")
   Call Doc.RemoveItem("Form_Old")
   Call Doc.Save(True,False)
   
   Exit Sub
ErreurHandle:
   Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Exit Sub
End Sub
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Michael DELIQUE » 30 Sep 2009 à 11:42

re

simplement parceque ça implique de modifier toutes tes vues

alors que la ça ne modifie pas la vue (pour peux que tu utilise le champ form dans le select de la vue)

mais tu as un code d'exemple rien ne t'empeche de le midifier pour que ça tourne avec un flag
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy


Retour vers Développement

cron