| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| odg_assist_3.0:bpmn:groovy_формулы [2025/12/11 07:54] – denis | odg_assist_3.0:bpmn:groovy_формулы [2026/04/20 09:44] (текущий) – dmitry |
|---|
| ====== Настройка формул груви (groovy) ====== | ====== Настройка формул груви (groovy) ====== |
| | |
| \\ | \\ |
| |
| Условия помжно записывать используя язык groovн. \\ | Условия можно записывать используя язык groovy. \\ Тернарный оператор — это сокращённая форма записи условного выражения, которая позволяет компактно записать условие и выбрать одно из двух значений в зависимости от того, истинно оно или ложно. |
| Тернарный оператор — это сокращённая форма записи условного выражения, которая позволяет компактно записать условие и выбрать одно из двух значений в зависимости от того, истинно оно или ложно. | |
| |
| //Структура тернарного оператора// \\ | //Структура тернарного оператора// \\ В общем виде тернарный оператор выглядит так: \\ |
| В общем виде тернарный оператор выглядит так: \\ | |
| <code> условие ? значение_если_истинно : значение_если_ложно </code> | |
| |
| //Пример использования// \\ | <code -> |
| Допустим, у вас есть переменная age, и вы хотите установить сообщение в зависимости от её значения: | условие ? значение_если_истинно : значение_если_ложно |
| <code> def message = age >= 18 ? "Взрослый" : "Несовершеннолетний" | </code> |
| </code> | |
| |
| | //Пример использования// \\ Допустим, у вас есть переменная age, и вы хотите установить сообщение в зависимости от её значения: |
| | |
| | <code -> |
| | def message = age >= 18 ? "Взрослый" : "Несовершеннолетний" |
| | |
| | </code> |
| |
| * Если age больше или равно 18, то message станет "Взрослый". | * Если age больше или равно 18, то message станет "Взрослый". |
| * В противном случае message станет "Несовершеннолетний". | * В противном случае message станет "Несовершеннолетний". |
| |
| Компактность: Позволяет записывать простые условия в одной строке. \\ | Компактность: Позволяет записывать простые условия в одной строке. \\ Читаемость: Когда условие не слишком сложное, это может улучшить читаемость кода. \\ Тернарный оператор часто используется для простых условий, чтобы избежать многократного написания if-else. Если у вас есть ещё вопросы или требуется дополнительная информация, дайте знать! |
| Читаемость: Когда условие не слишком сложное, это может улучшить читаемость кода. \\ | |
| Тернарный оператор часто используется для простых условий, чтобы избежать многократного написания if-else. Если у вас есть ещё вопросы или требуется дополнительная информация, дайте знать! | |
| |
| ** LIMS. Настройка формулы учитывать срок проверки и срок квалификации. **\\ | ** LIMS. Настройка формулы учитывать срок проверки и срок квалификации. **\\ __Процесс приемки оборудования__\\ В Формулу подставляются значение параметров "Учитывать срок поверки" тип "Флаг" и "Дата следующей поверки" тип "Дата".\\ Если все условия выполнены, значение из параметра подставляется в счетчик. \\ //Общий вид формулы:// |
| __Процесс приемки оборудования__\\ | |
| В Формулу подставляются значение параметров "Учитывать срок поверки" тип "Флаг" и "Дата следующей поверки" тип "Дата".\\ | |
| Если все условия выполнены, значение из параметра подставляется в счетчик. \\ | |
| //Общий вид формулы:// | |
| |
| | |
| {(parameter_id_"Дата следующей поверки" !=null)&&(parameter_id_"Учитывать срок поверки" != null)&&(execution.getVariable('parameter_id_"Учитывать срок поверки"') == true)} | {(parameter_id_"Дата следующей поверки" !=null)&&(parameter_id_"Учитывать срок поверки" != null)&&(execution.getVariable('parameter_id_"Учитывать срок поверки"') == true)} |
| | |
| \\ | \\ |
| |
| Для каждой ветки диаграммы необходимо указать свои id параметров.\\ | Для каждой ветки диаграммы необходимо указать свои id параметров.\\ Если не одно условие не выполнено, процесс использует ветку по умолчанию. Необходимо обязательно добавить такую ветку в диаграмму.\\ |
| Если не одно условие не выполнено, процесс использует ветку по умолчанию. Необходимо обязательно добавить такую ветку в диаграмму.\\ | |
| |
| Пример добавления формулы в ветку "Срок поверки". | Пример добавления формулы в ветку "Срок поверки". \\ {{:sequenceflow_expression.png?900}} |
| \\ | |
| {{:sequenceflow_expression.png?900|}} | ** LIMS. Настройка таймеров **\\ |
| | |
| | P1M и PT1M — в первом выражении ’M’ значит месяц, во втором — минуту |
| | |
| | P1W — одна неделя |
| | |
| | Например: P1M - 1 месяц, PT1M - 1 минута, P1W - 1 неделя. |
| | |
| | Есть два варианта настройки таймера: |
| | |
| | 1. Фиксированный. Когда в таймере указано фиксированное время, например, PT1M. Задача процесса всегда будет запускаться через 1 минуту; |
| | |
| | 2. Число из параметра. Когда в таймере нет фиксированного значения, оно берется из параметра карточки, который заполнит пользователь. Например, PT${parameter_11241736}M, где 11241736 - это id параметра из карточки. |
| | |
| | Пример настройки таймера |
| | |
| | {{:odg_assist_3.0:bpmn:pasted:20260420-093323.png}} |
| | |
| | В данном примере таймер настроен на отсчет времени в минутах. Количество минут берется из параметра в карточке. |
| |
| |