Информация |
---|
Добавление нового каталога (папки) |
Данная команда позволяет добавить новый каталог в дерево каталогов программы, который будет содержать какой-либо список с предустановленным фильтром.
Например, если нам нужно в каталог “Статистика”-“Амбулаторные карты” поместить ещё два каталога “Мужчины” и “Женщины”, двойной щелчок по которым будет открывать либо список амбулаторных карт мужчин, либо женщин.
Чтобы это сделать нужно заполнить форму:
Выбираем команду «Связанный список»«Связанный список».
Указываем «Наименование»«Наименование». Вводим наименование каталога, так как мы хотим добавить новый каталог в подветку “Амбулаторные карты” ветки “Статистика”“Амбулаторные карты” ветки “Статистика”, то поле “Наименование” “Наименование” будет следующим: Статистика/Амбулаторные карты/Мужчины.
В поле “Отображать “Отображать на сущности” сущности” вводим MENU_COMMAND.
В поле “Сущность действия” выбираем сущность “Амбулаторная карта” “Амбулаторная карта” – AMBULANCE_CARD.
...
5. Фильтр, для данного примера, будет следующий:
...
Данный фильтр построен для конкретной организации. Для всех организаций он будет выглядеть так:
...
6. На вкладке “Доступ” нужно выбрать роли, для пользователей которых будут отображаться эти каталоги. Если роли не выбрать, данный каталог не будет виден никому.
...
7. Остальные поля оставляем без изменений и жмем сохранить
...
. После этого выходим из программы, заново входим и видим, что каталог появился:
...
Для того, чтобы таким же образом сделать другие списки, можно действовать по аналогии, только вместо AMBULANCE_CARD нужно выбирать ту сущность, которая вам необходима.
...
Информация |
---|
Добавление ссылки с одной сущности на другую |
Данная команда позволяет добавить к записи ссылку на другую сущность.
...
Чтобы это сделать нужно заполнить форму:
Выбираем команду «Связанный список».
Указываем «Наименование». Пишем “ Льготные рецепты ”
В поле “Отображать на сущности” выбираем сущность “Амбулаторная карта” - AMBULANCE_CARD.
В поле “Сущность действия” выбираем сущность “ Льготный рецепт ” – RECIPE.
...
5. Прописываем в фильтре связку по идентификатору и добавляем в параметрах по кнопке «Добавить» «Добавить» запись, где указываем ID:
...
6. На вкладке “Доступ” “Доступ” нужно выбрать роли, для пользователей которых будет отображаться эта ссылка. Если роли не выбрать, ссылка не будет видна никому.
...
7.Остальные поля оставляем без изменений и жмем сохранить
...
.
. Перезаходить в клиент не нужно.
Пройдем в каталог «Статистика» - «Амбулаторные карты».
При вызове контекстного меню видно, что появилась новая запись «Связанный список» - «Льготные рецепты»«Льготные рецепты»:
...
При выборе этой записи откроется окно со списком льготных рецептов:
...
При необходимости в фильтре связанного списка можно указать дополнительные параметры отбора.
...
Данная команда позволяет добавить отчет (форму) на любую форму или каталог.
На форме такие отчеты отображаются так:
...
Чтобы добавить на форму такой отчет нужно:
Выбрать команду «Отчет»;
Заполнить поле «Наименование»;
Поле «Отображать на сущности» - AMBULANCE_CARD. «Сущность действия» заполнится автоматически той же сущностью.
Прикрепить шаблон отчета по кнопке «Установить».
...
Шаблон содержит инструкции генератора отчетов GEst. Набором представленных в шаблоне инструкций определяется какие атрибуты и коллекции объектов попадут в отчет1.
...
На вкладке “Доступ” нужно выбрать роли, для пользователей которых будут отображаться этот отчет. Если роли не выбрать, отчет не будет виден никому.
...
Помимо формирования на форме, отчет можно запустить, щелкнув по записи в списке:
...
Или выделив запись и выбрав кнопку на панели списка:
...
Чтобы сформировать отчет по нескольким пациентам, нужно выделить их и запустить отчет:
...
...
Данная команда позволяет на списке открывать форму сущности, связанной с сущностью списка. Либо если на сущности есть несколько форм, которые открываются под разными контекстами, то можно вывести через эту команду такую форму.
...
Создадим возможность открывать форму случая с записи услуг по случаю обращения в пакете реестра счетов.
Выбираем команду «Открыть форму».
Указываем «Наименование». Пишем “Открыть форму случая”.
В поле “Отображать на сущности” выбираем сущность “Реестр услуг 16 (Татарстан)” – SCHET_USL_116.
В поле “С контекстом” указываем “correction”.
В поле “Сущность действия” выбираем сущность “Реестр сведения о случае” – SCHET_SLUCH.
В поле “Контекст” указываем “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
Создадим доп. команду:
Выбираем команду «Действие»;
Указываем «Наименование» - “ Отправить еще раз”;
В поле “Отображать на сущности” выбираем сущность - RABBIT_SEND_OBJECT;
В поле “С контекстом” указываем “ *” – что означает для всех контекстов;
...
Указываем название хранимой процедуры и добавляем параметр, где вытаскиваем идентификатор объекта:
...
На вкладке “Доступ” нужно выбрать роли, для пользователей которых будет отображаться это действие:
...
Все сохраняем
...
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 вид:
...
Данное расширение позволяет добавлять возможность редактирования форм в дополнительном окне.
Например, в РДС, после создания направления редактировать его нельзя. Добавим возможность редактировать дату плановой госпитализации, вывеем это поле на отдельную форму.
Создаем доп. команду:
Выбираем команду «Редактировать».
Указываем «Наименование». Пишем “ Дата плановой госпитализации”.
В поле “Отображать на сущности” выбираем сущность “Направления на госпитализацию – HOSPITALIZATION_REFERRAL.
В поле “С контекстом” указываем новый контекст “ EditPlanDate”.
...
На вкладке “Доступ” нужно выбрать роли, для пользователей которых будет отображаться эта форма:
...
Остальные поля оставляем без изменений и жмем сохранить
...
. Перезаходить в клиент не нужно.
Если на данном этапе зайти в направление и нажать «редактировать» выйдет пустая форма:
...
Теперь зайдем в каталог «Администрирование/Расширения пользовательских форм3».
Создадим новую запись:
...
На открывшейся форме укажем:
Отображать на сущности - HOSPITALIZATION_REFERRAL;
С контекстом “ EditPlanDate”;
Наименование вкладки «Редактировать»;
...
По кнопке «Добавить» добавим атрибут, который будем редактировать:
...
Внизу формы предзаполнятся данные.
В поле «Редактирование» укажем «Разрешено»:
...
На вкладке “Доступ” нужно выбрать роли, для пользователей которых будет отображаться эта форма:
...
Все сохраняем
...
Заходим в направление и нажимаем на «Редактировать» - «Дата плановой госпитализации»:
...
Откроется форма, где дата доступна для редактирования:
...
Функционал «Расширение пользовательских форм» отработает и без доп. команды, но атрибут будет выведен на отдельную вкладку в основной форме4.
...
Позволяет добавить на модальную форму кнопки «Сохранить» и «Обновить».
Например, форма листов нетрудоспособности таких кнопок изначально не имеет. Поэтому если нужно скорректировать готовый лист, чтобы изменения вступили в силу, нужно его закрыть и открыть заново:
...
Создадим следующую доп. команду:
Выбираем команду «Команды модальной формы»;
Указываем «Наименование». Пусть будет наименование формы - “ Save&Refresh”;
В поле “Отображать на сущности” выбираем сущность - MEDICAL_CERTIFICATE;
В поле “С контекстом” указываем “ *” – что означает для всех контекстов;
...
В разделе «Подключенные команды» нажимаем на «Добавить»:
...
Добавляется строка, и становится активным поле «Наименование». Пишем «Save» (сохранить). Поле описание предзаполнится:
...
И добавляем вторую команду по кнопке «Добавить». Набираем «Refresh» (обновить):
...
На вкладке “Доступ” нужно выбрать роли, для пользователей которых будет отображаться эти кнопки:
...
Все сохраняем
...
Заходим на форму:
...
Кнопки появились.
Помимо Save и Refresh есть еще две команды:
GetQueryCSharpCode - кнопка получения кода C# по списку, и GetQuerySQLCode - кнопка получения SQL-скрипта.
Данные кнопки будут оставаться на форме списка постоянно, в отличии от дебаг-режима, включающегося по нажатию комбинации клавиш Shift+Ctrl+Alt+F9 (В общем функция для ленивых )
История модификации документа
...
Версия
...
Дата
...
Редакция/Изменения
...
Комментарии
...
04.03.2019
...
Назарычева А. А.
1 Подробнее в инструкции “Управляющие инструкции».
2 Все примеры есть на сервере Rock
3 Подробнее в инструкции “Расширение пользовательских форм».
4 Подробнее в инструкции «Расширение пользовательских форм».