Функции отображения в карточке справочника связанных справочников
Я немного модернизировала эти функции с тем, чтобы отобразить связанные справочники таким же образом.
Алгоритм работы функций:
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, потому вложила.