Разработка Эл. документа - Редактор печатной формы

Создание печатной формы

После того как шаблон готов и настроен, необходимо создать для него печатную форму. Следует нажать либо на кнопку «Создать», либо на кнопку «Редактировать». Так как у новых шаблонов пока нет печатных форм, то автоматически будет создана новая ПФ.

Если шаблон имеет уже одну печатную форму, то для их редактирования необходимо нажимать на кнопку «Редактировать».

Помимо основной формы, можно создавать любое количество дополнительных форм, используя кнопку «Создать». При этом необходимо задать название новой ПФ, отличающееся от основного названия, чтобы в процессе работы их можно было отличить друг о друга.

Если требуется изменить только название новой ПФ, но оставить её содержимое без изменений, на кнопке «Редактировать» есть дополнительный функционал «Редактировать имена печатных форм» (рисунок 1).

image.pngРисунок 1 – Редактирование имени печатной формы

В процессе создания/редактирования ПФ могут возникнуть следующие ошибки:

image.pngРисунок 2 - Ошибка несоответствия типов переменных
image.pngРисунок 3 - Ошибка о наличии неизвестной переменной в ПФ

После того как ПФ создана, она будет выглядеть примерно следующим образом (рисунок 4):

image.pngРисунок 4 – Пример созданной ПФ

Если в шаблоне имеется элемент "Таблица", то автоматически будут созданы данные для её отображения с названиями "Table_1_element_4" и "Table_2_element_4" (рисунок 5).

Запрещено удалять! Элементы "Table_1_element_4" и "Table_2_element_4", иначе будет ошибка и ПФ не будет распечатана (рисунок 6).

image.pngРисунок 5 – Пример созданной ПФ с таблицей
image.pngРисунок 6 – Ошибка печати при удалении элементов "Table_1_element_4" и "Table_2_element_4"

Все элементы редактора как правило описываются в элементе RichReport_1. Сам элемент всегда находится в подобие группы MasterDate с именем Dannie_1. Если в ПФ не будет хотя бы одного из этих элементов с точно такими же именами, то ПФ может работать не корректно.

Запрещено удалять! Служебные элементы RichReport_1 и группу Dannie_1, иначе печатная форма не будет работать.




Основные элементы печатной формы

Все элементы для ПФ находятся в левой группе напротив дерева объектов. Основными из них являются:

image.png – группы элементов (Данные 1 уровня), применять «Данные» других уровней для ПФ шаблонов не желательно, так как они используются для более сложной отчетности (рисунок 1).

G5nimage.pngРисунок 1 – Группы элементов ПФ

В данных группах располагаются описанные ниже элементы, но для того, чтобы эти элементы отображались, саму группу необходимо настроить. Для этого нужно нажать на неё два раза левой клавишей мыши, в результате откроется окно настроек данных (рисунок 2):

image.pngРисунок 2 – Окно данных для MasterDate

Если для группы используются данные из запроса, то в списке источников данных нужно выбрать требуемый запрос.

Если нужны просто данные из редактора шаблона, то необходимо изменить параметр «Количество записей» с «0» на «1». Можно указать и другое значение, но в этом случае на печать будет выведено столько копий данных, сколько было указано в поле.

Если в редакторе шаблона был добавлен элемент «Таблица» то, в ПФ программа создаст специализированный набор элементов для отображения данной таблицы (рисунок 3).

image.pngРисунок 3 – Макет печатной формы с выводом таблицы

Не зависимо от того как ранее были выровнены колонки в редакторе шаблона для таблицы в ПФ так же необходимо настроить поля, но в отличии от редактора шаблона, тут нет ограничений по символам, а используя дополнительные элементы можно привести печатную форму к регламентному виду. Автоматически созданные служебные колонки можно удалить (рисунок 4).

oS4image.pngРисунок 4 – Служебные колонки

В ПФ сформированных для вывода таблицы последняя MasterData с её содержимым в виду особенностей кода, всегда будет иметь иной размер и шрифт, поэтому для приведения их к единому стилю, так же необходима редакция.

