Попробуйте инновационную платформу для разработки и запуска бизнес-приложений Comindware Business Application Platform

Запросить демонстрацию

Урок 7. Автоматические вычисления

Содержание урока

 

Предусловие: пройден Урок 6. Усовершенствованный процесс .

Расчетная продолжительность: 20 мин.

 

Автоматическое вычисление значений атрибутов

У заявок обычно есть номер и дата. Также в ходе рассмотрения заявки интересно знать, кто является заказчиком - в том числе исходя из этого будет приниматься решение, выделять машину или нет. Дата заявки - это дата запуска процесса, системный атрибут, значение которому присваивается автоматически. Заказчик также является системным атрибутом, нам надо только вынести эти атрибуты на форму. Для номера же заявки мы определим шаблон, по которому он будет формироваться автоматически.

 

Отображение ФИО заказчика и даты создания заявки

Участникам процесса было бы полезно знать, кто является заказчиком и когда была подана заявка. Эта информация сохраняется автоматически при создании заявки в системных атрибутах “Создан” и “Дата создания”.

1. Перейдите в раздел “Формы” шаблона “Заявка на автомобиль”.

2. Разверните атрибут “Создан” на панели элементов слева и добавьте на рабочую область атрибут “ФИО”.

3. Добавьте атрибут “Дата создания” на рабочую область формы и сохраните.

Настройка формы

 

Вычисление суммы затрат

Настроим автоматическое вычисление итоговой суммы затрат. Для этого мы отредактируем настройки атрибута “Итоговая сумма затрат” и укажем его “Вычисляемым”, затем добавим выражение для автоматического вычисления атрибута. Для написания выражения нам потребуется системное имя реестра “Затраты” и его атрибутов:

1. Откройте во второй вкладке браузера список шаблонов.

2. Скопируйте системное имя шаблона “Затраты”: 

Системное имя шаблона записи

3. Затем перейдите в шаблон записи “Затраты” и откройте раздел “Атрибуты”. При написании выражения мы вернемся в эту вкладку, чтобы скопировать системные имена атрибутов.

4. Вернитесь в первую вкладку браузера и перейдите на схему процесса “Заказ автотранспорта” и выберите задачу “Выполнить рейс”.

5. В меню элемента перейдите в раздел ”Форма”.

6. Разверните элемент “Заявка на автомобиль” на левой панели.

7. Выберите двойным кликом атрибут “Итоговая сумма затрат” для редактирования атрибута.

8. Укажите флаг “Вычисляемый”: 

Добавление атрибута типа число

9. Во второй вкладке введите выражение, указав ваши системные имена: SUM((from i in db->Zatraty where i->Zayavka == $id select i->Summa)),где Zatraty - шаблон записи “Затраты”; Zayavka - ссылочный атрибут “Заявка” реестра “Затраты”, $id - id заявки, Summa - атрибут “Сумма” реестра “Затраты”.

Выражение

10. Нажмите “Сохранить”.

11. Вернитесь на схему процесса и нажмите “Опубликовать”. 

Для вычисления итоговой суммы затрат мы использовали встроенную функцию языка выражений - SUM:
SUM((from i in db->Zatraty where i->Zayavka == $id select i->Summa))
В качестве атрибутов для суммирования нам нужно использовать значения другого реестра, для этого используются следующие конструкции:

● from i in - Объявление локальной переменной i.
● db->Zatraty - Объявление реестра “Затраты” в качестве источника данных.
● where i->Zayavka == $id - выбор записи, значение атрибута-ссылки “Заявка” равно идентификатору текущей заявки, выбор только тех затрат, которые ссылаются на данную заявку.
● select i->Summa - выбор значений атрибута “Сумма” и передача этих значений в качестве аргумента для функции SUM.

 

Тестирование вычисления суммы затрат

1. Перейдите в раздел “Экземпляры” шаблона процесса “Заказ автотранспорта” и нажмите “Создать”.

2. Пройдите процесс до задачи “Выполнить рейс”.

3. Откройте задачу “Выполнить рейс” и заполните коллекцию затрат - укажите сумму.

Поле “Итоговая сумма затрат” вычисляется автоматически: 

Автоматическое вычисление

 

Генерация номера заявки

