Timesheets
Czas pracy i rozliczenia
Do czego służy
Record time spent on project tasks in minutes, mark it billable and run it through an approval step. Needs the Projects package.
Co pakiet robi, a czego nie robi
Time spent on project tasks, entered in minutes, with a billable flag and an approval step. Needs the Projects package.
Modele
timesheets_entry
Time one person spent on one task on one day
Grupa odczytu: timesheets.user. Grupa zapisu: timesheets.user.
| Pole | Rodzaj | Klasa danych | Dane osobowe | Grupa | Agenci widzą | Opis |
|---|---|---|---|---|---|---|
task_id | ref → projects_task | none | nie | timesheets.user | jawnie | The task worked on |
worker | text | internal | tak | timesheets.user | zamaskowane | Name of the person who did the work |
worked_on | date | none | nie | timesheets.user | jawnie | Day the work was done (YYYY-MM-DD) |
minutes | number | none | nie | timesheets.user | jawnie | Time spent, in minutes |
billable | bool | none | nie | timesheets.user | jawnie | Whether the time can be charged to the customer |
description | text | none | nie | timesheets.user | jawnie | What was done |
cost_rate | money | financial | tak | timesheets.cost_viewer | wstrzymane | Internal hourly cost of the worker at the time of entry (minor currency units, e.g. cents) |
state | select (draft, submitted, approved) | none | nie | timesheets.user | jawnie | Entry status: draft, submitted, approved |
Przepływy pracy
timesheets_entry
| Akcja | Przenosi | Kto może uruchomić | Zatwierdzenie |
|---|---|---|---|
timesheets_entry.submit | state: draft → submitted | timesheets.user | nie |
timesheets_entry.approve | state: submitted → approved | timesheets.manager | nie |
timesheets_entry.reject | state: submitted → draft | timesheets.manager | nie |
Grupy uprawnień
Grupy używane przez tę aplikację:
timesheets.cost_viewertimesheets.managertimesheets.user
Kroki zatwierdzania
Żaden krok w tej aplikacji nie wymaga zatwierdzenia, poza usuwaniem rekordów.
Co agenci mogą, a czego nie mogą
Agent może odczytywać, wyszukiwać, tworzyć i aktualizować rekordy tej aplikacji oraz uruchamiać akcje niewymagające zatwierdzenia, w ramach grup uprawnień swojego tokenu.
Te kroki może tylko zaproponować, a człowiek musi je zatwierdzić: timesheets_entry.delete.
Dane osobowe są maskowane jako tokeny zastępcze: timesheets_entry.worker.
Te pola są całkowicie wstrzymane i niedostępne dla agentów: timesheets_entry.cost_rate.
Zależności
projects
Instalacja
Zainstaluj ją w aplikacji Customize (Marketplace) lub z wiersza poleceń:
obop modules install-from timesheetsWymaga bazy danych i uprawnień administratora.
Zbuduj własną
Przewodnik po modułach pokazuje, jak pisze się takie aplikacje