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

Тут написано как отобразить в карточке справочника связанные документы или задачи в cистеме Directum.
Я немного модернизировала эти функции с тем, чтобы отобразить связанные справочники таким же образом.

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

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

Функция TD_RefShowReferencesInControl:

  if VarisNull(aRefsReqArray) or VarisNull(aRefsArray) or VarisNull(aControl) or VarisNull(aObjectInfo)
    exit()
  endif

  HTML = TD_HTMLShowRefsByLinks(aParentRefName; aRefsArray; aRefsReqArray; aObjectInfo; aRefsView)
  file = GetTempFolder() &"refs.html"
  ФайлСоздать(file)
  ФайлЗаписать(file; "П"; HTML) 
  aControl.Navigate(file)

Передаваемые параметры:
Отображение справочника на карточке

,где:

aControl - Контрол для вывода документов, например, передать в ф-ю параметр Controls.FindControl('STWebBrowserControl1')
aRefsArray - Массив справочников, которые нужно отобразить, например,
ArrayOf('TD_Requests';'TD_TU');
В данном примере в виде аргумента передается одномерный массив
из наименований 2-х справочников, TD_Requests и TD_TU (см. пример)
ArrayOf(ArrayOf("Наименование";"TD_RequestInboxType";"ДатаВремя");
ArrayOf("Наименование";"";"ДатаВремя"));
'TD_Object'; Object.Info;ArrayOf("Обращение за ТУ";""))
aRefsReqArray - Массив реквизитов справочников. (см. пример). Данные этих реквизитов и будут выводиться в таблицу.
Пример:

ArrayOf(ArrayOf("Наименование";"TD_RequestInboxType";"ДатаВремя");
ArrayOf("Наименование";"";"ДатаВремя"));

aParentRefName - Имя родительского справочника.
aObjectInfo - Информация об объекте, передавать Object.Info
aRefsView - Какое представление выводить. Если пусто, то выводит все представления.
Например,
ArrayOf("Представление 1";""))

Функция TD_HTMLShowRefsByLinks:
Взять можно здесь, ибо там код html, потому вложила.

Параметры функции:
Те же.

Рекомендовать в Социальных сетях:
 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *