Для карточки задания:
Code Block |
---|
Const REF_TYPE_DVDOCUMENT = 1
Const REPORT_NAME = "Шаблон печати" 'Название шаблона печати
Function DoEvent(UserSession, CardFrame, CardData, ActivateFlags, ModeID, FolderID)
Dim docCard, dlg
Set docCard = GetDocCard(CardData, UserSession)
If Not docCard Is Nothing Then
Set dlg = CreateObject("DVSystemDialogs.SystemDialogs")
dlg.ShowPreviewWithCustomXML 0, CardFrame.Host, UserSession, docCard.GetXml, REPORT_NAME, "", docCatd.Type.ID
End If
End Function
' Получить документ, приложенный к заданию
Function GetDocCard(taskCard, session)
Dim refs, row, refId, docCard, typeAlias
Set refs = Sect(taskCard, "CardReferences2").Rows
For Each row In refs
If row.Value("RefType") = REF_TYPE_DVDOCUMENT Then
refId = row.Value("RefID")
If Not IsNull(refId) Then
Set docCard = session.CardManager.CardData(refId)
typeAlias = docCard.Type.Alias
If typeAlias = "CardInc" Or _
typeAlias = "CardOrd" Or _
typeAlias = "CardOut" Or _
typeAlias = "CardUni" _
Then
Set GetDocCard = docCard
Exit Function
End If
End If
End If
Next
Set GetDocCard = Nothing
End Function
' Получение секции карточки по имени
Function Sect(CardData, Alias)
Set Sect = CardData.Sections(CardData.Type.AllSections.GetByAlias(Alias).ID)
End Function
' Получение подчиненной секции по имени
Function SubSect(RowData, Alias)
Set SubSect = RowData.ChildSections(RowData.Section.Card.Type.AllSections.GetByAlias(Alias).ID)
End Function |
Для карточки документа:
Code Block |
---|
Const REF_TYPE_DVDOCUMENT = 1 Const REPORT_NAME = "Шаблон печати" 'Название шаблона печати Function DoEvent(UserSession, CardFrame, CardData, ActivateFlags, ModeID, FolderID) Dim docCard, dlg Set docCard = CardData If Not docCard Is Nothing Then Set dlg = CreateObject("DVSystemDialogs.SystemDialogs") dlg.ShowPreviewWithCustomXML 0, CardFrame.Host, UserSession, docCard.GetXml, REPORT_NAME, "", docCard.Type.ID End If End Function ' Получение секции карточки по имени Function Sect(CardData, Alias) Set Sect = CardData.Sections(CardData.Type.AllSections.GetByAlias(Alias).ID) End Function ' Получение подчиненной секции по имени Function SubSect(RowData, Alias) Set SubSect = RowData.ChildSections(RowData.Section.Card.Type.AllSections.GetByAlias(Alias).ID) End Function |