AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Zeiterfassung + Rechnungserstellung (netzwerkfähig)
Thema durchsuchen
Ansicht
Themen-Optionen

Zeiterfassung + Rechnungserstellung (netzwerkfähig)

Ein Thema von DelphiManiac · begonnen am 2. Apr 2007 · letzter Beitrag vom 10. Apr 2007
 
SirTwist

Registriert seit: 28. Sep 2006
198 Beiträge
 
Delphi XE Professional
 
#4

Re: Zeiterfassung + Rechnungserstellung (netzwerkfähig)

  Alt 2. Apr 2007, 10:02
Die Wahl der SQL-Datenbank ist hier wohl eher nebensächlich, da es sich wirklich nur um recht einfach gestrickte Daten handelt.

Wichtiger ist eigentlich da die Wahl der Zugriffsrechte, denn ein Mitarbeiter sollte doch wohl nur seine eigenen Daten sehen und ändern können und nicht die der anderen. Natürlich könntest Du das über die Programmlogik abfangen, aber dann nimmt man einfach einen SQL-Browser und verbindet sich direkt auf die DB.

Als sauberste Lösung bleibt hier eigentlich nur eine echte Server/Client-Anwendung und nur die Serversoftware hat Zugriff auf die DB.

Etwas aufwändiger, aber ohne Serversoftware: Du legst pro Mitarbeiter eine Tabelle "Entries_<userid>" an und gibst jedem Mitarbeiter nur auf diese Tabelle Schreibrechte, und auf alle anderen "Entries_*"-Tabellen gar keine Rechte. Erst der Controller darf auf alle Tabellen zugreifen und übernimmt dann am Ende des Monats die Werte in eine zentrale Tabelle "Entries".

Noch weniger aufwändig, aber gefuscht : Wenn Du im Client-Programm Username und Kennwort abfragst, vermurkst Du das Kennwort noch mit irgendeiner festen, zufälligen Kennung, bevor Du Dich an der DB anmeldest, also sowas wie
DB.Connect(user, 'DHz!64&'+pass+'vzFg'); Als Tabellen würd ich Dir vorschlagen:
  • Mitarbeiter - Eine Liste aller Mitarbeiter
  • Kunden - Eine Liste der Kunden
  • Projekte - Die Liste der Projekte, die abgerechnet werden sollen. Kurzname, Beschreibung, Kunde, Letzte Abrechnung erfolgt am, Genehmigte Stunden, Bereits verrechnete Stunden, (StartZeitpunkt des Projekts, EndZeitpunkt, ...)
  • Entries - MitarbeiterID, Datum, Startzeit, Endzeit, (Anzahl Minuten), Zuordnung zu Projekt, Abgerechnet Ja/Nein
  • Rechnungen - Kunde, Projekt, ZeitraumStart, ZeitraumEnde, versandt Ja/Nein, Leistungsnachweis akzeptiert ja/nein, bezahlt ja/nein

Dann machst Du zwei Programme: ein etwas kleineres für die Mitarbeiter, die brauchen dann nur ReadOnly-Zugriff auf Kunden, Projekte und vollen Zugriff auf Entries_<userid>. Und dann ein programm für die Controller, die vollen Zugriff auf alles haben, und insbesondere die Tabellen "Entries_<userid>" anlegen und löschen können und mit den passenden Zugriffsrechten versehen können.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz