]> wagnertech.de Git - mfinanz.git/blob - doc/html/ch03s13.html
restart apache2 in postinst
[mfinanz.git] / doc / html / ch03s13.html
1 <html><head>
2       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3    <title>3.13. Zeiterfassung</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.9.2: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch03.html" title="Kapitel 3. Features und Funktionen"><link rel="prev" href="ch03s12.html" title="3.12. Dispositionsmanager/Einkaufshelfer"><link rel="next" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.13. Zeiterfassung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s12.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 3. Features und Funktionen</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="3.13. Zeiterfassung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.timerecording"></a>3.13. Zeiterfassung</h2></div></div></div><p>
4         Seit der Version 3.5.7 enthält kivitendo ein Modul zur Zeiterfassung.
5         Damit ist es möglich, auftrags-, kunden- oder projektbezogen,
6         Arbeitszeiten zu erfassen. Die erfassten Zeiten können über einen
7         Hintergrund-Job in Lieferscheine umgewandelt werden.
8       </p><div class="sect2" title="3.13.1. Konfiguration"><div class="titlepage"><div><div><h3 class="title"><a name="features.timerecording.config"></a>3.13.1. Konfiguration</h3></div></div></div><p>
9           Die Zeiterfasssung funktioniert auch ohne Konfiguration, sofern der Benutzer
10           die entsprechenden Rechte besitzt. Allerdings ist
11           es möglich, Artikel für die Zeiterfassung zu konfigurieren, die im Bericht
12           ausgewertet und bei der Umwandlung zum Lieferschein verwendet werden
13           können.
14           Zudem kann auf benutzerebene eingestellt werden, ob Zeiten mit Start- und
15           End-Zeit oder mit Datum und Dauer erfasst werden sollen.
16         </p><div class="sect3" title="3.13.1.1. Zugriffsrechte"><div class="titlepage"><div><div><h4 class="title"><a name="features.timerecording.config.rights"></a>3.13.1.1. Zugriffsrechte</h4></div></div></div><p>
17             In der Rechteverwaltung im Admin-Bereich können im Zusammenhang mit
18             der Zeiterfassung drei verschiedene Rechte vergeben werden:
19
20             </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
21                            <span class="emphasis"><em>Zeiterfassungen erfassen, bearbeiten und ansehen</em></span>
22                         </p><p>Diese Recht steuert, ob eine Gruppe den Menüpunkt zur
23                 Zeiterfassung überhaupt sehen und diese verwenden kann.</p></li><li class="listitem"><p>
24                            <span class="emphasis"><em>Zeiterfassungseinträge aller Mitarbeiter anzeigen</em></span>
25                         </p><p>Ohne dieses Recht darf ein Benutzer einer Benutzergruppe,
26                 die die Zeiterfassung verwenden darf, nur Zeiteinträge im Bericht
27                 sehen, bei denen dieser als Mitarbeiter eingetragen ist.</p></li><li class="listitem"><p>
28                            <span class="emphasis"><em>Zeiterfassungseinträge aller Mitarbeiter bearbeiten</em></span>
29                         </p><p>Ohne dieses Recht darf ein Benutzer einer Benutzergruppe,
30                 die die Zeiterfassung verwenden darf, nur Zeiteinträge anlegen
31                 und bearbeiten, bei denen dieser als Mitarbeiter eingetragen ist.</p></li></ul></div><p>
32
33           
34                </p></div><div class="sect3" title="3.13.1.2. Artikel für Zeiterfassung"><div class="titlepage"><div><div><h4 class="title"><a name="features.timerecording.config.part"></a>3.13.1.2. Artikel für Zeiterfassung</h4></div></div></div><p>
35             Unter <span class="emphasis"><em>
36                      <span class="guimenu">System</span>
37             → <span class="guisubmenu">Artikel für Zeiterfassung</span>
38                   </em></span>
39             können Artikel zur Nutzung mit der Zeiterfassung erfasst werden. Diese Artikel
40             müssen eine zeitbasierte Einheit haben.
41           </p></div><div class="sect3" title="3.13.1.3. Benutzereinstellungen"><div class="titlepage"><div><div><h4 class="title"><a name="features.timerecording.config.time_or_duration"></a>3.13.1.3. Benutzereinstellungen</h4></div></div></div><p>
42             Unter <span class="emphasis"><em>
43                      <span class="guimenu">Programm</span>
44             → <span class="guisubmenu">Benutzereinstellungen</span>
45                   </em></span>
46             im Reiter <span class="emphasis"><em>Persönliche Einstellungen</em></span> bei
47             <span class="emphasis"><em>Datum und Dauer für Zeiterfassung verwenden</em></span>
48             kann der Benutzer angeben, ob Zeiten mit Start- und End-Zeit oder mit
49             Datum und Dauer erfasst werden sollen.
50           </p></div></div><div class="sect2" title="3.13.2. Erfassen"><div class="titlepage"><div><div><h3 class="title"><a name="features.timerecording.add"></a>3.13.2. Erfassen</h3></div></div></div><p>
51           Über den Menüpunkt <span class="emphasis"><em>
52                   <span class="guimenu">Produktivität</span>
53           → <span class="guisubmenu">Zeiterfassung</span>
54                </em></span>
55           gelangt man zur Erfassungsmaske der Zeiterfassung. Je nach Einstellung
56           muss ein Datum oder Datum und Start-Zeit angegeben werden. Ebenso sind
57           die Felder <span class="emphasis"><em>Kunde</em></span> und
58           <span class="emphasis"><em>Beschreibung</em></span>
59           Pflichtfelder.
60         </p><p>
61           Wird ein Auftrag oder ein Projekt, dem ein Kunde zugeordnet ist,
62           ausgewählt, so wird das Feld <span class="emphasis"><em>Kunde</em></span>
63           automatisch mit dem zugehörigen Kunden gefüllt und für die
64           manuelle Bearbeitung gesperrt.
65         </p><p>
66           Die End-Zeit bzw. die Dauer ist kein Pflichtfeld, damit
67           man einen Eintrag z.B. beim Start der Arbeit anlegen und
68           später am Ende dann die End-Zeit bzw. Dauer erfassen kann.
69           Bei Eingabe über Start- und End-Zeit dürfen sich die Zeiten für
70           ein und denselben Mitarbeiter nicht überlappen.
71         </p><p>
72           Falls der Bearbeiter das Recht
73           <span class="emphasis"><em>Zeiterfassungseinträge aller Mitarbeiter
74           bearbeiten</em></span> besitzt, kann auch der Mitarbeiter für
75           diesen Zeiteintrag ausgewählt werden.
76         </p></div><div class="sect2" title="3.13.3. Bericht"><div class="titlepage"><div><div><h3 class="title"><a name="features.timerecording.report"></a>3.13.3. Bericht</h3></div></div></div><p>
77           Ein Bericht über die erfassten Zeiten lässt sich über
78           <span class="emphasis"><em>
79                   <span class="guimenu">Produktivität</span> → <span class="guisubmenu">Berichte</span>
80           → <span class="guisubmenu">Zeiterfassung</span>
81                </em></span> ausgeben.
82           Hier lassen sich die Zeiten auch filtern, sortieren und exportieren.
83         </p><p>
84           Ausgewählte Zeiteinträge können über <span class="emphasis"><em>
85                   <span class="guimenu">Aktionen</span>
86           → <span class="guisubmenu">Als gebucht markieren</span>
87                </em></span> als schon gebucht
88           markiert werden. Dies geschieht normalerweise bei der Konvertierung
89           zum Lieferschein und kann hier händisch durchgeführt werden, wenn diese
90           Zeitbuchungen bei der Konvertierung nicht mehr berücksichtigt werden sollen.
91         </p></div><div class="sect2" title="3.13.4. Konvertierung zu Lieferscheinen"><div class="titlepage"><div><div><h3 class="title"><a name="features.timerecording.conversion"></a>3.13.4. Konvertierung zu Lieferscheinen</h3></div></div></div><p>
92           Über den Hintergrund-Job
93           <span class="emphasis"><em>ConvertTimeRecordings</em></span> können
94           Zeiteinträge in Lieferscheine umgewandelt werden. Hierbei
95           werden alle noch nicht gebuchten Zeiteinträge eines
96           bestimmten Zeitraums für bestimmte Kunden gesammelt und
97           in Lieferscheine umgewandelt.
98           Pro Kunde wird ein Lieferschein generiert und
99           pro Artikel wird eine Positionszeile erzeugt. Dabei werden
100           Einträge mit gleichen Beschreibungen zusammengefasst. Die
101           Details landen im Langtext der Position.
102         </p><p>
103           Ohne übergebene Parameter im Feld <span class="emphasis"><em>Daten</em></span> werden alle
104           Zeiteinträge des letzten Monats für alle Kunden umgewandelt. Dabei
105           werden die Zeiten auf volle Viertelstunden aufgerundet (siehe auch
106           <a class="xref" href="ch03s13.html#features.timerecording.configuration" title="3.13.4.1. Konfigurations-Optionen">Konfigurations-Optionen der Zeiterfassung</a>).
107         </p><div class="sect3" title="3.13.4.1. Konfigurations-Optionen"><div class="titlepage"><div><div><h4 class="title"><a name="features.timerecording.configuration"></a>3.13.4.1. Konfigurations-Optionen</h4></div></div></div><p>
108             Zur generellen Konfiguration von Hintergrund-Jobs und zur Übergabe
109             von Parametern als Daten an diese, siehe <a class="xref" href="ch02s08.html" title="2.8. Der Task-Server">Abschnitt&nbsp;2.8, „Der Task-Server“</a>
110             bzw. <a class="xref" href="ch02s09.html" title="2.9. Konfiguration der Hintergrund-Jobs">Abschnitt&nbsp;2.9, „Konfiguration der Hintergrund-Jobs“</a>).
111           </p><p>
112             Folgende Parameter können als <span class="emphasis"><em>Daten</em></span> an den
113             Hintergrund-Job zur Konvertierung übergeben werden:
114             </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
115                   
116                            <span class="emphasis"><em>from_date</em></span>
117                 
118                         </p><p>
119                   Das Startdatum, von welchen an die Zeiteinträge berücksicht werden.
120                   Voreinstellung ist der erste Tag des vorherigen Montats.
121                 </p><p>
122                   Beispiel (das Zeitformat hängt von der persönlichen Einstellungen ab):
123                   </p><pre class="programlisting">from_date: 01.12.2020</pre><p>
124                 
125                         </p></li><li class="listitem"><p>
126                   
127                            <span class="emphasis"><em>to_date</em></span>
128                 
129                         </p><p>
130                   Das Datum, bis zu welchem die Zeiteinträge zur Konvertierung gesammelt
131                   werden. Voreinstellung ist der letzte Tag des vorherigen Montas.
132                 </p><p>
133                   Beispiel (das Zeitformat hängt von der persönlichen Einstellungen ab):
134                   </p><pre class="programlisting">to_date: 15.12.2020</pre><p>
135                 
136                         </p></li><li class="listitem"><p>
137                   
138                            <span class="emphasis"><em>customernumbers</em></span>
139                 
140                         </p><p>
141                   Eine Liste mit Kundennummern, für die Zeiteinträge gesammelt werden
142                   sollen. Wird diese Liste nicht angegeben, werden Einträge für
143                   alle Kunden berücksichtig.
144                 </p><p>
145                   
146                            </p><pre class="programlisting">customernumbers: [c1,22332,334343]</pre><p>
147                 
148                         </p></li><li class="listitem"><p>
149                   
150                            <span class="emphasis"><em>override_part_id</em></span>
151                 
152                         </p><p>
153                   Die Datenbank-Id einer zeitbasierten Dienstleistung, die verwendet
154                   werden soll, um die Zeiteinträge zu buchen. Dieser Wert überschreibt
155                   den Eintrag des Artikels des Zeiteintrags.
156                 </p></li><li class="listitem"><p>
157                   
158                            <span class="emphasis"><em>default_part_id</em></span>
159                 
160                         </p><p>
161                   Die Datenbank-Id einer zeitbasierten Dienstleistung, die verwendet
162                   werden soll, um die Zeiteinträge zu buchen, falls im Zeiteintrag
163                   kein Artikel gespeichert ist.
164                 </p></li><li class="listitem"><p>
165                   
166                            <span class="emphasis"><em>rounding</em></span>
167                 
168                         </p><p>
169                   Ist dieser Wert <code class="literal">0</code>, so werden die Zeiten nicht gerundet.
170                   Ist der Wert <code class="literal">1</code> (oder "wahr" in Perl"), so werden die Zeiten auf volle Viertelstunden aufgerundet, also z.B. 0.25h, 0.5h, 0.75h,
171                   1.25h ...
172                 </p><p>
173                   Voreinstellung ist <code class="literal">1</code> ("wahr").
174                 </p></li><li class="listitem"><p>
175                   
176                            <span class="emphasis"><em>link_order</em></span>
177                 
178                         </p><p>
179                   Ist der Wert <code class="literal">1</code> (oder "wahr" in Perl"), so verknüpft
180                   der Hintergrund-Job den erzeugten Lieferschein mit dem im Zeiteintrag
181                   angegebenen Auftrag.
182                   Ist kein Auftrag angegeben, wird versucht, einen Auftrag für den
183                   angegebenen Kunden und die angegebene Projektnummer zu finden.
184                 </p><p>
185                   Folgende Kriterien werden zum Finden eines Vorgängerauftrags angwendet:
186                   </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
187                       Auftrag ist im Zeiteintrag angegeben <span class="emphasis"><em>oder</em></span>
188                     
189                                  </p></li><li class="listitem"><p>
190                       Datenbank-Id des Projekts des Auftrags ist gleich
191                       der Datenbank-Id des Zeiteintrags <span class="emphasis"><em>oder</em></span> der in den Daten
192                       übergebenen Projekt-Id
193                     </p></li><li class="listitem"><p>
194                       Kunde des Auftrags ist gleich Kunde des Zeiteintrags
195                     </p></li><li class="listitem"><p>
196                       der Auftrag muss mindestens eine zugehörige zeitbasierte Position haben
197                     </p></li><li class="listitem"><p>
198                       das Projekt muss gültig und aktiv sein
199                     </p></li></ul></div><p>
200                 
201                         </p><p>
202                   Voreinstellung ist aus. Wenn dieser Parameter gesetzt ist, läuft der
203                   Hintergrund-Job auf einen Fehler, falls kein geeigneter Vorgängerauftrag
204                   gefunden werden kann.
205                 </p><p>
206                   Der Job beachtet nicht, ob der Auftrag schon geliefert oder geschlossen
207                   ist.
208                   Wenn der Kundenauftrag überliefert wird, muss dies organisatorisch
209                   geklärt werden. Der Kundenauftrag kann auch bereits geschlossen sein,
210                   d.h. der Betrag ist vollständig fakturiert, aber die Leistungen sind
211                   noch nicht vollständig geliefert (einfacher Fall: "Vorauskasse").
212                 </p><p>
213                   siehe auch den Hintergrund-Job
214                   <code class="literal">CloseProjectsBelongingToClosedSalesOrder</code>
215                   für eine weitergehende Automatisierung der Abläufe.
216                 </p></li><li class="listitem"><p>
217                     
218                            <span class="emphasis"><em>override_project_id</em></span>
219                   
220                         </p><p>
221                     Verwende diese Datenbank-Id für das Projekt an Stelle des
222                     im Zeiteintrag angegebenen Projekts, um den zugehörigen Auftrag
223                     zu finden. Dieser Parameter wird nur berücksichtig, wenn
224                     <span class="emphasis"><em>link_order</em></span> wahr ist.
225                   </p></li><li class="listitem"><p>
226                     
227                            <span class="emphasis"><em>default_project_id</em></span>
228                   
229                         </p><p>
230                     Verwende diese Datenbank-Id für das Projekt, falls
231                     im Zeiteintrag kein Projekt angegeben ist, um den
232                     zugehörigen Auftrag zu finden.
233                     Dieser Parameter wird nur berücksichtig, wenn
234                   </p></li></ul></div><p>
235           
236                </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s12.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch03.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">3.12. Dispositionsmanager/Einkaufshelfer&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;Kapitel 4. Entwicklerdokumentation</td></tr></table></div></body></html>