Как сделать индикацию цветом несовершеннолетних?

Статус
В этой теме нельзя размещать новые ответы.

elektromexanik

Участник
Не получается придумать как сделать индикацию цветом строки ученика который не достиг 17 летнего возраста. То есть возраст можно высчитать функцией "Период" но как из этого сделать индикацию непонятно. Попробовал ввести дополнительное поле с датой дня когда исполнится 17, но прицепить расчёт не получается.
1513946861345.png
 

Anti

Администратор
Команда форума
Ввести дополнительное расчётное поле с 4-мя знаками после запятой и формулой
([~today]-[Дата рождения])/365,2425
И в условии поля Краска проверять это поле.
[Лет]<17
 

elektromexanik

Участник
Спасибо, буду пробовать! Получается нужны только "Дата рождения" и "Период" с названием "Лет" делённое на года точно.
А вообще затейливо получается, хотя в принципе особая точность в данном вопросе и не нужна.
 

elektromexanik

Участник
Считает не очень точно из за одного нуля. А как ввести именно 4? в окошке не видно количество и при сохранении всё равно сбрасывается.
1513951671283.png
 

elektromexanik

Участник
Разобрался, надо в окошко цифру 4 вбить. А я нули пытался. Работает с точностью 1 день!
1513955541981.png
Тогда получается что можно в условии поля "Краска" указать число через запятую и сделать несколько индикаций?
 

Anti

Администратор
Команда форума
В условии поля Краска можно указать несколько условий через запятую. В этом случае подкраска будет работать по принципу И (будет подкрашивать, если выполняются ВСЕ условия).
Если нужно выполнение по принципу ИЛИ (подкрашивать, если хотя бы одно условие срабатывает), то нужно сделать несколько полей краски, каждое со своим условием.
 

elektromexanik

Участник
А число в условии поля "Краска" вместо 17 установить 16, 1234 можно?
И можно ли в условии поля "Краска" применить более сложную формулу чтобы делать подкраску только в определённом диапазоне? Например отсчитывая только год назад от расчётного значения. Тогда появится возможность индикации по тому же признаку для других возрастов, например кому пора менять паспорт.
 

Anti

Администратор
Команда форума
А число в условии поля "Краска" вместо 17 установить 16, 1234 можно?
В условии поля краска запятая служит как разделитель нескольких условий, поэтому её использовать нельзя.
Можно использовать точку - но только в случае, если она установлена в системе как разделитель целой и дробной части.
До сих пор во всех проектах встречали только сравнение с целым числом.

И можно ли в условии поля "Краска" применить более сложную формулу чтобы делать подкраску только в определённом диапазоне? Например отсчитывая только год назад от расчётного значения.
В условии краски разрешено использование типов полей: переключатель, ссылка на объект, число, расчёт.
Поэтому в данном случае нужно создать нужное количество расчётных полей и использовать их в условии краски.
 

elektromexanik

Участник
Поэтому в данном случае нужно создать нужное количество расчётных полей и использовать их в условии краски.
Это понятно. Я хотел спросить что в условии поля "Краска" было не просто меньше числа 45, а больше 44 но меньше 45.
Если я сделаю индикацию отдельными расчётными полями для условий меньше 17 и меньше 45 одновременно, то условие меньше 17 совпадает с условием меньше 45. А хочется сделать одновременно и независимо. Поэтому для условия меньше 45 было бы вполне достаточно диапазона год назад. По другому, нужна индикация условия меньше 45 только в текущем году.
 

Vladimir

Администратор
Команда форума
больше 44 но меньше 45
Для такого условия, их надо перечислить в поле краски через запятую, например
Код:
[Значение]>44, [Значение]<45
См. http://runabase.ru/help/field.html#color

Если я сделаю индикацию отдельными расчётными полями для условий меньше 17 и меньше 45 одновременно, то условие меньше 17 совпадает с условием меньше 45.
Не совпадёт. Использовано будет первое поле краски в списке полей объекта (сверху вниз), условия которого выполняются. Остальные поля краски будут игнорироваться.
 

elektromexanik

Участник
Задача в общем была ещё немного сложнее. Надо чтобы до 17 лет строка ученика подсвечивалось красным, в период плюс-минус три месяца от 20 лет желтым и в период плюс-минус три месяца от 45 лет тоже жёлтым.
Вот так.
1513984812777.png
Сделал в одном расчёте ([~today]-[а_Дата рождения])/365,2425+0,3 а в другом ([~today]-[а_Дата рождения])/365,2425-0,3
В краске 20 вставил [Расчёт 21]>20, [Расчёт 19]<20
В краске 45 вставил [Расчёт 21]>45, [Расчёт 19]<45
То есть например для 45 лет расчёт выглядит так
1513985162033.png
Если попадает в зону, то подсвечивается.
Главное чтобы заказчик был доволен )
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу