Автоматическое изменение прогресса проекта
-
demianaqus
- Сообщения: 6
- Зарегистрирован: 21 дек 2022, 09:53
- Имя: Дмитрий
- Откуда: Москва
Автоматическое изменение прогресса проекта
Добрый день! Я совсем недавно стал использовать/изучать данную CRM и столкнулся со сложной для меня задачей. Не могу понять как можно реализовать автоматическое изменение прогресса проекта. Например в проекте есть 5 задач, если 2 из них закрылись, то процент прогресса в проекте поменяется на 40% выполнено.
Подскажите пожалуйста куда копать.
Подскажите пожалуйста куда копать.
Re: Автоматическое изменение прогресса проекта
select Count(id) ... where [status] = 'Close' / Select Count(id)
e.Parent_item_id = id
e.Parent_item_id = id
***
Тружусь как пчелка
***
SQL,BpmOnline,Creatio,BpmSoft,.NET,SAP WMS,MS SQL Server,Windows Server,IIS
Тружусь как пчелка
***
SQL,BpmOnline,Creatio,BpmSoft,.NET,SAP WMS,MS SQL Server,Windows Server,IIS
Re: Автоматическое изменение прогресса проекта
много разных вариантов:
Например просто использовать поле SQL запрос и выводить туда данные или тоже самое с php полем (в динамеческом формате) - я бы этот метод использовал бы, как самый простой
Можно использовать процесс Автоматизации при изменении записи и например Поле прогресс.
Например просто использовать поле SQL запрос и выводить туда данные или тоже самое с php полем (в динамеческом формате) - я бы этот метод использовал бы, как самый простой
Можно использовать процесс Автоматизации при изменении записи и например Поле прогресс.
-
demianaqus
- Сообщения: 6
- Зарегистрирован: 21 дек 2022, 09:53
- Имя: Дмитрий
- Откуда: Москва
Re: Автоматическое изменение прогресса проекта
Огромнейшее вам человеческое спасибо!
Буду пробовать =)
Буду пробовать =)
- alcompstudio
- Спонсор

- Сообщения: 1519
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр
- Откуда: Мир
Re: Автоматическое изменение прогресса проекта
Еще вариант, без написания MySQL запросов (при условии использования Дополнения):
1. Дополнение - Инструменты - Функции. Создаете функцию для сущности Задачи, например "Количество выполненных Задач по проектам"
Оператор - COUNT - (считает записи в сущности) http://joxi.ru/L21q4bbuweDPK2
2. Ставите в данной Функции нужный фильтр, чтобы подсчитывались только нужные записи (например, по "статусу" - Завершена - выпадающее поле). http://joxi.ru/VrwDNllHoZglXm
3. Аналогично создаете еще одну функцию, но фильтр не ставите - чтобы подсчитывались все записи по Задачам.
4. Запоминаете номера функций http://joxi.ru/xAew600tM0VzOm
Если у вас Проекты - родительская, а Задачи - дочерняя (вложенная) сущность, то в сущности Проекты создаете поле MySQL формула, называете его, например, Процент завершения, и вставляете формулу, например такую:
где {13} - Функция, которая подсчитывает Задачи со статусом Завершено, {10} - все Задачи. Логика данного инструмента в том, что система автоматически делает расчеты только для "принадлежащих" родительскому "проекту" записей "задач".
И так, по мере "закрытия" (смены статусного поля на "Завершен") в сущности Задачи - в Проекте в данном поле будет автоматически рассчитываться по вашей формуле результат.
1. Дополнение - Инструменты - Функции. Создаете функцию для сущности Задачи, например "Количество выполненных Задач по проектам"
Оператор - COUNT - (считает записи в сущности) http://joxi.ru/L21q4bbuweDPK2
2. Ставите в данной Функции нужный фильтр, чтобы подсчитывались только нужные записи (например, по "статусу" - Завершена - выпадающее поле). http://joxi.ru/VrwDNllHoZglXm
3. Аналогично создаете еще одну функцию, но фильтр не ставите - чтобы подсчитывались все записи по Задачам.
4. Запоминаете номера функций http://joxi.ru/xAew600tM0VzOm
Если у вас Проекты - родительская, а Задачи - дочерняя (вложенная) сущность, то в сущности Проекты создаете поле MySQL формула, называете его, например, Процент завершения, и вставляете формулу, например такую:
Код: Выделить всё
({13}/{10})*100И так, по мере "закрытия" (смены статусного поля на "Завершен") в сущности Задачи - в Проекте в данном поле будет автоматически рассчитываться по вашей формуле результат.
-
demianaqus
- Сообщения: 6
- Зарегистрирован: 21 дек 2022, 09:53
- Имя: Дмитрий
- Откуда: Москва
Re: Автоматическое изменение прогресса проекта
подскажите пожалуйста, а с помощью функций можно так же сделать, чтобы менялся прогресс, что заложен уже в системе, красивый такой https://prnt.sc/soRdlBMUAxTQalcompstudio писал(а): 21 дек 2022, 12:29 Еще вариант, без написания MySQL запросов (при условии использования Дополнения):
1. Дополнение - Инструменты - Функции. Создаете функцию для сущности Задачи, например "Количество выполненных Задач по проектам"
Оператор - COUNT - (считает записи в сущности) http://joxi.ru/L21q4bbuweDPK2
2. Ставите в данной Функции нужный фильтр, чтобы подсчитывались только нужные записи (например, по "статусу" - Завершена - выпадающее поле). http://joxi.ru/VrwDNllHoZglXm
3. Аналогично создаете еще одну функцию, но фильтр не ставите - чтобы подсчитывались все записи по Задачам.
4. Запоминаете номера функций http://joxi.ru/xAew600tM0VzOm
Если у вас Проекты - родительская, а Задачи - дочерняя (вложенная) сущность, то в сущности Проекты создаете поле MySQL формула, называете его, например, Процент завершения, и вставляете формулу, например такую:
где {13} - Функция, которая подсчитывает Задачи со статусом Завершено, {10} - все Задачи. Логика данного инструмента в том, что система автоматически делает расчеты только для "принадлежащих" родительскому "проекту" записей "задач".Код: Выделить всё
({13}/{10})*100
И так, по мере "закрытия" (смены статусного поля на "Завершен") в сущности Задачи - в Проекте в данном поле будет автоматически рассчитываться по вашей формуле результат.
Re: Автоматическое изменение прогресса проекта
Делаете автоматизацию на сущность, по которой учитываете прогресс.
С Учетом выше написанного, делаете автоматизацию после изменения записи, и перерасчитываете значение, и сохраняете его в родительскую, в которой прогресс поле, и бинго - у вас счастье.
как то тестил, балуйтесь...
С Учетом выше написанного, делаете автоматизацию после изменения записи, и перерасчитываете значение, и сохраняете его в родительскую, в которой прогресс поле, и бинго - у вас счастье.
Код: Выделить всё
$sql = "select
((select count(id) as colvo from app_entity_35 where parent_item_id= ".[parent_item_id]." and (field_450 = 362 ))/
(select count(id) as colvo from app_entity_35 where parent_item_id= ".[parent_item_id]." )*100)+
(select count(id) as colvo from app_entity_35 where parent_item_id= ".[parent_item_id]." and field_450 = 361 )/
(select count(id) as colvo from app_entity_35 where parent_item_id= ".[parent_item_id]." )*50 as kkk
from app_entity_35
LIMIT 1 ";
$fullsql = db_query($sql);
$info_sql = db_fetch_array($fullsql);
$valz = $info_sql['kkk'];
//Добавляем
$entity_id = 34; //get entity ID
$item_id = [parent_item_id]; //get current item ID
$data = [
'field_478' => $valz]; //change status;
items::update_by_id($entity_id,$item_id,$data);***
Тружусь как пчелка
***
SQL,BpmOnline,Creatio,BpmSoft,.NET,SAP WMS,MS SQL Server,Windows Server,IIS
Тружусь как пчелка
***
SQL,BpmOnline,Creatio,BpmSoft,.NET,SAP WMS,MS SQL Server,Windows Server,IIS
Re: Автоматическое изменение прогресса проекта
Код: Выделить всё
$sql = "select
((select count(id) as colvo from app_entity_35 where parent_item_id= ".[parent_item_id]." and (field_450 = 362 ))/
(select count(id) as colvo from app_entity_35 where parent_item_id= ".[parent_item_id]." )*100)+
(select count(id) as colvo from app_entity_35 where parent_item_id= ".[parent_item_id]." and field_450 = 361 )/
(select count(id) as colvo from app_entity_35 where parent_item_id= ".[parent_item_id]." )*50 as kkk
from app_entity_35
LIMIT 1 "
лучше так не делать! заберите из базы один раз данные и используйте их.
-
demianaqus
- Сообщения: 6
- Зарегистрирован: 21 дек 2022, 09:53
- Имя: Дмитрий
- Откуда: Москва
Re: Автоматическое изменение прогресса проекта
дело в том, что в SQL запросах, а так же в знаниях PHP, JavaScript и прочих я не особо силен..думал как то просто можно вывести автоматическое изменение так называемой шкалы прогресса при подсчёте завершенных задач..
Способ от alcompstudio интересный, но подразумевает под собой не использование встроенной возможности изменения прогресса (который как я понимаю был придуман для ручного изменения по большому счёту..
Способ от alcompstudio интересный, но подразумевает под собой не использование встроенной возможности изменения прогресса (который как я понимаю был придуман для ручного изменения по большому счёту..
Re: Автоматическое изменение прогресса проекта
тут несколько раз высчитывается разное.nruslan2 писал(а): 21 дек 2022, 15:08вот изза таких кодов народ потом и жалуется что у них база тормозит!Код: Выделить всё
$sql = "select ((select count(id) as colvo from app_entity_35 where parent_item_id= ".[parent_item_id]." and (field_450 = 362 ))/ (select count(id) as colvo from app_entity_35 where parent_item_id= ".[parent_item_id]." )*100)+ (select count(id) as colvo from app_entity_35 where parent_item_id= ".[parent_item_id]." and field_450 = 361 )/ (select count(id) as colvo from app_entity_35 where parent_item_id= ".[parent_item_id]." )*50 as kkk from app_entity_35 LIMIT 1 "
лучше так не делать! заберите из базы один раз данные и используйте их.
Ну и заберите за один раз просто интересно. Курсором перебирать потом ?
тут по поводу тормозов - оч спорный вопрос.
***
Тружусь как пчелка
***
SQL,BpmOnline,Creatio,BpmSoft,.NET,SAP WMS,MS SQL Server,Windows Server,IIS
Тружусь как пчелка
***
SQL,BpmOnline,Creatio,BpmSoft,.NET,SAP WMS,MS SQL Server,Windows Server,IIS