Page 1 sur 2

Décidément ! Encore un truc bizarre

MessagePublié: 17 Fév 2010 à 09:13
par nemrod93
Salut à tous :D

Voilà mon soucis

Le code ci-dessous attache bien le doclink (mais uniquement en debug)

Sub envoyerMessage(emetteur As String, vers() As String,subject As String, newdoc As NotesDocument)
Dim sEmetteur As New notessession
Dim wEmetteur As New notesuiworkspace
Dim dbEmetteur As NotesDatabase
Dim docmemo As NotesDocument
Dim uidoctemp As notesuidocument
Dim coll As NotesDocumentCollection
Dim rtitem As NotesRichTextItem


Set dbEmetteur = sEmetteur. currentdatabase
For i = 0 To Ubound(vers)
Set docmemo = dbEmetteur.CreateDocument
docmemo.form = "memo"
rc = docmemo.ComputeWithForm(False,False)
'rc = docmemo.save(True,False,False)
docmemo.from = emetteur
'retrouver l'adresse mail
formule = {util_alias = "} & vers(i) & {" }
Set coll = dbEmetteur.Search(formule,Nothing,0)
Set docu = coll.getfirstdocument
docmemo.sendto = docu.util_courriel(0)
docmemo.subject = subject
'ajout du doclink
Set rtitem = New NotesRichTextItem( docmemo, "Body" )
Call rtitem.AppendText("Vers la fiche de progrès : ")
Call rtitem.AppendDocLink( newdoc, "" )
Set uidoctemp = wEmetteur.EditDocument(True,docmemo)
Next
End Sub

Et oui en exécution le Body reste désespérément vide.

Une idée???

cdlt

Alain

MessagePublié: 17 Fév 2010 à 09:20
par Michael DELIQUE
salut

ça tourne en dorsal ou en frontal ?

essais avec ça
Call rtitem.AppendDocLink( newdoc, "Fiche Progrès" )

MessagePublié: 17 Fév 2010 à 09:29
par nemrod93
Salut Mickaël et merci,
Ca marche pas,
D'abord c'est du frontal les users cliquent dans l'interface pour établir leur fiche de progrès puis cliquent sur envoyer, ensuite je récupère uidoc.document puis je fais un close du frontal, je mouline mes variables et j'envoie vers la sub de message.
Tu crois que ça viendrait du mix ???
J'ai une autre appli qui fais la même chose et ça marche nickel...

cdlt

alain

MessagePublié: 17 Fév 2010 à 09:34
par Michael DELIQUE
si ça viens du mix, uidoc.refresh / uidoc.reload partout quand tu switch frontal/dorsal

mais si ça marche en débug et pas en normale essais aussi de killer ton cache

MessagePublié: 17 Fév 2010 à 09:52
par nemrod93
AAAARGGGGHHHH

J'ai killé le cache,
placé le refresh
placé le reload

et c'est toujours pareil

cdlt

alain

MessagePublié: 17 Fév 2010 à 10:00
par nemrod93
Lorsque j'exécute en debug, après la création et le computewithform du memo, le champ "Body" est de type "1280", en pas à pas, il devient de type "1" et là ça affiche.

Quelqu'un saurait comment on force le type d'un champ?

cdlt

alain

MessagePublié: 17 Fév 2010 à 11:07
par Michael DELIQUE
tu es obligé de coller un computewithform ?

MessagePublié: 17 Fév 2010 à 11:16
par nemrod93
Bah non en fait, mais c'est pareil sans (ja'i testé)
c'est une histoire de :mur:

Je cherche toujours comment changer le type, je l'ai fait une fois mais bien sûr, impossible de remettre la main sur le code, je crois que c'est dans une sauvegarde !!! Aie Aie aie !!! Bien sûr mais laquelle ????? :roll: :roll: :roll:

en tout cas merci de tes conseils :)

