Это старая версия документа.
За каждым документом в 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 или HTML1)) и способа закрепления за документом файла, ссылки на файлы документы могут быть не всегда.
Способ закрепления файла | Документ есть в дереве HTML | Документа нет в дереве HTML |
---|---|---|
Документ имеет закрепленный файл непосредственно | Ссылка на указанный файл | Ссылки нет |
Документ имеет ссылку на файл вида http:// , ftp:// | Ссылка на указанный файл | Ссылка на указанный файл |
Документ имеет ссылку на локальный файл на компьютере пользователя Business Studio | Ссылка на документ в HTML | Ссылки нет |