Поле Прогресс - расчетное значение (по 2-м полям План-Факт)

Пишите ваши предложения здесь.
Ответить
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1519
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Поле Прогресс - расчетное значение (по 2-м полям План-Факт)

Сообщение alcompstudio »

Добрый день!

Увидел на стене ВК хорошую штуку https://vk.com/rukovoditel_project?w=wall-80230319_899 . Было бы еще лучше, если бы данный показатель также мог отображать значение, которое основано на вычислении между 2-мя полями (Плановое и Фактическое). Ведь по сути прогресс выполнения в% и показывает какую-то динамику фактического выполнения по отношению к плановому (т.е. все равно может быть например в плане потратить 100 часов, а потрачено 80, то соответственно это и будет 80% от плана). Может можно предусмотреть доп.настройку автоматического вычисления на основании 2-х полей сущности (числовое или MySQL формула, что более практично будет)? И в настройках указывать такие поля для расчета % между ними:

http://prntscr.com/qgt6fg

Я думаю такая возможность усовершенствует этот тип поля, и будет лучше его использовать в автоматическом режиме расчета, чем в ручном (но и "ручно" режим не убирать, т.к. возможно кто-то будет вручную ставить нужные значения).
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1519
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Re: Поле Прогресс - расчетное значение (по 2-м полям План-Факт)

Сообщение alcompstudio »

На текущий момент в качестве такого решения использую поле MySQL формула и некоторые "манипуляции" в коде. В результате получаю вот такое решение:

http://prntscr.com/qyom7n

% и линия прогресса - высчитываются на основании результатов других полей. Если кому интересно решение, ниже код:

Код: Выделить всё

CONCAT(ROUND([100]),'%','&nbsp;',REPEAT('<span style="background-color: #33CC33;">&nbsp;</span>', [100]))
[100] - это ID поля в котором уже готовый результат (в моем случае - это также поле MySQL формула с рассчитанным там значением из полей [факт]/[план]*100). Т.е. тут также можно вставлять формулы вместо этого поля.

&nbsp; - это неразрывный пробел, т.е. чтобы результат выводился в одну строку, а не переносился на другую.

REPEAT('<span style="background-color: #33CC33;">&nbsp;</span>', [100]) - это собственно функция, которая повторяет другой неразрывный пробел столько раз, сколько указано в поле [100] и окрашивает "фон" каждого пробела в зеленый цвет. В результате получается "линия" из окрашенных неразрывных пробелов.
Ответить