Бизнес-процесс «Проверка заказа»
Рассмотрим процесс проверки заказа покупателя, в котором после проведения заказа система автоматически создаст задачи проверки для конкретных исполнителей по заданным критериям (например, по услугам, ценам и др.).
Пример использования бизнес-процесса «Проверка заказа» (для исполнителя)
- Открываем меню пользователя «Заказы покупателей».
- Создаем новый заказ копированием.
- Нажимаем кнопку «Провести».
- По умолчанию система откроет форму задачи «Выполнить проверку заказа».
- В табличной части в пункте «Количество» меняем число товаров «Коробка товаров» на значение «5».
- Проверяем значения в пункте «Нужна проверка».
- Нажимаем кнопку «Выполнено, закрыть».
В форме задачи «Выполнить проверку» в табличную часть системой автоматически заносятся позиции и соответствующие им данные из заказа.
При изменении данных табличной части система пересчитывает связанные с ними показатели и выставляет флаг «Нужна проверка» при выявлении расхождений.
Пример использования бизнес-процесса «Проверка заказа» (для администратора) с установкой флага «Принять правки»
- Открываем список бизнес-процессов «Проверить заказ».
- В открывшемся окне «Проверить заказ (Шаблоны процессов)» нажимаем кнопку «Список процессов».
- В открывшемся списке выбираем нужную задачу «Проверить заказ».
- В открывшемся окне «Проверить заказ» проверяем основание (например, «Заказ покупателя №8 от 09.10.2019»).
- В окне «Задачи» проверяем выполненные задачи (они обозначены серым цветом).
- Нажимаем на незавершенную задачу (она обозначена зеленым цветом) для позиции «Коробки товаров».
- В открывшемся окне «Проверить данные» меняем значение «Количество» на «6». При этом система пересчитает связанный с ним показатель суммы.
- В пункте «Принять правки» устанавливаем флаг.
- Нажимаем кнопку «Выполнено, закрыть».
Новые невыполненные задачи появляются после завершения связанных с ними предыдущих.
После установки флага в пункте «Принять правки» система передаст данные в соответствующую строку заказа покупателя.
Пример исполнения системой функции «Принять правки»
- В окне «Проверить заказ» нажимаем на ссылку «На основании (Заказ покупателя 8 от 09.10.2019)».
- В графе «Инициатор» нажимаем на кнопку списка.
- Проверяем количество, цену и сумму по позиции «Коробки товаров».
Пример использования бизнес-процесса «Проверка заказа» (для администратора) без установки флага «Принять правки»
- Открываем список бизнес-процессов «Проверить заказ».
- В открывшемся окне «Проверить заказ (Шаблоны процессов)» нажимаем кнопку «Список процессов».
- В открывшемся списке выбираем нужную задачу «Проверить заказ».
- В открывшемся окне «Проверить заказ» проверяем основание (например, «Заказ покупателя №8 от 09.10.2019»).
- В окне «Задачи» проверяем выполненные задачи (они обозначены серым цветом).
- Нажимаем на незавершенную задачу (она обозначена зеленым цветом) для позиции «Кран башенный».
- В открывшемся окне «Проверить данные» значения не меняем.
- Нажимаем кнопку «Выполнено, закрыть».
Система автоматически завершает задачу после подтверждения проверки.
Настройка и поведение задачи проверки
Настройка элемента «Заполнение» для задачи «Проверка заказа»
- Открываем список бизнес-процессов «Проверить заказ» в пункте «Шаблон», в форме «Проверить заказ» нажимаем на кнопку списка.
- В открывшемся окне «Проверить заказ (Шаблоны процессов)» переходим на вкладку «Схема».
- На графическом отображении схемы кликаем на задачу «Выполнить проверку задачи».
- В открывшемся окне «Выполнить проверку заказа (Событие)» выбираем вкладку «Настройки».
- Переходим на вкладку «Общие настройки».
- В окне «Настройки задачи» в пункте «Несколько исполнителей» проверяем отсутствие флага на позиции «Групповое событие».
- В открывшемся окне «Выполнить проверку заказа (Событие)» выбираем вкладку «Заполнение».
- В пункте «Элемент» указываем данные из табличной части «Выполнить проверку заказа» (номенклатура, цена, количество, сумма).
- В пункте «Вид сравнения» по всем позициям ставим «Равно».
- В пункте «Значение элемента» указываем данные табличной части «Заказ покупателя», аналогичные значениям пункта «Элемент» (номенклатура, цена, количество, сумма).
Если в настройках задачи не установлен флаг на позиции «Групповое событие», система не разбивает эту задачу на другие задачи при заполнении табличной части.
Настройка элемента «Количество» для задачи «Проверка заказа»
- В окне «Выполнить проверку заказа (Событие)» выбираем вкладку «Реквизиты».
- Переходим к настройкам элемента «Количество».
- В открывшемся окне «Количество (Реквизиты объектов)» выбираем вкладку «Настройки отображения», затем вкладку «При изменении».
- В табличной части в пункте «Элемент» указываем значение «Выполнить проверку заказа – (Товары заказа) Сумма», в пункте «Вид сравнения» указываем «Равно», в пункте «Значение элемента» указываем «(Количество)* (Цена)».
- В пункте «Значение элемента» для настройки значения «(Количество)* (Цена)» нажимаем на значок списка.
- В открывшемся окне «(Количество)* (Цена)» переходим в поле «Переменные».
- В графе «Переменная» выбираем «(Цена)», в графе «Путь реквизита» выбираем «Выполнить проверку заказа – (Товары заказа) Цена».
- В графе «Переменная» выбираем «(Количество)», в графе «Путь реквизита» выбираем «Выполнить проверку заказа – (Товары заказа) Количество».
- Переходим в поле «Формула» и прописываем «(Количество)* (Цена)».
- В табличной части в пункте «Элемент» указываем значение «Выполнить проверку заказа – (Товары заказа) Нужна проверка», в пункте «Вид сравнения» указываем «Равно», в пункте «Значение элемента» указываем «Да».
- Нажимаем кнопку «Записать, закрыть».
Система выполнит действие согласно заданной формуле и в соответствующую табличную часть выведет значение. Данная настройка выполняется и для таблиц, и для обычных реквизитов, что дает возможность сделать пересчет и изменение данных.
В настройках задачи проверки для элемента «Нужна проверка» может быть несколько вариантов:
- Фиксированное значение. В этом случае при изменении количества по умолчанию устанавливается значение «Да»;
- Формула;
- Путь к значению.
Настройки открытия формы задачи
Для процессов, которые запускаются по событию в режиме онлайн, можно настроить вариант открытия формы задачи одним из следующих вариантов:
- Открыть задачу, если исполнитель или постановщик – если текущий пользователь является либо постановщиком, либо исполнителем данной задачи.
- Открыть задачу, если доступна – если пользователь является исполнительным участником, куратором или постановщиком данной задачи.
- Открыть стартованный процесс – открывает задачу и процесс.
- Открыть нестартованный процесс – открывает задачу и настраиваемый процесс.
- Не открывать.
Для нестартованного процесса можно настроить возможность принятия решения о запуске, дополнить его элементами, настройками, значениями, а также указать исполнителей.
Форма «Вариант открытия формы (Открыть задачу если любое условие)» – это инструмент управления, который помогает открыть задачу или бизнес-процесс без поиска в разных интерфейсах системы. Используется для задачи старта (задача, которая располагается сразу после поля «Старт») и для всех бизнес-процессов.
Настройка формы «Вариант открытия формы (Открыть задачу если любое условие)»
- Открываем список бизнес-процессов «Проверить заказ» в пункте «Шаблон», в форме «Проверить заказ» нажимаем на кнопку списка.
- В открывшемся окне «Проверить заказ (Шаблоны процессов)» переходим на вкладку «Автозапуск».
- В пункте «Настройка запуска» должно быть установлено «Запускать по событию» и «On-Line».
- В пункте «Вариант открытия формы (Открыть задачу если любое условие)» выбрано «Открыть задачу если доступна».
Работа с групповыми задачами
Групповые задачи позволяют создавать задачи на основе данных из табличной части, где можно указать условия возникновения задачи.
Это позволяет системе автоматически создавать задачи только для тех строк, которые соответствуют заданным условиям.
Настройка элемента «Заполнение» для задачи «Проверить данные»
- Открываем список бизнес-процессов «Проверить заказ» в пункте «Шаблон», в форме «Проверить заказ» нажимаем на кнопку списка.
- В открывшемся окне «Проверить заказ (Шаблоны процессов)» переходим на вкладку «Схема».
- На графическом отображении схемы кликаем на задачу «Проверить данные».
- Подтверждаем редактирование нажатием кнопки «Записать».
- В открывшемся окне «Проверить данные (Событие)» выбираем вкладку «Настройки».
- Переходим на вкладку «Общие настройки».
- В окне «Настройки задачи» в пункте «Несколько исполнителей» устанавливаем флаг на позиции «Групповое событие».
- В открывшемся окне «Проверить данные (Событие)» выбираем вкладку «Заполнение».
- В пункте «Элемент» указываем данные «Проверить данные» (номенклатура, цена, количество, сумма).
- В пункте «Вид сравнения» по всем позициям ставим «Равно».
- В пункте «Значение элемента» указываем данные табличной части «Выполнить проверку заказа – (Товары заказа)» аналогичные значениям пункта «Элемент» (номенклатура, цена, количество, сумма).
При настройке группового события необходимо указать количество данных, переходящих в задачу. Система определяет связь между строкой табличной части и задачей, поскольку источником данных является таблица товара и заказа, а приемником данных являются реквизиты «Товар», «Сумма», «Цена» и «Количество», заполненные из таблицы.
Для срабатывания только тех задач, по которым установлен флаг «Требуется проверка», используется настройка элемента «Условия».
Настройка элемента «Условия» для задачи «Проверить данные»
- В окне «Проверить данные (Событие)» выбираем вкладку «Условия».
- В окне «Условия возникновения» в пункте «Элемент» добавляем «Выполнить проверку заказа – (Товары заказа) Нужна проверка».
- В пункте «Вид сравнения» указываем «Равно».
- В пункте «Значение элемента» указываем «Да».
Поскольку связь между строкой, табличной частью и задачей сохранена, можно передавать изменения в объект в обратном порядке.
Пример настройки передачи изменений в обратном порядке
- В окне «Проверить данные (Событие)» выбираем вкладку «При выполнении».
- В окне «Действия при выполнении задачи» переходим на вкладку «Изменения данных».
- В пункте «Условия выполнения» указываем «Правки актуальны».
- В пункте «Элемент» указываем данные «Заказ покупателя – (Товары работы, услуги) Сумма».
- В пункте «Значение элемента» указываем «Проверить данные – Сумма».
- В пункте «Момент выполнения» указываем «При выполнении».
Также можно указать системе, что в заказ покупателя (в табличную часть) необходимо проставлять сумму из реквизита «Сумма», цену из реквизита «Цена», количество из реквизита «Количество». А также другие реквизиты, например, итоговая сумма с НДС, всего НДС, всего по документу, всего скидки и т.д.
Изменения должны переноситься в случае пометки «Правки актуальны».
Пример настройки условия «Правки актуальны»
- В окне «Проверить данные (Событие)» выбираем вкладку «При выполнении».
- В окне «Действия при выполнении задачи» переходим на вкладку «Изменения данных».
- В пункте «Условия выполнения» указываем «Правки актуальны».
- Открываем список условия «Правки актуальны».
- В открывшемся окне «Правки актуальны (Условия выполнения)» в пункте «Элемент» указываем «Проверить данные – Принять правки».
- В пункте «Вид сравнения» указываем «Равно».
- В пункте «Значение элемента» указываем «Да».
Алгоритмы и изменение данных
Алгоритмы пересчитывают нужные реквизиты. Их можно использовать для изменения данных в объекте.
Настройка алгоритма
- В окне «Проверить данные (Событие)» выбираем вкладку «При выполнении».
- В окне «Действия при выполнении задачи» переходим на вкладку «Изменения данных».
- В пункте «Алгоритм» открываем список.
- В открывшемся окне выбираем кнопку «+».
- В окне «Алгоритмы (создание)» переходим на вкладку «Алгоритм».
- В окне прописываем алгоритм.
Алгоритмы работают в режиме контекста. В переменную «Контекст» (это структура) вносятся значения (например, текущее значение, текущий объект, отказ, текущие реквизиты и так далее), которые можно в дальнейшем использовать в коде.
Если нужно поменять данные в заказе, к этому заказу должен быть доступ. В этом случае пользователь может выбрать заказ и внести изменения.
- Контекст «ТекущееЗначение» находится справа в поле значения элемента.
- Контекст «ТекущийОбъект» – это объект, свойства которого изменяются.
- Контекст «ТекущееЗначение» – это значение количества, которое есть в текущей задаче, то есть число, которое было введено в пользовательском режиме и заполнено в задаче.
- Контекст «ТекущийОбъект» – это объект «Заказ покупателя».
- Контекст «ТекущеИмяРеквизита» – это количество.
Система подберет изменяемое имя реквизита в значение этой задачи для значения этого объекта.
Пример записи алгоритма
- В окне «Проверить данные (Событие)» выбираем вкладку «При выполнении».
- В окне «Действия при выполнении задачи» переходим на вкладку «Изменения данных».
- В пункте «Элемент» выбираем значение «Заказ покупателя – Проведен».
- В пункте «Вид сравнения» указываем «Равно».
- В пункте «Значение элемента» выбираем «Заказ покупателя».
- В пункте «Алгоритм» открываем список.
- В открывшемся окне выбираем кнопку «+».
- В окне «Алгоритмы (создание)» переходим на вкладку «Алгоритм».
- Раскрываем список «Подсказка».
- В окне прописываем алгоритм «Контекст. Отказ = Истина;».
- Далее прописываем «//Контекст. ТекущийОбъект. Пересчитать ();».
- Далее прописываем «НашОбъект = Контекст. ТекущееЗначение. ПолучитьОбъект ();».
- Далее прописываем «НашОбъект. Пересчитать ();».
- Далее прописываем «НашОбъект. Записать ();».
Алгоритм «Контекст. Отказ = Истина;» запрещает системе выполнять стандартное действие присвоения этому значению, свойству определенного значения.
Алгоритм «Контекст. ТекущийОбъект. Пересчитать» – система пересчитает данные.
Запись изменений в данном случае не нужна. Система самостоятельно запишет данные.
Для алгоритма, который обращается к другим данным (не к текущему объекту), требуется запись изменений.
Алгоритм «Контекст. ТекущийОбъект. Пересчитать» и алгоритм «НашОбъект = Контекст. ТекущееЗначение. ПолучитьОбъект ();», НашОбъект. Пересчитать (); НашОбъект. Записать ()» выполняют одну и ту же функцию. Второй вариант – это более детальная информация для разработчиков.
Работа с реквизитами
Реквизит может быть отсортирован по наименованию или по порядку, что позволяет удобно расположить их на форме.
Это может быть полезно для создания красивого и удобного интерфейса для пользователей.
Порядок – это реквизит, который отображается в каждом из выводимых элементов. Порядок есть также у групп.
Порядок можно менять при помощи кнопок управления, обозначенных синим цветом.
Реквизиты внутри каждого уровня имеют свой порядок.
Группы сортируются между собой на своем уровне, элементы внутри группы сортируются между собой на своем уровне. У каждого элемента на своем уровне иерархии есть свой порядковый номер, под которым отображается элемент на форме.
Пересчет реквизитов по формуле
Настройка элемента «Реквизиты» для задачи «Проверить данные»
- Открываем список бизнес-процессов «Проверить заказ» в пункте «Шаблон», в форме «Проверить заказ» нажимаем на кнопку списка.
- В открывшемся окне «Проверить заказ (Шаблоны процессов)» переходим на вкладку «Схема».
- На графическом отображении схемы кликаем на задачу «Проверить данные».
- Подтверждаем редактирование нажатием кнопки «Записать».
- В открывшемся окне «Проверить данные (Событие)» выбираем вкладку «Реквизиты».
- Переходим к настройкам элемента «Количество».
- В открывшемся окне «Количество (Реквизиты объектов)» выбираем вкладку «Настройки отображения», затем вкладку «При изменении».
- В табличной части, в пункте «Элемент», указываем значение «Проверить данные- Сумма», в пункте «Вид сравнения» указываем «Равно», в пункте «Значение элемента» указываем «(Количество)* (Цена)».
Для пересчета в качестве данных для формы «Проверить данные – Сумма» используются данные не из табличных частей, а из реквизитов этого объекта. При изменении значения система по формуле пересчитает другие значения.
При этом усложненном бизнес-процессе по групповым задачам система создаст задачу на каждую строку добавленной табличной части.