Die Logik der Erstellung universeller Arbeitspläne

Mitarbeiterpläne sind ein wesentlicher Bestandteil jedes CRM-Systems. Abhängig von den Besonderheiten des Kundengeschäfts können sie jedoch sehr unterschiedlich sein. In der Klinik sind dies Zeitpläne für den Patientenempfang, in der Telekommunikation Zeitpläne für Kundenverbindungen und in der Schule Stundenpläne. Alle von ihnen unterscheiden sich in Struktur und Wesen. Sie haben unterschiedliche Kappen, unterschiedliche Felder und unterschiedliche Gitter.

Unsere ERP-Plattform konzentriert sich auf die schnelle Entwicklung jeder Nischenkonfiguration, und wir haben darüber nachgedacht, wie dies alles bequem erledigt werden kann. Zuallererst für dich. Damit unsere Arbeit an der Entwicklung eines Zeitplans für eine bestimmte Nische nicht länger als eine Arbeitsstunde dauert.

Davor waren die Grafiken eine Art Sache, die in PHP entwickelt wurde. Aber Gott! Karl! Jedes Mal, wenn Sie einen neuen Zeitplan für eine Nischenlösung benötigen, müssen Sie diesen Code kopieren und verarbeiten. Die Individualität der Grafiken ermöglichte keine zentrale Änderung. Im Allgemeinen hat dies das Konzept unserer Cloud-Plattform dadurch untergraben, dass der Client sie unabhängig konfigurieren kann.

Als Ergebnis haben wir die folgenden Anforderungen für Arbeitspläne gebildet

  1. Konfigurierbarkeit
    Sie müssen über die Weboberfläche vollständig konfigurierbar sein.
  2. Variable Tonhöhe
    Sie sollten einen variablen Gitterabstand haben.
    In einer Klinik kann der Terminplan 30 Minuten pro Patient und in weiteren 20 Minuten in der dritten Stunde betragen
  3. Kundenspezifischer Hut
    Der Header des Graphen kann eindeutig sein, d.h. Es kann sich um eine Reihe von Ärzten, Einrichtungen, Lehrern, Teams usw. handeln. Im Allgemeinen alles von dem, was der Client im System hat. Auch von dem, was wir uns nicht vorstellen können.
  4. Im Diagrammdatensatz - eine beliebige Menge von Feldern
    Eine Reihe von Feldern kann aus beliebigen Informationen im System beliebig festgelegt werden. Und die Einträge sind entsprechend der Kopfzeile angeordnet.
  5. CRUD
    Diagrammeinträge müssen trotz beliebiger Feldsätze CRUD (Erstellen, Lesen, Aktualisieren, Löschen) sein. Und nicht nur das, sondern auch die Verwendung von Verfahren zur Organisation komplexer Interaktionen.

    Beispiel: Es gibt einen Zeitplan für Aufgaben.
    In der Aufzeichnung des Zeitplans wird angezeigt, wer dort arbeitet, wo Arbeiten ausgeführt werden usw. + einige Daten zur Aufgabe (z. B. Nummer und Name).
    Zusätzliche Daten zum Aufzeichnen des Zeitplans werden in einer Tabelle und Aufgabendaten in einer anderen Tabelle gespeichert.
    Beim Erstellen wird die Aufgabennummer angegeben, wer wo und wo ausführt. Die Daten werden aus zwei Tabellen angezeigt.
    Sie können nur die Daten in der Aufzeichnung des Diagramms bearbeiten, aber keine Datenaufgaben.
    Der Zeitplaneintrag sollte gelöscht werden, nicht jedoch die Aufgabe.
    Es ist notwendig, Protokolle zu führen, die etwas mit diesem Eintrag gemacht haben. Weil es kann gelöscht werden und ist nicht unbedingt im Zeitplan sichtbar, dann müssen Sie irgendwie zu den Protokollen gelangen. Es ist logischer, sie in der Aufgabe selbst zu führen, d.h. Beim Erstellen-Ändern-Löschen sollte in eine separate Tabelle geschrieben und in der Aufgabe angezeigt werden.
    Solche Dinge können nur durch gespeicherte Prozeduren gelöst werden, so dass einfache und komplexe Situationen gelöst werden können.
  6. Felder können Listen sein.
    Natürlich müssen die Felder nicht nur Text sein. Sie können auch Popup-Listen einiger Daten im System sein.
  7. Felder können Links sein
    Es ist praktisch, wenn Sie beispielsweise aus dem Arbeitsplan für Aufgaben in die Aufgabe selbst gelangen können.
  8. Felder verstecken
    Wenn der Datensatz viele Felder enthält, ist es sinnvoll, einen Teil davon auf einen Schnitt zu beschränken, um die Wahrnehmung zu erleichtern.
  9. Auslöser
    Es ist notwendig, die Reaktion des Systems an das anzupassen, was mit der Aufzeichnung geschieht. Dies geschieht am bequemsten mit Triggern.

    Zum Beispiel, wenn der Benutzer eine Art Protokoll über die über den Datensatz ergriffenen Aktionen schreiben oder Benachrichtigungen an Mitarbeiter senden oder sogar den SMS-Client senden oder sogar das tun muss, was wir nicht annehmen können.
  10. Cross Records
    Cross-Records sind Datensätze aus verschiedenen Diagrammen, die zu einem einzigen Diagramm zusammengefasst sind. Oder das Erscheinen von Einträgen in anderen Diagrammen, wenn Einträge im aktuellen Diagramm angezeigt werden.

    Zum Beispiel gibt es Situationen, in denen dieselben Brigaden Arbeiten an Anwendungen und Aufgaben ausführen. Das heißt, Sie werden mit einem bestimmten allgemeinen Zeitplan vertraut sein, in dem Aufgaben aus verschiedenen Zeitplänen angezeigt werden.

    Oder Sie benötigen den persönlichen Zeitplan eines Mitarbeiters mit Einträgen aus allen Zeitplänen, an denen er teilnimmt.
    Solche Aufgaben sind etwas komplizierter als typische, können jedoch mithilfe von Triggern und Datenerfassungsverfahren vollständig gelöst werden. Das heißt, durch Klausel 9 und Klausel 5.

    a) Auslöser werden in den Datensätzen der erforderlichen Zeitpläne erstellt, die einen Eintrag im persönlichen Zeitplan des Benutzers erstellen, wenn der Benutzer dort ist (dementsprechend im Falle einer Änderung, Änderung, im Falle einer Löschung).
    b) Im Diagramm des Benutzers werden zusätzliche Felder erstellt, die die erforderlichen Daten enthalten, und es werden Aufzeichnungsausgabeverfahren entwickelt, mit denen Daten aus den Tabellen anderer Diagramme unter Verwendung dieser Kennungen abgerufen werden.

    Solche Aufgaben können auch umgekehrt gelöst werden. Wenn Sie einen Zeitplan für einen persönlichen Mitarbeiter erstellen, wird ein komplexeres Verfahren durchgeführt, bei dem Daten nicht nur aus persönlichen Tabellen, sondern auch aus Tabellen anderer Zeitpläne angezeigt werden, in denen der Mitarbeiter an einem bestimmten Tag anwesend ist. Solche auf diesem Design basierenden Lösungen sind ebenfalls möglich.
  11. Überlagerungen von Zeit
    Das System sollte die Schnittpunkte von Datensätzen zeitlich korrekt anzeigen und nicht wie in den meisten Systemen, in denen die Datensätze ineinander laufen und nicht einmal die Möglichkeit besteht, die unteren Ebenen zu lesen.

    So ist es traurig ...
    Bild
  12. Berichte
    Damit war es nach Zeitplan möglich, Berichte zu erstellen. Das Datenspeichersystem sollte so organisiert sein, dass es im Berichtskonfigurator abgerufen werden kann.
    Zum Beispiel musste ein Bericht erstellt werden, welcher der Mitarbeiter wie viel Zeit für Aufgaben aufgewendet hat - voila! Wir gehen zum Berichtskonfigurator, wählen dort eine Tabelle aus, in der die Datensatzdaten des gewünschten Zeitplans gespeichert sind, und erstellen einen Bericht mit dem Standardkonfigurator gemäß den Daten aus dem Diagramm.
  13. Einbettbarkeit
    Das Diagramm sollte leicht überall auf einer beliebigen Seite eingebettet werden können - d. H. Es sollte ein Standardeingabeelement sein, das einem Textfeld oder einer Schaltfläche entspricht.
    Glücklicherweise hatten wir Erfahrung in der Entwicklung komplexer Standardelemente. Insbesondere haben wir ein Standardkommentarelement, ein Dateiantragsformular, ein Kontaktformular und eine Tabelle. Alle werden mit einem Klick als normale Elemente hinzugefügt und sind einfach zu konfigurieren.
  14. Zugang und Sicherheit
    Die Zugriffsrechte auf den Zeitplan als Ganzes sollten durch das allgemeine Rechte-System geregelt werden, und innerhalb des Zeitplans sollten die Zugriffsrechte auf Datensätze durch die Zeitplaneinstellungen geregelt werden.
    Geben Sie beispielsweise an, dass nur der Autor seinen Beitrag, seine Gruppe oder Einheit bearbeiten kann.
  15. Einfache Konfiguration
    Das Erstellen und Konfigurieren eines neuen Zeitplans sollte natürlich schnell erfolgen und keine Probleme verursachen. Insbesondere für uns sollte diese Arbeit für einen typischen Fall (es ist klar, dass dies natürlich sehr komplex sein kann) nicht länger als eine Mannstunde dauern.