Если в шаблоне использовался элемент «Результаты анализов», то при формировании печатной формы будет создан специализированный макет (рисунок 5).

image.pngРисунок 5 – Макет ПФ для отображения результатов анализов

Элемент «AnalisisOrientir1» также запрещено удалять и переименовывать. Если шаблон не большой, данный элемент отрабатывает без ошибок. Если данный элемент используется в громоздком регламентном документе, то рекомендуется переделать структуру вывода результатов исследований под специализированный формат (будет описан ниже).

Элементы, используемые в ПФ:

image.png – элемент «Rich1». В данном элементе задаются переменные, которые будут отображены. По умолчанию новый элемент называется «Rich», но для того, чтобы он работал корректно, его имя необходимо заменять на «RichReport_№» с указанием цифры.

Внимание! Если цифры не будут располагаться по порядку, то выбивающийся элемент будет работать как «Rich» или «Memo». Например, если в ПФ есть элементы с именами: ‘RichReport_1’, ‘RichReport_2’ и ‘RichReport_4’, то данные из элемента ‘RichReport_4’ могут отобразиться не корректно, так как пропущен элемент с именем ‘RichReport_3’.

Редактирование переменных в элементах

Для того чтобы открыть редактор переменных, необходимо нажать на элемент два раза левой кнопкой мыши (рисунок 6).

image.pngРисунок 6 – Редактор элемент Rich

Все переменные по умолчанию заключены в служебные скобки [<>]. В программе допускается использование переменные без треуголных скобок <>, но в этом случаи выводимый документ будет очищать форматирование. Например если врач в выводимом поле сделает часть текста жирным, но в печатной форме элемент заключен только в квадратные скобки, то на печати документ выйдет в виде обычного текста.

Если необходимо отобразить надпись элемента из редактора шаблона, то переменную следует ввести в следующем виде: [<Надпись_>] и после нижнего подчеркивания указать имя элемента из редактора шаблона. По умолчанию элементы редактора шаблона при создании ПФ уже будут прописаны в автоматически созданных элементах. Если в редакторе добавляется новый элемент, то его так же нужно добавить и в ПФ.

Порядок отображения полей в редакторе шаблона и на ПФ могут отличаться.

В программе заложены служебные переменные, например:

Для того чтобы вызвать служебные переменные, вшапке окна редактора, необходимо нажать на кнопку «Вставить выражение» изображение.png В открывшемся окне, необходимо перейти на вкладке «Переменные» (рисунок 7).

изображение.pngРисунок 7 - Список служебных переменных в окне редактора выражений.

Для удобства работы переменные разделены на категории:

Помимо вкладки «Переменные», в редакторе выражений есть ещё три вкладки:

Важно! Для исспользования данных воозможностей программы, необходимы знания языка запросов SQL, понимание что та или иная переменная выведет, а также знание структуры базы данных. При отсутствии данных знаний пользоваться данным функционалом не рекомендуется. По любым вопросам связанным с исспользование данной вкладки, следует обращаться в ТП Медицина-ИТ.

изображение.pngРисунок 9 - Пример исспользования функции в редакторе выражений

При исспользовании функции, под большинством из них дано описание и требуемый синтаксис. Для примера приведена функция Lenght() высчитывающая длину заданной в ней переменной. В качестве переменной была исспользована служебная переменная <PAT_TITLE> которая выводит Ф.И.О. пациента. Результатом исспользования данной функции будет число укзаывающее из скольки символов состоит Ф.И.О. пациента.

Важно! Функции как правило исспользуются для более сложных документов требующих различные расчеты и вычисления. Исспользование данного функционала без должного опыта не рекомендуется и может привести к критическим ошибкам. По любым вопросам связанным с исспользование данной вкладки, следует обращаться в ТП Медицина-ИТ.

Внимание! Во избежании критических ошибок исспользование функционала данной вкладке - запрещяется! 

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

