Это старая версия документа.
За каждым документом в Business Studio может быть закреплен файл или указана ссылка на такой файл. При выводе отчетов в HTML (HTML-публикация или Business Studio Portal) в отчете по документу можно вывести на показ параметр "Файл". Пользователю в отчете будет представлена гиперссылка, при нажатии на которую будет открыт конкретный указанный файл или будет осуществлен переход по указанной ссылке.
С другой стороны, в HTML все упоминания документа в отчетах других объектов имеют ссылку на документ (при условии, что есть куда ссылаться). И уже после перехода по этой ссылке будет доступна ссылка для загрузки файла документа.
В отчетах любых объектов так же можно выводить не документ, а ссылку на файл. При этом такая ссылка будет иметь текст, отличный от названия документа (см. Рисунок 6).
В отчете формата Word по процессу в таблице со списком нормативно-справочных документов название документа сделать гиперссылкой:
Таблица должна состоять из 2х столбцов: № пп (нумератор) и Документ (название документа).
Решение описывается с момента, когда в шаблоне отчета создана необходимая привязка типа "Список", которую можно видеть таблицей.
Настройка сложной привязки "Нормативно-справочные документы" приведена в таблице ниже.
№ | Название привязки | Тип привязки | Путь к привязке |
---|---|---|---|
1. | Нормативно-справочные документы | Список | Процессы.Нормативно-справочные документы |
2. | Документ | Объект | БизнесМодель.СписокНСДПроцессов.Документ |
3. | Файл | Объект | БизнесМодель.СписокНСДПроцессов.Файл |
Данная привязка выводит таблицу с названиямим нормативно-справочных документов процесса и ссылками на их файлы.
В качестве примера возьмем процесс А1, которые имеет свойства, представленные на рисунке ниже.
После того, как отчет будет сформирован (Business Studio создаст все необходимые ссылки на файлы документа), будем запоминать ссылку на файл и применять эту ссылку для соответствующего названия документа. Столбец "Файл" после этого удалим.
Кодом VBA:
После окончания переноса всех гиперссылок удалить столбец "Файл" и привести таблицу к обычному виду.
Sub ПослеВыполненияОтчета(ob As Variant, app As Variant) ание закладки д ЧАСТЬ па Список, формирующей нужную таблицу Dim BookmarkName As String Bookmaсок, формирующей нужную таблицу Dim BookmarkName As String BookmarkName = "Нормативно_справочные_до_3be042ab" Dim columnFile, columnDocName As Integer columnDocName = 2 ужебные Dim linkFileText, nameDoc, hLinkAdres названия документа columnFile = 3 ТЬ ActiveWindow.View.ShowFieldCodes = Not ActiveWiвания файла документа коды полейбные Dim linkFileText, nameDoc, hLinkAdress As String Dim TableDocs As Table '1. Вставляем гипАЯ ЧАСТЬ ActiveWindow.View.ShowFieldCodes = Not ActiveWindow.View.ShowFieldCodes ocs = Application.ActiveDocument.Bookmarksй, а значения If BookmarkIs(BookmarkName) Then bleDocs.Rows.Count 'количество симая закладка ountRowsTableDocs 'будем проходить по всем строк названия документов sume Next 'игнор error 5991, если какиеазванию привязки Set TableDocs = Application.ActiveDocument.Bookmarks(BookmarkName).Range.Tables(1) countRowsTableDocs = TableDocs.Rows.Count с файлом linkFileTрок таблицы For i = 2 To countRowsTableDocs Len(linkFileText) <> 2 Then 'если ячейка не пустая (тоам таблицы кроме первой On Error Resume Next Select 'работаем с ячейкой названия файла For Each hLink I вертикальное объединение nameDoc = "" linkFileText = "" hLinkAdress = "" ess) <> 0 Then 'если гиперссылка естячейка с файлом linkFileText = TableDocs.Cell(i, columnFile).Range.Text If Len(linkFileText) <> 2 Then nameDoc = Left$(nameDoc, (Len(nameDoc) -о 2 служебных символа) TableDocs.Cell(i, columnFile).Range.Select у в ячейку с названием документа названия файла For Each hLink In Selection.Hyperlinks hLinkAdress = hLink.Address Anchor:=Selection.Range, _с гиперссылки Next hLink If Len(hLinkAdress) <> 0 Then ScreenTip:="ылка есть кне)", _ TextToDisplазваний документа nameDoc = TableDocs.Cell(i, columnDocName).Range.Text nameDoc = Left$(nameDoc, (Len(nameDoc) - 2)) аем ширину столбца с Нумератором (первый столбец) получаем чистый текст lumns.PreferredWidth 'Удаляем столбец с названиемку с названием документа TableDocs.Cell(i, columnDocName).Range.Select ActiveDocument.Hyperlinks.Add _ Anchor:=Selection.Range, _ Address:=hLinkAdress, _ SubAddress:="", _ ScreenTip:="Перейти к файлу документа (в новом окне)", _ TextToDisplay:=nameDoc, _ Target:="_blank" End If End If Next i rkIs = False 'сначала считаем, что нужной заклам красоту в таблице ookmarks 'перебираем все закладки в документе If Bkm.ератором (первый столбец) TableDocs.Columns(1).Select ColumnWidth = Selection.Columns.PreferredWidth d If Next End Function
При этом решении следует помнить о том, что в зависимости от направления вывода отчета (документ Word/Excel или HTML-публикация/Business Studio Portal) и способа закрепления за документом файла, ссылки на файлы документы могут быть не всегда.
Способ закрепления файла | Документ есть в дереве HTML | Документа нет в дереве HTML |
---|---|---|
Документ имеет закрепленный файл непосредственно | Ссылка на указанный файл | Ссылки нет |
Документ имеет ссылку на файл вида http:// , ftp:// | Ссылка на указанный файл | Ссылка на указанный файл |
Документ имеет ссылку на локальный файл на компьютере пользователя Business Studio | Ссылка на документ в HTML | Ссылки нет |