En gros: j'affiche un sous masqueB dans un dialogBox à partir d'un bouton sur un masqueA.
- Code : Tout sélectionner
Call ws.DialogBox ("sbfDemandeB", True, True, False, True, True, False, "Demande de prise en charge",doc, False, False, True )
Ensuite dans le QueryClose du sbfDemandeB j'ai un code qui permet de créer un sousDossier et d'envoyer un mail avec un lien base vers le sousDossier.
Comme le sous masque s'affiche dans dialogBox je ne peux pas debuger le code!
Mais apparemment l'erreur provient au niveau du SendMailMetiers(db, docsousdossier,vdestinataires)
Je vous passe l'ensemble du code, toutes les variables sont déclarés!
- Code : Tout sélectionner
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
On Error Goto ErrorHandler
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim docSousDossier As NotesDocument
Dim ParentDoc As NotesDocument
Dim nUsername As NotesName
Dim namValue As NotesName
Dim vDestinataires As Variant
Dim sCommonUsername As String, sDateTime As String, sAction As String
Dim rtItemBodyMetiers As NotesRichTextItem
Dim ParentUIdoc As NotesUIDocument
Set db = session.CurrentDatabase
Set doc = Source.document
If Not Source.DialogBoxCanceled Then
Call source.Refresh(True)
Set itemHistory = doc.GetFirstItem("History")
sCommonUsername = session.CommonUserName
sDateTime = { le } + Cstr(Today) + { à } + Time$
sExpediteur = db.Title
'Contrôle des champs
'
'
'Création d'un document sous-dossier + notification pour chaque destinataire
vDestinataires = Fulltrim(doc.GetItemValue("Destinataires"))
If (Trim(Source.FieldGetText("Destinataires")) <> "" ) Then
sBodyText = ""
Call TraiterNotification(doc,rtItemBodyMetiers)
'Sélection
Forall value In vDestinataires
If value = "" Then Exit Forall
valueTxt = value
Set namValue = session.CreateName(valueTxt)
Set docSousDossier = db.CreateDocument
docSousDossier.Form = "SbfDossierMetiers"
iSousDossier = iSousDossier + 1
Call docSousDossier.ReplaceItemValue("Client", doc.GetItemValue("Client"))
Call docSousDossier.MakeResponse(doc)
Call docSousDossier.ComputeWithForm(True, False)
Call docSousDossier.Save(True,False)
Call doc.Save(True,False)
End Forall
Call SendMailMetiers(db, docSousDossier, vDestinataires) [b]<== ERREUR ICI[/b]
End If
'suite code
End If
il semble qu'il ne trouve pas docSousDossier (objet variable not set à la ligne du SendMailMetiers.
Merci de votre regard avisé.
cdt
camille