Wir glauben, dass wir es geschafft haben, diese Anforderungen elegant umzusetzen, und dieser Artikel wird beschreiben, wie dies getan wird.

Im Moment kenne ich keine Systeme mit ähnlich vielseitigen Grafiken (wenn Sie wissen, schreiben Sie in die Kommentare, es ist interessant zu sehen)

Das allgemeine Diagrammkonfigurationsdiagramm sieht ungefähr so ​​aus (nicht streng beurteilen, ich habe es selbst gezeichnet). Jedes Element wird hier benötigt, es gibt keine überflüssigen.

Bild

Alle Arbeiten beginnen mit dem Verständnis, welcher Datensatz im Datensatz enthalten sein soll, und dem Erstellen einer Tabelle in der Datenbank für diesen Zeitplan.

Bild

Für einen Zeitplan für Arbeiten an Aufgaben in einem Telekommunikationsunternehmen ist es beispielsweise wichtig zu wissen, wann die Arbeiten ausgeführt werden, an welcher Aufgabe, an welchem ​​Objekt und welche Gruppe von Ingenieuren diese Arbeiten ausführen wird.

Daher bilden wir eine Tabelle, in der alle diese Info + Service-Felder mit der Datensatz-Datensatz-ID vorhanden sind. (PS: Die Tabellen können wir direkt in der Cloud über den Browser bearbeiten).

Bild

Dies ist ein einfacher Fall, der jedoch viel komplizierter sein kann, wenn mehr Felder oder mehrere Tabellen vorhanden sind.

Das war's, die Speicherstruktur ist gebildet und jetzt muss der Zeitplan wissen, wie man damit arbeitet. Jeder Eintrag kann hinzugefügt, angezeigt, geändert und gelöscht werden.

Bild

Weil Wenn der Datensatz und die Speicherstruktur beliebig sein können, muss diese Struktur über die gespeicherte Prozedur verarbeitet werden.

Bild

Zuerst müssen Sie die Prozedur erstellen. In unserem Beispiel ist der Fall einfach und sie können im Konfigurator mit einer Schaltfläche mithilfe der Funktion "Standardprozeduren erstellen" erstellt werden. Das System selbst gemäß dieser Tabelle erstellt Verfahren zum Erstellen, Ändern, Löschen und zu verschiedenen Schlussfolgerungen.

So sieht beispielsweise ein Fragment einer automatisch erstellten Add-Prozedur aus

Bild

