Skip to main content
Print

Процесс согласования

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

 

Этап первый. Создание таблиц данных

1. Необходимо заполнить системную таблицу “Статусы”, добавив записи статусов, соответствующие процессу. Сама таблица “Статусы”, будучи системной, создаётся автоматически при создании функционального приложения.

В данном случае в поле “Наименование статуса” таблицы “Статусы” добавляется запись “Согласование”.

2. Далее необходимо создать таблицу данных (например, “Приказы”), содержащую атрибуты документов: Наименование (тип данных – короткий текст), Согласующие (вложенная таблица) и Номер (короткий текст).

3. Затем во вложенной таблице “Согласующие” создаем поле “Согласующий” с типом “связь таблиц” (и связываем его  с таблицей “Пользователи”, выбирая связь “многие ко многим”) а также логическое поле “Согласован”.

 

Этап второй. Создание процедур

Необходимо создать две процедуры в конструкторе процедур:

1.  Процедура определения логина пользователя. Данная процедура будет определяет, какой пользователь должен согласовать документ. В неё будет передаваться идентификатор записи из таблицы “Приказы” и идентификатор записи вложенной таблицы “Согласующие” . Результатом выполнения процедуры будет являться получение логина пользователя.

Для обращения к записям вложенной таблицы используется блок из раздела “Действия”→ “Вложенные таблицы”.

Создаются параметры “Businesskey” и “Sragekey”. Для этого необходимо нажать на иконку шестеренки в верхнем левом углу основного блока “main_entry”.

В параметр “Businesskey” – передаётся идентификатор записи таблицы “Приказы”.

В параметр “Sragekey” – передаётся идентификатор записи вложенной таблицы “Согласующие”.

В итоге должна получиться процедура “Получение юзера”, изображенная на скриншоте ниже.

2. Процедура определения формы. Данная процедура будет определять, какую экранную форму показывать конкретному пользователю, и возвращать ключ формы. Для связи формы, статуса и документа можно использовать системную таблицу “Назначение статусов”.

 

Этап третий. Создание процесса

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

1. Создаем блок “Задача” (с названием “Получение логина”), обозначаем ее как “Сервисную задачу”. Для согласования документа несколькими пользователями используем блок “Подпроцесс” и в настройке “Таблица данных” указываем в нём вложенную таблицу “Согласующие”, по записям которой и будет осуществляется согласование документа.

2) Для определения пользователя которому необходимо согласовать документ используем блок с типом “Service task” в действиях которого выбираем “Выполнить процедуру Получение юзера” ранее созданную нами (см. пункт 2.1)

Для  параметра “Buisneskey” выбираем значение “Бизнес ключ”.

Для параметра “Stagekey” выбираем значение из параметров “Бизнес ключ Согласование”.

3) Для согласование используем блок с типом “User task” в котором задаём следующие параметры:

  • Статус – выбираем нужный статус из ранее заведённых;
  • Исполнитель – выбираем “Из переменной”
  • Выбор переменной – указываем  результат выполнения блока  получения логина “Получение логина – Результат”;
  • Добавляем поле с типом “Логический” куда будет помещён результат согласования (на скриншоте rezult)

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

5) Необходимо развернуть процесс нажав на кнопку “Развернуть”. Если процесс не развернут он не будет выполнятся.

 

4) Создание форм

Необходимо создать несколько форм в конструкторе форм:

1) Форма списка документов. Для этого создаём новую страницу в конструкторе форм и добавляем на неё компонент “Таблица с данными” в качестве источника данных выбираем модель данных с документами созданную ранее (см. пункт 1.1)

  • В настройках таблицы создаём новую кнопку. (Обязательно выбираем иконку кнопки);
  • В обработке кнопки выбираем процедуру “Определение формы” ранее созданную нами (см. пункт 2.2) и устанавливаем статусы при нахождении документа в которых видна кнопка согласования;
  • Способ получения страницы выбираем “Из процедуры”.

2) Форма согласования документа. Форма на которой будут кнопки согласовать или не согласовать документ. Для этого необходимо создать новую страницу в конструкторе форм и добавить на неё компонент “Форма”. Действием формы выбираем обновление записи в модели данных документов (см. пункт 1.1)

Форме добавляем параметр “buisneskey” в него будет передаваться идентификатор согласуемого документа.

Добавляем кнопки “Согласовать” и “Отказать в согласовании”. В настройках кнопки обработку выбираем процесс которой создали ранее  “Процессы”→ “Пользовательская форма процесса” (см. пункт 3). Для кнопки “Согласовать” параметр rezul задаём true, а для “Отказать в согласовании” false. Данный параметр будет возвращён в процесс после выполнения блока “User task” и на основании него можно принимать решения по дальнейшему процессу

 

Оставить комментарий

Оглавление