Панель в процессе и в карточке объекта ELMA

Панель в ELMA — форма которая может содержать другие элементы форм и разметку Razor, и панель elma можно сделать сворачиваемой.

Казалось ничего интересного, чего тут про это рассказывать? — А не так все просто.

Если вы не заметили ничего не обычного для ELMA на картинке вверху, то присмотритесь лучше — в задаче, вместо истории по задаче показывается история по процессу !

История по процессу — содержит события по процессу и по всем задачам бизнес процесса ELMA! Исполнитель задачи видит —  что было до него в процессе.

Я расскажу про несколько способов использования панелей и все они касаются использования с разметкой Razor:

  1. В процессе в панель (Razor представление) передается модель DynamicViewControl<EleWise.ELMA.Workflow.Web.Models.WorkflowTaskInfo> а модели этой задачи — ссылка на экземпляр процесса и его контекст т.е. чтобы обратиться к контексту достаточно написать

И дальше пользоваться контекстом как вам вздумается.

В панели также можно использовать стандартные хелперы

  • ELMA @Html.EditableProperty(«Свойство»)
  • @Html.Property(«Свойство»)
  • и тому подобное…

С помощью Razor в зависимости от условий (из вашего контекста), можно написать на странице дополнительное сообщение, добавить стили или код javascript.

Вариантов использования много — придумайте сами парочку полезных кейсов.

История процесса во вкладке задачи

Как это выглядит вы видите выше, а как повторить я расскажу.

Написав такой код вы получите историю процесса во вкладке задачи, удобно и многим сэкономит время.

Карточка объекта в задаче процесса

Представьте что у вас есть красивая карточка объекта, например «Дело» и просто так ее не вывести на страницу задачи, поэтому вам поможет этот код:

Карточка объекта в панели карточки другого объекта

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


Панель ELMA в связке с Razor приносит много удобств, делает страницы красивше и пользователям придется меньше кликать, но не перегибайте палку)
Используйте только там где нужно и принесет реальную пользу, ведь результат может не стоить потраченного времени.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Панель в процессе и в карточке объекта ELMA: 7 комментариев

  • 21.09.2018 в 12:49
    Permalink

    Спасибо за приведенный код — возможности на самом деле открываются интересные. Однако, при реализации внедрения карточки объекта в процессную задачу столкнулся с тем, что перестают работать переходы, кроме тех, у которых отключена проверка на правильность введенных полей.
    Вероятно, скрипт, вытягивающий форму из объекта, ломает что-то на странице.
    Можете посмотреть как это исправить?

    Ответ
    • 21.09.2018 в 12:58
      Permalink

      Отправьте на почту i@yambr.ru код и скриншоты что именно не работает и как проявляется. С страницей редактирования могут возникнуть проблемы и ее лучше делать по другому, если просмотра — то должно быть все ок

      Ответ
  • 28.09.2018 в 13:40
    Permalink

    Для корректной работы замените строку var context = Model.Instance.Context;
    на dynamic context = Model.Instance.Context;

    Ответ
  • 03.10.2018 в 10:15
    Permalink

    Было бы здорово, если бы все так просто решилось. Но нет. Кнопка с проверкой обязательности заполнения всё также не нажимается, даже при заполненных обязательных переменных.

    Ответ

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

%d такие блоггеры, как:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: