Преминете към основното съдържание

Задачи и график

Задачите са основният инструмент за планиране и проследяване на работата по проект. Системата поддържа йерархична структура с два вида задачи — контейнери (групиращи задачи) и листови задачи (конкретна работа).

Видове задачи

Контейнер

Контейнерът групира подзадачи. Използва се за организиране на работата по фази, раздели или зони на строежа.

  • Може да съдържа листови задачи и под-контейнери
  • Не изисква мерна единица или количество
  • Процент на завършване се изчислява автоматично: действителни разходи / бюджет × 100
  • Датите (начало/край) се извличат автоматично от датите на подзадачите
  • Може да бъде свързан с етап от продажбите (строителна фаза)

Листова задача

Листовата задача представлява конкретна работа с измеримо количество.

  • Изисква мерна единица, количество и единична цена
  • Процент на завършване се въвежда ръчно (изпълнено количество)
  • Има конкретни начална и крайна дата
  • Може да има зависимости от други задачи

Йерархия и дълбочина

Задачите се организират в дърво с ограничена дълбочина:

Ниво 0: Контейнер А           ← корен (без родител)
Ниво 1: Контейнер А-1 ← под-контейнер
Ниво 2: Листова задача ← конкретна работа
Ниво 1: Листова задача ← конкретна работа
Ниво 0: Листова задача ← без контейнер
ТипМаксимална дълбочина
КонтейнерНиво 0 или 1
Листова задачаНиво 0, 1 или 2

Жизнен цикъл на задача

При промяна на статус се записва история с дата и потребител.

Каскадна промяна на статус при контейнери

Когато маркирате контейнер като Завършен, системата предлага автоматично да завърши всички подзадачи. Появява се диалог за потвърждение, показващ:

  • Засегнати контейнери и листови задачи
  • Незавършени листови задачи (изпълненото количество е по-малко от планираното)

Промяната на статус не се разпространява обратно — ако повторно отворите контейнер, подзадачите запазват своя статус.

Gantt диаграма

Задачите се визуализират като Gantt диаграма, която показва:

  • Времевата линия на всяка задача
  • Зависимости между задачи (стрелки)
  • Планирани срещу фактически дати
  • Процент на завършване

Зависимости в Gantt диаграмата

Задачите могат да зависят от завършването на предходни задачи. Зависимостите са от тип завърши→започни: задача Б може да започне едва когато задача А приключи.

Създаване на зависимост чрез плъзгане:

  1. Задръжте курсора над лентата на дадена задача — появява се кръгъл маркер вдясно.
  2. Кликнете и плъзнете маркера към целевата задача.
  3. Системата проверява за циклични зависимости и отказва невалидни връзки.

Изтриване на зависимост:

  1. Кликнете върху стрелката на зависимостта — тя се маркира в червено.
  2. Появява се бутон ×. Кликнете върху него, за да изтриете зависимостта.

Предупреждение при незавършени зависимости:

Ако се опитате да смените статуса на задача на „Започната", а нейните предходни задачи не са завършени, системата показва предупреждение с техния списък. Можете да продължите и да игнорирате зависимостта.

Преместване на задачи в Gantt диаграмата

Задачите могат да бъдат преместени в йерархията чрез плъзгане:

  • Плъзнете задача отляво или надясно от друга задача, за да я направите съседна (на същото ниво).
  • Плъзнете задача над друга задача, за да я направите дъщерна (дете).
  • Ако плъзнете задача върху листова задача, системата ще предложи да конвертира целевата задача в контейнер.

Таблица с план на задачите

Режими на изглед

Таблицата предлага два режима, избираеми от падащото меню в лентата с инструменти:

РежимОписание
Своден изгледПоказва само задачите на текущото ниво. Кликването върху контейнер „пробива" навътре.
Плосък изгледПоказва всички задачи наведнъж (контейнери и листови).

Навигация в сводния изглед

При „Своден изглед" таблицата показва само задачите на избраното ниво:

  • Кликване върху контейнер — показва неговите дъщерни задачи.
  • Хлебни трохи (breadcrumbs) над таблицата показват текущия път и позволяват навигация нагоре.
  • Кликване върху листова задача — отваря страницата за редакция.

Колони в таблицата

