Décidément ! Encore un truc bizarre

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

Décidément ! Encore un truc bizarre

Messagepar nemrod93 » 17 Fév 2010 à 09:13

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
Dernière édition par nemrod93 le 17 Fév 2010 à 14:57, édité 1 fois.
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar Michael DELIQUE » 17 Fév 2010 à 09:20

salut

ça tourne en dorsal ou en frontal ?

essais avec ça
Call rtitem.AppendDocLink( newdoc, "Fiche Progrès" )
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 nemrod93 » 17 Fév 2010 à 09:29

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
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar Michael DELIQUE » 17 Fév 2010 à 09:34

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
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 nemrod93 » 17 Fév 2010 à 09:52

AAAARGGGGHHHH

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

et c'est toujours pareil

cdlt

alain
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar nemrod93 » 17 Fév 2010 à 10:00

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
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar Michael DELIQUE » 17 Fév 2010 à 11:07

tu es obligé de coller un computewithform ?
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 nemrod93 » 17 Fév 2010 à 11:16

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
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar Michael DELIQUE » 17 Fév 2010 à 11:22

dis tu aurrais pas un champ déjà présent mais en texte pas texteriche ?
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 nemrod93 » 17 Fév 2010 à 11:33

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
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar nemrod93 » 17 Fév 2010 à 11:34

Mais j'ai été obligé de placé un remove avant le new rtitem :)
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar Michael DELIQUE » 17 Fév 2010 à 13:26

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
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 nemrod93 » 17 Fév 2010 à 14:29

Merci Mickaël je teste et te tiens au courant

cdlt

Alain
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

YOUPIIIIIIII CA MARCHE

Messagepar nemrod93 » 17 Fév 2010 à 14:50

@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
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Oh le boulet !!!

Messagepar nemrod93 » 17 Fév 2010 à 14:57

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
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Suivant

Retour vers Développement

cron