[Résolu]Insertion PJ + refresh

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

[Résolu]Insertion PJ + refresh

Messagepar camilleB » 08 Fév 2012 à 03:42

Bonjour, je souhaite insérer une pj dans un rtitem via un bouton.
le code du bouton est celui-ci:
Code : Tout sélectionner
Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim rt As String
   Dim sUNID As String
   Dim filepath As String
   Dim rtitemBody As NotesRichTextItem
   Set uidoc =ws.CurrentDocument
   Set doc=uidoc.Document
   sUNID = doc.UniversalID
   Set db = doc.ParentDatabase
   Call uidoc.Save 'pour récupérer le Body
   Set rtitemBody = doc.GetFirstItem("Body")
   filepath=GetSingleFileName("Sélection de pièces jointes","*.*")
   If addAttachmentToRichTextField(doc,rtitemBody,filePath) Then
      Call uidoc.Close(True)
      Delete doc
      Set doc = db.GetDocumentByUNID(sUNID)
      If Not doc Is Nothing Then
         Call ws.EditDocument( False , doc,True)
      End If
   End If
End Sub

Ici la fonction addAttachementToRichTextField:
Code : Tout sélectionner
Function addAttachmentToRichTextField(doc As NotesDocument,rtitem As NotesRichTextItem,filePath As String) _
As Boolean
   addAttachmentToRichTextField=False
   'Dim rtItem As NotesRichTextItem
   On Error Goto errHandler
   uidoc.Refresh True
   Call rtitem.EmbedObject ( EMBED_ATTACHMENT, "", filePath)
   Call doc.Save( True, False )
   addAttachmentToRichTextField=True
   Exit Function
errHandler:
   Print "Error" & Error & " occured on line " & Cstr(Erl) & " with error number "   _
   & Cstr(Err) & " in Method ""addAttachmentToRichTextField"" "
   Msgbox "Error " & Error & " occured on line " & Cstr(Erl) & " with error number "   _
   & Cstr(Err) & " in Method ""addAttachmentToRichTextField"" "   
   Exit Function
End Function

La pj est insérée mais le doc est non modifiable par la suite.
Merci de votre aide!
cdt
Dernière édition par camilleB le 09 Fév 2012 à 17:17, édité 1 fois.
camilleB
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 176
Inscrit(e) le : 18 Jan 2012 à 23:45

Re: Insertion PJ + refresh

Messagepar roubech » 08 Fév 2012 à 10:42

un champ auteur ?
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Re: Insertion PJ + refresh

Messagepar abertisch » 08 Fév 2012 à 13:33

Pourquoi tu supprimes ton doc pour refaire une recherche droit derrière pour l'ouvrir ? tu peux simplement l'ouvrir après l'avoir fermer avec ton close().

Sinon dans ton code tu fais : Call ws.EditDocument(True,doc,False) au lieu : Call ws.EditDocument(False,doc,True)
"Lotus, il n'y a qu'en rouleaux que ça fait pas mal au cul"
abertisch
Roi des posts
Roi des posts
 
Message(s) : 763
Inscrit(e) le : 25 Oct 2006 à 13:51
Localisation : Suisse

[Résolu]Re: Insertion PJ + refresh

Messagepar camilleB » 09 Fév 2012 à 17:15

abertisch a écrit:Pourquoi tu supprimes ton doc pour refaire une recherche droit derrière pour l'ouvrir ? tu peux simplement l'ouvrir après l'avoir fermer avec ton close().

Sinon dans ton code tu fais : Call ws.EditDocument(True,doc,False) au lieu : Call ws.EditDocument(False,doc,True)


Bonjour, merci pour ton coup d'oeil j'ai fait un copier coller d'un bout de code que j'avais modifié pour x raison.
Code : Tout sélectionner
    Sub Click(Source As Button)
       Dim ws As New NotesUIWorkspace
       Dim uidoc As NotesUIDocument
       Dim doc As NotesDocument
       Dim rt As String
       Dim sUNID As String
       Dim filepath As String
       Dim rtitemBody As NotesRichTextItem
       Set uidoc =ws.CurrentDocument
       Set doc=uidoc.Document
       sUNID = doc.UniversalID
       Set db = doc.ParentDatabase
       Call uidoc.Save 'pour récupérer l'item Body
       Set rtitemBody = doc.GetFirstItem("Body")
       filepath=GetSingleFileName("Sélection de pièces jointes","*.*")
       If addAttachmentToRichTextField(doc,rtitemBody,filePath) Then
          doc.saveoptions="0" 'Empeche la demande d'enregistrement en fermant le masque
          Call uidoc.Close(True)
          If Not doc Is Nothing Then
             Call ws.EditDocument( True , doc,True) 'ouvre le masque en édition
          End If
       End If
    End Sub

C'est mieux! Merci
cdt
camilleB
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 176
Inscrit(e) le : 18 Jan 2012 à 23:45

Re: Insertion PJ + refresh

Messagepar camilleB » 09 Fév 2012 à 17:16

roubech a écrit:un champ auteur ?


Salut, non un champ Richtext qui doit contenir une pièce jointe!

cdt
camille
camilleB
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 176
Inscrit(e) le : 18 Jan 2012 à 23:45

Re: [Résolu]Insertion PJ + refresh

Messagepar roubech » 09 Fév 2012 à 20:26

d'accord, j'ai fait vite
je me doute qu'il s'agit d'un RichText dans lequel tu ajoutes une PJ
mais ce que je voulais dire, c'est y a t il un champ de type Auteur dans le doc créé qui expliquerai que tu ne puisses plus le modifier après sauvegarde ?
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Re: [Résolu]Insertion PJ + refresh

Messagepar camilleB » 10 Fév 2012 à 14:34

roubech a écrit:d'accord, j'ai fait vite
je me doute qu'il s'agit d'un RichText dans lequel tu ajoutes une PJ
mais ce que je voulais dire, c'est y a t il un champ de type Auteur dans le doc créé qui expliquerai que tu ne puisses plus le modifier après sauvegarde ?

Salut, oui champ auteur mais le souci venait de l'EditMode !!

cdt
camille
camilleB
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 176
Inscrit(e) le : 18 Jan 2012 à 23:45


Retour vers Développement