Для элемента «RichReport» используется дополнительный функционал. Если поле в электронном документе пользователем не заполнено, то элемент «RichReport» пропустит данное поле и подтянет на его место данные из следующего заполненного. Так же для данного элемента работают все настройки, введённые в редактор шаблона для того или иного поля («Печать точки зависит от», «Печать запятой зависит от», формулы, форматирования и т.д.).

image.png – элемент «Memo». Данный элемент используется для отображения статичных данных. На него не действуют формулы, форматирование, заложенное для переменных в редакторе шаблона. Например, если в данном элементе прописать надпись элемента, то она всегда будет отображаться на печати, даже если пользователь не заполнит данное поле.

image.png – элемент «Вложенный отчет». Данный элемент используется для создания отдельной дополнительной страницы (отчета), внутри документа. Таким образом, вначале выполняется часть, описанная внутри «Вложенного отчета», а потом результат выводится в заранее отведенное для него место.

Структура оформления для работы «Результаты исследования»:

Для корректного отображения результатов анализов в заданном месте, необходимо:

1) Создать Данные 1-го уровня и установить количество записей равное «1»;

2) Добавить в Данные 1-го уровня элемент «Вложенный отчет».

3) Переместить MasterData на то место, где необходимо выводить результаты анализа (например, выводить данные перед таблицей) (рисунок 10).

image.pngРисунок 10 – Добавление в макет ПФ структуры для вывода результатов анализов

4) При добавлении «Вложенного отчета», автоматически будет создана страница «Subreport№». Необходимо перейти на эту страницу и создать новую MasterData с параметром «Количество записей» равное «1» (рисунок 11).

image.pngРисунок 11 – Добавление и редактирование страницы Subreport

5) Вырезать в дереве объектов элемент «AnalisisOrientir1» и вставить его в новую MasterData на странице Subreport (рисунок 12).

image.pngРисунок 12 – Итоговый вид страницы Subreport

6) Выровнять все элементы, чтобы на печати данные выводились аккуратно и без излишних пропусков. В нашем примере:

Для MasterData1 и MasterData2 ставим признак Stretched=true.

У элемента AnalisisOrientir1 меняем параметры Align=baClient.

Для элемента Subreport1 меняем Align=baClient.

Таким образом, если на пациента будут готовы результаты анализов, они корректно отобразятся в заданном месте (перед таблицей) и самостоятельно растянут требуемые элементы, в которых они находятся до нужной высоты и ширины. Если же таких результатов не будет, то так как у элементов все размеры и настройки равны «0», то и на печати не будет пробелов.

Создание новой страницы в ПФ

Если документ состоит из нескольких отдельных листов, то и в ПФ можно разграничить их, создав новые страницы. Для этого вверху на панели страниц документа, необходимо нажать правой кнопкой мыши и выбрать из списка пункт «Новая страница» (рисунок 13).

image.png Рисунок 13 – Создание новой страницы

Если необходимо изменить формат, размер, ориентацию страниц, то так же на панели страниц, следует вызвать меню, но выбирать пункт «Настройки страницы». В открывшемся окне можно задать все требуемые данные (рисунок 14).

image.pngРисунок 14 – Параметры страницы

После всех манипуляций, необходимо отдельно сохранить ПФ и пересохранить сам шаблон в редакторе шаблона. Макет ПФ новой страницы, оформляется также, как и макет основного листа ПФ.

Основные параметры элементов и групп печатной формы

Align – выравнивание элементов относительно других элементов.

AllowHTMLTags – параметр для Memo элементов, позволяет использовать внутри элемента html тэги.

AllowSplit – параметр для MasterData, параметр разрешает разрывать содержимое «Данных уровня».

AutoWidth – параметр для Memo. Растягивает элемент по ширине в зависимости от его наполнения.

FlowTo – если данные не помещаются для отображения в элементе, то в данном параметре указывается другой такой же элемент, где они продолжат выводиться.

Height – высота элемента.

HideZeros – если в элементе находится переменная равная "0", то при включенном параметре она будет скрыта.

Left – отступ элемента по левому краю от границы.

LineSpacing – задает промежуток между строками элемента.

Name – имя элемента.

ParagrahGap – позволяет задать «красную строку» в Memo.

Stretched  (StrechMode) – растяжение элемента.

Top – отступ элемента от верхнего края границы.

Underlines – параметр для Memo элементов, рисует строки внутри Memo.

Visible – параметр отвечающий за отображение элемента.

Width – ширина элемента.

Настройка визуализации ЭЦП

Для начала необходимо настроить документ на подписание ЭЦП. Для отображение визуализации электронной цифровой подписи, документ необходимо привязать к локальному СЭМДу 100006 "Осмотр врача" (рисунок 1). Так же желательно сделать привязку и к други подходящим для выгрузки СЭМДам. 

изображение.pngРисунок 1 - Привязка документа к СЭМД

Чтобы подпись визуализировалась, в ПФ рекомендуется использовать готовый код. В зависимости от числа подписантов можно настроить визуализацию ЭЦП Врача (код 1) или Врача и Зав. отделения (код 2). Код необходимо скопировать и вставить в печатную форму, а после отредактировать под данные шаблона. Результат копирования показан на соответствующих рисунках  (рисунок 2) и (рисунок 3).

#FR3 clipboard#
<TfrxMasterData Name="EDS1" FillType="ftBrush" FillGap.Top="0" FillGap.Left="0" FillGap.Bottom="0" FillGap.Right="0" Frame.Typ="0" Height="60,47248" Left="0" Top="0" Width="680,3154" ColumnWidth="0" ColumnGap="0" RowCount="1" Stretched="True"/><TfrxMemoView Name="Memo0000" AllowVectorExport="True" Left="0" Top="11,33859" Width="207,87415" Height="49,13386559" StretchMode="smMaxHeight" Font.Charset="1" Font.Color="-16777208" Font.Height="-16" Font.Name="Times New Roman" Font.Style="0" Frame.Typ="0" ParentFont="False" VAlign="vaBottom" Text="[IIF(Length(getEDSInfoFromDoc(&#60;DOC_ID&#62;,'SN',1))&#62;0,getEDSInfoFromDoc(&#60;DOC_ID&#62;,'DOLGNOST',1),&#60;DOLGNOST&#62;)]"/><TfrxMemoView Name="Memo0001" AllowVectorExport="True" Left="457,32313" Top="11,33859" Width="222,99227" Height="49,13386559" StretchMode="smMaxHeight" Font.Charset="1" Font.Color="-16777208" Font.Height="-16" Font.Name="Times New Roman" Font.Style="0" Frame.Typ="0" HAlign="haRight" ParentFont="False" VAlign="vaBottom" Text="[IIF(Length(getEDSInfoFromDoc(&#60;DOC_ID&#62;,'SN',1))&#62;0,getEDSInfoFromDoc(&#60;DOC_ID&#62;,'MEDPERSONAL',1),&#60;MEDPERSONAL&#62;)]"/><TfrxMemoView Name="Memo0002" AllowVectorExport="True" Left="207,87415" Top="60,47245559" Width="245,66945" Height="0" Font.Charset="1" Font.Color="-16777208" Font.Height="-16" Font.Name="Times New Roman" Font.Style="0" Frame.Typ="4" ParentFont="False" VAlign="vaCenter" Text=""/><TfrxRichView Name="Podpis1" AllowVectorExport="True" Left="207,87415" Top="11,33859" Width="245,66945" Height="49,13389" Visible="False" StretchMode="smActualHeight" Frame.Typ="15" GapX="2" GapY="1" PropData="0852696368456469740AD70200007B5C727466315C616E73695C616E7369637067313235315C64656666305C6E6F7569636F6D7061745C6465666C616E67313034397B5C666F6E7474626C7B5C66305C666E696C5C66636861727365743230342054696D6573204E657720526F6D616E204359523B7D7D0D0A7B5C2A5C67656E657261746F722052696368656432302031302E302E31393034317D5C766965776B696E64345C756331200D0A5C706172645C71635C625C66305C667331325C2763345C2763655C2763615C2764335C2763635C2763355C2763645C276432205C2763665C2763655C2763345C2763665C2763385C2764315C2763305C276364205C2764645C2763625C2763355C2763615C2764325C2764305C2763655C2763645C2763645C2763655C276339205C2763665C2763655C2763345C2763665C2763385C2764315C2764635C2764655C62305C667331345C7061720D0A0D0A5C706172645C2764315C2765355C2766305C2766325C2765385C2766345C2765385C2765615C2765305C2766323A205B676574454453496E666F46726F6D446F63283C444F435F49443E2C27534E272C31295D5C7061720D0A5C2763325C2765625C2765305C2765345C2765355C2765625C2765355C2766363A205C62205B676574454453496E666F46726F6D446F63283C444F435F49443E2C275355524E414D45272C31295D205B676574454453496E666F46726F6D446F63283C444F435F49443E2C27474956454E5F4E414D45272C31295D5C62305C7061720D0A5C2763345C2765355C2765395C2766315C2766325C2765325C2765385C2766325C2765355C2765625C2765355C276564205C276631205C62205B676574454453496E666F46726F6D446F63283C444F435F49443E2C27444154455F46524F4D272C31295D5C623020205C2765665C276565205C62205B676574454453496E666F46726F6D446F63283C444F435F49443E2C27444154455F544F272C31295D5C62305C7061720D0A7D0D0A00"/>
Код 1  – MasterData с одним подписантом
#FR3 clipboard#
<TfrxMasterData Name="EDS1" FillType="ftBrush" FillGap.Top="0" FillGap.Left="0" FillGap.Bottom="0" FillGap.Right="0" Frame.Typ="0" Height="60,47248" Left="0" Top="0" Width="680,3154" ColumnWidth="0" ColumnGap="0" RowCount="1" Stretched="True"/><TfrxMemoView Name="Memo0000" AllowVectorExport="True" Left="0" Top="11,33859" Width="207,87415" Height="49,13386559" StretchMode="smMaxHeight" Font.Charset="1" Font.Color="-16777208" Font.Height="-16" Font.Name="Times New Roman" Font.Style="0" Frame.Typ="0" ParentFont="False" VAlign="vaBottom" Text="[IIF(Length(getEDSInfoFromDoc(&#60;DOC_ID&#62;,'SN',1))&#62;0,getEDSInfoFromDoc(&#60;DOC_ID&#62;,'DOLGNOST',1),&#60;DOLGNOST&#62;)]"/><TfrxMemoView Name="Memo0001" AllowVectorExport="True" Left="457,32313" Top="11,33859" Width="222,99227" Height="49,13386559" StretchMode="smMaxHeight" Font.Charset="1" Font.Color="-16777208" Font.Height="-16" Font.Name="Times New Roman" Font.Style="0" Frame.Typ="0" HAlign="haRight" ParentFont="False" VAlign="vaBottom" Text="[IIF(Length(getEDSInfoFromDoc(&#60;DOC_ID&#62;,'SN',1))&#62;0,getEDSInfoFromDoc(&#60;DOC_ID&#62;,'MEDPERSONAL',1),&#60;MEDPERSONAL&#62;)]"/><TfrxMemoView Name="Memo0002" AllowVectorExport="True" Left="207,87415" Top="60,47245559" Width="245,66945" Height="0" Font.Charset="1" Font.Color="-16777208" Font.Height="-16" Font.Name="Times New Roman" Font.Style="0" Frame.Typ="4" ParentFont="False" VAlign="vaCenter" Text=""/><TfrxRichView Name="Podpis1" AllowVectorExport="True" Left="207,87415" Top="11,33859" Width="245,66945" Height="49,13389" Visible="False" StretchMode="smActualHeight" Frame.Typ="15" GapX="2" GapY="1" PropData="0852696368456469740AD70200007B5C727466315C616E73695C616E7369637067313235315C64656666305C6E6F7569636F6D7061745C6465666C616E67313034397B5C666F6E7474626C7B5C66305C666E696C5C66636861727365743230342054696D6573204E657720526F6D616E204359523B7D7D0D0A7B5C2A5C67656E657261746F722052696368656432302031302E302E31393034317D5C766965776B696E64345C756331200D0A5C706172645C71635C625C66305C667331325C2763345C2763655C2763615C2764335C2763635C2763355C2763645C276432205C2763665C2763655C2763345C2763665C2763385C2764315C2763305C276364205C2764645C2763625C2763355C2763615C2764325C2764305C2763655C2763645C2763645C2763655C276339205C2763665C2763655C2763345C2763665C2763385C2764315C2764635C2764655C62305C667331345C7061720D0A0D0A5C706172645C2764315C2765355C2766305C2766325C2765385C2766345C2765385C2765615C2765305C2766323A205B676574454453496E666F46726F6D446F63283C444F435F49443E2C27534E272C31295D5C7061720D0A5C2763325C2765625C2765305C2765345C2765355C2765625C2765355C2766363A205C62205B676574454453496E666F46726F6D446F63283C444F435F49443E2C275355524E414D45272C31295D205B676574454453496E666F46726F6D446F63283C444F435F49443E2C27474956454E5F4E414D45272C31295D5C62305C7061720D0A5C2763345C2765355C2765395C2766315C2766325C2765325C2765385C2766325C2765355C2765625C2765355C276564205C276631205C62205B676574454453496E666F46726F6D446F63283C444F435F49443E2C27444154455F46524F4D272C31295D5C623020205C2765665C276565205C62205B676574454453496E666F46726F6D446F63283C444F435F49443E2C27444154455F544F272C31295D5C62305C7061720D0A7D0D0A00"/><TfrxMasterData Name="EDS2" FillType="ftBrush" FillGap.Top="0" FillGap.Left="0" FillGap.Bottom="0" FillGap.Right="0" Frame.Typ="0" Height="60,47248" Left="0" Top="83,14966" Width="680,3154" ColumnWidth="0" ColumnGap="0" RowCount="1" Stretched="True"/><TfrxMemoView Name="Memo0008" AllowVectorExport="True" Left="0" Top="94,48825" Width="207,87415" Height="49,13386559" Font.Charset="1" Font.Color="-16777208" Font.Height="-16" Font.Name="Times New Roman" Font.Style="0" Frame.Typ="0" ParentFont="False" VAlign="vaBottom" Text="Заведующий отделения"/><TfrxMemoView Name="Memo0009" AllowVectorExport="True" Left="457,32313" Top="94,48825" Width="222,99227" Height="49,13386559" Font.Charset="1" Font.Color="-16777208" Font.Height="-16" Font.Name="Times New Roman" Font.Style="0" Frame.Typ="0" HAlign="haRight" ParentFont="False" VAlign="vaBottom" Text="[getEDSInfoFromDoc(&#60;DOC_ID&#62;,'MEDPERSONAL_SHORT',2)]"/><TfrxMemoView Name="Memo0010" AllowVectorExport="True" Left="207,87415" Top="143,62214" Width="245,66945" Height="0" Font.Charset="1" Font.Color="-16777208" Font.Height="-16" Font.Name="Times New Roman" Font.Style="0" Frame.Typ="4" ParentFont="False" VAlign="vaCenter" Text=""/><TfrxRichView Name="Podpis2" AllowVectorExport="True" Left="207,87415" Top="94,48825" Width="245,66945" Height="49,13389" Visible="False" StretchMode="smActualHeight" Frame.Typ="15" GapX="2" GapY="1" PropData="0852696368456469740A230300007B5C727466315C616E73695C616E7369637067313235315C64656666305C6E6F7569636F6D7061745C6465666C616E67313034397B5C666F6E7474626C7B5C66305C666E696C5C66636861727365743230342054696D6573204E657720526F6D616E204359523B7D7B5C66315C666E696C5C6663686172736574323034205461686F6D613B7D7D0D0A7B5C636F6C6F7274626C203B5C726564305C677265656E305C626C7565303B7D0D0A7B5C2A5C67656E657261746F722052696368656432302031302E302E31393034317D5C766965776B696E64345C756331200D0A5C706172645C71635C625C66305C667331325C2763345C2763655C2763615C2764335C2763635C2763355C2763645C276432205C2763665C2763655C2763345C2763665C2763385C2764315C2763305C276364205C2764645C2763625C2763355C2763615C2764325C2764305C2763655C2763645C2763645C2763655C276339205C2763665C2763655C2763345C2763665C2763385C2764315C2764635C2764655C62305C667331345C7061720D0A0D0A5C706172645C2764315C2765355C2766305C2766325C2765385C2766345C2765385C2765615C2765305C2766323A205B676574454453496E666F46726F6D446F63283C444F435F49443E2C27534E272C32295D5C7061720D0A5C2763325C2765625C2765305C2765345C2765355C2765625C2765355C2766363A205C62205B676574454453496E666F46726F6D446F63283C444F435F49443E2C275355524E414D45272C32295D205B676574454453496E666F46726F6D446F63283C444F435F49443E2C27474956454E5F4E414D45272C32295D5C62305C7061720D0A5C2763345C2765355C2765395C2766315C2766325C2765325C2765385C2766325C2765355C2765625C2765355C276564205C276631205C62205B676574454453496E666F46726F6D446F63283C444F435F49443E2C27444154455F46524F4D272C32295D5C623020205C2765665C276565205C62205B676574454453496E666F46726F6D446F63283C444F435F49443E2C27444154455F544F272C32295D5C6366315C62305C66315C667331365C7061720D0A7D0D0A00"/>
Код 2  – MasterData с двумя подписантами
изображение.pngРисунок 2 – Пример результата настройки для одной подписи ЭЦП

