# Fachliche Prozessdokumentation ## Zweck der Solution Die Power-Platform-Solution `bmvcc` unterstuetzt die Betriebsmittelverwaltung auf Basis von Dataverse, Canvas Apps, Model-Driven Navigation, Bexio-Integration und Power-Automate-Flows. Die Solution deckt insbesondere diese fachlichen Bereiche ab: - Verwaltung von Geraeten und Betriebsmitteln - Pflege von Artikeln und Herstellern - Verwaltung von Firmen, Kontakten und deren Relationen - Verarbeitung von Pruefberichten und Standortinformationen - Zeiterfassung - Synchronisation ausgewaehlter Stammdaten aus Bexio ## Fachliche Kernobjekte | Bereich | Tabelle | Fachlicher Zweck | | --- | --- | --- | | Inventar | `bmvcc_equipmentrecord` | Verwaltung einzelner Geraete und ihres Status | | Artikel | `bmvcc_Artikel` | Stammdaten zu Artikeln und Produktinformationen | | Hersteller | `bmvcc_Hersteller` | Herstellerstammdaten | | Kontakte | `bmvcc_Kontakt` | Personenbezogene Kontakte, insbesondere aus Bexio | | Firmen | `bmvcc_firma` | Firmenkontakte und Organisationsdaten | | Relationen | `bmvcc_relation` | Geschaeftsbeziehungen zwischen Kontakt und Firma | | Pruefungen | `bmvcc_Pruefbericht` | Pruef- und Inspektionsdaten zu Geraeten | | Standorte | `bmvcc_organizationlocation` | Standortstammdaten | | Zeit | `bmvcc_timetrackingentry` | Zeit- und Aktivitaetserfassung | | Steuerung | `bmvcc_syncconfig` | Status und Parameter fuer Synchronisationslaeufe | | Fehler | `bmvcc_bexiosyncerror` | Protokollierung technischer oder fachlicher Sync-Fehler | ## Prozess 1: Betriebsmittel verwalten ### Zielbild Betriebsmittelverwaltung Geraete und Betriebsmittel sollen zentral erfasst, gepflegt und fachlich mit Artikeln, Herstellern, Standorten und Pruefungen verbunden werden. ### Ablauf Betriebsmittelverwaltung 1. Ein Geraet wird in `bmvcc_equipmentrecord` angelegt oder importiert. 2. Das Geraet wird einem Artikel zugeordnet. 3. Hersteller- und Standortinformationen werden ueber Mapping-Flows oder direkte Pflege gesetzt. 4. Der fachliche Status des Geraets wird gepflegt. 5. Pruefungen und Pruefberichte werden mit dem Geraet verknuepft. ### Nutzen Betriebsmittelverwaltung - Zentrale Sicht auf Inventar und Betriebsmittel - Nachvollziehbarkeit von Standort, Hersteller und Artikelbezug - Vorbereitung fuer Pruef- und Wartungsprozesse ## Prozess 2: Firmen, Kontakte und Relationen pflegen ### Zielbild Kontakt- und Firmenpflege Firmen und Personen sollen mit ihren Beziehungen konsistent in Dataverse vorliegen, damit operative Prozesse und Auswertungen darauf aufbauen koennen. ### Ablauf Kontakt- und Firmenpflege 1. Firmen und Kontakte werden in Dataverse angelegt oder aus Bexio synchronisiert. 2. Die Beziehung zwischen Person und Firma wird in `bmvcc_relation` hergestellt. 3. Die Daten stehen anschliessend fuer Apps, Navigation und weitere Prozesse zur Verfuegung. ### Nutzen Kontakt- und Firmenpflege - Einheitliche Stammdatenbasis fuer Kontakte und Firmen - Nachvollziehbare Zuordnung zwischen Personen und Organisationen - Grundlage fuer Synchronisation und Folgeprozesse ## Prozess 3: Bexio-Kontakte synchronisieren ### Zielbild Bexio-Kontaktsynchronisation Kontakte und Firmen aus Bexio sollen regelmaessig nach Dataverse uebernommen und dort aktualisiert werden. ### Komponenten Bexio-Kontaktsynchronisation - Custom Connector `BexioV3` - Flow `BexioSynchKontakte` - Tabellen `bmvcc_firma`, `bmvcc_Kontakt`, `bmvcc_syncconfig`, `bmvcc_bexiosyncerror` ### Ablauf Bexio-Kontaktsynchronisation 1. Der Flow liest die gueltige Konfiguration aus `bmvcc_syncconfig`. 2. Ueber den Bexio-Connector werden Kontakte aus Bexio geladen. 3. Der Flow vergleicht vorhandene Firmen und Kontakte in Dataverse. 4. Neue Datensaetze werden angelegt, vorhandene aktualisiert. 5. Laufstatus, Zeitstempel und Fehler werden zurueckgeschrieben. ### Nutzen Bexio-Kontaktsynchronisation - Reduzierung manueller Doppelpflege - Aktuelle Kontakt- und Firmendaten in Dataverse - Transparenz ueber erfolgreiche und fehlerhafte Laeufe ## Prozess 4: Bexio-Relationen synchronisieren ### Zielbild Bexio-Relationssynchronisation Die Beziehungen zwischen Bexio-Kontakten und Firmen sollen in Dataverse als Relationen abgebildet werden. ### Komponenten Bexio-Relationssynchronisation - Custom Connector `BexioV3` - Flow `BexioSynchRelation` - Tabellen `bmvcc_relation`, `bmvcc_Kontakt`, `bmvcc_firma`, `bmvcc_syncconfig`, `bmvcc_bexiosyncerror` ### Ablauf Bexio-Relationssynchronisation 1. Der Flow wird taeglich ausgefuehrt. 2. Er liest Kontakt-Firmen-Beziehungen aus Bexio. 3. Bereits vorhandene Kontakte und Firmen werden in Dataverse abgeglichen. 4. Neue Relationen werden angelegt, bestehende aktualisiert. 5. Fehler werden protokolliert und optional ueber Teams gemeldet. ### Nutzen Bexio-Relationssynchronisation - Konsistente Abbildung externer Beziehungen im internen Datenmodell - Bessere Nutzbarkeit der CRM-Daten innerhalb der Apps ## Prozess 5: Pruefberichte mit Geraeten verknuepfen ### Zielbild Pruefberichtszuordnung Pruefberichte sollen automatisiert dem richtigen Geraet zugeordnet werden. ### Komponenten Pruefberichtszuordnung - Tabellen `bmvcc_Pruefbericht` und `bmvcc_equipmentrecord` - Flows `bmvcc-GeraetePruefberichtMapTabelle` und `bmvcc-GeraetePruefberichtMapTabelleV2` ### Ablauf Pruefberichtszuordnung 1. Pruefberichte mit vorhandener Device-ID werden gelesen. 2. Passende Geraete werden in Dataverse gesucht. 3. Die Lookup-Beziehung vom Pruefbericht auf das Geraet wird gesetzt. 4. Erfolgreiche und fehlerhafte Zuordnungen werden gezaehlt. ### Nutzen Pruefberichtszuordnung - Eindeutige Verbindung von Inspektionsdaten mit Inventardaten - Bessere Rueckverfolgbarkeit von Pruefungen pro Geraet ## Prozess 6: Stammdaten-Mapping innerhalb von Dataverse Mehrere manuelle Flows unterstuetzen die Nachpflege oder Migration von Beziehungen innerhalb des Datenmodells. | Flow | Fachlicher Zweck | | --- | --- | | `bmvcc-GeraeteArtikelMapTabelle` | Artikelbezug auf Geraeten setzen oder korrigieren | | `bmvcc-GeraeteStandortMapTabelle` | Standortbezug auf Geraeten setzen oder korrigieren | | `bmvcc-HerstellerArtikelMapTabelle2` | Herstellerbezug auf Artikeln setzen oder korrigieren | | `bmvcc-HerstellerBusinessunitsetzen` | Besitz-/Zuordnungsdaten fuer Hersteller in Zielumgebung setzen | ## Prozess 7: Zeiterfassung ### Zielbild Zeiterfassung Arbeits- und Aktivitaetszeiten von Mitarbeitenden sollen als Dataverse-Datensaetze erfasst werden. ### Komponente Zeiterfassung - Tabelle `bmvcc_timetrackingentry` - Haupt-Canvas-App `bmvcc` ### Nutzen Zeiterfassung - Operative Zeiterfassung in derselben Plattform wie die Betriebsmittelverwaltung - Potenzielle Grundlage fuer Auswertungen oder Freigabeprozesse ## Beteiligte Benutzeroberflaechen | App | Rolle | | --- | --- | | `bmvcc` | Hauptanwendung fuer operative Pflege von Geraeten, Artikeln, Kontakten, Standorten, Pruefberichten und Zeitdaten | | `bexiokontakte` | Fokussierte App fuer Firmen- und Relationsdaten im Bexio-Kontext | | `test1` | Test- oder Prototyp-Anwendung fuer Geraetedaten | ## Rollen und Verantwortlichkeiten Die folgende Matrix dokumentiert, wer fuer die Planung, Ausloesung und Aufsicht der einzelnen Prozesse verantwortlich ist: | Prozess | Verursacher/Trigger | Ausloeser-Rolle | Aufsicht/Review | Notwendige Berechtigungen | | --- | --- | --- | --- | --- | | **Betriebsmittel verwalten** | Business User, Einkauf, Lager | Datenoperator / Lagerbestaende | Admin vor Batchveraenderung | Schreib- und Lesezugriff auf `bmvcc_equipmentrecord`, `bmvcc_Artikel`, `bmvcc_Hersteller`, `bmvcc_organizationlocation` | | **Firmen, Kontakte und Relationen pflegen** | CRM-Mitarbeiter, manuell oder aus Bexio | Datenoperator / CRM-Admin | Admin, regelmässiger Abgleich | Schreib- und Lesezugriff auf `bmvcc_firma`, `bmvcc_kontakt`, `bmvcc_relation` | | **Bexio-Kontakte synchronisieren** | Automatisch woechentlich (geplanter Flow) | System (Power Automate) | Admin / CRM-Leitung | Keine manuelle Ausloesung noetig; Connector-Authentifizierung erforderlich | | **Bexio-Relationen synchronisieren** | Automatisch taeglich 04:00 (geplanter Flow) | System (Power Automate) | Admin / CRM-Leitung | Keine manuelle Ausloesung noetig; Connector-Authentifizierung erforderlich | | **Pruefberichte mit Geraeten verknuepfen** | Manuell nach Importlauf oder Datenbereinigung | Datenoperator, Admin | Admin / Qualitaetskontrolle | Schreib- und Lesezugriff auf `bmvcc_Pruefbericht`, `bmvcc_equipmentrecord` | | **Stammdaten-Mapping innerhalb von Dataverse** | Manuelle Ausloesung bei Bedarf oder nach Migration | Admin, Datenoperator | Admin vor grossflaechigen Updates | Administratorzugriff mit UpdateOnlyRecord-Berechtigungen | | **Zeiterfassung** | Business User (operative Erfassung) | alle Benutzer | Manager, Payroll-Team | Schreib- und Lesezugriff auf `bmvcc_timetrackingentry` | ### Typische Rollendefinitionen - **Admin**: Umgebungsadministrator mit Systemzugriff, Berechtigungen fuer Flow-Trigger und Massenupdates - **Datenoperator**: uebt Mapping-Flows aus, pflegt Beziehungen, verifiziert Sync-Status - **Business User**: operative Nutzung der Apps, Zeiteintrag, Anfragen - **System**: Power Automate und automatisierte Flows ## Offene fachliche Punkte Aus dem Export lassen sich technische Strukturen gut erkennen, aber nicht alle fachlichen Regeln. Diese Punkte sollten fachlich noch explizit dokumentiert werden: - Wer darf welche Prozesse manuell ausloesen? - Welche Qualitaetskriterien gelten fuer Synchronisationsfehler? - Welche Felder sind fachlich fuehrend: Bexio oder Dataverse? - Wie werden Archivierung, Ablegereife und Statuswerte fachlich interpretiert?