Lien vers un document

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

Lien vers un document

Messagepar jeulin » 23 Fév 2012 à 18:06

Bonjour à toutes et à tous,

j'ai un trou de mémoire. Il faut dire que je programme très peu, surtout pour "dépanner".

Quel est l'équivalent de la méthode ".AppendDocLink" en programmation frontale ?

Utilisation pour un envoi par mail à la sortie d'un document qui vient d'être modifié...

Un grand merci pour vos réponses et pardon pour cette question sans doute simpliste !

philippe
jeulin
Premier posts
Premier posts
 
Message(s) : 35
Inscrit(e) le : 26 Nov 2007 à 08:38

Re: Lien vers un document

Messagepar Michael DELIQUE » 24 Fév 2012 à 08:20

salut

en frontal tu as Call notesUIDocument.Send mais si tu regarde l'aide en ligne coté option ya pas grand chose

sinon tu peux passer par une formule : @MailSend( sendTo ; copyTo ; blindCopyTo ; subject ; remark ; bodyFields ; [ flags ] ) qui elle à plus d'option.

apres c'est que du dorsale
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

Re: Lien vers un document

Messagepar jeulin » 24 Fév 2012 à 15:52

Merci de cette réponse.
En effet, dans le premier cas, je n'ai pas trouvé comment lui préciser que je voulais attacher le lien vers le document.
Et dans le second cas,

autant @MailSend(" // " ; "" ; "" ; "Création de document" ; "Lien vers document : " ; "" ; [INCLUDEDOCLINK] ) } ) marche bien à partir d'un simple bouton,

autant eval = Evaluate( { @MailSend(" / / " ; "" ; "" ; "Création de document" ; "Lien vers document : " ; "" ; [INCLUDEDOCLINK] ) } ) ne marche pas dans un Querysave ! :(

Le message part et est reçu mais sans lien attaché... Où serait donc le Schimlblick ?!?
Merci,
Philippe
jeulin
Premier posts
Premier posts
 
Message(s) : 35
Inscrit(e) le : 26 Nov 2007 à 08:38

Re: Lien vers un document

Messagepar Michael DELIQUE » 24 Fév 2012 à 15:57

quand tu fais un éval tu es en dorsal donc ton @mailsend n'a pas de document frontal a insérer.

va falloir que tu fasse ton envois de mail en dorsale
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

Re: Lien vers un document

Messagepar jeulin » 24 Fév 2012 à 16:47

Qu'entends-tu par là ? J'aimerais que lors d'une création ou d'une modification d'un document un petit message d'annonce parte vers un administrateur avec le lien pour lui simplifier la vie. Classique comme besoin... Je peux écrire un agent qui balayerait régulièrement une vue regroupant les derniers créés et modifiés

Je me souvenais d'un possible "Set Document = Source.Document" (après avoir déclaré "Dim Document As NotesDocument") permettant le passage du document ouvert frontal à un document utilisable en dorsal... Mais, pas de pot, avec "Call texte_riche.AppendDocLink(Document, "document à consulter")", j'obtiens en test un gentil "Type mismatch"...

Ah, la mémoire...

Philippe
jeulin
Premier posts
Premier posts
 
Message(s) : 35
Inscrit(e) le : 26 Nov 2007 à 08:38

Re: Lien vers un document

Messagepar Michael DELIQUE » 24 Fév 2012 à 16:52

re,

ça devrais le faire normalement.

il faut juste que ton document ai été enregistré avant.

une très vieille fonction que je n'ai pas utilisé depuis des années (ya encore des evaluate dedans). ça devrais t'aider

Code : Tout sélectionner
Public Function MailSend_LS( wSendTo As String, wCopyTo As String, wBlindCopyTo As String, wSubject As String, wBody As String,wDocLink As Variant,wDoc As notesDocument, wCollection As NotesDocumentCollection,wnbEdit As Integer ) As Integer
   %REM
      Cette fonction envoi ou edite un mail, si WDocLink = true, des lien doc seron inséré via un document : wDoc ou une collection de document :wCollection   'Pour wSendTo, wCopyTo et wBlindCopy bien mettre une virgule apres chaque destinataire.
      wSubject = l'objet du mail
      wBody = le Corps du Mail
      wDocLink = true, insert des liens doc des document sélectionés (wDoc, wCollection) passés en paramètre dans le mail
      wDoc si un seule document est passé en paramètre
      Wcollection si plusieur documents sont passé enparamètres
      wnbEdit : False envois directement le mail sans l'afficher, true, affiche le mail por modification pat l'utilisateur
   %end rem   
   Dim UIDoc As NotesUIDocument
   Dim Doc As NotesDocument
   Dim DocMail As NotesDocument
   Dim DBMail As notesdatabase
   Dim rtBody As notesRichTextItem
   Dim Item As NotesItem
   Dim vrValue As Variant   
   Dim Selection As String
   Dim Selection2 As String
   Dim I As Long
   REM Dim UIWork As NotesUIWorkspace
   
   On Error Goto CatchError
   
   REM ouvre la boite mail
   Set DBMail = DBOpenMailbox(False,"",True)
   
   REM crée le mail
   Set DocMail = DBMail.CreateDocument
   Call DocMail.ReplaceItemValue("Form", "Memo")
   Call DocMail.ReplaceItemValue("postedDate",Today())
   Call DocMail.ReplaceItemValue("logo", MailLogo)
   REM logo du mail
   
   REM rempli le send to
   vrValue= ""
   vrValue = Evaluate_LS("@explode("""+wSendTo+""";"","")",DocMail)
   Call DocMail.ReplaceItemValue("SendTo", vrValue)
   
   REM rempli le copy to
   vrValue = ""
   vrValue = Evaluate_LS("@explode("""+wCopyTo+""";"","")",DocMail)
   Call DocMail.ReplaceItemValue("CC" , vrValue)
   
   REM rempli le blind copy
   vrValue = ""
   vrValue = Evaluate_LS("@explode("""+wBlindCopyTo+""";"","")",DocMail)
   Call DocMail.ReplaceItemValue("BCC", vrValue)
   vrValue = ""
   
   Call DocMail.ReplaceItemValue("Subject", wSubject)
   
   Set rtBody = DocMail.CreateRichTextItem("Body")
   Call rtBody.Appendtext(wBody)
   If wDocLink = True Then
      REM insère le liendoc du coument source
      Call rtBody.AddNewLine(2)
      REM    Call rtBody.Appendtext("Pour ouvrir un document double-cliquer sur l'icône.")
      REM    Call rtBody.AddNewLine(1)
      If Not wDoc Is Nothing Then
         Call rtBody.AppendDocLink(wDoc,"")
         Call rtBody.Appendtext(", ")
      End If   
      REM insere un liendoc pour caque document de la collection      If Not wCollection Is Nothing Then
      If wCollection.count>0 Then
         Set Doc = wCollection.GetFirstDocument
         While Not Doc Is Nothing
            Call rtBody.AppendDocLink(Doc,"")
            Call rtBody.Appendtext(", ")
            Set Doc = wCollection.GetNextDocument(Doc)
         Wend
      End If
   End If
   
   If wnbEdit = False Then
      REM envoi le mail      
      REM initialisation du champ ''SendTo''
      DocMail.SendTo = ""
      Set Item = Nothing
      If Trim(wSendTo) <> "" Then
         Set Item = DocMail.getFirstItem("SendTo")
         Selection = Trim(Strleft(wSendTo,","))
         Selection2 = Replace(wSendTo,Selection+",","")
         While Trim(Selection)<>""
            Call item.AppendToTextList(Selection)
            Selection = Trim(Strleft(Selection2,","))
            Selection2 = Replace(Selection2,Selection+",","")
         Wend
      End If
      
      REM initialisation du champ ''CopyTo''
      DocMail.CC = ""
      Set Item = Nothing
      If Trim(wCopyTo) <> "" Then
         Set Item = DocMail.getFirstItem("CC")
         Selection = Trim(Strleft(wCopyTo,","))
         Selection2 = Replace(wSendTo,Selection+",","")
         While Trim(Selection)<>""
            Call item.AppendToTextList(Selection)
            Selection = Trim(Strleft(Selection2,","))
            Selection2 = Replace(Selection2,Selection+",","")
         Wend
      End If
      
      REM initialisation du champ ''Blind CopyTo''
      DocMail.BCC = ""
      Set Item = Nothing
      If Trim(wBlindCopyTo) <> "" Then
         Set Item = DocMail.getFirstItem("BCC")
         Selection = Trim(Strleft(wBlindCopyTo,","))
         Selection2 = Replace(wSendTo,Selection+",","")
         While Trim(Selection)<>""
            Call item.AppendToTextList(Selection)
            Selection = Trim(Strleft(Selection2,","))
            Selection2 = Replace(Selection2,Selection+",","")
         Wend
      End If
      
      REM enleve les doublons dans les destinataires
      Call MailSuperUnique(DocMail,"ABBREVIATE")
      
      Call DocMail.send(False)
      MailSend_LS=True
      Set DBMail = Nothing
   Else
      REM affiche le mail en edition
      Call DocMail.ReplaceItemValue("SendTo", wSendTo)
      Call DocMail.ReplaceItemValue("CC", wCopyTo)
      Call DocMail.ReplaceItemValue("BCC", wBlindCopyTo)
      
      Set rtBody = Nothing
      Set rtBody = DocMail.CreateRichTextItem("wBody")
      Call rtBody.Appendtext(wBody)
      If wDocLink = True Then
         If Not wDoc Is Nothing Then
            Call rtBody.AddNewLine(2)
            Call rtBody.Appendtext("Pour ouvrir un document double-cliquer sur l'icône.")
            Call rtBody.AddNewLine(1)
            Call rtBody.AppendDocLink(wDoc,"")
            Call rtBody.Appendtext(", ")
         End If   
         If Not wCollection Is Nothing Then
            If wCollection.count>0 Then
               Set Doc = wCollection.GetFirstDocument
               While Not Doc Is Nothing
                  Call rtBody.AppendDocLink(Doc,"")
                  Call rtBody.Appendtext(", ")
                  Set Doc = wCollection.GetNextDocument(Doc)
               Wend
            End If
         End If
      End If
      
      REM enleve les doublons dans les destinataires
      Call MailSuperUnique(DocMail,"ABBREVIATE")
      
      Set  UIWork = New NotesUIWorkSpace
      Set UIDOC = UIWork.EditDocument( True, DocMail, False)
   End If
   
   Exit Function
CatchError:
   Set rtBody = Nothing
   Set Item = Nothing
   Set DocMail = Nothing
   Set DBMail = Nothing
   MsgBox "("+Structure_Log+" : "+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Error " + CStr(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Line # "+Cstr(Erl),16," ERROR !"
   MailSend_LS = False
   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

Re: Lien vers un document

Messagepar jeulin » 24 Fév 2012 à 16:55

Merci, je regarde...

Bon week-end !
jeulin
Premier posts
Premier posts
 
Message(s) : 35
Inscrit(e) le : 26 Nov 2007 à 08:38

Re: Lien vers un document

Messagepar Michael DELIQUE » 24 Fév 2012 à 17:12

j'ai regardé ma vieille fonction deplus pres, elle est vraimment pourri. mais ça te donnera un exemple
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

Re: Lien vers un document

Messagepar jeulin » 24 Fév 2012 à 17:26

Pas de problème, c'est sur du pourri que renaît régulièrement la vie... :P
Je vais donc analyser tout cela à tête reposée.
En plus, cela me rajeunit : 15 ans de Notes après... ccMail ! :wink: .
Merci !
jeulin
Premier posts
Premier posts
 
Message(s) : 35
Inscrit(e) le : 26 Nov 2007 à 08:38

Re: Lien vers un document

Messagepar roubech » 24 Fév 2012 à 20:02

tu peux préciser : tu veux envoyer un mail avec un lien doc à la création et/ou modification d'un doc
tu as déjà du code dans le bouton Save, l’évènement QuerySave ou l’évènement PostSave ? formule ou LS ?
pourquoi tu veux le faire en frontal ?
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille


Retour vers Développement