This function links a CDO Form to the letter.
object.LinkCDOForm
aForm
Link the CDO Form to the letter and display its ID.
sub main
Dim aFilter
Dim aPatient
Dim i
Dim aCDOForms, aCDOForm
Dim aTrans
Dim aLetters, aLetter
Dim aHRC
Dim aMessage
Set aPatient = Profile.SelectPatient
set aFilter = Profile.CreateCdoFormFilter
aFilter.PatientId = aPatient.Id
set aCDOForms = Profile.LoadCdoForms(aFilter)
set aTrans = Profile.StartMapTransaction
set aLetters = aPatient.GetLetters (1) ' slcfWordRTF
aMessage = "INITIAL STATE:" & GetLinkedCDOFormsInfo(aLetters)
for each aLetter in aLetters
for i = 0 to aCDOForms.Count - 1
set aCDOForm = aCDOForms.Item(i)
set aHRC = aCDOForm.AsHRC
aLetter.LinkCDOForm aHRC
next
next
aTrans.Commit
set aTrans = Profile.StartMapTransaction
set aLetters = aPatient.GetLetters (1) ' slcfWordRTF
aMessage = aMessage & vbNewLine & vbNewLine &_
"LETTERS AFTER CDOForms LINKING:" & GetLinkedCDOFormsInfo(aLetters) & vbNewLine
Profile.MsgBox (aMessage)
end sub
function GetLinkedCDOFormsInfo(aLetters)
Dim aInfo
Dim aLetter
Dim i
Dim aCDOForms, aCDOForm
for each aLetter in aLetters
aInfo = aInfo & vbNewLine & "Letter Id: " & aLetter.ID
set aCDOForms = aLetter.LinkedCDOForms
if aCDOForms.Count > 0 then aInfo = aInfo & vbNewLine & " CDOForms IDs: "
for i = 0 to aCDOForms.Count - 1
set aCDOForm = aCDOForms.Item(i)
aInfo = aInfo & aCDOForm.Id & ", "
next
next
GetLinkedCDOFormsInfo = aInfo
end function
In Profile Client v8 on User Interface CDO Forms can be linked in
or in .