Функции отображения в карточке справочника связанных документов или задач

9 6

Функции позволяют отобразить информацию о связанных документах или задачах в карточке справочника без открытия дополнительных окон «связанных документов» или «связанных задач».

Алгоритм работы функций:
  1. Осуществляется поиск связанных документов/задач;
  2. Формируется HTML-документ, в котором отображается таблица с связаными документами/задачами;
  3. Сохранение HTML-документа во временную папку;
  4. Загрузка HTML-документа в компоненту WebBrowser на форме карточки справочника.

Текст функции, отображения связанных документов:


Пример вызова функции в карточке справочника (Событие Карточка.Открытие):
// загрузить веб-страницы
Form = Object.Form
if (not VarIsNull(Form))
  // документы
  ВебДоки = Form.Controls.FindControl('STWebBrowserControl2')
  if not VarIsNull(ВебДоки)
     HTML = HTMLEDocsByRef(Object.Info)
     file = GetTempFolder() &"edocs.html"
     ФайлСоздать(file)
     ФайлЗаписать(file; "П"; HTML)
     ВебДоки.Navigate(file)
  endif
  // задачи
  ВебЗадачи = Form.Controls.FindControl('STWebBrowserControl3')
  if not VarIsNull(ВебЗадачи)
     HTML = HTMLTasksByRef(Object.Info)
     file = GetTempFolder() &"tasks.html"
     ФайлСоздать(file)
     ФайлЗаписать(file; "П"; HTML)
     ВебЗадачи.Navigate(file)
  endif  
endif

Так будет выглядеть результат работы функции в карточке справочника:


Ссылка на функции:

Прикреплен файл: HTMLEDocTasks.zip

Иван Середкин

Красивое решение!

Мария Макарцева

Было бы совсем красиво, если бы были гиперссылки на эти самые документы/задачи. Как правило, нужно видеть не только список, но и какой-то объект списка посмотреть подробнее. Например, добавить гиперссылку на наименование.  

Иван Середкин

Я тоже сначала подумал, что ссылок нет, но потом разобрался в функции и понял, что ссылки есть, просто объекты не подчеркиваются, но если на них кликнуть два раза, то объект откроется

Мария Макарцева

А еще возможно стоит подумать о быстродействии. Сей механизм срабатывает при любом визуальном открытии карточки, как следствие замедляет это самое открытие. А в скольких процентах случаев открытия карточки нужна эта информация по документам/задачам? Если это критично, то можно сделать примерно так же, как сделано для РКК, т.е. в личных настройках задается, формировать ли эту информацию при открытии, + гиперссылка для принудительного обновления/отображения.  

Дмитрий Рудко

Коллеги, ссылка на файл не работает, не могли бы вы пожалуйста загрузить документ заново. Спасибо

Дмитрий Рудко: обновлено 13.11.2017 в 00:19
Андрей Доличенко

А есть возможность обновить ссылку на код решения? приложенная = битая

Авторизуйтесь, чтобы написать комментарий