Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

Версия 1 Текущий »

Добавление нового каталога (папки)

Данная команда позволяет добавить новый каталог в дерево каталогов программы, который будет содержать какой-либо список с предустановленным фильтром.

Например, если нам нужно в каталог “Статистика”-“Амбулаторные карты” поместить ещё два каталога “Мужчины” и “Женщины”, двойной щелчок по которым будет открывать либо список амбулаторных карт мужчин, либо женщин.

Чтобы это сделать нужно заполнить форму:

  1. Выбираем команду «Связанный список».

  2. Указываем «Наименование». Вводим наименование каталога, так как мы хотим добавить новый каталог в подветку “Амбулаторные карты” ветки “Статистика”, то поле “Наименование” будет следующим: Статистика/Амбулаторные карты/Мужчины.

  3. В поле “Отображать на сущности” вводим MENU_COMMAND.

  4. В поле “Сущность действия” выбираем сущность “Амбулаторная карта” – AMBULANCE_CARD.

Фильтр, для данного примера, будет следующий:

Данный фильтр построен для конкретной организации. Для всех организаций он будет выглядеть так:

На вкладке “Доступ” нужно выбрать роли, для пользователей которых будут отображаться эти каталоги. Если роли не выбрать, данный каталог не будет виден никому.

Остальные поля оставляем без изменений и жмем сохранить

. После этого выходим из программы, заново входим и видим, что каталог появился:

Для добавления каталога “Женщины” нужно проделать то же самое, т.е. добавить новую дополнительную команду пользовательского интерфейса, только поле “Наименование” нужно внести: Статистика/Амбулаторные карты/Женщины, а в фильтре атрибут “Пол” указать “женский”, в остальном по аналогии с каталогом “Мужчины”.

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

Добавление ссылки с одной сущности на другую

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

Например, добавим на сущность “Амбулаторная карта” ссылку на льготные рецепты. Т.е. можно будет посмотреть все рецепты, выписанные для конкретного пациента.

Чтобы это сделать нужно заполнить форму:

  1. Выбираем команду «Связанный список».

  2. Указываем «Наименование». Пишем “ Льготные рецепты ”

  3. В поле “Отображать на сущности” выбираем сущность “Амбулаторная карта” - AMBULANCE_CARD.

  4. В поле “Сущность действия” выбираем сущность “ Льготный рецепт ” – RECIPE.

Прописываем в фильтре связку по идентификатору и добавляем в параметрах по кнопке «Добавить» запись, где указываем ID:

На вкладке “Доступ” нужно выбрать роли, для пользователей которых будет отображаться эта ссылка. Если роли не выбрать, ссылка не будет видна никому.

Остальные поля оставляем без изменений и жмем сохранить

. Перезаходить в клиент не нужно.

Пройдем в каталог «Статистика» - «Амбулаторные карты».

При вызове контекстного меню видно, что появилась новая запись «Связанный список» - «Льготные рецепты»:

При выборе этой записи откроется окно со списком льготных рецептов:

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

Отчет

Данная команда позволяет добавить отчет (форму) на любую форму или каталог.

На форме такие отчеты отображаются так:

Чтобы добавить на форму такой отчет нужно:

  1. Выбрать команду «Отчет»;

  2. Заполнить поле «Наименование»;

  3. Поле «Отображать на сущности» - AMBULANCE_CARD. «Сущность действия» заполнится автоматически той же сущностью.

  4. Прикрепить шаблон отчета по кнопке «Установить».

Шаблон содержит инструкции генератора отчетов GEst. Набором представленных в шаблоне инструкций определяется какие атрибуты и коллекции объектов попадут в отчет1.

На вкладке “Доступ” нужно выбрать роли, для пользователей которых будут отображаться этот отчет. Если роли не выбрать, отчет не будет виден никому.

Помимо формирования на форме, отчет можно запустить, щелкнув по записи в списке:

Или выделив запись и выбрав кнопку на панели списка:

Чтобы сформировать отчет по нескольким пациентам, нужно выделить их и запустить отчет:

Открыть форму

Данная команда позволяет на списке открывать форму сущности, связанной с сущностью списка. Либо если на сущности есть несколько форм, которые открываются под разными контекстами, то можно вывести через эту команду такую форму.

Разные сущности

Создадим возможность открывать форму случая с записи услуг по случаю обращения в пакете реестра счетов.

  1. Выбираем команду «Открыть форму».

  2. Указываем «Наименование». Пишем “Открыть форму случая”.

  3. В поле “Отображать на сущности” выбираем сущность “Реестр услуг 16 (Татарстан)” – SCHET_USL_116.

  4. В поле “С контекстом” указываем “correction”.

  5. В поле “Сущность действия” выбираем сущность “Реестр сведения о случае” – SCHET_SLUCH.

  6. В поле “Контекст” указываем “correction”.

Прописываем в фильтре связку по идентификатору и добавляем в параметрах по кнопке «Добавить» запись, где указываем ID:

На вкладке “Доступ” нужно выбрать роли, для пользователей которых будет отображаться эта форма. Если роли не выбрать, форма не будет видна никому.

Остальные поля оставляем без изменений и жмем сохранить

. Перезаходить в клиент не нужно.

Зайдем в счет-реестр и «провалимся» в Услуги:

Одна сущность, разные контексты

Создается аналогично. Но в поле “Отображать на сущности” и “Сущность действия” указывается одна сущность. Контексты разные.

Например:

Фильтр и параметры в таком случае указывать не нужно.

Действие

Данная команда позволяет «прикрутить» к записи запуск хранимой процедуры.

1 пример2. Повторная отправка пакета из сущности RABBIT_SEND_OBJECT

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

USE [AKUZDB]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

=============================================

-- Author: Vitacore

-- Create date: 2015-12-24

-- Description: Переотправка раббит пакетов

=============================================

CREATE PROCEDURE [dbo].[spx_rabbitSendOBJ]

--ALTER /второй раз/

(

@ID uniqueidentifier

)

AS

BEGIN

SET NOCOUNT ON

update t set State=0

from [AKUZ].T_RABBIT_SEND_OBJECT t

where t.RabbitSendObjectID=@ID

END

Создадим доп. команду:

  1. Выбираем команду «Действие»;

  2. Указываем «Наименование» - “ Отправить еще раз”;

  3. В поле “Отображать на сущности” выбираем сущность - RABBIT_SEND_OBJECT;

  4. В поле “С контекстом” указываем “ *” – что означает для всех контекстов;

Указываем название хранимой процедуры и добавляем параметр, где вытаскиваем идентификатор объекта:

На вкладке “Доступ” нужно выбрать роли, для пользователей которых будет отображаться это действие:

Все сохраняем

2 пример. Выгрузить содержимое пакета.

Пакеты, пришедшие по Rabbit-у и которые оказались ошибочными попадают в сущность RDS_SYNCHRONISATION_ERRORS. Бывает необходимость посмотреть исходный пакет, поэтому была создана такая доп. команда:

Хранимая процедура:

USE [AKUZDB]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

-- =============================================

-- Author: Vitacore (с)

-- Create date: 2015-07-29

-- Description: Получение содержимого пакета из ошибки синхронизации

-- =============================================

CREATE PROCEDURE [dbo].[sp_GetErrorPacket]

@ErrorID uniqueidentifier

,@xml varchar(max) out

AS

BEGIN

SET NOCOUNT ON;

select @xml = sr.TextContent

from [AKUZ].T_RDS_SYNCHRONISATION_ERRORS sr

where sr.RdsSynchronisationErrorsID = @ErrorID

END

Параметры, указанные в хранимой процедуре - @ErrorID и @xml, также добавляются в параметры на форму доп.команды:

В поле XSLT пишется код, на языке преобразования XML-документов. И он нужен для отображения формы.

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml" indent="yes" />

<xsl:template match="/">

<xmp>

<xsl:copy-of select="."/>

</xmp>

</xsl:template>

</xsl:stylesheet>

Зайдем на RDS_SYNCHRONISATION_ERRORS:

Откроется форма, с которой можно открыть файл или выгрузить его:

Пример 3. Расширенное отображение данных пациента.

Есть возможность, с помощью до команды (включающей в себя хранимую процедуру и xslt-преобразование) добавить на форму действие:

Которое выведет подобную форму, содержащую персональные данные пациента и всю историю его посещений, лабораторных исследований и т.д:

Чтобы вывести подобную форму строится хранимая процедура, которая «вытаскивает» все нужные данные:

Затем пишется XSLT-преобразование этого запроса в xml вид:

Редактировать

Данное расширение позволяет добавлять возможность редактирования форм в дополнительном окне.

Например, в РДС, после создания направления редактировать его нельзя. Добавим возможность редактировать дату плановой госпитализации, вывеем это поле на отдельную форму.

Создаем доп. команду:

  1. Выбираем команду «Редактировать».

  2. Указываем «Наименование». Пишем “ Дата плановой госпитализации”.

  3. В поле “Отображать на сущности” выбираем сущность “Направления на госпитализацию – HOSPITALIZATION_REFERRAL.

  4. В поле “С контекстом” указываем новый контекст “ EditPlanDate”.

На вкладке “Доступ” нужно выбрать роли, для пользователей которых будет отображаться эта форма:

Остальные поля оставляем без изменений и жмем сохранить

. Перезаходить в клиент не нужно.

Если на данном этапе зайти в направление и нажать «редактировать» выйдет пустая форма:

Теперь зайдем в каталог «Администрирование/Расширения пользовательских форм3».

Создадим новую запись:

На открывшейся форме укажем:

  1. Отображать на сущности - HOSPITALIZATION_REFERRAL;

  2. С контекстом “ EditPlanDate”;

  3. Наименование вкладки «Редактировать»;

По кнопке «Добавить» добавим атрибут, который будем редактировать:

Внизу формы предзаполнятся данные.

В поле «Редактирование» укажем «Разрешено»:

На вкладке “Доступ” нужно выбрать роли, для пользователей которых будет отображаться эта форма:

Все сохраняем

Заходим в направление и нажимаем на «Редактировать» - «Дата плановой госпитализации»:

Откроется форма, где дата доступна для редактирования:

Функционал «Расширение пользовательских форм» отработает и без доп. команды, но атрибут будет выведен на отдельную вкладку в основной форме4.

Команды модальной формы

Позволяет добавить на модальную форму кнопки «Сохранить» и «Обновить».

Например, форма листов нетрудоспособности таких кнопок изначально не имеет. Поэтому если нужно скорректировать готовый лист, чтобы изменения вступили в силу, нужно его закрыть и открыть заново:

Создадим следующую доп. команду:

  1. Выбираем команду «Команды модальной формы»;

  2. Указываем «Наименование». Пусть будет наименование формы - “ Save&Refresh”;

  3. В поле “Отображать на сущности” выбираем сущность - MEDICAL_CERTIFICATE;

  4. В поле “С контекстом” указываем “ *” – что означает для всех контекстов;

В разделе «Подключенные команды» нажимаем на «Добавить»:

Добавляется строка, и становится активным поле «Наименование». Пишем «Save» (сохранить). Поле описание предзаполнится:

И добавляем вторую команду по кнопке «Добавить». Набираем «Refresh» (обновить):

На вкладке “Доступ” нужно выбрать роли, для пользователей которых будет отображаться эти кнопки:

Все сохраняем

Заходим на форму:

Кнопки появились.

Помимо Save и Refresh есть еще две команды:

GetQueryCSharpCode - кнопка получения кода C# по списку, и GetQuerySQLCode - кнопка получения SQL-скрипта.

Данные кнопки будут оставаться на форме списка постоянно, в отличии от дебаг-режима, включающегося по нажатию комбинации клавиш Shift+Ctrl+Alt+F9 (В общем функция для ленивых )

История модификации документа

Версия

Дата

Редакция/Изменения

Комментарии

04.03.2019

Назарычева А. А.

1 Подробнее в инструкции “Управляющие инструкции».

2 Все примеры есть на сервере Rock

3 Подробнее в инструкции “Расширение пользовательских форм».

4 Подробнее в инструкции «Расширение пользовательских форм».

  • Нет меток