КолонаКонтейнерЛистова задача
Наименованиеполучер текстнормален текст
Статусстатус + каскадна промянастатус
Началомин. от дъщерните задачиначална дата
Краймакс. от дъщерните задачикрайна дата
БюджетestimatedTotalCost (с индикатор ↘ при превишаване)estimatedTotalCost
Бюджет на децаwithChildren.estimatedTotalCost
Мерна единицамерна единица
Планирано кол.estimatedAmount
Завършване% (авт. изчислен) — само за четенезавършено кол. / планирано кол.
Действителна стойностсобствени + дъщерни разходидействителни разходи
Зависимостиимена на предходни задачиимена на предходни задачи
Строителна фазасвързана фаза

Индикатор за превишен бюджет (↘)

Показва се в колона „Бюджет" при контейнери и листови задачи, когато:

  • Зададен е ръчен бюджет (Override), И
  • Бюджетът е по-малък от сумата на подзадачите

Формат: 100,000 ↘20,000 (червен текст). При задържане на курсора: „Бюджет: 100,000 / Бюджет на деца: 120,000 / Превишение: 20,000".

Създаване на задача

  1. Отворете проекта и отидете в секция Задачи.
  2. По избор изберете задача в списъка/Gantt диаграмата, за да зададете къде да се добави новата задача (вижте по-долу).
  3. Натиснете "Нова задача".
  4. Изберете типа: Контейнер или Листова задача.
  5. Попълнете полетата.
  6. Натиснете "Запази".

Къде се добавя новата задача

Позицията на новата задача зависи от това коя задача е избрана в момента на създаване:

Избрана задачаКъде се добавя новата задача
Дъщерна задача (под контейнер)Като съседна задача — на същото ниво и под същия родител, непосредствено след избраната задача.
Коренова задача (без родител)На корен ниво (без родител).
Няма избрана задачаНа корен ниво, в края на списъка.
Бележка

Новата задача никога не се създава вътре в (като дете на) избраната задача. За да преместите задача в друг контейнер, използвайте плъзгане в Gantt диаграмата (вижте Преместване на задачи).

Полета на контейнер

ПолеОписаниеЗадължително
НаименованиеИмето на контейнераДа
КодКратък идентификатор (до 10 символа)Не
СтатусТекущо състояниеДа
Планирана начална датаАвтоматично изчислена от дъщерните задачи (минимум). Само за четене.
Планирана крайна датаАвтоматично изчислена от дъщерните задачи (максимум). Само за четене.
Фактическа начална датаАвтоматично изчислена (вижте Планирани и фактически дати). Само за четене.
Фактическа крайна датаАвтоматично изчислена (максимум от децата). Само за четене.
БюджетВижте Бюджет на задачаНе
ОписаниеДопълнителен текст (до 2000 символа). Видим само в страницата за редакция.Не
Строителна фазаСвързване с фаза от продажбитеНе
Родителска задачаКонтейнер, под който се създава (или корен)Не

Полета на листова задача

ПолеОписаниеЗадължително
НаименованиеИмето на задачатаДа
КодКратък идентификатор (до 10 символа)Не
СтатусТекущо състояниеДа
Планирана начална датаДата, на която планирате да започнетеДа
Планирана крайна датаДата, на която планирате да завършите. Не може да е преди началната.Да
Фактическа начална датаАвтоматично изчислена (вижте Планирани и фактически дати). Само за четене.
Фактическа крайна датаАвтоматично при статус „Завършена". Ръчно редактируема само за вече завършени задачи (ретроактивна корекция).
Мерна единицаЕдиница за измерванеДа
Планирано количествоОчаквано количество работаДа
Единична ценаЦена за единицаДа
Планирани часовеОчаквани работни часовеДа
ОписаниеДопълнителен текст (до 2000 символа). Видим само в страницата за редакция.Не
БюджетВижте Бюджет на задачаНе
Родителска задачаКонтейнер, под който се създава (или корен)Не

Бюджет на задача

Всяка задача (контейнер или листова) има поле Бюджет, което контролира стойността на estimatedTotalCost.

Автоматично изчисление (по подразбиране)

Когато квадратчето „Замяна на автоматично изчисления бюджет" не е отметнато:

Тип задачаФормула за бюджет
КонтейнерСума от бюджетите на всички дъщерни задачи
Листова задачаПланирано количество × Единична цена

Ръчно задаване на бюджет (Override)

Когато квадратчето „Замяна на автоматично изчисления бюджет" е отметнато:

  • Въведете желания бюджет в полето Бюджет.
  • За листови задачи: полетата „Планирано количество", „Единична цена" и „Мерна единица" стават само за четене — те не влияят върху бюджета.
  • За контейнери: бюджетът е фиксиран и не се актуализира при промяна на подзадачите.

За да върнете автоматичното изчисление: махнете отметката от квадратчето — бюджетът мигновено се изчислява отново.

Редакция и изтриване

  • За редакция кликнете върху задачата в списъка или Gantt диаграмата.
  • Промените в бюджета, статуса, зависимостите и другите полета се запазват след натискане на "Запази".
  • За изтриване използвайте бутона "Изтрий" в детайлите на задачата.

Конвертиране на типа задача

Съществуваща задача може да бъде конвертирана от листова в контейнер и обратно от страницата за редакция (бутон "Конвертирай"):

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

Зависимости между задачи

Зависимостите се управляват от секцията Зависимости при редакция на задача или чрез плъзгане в Gantt диаграмата.

  • Всяка задача може да зависи от произволен брой предходни задачи.
  • Системата открива и отказва циклични зависимости.
  • Самозависимост не е разрешена.

Проследяване на разходи

За всяка задача системата автоматично изчислява и обобщава:

ПоказателКонтейнерЛистова задача
Изработени часовесума от дъщернитеот часовите отчети
Разходи за материалисума от дъщернитеот фактури
Разходи за услугисума от дъщернитеот фактури
Разходи за трудсума от дъщернитеот часовите отчети
Действителна обща стойностсобствени + дъщернисобствена
Действителна единична ценаизчислена
Процент завършванеавт. (разходи/бюджет×100)ръчно (кол./план.кол.)

Bulk създаване от CSV

За бързо добавяне на много задачи наведнъж можете да импортирате от CSV файл.

  1. Подгответе CSV файл с колони за наименование, код, дати и другите полета.
  2. В секцията Задачи натиснете "Импорт от CSV".
  3. Изберете файла и прегледайте данните.
  4. Потвърдете импорта.

Импортираните задачи се създават като листови задачи на корен ниво.

Импорт на задачи от рецепта

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

Достъп: само потребители с роля Собственик или Администратор.

Стъпка 1 — Избор на рецепта

  1. Отворете секция Задачи в проекта.
  2. В лентата с инструменти натиснете "Импортирай рецепта".
  3. Появява се диалог с дърво от всички налични рецепти (скритите не се показват):
    • Рецепти с деца — показани с икона на папка.
    • Листови рецепти (без деца) — показани с икона на документ.
  4. Кликнете върху желаната рецепта, за да я маркирате.
  5. Натиснете "Напред".

Стъпка 2 — Преглед и редакция

В стъпка 2 се показват всички задачи, които ще бъдат създадени:

ПолеОписание
Родителска задачаКонтейнер в проекта, под който да се добавят новите задачи (по избор).
Начална датаДатата, от която стартира първата задача от рецептата.
НаименованиеПредварително попълнено от рецептата. Редактируемо.
КодАвтоматично генериран от първите три съгласни на наименованието. Редактируем.
ОписаниеАвтоматично попълнено от описанието на рецептата и бележките към под-елементите. Редактируемо.
КоличествоЗадължително за листови задачи — въвеждате го ръчно.
Единична ценаПредварително попълнена от рецептата. Редактируема.
Планирани часовеИзчислени от продължителността на рецептата (дни × 8). Редактируеми.
Начална/крайна датаАвтоматично каскадно изчислени от началната дата. Редактируеми.

Включи/Изключи задача: всеки ред има чекбокс. При изключване на контейнер автоматично се изключват и всичките му деца.

Проверка на дълбочина: ако при избраната родителска задача някоя задача би надвишила максималната дълбочина, тя се маркира в червено. Бутонът „Импортирай" е деактивиран докато има нарушения.

Дати при импорт (каскадно изчисление)

  • Контейнерът получава началната дата, зададена в диалога.
  • Всяка следваща задача започва когато завършва предходната (последователно планиране).
  • Крайната дата на контейнера е максималната крайна дата от всички деца.

Автоматично генериране на код

Кодът се генерира от първите три съгласни на наименованието (поддържат се латиница и кирилица, в горен регистър). При съвпадение с вече съществуващ код в проекта се добавя числов суфикс: „ФНД", „ФНД2", „ФНД3".

Завършване на импорта

Натиснете "Импортирай". При успех диалогът се затваря, таблицата с задачи се обновява и се показва съобщение с броя на импортираните задачи.

Съвет

Бюджетът на новосъздадените контейнери първоначално показва 0 и се изчислява автоматично от системата след няколко секунди.

Планирани и фактически дати

Всяка задача има четири дати: две планирани (задават се ръчно при създаване/редакция) и две фактически (изчисляват се автоматично от извършената работа).

Важно

В интерфейса двете полета са етикетирани „Фактическа начална дата" и „Фактическа крайна дата". (По-стари материали може да ги наричат „действителни" — става въпрос за същите полета.)

ДатаПроизходРедакция
Планирана начална датаРъчно — при създаване/редакция на задачатаВинаги редактируема (със съответните права). Само за листови задачи — при контейнери е само за четене.
Планирана крайна датаРъчно — при създаване/редакция на задачатаВинаги редактируема. Само за листови задачи. Не може да бъде преди планираната начална дата.
Фактическа начална датаСистемно изчислена от доказателстваСамо за четене
Фактическа крайна датаЛистова: при маркиране „Завършена". Контейнер: максимум от децата.Листова: ретроактивна корекция върху завършени задачи. Контейнер: само за четене.

Фактическа начална дата — източници на доказателства

За листови задачи фактическата начална дата е най-ранната от следните събития, свързани със задачата:

  • Дата на първата покупка на материал (Дата на доставка от записа за покупка)
  • Дата на първия отчетен работен час (hours > 0)
  • Дата на първата услуга, фактурирана към задачата (датата на издаване на фактурата за покупка)
  • Дата на ръчно превключване на статус на „В процес" (ако горните три липсват)
  • Планираната начална дата — ако задачата е маркирана „Завършена" и няма никакви доказателства (покупки/часове/услуги), а фактическата начална дата все още е празна. Това е резервен вариант само за попълване: ако фактическата начална дата вече е изчислена от доказателство или замразена, тя се запазва.

За контейнери: минималната от собствените доказателства (директни покупки/услуги/часове на контейнера) и фактическите начални дати на дъщерните задачи.

Винаги се преизчислява, не само при първо събитие. Ако добавите назад-датирано доказателство (по-стар работен час, по-стара покупка), фактическата начална дата автоматично се „издърпва" към по-ранна стойност, за да отрази реалния старт на работата.

Замразяване при завършени задачи: ако задача вече е със статус „Завършена" и изтриете последното доказателство, фактическата начална дата не се изчиства — запазва се историческата информация.

Фактическа крайна дата

Тип задачаПоведение
ЛистоваПопълва се при смяна на статус на „Завършена" (записва се текущата дата и час). При връщане на статуса обратно (повторно отваряне на задачата) полето автоматично се изчиства. При повторно завършване — се записва нова текуща дата. Може да бъде коригирана ръчно само за вече завършени задачи (ретроактивна корекция).
КонтейнерАвтоматично се изчислява като максималната от фактическите крайни дати на дъщерните задачи. Не може да бъде задавана ръчно. Изчиства се автоматично, когато никое дете няма крайна дата.

Каскадно завършване на контейнер автоматично записва фактическа крайна дата (текущата дата) на всички дъщерни листови задачи едновременно. При повторно отваряне на контейнера тези дати се изчистват.

Валидация

При запис системата отказва задачи, в които планираната крайна дата е преди планираната начална дата — формата показва грешка веднага и бутонът „Запази" се деактивира до отстраняване на проблема.

Поведение в Gantt диаграмата

Състояние на задачатаНачало на лентатаКрай на лентата
Не е започната (липсва фактическа начална дата)планирана начална датапланирана крайна дата
В процесфактическа начална датапланирана крайна дата
Завършенафактическа начална датафактическа крайна дата

Лентата винаги покрива фактическия диапазон (начало → край от таблицата по-горе). Дължината ѝ е консистентна във всички мащаби на диаграмата — ден, седмица, месец, тримесечие и година: при смяна на изгледа лентата се преоразмерява пропорционално, така че винаги съответства на същия период. Точките за зависимости, дръжките за влачене и стрелките се закачат за видимите краища на лентата.

Закъснели задачи (планирана крайна дата е минала и статусът не е „Завършена") се рендират с диагонална червена щриховка. Планираната крайна дата не се удължава автоматично — отклонението остава видимо.

Обобщения на ниво проект

Детайлът на проекта показва обобщените стойности Планирано начало/край и Фактическо начало/край, изчислени от задачите на най-горно ниво.

Вижте също