//
в момента четете
Microsoft Project

Изчисляване на календарната продължителност на график направен в работни дни

В практиката се налага да се дава продължителността на графици както в работни, така и в календарни дни. Именно това е темата на настоящото ръководство, което цели да покаже една от добрите практики в тази насока.

Фиг.1 - Изобразяване на работни и календарни дни

Фиг.1 – Изобразяване на работни и календарни дни

За пример се разглежда казус в, който е направен график в работни дни, но трябва да бъде представен в календарни дни. Едно от основните изисквания е да не бъдат променяни дати, а целта е това да стане с минимално усилия. В следващите редове ще се направи нов календар със седем дневна работна седмица и ще се добави колона, която ще показва продължителността на задачите в календарни дни.

Трябва да се има предвид, че задача с продължителност от 4 работни дни, може да запази своята продължителност ако не пресича почивните. За пример от понеделник до четвъртък са 4 работни и 4 календарни дни). В тази връзка за пълнота ще се добави още една колона, която ще показва графичен индикатор (в този случай стрелка) за задачите при, които има разлика в продължителността.

Стъпките за изпълнение на примера са:
1. Набиране на работен пример
2. Създаване на календар
3. Добавяне на колона за календарни дни

Набиране на работен пример

За добрата илюстрация на ръководството е качен пример, който може да бъде набран по показаната Фиг. 2.

Фиг.2 - Работен пример

Фиг.2 – Работен пример

При набирането трябва да се има в пред вид спазването на началото на графика (Start Date: 12 Януари 2012 г.), структурата от задачи с клонове на илюстрирания на Фиг. 2 график, технологичната последователност между задачите и техните продължителности. След финализиране на графика трябва да бъде проверен и настоящия календар, който трябва да е за 5 дневна работна седмица.

.

Създаване на календар

Стандартния календар в Microsoft Project е направен за 5 дневна работна седмица с 8 часов работен ден. За да може да изчислим календарната продължителност на графика трябва да създаден нов календар. Той трябва да е за 7 дневна работна седмица по 8 часа.

За целта стартираме диалоговият прозорец Change Working Time от менюто:

Tools -> Change Working Time
Фиг.3 - Създаване на нов календар

Фиг.3 – Създаване на нов календар

Следващата стъпка е да създадем нов календар с натискането на бутона Create New Calendar (илюстрирано на Фиг. 3) и да му дадем името 7days.

Фиг.4 - Настройка на календара за пълна работна седмица

Фиг.4 – Настройка на календара за пълна работна седмица

За да бъде настроен календара на 7 дневна работна седмица трябва да се следват стъпките илюстрирани на Фиг. 4:

1. Избира се таба Work Weeks
2. Избира се бутона Details…
3. Избира се събота
4. Избира се опцията Set day(s) to these specific working times
5. Попълва се в таблицата работно време от 08:00 – 12:00 и 13:00 – 17:00
6. Натиска се на бутона ОК
7. Натиска се още веднъж на бутона OK

С горните редове вече е изпълнена междинната задача по съставянето на нов календар.

.

Добавяне на колона за календарни дни

По план това е стъпката в, която трябва да бъде добавена колона показваща календарната продължителност за всеки ред. За целта трябва да се извади колона тип Duration1, както е показано на Фиг. 5.

Фиг.5 - Добавяне на нова колона

Фиг.5 – Добавяне на нова колона

Диалогът Column Definiton се стартира, като се пусне менюто с десен бутон от антетката на основната таблица. Стъпките изобразени на Фиг. 5 са:

1. В полето Field name се избира Duration 1
2. В полето Title се избира името “7 дни”
3. Избира се ОК

За да бъдат показани желаните стойности трябва да зададем формула на въпросната колона. Използваната формула е ProjDateDiff, която има синтаксис:

ProjDateDiff( [start], [finish], "calendar")

Смисълът на тази формула е, че изчислява броя дни между двете дати по зададения календар (3тия аргумент).

Фиг.6 - Задаване на формула за новата колона

Фиг.6 – Задаване на формула за новата колона

В конкретния случай за да се стигне до стъпките изброени на Фиг. 6 трябва с десен бутон върху колоната “7 дни” да се избере Customize Fields. Стартира се диалогът Custom Fields. Съответно последващите стъпки са:

1. Избира се бутона Formula
2. В стартиралия се диалог Formula for се въвежда формулата:

ProjDateDiff([Start];[Finish];"7days")

3. Избира се ОК
4. Връщайки се в диалога Custom Fields се избира опцията Use formula
5. Отново се избира ОК

Резултатът от изпълнението на ръководството до тук трябва да е същият като този илюстриран на Фиг. 7:

Фиг.7 - Колоната с календарни дни

Фиг.7 – Колоната с календарни дни

В заключение трябва да се отбележи, че пример може да бъде обърнат. Това прави метода приложим за превръщане на срокове от календарни в работни дни.

.

.

ДОПЪЛНИТЕЛНО

Създаване на индикатор

По аналогичен начин може да се създаде колона показваща с индикатор на кои редове има разлики в продължителността между календарни и работни дни.

