Niederlassung in der Zuordnung, und die Rueckfragen zum Workshop
Anforderung 8. "Zuordnung" liess mehr als eine Lesart zu; umgesetzt ist die, die am wenigsten voraussetzt: in der Personalakte steht die Niederlassung jetzt im Reiter Organisation neben Einheit und Kostenstelle. Vorher war sie nur im Stammdatenblatt zu finden, bei der Privatadresse — dort sucht niemand den Arbeitsort. Anders als Einheit und Kostenstelle haengt sie an der Person und nicht an der Planstelle. Sie steht deshalb auch dann da, wenn es keine laufende Besetzung gibt. Dazu docs/rueckfragen-workshop-2026-09.md: sieben Stellen, an denen die Formulierung mehr als eine Lesart zuliess, mit der jeweils getroffenen Entscheidung und ihrer Begruendung. Damit bleibt keine Auslegung unausgesprochen, und jede laesst sich ohne Umbau umdrehen.
This commit is contained in:
@@ -195,6 +195,7 @@ export function EmployeeDetail(props: EmployeeDetailProps) {
|
|||||||
directReports={directReports}
|
directReports={directReports}
|
||||||
breadcrumb={breadcrumb}
|
breadcrumb={breadcrumb}
|
||||||
kostenstelle={kostenstelle}
|
kostenstelle={kostenstelle}
|
||||||
|
standort={location?.name ?? null}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
{tab === "Onboarding" && (
|
{tab === "Onboarding" && (
|
||||||
|
|||||||
@@ -19,6 +19,21 @@ type OrganisationTabProps = {
|
|||||||
* hat die Person keine laufende Besetzung (geplanter Eintritt, Austritt).
|
* hat die Person keine laufende Besetzung (geplanter Eintritt, Austritt).
|
||||||
*/
|
*/
|
||||||
kostenstelle: { code: string; name: string } | null;
|
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({
|
export function OrganisationTab({
|
||||||
@@ -28,6 +43,7 @@ export function OrganisationTab({
|
|||||||
directReports,
|
directReports,
|
||||||
breadcrumb,
|
breadcrumb,
|
||||||
kostenstelle,
|
kostenstelle,
|
||||||
|
standort,
|
||||||
}: OrganisationTabProps) {
|
}: OrganisationTabProps) {
|
||||||
return (
|
return (
|
||||||
<div className="flex flex-col gap-6">
|
<div className="flex flex-col gap-6">
|
||||||
@@ -35,6 +51,10 @@ export function OrganisationTab({
|
|||||||
<div>
|
<div>
|
||||||
<h3 className="text-xs font-semibold uppercase tracking-wide text-ink-muted">Organisationseinheit</h3>
|
<h3 className="text-xs font-semibold uppercase tracking-wide text-ink-muted">Organisationseinheit</h3>
|
||||||
<p className="mt-1 text-sm text-ink">{breadcrumb}</p>
|
<p className="mt-1 text-sm text-ink">{breadcrumb}</p>
|
||||||
|
<h3 className="mt-4 text-xs font-semibold uppercase tracking-wide text-ink-muted">Niederlassung</h3>
|
||||||
|
<p className="mt-1 text-sm text-ink">
|
||||||
|
{standort ?? <span className="text-ink-muted">Nicht erfasst</span>}
|
||||||
|
</p>
|
||||||
<h3 className="mt-4 text-xs font-semibold uppercase tracking-wide text-ink-muted">Kostenstelle</h3>
|
<h3 className="mt-4 text-xs font-semibold uppercase tracking-wide text-ink-muted">Kostenstelle</h3>
|
||||||
<p className="mt-1 text-sm text-ink">
|
<p className="mt-1 text-sm text-ink">
|
||||||
{kostenstelle ? (
|
{kostenstelle ? (
|
||||||
|
|||||||
179
docs/rueckfragen-workshop-2026-09.md
Normal file
179
docs/rueckfragen-workshop-2026-09.md
Normal file
@@ -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.
|
||||||
Reference in New Issue
Block a user