Page 1 sur 1

Pb copie d'un champ de texte riche dans un autre

MessagePublié: 25 Avr 2007 à 16:00
par mike76
Bonjour,

Je suis en Web.
J'ai un document avec une pièce jointe contenue dans le champ $File.
Je veux transférer le contenu du champ $File dans un champ de texte riche d'un autre document.

J'ai créé cet agent appelé depuis le web.
Il plante sur la ligne Call itemPJ.CopyItemToDocument( docDemande, "DetailPiecesJointes" )

Code : Tout sélectionner
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim docPJ As NotesDocument
   Dim docDemande As NotesDocument
   Dim rtItem As NotesRichTextItem
   Dim itemPJ As NotesItem
   
   Set db=session.CurrentDatabase
   Set docPJ=session.DocumentContext
   Set itemPJ = docPJ.GetFirstItem("$File")
   Set docDemande=db.GetDocumentByUNID(docPJ.IDDemande(0))
   Set rtitem = New NotesRichTextItem( docDemande, "DetailPiecesJointes" )
        Call itemPJ.CopyItemToDocument( docDemande, "DetailPiecesJointes" )
   Call docDemande.Save( True, False )


Voici le message d'erreur : can't copy items of type attachment

D'avance merci pour votre aide car je n'y comprends rien.

MessagePublié: 25 Avr 2007 à 16:41
par d.bugger
Deux possibilités, mais j'en suis pas vraiment sûr :
1) $File n'est pas un vrai NotesItem; peux-tu essayer à copier le champ qui contient ce fichier?
2) Le champ "DetailPiecesJointes" est créé (New NotesRichTextItem) et immédiatement après tu essayes à le supprimer, pour créer un nouveau NotesItem avec CopyItemToDocument

Normalement, il n'y a qu'une possibilité : enrégistrer le ficher, puis attacher au nouveau document.

MessagePublié: 25 Avr 2007 à 16:43
par mike76
Salut,

Merci beaucoup pour ta réponse.

Dans les propriétés de $File j'ai "Attached Object" et effectivement ce n'est pas un champ de texte riche.

Mais comment faire pour déplacer le fichier attaché dans $File dans un champ de texte riche d'un autre document ??

MessagePublié: 25 Avr 2007 à 16:46
par mike76
Comment faire pour détacher la pièce jointe du $File ??

MessagePublié: 25 Avr 2007 à 16:49
par mike76
Code : Tout sélectionner
Dim session as New NotesSession
dim docPJ as NotesDocument
   Dim itemPJ As Variant
   
   Set docPJ=session.DocumentContext
   
   Set itemPJ = docPJ.GetFirstItem("$File")
   Forall o In itemPJ.EmbeddedObjects
      Call o.ExtractFile( "c:\samples\" & o.Source )
   End Forall


ça plante et ça me dit que EmbeddedObjects n'est pas membre de mon itemPJ, un peu normal comme $File n'est pas vraiment un item
Quelle mer.. !!!!

MessagePublié: 25 Avr 2007 à 17:02
par mike76
si ça peut aider quelqu'un
voici la soluce :

http://www-10.lotus.com/ldd/nd6forum.ns ... enDocument

MessagePublié: 25 Avr 2007 à 17:19
par d.bugger
C'est ça, effectivement, et j'aurais dû chercher ce lien moi-même :oops:
Mais... ton agent aura besoin d'une privilège plus haute que normale, pour enregistrer un fichier sur le disque dur.

MessagePublié: 25 Avr 2007 à 20:03
par mike76
Merci pour tout.
A+