Первые шаги в системе#
Как войти в программу?#
Откройте браузер. Рекомендуем использовать Google Chrome.
В адресной строке браузера нужно ввести адрес сайта, например: https://demo-ecm.lexema.ru/
Либо перейдите по ссылке, которая указана в письме о регистрации в системе на вашей почте.
После перехода на сайт необходимо пройти авторизацию с помощью логина и пароля, выданных системным администратором.
После прохождения авторизации откроется «Стартовая страница».
Получение электронной подписи#
Для получения электронной подписи необходимо в окне «Документооборот» (1) перейти на вкладку «Электронные подписи» (2) и нажать на кнопку «Выпустить сертификат электронной подписи» (3).
Поочерёдно появятся уведомления, сообщающие о произведённых действиях и событиях в системе:
- Сертификат создан;
- Создана заявка на выдачу сертификата;
- Создано заявление;
- Создана расписка;
- Сертификат готов к использованию.
В столбцах «Заявление» и «Расписка» содержатся гиперссылки на автоматически генерируемые печатные формы заявления на выдачу и расписки в получении электронной подписи.
Необходимо распечатать заявление на выдачу и расписку в получении сертификата, подписать и отнести в отдел кадров.
Как создать заявление?#
В меню выбрать пункт «Создать заявление».
Либо перейти в Меню, выбрать «Кадровый документооборот» => «Заявления от сотрудников» => кликнуть по иконке «Создать».
В новом документе необходимо выбрать «Подтип документа» из выпадающего списка, например, «Заявление на ежегодный отпуск»:
заполнить «Реквизиты документа»:
нажать на кнопку «Заполнить шаблон». После этого правая часть заявления автоматически сформируется:
для отправки заявления на подписание в левом верхнем углу необходимо нажать на кнопку «Подписать ЭП».
В появившемся окне «Отправить документ далее по маршруту» нажать на кнопку «ОК».
Как ознакомиться с должностными инструкциями, политиками организации и т.д.?#
Все нормативные документы организации будут поступать в ваш личный кабинет и по ним будет требоваться действие «Подтвердить ознакомление». Для ознакомления с локально-нормативным документом в окне документооборота на вкладке «На обработку» необходимо выбрать локально-нормативный документ для ознакомления и кликнуть по его названию.
Производить ознакомление с текстом документа, а также с вложениями можно как через окно «Предпросмотр вложений», так и через кнопку «Вложения» в панели инструментов.
Подтвердить ознакомление с ЛНД можно с помощью соответствующих кнопок:
Ознакомление с документом на подписание#
Для ознакомления с документом на подписание в окне документооборота на вкладке «На обработку» необходимо выбрать требуемый документ и кликнуть по его названию.
Производить ознакомление с текстом документа, а также с вложениями можно как через окно «Предпросмотр вложений», так и через кнопку «Вложения» в панели инструментов.
Для подписания документа нужно нажать на кнопку «Подписать ЭП».
В появившемся окне «Отправить документ далее по маршруту» нажать на кнопку «ОК».
Личный кабинет#
Персональные данные, а также все свои документы можно посмотреть в форме «Личный кабинет». В меню необходимо выбрать «Личный кабинет».
На данной форме отображаются ваши персональные данные, все заявления и локально-нормативные акты, с которыми требовалось ознакомление.
1
2
Инструкция пользователя
Lexema-RPA Client
3
СОДЕРЖАНИЕ Введение ………………………………………………………………………………………………………………… 4
Установка программы ……………………………………………………………………………………………… 4
Запуск и использование программы ………………………………………………………………………… 8
Конфигурирование программы ……………………………………………………………………………… 10
Автозапуск Lexema-RPA Client ………………………………………………………………………………. 12
4
Введение
Руководство предназначено для людей, которые уже знакомы с программой Lexema-
RPA Studio и хотят использовать все предоставленные ею возможности, а именно,
использование возможностей оркестратора роботов1 в студии.
Назначение программы
Программа Lexema-RPA Client предназначена для запуска составленных пользователем
задач в оркестраторе. Программа работает в фоновом режиме, ожидая начала новой задачи.
По наступлению необходимого времени, запускается задача-робот без открытия самой
Lexema-RPA Studio.
Установка программы
Скачать установщик программы можно по ссылке http://lexema.ru/solutions/lexema-rpa-
programmnye-roboty/lexema-rpa-studio/. После запуска установщика появится стандартное
окно установки программы. В первом окне установщика вам необходимо указать
актуальный путь до программы Lexema-RPA Studio, так как именно через неё будут
запускаться роботы. Изначально строка заполнена путем установки Lexema-RPA Studio по
умолчанию, если вы не выбирали специфичную папку при её установке, то здесь ничего
менять не нужно.
Рисунок 1. Путь до Lexema-RPA Studio
1 Оркестратор роботов — сервис запуска роботов по составленному расписанию и событиям.
5
По нажатию кнопки «Next» открывается следующее окно, предлагающее выбрать папку
для установки Lexema-RPA Client. По умолчанию установлена та же директория, которая
предлагается и для установки студии.
Рисунок 2. Директория установки Lexema-RPA Client
В следующем окне установки предлагается выбрать название для папки, которая будет
создана в меню «Пуск» с программой Lexema-RPA Client.
Рисунок 3. Название папки в меню «Пуск»
6
Далее предлагается добавить ярлык программы на рабочий стол.
Рисунок 4. Создание ярлыка на рабочем столе
После установки флажка в нужное положение, необходимо нажать кнопку «Next».
Затем, в следующем окне, нажмите «Install».
Рисунок 5. Подтверждение выборов в процессе установки
7
По завершению установки будет предложено открыть Lexema-RPA Client. Для выхода
из программы-установщика нажмите «Finish».
Рисунок 6. Открытие программы по завершению установки
Программа успешно установлена на ваш компьютер!
8
Запуск и использование программы
Для запуска программы необходимо открыть приложение Lexema-RPA Client.
Рисунок 7. Иконка программы на рабочем столе
После запуска программы в области уведомлений компьютера (в Windows — правая
нижняя часть окна, около времени и смены языка) появится иконка Lexema-RPA.
Рисунок 8. Область уведомлений компьютера – иконка Lexema-RPA Client
По нажатию по этой иконке правой кнопкой мыши появится список возможных
действий программы.
Рисунок 9. Контекстное меню программы Lexema-RPA Client
Первая строка контекстного меню показывает текущую версию Lexema-RPA Client,
вторая — логин текущего авторизованного пользователя. При первом входе в программу
проходит автоматическая авторизация пользователя, который запомнен в программе Lexema-
RPA Studio (если на этапе авторизации в студию установлен флажок «Запомнить меня»).
9
По нажатию кнопки меню «Старт» программа сменит состояние на «активное», а
именно просматривает все задачи, добавленные текущим пользователем в оркестратор, и
запускает их в назначенное им время. Программа выполняет задачи до тех пор, пока
пользователь не нажмет «Стоп» (не переведет программу в пассивное состояние) в этом же
меню (появляется на месте кнопки «Старт», если программа в активном состоянии),
«Выйти» или пока включен компьютер.
Кнопка меню «Запуск робота» позволяет запустить одного из опубликованных
пользователем роботов.
Для изменения текущего пользователя необходимо нажать «Сменить пользователя».
Рисунок 10. Окно смены пользователя
По кнопке «Войти» программа авторизуется через введенного пользователя и при
старте её работы будет выполнять задачи этого пользователя.
Кнопка «Выйти» закрывает программу и прекращает её работу, если она была в
активном режиме.
По кнопке «Оставить активную RDP сессию» можно оставлять работать роботов на
удалённом рабочем столе, не держа его при этом открытым, для этого необходимо запустить
Lexema-RPA Client на удалённом рабочем столе, нажать «Старт» и выйти с него не
стандартными методами, а по этой кнопке в клиенте. Удалённый рабочий стол закроется, но
работа роботов не прекратится.
10
Конфигурирование программы
Lexema-RPA Client имеет ряд настроек, которые установлены по умолчанию, но в
некоторых случаях их необходимо изменять. Эти настройки находятся в папке с
установленной программой в файле «Lexema-RPA Client wpf.exe.config», который можно
открыть с помощью Блокнота.
Настройки, которые там содержатся – сервер оркестратора, логин и пароль
пользователя, которые можно изменить как из самой программы, так и задать в конфиге, и
путь до Lexema-RPA Studio. То есть, если вы, например, перенесли основную программу
(студию) в другую папку, то нет необходимости переустанавливать клиента для установки
нового пути до студии, достаточно изменить путь в файле конфигурации.
Все настройки находятся в блоке appSettings:
Рисунок 11. Файл конфигурации программы
Описание полей, доступных для редактирования:
1) server – адрес сервера оркестратора, необходимо менять который только на
предприятиях со своим сервером;
2) useNoClicker – флаг, отвечающий за одновременную работу нескольких роботов –
если роботы не используют кликерные модули и в рамках вашей задачи допускается
их параллельный запуск, то этот флаг устанавливается в значение «true», иначе –
11
«false». Если в роботе используются кликерные модули, но вы установили значение
«true», программа всё равно не позволит выполнить роботов параллельно.
3) studioPath – путь до установленной Lexema-RPA Studio, через которую будут
работать роботы.
12
Автозапуск Lexema-RPA Client
Добавить программу в автозапуск или в планировщик задач не составит труда
уверенному пользователю компьютера, однако недостаточно одного запуска программы, так
как работать Lexema-RPA Client начинает только после нажатия пункта контекстного меню
«Старт». Для запуска программы сразу в активном режиме необходимо вызывать её с
аргументом «-start». Далее рассмотрим несколько способов применения этой возможности.
1. Изменение ярлыка программы для её запуска в активном состоянии
Для того, чтобы запускать программу по ярлыку сразу в активном состоянии,
необходимо изменить этот ярлык.
Откройте «Свойства» ярлыка (2), которые доступны при нажатии правой кнопкой
мыши по ярлыку (1) – выберите вкладку «Ярлык» (3) и в поле «Объект» добавьте текст «-
start» (4).
Рисунок 12. Изменение свойств ярлыка для запуска программы с нажатой кнопкой «Старт»
Теперь при нажатии по этому ярлыку программа сразу будет запускаться с нажатой
кнопкой «Старт». Этот ярлык можно использовать для автозагрузки приложения при
включении компьютера (добавлением этого ярлыка в папку «Автозагрузка»).
13
2. Добавление задачи в «Планировщик заданий» для запуска программы при
включении компьютера в активном состоянии
Для того, чтобы Lexema-RPA Client запускалась вместе с включением компьютера и
начинала выполнять задачи, можно воспользоваться «Планировщиком заданий» Windows.
Для этого необходимо открыть сам планировщик заданий (найти его можно в поиске
приложений) и нажать «Создать простую задачу» в правой части приложения.
Рисунок 13. Планировщик заданий – Создать простую задачу
После нажатия на «Создать простую задачу» появится окно с настройками задачи. Для
начала необходимо заполнить название задачи и, по желанию, её описание.
Рисунок 14. Название и описание задания
14
По кнопке «Далее» откроется следующий пункт настроек – «Триггер». Здесь
необходимо выбрать нужное нам событие, по которому должна запускаться задача. В данном
случае рассматриваем событие «При входе в Windows». После выбора нажимаем «Далее».
Рисунок 15. Выбор триггера задачи
Следующая настройка – выбор действия для задачи. В нашем случае это запуск
программы Lexema-RPA Client, поэтому выбираем «Запустить программу».
Рисунок 16. Выбор действия
15
После выбора действия необходимо ввести путь до запускаемой программы и
аргументы для её запуска. В поле «Программа или сценарий» вводим (или выбираем по
кнопке «Обзор») путь до Lexema-RPA Client, а в поле «Добавить аргументы» вводим «-start».
Рисунок 17. Выбор программы для запуска
По кнопке «Далее» откроется заключительная настройка задания – проверка введенных
данных. Для завершения настройки задачи необходимо добавить еще один флажок, который
можно найти в свойствах задачи, поэтому во время заключительного шага создания задачи
можно сразу установить галочку «Открыть свойства задачи». По нажатию кнопки «Готово»
задание добавится в список заданий Windows.
16
Рисунок 18. Заключительный этап создания задачи, открытие свойств
В открытых свойствах задачи необходимо установить флажок «Выполнить с
наивысшими правами». На этом настройка автозапуска программы завершена, по кнопке
«Ок» окно свойств закроется и изменения применятся.
Если необходимо удалить или отредактировать задачу, её можно найти в списке
активных задач.
17
Рисунок 19. Задача «Автозапуск Lexema-RPA Client» в активных задачах
Для удаления задания необходимо нажать по нему в активных задачах два раза, после
чего откроется «Библиотека планировщика заданий». В правой части приложения появятся
возможные действия над заданием. Выбираем «Удалить». Если необходимо временное
отключение, то задачу можно просто отключить нажатием одноименной кнопки. Для
открытия свойств необходимо нажать «Свойства» в правой части экрана.
Рисунок 20. Удаление и свойства существующей задачи
Интерфейс пользователя
учета, в первую очередь, является рабочим местом людей и должна
содержать в себе достаточно функциональные
интерфейсные элементы управления. При этом оптимальным считается
отделение логики бизнес-объектов от их пользовательского представления.Lexema 7.0 решает задачу разделения интерфейса
путем определения бизнес-объекта как набора
данных для элементов управления. Под набором данных понимается некое
структурированное реляционное хранилище,
состоящее из таблиц и колонок, к данным которых можно осуществлять
привязку, т.е. организовывать канал «Элемент управления
<-> Данные». При таком подходе задачей
элемента управления в простейшем случае является осуществление ввода
значения в набор данных. В более сложных случаях
элементы управления выступают в роли предварительных обработчиков
данных. Как бы то ни было, все что касается предварительной обработки
или предоставления данных не является
бизнес-логикой, потому как начальной точкой бизнес-события, как мы уже
определили, является момент изменения данных, а
за изменение данных всегда отвечает непосредственно сам
бизнес-объект. Даже если событие изменение снаружи происходит через
элемент управления, фактически изменение
происходит на уровне бизнес-объекта.
Элементы управления для создания пользовательского интерфейса
содержатся в сборке
Lexema.Business.WinForms.dll. Сборка пользовательских интерфейсов в
свою очередь использует некоторые объекты из
сборки Lexema.Business.Design.dll. Как правило, основная организация
пользовательского интерфейса базируется на тандеме двух этих библиотек.
Главное окно приложения
Исторически
сложилось, что для пользователя любая программа начинается с главного
окна. Задачей таких окон является манипуляция
внутренними функциональными окнами и диалогами приложения.
Прежде чем приступить к рассмотрению элементов управления и способам
построения пользовательского интерфейса отметим
тот факт, что речь пойдет о, так называемом, стандартном
интерфейсе приложений Lexema 7.0. Важно понимать, что понятие
«стандарт» не отменяет возможности примения не
традиционных интерфейсных решений. «Стандарт» лишь подразумевает,
что существует достаточная библиотека классов различных окон и
элементов управления, с помощью которой в
достаточно быстрые сроки осуществляется разработка пользовательского
интерфейса. Само собой разумеется, что
использование таких классов приводит к общей стандартизации
пользовательского интерфейса всех решений. Тем не менее, еще раз
отметим, что в Lexema 7.0 в принципе не
существует ограничений по пользовательскому интерфейсу.
Класс LxBusinessWorkbench,
сборки Lexema.Business.WinForms.dll, пространства имени
Lexema.Business.WinForms является отправной точкой стандартного
интерфейса приложений, то есть является главным
окном приложения. Как уже было сказано, задачей главного окна является
манипулирование функциональными окнами приложения, поэтому рассмотрение
интерфейсов рациональнее начать именно с них.
Функциональные окна
Функциональным
окном считается специальное дочернее окно, способное встраиваться в
главное окно и корректно реагировать на события
и запросы системы.
Все функциональные окна приложения содержат в своей иерархии реализацию
интерфейса IlxCustomContent
Состав интерфейса ILxCustomContent
– View
– Указатель на окно. Только для чтения
– AttachMode
– Способ присоединения контент. Только для чтения
– Text –
Заголовок контента. Только для чтения
– RefreshContent()
— Метод обновления контента
Рассмотрим обращения к методам и свойствам интерфейса на схеме (Рисунок
1)
Рисунок 1
Свойство View
возвращает указатель на форму, которая должна быть присоединена как
дочернее окно. AttachMode конкретизирует, каким
образом окно должно быть присоединено: как скрываемая
панель к любому из ребер по периметру главного окна или как
документ,встраиваемый в центральное
пространство. Свойство Text определяет заголовок для окна. Метод
RefreshContent запускается системой в случае
требования обновления для контента.
В пространстве имени Lexema.Business.WinForms существует класс,
реализующий интерфейс ILxCustomContent
– LxCustomContent, являющийся отправной точкой во всей
иерархии дочерних окон.
Класс LxCustomContent не содержит иных открытых свойств, кроме как
свойств, требуемых для реализации интерфейсом
ILxCusomContent. Помимо реализации интерфейса класс содержит
внутреннее переопределяемое свойство с признаком «только для чтения»
CanClose, определяющее возможность закрытия
окна. Если свойство возвращает false, окно не может быть закрытым, после
его присоединения. Такая функциональность необходима некоторым
постоянным окнам, вроде окна дерева объектов
системы, являющееся навигационным меню по приложению. По умолчанию, не
переопределенное потомком свойство CanClose возвращает значение true.
Рассмотрим пример наследника класса LxCusomContent, запрещающего
собственное закрытие (Рисунок 2)
Рисунок 2
отметить тот факт, что способность к запрету на закрытие реализуется
непосредственно классом LxCustomContent. Именно
он использует значение свойства CanClose для определения
реакции при собственном закрытии.Потомки класса LxCustomContent являются полноценно
встраиваемыми в главное окно, однако их базовой
функциональности недостаточно, для того чтобы представлять интерфейсы
бизнес-объектов. Прямые потомки LxCustomContent
являются лишь функциональными окнами,
обеспечивающими интерфейсные особенности приложения. У функциональных
окон отсутствуют способности на реакции системы
к запросам сохранения, обновления, печати и так далее, что
необходимо при работе с окнами, связанными с данными бизнес-объектов.
Бизнес-контент
Бизнес-контент
– следующий уровень иерархии окон, базирующийся на интерфейсе
ILxBusinessContent ). В свою очередь интерфейс
ILxBusinessContent
является наследником интерфейса ILxCustomContent.
Состав интерфейса ILx
BusinessContent:
– OnViewCreated([код_объекта])
– выполняется при инициализации контента.
– IsDirty
– свойство, возвращающее true, если были изменены данные и
требуется сохранение
– CanSave
– свойство, отвечающее на вопрос способности выполнять
сохранение
– Save()
— метод сохранения
– CanCreateChilds
– свойство, определяющее возможность порождения контентом окон
– CreateChildContent()
— метод, возвращающий экземпляр порожденного контентом окна
– DeleteChildPosition()
— метод удаления позиции дочернего элемента
– EditChildPosition()
— метод редактирования дочерней позиции
– SupportContextSearch
– признак поддержки контекстного поиска
– GetContextSearcher()
— метод, возвращающий контекстный поисковик
– CanChangePeriod
– признак возможности смены активного периода
для контента
– ApplyNewPeriod([дата1],[дата2],[расчетная_дата])
– применение нового периода для контента
– AlternativePeriodDialog()
— метод возвращает альтернативный диалог смены периода
Для рассмотрения каждого из членов сгруппируем их по смыслу
Инициализация
– метод позволяет передать созданному экземпляру контента код
представляемого им бизнес-объекта. Так как для редактирования записей
одного типа объекта в большинстве случаев
используется один и тот же интерфейс, ему необходимо указать, какой
именно экземпляр объекта он призван
редактировать. Метод вызывается во всех без исключения случаях
после создания экземпляра бизнес-контента.
Сохранение
Данные соответствующего контенту бизнес-объекта должны
каким-то образом сохраняться. Для этого
бизнес-контент обязан предоставлять механизмы управления. Однако
достаточно часто, бизнес-контент может выступать
в роли визуального представления не редактируемых данных. Для
определения таких случаев служит свойство CanSave.
Задача свойства CanSave
проинформировать управляющие службы, возможно ли вызвать метод
сохранения для контента. Опираясь на данное свойство регулируется
доступность кнопок сохранения главного окна
приложения.Save –
метод вызывается при событии главного окна, требующего сохранения
данных контента. Генерация события с требованием
сохранения для активного контента возможна только в том случае,
если для этого контента свойство CanSave определено как true. Задача
контента, в реализации метода сохранения
взаимодействовать с собственными сохраняемыми бизнес-объектами.IsDirty
– признак, определяющий наличие не сохраненных изменений
данных бизнес-объектов, соответствующих
активному контенту. Признак используется при закрытии контента и
определяет необходимые для управляющих служб
действия.
Управление порождаемыми элементами
Данная функциональность полезна для контентов типа «реестр
объектов», различных коллекционных представлений
наборов данных. Для взаимодействия с такими контентами используется
группа специальных методов
CanCreateChilds
– определяет возможность создания контента, соответствующего
элементу собственной коллекции бизнес-объектов.
CreateChildContent
— Вызывается при срабатывании события «Создать новый элемент».
EditChildPosition
– вызывается при срабатывании события «Редактировать».
DeleteChildPosition
– вызывается при срабатывании события «Удалить»
Возможность событий данной группы всегда однозначно
определяет свойство CanCreateChilds.
Работа
с периодом
CanChangePeriod
– определяет возможность возникновения события с требованием
вызова диалога смены текущего активного периода
для бизнес-контента, представляющего данные.
По умолчанию для смены периода используется стандартный интерфейсный
диалог с возможность задать период в нескольких
видах. Однако данный диалог может быть переопределен. Управляющая
служба, перед вызовом диалога пытается получить альтернативное окно
выбора периода. Если альтернативы нет вызывается
стандартный диалог, в противном случае вызывается диалог,
определенный контентом. Однако диалог в этом случае должен
реализовывать интерфейс ILxChangePeriodDialog
(!).
Положительное завершение работы диалога провоцирует завершающий в
цепочке смены периода метод ApplyNewPeriod.
Задача метода перезагрузить коллекцию объектов контента в соответствии с
установленными значениями периода.
Контекстый поиск
Для каждого контента существует возможность определения
диалога контекстного поиска. Наличие такой
возможности для контента сигнализируется свойством SupportContextSearch.
При срабатывании события контекстного поиска
вызывается метод GetContextSeracher,
возвращающий поисковый механизм.
В завершении рассмотрим схему взаимодействия элементов интерфейса
главного окна с
определенными нами в группы
методами бизнес-контента (Рисунок 2)
Рисунок 2
Доступность кнопок определяет соответствующее группе сигнальное
свойство.
Разработка интерфейса
Реализация членов интерфейса ILxBusinessContent задача
достаточно трудоемкая, поэтому в пространстве
имен Lexema.Business.WinForms есть два базовых класса бизнес-контентов:
– LxExtendedBusinessContent (ранее
использовался LxBusinessContent)
– реализует контент для редактирования единичного экземпляра
объекта
– LxBusinessCollectionContent
– реализует контент для опрерирования плоским списком бизнес-объектов
Прежде чем приступать к рассмотрению каждого из контентов не лишним
будет взглянуть на иерархическую схему описанных
классов (Рисунок 3)
Рисунок 3
Классы согласно схеме наследуют друг-друга переопределяя
необходимую функциональность. В конечном счете
любой из классов может быть приведен к базовому интерфейсу
ILxCustomContent.
Главное окно оперирует двумя коллекциями окно – физической и
виртуальной. Физическая коллекция содержит в
себе все окна, приведенные к типу ILxCustomContent. Виртуальная
коллекция содержит фильтрованный по типу
ILxBusinessContent набор окон. В конечном счете, вся функциональность
рабочего интерфейса расчитана на виртуальную коллекцию бизнес-контентов.
Основные публичные свойства LxBusinessWorkbnech (главная форма)
– Постоянный глобальный указатель на экземпляр
главного окна Instance
– ActiveContent
– текущий активный бизнес-контент
– accessibleObjectsManager
– указатель на менеджер дерева навигации по объектам
приложения
– AttachedContents
– перечисление всех присоединенных дочерних окон
– AttachedBusinessContents
– перечисление присоединенных бизнес-контентов
Наиболее важным из приведенных свойств является свойство Instance,
доступное через синтаксис обращения к классу
LxBusinessWorkbench.Instace. Обращаться к свойству можно из любого
участка кода. Свойство всегда содержит в себе
указатель на экземпляр главного окна приложения текущей
сессии.Еще одним важным свойством является свойство accessibleObjectsManager.
Мы вернемся к нему когда будем рассматривать
построение навигационных деревьев по объектам приложения.
Перечисленные публичные свойства в купе с глобальным указателем на
экземпляр главного окна
позволяют динамически
манипулировать интерфейсом окон из любого участка кода.
Основные публичные метода LxBusinessWorkbench
– AttachContent(ILxCustomContent)
– присоединение экземпляра функционального
контента
– AttachContent(ILxBusinessContent)
– присоединение экземпляра бизнес-контента. По сути, метод
является сокращением от метода с передачей кода соответствующего
контенту бизнес-объекта. Кодом объекта является
-1, что, согласно описанию бизнес-объекта, является аналогичным
вызову New().
– AttachContent(ILxBusinessContent,
int rootCode) – присоединение экземпляра
бизнес-контента с передачей кода
соответсвтующего присоединяемому контенту бизнес-объекта
– AttachContent(Type)
– присоединение контента указанного типаНаличие четырех одноименных методов призваны
стандартизировать процесс присоединения
дочернего окна, делая его синтаксис одинаковым.
Настало время рассмотреть процесс создания собственных окон,
наследующихся от базовых реализаций интерфейса
ILxBusinessContent. Как уже было отмечено, существуют две
взаимосвязанные реализации – LxExtendedBusinessContent и
LxBusinessCollectionContent. Сборка
Lexema.Business.WinForms.dll поставляет с собой шаблоны наследования от
каждого из этих классов. Однако, прежде чем
принять решение, от которого из них необходимо отнаследоваться следует
разобраться в функциональных особенностях каждого из них.
LxExtendedBusinessContent
LxExtendedBusinessContent – реализация
бизнес-контента для редактирования единичного экземпляра бизнес-объекта.
Представлен шаблоном «Бизнес-контент с прокси».
Класс содержит одно наиболее важное свойство, позволяющее
минимизировать код взаимодействия с
бизнес-объектом — RootBusinessObject. Устанавливая в качестве значения
соответствующий контенту объект, находящийся на
форме контента, нет необходимости реализовывать методы
сохранения, обновления и восстановления данных.
Таблица реализации интерфейса ILxCustomContent для
LxExtendedBusinessContent
| View | Передает указатель на себя, как на форму |
| AttachMode | Document. Присоединение в центральное пространство окна |
| RefreshContent | Обновление элементов управления формы исходя из реальных значений бизнес-объекта через свойство RootBusinessObject |
Таблица реализации интерфейса ILxBusinessContent для LxExtendedBusinessContent
| OnViewCreated | Реализация взаимодействует со свойством RootBusinessObject, вызывая методы подготовки и последующего восстановления объекта с переданным в качестве агрумента для метода кодом |
| IsDirty | Реализован на основе анализа произошедших модификаций над RootBusinessObject |
| CanSave | true |
| Save | Реализация касается сохранения данных объекта по указателю из свойства RootBusinessObject |
| CanCreateChilds | false |
| CreateChildContent | Возвращает значение внутреннего переопр. метода CreateChild |
| EditChildPosition | Реализация отсутствует |
| DeleteChildPosition | Реализация отсутствует |
| SupportContextSearch | Реализация отсутствует |
| GetContextSearcher | Реализация отсутствует |
| CanChangePeriod | false |
| AlternativePeriodDialog | null |
| ApplyNewPeriod | Реализация отсутствует |
являются пустой формой. Задача построения
интерфейса пользователя заключается в добавлении на форму компонента
бизнес-объекта и необходимого количество
элементов управления с дальнейшей установкой их взаимоотношений с
бизнес-объектом.
Для наглядности принято переносить в заголовок окна некоторую
информацию, идентифицирующую контент в списке.
Например, заголовок окна редактирования объекта единиц измерения было бы
разумно сформировать как «Единица измерения – Штука».
Формирование заголовка в потомках происходит в
методе OnViewCreated, после вызова базовой реализации метода
Вызов base.OnViewCreated(rootCode) выполняет необходимые
действия над объектом RootBusinessObject. В
дальнейшем, анализируя значение переданного кода (rootCode) можно
сформировать заголовок. Код формирования заголовка записан в одну
строку. Синтаксис такой записи заключается в
определении одного из двух значений в зависимости от результата
сравнения.
Если сравнение (в нашем случае rootCode > 0) истинно, то берется
первое из двух значений, в противном случае
второе. Касательно примера, если значение кода больше 0, заголовок
контента будет «Имя контента», иначе «Имя
контента – новый».
Формирование заголовка является достаточно важным моментом в оконной
системе Lexema Business WinForms. Дело в том,
что заголовок является одним из идентификаторов окна в визуальном
представлении. Система попросту не даст присоединить
контент с уже существующим в коллекции заголовком.
Помимо заголовка, в методе OnViewCreated можно определять любые
инициализационные действия, главное не забыть
перед этим вызвать базовую реализацию метода.
LxBusinessCollectionContent
LxBusinessCollectionContent – реализация контента
для представления плоского списка бизнес-объектов
с возможностью перехода на контенты редактирования представленных
элементов. Представлен шаблоном «Реестр
объектов».
В отличии от LxExtendedBusinessContent,
являющегося пустой формой, класс LxBusinessCollectionContent
содержит внутри себя один элемент управления — таблица для
представления коллекции бизнес-объектов.
Внутренняя реализация формы позволяет организовать плоский список
заполнением необходимых свойств.
Класс LxBusinessCollectionContent имеет одно
наиболее важное свойство –
BusinessObjectType. Значение свойства определяет тип объекта для
представления в виде плоского списка. В качестве
значения выступает имя ранее созданного класса бизнес-объекта.
Установка значения для свойства является отправной точкой в настройке
формы.Основные свойства LxBusinessCollectionContent
– ChildContentType
– имя класса, реализующего контент для редактирования
единичного экземпляра бизнес-объекта указанного
в BusinessObjectType типа.
– UseCalendar
– свойство, определяющее необходимость использования фильтра
по дате для реестра при открытии.
– DateFilterProperty
– свойство, устанавливающее, по какому из свойств типа дата
бизнес-объекта списка производить фильтрацию.
Данное свойство используется только при значении свойства
UserCalendar true.
После установки значения для свойства BusinessObjectType возможна
настройка колонок таблицы, отображающей список
объектов.Таблица реализации интерфейса ILxCustomContent для
LxBusinessCollectionContent
| View | Реализация из LxBusinessContent |
| AttachMode | Реализация из LxBusinessContent |
| RefreshContent | Производит перезагрузку списка элементов типа, установленного в качестве значения свойства BusinessObjectType в соответствии с последним примененным фильтром. |
Таблица реализации интерфейса ILxBusinessContent для
LxBusinessCollectionContent
| OnViewCreated | Реализация взаимодействует с методом RefreshContent |
| IsDirty | всегда false |
| CanSave | false |
| Save | Реализация отсутствует |
| CanCreateChilds | true |
| CreateChildContent | Не переопределяемая реализация из LxBusinessContent. Вместо метода CreateChildContent переопределяется метод CreateChild, возвращая в качестве результата экземпляр указанного в свойстве ChildContentType. |
| EditChildPosition | Реализует на основе значений свойств BusinessObjectType и ChildContentType. Взаимодействуя с методом CreateChildContent выполняет метод OnViewCreated полученного экземпляра с передачей в качестве параметра кода объекта текущей позиции в таблице |
| DeleteChildPosition | Получает объект текущей позиции списка и выполняет метод Remove, с последующим запуском метода RefreshContent. |
| SupportContextSearch | true |
| GetContextSearcher | Возвращает поисковик по таблице |
| CanChangePeriod | true/false |
| AlternativePeriodDialog | null |
| ApplyNewPeriod | Формирует внутренний дополнительный фильтр по дате, применяемый в дополнение к пользовательским. |
происходит подписка на событие закрытия
созданной формы для последующего вызова метода RefreshContent.
Установленное в true значение свойства UseCalendar спровоцирует вызов
диалога выбора периода
при присоединении
контента реестра к главной форме.
Для большей наглядности обратимся к схеме (Рисунок 4), иллюстрирующей
часть механизмов внутреннего взаимодействия
методов контента между собой
Рисунок 4Любой из методов, за исключением
CreateChildContent может быть переопределен в потомке. Это
утверждение справедливо как для LxExtendedBusinessContent,
так и для LxBusinessCollectionContent.
Приглашаем бухгалтеров средних и крупных компаний познакомиться с новой революционной технологией.
Программные роботы выступают ассистентами бухгалтеров и выполняют вместо них рутинные, часто повторяющиеся операции на компьютере и помогают сэкономить 70% времени бухгалтера
Программные роботы-ассистенты не меняют используемые системы, а поверх используемых систем выполняют необходимые бухгалтеру действия:
- переносят данные из одной системы в другую с помощью имитации действий человека по нажатию кнопок на клавиатуре и мыши
- распознают первичку
- заполняют экранные формы в 1С и других системах
- консолидируют данные и формируют отчеты
- проводят сверку информации из разных источников
- и многое другое
Программные роботы-ассистенты просты в разработке и стоят недорого.
За 1 час вебинара вы узнаете:
- как с помощью программ-ассистентов выжать максимум из существующих информационных систем
- как сэкономить кучу времени, настроив автоматическую обработку сложных первичных документов на примере форм KC-2, КС-3, Торг-12, Счет-фактура
- как консолидировать данные с разных подразделений
- как настраивать сверки, контролировать расхождения и многое другое
Все это мы разберем на реальных кейсах, работающих на ведущих российских компаниях: Газпром-бурение, ОДК-УМПО, Таттелеком.
Научим рассчитывать экономическую эффективность программных роботизированных ассистентов.
А для того, чтобы понять, как просто создавать ассистента, мы вместе с вами на вебинаре настроим робота
Подарим лицензию на одного робота за самый интересный вопрос на вебинаре
ВСЕМ УЧАСТНИКАМ ВЕБИНАРА — 10% СКИДКА НА ЛИЦЕНЗИЮ ПРОГРАММНОГО РОБОТА-АССИСТЕНТА
- Описание
- Параметры
- Возможности
- Отзывы
- Совместимость
- Зарубежные аналоги
- Сравнения
Платформа Lexema для автоматизированного управления производством
Краткое описание, назначение
Lexema — платформа для разработки, развертывания десктоп и веб приложений. Lexema — продукт компании Лексема. Платформа позволяет создавать решения в сжатые сроки и c небольшим бюджетом. Lexema спроектирована как инструмент для построения Windows, Web-, iOS- Android- приложений.
Категория
• Управление ресурсами предприятия »
Комплексное управление (ERP)
Описание
Lexema — платформа для разработки, развертывания десктоп и веб приложений. Lexema — продукт компании Лексема. Платформа позволяет создавать решения в сжатые сроки и c небольшим бюджетом. Lexema спроектирована как инструмент для построения Windows, Web-, iOS- Android- приложений.
Класс программного обеспечения: Системы управления процессами организации
Добавлен в единого реестра российских программ 14 Марта 2017 Приказ Минкомсвязи России от 09.03.2017 №103
Альтернативные названия — Платформа Lexema.ru
Владелец — российская коммерческая организация ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ «ЛЕКСЕМА», Свидетельство о Государственной регистрации программы для ЭВМ «Платформа Lexema для автоматизированного управления предприятием» № 2014614237 от 21 апреля 2014 г. Свидетельство на товарный знак (знак обслуживания) № 539151 lexema.ru от 07 апреля 2015 г.
Платформа Lexema.ru
Заказать
В избранное
Написать отзыв
В реестре ПО #2939
Видеопрезентация
Параметры Платформа Lexema.ru
- Малый бизнес
- Средний бизнес
- Крупный бизнес
- Госкомпании
- ФОИВы
- РОИВы
- Муниципальные учреждения
- В реестре отечественного ПО
- Промышленность
- Финансы
- Человеческие ресурсы
- Строительство и девелопмент
- Сельское и лесное хозяйство
- Транспорт и логистика
- Торговля
- Рабочее время
Функциональные возможности
Платформа Lexema.ru (Управление ресурсами предприятия, Комплексное управление (ERP))
Информация о возможностях ПО еще не добавлена.
Информация о совместимости «Платформа Lexema.ru»
еще не добавлена
Информация о западных аналогах «Платформа Lexema.ru»
еще не добавлена
1.
Разработка бизнес -приложений
на платформе Lexema
О П Ы Т П Р И М Е Н Е Н И Я А Л Г О Р И Т М О В И С К У С С Т В Е Н Н О Г О И Н Т Е Л Л Е К ТА
В РА Б О Т Е Р О Б О ТА — В РАЧ А
2.
П Р О Б Л Е М А П Р О Е К ТА
Проект: ООО «Лаборатория гемодиализа» − сеть из 27 гемодиализных клиник,
работают на ERP-Lexema более 5 лет, врачи в системе делают назначения пациентам,
фиксируют результаты анализов.
Проблема:
Недостаточная квалификация врачей
на периферии в гемодиализных центрах
Неэффективные назначения врачей
3.
П О С ТА В Л Е Н Н А Я З А Д АЧ А Д Л Я Р Е Ш Е Н И Я П Р О Б Л Е М Ы
Оперативно после получения актуальных анализов пациента,
выдавать в системе рекомендации по назначению лечения.
Рекомендации системы должны быть оптимальными с точки
зрения эффективности лечения для конкретного пациента
ГЛАВНЫЙ КРИТЕРИЙ ЭФФЕКТИВНОСТИ ЛЕЧЕНИЯ — УЛУЧШЕНИЕ ПОКАЗАТЕЛЕЙ
АНАЛИЗОВ КРОВИ ПАЦИЕНТА
4.
М Е ТО Д Ы Р Е Ш Е Н И Я З А Д АЧ И
О Б О С Н О В А Н Н О С Т Ь П Р И М Е Н Е Н И Я М Е Т О Д О В И И Д Л Я Р Е Ш Е Н И Я З А Д АЧ И
ВАРИАНТ №1:
ВАРИАНТ №2:
Применение линейных
Применение
алгоритмов
методов ИИ
НЕ ПОДОШЕЛ
ВЫБРАН
ПРИЧИНА: большое количество факторов, от которых зависит выбор назначения
и, как следствие, многовариантность назначений
5.
СХЕМА РЕА ЛИЗАЦИИ РЕШЕНИЯ С ИИ
1.
Разметка данных
2.
Сбор репрезентативных данных
3.
Выравнивание выборок
4.
Формирование обучающей и тестовой выборок
5.
Отбор признаков и факторов, влияющих на лечение
6.
Выбор алгоритмов ML
7.
Выбор метрик качества
8.
Проверка результатов на тестовой выборке
9.
Подбор эффективной стратегии лечения
10. Встраивание алгоритмов в медицинскую ERP-систему
6.
1 Э ТА П . РА З М Е Т К А Д А Н Н Ы Х
На сегодняшний день в диализных центрах ООО «Лаборатория гемодиализ» используется ERP-система
Lexema для учета данных о пациентах на диализе
Собрана база данных, позволяющая оперативно извлекать данные в динамике по любому
пациенту диализного центра.
Получены размеченные данные, относящие противоанемическую терапию (ААТ) и
терапию для восстановления фосфорно-кальциевого обмена (ФКО) к эффективной или нет.
Особенность: избыточная терапия относилась также к неэффективной.
Была подтверждена гипотеза о согласованности мнений экспертов
7.
1 Э ТА П . Р Е З УЛ ЬТАТ РА З М Е Т К И Д А Н Н Ы Х
Основными критериями эффективности терапий ФКО и ААТ считалось:
1) достижение целевых показателей анализов крови пациентов
2) наличие устойчивой положительной динамики показателей в течении 3-х месяцев
для противоанемической терапии (ААТ) было получено – более 9 тысяч записей,
из них 39% эффективная терапия, 61% — неэффективная,
из неэффективной терапии: избыточная 22%, недостаточная и неэффективная – 78%
для противоанемической терапии (ФКО) было получено – около 9 тысяч записей,
из них 55% эффективная терапия, 45% — неэффективная,
из неэффективной терапии: избыточная 8%, недостаточная и неэффективная – 92%
8.
2 Э ТА П . В Ы РА В Н И В А Н И Е В Ы Б О Р К И
Решение проблемы отсутствия сбалансированности – сэмплирование выборки (изменение
пропорции классов за счет увеличения меньшего класса, или уменьшения большего класса)
Алгоритм оверсэмлинга: размножение меньшего класса
Библиотека в Python: imblearn.over_sampling.
Алгоритм RUS (Random undersampling): уменьшение большего класса случайного образом
Библиотека в Python: imblearn.over_sampling (RUS).
Алгоритм SMOTE: добавление в меньший класс «искуственных» похожих примеров
(образцов)
Библиотека в Python: imblearn.over_sampling (SMOTE).
9.
3 Э ТА П : Ф О Р М И Р О В А Н И Е О Б У Ч А Ю Щ Е Й И Т Е С Т О В О Й
ВЫБОРОК
Слепая валидация:
70% данных — обучающая выборка, 30% данных —
тестовая выборка
Проверка работы методов ИИ на тестовых данных
и сравнение результатов работы методов с данными
экспертов
Кросс валидация:
Кросс-валидация для всех 4 моделей проводилась на 5 фолдах.
Принцип построения моделей классификации — воронка
I Этап – прогнозирование эффективная/неэффективная терапия
II Этап – прогнозирование среди неэффективных избыточной/неэффективной терапии
10.
4 Э ТА П . О Т Б О Р Ф А К Т О Р О В , В Л И Я Ю Щ И Х Н А В Ы Б О Р
Н А З Н АЧ Е Н И Я Л Е Ч Е Н И Я
Всего выявлено:
57 факторов
Из них 6 факторов имеют гораздо большую
значимость, чем остальные
Примеры:
• Социально-демографические признаки пациента
• Наличие у пациента хронических вирусных
заболеваний
• Длительность применения назначенных
препаратов
• Длительность нахождения на диализном лечении
11.
М АТ Р И Ц А М УЛ ЬТ И К О Л Л И Н Е А Р Н О С Т И
Матрица наличий линейной
зависимости между
объясняющими факторами
Красный
зависимы,
Белый
не зависимы
Синий
обратная зависимость
12.
6 Э ТА П . В Ы Б О Р А Л Г О Р И Т М О В M L
Нейросети — не подходят для применения в медицине.
Причина — поведение обученной нейросети не всегда может быть
однозначно предсказуемо, что увеличивает риск применения.
Наш выбор метода для оценка эффективности лечения —
Модифицированный бустинг.
Причина модификации: повышение эффективности вычислительных
ресурсов и, как следствие, уменьшение времени выполнения.
Использовали библиотеку xgboost.sklearn (XGBClassifier)
13.
7 Э ТА П . В Ы Б О Р М Е Т Р И К К АЧ Е С Т В А
Матрица неточностей
Фактически
Модель
Положительно
Отрицательно
Положительно
TP
FP
Отрицательно
FN
TN
— TP (True Positives) – верно классифицированные положительные примеры
— TN (True Negatives) – верно классифицированные отрицательные примеры
— FN (False Negatives) – положительные примеры, классифицированные как отрицательные
— FP (False Positives) – отрицательные примеры, классифицированные как положительные
14.
М Е Т Р И К И К АЧ Е С Т В А
Метрики качества определялись на основе матрицы неточностей
Чувствительность и специфичность алгоритма:































