Это старая версия документа.
Для привязок, которые показаны в отчете как таблица (например, "Список", "Фильтр"), необходимо, чтобы количество столбцов было не меньше, чем количество выводимых параметров в рамках этих привязок.
В случае необходимости в таблицу такой привязки можно добавить столбцы в шаблоне. При этом при выполнении отчета столбцы таблицы будут заполняться слева направо. Незаполненными останутся столбцы лишь справа. В шаблоне отчета вставить столбец со своими значениями между столбцами со значениями бизнес-модели нельзя.
Раздел Термины в Объектах деятельности используется как "Глоссарий компании". В отчете формата Word по Терминам таблицей выводится список терминов (параметр "Название") и определений (параметр "Комментарий").
Необходимо представить эти данные в форме, как представлен глоссарий в стандартных регламентных документах Business Studio:
Решение описывается с момента, когда уже существует привязка типа "Фильтр", выводящая перечень терминов и их определений.
Сначала напишем код VBA, который вставит столбец и заполнит тире. Чтобы было наглядней видно как работает макрос. Кроме того, это будет удобно в случае необходимости отладки кода. И после этого внесем изменения в вид таблицы в шаблоне отчета.
Пишем код VBA
Определяем название привязки типа "Фильтр", которая представляет нужную таблицу (см. Руководство пользователя → Пример определения названия привязки типа "Список").
Sub ПослеВыполненияОтчета(ob As Variant, app As Variant) название заклад часть па Список, формирующей нужную таблицу GlossaryBookmarkName = "Глосссок, формирующей нужную таблицу GlossaryBookmarkName = "Глоссарий_компании_e26caa29" columnInsertAfter = 1 ое тире 'Проверка на корректность названия привязкобходимо вставить таблицу insertText = Chr(151) нет Dim Bkm As Bookmark, длинное тире 'если искомая закладка есть среди закладок ь названия привязки Dim GlossaryBkmOk As Boolean f Bkm.Name = GlossaryBookmarkName Then жной закладки нет Dim Bkm As Bookmark 'будем рабпа Закладка Set tableGlossary = Application.Activeеди закладок в документе For Each Bkm In ActiveDocument.Bookmarks If Bkm.Name = GlossaryBookmarkName Then GlossaryBkmOk = True рава от которого 'неокладка есть tableGlossary.Cell(1, columnInsertAfter).Rцей через закладку Set tableGlossary = Application.ActiveDocument.Bookmarks(GlossaryBookmarkName).Range.Tables(1) End If Next For i = 2 To ая часть If GlossaryBkmOk Then ный текст tableGlossary.Cell(i, columnInserлбца, справа от которого 'Автподбор таблицы по содерставить столбец tableGlossary.Cell(1, columnInsertAfter).Range
После выполнения отчета и обработки его макросом отчет будет иметь вид:
В шаблоне отчета стандартными средствами для работы с таблицами: