Отмечаем факт. Материальные ресурсы.

Отмечаем факт. Материальные ресурсы.

Сообщение sergey-del » 05 май 2016, 15:01

Еще раз всем добрый день.
С фактом по трудовым ресурсам более менее разобрались. А вот с материальными ресурсами как-то не складывается :(
Имеем: задача на которую назначен трудовой ресурс некто Иванов, а так же некоторые материальные ресурсы, требуемые для выполнения этой задачи.
Пример
задача: Устройство стен из гипсокартона
ресурсы:
    Иванов 2ч
    Гипсокартон 2шт
    Саморезы 50шт
    Профиль 4шт
Задача Иванову пришла и он отметил ее как выполненную на 100%, а вот факт по материалам как был 0, так и остался 0.
Можно ли как-то связать ресурсы в задаче так, чтобы когда Иванов отметил выполнение скажем 50%, то и факт на материальных ресурсах тоже установился как 50%.
Логика подсказывает, что должна быть такая возможность. А по факту я ее не нахожу :( Или плохо ищу или логика ошибочная.
Спасибо.
sergey-del
Оранжевый пояс
 
Сообщения: 71
Зарегистрирован: 11 июл 2014, 17:37

Re: Отмечаем факт. Материальные ресурсы.

Сообщение oleksiy prosnitskyy » 06 май 2016, 13:00

вот если бы кто-то прочитали мою книгу по проджекту 2016, то кто-то бы знал, почему так.
вас спасет planbridge. там есть функционал по расчету физического % завершения
http://microsoftprojectbook.blogspot.co ... oject.html
http://2.bp.blogspot.com/-EcTKh5VyP8I/U ... _%25_2.png
oleksiy prosnitskyy
MVP
 
Сообщения: 1021
Зарегистрирован: 11 дек 2012, 21:16

Re: Отмечаем факт. Материальные ресурсы.

Сообщение sergey-del » 06 май 2016, 16:47

Книгу обязательно почитаем.
А здесь в двух словах можно разъяснить почему так? Конечно же если есть время и желание.

Вопрос решили своими силами, следующим образом: написали свою кнопку "Пересчет ресурсов"
Текст следующий, может кому пригодится:

private void toggleButton15_Click(object sender, RibbonControlEventArgs e)
{
int assnPC = 0;
Microsoft.Office.Interop.MSProject.Project pj = Globals.ThisAddIn.Application.ActiveProject;
foreach (MSProject.Task tsk in pj.Tasks)
{
string tn = tsk.Name;
if (Convert.ToBoolean(tsk.Active) == true)
{
if (Convert.ToInt32(tsk.PercentWorkComplete) != 100)
{
foreach (MSProject.Assignment assn in tsk.Assignments)
{
if (assn.ResourceName.Length > 21)
{
if (assn.ResourceName.Substring(0, 21) == "Затраты труда рабочих")
{
assnPC = Convert.ToInt32(assn.PercentWorkComplete);
foreach (MSProject.Assignment assnNew in tsk.Assignments)
{
if (assnNew.PercentWorkComplete != assn.PercentWorkComplete) assnNew.PercentWorkComplete = assn.PercentWorkComplete;
}
break;
}
}
}
}
}
}
}

Алгоритм простой. Перебираем ресурсы в активных задачах, что не выполнены на 100%. И если находим ресурс содержащий "Затраты труда рабочих", то на все остальные ресурсы в этой же задаче ставим тот же процент, который стоит на "Затраты труда рабочих"
sergey-del
Оранжевый пояс
 
Сообщения: 71
Зарегистрирован: 11 июл 2014, 17:37

Re: Отмечаем факт. Материальные ресурсы.

Сообщение oleksiy prosnitskyy » 10 май 2016, 10:56

у вас же planbridge есть. там разработана такая функция
oleksiy prosnitskyy
MVP
 
Сообщения: 1021
Зарегистрирован: 11 дек 2012, 21:16

Re: Отмечаем факт. Материальные ресурсы.

Сообщение sergey-del » 10 май 2016, 17:07

Planbridge есть, но девочка, под пользователем которой был он установлен, ушла в декретный отпуск. И про него благополучно все забыли. А кнопка эта была разработана еще задолго до planbridge. Но про нее, как оказалось, тоже все забыли. А учитывая то, что свои разработки помнятся чуть лучше чем чужие, то про кнопку я вспомнил быстрее (писал ее не я, но писалась и обсуждалась она при мне)
:)
sergey-del
Оранжевый пояс
 
Сообщения: 71
Зарегистрирован: 11 июл 2014, 17:37


Вернуться в Управление проектами в Microsoft Project Server 2013

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2