Tok rada: Planiranje resursa
Uključeni moduli: Opterećenost resursa · Zadaci · Projekti · Evidencija radnog vremena (tajmeri zadataka — NE HR modul evidencije)
Ko ga koristi: Menadžer projekata · Tim lider · Rukovodstvo
Tipično trajanje: Kontinuirano nedeljno/mesečno planiranje
Pregled
Modul Opterećenost resursa pruža konsolidovani prikaz kapaciteta tima i opterećenja na osnovu dodeljenih zadataka. Planiranje se vrši dodeljivanjem zadataka sa startdate, duedate i Estimate hour (prilagođeno polje koje se automatski ubacuje u zadatke).
Kritična razlika: Modul Opterećenost resursa čita isključivo iz sati evidentiranih putem tajmera zadataka (osnovna CRM tabela
tbltaskstimers). Ne čita iz HR modula Evidencija radnog vremena (tbltimesheets_timesheet,tblcheck_in_out, itd.) — taj modul je namenjen HR praćenju radnog vremena (prisustvo, odsustvo), ne projektnim satima.
Samo zaposleni — bez opreme. Ne postoji koncept neljudskih resursa (prostorije, mašine, vozila).
Preopterećenost je vizuelna, ne blokira. Sistem označava ćelije crvenom bojom kada su prekoračeni kapaciteti, ali ne blokira dodeljivanje.
Dijagram toka
[PODEŠAVANJE — admin, jednom]
│
├── Globalno standardno opterećenje: 8h/dan (podrazumevano), radni dani (pon–pet podrazumevano)
├── Po zaposlenom (opciono): individualni kapacitet po danu u nedelji
│ (npr.: radnik sa skraćenim radnim vremenom: pon=4h, uto=4h, sre=0h, čet=4h, pet=4h)
└── Slobodni dani: datumi blokirani za celu kompaniju (različito od HR odsustva!)
│
↓
[PLANIRANJE ZADATAKA]
│
├── Zadatak kreiran/izmenjeni sa:
│ ├── startdate (datum početka)
│ ├── duedate (rok — obavezan za ispravnu raspodelu)
│ ├── Dodeljeni zaposleni (tbltask_assigned)
│ └── Estimate hour (prilagođeno polje tasks_estimate_hour) ← ručno unosi PM
│
├── Sistem raspoređuje procenjene sate dan po dan:
│ raspodela = estimate_hour / radni_dani(početak → rok)
│ kapacitet = dnevni_kapacitet_zaposlenog → višak → sledeći dan
└── Ako duedate nedostaje: sistem koristi datefinished ili danas
│
↓
[PRIKAZ OPTEREĆENOSTI]
│
├── Izveštaji → Opterećenost resursa
│
├── Kartica Opterećenost (mreža tabele):
│ ├── Kolone: Zaposleni | Odeljenje | Uloga | [Datum P/S po danu u opsegu]
│ ├── P = procenjeni sati (iz Estimate hour + raspodele)
│ ├── S = stvarno evidentirani sati (iz tajmera zadataka)
│ ├── CRVENE ćelije = prekoračen dnevni kapacitet
│ └── Prelaz mišem po ćeliji = lista zadataka koji doprinose tom danu
│
├── Kartica Vremenska osa (Frappe Gantt):
│ ├── Zaposleni kao redovi, zadaci kao obojene trake po tipu veze
│ ├── Prevlačenje trake = menja startdate/duedate zadatka + preračunava Estimate hour
│ └── Klik na traku = otvara standardni modalni prozor zadatka
│
├── Kartica Grafikon (Highcharts):
│ ├── Pita: Procenjeni sati — Normalno vs. Preopterećenost
│ ├── Pita: Potrošeni sati — Normalno vs. Preopterećenost
│ └── Naslagana kolona: sati po odeljenju
│
└── Kartica Kanban:
├── Jedna kolona po zaposlenom sa njihovim zadacima
├── 10 zadataka po stranici, paginacija dostupna
└── Zakašnjeli zadaci označeni kao zakašnjeli
│
↓
[EVIDENTIRANJE STVARNIH SATI]
│
├── Zaposleni koristi tajmer na zadatku (dugme Pokreni tajmer iz zadatka)
│ → insert u tbltaskstimers: staff_id, task_id, start_time, end_time
└── Evidentirani sati se pojavljuju u koloni S (Potrošeno) u mreži opterećenosti
│
↓
[PREBALANSIRANJE (ako je detektovana preopterećenost)]
│
├── PM vidi crvene ćelije → identifikuje preopterećene zadatke (prelaz mišem)
├── Prilagodi rok: prevuci na Gantu ILI ručno izmeni duedate na zadatku
└── Prerasporedi zadatak: promeni dodeljene zaposlene na zadatku
[TIM PLANIRAN ✓ · SATI PRAĆENI ✓]
Korak po korak
1. Konfiguracija kapaciteta (admin)
Gde: /admin/settings → Zaposleni → Opterećenost
1a. Globalna podešavanja
| Opcija | Podrazumevano | Opis |
|---|---|---|
standard_workload |
8 |
Radni sati dnevno (rezerva ako zaposleni nema individualno podešavanje) |
staff_workload_monday … sunday |
1 za pon–pet, 0 sub–ned |
Globalni radni dani |
1b. Individualni kapacitet po zaposlenom (opciono)
Gde: Podešavanja → Opterećenost → Prilagodi standardno opterećenje
Mreža Handsontable: svaki red = zaposleni, svaka kolona = dan u nedelji. Unesite sate po ćeliji (npr.: 4 za radnika sa skraćenim radnim vremenom).
Ako ne postoji zapis u tblstandard_workload za zaposlenog, koristi se globalna vrednost standard_workload.
1c. Slobodni dani (državni praznici)
Gde: Podešavanja → Opterećenost → Upravljaj slobodnim danima → Dodaj slobodan dan
| Polje | Opis |
|---|---|
reason |
Razlog (npr.: "Božić", "Tim bilding") |
date |
Blokirani datum |
Napomena: Slobodni dani u Opterećenosti resursa su odvojeni od odsustva u HR modulu Evidencija radnog vremena (
tblday_off). HR modul Evidencija radnog vremena ne utiče na mrežu Opterećenosti resursa.
2. Kreiranje zadataka sa datumima za planiranje
Gde: bilo koji modul koji podržava zadatke (Projekti, Klijenti, Lidovi, Tiketi, itd.)
Bitna polja za Opterećenost resursa:
| Polje | Obavezno | Napomena |
|---|---|---|
startdate |
Da | Datum početka zadatka |
duedate |
Preporučeno | Bez roka, sistem koristi danas ili datefinished |
Estimate hour |
Da | Prilagođeno polje ubačeno od strane modula — ručno unosi PM |
assigned (tbltask_assigned) |
Da | Dodeljeni zaposleni (može biti više) |
Polje Estimate hour: je prilagođeno polje tipa number sa slug-om tasks_estimate_hour, automatski ubačeno u sve zadatke pri instalaciji modula. Pojavljuje se u obrascu zadatka pod nazivom "Estimate hour".
3. Pregled opterećenosti
Gde: /admin/reports/resource_workload (zahteva dozvolu pw_rp_resource_workload → view)
3a. Kartica Opterećenost
Dostupni filteri:
- Opseg datuma (podrazumevano: poslednjih 7 dana → danas)
- Filtriranje po pojedinačnom zaposlenom, odeljenju, ulozi ili projektu
Čitanje mreže:
- P (Procenjeno) = sati raspoređeni iz
Estimate hourpo danu - S (Potrošeno) = stvarno evidentirani sati putem tajmera zadataka po danu
- Crveno = P ili S prelazi dnevni kapacitet tog zaposlenog
- Tooltip pri prelasku mišem = lista zadataka koji doprinose toj ćeliji
3b. Kartica Vremenska osa (Gant)
Obojene trake po tipu veze zadatka:
- Plavo = zadatak projekta (
rel_type = 'project') - Zeleno = zadatak klijenta (
rel_type = 'customer') - Narandžasto = zadatak tiketa (
rel_type = 'ticket') - itd.
Prevlačenje traka: menja startdate i duedate direktno na zadatku → Estimate hour se automatski preračunava na osnovu radnih dana × dnevnog kapaciteta.
4. Evidentiranje stvarnih sati
Stvarni sati (kolona S) dolaze iz tajmera zadataka, ne iz HR modula Evidencija radnog vremena:
Gde: bilo koji zadatak → dugme Pokreni tajmer (ili ručno Evidentiranji vreme)
| Akcija | Popunjena tabela |
|---|---|
| Pokretanje/zaustavljanje tajmera na zadatku | tbltaskstimers — start_time, end_time, staff_id, task_id |
| Ručno evidentiranje vremena na zadatku | tbltaskstimers — identična polja |
Sati iz HR Evidencije radnog vremena (ulaz/izlaz, evidencija prisustva) se NE POJAVLJUJU u Opterećenosti resursa.
5. Identifikacija preopterećenosti i prebalansiranje
- Detekcija: crvene ćelije u mreži Opterećenosti ili kriške "Preopterećenost" u kartici Grafikon
- Identifikacija problematičnih zadataka: prelaskom mišem po crvenoj ćeliji → tooltip navodi zadatke
- Akcije prebalansiranja:
- Produži rok: prevuci na Gantu ili izmeni
duedatena zadatku - Prerasporedi: promeni dodeljene zaposlene na zadatku
- Smanji procenu: izmeni polje
Estimate hourna zadatku
- Produži rok: prevuci na Gantu ili izmeni
- Provera: ponovo učitaj mrežu da bi potvrdio da su ćelije zelene
Potrebne dozvole
| Dozvola | Pristup |
|---|---|
pw_rp_resource_workload → view |
Pristup stranici Opterećenost resursa (sve 4 kartice) + izmena podešavanja opterećenosti + prevlačenje na Gantu |
Napomena: Ne postoje odvojene granularne dozvole za pregled/izmenu/brisanje u Opterećenosti resursa. Jedna oznaka
viewkontroliše sve — uključujući mogućnost izmene kapaciteta po zaposlenima i preplaniranja zadataka putem Ganta.
Česte greške
| Problem | Uzrok | Rešenje |
|---|---|---|
| Zaposleni se ne pojavljuje u mreži | Nije aktivan ili nema zadataka u odabranom opsegu | Proverite active=1 na zaposlenom + proširite opseg datuma |
| Kolona S = 0 iako su sati evidentirani | Sati su u HR Evidenciji radnog vremena, ne u tajmerima zadataka | Evidentirajte sate putem tajmera zadataka (ne putem HR prijave) |
| Estimate hour nedostaje iz zadatka | Prilagođeno polje nije popunjeno | Popunite polje Estimate hour na svakom zadatku |
| Zadatak bez roka se ne pojavljuje ispravno u mreži | duedate nedostaje → sistem koristi danas |
Uvek postavite duedate na planiranim zadacima |
| Prevlačenje na Gantu ne čuva | Nedostaje dozvola | Proverite da zaposleni ima pw_rp_resource_workload → view |
| HR odsustvo ne blokira dane u Opterećenosti | Moduli su potpuno odvojeni | Ručno dodajte slobodne dane u Opterećenost → Slobodni dani |
Reference modula
- Zadaci — zadaci sa Estimate hour i tajmerima
- Projekti — projekti i projektni zadaci
- Evidencija radnog vremena — HR praćenje radnog vremena (odvojeno od Opterećenosti resursa)
- Izveštaji — ostali izveštaji o performansama