За целта трябва да се създаде колона тип Flag и за нея да се добави формулата:

IIf([Duration]=[Duration1];"Yes";"No")

След това от диалога Custom Fields в раздела Values to display трябва да се избере Graphical Indicators… От там може да се извършат интуитивните настройки за това какъв знак искаме да се изобразява и то при какви условия.

На Фиг. 1 е може да се види крайният резултат.

.

Преименуване на колони

Добра практика е да се преименуват колоните в, които се пишат формули. Това става с бутона Rename в диалога Custom Fields. Трябва да прави разлика между името на колоната и нейната титла в таблицата.

Discussion

21 thoughts on “Изчисляване на календарната продължителност на график направен в работни дни

  1. дава синтактична грешка на формулата

    Posted by Velin | 01.03.2012, 12:51
    • Мога да ти дам две идеи:
      1во провери дали имената на календарите са ти същите
      2ро пробвай вместо с “;” с “,”

      Кажи ако не е проработило. Мога да ти пусна примерния файл.

      Posted by инж. Мартин В. Симеонов | 12.09.2012, 11:01
  2. При изчисляване на календарната продължителност на работа с прекъсната продължителност се отчита и времето ,през което е прекъсната работата.

    Posted by Виолета | 12.09.2012, 10:44
    • Това е защото продължителността ти се смята по начална и крайна дата. Принципно бих те посъветвал да не прекъсваш задачите а да направиш две.

      Ако все пак решиш да ги прекъснеш ще ти се наложи да направиш доста по сложна формула, в която да изчислиш прекъсването по стандартния календар и в последствие да го извадиш.

      Posted by инж. Мартин В. Симеонов | 12.09.2012, 11:00
    • И още една идея. Ако всичките ти работи ще прекъснат за някакъв период (за пример новогодишните празници 1 седмица или по друго изискване) можеш да дефинираш прекъсването и в двата календара.

      Тогава ще ти се отчете прекъсването.

      Posted by инж. Мартин В. Симеонов | 12.09.2012, 11:04
  3. Страхотен нагледен пример! Благодаря!

    Posted by NN | 17.09.2012, 11:10
  4. Как се задават продължителност на задачите , и как се правят фази

    Posted by Иваничка Петкова | 24.01.2013, 19:38
    • Боя се, че това е предмет на друго ръководство. Настоящото е за малко по – напреднали потребители.

      Планирам да напиша някое ръководство за по – базови неща.

      Posted by инж. Мартин В. Симеонов | 24.01.2013, 20:39
  5. Страхотно. Нещо друго ценно

    Posted by Evgeni | 17.05.2013, 9:34
  6. Може ли да попитам за една обществена поръчка имаме да направим линеен график в календарни дни като не е дадено кога ще започне строителството. Направили сме го в работни дни спрямо нормите как да го представим в календарни дни.

    Posted by Marinela | 13.05.2014, 14:36
    • Това ръководство ще ви свърши работа за вашият въпрос. Все пак ако имате затруднения можете да ми пишете лично simeonov.martin@gmail.com

      Posted by инж. Мартин В. Симеонов | 13.05.2014, 17:37
  7. пробвах формулата , но не се получава . дава синтактична грешка . смених ; с , но пак дава едно и също . Аз съм си направила календара стандарт с работно време в събота , а в неделя не се работи .Дали това има значение ? Аз превръщам календарна продължителност в работни дни .

    Posted by antoinet | 26.06.2014, 0:00
    • Здравей,
      можеш ли да копираш формулата и името на календара, който си направила, за да проследиме от къде идва грешката.

      Posted by инж. Мартин В. Симеонов | 26.06.2014, 12:19
  8. Здравейте, след като въведох формулата ми дава ERROR и не ми смята календарните дни. Къде мога да греша?

    Posted by Mariyana Radeva | 29.06.2015, 12:24
    • Здравейте,
      Проверете дали ако размените “;” с “,” няма да се оправи. Друг вариант би могъл да бъде сбъркано има на календар.

      Posted by Martin Simeonov | 25.04.2016, 16:26
  9. Бяхте ми изключително полезен с описания пример! Благодаря!

    Posted by инж. Мирчева | 25.04.2016, 14:55
  10. Имам и един въпрос. Би ли могло калндарния график да се изчислява и за окрупнените задачи, а не само за всяка под-задача по отделно?

    Posted by инж. Мирчева | 25.04.2016, 14:57
    • Здравейте,
      На Фиг. 6 има една отметка. Номерирана е с номер 4. С нея се оказва формулата да важи и за клоновете. Ако това не ви свърши работа пишете.

      Posted by Martin Simeonov | 25.04.2016, 16:27
  11. Здравейте, как мога да си изтегля софтуера…..не виждам никъде да пише download…. ??😦

    Posted by Ivelina | 19.05.2016, 16:56
    • Здравей Ивелина. Програмата Project е направена от Microsoft и е част от Microsoft Office.

      Posted by Martin Simeonov | 22.05.2016, 1:56

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: