diff --git a/components/employees/EmployeeDetail.tsx b/components/employees/EmployeeDetail.tsx index 34a9975..1f97306 100644 --- a/components/employees/EmployeeDetail.tsx +++ b/components/employees/EmployeeDetail.tsx @@ -195,6 +195,7 @@ export function EmployeeDetail(props: EmployeeDetailProps) { directReports={directReports} breadcrumb={breadcrumb} kostenstelle={kostenstelle} + standort={location?.name ?? null} /> )} {tab === "Onboarding" && ( diff --git a/components/employees/tabs/OrganisationTab.tsx b/components/employees/tabs/OrganisationTab.tsx index adc706e..81a34b2 100644 --- a/components/employees/tabs/OrganisationTab.tsx +++ b/components/employees/tabs/OrganisationTab.tsx @@ -19,6 +19,21 @@ type OrganisationTabProps = { * hat die Person keine laufende Besetzung (geplanter Eintritt, Austritt). */ kostenstelle: { code: string; name: string } | null; + /** + * Die Niederlassung, an der die Person arbeitet. + * + * Aus dem Workshop nachgetragen (Anforderung 8, „Niederlassungen auch in + * Zuordnung einfügen"). Sie stand bisher nur im Stammdatenblatt, obwohl sie + * zur Einordnung gehört wie die Einheit und die Kostenstelle: wer wissen + * will, wo jemand sitzt, sieht hier nach und nicht bei der Privatadresse. + * + * Anders als Einheit und Kostenstelle hängt sie **an der Person** + * (`employees.location_id`) und nicht an der Planstelle. Deshalb steht sie + * auch dann da, wenn es keine laufende Besetzung gibt — bei einem + * geplanten Eintritt zum Beispiel, wo daneben „Keine laufende + * Planstellenbesetzung" zu lesen ist. + */ + standort: string | null; }; export function OrganisationTab({ @@ -28,6 +43,7 @@ export function OrganisationTab({ directReports, breadcrumb, kostenstelle, + standort, }: OrganisationTabProps) { return (
{breadcrumb}
++ {standort ?? Nicht erfasst} +
{kostenstelle ? ( diff --git a/docs/rueckfragen-workshop-2026-09.md b/docs/rueckfragen-workshop-2026-09.md new file mode 100644 index 0000000..b3d2e89 --- /dev/null +++ b/docs/rueckfragen-workshop-2026-09.md @@ -0,0 +1,179 @@ +# Rückfragen zu den Workshop-Anforderungen + +Stand 15.09.2026. Grundlage: `Anforderungen_Software_Workshop 1.docx`. + +Alle elf Punkte sind umgesetzt. An sieben Stellen liess die Formulierung +mehr als eine Lesart zu. Wir haben jeweils eine gewählt, damit die Arbeit +nicht liegenbleibt, und schreiben sie hier auf — mit der Begründung, damit +sich die Entscheidung prüfen und ohne grossen Aufwand umdrehen lässt. + +Wo unten „lässt sich ändern" steht, heisst das: eine Zeile Code oder eine +kleine Migration, keine Umbauarbeit. + +--- + +## 1. Fehlende Nummern 6 und 7 + +Das Dokument springt von 5a auf 8. Sind zwei Punkte im Workshop gestrichen +worden, oder beim Zusammenstellen verlorengegangen? Falls letzteres: wir +nehmen sie gern nach. + +## 2. Einvernehmliche Auflösung — freiwillig oder nicht? + +Gefordert war ein zweites Auswahlfeld „freiwilliger / unfreiwilliger +Austritt". Wir haben es umgesetzt, aber nicht als frei wählbares Feld, +sondern als Einschränkung der Beendigungsart: welche Seite beendet hat, +steckt in der Beendigungsart bereits drin. Als zweites, unabhängiges Feld +liesse sich „Entlassung, freiwillig" erfassen, und zwei Auswertungen über +dieselbe Person kämen zu verschiedenen Ergebnissen. + +Die Zuordnung, die wir getroffen haben: + +| Beendigungsart | eingeordnet als | +|---|---| +| Kündigung AN | freiwillig | +| Einvernehmliche Auflösung | **freiwillig — bitte prüfen** | +| Pensionierung | freiwillig | +| Dienstnehmerseitige Beendigung in Probezeit | freiwillig | +| Kündigung AG | unfreiwillig | +| Entlassung | unfreiwillig | +| Dienstgeberseitige Beendigung in Probezeit | unfreiwillig | +| Befristungsablauf | sonstige | +| No Show (Nichtantritt) | sonstige | + +**Die Frage:** Die einvernehmliche Auflösung setzt die Zustimmung der Person +voraus — deshalb steht sie bei „freiwillig". In der Praxis geht ihr aber oft +ein Wunsch des Dienstgebers voraus, und für eine Fluktuationsanalyse ist +genau das der Unterschied, auf den es ankommt. Soll sie bei „freiwillig" +bleiben? + +**Die zweite Frage:** Wir führen drei Gruppen statt der geforderten zwei. +Ein Befristungsablauf geschieht auf niemandes Betreiben — er war von Anfang +an vereinbart —, und ein Nichtantritt ist kein Austritt, sondern ein +Verhältnis, das nie begonnen hat. Beide einer der zwei Seiten zuzuschlagen +würde jede Fluktuationsquote verfälschen. Ist die dritte Gruppe „Sonstige" +so recht, oder sollen die beiden doch einer Seite zugeordnet werden? + +## 3. Untertypen bei „Eintritt" + +Gefordert: „Auch Subtypen für Eintritt / Austritt filterbar." + +Beim Austritt ist klar, was gemeint ist — die Beendigungsart. Das ist +umgesetzt: im Berichtemanager lässt sich zum Ereignistyp „Austritt" die +Beendigungsart wählen, und beim Ereignistyp „Langzeitabwesenheit" die Art +der Abwesenheit (Mutterschutz, Bildungskarenz und so weiter). + +Beim Eintritt sehen wir zwei mögliche Bedeutungen und wissen nicht, welche +gemeint war: + +1. **Eintritt gegenüber Wiedereintritt** — der erste Eintritt gegenüber der + Wiedereinstellung einer Person, die schon einmal im Haus war. Beides sind + in der Historie bereits eigene Ereignisse. +2. **Herkunft: extern gegenüber intern** — kam die Person von aussen oder aus + dem Haus. Das Feld gibt es ebenfalls schon. + +Beides ist machbar, beides ist klein. Welche Unterscheidung brauchen Sie? + +## 4. „Niederlassungen auch in Zuordnung einfügen" + +Der Begriff „Zuordnung" liess sich uns nicht eindeutig zuordnen. Wir haben +die Lesart gewählt, die am wenigsten voraussetzt: In der Personalakte, Reiter +**Organisation**, steht jetzt die Niederlassung neben der +Organisationseinheit und der Kostenstelle. Vorher war sie nur im +Stammdatenblatt zu finden — bei der Privatadresse, wo niemand nach dem +Arbeitsort sucht. + +Falls etwas anderes gemeint war, kommen zwei Möglichkeiten in Frage: + +1. **Im Organigramm**: die Niederlassung als eigene Ebene oder Gruppierung im + Organisationsbaum. Das ist der grösste der drei Eingriffe — der Baum hat + heute vier Stufen (Gesellschaft › Bereich › Abteilung › Team), und eine + fünfte Achse quer dazu ist eine Modelländerung, keine Anzeige. +2. **An der Planstelle**: die Niederlassung hängt dann an der Stelle statt an + der Person. Fachlich ist das der sauberere Ort — wer die Stelle wechselt, + wechselt damit auch den Standort, ohne dass es jemand nachtragen muss. + Es ist aber eine Umstellung der Datenhaltung mit Auswirkung auf Import + und Auswertungen. + +Welche der drei war gemeint? + +## 5. Mitarbeiterzuordnung — zwei Listen, nicht eine + +Im Dokument standen unter Punkt 9 zwei Zeilen untereinander: + + Arbeiter, Angestellte, Lehrlinge + Standard Mitarbeiter / Praktikant / Geringfügige Beschäftigung / Altersteilzeit + +Wir lesen das als zwei verschiedene Fragen an dieselbe Person: die erste +sagt, *als was* jemand beschäftigt ist, die zweite, *in welcher Form*. Beides +gilt gleichzeitig — ein Praktikant ist Arbeiter oder Angestellter, nicht +statt dessen; Altersteilzeit gibt es in beiden Gruppen. In einer einzigen +Auswahlliste müsste man sich für eine der beiden Antworten entscheiden und +verlöre die andere. + +Umgesetzt sind deshalb **zwei Felder**. Das erste gab es schon +(„Beschäftigtengruppe": Angestellte:r / Arbeiter:in / Lehrling), das zweite +ist neu („Mitarbeiterart": Standard / Praktikant:in / Geringfügige +Beschäftigung / Altersteilzeit). + +**Die Frage:** Ist die Trennung so richtig? Und: der gesamte Bestand steht +jetzt auf „Standard". Gibt es eine Liste der Personen, die in Wahrheit +Praktikum, geringfügige Beschäftigung oder Altersteilzeit haben? Dann tragen +wir sie nach — von Hand wären es je nach Zahl einige Stunden, über den +Import ist es eine Datei. + +## 6. Die zwei neuen Kacheln auf der Übersicht + +Gefordert waren „zwei zusätzliche Kasteln: Beschäftigten — Bezeichnung +‚Aktives Dienstverhältnis'" und „Geplante MA — künftige Eintritte". + +Unsere Auslegung: + +* **Aktives Dienstverhältnis** zählt alle, mit denen ein Vertrag läuft — + Langzeitabwesende eingeschlossen. Das ist bewusst mehr als die Kachel + „Aktive Mitarbeiter:innen" ganz links, die nur zählt, wer heute arbeitet. + Zum Zeitpunkt der Screenshots wären das 816 gegenüber 806. +* **Geplante Eintritte** zählt alle künftigen Eintritte **ohne Zeitgrenze** — + anders als die Karte „Anstehend" darunter, die nur den eingestellten + Vorschauzeitraum zeigt. Ein Eintritt in vier Monaten ist vereinbart und + zählt, auch wenn er in der Vorschau noch nicht auftaucht. + +Stimmt beides so? + +## 7. Unterschriftenfelder auf den Checklisten + +Gefordert war, „Datum Unterschrift Mitarbeiter" und „Datum Unterschrift HR +Abteilung" aus den erzeugten PDFs zu entfernen. Das ist geschehen — beide +Felder sind weg. + +Zur Sicherheit, weil es sich nicht zurückholen lässt, ohne dass jemand es +bemerkt: gemeint war das **gedruckte Blatt** der On- und +Offboarding-Checkliste. Andere Ausdrucke haben wir nicht angefasst. + +--- + +## Was ohne Rückfrage entschieden wurde + +Der Vollständigkeit halber, damit nichts unbemerkt bleibt: + +* **Personenkreise beim Kündigungsschutz** sind genau die zwölf aus dem + Dokument, in dieser Schreibweise. Die Angabe ist **freiwillig**: der + bestehende Datenbestand trägt das Kennzeichen „besonderer + Kündigungsschutz" seit einem früheren Ausbau ohne Grund, und ein + Pflichtfeld hätte jede Änderung an diesen Personen blockiert, bis jemand + den Grund nachträgt. +* **Begünstigte Behinderung** ist ein eigenes Kennzeichen mit Grad, Beginn + und Ende — vier getrennte Felder und nicht ein zusammengesetzter Text, + damit sich in Excel danach filtern und summieren lässt. Sie ist technisch + *nicht* an den Personenkreis gekettet: eine solche Kopplung hätte jede + Korrektur am Personenkreis scheitern lassen, solange der Grad noch + eingetragen ist. Im Formular erscheinen die Felder trotzdem gemeinsam. +* **Klonen von Planstellen** übernimmt Einheit, Tätigkeit und Kostenstelle + der Vorlage und vergibt eine neue Nummer. Die Besetzung kommt nicht mit — + der Klon ist frei. Leitungsplanstellen lassen sich nicht klonen, wie + gefordert. +* **Stammdatenänderung und Gehaltsanpassung** stehen im Berichtemanager + nicht mehr zur Auswahl. Die eine entsteht bei jeder geänderten + Telefonnummer, die andere wird seit der Umstellung auf Loga von keiner + Funktion mehr geschrieben. In der Historie einer Person bleiben beide + sichtbar — dort gehören sie hin.