Настроим автоматическую нумерацию номеров заявок:

1. Перейдите в раздел “Атрибуты” шаблона записи “Заявка на автомобиль” и добавьте текстовый атрибут - “Номер заявки”. Укажите флаг “Отображаемый атрибут”.

2. Перейдите на схему процесса “Заказ автотранспорта”.

3. Выберите стартовое событие и перейдите в “Правила для данных”.

Настройка правил

4. Переместите с левой панели элемент “Изменить значение” в Правила на выходе”.

5. Выберите элемент “Изменить значение” на рабочей области и на правой панели выберите Атрибут - “Номер заявки”: 

Правила на выходе

6. В поле “Правило изменения” выберите пункт “Выражение”.

7. Введите выражение: FORMAT("ЗA-{0}",LIST(COUNT((from i in db->Zayavkanaavtomobil select i->id)))) ,где “Zayavkanaavtomobil” - это системное имя шаблона записи “Заявка на автомобиль”. 

Выражение

8. Сохраните, вернитесь на схему процесса и опубликуйте процесс.

 

Настройка отображения номера заявки

Настроим отображение номера заявки на экранной форме:

1. Перейдите в раздел “Формы” шаблона записи “Заявка на автомобиль”.

2. Выберите форму “Заявка на автомобиль - Основная форма” и добавьте поле “Номер заявки”.

3. Укажите тип отображения - “Только для чтения” и сохраните форму.

 

Тестирование генерации номера заявки

1. Перейдите в раздел “Экземпляры” шаблона процесса “Заказ автотранспорта” и нажмите “Создать”.

2. Перейдите в “Мои задачи” и откройте форму задачи “Согласовать заявку”. Поле “Номер заявки” заполнилось автоматически:

Автоматическое заполнение

 

Статус заявки

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

1. На боковой панели выберите “Конфигурации” - “Бизнес-приложения” и выберите ваше бизнес-приложение - “Управление автопарком”.

2. Перейдите в раздел “Диаграммы” и выберите диаграмму “Модель данных - Заказ автотранспорта”.

3. Перетащите элемент для создания шаблона и создайте шаблон записи “Статус заявки”.

4. Выберите добавленный шаблон и добавьте отображаемый атрибут “Название” перейдите в раздел “Списки”:

Переход в раздел Списки

5. Настройте отображение справочника в списке: 

Настройка списка

6. Перейдите в раздел “Форма” и настройте экранную форму, чтобы она содержала поле “Название”.

7. Перейдите в раздел “Экземпляры” и заполните справочник следующими значениями: “Создана”, “На рассмотрении”, “Завершена”, “Отклонена”, “Выполняется”:

Экземпляры шаблона записи

8. Вернитесь на диаграмму модели данных и выберите шаблон “Заявка на автомобиль”.

9. Через меню элемента создайте атрибут типа ссылка - “Статус”, укажите целевой шаблон “Статус заявки”: 

Добавление атрибута типа ссылка

Отображение связей

Теперь настроим автоматическое изменение статуса заявки:

1. Перейдите на схему процесса “Заказ автотранспорта”.

2. Выберите стартовое событие и перейдите к настройке правил для данных в меню элемента.

3. В Правило на выходе добавьте элемент “Изменить значение”.

4. На правой панели выберите Атрибут - “Статус”.

5. Укажите Правило изменения - “Значение” и выберите статус - “Создана” и сохраните: 

Изменение статуса

Теперь после создания заявки она получит статус “Создана”. 

Аналогично, настройте автоматическое изменение статуса для других элементов процесса:

6. Выберите задачу “Согласовать заявку” и в меню элемента перейдите в раздел “Правила для данных”.

7. Переместите с левой панели элемент “Изменить значение” в “Правила на выходе”.

8. Выберите атрибут “Статус” и укажите для него “Правило изменения” - Значение “На рассмотрении”.

9. Выберите задачу “Вам отказано” и перейдите к настройке правил для данных.

10. Настройте правило изменения данных на Входе для статуса, чтобы он принимал значение “Отклонена”.

11. Выберите параллельную развилку и настройте для нее правило изменения данных на Входе - укажите значение статуса - “Выполняется”.

