0

Berechnen von Entgelt anhand von Formulareinträgen

Hallo.

Ich habe eine Ninoxdatenbank für unseren Betriebsrat aufgebaut  und möchte nun folgendes lösen

Es gibt eine Entgelttabelle. In dieser Tabelle sind Entgeltgruppen mit jeweiligen Gehältern aufgelistet.

Die Enrgeltgruppen sind gekoppelt an Punktebereiche

Zum Beispiel Entgeltgruppe 1 (EG 1): 

Punktezahl zwischen 10 und 15: Gehalt 2440,00

Etwas komplizierter wird es in den höheren Gehaltsgruppen:

Punktezahl zwischen 143 und 170: EG 14

Gehalt ist dort aber auch abhängig von der Betriebszugejhörigkeit:

Also:

Punktezahl 150

Betriebszugehörigkeit 25 Monate

EG 14, Gehalt bis 12 Monate (excl.) Betriebszugehörigkeit: 5024,00

EG 14, Gehalt zw. 12 und 24 Monate (excl.) Betriebszugehörigkeit: 5338,00

EG 14, Gehalt zw. 24 und 36 Monate (excl.) Betriebszugehörigkeit: 5662,50

EG 14, Gehalt zw. >36 Monate (excl.) Betriebszugehörigkeit: 6281,50

 

Wie bekomme ich das hin?

 

Dankeschön

Peter

6 Antworten

null
    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Peter, wo stellst Du denn diese Daten bereit? Betriebszugehörigkeit, Punkte? Liegen diese jeweils im Datensatz? Also z.B. Klaus Müller, im Betrieb seit (Datumsfeld), Punkte (Zahlenfeld)...

    Dann kannst du mit if/then bzw. switch und einer Verknüpfung auf die Entgelttabelle das ganze über einen Button steuern. Den nennst Du ENTGELTGRUPPE ZUWEISEN. In der Formel für den Button baust Du dir deine If-Abfrage 

    if PUNKTE <= 15 and >= 10 then ENTGELTTABELLE := 1

    else 

    if Punkte <= 30 and >= 16 then ENTGELTTABELLE := 2

    end

     

    Deiner verknüpften Entgelttabelle kannst du mit der ID-Nummer des Datensatzes einen Eintrag zuweisen, wenn also bei EG14, bis 12 Monate der Datensatz zb. die ID 18 hat dann 

    ENTGELTTABELLE := 18

    Du musst nun halt die If-Abfrage so verschachteln, dass bei den höheren Gruppen auch das Datumsfeld it abgefragt wird. Wie oft soll diese Zuweiseung denn stattfinden?

    Gruß, Tobias 

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Peter, das Kriterium der Betriebszugehörigkeit könnte man über eine Untertabelle abbilden. Ich habe mal eine einfache Beispiel-DB erstellt, in der das Gehalt anhand der Punktzahl und des Eintrittsdatums automatisch ermittelt wird. Wenn die Betriebszugehörigkeit wie in deinen Beispielen immer nach vollen Jahren bemessen wird, würde ich auch gleich Jahre angeben (statt 12, 24, 36 ... Monate). Dann spart man sich die Berechnung der Monate und kann direkt mit age() arbeiten.

     

    Du kannst die Datenbank herunterladen (und dann in Ninox als "Archiv importieren"). Vielleicht hilft sie bei der Problemlösung:

    https://www.dropbox.com/s/mug1ds78i9aohwa/Entgeltgruppen_Peter.ninox?dl=0

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Tobias, sorry, in der Zeit, in der ich die DB erstellt habe, hast du auch schon geantwortet. Da meine Lösung etas anders aufgebaut ist, schadet es in diesem Fall aber nicht. ;)

    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hehe, das kommt ja öfter mal vor hier. Aber gut, dass in diesem Forum wenigstens "leben" ist. Nein, das schadet nicht, alles rein in den "Pott" - mit einer Datenbank kann Peter sicher mehr anfangen...

    LG

    Tobias

    • work
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hey liebe Leute! Herzlichen Dank für die so schnellen Hinweise. - Bin absoluter Anfänger bei der Datenbankgeschichte. Die meisten Daten -wie zum Beispiel "Betriebszugehörigkeit" habe ich in der Tabelle "Mitarbeitende". Dort findet sich dann auch das Feld "Eintrittsdatum", woraus sich dann die "Betriebszugehörigkeit" erreichnet. - Bei der gewünschten Auswahl soll ein Textdokument der IG Metall in eine Datenbank umgesetzt werden, die es ermöglichen soll, schnell herauszufinden, wieviel man in einem vergleichbaren Job verdienen könnte, wenn man nach Tarif bezahlt würde. ICh schicke bei Gelegenheit mal ein paar screenshots hier herein. Das geht anscheinend nicht "on the fly" hier im Forum. Aber zurück zum Thema: Ich habe mit "if ... and ... then ... else" schon einiges erreicht (Das konnte ich noch zurecht basteln). Switch sagt mir leider gar nix. Daher habe ich mir auch mal schnell die dropbox-datei vom Copytexter heruntergeladen und glaube, die verstehe ich. ;-) --- Herzlichen Dank dafür! 

    Die Idee ist es, nach dem Aufbau der quasi statischen ERA Niveaubeispiele-Tabelle eine weitere allgemeingültige Tabelle zu erstellen, die eine eigene Eingruppierung ermöglicht -also individuelle Punktevergabe für bestimmte Bereiche, die seitens Arbeitgeberin und Betriebsrat / Kommission einvernehmlich definiert sind. Zum Beispiel "Arbeitskenntnisse" "Führung von Mitarbeitenden" "Kommunikation" e.a.. Daraus ergibt sich die Punktzahl, die dann in Summe zu der Eingruppierung in "EG 14" oder geringer führt. - Ihr seht: da ist noch reichlich Stoff. Vielleicht schaffe ich es zeitnah mal eine leergemachte Beispiel-DB hoch zuladen (dropbox scheint ja genehm ;-)) Dann brauche ich sicher nicht soviel schreiben. - Auf jeden Fall schon recht herzlichen Dank für Eure Hilfe!! Echt super Forum! Viele Grüße schon mal! Peter

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Peter, ich hatte die Punktzahl einfach so als Zahl eingetragen, weil es ja um die Ermittlung der entsprechenden Gruppe ging. Wenn sich diese Punktzahl aus verschiedenen zusammensetzt, dann könnte man diese auch in eine Untertabelle von 'Mitarbeitende' packen und die Summe der Punkte mit einem Funktionsfeld berechnen lassen. Es sei denn, es sind nur drei oder vier feste Bereiche, die sich niemals ändern, dann könnte man sie natürlich auch als Datenfelder direkt in die Tabelle 'Mitarbeitende' speichern. Wichtig ist halt, dass man flexibel bleibt und möglichst viel über Verknüpfungen abbildet, damit man bei inhaltlichen Änderungen nicht jedes Mal irgendwelche Skripte anpassen muss. Viel Erfolg!