Alle Prozeduren werden direkt über die Weboberfläche bearbeitet. Die Kompilierungslogik ähnelt PL-SQL.
Wenn etwas komplex ist, können diese Prozeduren abhängig von der Speicherstruktur bearbeitet und verschiedene Bedingungen, Schleifen, Auswahlen, Aktualisierungen, Einfügungen usw. festgelegt werden. Zeichnen Sie im Allgemeinen eine beliebige Verarbeitungsstruktur.

Der Zeitplan in jeder Aktion gibt an, welche Prozedur für diese Aktion verantwortlich ist.

Bild

Eingebaute Zeitplaneinstellungen

Es gibt aber auch „verkabelte“ Einstellungen, die nur konfiguriert, aber nicht geändert werden können. Dies ist einfach nicht notwendig.

- Datums- und Uhrzeitkoordinaten sind eine integrale Eigenschaft jedes Datensatzes
- Die Position des Diagramms im System. Es wird mit dem integrierten Editor der Benutzeroberfläche bearbeitet, und es ist nicht erforderlich, dies über das Diagramm selbst zu tun.
- Der Speicher des Benutzers - Es ist nicht erforderlich, diese Eigenschaft direkt zu konfigurieren.

Bild


In den Einstellungen können auch der Schritt (z. B. ein Raster von 20 Minuten oder 30) und der Arbeitsstundenbereich (z. B. 8 bis 20) angegeben werden.

Ein Zeitbereich ist erforderlich, um Überschüsse zu vermeiden. Wenn beispielsweise alle Mitarbeiter 8 Stunden an einem normalen Arbeitstag arbeiten, ist es nicht sinnvoll, die Nachtstunden anzuzeigen.

Schritt - Definiert das Diagrammraster. In einer Klinik kann es beispielsweise einen Arzttermin für 20 Minuten geben, in weiteren 15 Minuten in der dritten 30. Dies ist alles konfigurierbar.

Dies bedeutet jedoch nicht, dass die Aufzeichnung nicht außerhalb des Rasters erfolgen kann. Sie können beliebige Einträge vornehmen, diese werden jedoch im Raster angezeigt.

Der Schrittbereich kann auf 5, 10, 15, 30, 60 Minuten eingestellt werden.

Ausgabe aufzeichnen

Es reicht nicht aus, eine Prozedur zu erstellen und anzugeben. Es ist notwendig, dass der Zeitplan versteht, wie er seinerseits damit arbeitet.
Bild

Hut

Das Wichtigste ist, die Überschrift des Diagramms anzugeben. Welches der Ausgabefelder der Prozedur sollte ein Header sein?

Betrachten Sie die Logik der Erstellung eines Stundenplans in einer Bildungsorganisation. Angenommen, ein Datensatz enthält eine Reihe von Lehrergruppen.

Hier können Sie eine Überschrift für Lehrer erstellen, dann wird der Zeitplan wie folgt gebildet:

Bild

aber Sie können nach Gruppe, dann wie folgt:

Bild
Im Allgemeinen können Sie jedoch zwei verschiedene Diagramme erstellen und diese nach Belieben anzeigen. Die Benutzer wählen sie aus. In diesem Fall werden dieselben Daten und dieselben Verfahren verwendet. Änderungen in einem Diagramm ändern sich in einem anderen.

Im Allgemeinen hängt die Wahl jedoch von den Fragen der Zweckmäßigkeit ab. Ein Hut sollte eine grundlegende, sich wenig ändernde Information sein. Wenn Sie eine feste Anzahl von Objekten bedienen, sollten dies diese sein. Wenn Sie eine feste Anzahl von Gruppen haben, sind sie es.

Mit einem Hut kann man interessante Dinge machen. Wenn Sie beispielsweise den Aufgabenstatus als Kopfzeile angeben, springt der Aufgabendatensatz im Diagramm zum entsprechenden Status, wenn sich der Status in der Aufgabe ändert. Das heißt, Tatsächlich können hier fast Kanban-Boards usw. hergestellt werden. Dinge. Wenn wir Datensatzdaten durch Prozeduren an Live-Informationen im System binden, können sie auch in Diagrammen zum Leben erweckt werden. Sehr flexibler Mechanismus.