12. Настройте правило изменения данных на входе для завершающего события после выполнения рейса - укажите значение статуса - “Завершена”.

13. Опубликуйте схему процесса, чтобы изменения вступили в силу.

 

Настройка отображения статуса и номера заявки

Мы добавили новые атрибут “Статус”, теперь нужно настроить его отображение на списке записей и на экранной форме:

1. Перейдите в раздел “Формы” шаблона записи “Заявка на автомобиль”.

2. Выберите форму “Заявка на автомобиль - Основная форма”.

3. Перетащите поле “Статус” и укажите тип отображения “Только для чтения”:

Настройка формы

Настроим отображение реестра “Заявка на автомобиль”:

4. Перейдите в раздел “Списки” и добавьте в список “Все записи” атрибуты “Номер заявки”, “Статус”: 

Настройка списка

 

Тестирование изменения статуса

1. Перейдите в раздел “Экземпляры” шаблона процесса “Заказ автотранспорта” и нажмите “Создать”.

2. Перейдите в “Мои задачи” и откройте форму задачи “Согласовать заявку”. Поле “Статус” заполнилось автоматически: 

Автоматическое заполнение

 

Настройка заголовка задачи

По умолчанию заголовки задач недостаточно информативны - они содержат только названия процесса и задачи и никакой конкретной информации по заявке:

Список задач

Настроим заголовки задач, чтобы в списке задач отображались не названия процессов, а содержательная информация - маршрут и ФИО создателя.

1. Перейдите на схему процесса и выберите задачу “Согласование заявки”.

2. В меню элемента перейдите в “Настройки”: 

Настройка задачи

3. Во вкладке “Дополнительные свойства” выберите “Выражение” в поле Заголовок задачи.

4. Введите выражение: FORMAT("Согласование заявки ({0} - {1})",LIST($Marshrut,$_creatorRef->fullName)),где $Marshrut - системное имя атрибута “Маршрут”, $_creatorRef->fullName - имя пользователя, создавшего заявку. 

5. Аналогично укажите выражения для остальных задач процесса, указав в выражении соответствующие имена задач:

FORMAT("Принять заявку ({0} - {1})",LIST($Marshrut,$_creatorRef->fullName))

FORMAT("Вам отказано ({0} - {1})",LIST($Marshrut,$_creatorRef->fullName))

FORMAT("Выполнить рейс ({0} - {1})",LIST($Marshrut,$_creatorRef->fullName))

FORMAT("Машина выделена ({0} - {1})",LIST($Marshrut,$_creatorRef->fullName)) 

6. Опубликуйте схему процесса. 

 

Тестирование

Посмотрим, как теперь задачи отображаются в списке:

1. Перейдите в шаблон процесса “Заказ автотранспорта” и запустите процесс, заполните поля стартовой формы.

2. Перейдите в “Мои задачи” и откройте задачу “Согласование заявки”. Теперь заголовок задачи содержит название маршрута и ФИО создателя заявки:

Название задачи

 

Результаты

Поздравляем! Вы научились делать автоматические вычисления в ходе процесса.

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

Вложения
У этой статьи нет вложений.
Обратная связь
Security Code
Статьи по теме
Веб-канал для приема запросов
Просмотрено 95 раз с Tue, Mar 24, 2020

Импорт данных
Просмотрено 66 раз с Fri, Jul 31, 2020

События
Просмотрено 150 раз с Thu, Mar 12, 2020

Задание условия
Просмотрено 74 раз с Tue, Mar 10, 2020

Ограничение поля определенным количеством цифр
Просмотрено 2 раз с Tue, Sep 29, 2020

Копирование объекта
Просмотрено 106 раз с Wed, Feb 26, 2020

Сравнение двух атрибутов типа пользователь
Просмотрено 89 раз с Wed, Feb 26, 2020

Создание процесса
Просмотрено 112 раз с Thu, Mar 12, 2020

Неверная ссылка на инстанс
Просмотрено 76 раз с Tue, Jun 2, 2020

Не получается запустить процесс по нескольким записям
Просмотрено 3 раз с Mon, Sep 28, 2020


Исследования осуществляются <br>ООО «Колловэар» при грантовой <br>поддержке Фонда «Сколково»
Comindware