Это пользовательское поле используется для любых расчетов в карточке.
Вы можете прописать в нем нужную формулу и подставить в нее данные из пользовательских полей карточки или другую формулу. И получить автоматический расчет на основе этих данных.
Пример формулы:
12 + (prop("number field 1") - prop("number field 2"))* prop("goals_done")
где:
prop("number field 1")
, prop("number field 2")
и prop("goals_done")
— ссылки на поля;
number field 1
, number field 2
— это названия пользовательских полей;
goals_done
— собранные данные из этой карточки — дополнительное поле.
Когда в карточке появятся необходимые данные, они автоматически подтянутся в формулу, и она покажет высчитанное значение в формате числа или строки, которую можно преобразовать в число.
В нашем случае, формула будет посчитана, когда в карточке будут заполнены поля number field 1, number field 2
.
Если значение полей в карточке поменяются, то значение формулы тоже будет автоматически пересчитано.
Итак, чтобы воспользоваться полем «Формула»:
Создайте нужные пользовательские поля для сбора данных;
Создайте новое пользовательское поле с типом «Формула»;
Задайте формулу с использованием нужных пользовательских полей и, при необходимости, дополнительных переменных.
Пользовательские поля с типами:
число;
формула;
строка;
коллективная оценка;
голосование с вариантом оценки: рейтинг.
Дополнительно поддерживаемые поля:
size — размер
goals_total — количество пунктов в чеклистах
goals_done — количество выполненных пунктов в чеклистах
children_count — количество дочерних карточек
children_done — количество завершенных дочерних карточек
parents_count — количество родительских карточек
time_spent_sum — количество минут затраченное на выполнение карточки
time_blocked_sum — количество минут, которые карточка была заблокирована
children_number_properties_sum.size — суммарный размер дочерних карточек
children_number_properties_sum.time_spent_sum — суммарное количество минут, затраченное на выполнение дочерних карточек
estimate_workload — трудозатраты
Все возможные поля будут указаны при создании и редактировании поля.
Формулы поддерживают операторы для всех распространенных арифметических операций, таких как сложение и умножение.
Формулы использует обычную инфиксную нотацию для операторов: оператор помещается между его аргументами. Круглые скобки можно использовать для переопределения приоритета операторов по умолчанию.
Пример:
2 + 3 * 4 //12
(2 + 3) * 4 // 20
Имена переменных должны начинаться с:
Латинских букв (заглавная или строчная): Ascii: a-z, A-Z
Подчеркивание: _
Знак доллара: $
Латинских буква с ударением. Юникод: \u00C0 - \u02AF
Греческих букв. Юникод: \u0370 - \u03FF
Символ, похожий на букву. Юникод: \u2100 - \u214F
Математический буквенно-цифровой символ. Юникод: \u{1D400} - \u{1D7FF}, исключая недопустимые кодовые точки.
Переменные содержат только буквенные символы (см. выше) и цифры 0–9.
Переменные не должны быть ни одним из следующих: mod, to, in, and, xor, or, not, end. (Некоторым из них можно назначить, но это не рекомендуется).
В формулах можно использовать следующие константы:
Констана | Описание | Значение |
---|---|---|
e, E | Число Эйлера, основание натурального логарифма. | 2.718281828459045 |
Infinity | Бесконечность, число, которое больше, чем максимальное число, которое может быть обработано числом с плавающей запятой. | Infinity |
LN2 | Возвращает натуральный логарифм 2 | 0.6931471805599453 |
LN10 | Возвращает натуральный логарифм 10. | 2.302585092994046 |
LOG2E | возвращает логарифм E по основанию 2. | 1.4426950408889634 |
LOG10E | возвращает логарифм E по основанию 10. | 0.4342944819032518 |
NaN | Не число. | NaN |
null | Value null. | null |
phi | Фи – это золотое сечение. Две величины находятся в золотом сечении, если их отношение равно отношению их суммы к большей из двух величин. Phi определяется как (1 + sqrt (5)) / 2 | 1.618033988749895 |
| Число Пи — это математическая константа, представляющая собой отношение длины окружности к ее диаметру. | 3.141592653589793 |
SQRT1_2 | Возвращает квадратный корень из 1/2. | 0.7071067811865476 |
SQRT2 | Возвращает квадратный корень из 2. | 1.4142135623730951 |
tau | Тау — константа отношения длины окружности к радиусу, равная 2 * пи. | 6.283185307179586 |
undefined | Неопределенное значение. Предпочтительно использовать null для указания неопределенных значений. | undefined |
Например:
(prop("number field 1") * phi) - 3
Где вместе phi - подставится соответствующее значение — 1.618033988749895
Формулы поддерживают неявное умножение. Неявное умножение означает умножение двух символов, чисел или сгруппированного выражения в круглых скобках без использования оператора *. Этот тип синтаксиса обеспечивает более естественный способ ввода выражений.
Пример:
2 pi // 6.283185307179586
(1+2)(3+4) // 21
Функции вызываются путем ввода их имени, за которым следует ноль или более аргументов, заключенных в круглые скобки.
Все доступные функции перечислены на странице.
Пример:
sqrt(25) // 5
log(10000, 3 + 7) // 4
sin(pi / 4) // 0.7071067811865475
sqrt(prop("number field 1"))
Формулы могут содержать несколько инструкций.
Рассмотрим res = 3 * prop("Bug.Severity") + 2 * (prop("Bug.Frequency") ? prop("Bug.Frequency") : 1) + (prop("Bug.Reproducable") ? prop("Bug.Reproducable") : 3); res < 9 ? 1 : 3
где
res = 3 * prop("Bug.Severity") + 2 * (prop("Bug.Frequency") ? prop("Bug.Frequency") : 1) + (prop("Bug.Reproducable") ? prop("Bug.Reproducable") : 3);
— это 1 инструкция
результат 3 * prop("Bug.Severity") + 2 * (prop("Bug.Frequency") ? prop("Bug.Frequency") : 1) + (prop("Bug.Reproducable") ? prop("Bug.Reproducable") : 3)
— записывается в переменную res=
— оператор присваивания;
—оператор разделения инструкций
res < 9 ? 1 : 3
— это 2 инструкция , когда данные переменной res сравниваются и его результат определяет конечный результат формулы?
— оператор условного выражения
В карточках Kaiten есть индикатор прогресса, который показывает на сколько процентов выполнена задача. Стандартно он рассчитывается на основе выполнения чек-листов и дочерних задач. Но также в качестве индикатора прогресса можно установить поле с типом «формула» и задавать собственные критерии подсчета прогресса.
Зайдите в административный раздел «Пользовательские поля» и создайте поле с типом «формула» → далее задайте формулу, по которой хотите рассчитывать прогресс карточек.
Затем выберите это поле в качестве поля для отображения прогресса в карточках.
Теперь в карточках, где подсчитано выбранное поле с типом «формула», будет соответствующим образом отображаться индикатор прогресса: на фасаде карточек, в режиме timeline, в табличном представлении в виде процентов.
Если формула, выбранная для отображения прогресса, не посчитана в карточке, то у задачи будет показан нулевой прогресс. (Например, если одно из полей нужных для формулы в карточке отсутствует или не заполнено).
Если вы хотите, чтобы по вашим карточкам всегда отображался актуальный индикатор прогресса на основе формулы, то вы можете добавить все поля, необходимые для подсчета формулы, в качестве обязательных для заполнения полей для нужных досок или типов карточек.