XML карточки + XSLT преобразование = HTML.
При этом нужно отметить, что для формирования печатной формы берется не просто XML карточки, а XML карточки + связанные карточки + связанные строки из справочников.На рисунке показан пример xml со связанными карточки внутреннего документа. В xml есть данные карточки, данные связанной сильной ссылкой карточки "Список файлов", и данные из справочника сотрудников. Важно отметить, что из справочника сотрудников получена только одна строка, на которую ссылается карточка документа.
Итак:
1. Присоединяются только карточки на которые ссылается поле типа refcardid
2. Присоединяются строки из справочников, на которые ссылается поле типа refid
Рассмотрим как получить данные из справочника. Пример, необходимо вывести имя и учетную запись регистратора карточки внутреннего документа. Поскольку строка из справочника сотрудников есть в xml то нужно получить её данные по идентификатору. XPath адрес должед быть таким:
//EmployeesRow[@RowID=//CardOrd[1]/MainInfo/@RegisteredBy]/@AccountName
Т.е. получаем строку из данных справочника, у которой RowID = значению из поля RegisteredBy.Полный текст шаблона:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <link href="%ServerUrl%/StorageServer/Fetch.aspx?BaseName=%BaseName%&TransformID=B5344DA1-D28F-4024-8798-3FC3992C94B7" rel="stylesheet" type="text/css"></link> <title><xsl:value-of select="//CardOrd[1]/MainInfo/@Name"/></title> <xsl:value-of select="//EmployeesRow[@RowID=//CardOrd[1]/MainInfo/@RegisteredBy]/@AccountName"> <xsl:value-of select="//EmployeesRow[@RowID=//CardOrd[1]/MainInfo/@RegisteredBy]/@LastName"> </xsl:value-of> </xsl:value-of> </xsl:template></xsl:stylesheet>
Читать дальше
4 коммент.:
Всем Добрый день,
Как можно вывести список должностей в карточке задачи при помощи шаблона печати?
Посути код должен быть таким
Этот код выводит должности только в карточках согласования, а в карточках задания ничего не выводит
Алексей, В карточках задания есть особенность. При генерации текста задания берется XML карточки + связанные строки. В отличие от шаблона печати, в котором используется XML карточки + связанные карточки. Код в комментариях не отобразился (лучше добавлять пример как ссылку на новый ресурс).
Как изменить то что отображается в карточки согласования в Содержании?
Например, хотя бы поменять слово “Исполнители”? (вообще надо вывести из лога карточки информацию).
При запуске карточки согласования формируются задания БП на согласование каждому из согласующих.
При открытии карточки задания из своей личной папки сначала видно что открывается карточка Задания БД, а потом вид карточки менятся на другой - в итоге открывается карточка Согласования (в контексте открывающего пользователя).
Пробовал менять шаблоны карточки Задания БП ("Шаблон текста задания по уполчанию" и «Стандартный шаблон печати») и Шаблон карточки Согласования (Стандартный шаблон печати) ничего не меняется в карточке согласования в Содержании.
Техподдержка DV говорит:
>Необходимо заменить стандартный шаблон PerformDefaultRU (dvsys_transforms), он же "Шаблон текста задания по уполчанию".
>После этого надо перезапустить сервисы IIS и Навигатор на клиенте.
>При отображении текста задания в карточке используется "XML со связанными строками" + XSLT, а в диалоге "Экспорт и печать": "XML со связанными карточками" + XSLT
Даже если просто посмотреть эти шаблоны Задания БП ("Шаблон текста задания по уполчанию" и «Стандартный шаблон печати») и Шаблон карточки Согласования (Стандартный шаблон печати) - там даже нет слова ”Исполнители” которое отображается с “Содержании” !?
Не понятно как изменить и где то, что отображается в карточки согласования в Содержании.?
Буду благодарен за любую информацию как формируется Содержание в карточке согласования ….
Ссылка на открытое задание БП по согласованию
http://savepic.net/1470941.jpg
Отправить комментарий