Skip to end of metadata
Go to start of metadata

Любое электронное сообщение в модуле EDSmart может быть представлено в виде печатной формы, которая создается на основе заранее настроенного шаблона. Для каждого типа ЭС можно настраивать произвольное количество шаблонов, которые сохраняются в виде файлов в специальных папках. Папки для сохранения шаблонов бывают двух типов:

  1. Общая папка шаблонов ЭС. К шаблонам, содержащимся в этой папке, получают доступ все пользователи системы. Обычно эта папка располагается на сетевом ресурсе. Эта папка может иметь произвольное имя. Полный путь к этой папке должен быть прописан в настроечном параметре системы с кодом «REPORT_DIR» (пункт меню Администрирование – Настройки – Общие).
  2. Папка для индивидуальных шаблонов. Эта папка расположена на рабочей станции пользователя и, соответственно, доступ к этим шаблонам получают только пользователи данного компьютера. Эта папка должна иметь фиксированное наименование – «REPORTS» и находиться в том же каталоге, где и клиентское приложение «Quorum.EDSmart.Gui.exe». Использование этой папки не является обязательным.


Печатная форма на основе шаблона создается пользователем по команде Печатная форма. Эта кнопка находится на панели инструментов табличных форм, содержащих реестры электронных сообщений (например, в интерфейсе Мониторинг – Все сообщения). В случае, если для данного типа сообщения настроено несколько видов печатных форм, то пользователю будет предложено выбрать необходимую из списка.


Для создания шаблонов форм электронных сообщений применяется язык преобразования XML документов XSLT (eXtensible Stylesheet Language Transformations). Имя файла шаблона должно начинаться с полного наименования типа сообщения, к которому относится данный шаблон. И, далее, через пробел – наименование формы.
Пример небольшой формы для ED244 и соответствующий ей код приводятся ниже:

 



<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:ed="urn:cbr-ru:ed:v2.0" xmlns:EDSmart="http://www.quorum.ru/EdSmart/XsltFunctions/1.0">
<xsl:decimal-format name='ru' decimal-separator=',' grouping-separator=' ' />
<xsl:template match="/ed:ED244">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>ED244</title>
<style type="text/css">
@page {size: 8.27in 11.69in; margin-right: 0.39in; margin-top: 0.2in; margin-bottom: 0.39in }
p { font-family:Consolas; }
p.title {'margin-bottom:0cm;margin-bottom:.0001pt;line-height:normal' }
p.row {'margin-top:4.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:0cm;margin-bottom:.0001pt; padding:3pt 5.4pt 3pt 5.4pt' }
</style>
</head>
<p style='title'>ОТВЕТ НА ЗАПРОС (УВЕДОМЛЕНИЕ) ПО ЭПС УЧАСТНИКА<br/><br/></p>
<table border='0' cellspacing='0' cellpadding='0' style='border:none;'>
<tr>
<td width='380' valign='top'><p class='row'>Электронное сообщение</p></td>
<td width='284' valign='top'><p class='row'>№ <xsl:value-of select="@EDNo" /> от <xsl:call-template name="convert-ymd-to-dmy">
<xsl:with-param name="indate" select="ed:OriginalEPD/@EDDate"/>
</xsl:call-template></p>
</td>
</tr>
<tr >
<td valign='top'><p class='row'>Уникальный идентификатор составителя ЭС:</p></td>
<td valign='top'><p class='row'><xsl:value-of select="@EDAuthor" /></p></td>
</tr>
<tr >
<td valign='top'><p class='row'>Уникальный идентификатор получателя ЭС:</p></td>
<td valign='top'><p class='row'><xsl:value-of select="@EDReceiver" /></p></td>
</tr>
</table>
<p><br/></p>
<table border='0' cellspacing='0' cellpadding='0' style='border:none;'>
<tr>
<td width='120' valign='top'><p class='row'>Код запроса:</p></td>
<td width='766' valign='top'>
<p class='row'>
<xsl:value-of select="@EDDefineRequestCode"/>. <xsl:value-of select="EDSmart:GetValueDesc('EDDefineRequestCode', @EDDefineRequestCode)"/>
</p>
</td>
</tr>
</table>
<p><br/></p>
<table border='0' cellspacing='0' cellpadding='0' style='border:none;'>
<tr>
<td width='120' valign='top'><p class='row'>Код ответа:</p></td>
<td width='766' valign='top'>
<p class='row'>
<xsl:value-of select="@EDDefineAnswerCode"/>. <xsl:value-of select="EDSmart:GetValueDesc('EDDefineAnswerCode', @EDDefineAnswerCode)"/>
</p>
</td>
</tr>
</table>
<p class='row'><br/>ИДЕНТИФИКАТОРЫ ИСХОДНОГО ЭПС:</p>
<table border='0' cellspacing='0' cellpadding='0' style='border:none;'>
<tr>
<td width='380' valign='top'><p class='row'>Номер ЭС в течение опердня:</p></td>
<td width='284' valign='top'><p class='row'><xsl:value-of select="ed:OriginalEPD/@EDNo" /></p></td>
</tr>
<tr >
<td valign='top'><p class='row'>Дата составления ЭС:</p></td>
<td valign='top'><p class='row'>
<xsl:call-template name="convert-ymd-to-dmy">
<xsl:with-param name="indate" select="ed:OriginalEPD/@EDDate"/>
</xsl:call-template>
</p></td>
</tr>
<tr >
<td valign='top'><p class='row'>Уникальный идентификатор составителя ЭС:</p></td>
<td valign='top'><p class='row'><xsl:value-of select="ed:OriginalEPD/@EDAuthor" /></p></td>
</tr>
</table>
</html>
</xsl:template>
<!-- ************ СПЕЦИАЛЬНЫЕ ФУНКЦИИ EDSmart************ -->
<!-- Конвертация даты из формата YYYY-MM-DD в DD.MM.YYYY -->
<xsl:template name="convert-ymd-to-dmy" >
<xsl:param name="indate"/>
<xsl:value-of select="concat(substring($indate,9,2), '.', substring($indate,6,2), '.', substring($indate,1,4))" />
</xsl:template>
</xsl:stylesheet>
  • No labels