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

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

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

Messagepar mike76 » 25 Avr 2007 à 16:00

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.
Dernière édition par mike76 le 26 Avr 2007 à 08:18, édité 3 fois.
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar d.bugger » 25 Avr 2007 à 16:41

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.
Avatar de l’utilisateur
d.bugger
Modérateur
Modérateur
 
Message(s) : 849
Inscrit(e) le : 15 Juin 2006 à 09:19
Localisation : Drôme, France

Messagepar mike76 » 25 Avr 2007 à 16:43

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 ??
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar mike76 » 25 Avr 2007 à 16:46

Comment faire pour détacher la pièce jointe du $File ??
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar mike76 » 25 Avr 2007 à 16:49

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.. !!!!
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar mike76 » 25 Avr 2007 à 17:02

si ça peut aider quelqu'un
voici la soluce :

http://www-10.lotus.com/ldd/nd6forum.ns ... enDocument
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar d.bugger » 25 Avr 2007 à 17:19

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.
Avatar de l’utilisateur
d.bugger
Modérateur
Modérateur
 
Message(s) : 849
Inscrit(e) le : 15 Juin 2006 à 09:19
Localisation : Drôme, France

Messagepar mike76 » 25 Avr 2007 à 20:03

Merci pour tout.
A+
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN


Retour vers Développement