Wenn Sie in der Prozedur Filterbedingungen festlegen, können Sie im Diagramm auch Kopfdaten unter Berücksichtigung beliebiger Filter erstellen.

Was nicht ausgegeben werden

Sie können auch angeben, was in den Datensätzen angezeigt werden soll und was nicht. In der Prozedur können beispielsweise einige Dienstkennungen für Bundles als Ergebnisse angezeigt werden. Diese für den Benutzer nicht signifikanten Informationen können am Ende ignoriert werden.

Was zu verstecken

Und Sie können anzeigen, aber auf Katze minimieren. Informationen, die nicht sehr wichtig sind, aber manchmal benötigt werden. Zum Beispiel, wer und wann dieser Datensatz erstellt wurde, wird möglicherweise nur im Falle eines Showdowns benötigt, jedoch nicht bei operativen Arbeiten.

Referenzen

Es ist auch sehr praktisch, wenn ein Feld ein Link sein kann.

Wenn wir beispielsweise einen Zeitplan für Aufgaben erstellen, klicken Sie auf dessen Nummer, um zur eigentlichen Aufgabe zu gelangen.

Wir haben einen Standard-Verknüpfungsmechanismus im Konfigurator. Sie können sie dort erstellen und mit dem Feld im Diagramm verknüpfen. Alles arbeitet.

Titel

Natürlich sollte das Feld irgendwie aufgerufen werden. Standardmäßig übernimmt das System den Namen aus dem Prozedurfeld, aber die Wahrnehmung ist nicht immer korrekt. Daher müssen Sie manchmal alternative Namen eingeben.

Zum Beispiel sieht das alles bei uns so aus. Gegenüber den Feldern dieser Prozedur werden geprüft.

Bild

Die Ausgabe des Datensatzes sieht folgendermaßen aus:

Bild

Neuen Eintrag hinzufügen

Die Felder zum Hinzufügen eines neuen Datensatzes sollten durch das Hinzufügen bestimmt werden. Informationen müssen zu jedem Eingabeparameter der Prozedur geliefert werden.

Aber es gibt einen Trick. Felder können nicht nur Text, sondern auch Listen sein.

Nehmen wir unser Beispiel für eine Telekommunikation, in der es eine Aufgabe, eine Gruppe oder ein Objekt gibt. Wir werden den Benutzer nicht zwingen, nach Kennungen von Objekten zu suchen und diese zu steuern. Es ist erforderlich, dass eine Popup-Liste mit den erforderlichen Informationen vorhanden ist. Wo kann man es bekommen?

Zu diesem Zweck sollte das Eingabefeld für die Prozedur eine andere Prozedur aufrufen, die beispielsweise eine Liste der tatsächlichen Aufgaben oder eine Liste der erforderlichen Objekte usw. enthält. Gleichzeitig können Sie seitdem nicht nur die Felder einer Tabelle angeben Es kann komplexe Filter geben. Dieselben Aufgaben sind möglicherweise bereits 10.000 im System gestempelt, es sollte jedoch jetzt eine Liste mit 100 aktuellen Aufgaben angezeigt werden.

Bild

Im Allgemeinen eine Prozedur, die über das Feld einer anderen Prozedur zuckt.

Eigentlich klingt es nur beängstigend. Diese Dinge sind gut automatisiert, Prozeduren gemäß Standardverzeichnissen werden mit einer Taste erhalten. Verfahren für verschiedene Listen von Gruppen, Aufgaben, Anwendungen usw. lange für den Betrieb verschiedener CRM-Module implementiert. Sie müssen nur ausgewählt werden. Wenn es bereits eine Prozedur mit ähnlicher Funktionalität gibt, wird sie kopiert und bearbeitet.

Es muss auch angegeben werden, welches der hinzugefügten Felder eine Kopfzeile sein soll. Wir werden dies im Bearbeitungssystem benötigen.

Für uns sieht es so aus:

Bild

Datensatz bearbeiten

Hier ist es noch interessanter. Es reicht nicht aus, alle Felder in den Listen wie im Anhang anzuzeigen. In diesen Listen muss die aktuelle Position ausgewählt werden (ausgewählt). Wir bearbeiten.

Dazu müssen Sie die Erstellungsfelder den Ausgabefeldern zuordnen. Bei einem Listenfeld handelt es sich nicht nur um ein Lot der Informationen aus der Ausgabe, sondern auch um die Kennung dieser Informationen.

Das heißt, hier ist es notwendig:

a) Geben Sie den Bearbeitungsvorgang an
b) Ordnen Sie seine Felder den Additionsfeldern zu
c) Ordnen Sie seine Felder den Feldern der Ausgabe der Datensatzdaten zu, um die aktuellen Daten in die Listen aufzunehmen

Hier sind keine weiteren Funktionen anzugeben, da Wir haben bereits Ausgabe und Hinzufügen konfiguriert.

Wenn das Bearbeitungsfenster angezeigt wird, ruft das System die erforderliche Prozedur für jedes Feld auf, empfängt Daten, vergleicht sie mit den Daten aus der Ausgabe des Datensatzes, fügt sie in die Listen ein und fügt die aktuellen Werte in einfache Felder ein.

Bei uns sieht es so aus

Bild

Datensatz löschen

Entfernung ist am einfachsten. Der Löschvorgang mit einem Eingabeparameter wird einfach angezeigt: die Datensatz-ID des Diagramms.

Ereignisbehandlung beim Hinzufügen / Ändern / Löschen von Datensätzen. Auslöser Cross Records.

Nur das Hinzufügen / Ändern von Einträgen in den Diagrammen reicht nicht aus. Sie müssen noch Ereignisse verwalten. Dies eröffnet unbegrenzten Konfigurationsspielraum.

Das Verwalten von Ereignissen ist eigentlich sehr einfach. Immerhin haben wir bereits Tabellen, in denen die Daten der Diagrammsätze gespeichert sind. Sie können für diese Tabellen Trigger beliebiger Komplexität festlegen. Unser Cloud-Konfigurator macht dies einfach.

Zum Beispiel wurden Protokolle benötigt, wer was in der Aufnahme getan hat. Alles ist einfach. Für die Protokolle wird eine Tabelle erstellt, und in der Diagrammtabelle werden Trigger platziert, die die Änderungsdaten in eine Tabelle mit Protokollen schreiben.

Auch hierfür sind Cross-Aufnahmen möglich. Wenn in unserem Beispiel beispielsweise eine Aufgabe in einer Gruppe festgelegt ist, können Sie alle Teilnehmer in dieser Gruppe identifizieren und ihnen ein Doppel dieses Datensatzes in Ihre persönlichen Diagramme aufnehmen. Persönliche Diagramme einzufügen bedeutet in diesem Fall, einen Datensatz in der Datentabelle eines persönlichen Diagramms zu erstellen. Er ist auch ein Diagramm in diesem System, das nur anders konfiguriert und an einer anderen Stelle angezeigt wird. Dieser Eintrag wird darin angezeigt.

Oder Sie müssen eine Benachrichtigung an die Gruppenbenutzer senden. Oder senden Sie dem Kunden eine SMS, dass er zu ihm kommt, um ab und zu an dieser und jener Aufgabe zu arbeiten. Dazu werden einfach Trigger erstellt, die Einträge in die Benachrichtigungstabellen oder SMS vornehmen.

Berichte

Diagrammberichte werden ebenfalls benötigt und können mit einer solchen Struktur erstellt werden.

Zum Beispiel musste ein Bericht darüber erstellt werden, wie lange Mitarbeiter im Vormonat unterwegs waren. Wir gehen zum Berichtskonfigurator, wählen die gewünschte Tabelle aus, in der die Diagrammeinträge gespeichert sind, stellen die erforderlichen Filter und Aggregationsfunktionen ein - und vaul, der Bericht ist fertig.

Andere Verwendungen von Diagrammdaten

Diagrammdaten können mit einem erweiterten Systemkonfigurator überall verwendet werden. Beispielsweise konnten wir in Aufgaben auf einfache Weise die Registerkarte Diagramme erstellen und in einer einfachen Prozedur Informationen darüber anzeigen, wie lange und wer diese Aufgabe zur Ausführung hatte.

Bild

Überlagerungen von Zeit

Sie passieren. Und es gibt nichts Schlimmeres als Aufzeichnungen, die sich gegenseitig treffen und nicht zulassen, dass die erforderlichen Aufzeichnungen gelesen werden. Dieses Problem wurde ebenfalls behoben. Das System überlappender Einträge wird automatisch in der Nähe platziert. In diesem Fall wird nur einfaches HTML verwendet, nur die Tabellenstruktur wird in der dafür erforderlichen Weise erstellt. Das System kümmert sich um jede Tiefe, aber mehr als 2 Einträge sind selten.

Wenn sich die Zeit überschneidet, ist natürlich höchstwahrscheinlich nichts geplant. Eine Person kann nicht gleichzeitig an zwei Orten sein, aber selbst solche Situationen müssen korrekt angezeigt werden.

Bild

Zugang und Sicherheit

Der Zugang ist in 2 Ebenen unterteilt. System- und persönliche Grafiken. Das System wird vom Rolleneditor und den im Schnittstellenkonfigurator angegebenen Standardrechten als Ganzes definiert. Wenn dieser Seitenzelle (oder den oben vererbten Registerkarten, Seiten, Menüs) beispielsweise der Lesezugriff verweigert wird, wird dieses Diagramm auf der Anzeigeebene der Benutzeroberfläche keinem Benutzer angezeigt, bis er diesem Bereich in Benutzerrollen Leserechte zuweist.

Als nächstes kommen die internen Rechte des Zeitplans. Dies können sein:

1) Bearbeiten

- nur der Autor
- nur die Gruppe des Autors (alle Mitarbeiter in den Gruppen, in denen sich der Autor der Aufzeichnung befindet)
- nur die Einheit des Autors (alle Mitarbeiter in der Abteilung des Autors, je nach Personal)

PS: Die Arbeitsgruppe und das Personal können von uns abweichen. Beispielsweise kann es in einer Einheit mehrere Arbeitsgruppen geben, oder Mitarbeiter aus verschiedenen Einheiten können in derselben Gruppe sein. Derselbe Mitarbeiter kann auch gleichzeitig in verschiedenen Gruppen sein. All dieses System berücksichtigt.

2) Das Entfernen ist ähnlich.

- nur der Autor
- nur die Gruppe
- nur die Abteilung

Warum brauchen wir interne Rechte?

Wenn dies ein persönlicher Zeitplan ist oder einige Funktionen vorhanden sind, ist es sinnvoll, nur den Autor anzugeben.

Es gibt jedoch Schichtmitarbeiter und Situationen, in denen der Datensatz bearbeitet werden muss und der Mitarbeiter nicht arbeitet. Was zu tun ist?Es ist sinnvoll, solche Zeitpläne für die Bearbeitung durch eine Gruppe oder Einheit festzulegen, damit andere Schichtmitarbeiter mit diesen Datensätzen arbeiten können.

Außerdem kann die Rolle, die das Recht zur Verwaltung hat, im Zeitplan angegeben werden. Mitarbeiter mit dieser Rolle haben das Recht, unabhängig von Gruppen und Einheiten zu bearbeiten und zu löschen.



Hier haben wir so eine coole Sache, die das Leben stark vereinfacht, wenn man natürlich weiß, wie man es benutzt. Unmittelbar unerfahrene Personen können schwer herauszufinden sein. Aber wir müssen einen solchen Zeitplan in einer einfachen Form aufstellen, es geht um eine Mannstunde.

Darüber hinaus erhalten wir die tiefsten Konfigurationsmöglichkeiten und die Möglichkeit der Interaktion mit anderen Elementen des Systems.

Source: https://habr.com/ru/post/de430674/


All Articles