Je continue à vérifier le reste pendant ce temps là (heureusement que le client a repoussé la présentation sinon j'étais complètement carotte !). Dire que tout fonctionnait Lundi. J'ai l'impression qu'on m'a jeté un sort :evil:

cdlt

Alain

MessagePublié: 17 Fév 2010 à 11:22
par Michael DELIQUE
dis tu aurrais pas un champ déjà présent mais en texte pas texteriche ?

MessagePublié: 17 Fév 2010 à 11:33
par nemrod93
Bah non, j'ai 5 champs

sendto
from
subject
creation
Body

C'est vraiment ouf.

Mais y'a du mieux, maintenant lorsque j'interroge le rtitem.type il me renvoie bien 1 (ça avance...)

cdlt

Alain

MessagePublié: 17 Fév 2010 à 11:34
par nemrod93
Mais j'ai été obligé de placé un remove avant le new rtitem :)

MessagePublié: 17 Fév 2010 à 13:26
par Michael DELIQUE
a toute hazar essais ça

Code : Tout sélectionner
Public Function RichTextInit(wDoc As NotesDocument, wFieldName As String, wnbCreateIsNothing As Boolean) As NotesRichTextItem
   
   'si le premier champ trouvé corespondant au nom n'est pas un rich text passe en revu tous les champs du document
   'car on peut avoir un doublon sur le nom du champ avec 1 rich text et un autre d'un autre format
   Dim vrValue As Variant
   
   On Error Goto ErreurHandle
   
   Set RichTextInit = Nothing
   
   If wDoc Is Nothing Then
      Error 9999,"wDoc is Nothing"
      Exit Function
   End If
   
   If Trim(wFieldName) = "" Then
      Error 9999,"wFieldName is Empty"
      Exit Function
   End If   
   
   If wDoc.HasItem(Trim(wFieldName)) = False Then
      If wnbCreateIsNothing = True Then
         Set RichTextInit = New NotesRichTextItem(wDoc,Trim(wFieldName))
      End If
      Exit Function
   End If
   
   Set vrValue = wDoc.GetFirstItem(Trim(wFieldName))
   If vrValue.Type = RICHTEXT Then
      vrValue = Null
      Set RichTextInit =  wDoc.GetFirstItem(Trim(wFieldName))
      Exit Function
   End If   
   
   vrValue = wDoc.Items
   Forall vItem In vrValue
      If vItem.Type = RICHTEXT Then
         If Ucase(Trim(vItem.Name)) = Ucase(Trim(wFieldName)) Then
            Set RichTextInit = vItem
            vrValue = Null
            Exit Function
         End If
      End If
   End Forall
   vrValue = Null
   
   If wnbCreateIsNothing = True Then
      Set RichTextInit = New NotesRichTextItem(wDoc,Trim(wFieldName))
   End If
   
   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 !"
   Set RichTextInit = Nothing
   Exit Function
End Function

MessagePublié: 17 Fév 2010 à 14:29
par nemrod93
Merci Mickaël je teste et te tiens au courant

cdlt

Alain

YOUPIIIIIIII CA MARCHE

MessagePublié: 17 Fév 2010 à 14:50
par nemrod93
@Mickaël

Ta fonction ne m'avait rien apporté de plus mais merci quand même, je la garde sous le coude

Bon bah en fin de compte il fallait juste que je sauvegarde le docmemo et là ça reste

C'est bon!!! :D :D :D :D :D :D :D :D

cdlt


Alain

Oh le boulet !!!

MessagePublié: 17 Fév 2010 à 14:57
par nemrod93
Il fallait sauvegarder certainement à cause du doclink :biensur: :biensur:

:boul02: :boul05: :jesors1:

Ouais bah je dois être bien fatigué faut dire que depuis hier, et le jouli écran gris je suis vraiment stressé :oops: :oops: :oops:

Encore merci pour ton soutien

En tout cas CA MARCHE

:danse004:

bon je fais une sieste :dormir042: :dormir042: :dormir042: et je continue la recette

cdlt

Alain