изображение.pngРисунок 3 – Пример результата настройки для двух подписей ЭЦП

После добавления макета подписей, данную форму обязательно надо донастроить. Для этого нужно перейти на вкладку "Код" и скопировать в неё соответствующий код от выбранного числа подписантов. Если выбрана визуализация подписи Врача, то скопировать (код 3), если выбрана визуализация Врача и Зав. отделения, то скопировать (код 4). Примеры результатов приведены на (рисунок 4) и (рисунок 5).

var sn1 :string; 
begin 
  sn1 := getEDSInfoFromDoc(<DOC_ID>,'SN',1); 
  if Length(sn1) then Podpis1.visible:=true; 
end.
Код 3  – Визуализация одной ЭЦП
var sn1,sn2 :string;
begin  
  sn1 := getEDSInfoFromDoc(<DOC_ID>,'SN',1);
  sn2 := getEDSInfoFromDoc(<DOC_ID>,'SN',2);      
  begin
    if Length(sn1) then Podpis1.visible:=true;        
    if Length(sn2) then Podpis2.visible:=true;  
  end; 
end.
Код 4  – Визуализация двух ЭЦП
image.png
Рисунок 4 – Код для одной ЭЦП
image.png
Рисунок 5 – Код для двух ЭЦП

Внимание! Исспользование кода 1 и 2 без исспользования кода 3 и 4, не дадут желаемого результат. Для визуализации ЭЦП необходимо использовать их в связке.

Если все настроенно верно, то после подписания осмотра, ЭЦП будет визуализироваться при  распечатке. Иначе на месте "штампа" будет прочерк для проставления "живой" подписи (рисунок 6).

image.pngРисунок 6 – Пример подписанного документа с настроенной визуализацией двух ЭЦП

Настройка логотипа учреждения

Для отображения логотипов, необходимо сделать ряд настроек:

После данных настроек, в случаи если ЛПУ по какой-либо причине изменит свой логотип, будет достаточно изменить его в настройках ЛПУ, во всех остальных документах настроенных подобным образом, логотип подмениться автоматически.