AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Tabellenaufbau Auftragsverwaltung praktischer Tipp
Thema durchsuchen
Ansicht
Themen-Optionen

Tabellenaufbau Auftragsverwaltung praktischer Tipp

Ein Thema von AMaurer · begonnen am 5. Jun 2011 · letzter Beitrag vom 7. Jun 2011
Antwort Antwort
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.879 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Tabellenaufbau Auftragsverwaltung praktischer Tipp

  Alt 5. Jun 2011, 17:38
Ich würde Dienstleistungen wie Artikel verwalten
Markus Kinzler
  Mit Zitat antworten Zitat
FredlFesl

Registriert seit: 19. Apr 2011
293 Beiträge
 
Delphi 2009 Enterprise
 
#2

AW: Tabellenaufbau Auftragsverwaltung praktischer Tipp

  Alt 6. Jun 2011, 03:07
Jede Sonderleistung individuell?

Spendiere jeder Rechnungsposition einen optionalen Begleittext.

Dann ist die "Sonderleistung" ein Artikel, bei 'Menge' trägst Du die Stunden ein und im optionalen Begleittext die Beschreibung der Sonderleistung (Das 'Handgeschriebene').
Das Bild hängt schief.
  Mit Zitat antworten Zitat
AMaurer

Registriert seit: 14. Dez 2010
34 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Tabellenaufbau Auftragsverwaltung praktischer Tipp

  Alt 6. Jun 2011, 06:50
... das bedeutet aber doch:

Bei einer Bestellung von Artikeln ist der Einzelpreis und die Bestellmenge bereits bei der Bestellung bekannt. Beim Serviceeinsatz nur der Stundensatz des Servicemonteurs. Bei der Sonderleistung nach Aufwand wird alles erst später bekannt, quasi mit dem Lieferschein bzw. der Rechnung.

Wo führe ich dann die Preise/Kosten?

Ich wollte diese bereits beim Auftrag in den Auftragspositionen mitführen. Die unbekannten Kosten abschätzen, so dass ich einen ungefähren Auftragswert habe, der vom Controlling verwendet werden kann.

Vielleicht ist es sinnvoll, wirklich alles in einer Tabelle zu führen und die Nummernkreise mit einem Präfix (A = Artikel, M = Monteur und S = Sonderleistung) übersichtlich zu gestalten. Damit könnten die Informationen für den User sogar in 3 unterschiedlichen Formularen geführt werden, die beim Auftrag, dem Lieferschein und der Rechnung "zusammenfließen".

Apropos: Preis und Kosten (auch für den Einkauf) in eine separate Tabelle, um Preisentwicklungen nachzuhalten?!

Viele Grüße

Andreas
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Tabellenaufbau Auftragsverwaltung praktischer Tipp

  Alt 6. Jun 2011, 07:19
Normalform-Konform würde zu einer Tabelle Artikel (in der zum Artikel auch der Verkaufspreis stünde) eine Tabelle Lieferanten gehören.
Diese beiden würden über eine dritte Tabelle Artikel-Lieferanten verknüpft, in der dann auch die EK-Preise festgehalten würden.

Deine Idee ist nun den Verkaufspreis nicht in der Tabelle Artikel zu haben, sondern auszulagern, um auch eine Art Historie der Preisentwicklung zu haben. Dies geht natürlich schon, doch musst du darauf achten, das nur einer der zu einem Artikel angegebenen Preise der aktuell gültige ist.
Alternativ kann man natürlich auch den Preis in der Tabelle Artikel belassen und seine DB oder Anwendung so programmieren, das wenn dieser Preis geändert wird, der alte Preis (mit einem passenden Datum) in einer Tabellen "Preise_Alt" oder so gespeichert wird.

Wenn man beginnt, solche Funktionalitäten einzubauen, kann der Spaß schnell komplex werden.
Ralph
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Tabellenaufbau Auftragsverwaltung praktischer Tipp

  Alt 6. Jun 2011, 08:17
Ich würde das niemand antun, bei einer NEU(!)-Entwicklung mit Präfixen auf Nummern, Inhaltsverdrehungen (Stunde statt Stückzahl) usw. loszulegen! Never ever! Speicherplatz sollte heutezutage nicht das Problem sein und kann kein Grund für solche "Maßnahmen" sein..

Natürlich wird auf den ersten Blick das Datenmodell komplexer, aber Du "erntest" einfache Zugriffe auf Daten, Datenschreiben, Datenlesen, Reporting, Rechnungsstellung, Kontrolling, etc pp.
Was Du Dir mit einem redundanten Datenmodell einhandelst, bzw. dem Interpretationszwang, den Du da reingießt, badest Du später bei Programmierung, Maskenaufbau, Reporting mit endlosen if/then/else/decode/case Geschichten wieder aus. Nix gewonnen, nur verloren (Außer Du betrachtest das als Arbeitsplatzsicherung).

In Rechnung/bzw. Auftrag gehören Positionen, die Positionen stehen für Produkte (darunter können auch Dienstleistungen fallen). Dienstleistung nach Aufwand ist logischer Weise nicht zu bepreisen.
Waren gehen evtl. auf Kommision raus, werden darüber berechnet und ggF. rückerstattet. (beispielsweise)

Waren und Dienstleistungen unterscheiden sich durch eine entsprechende Klassifizierung (vlt noch weitere). Preise haben je Produkt eine Bezugsgröße als Einheit (Stunden, Stück, Kilo, laufende Meter usw. ) außerdem auch eine Mehrwertsteuerklasse, vlt. Rabatte usw usw.

Ich würde versuchen, mit einem kleinen, sauberen Modell anzufangen, was nach Bedarf ausgebaut wird. Freitexte sind schön und hilfreich für den Anwender, wenn sie ordentlich verwendet werden. Sie sollten aber nicht als Spielwiese für Maschineninterpretation und KI-Geschichten in den Workflow der Firma eingebunden sein.
Gruß, Jo
  Mit Zitat antworten Zitat
JohannesK

Registriert seit: 17. Jul 2003
Ort: Abtwil
118 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Tabellenaufbau Auftragsverwaltung praktischer Tipp

  Alt 6. Jun 2011, 08:51
Ich denke der Ansatz von Jumpy ist der effizienteste, da spätere Erweiterungen einfach und schnell zu realisieren sind.
Redundante Informationen in der gleichen Tabelle geben schnell Chaos.

Wir haben bei uns genau die gleiche Problematik und unser System über eine Struktur wie folgt aufgebaut:

Projekt/Auftrag
|-Rechnung 1
|-Rechnung 2
|-Position 1 ...

Artikel kommen aus Artikeltabelle (egal ob Dienstleistung oder Produkt), Lieferanten aus Lieferantentabelle, Preise aus Zuordnung Lieferant-Produkt.
Preishistorie etc. ist einfach und sicher dokumentiert, gleicher Stamm wird für Bestellwesen usw. verwendet.
Angebotstexte werden auch in einer eigenen Tabelle geführt.
Zusatzfunktionen wie die Bereitstellung von Daten für einen Webshop haben wir nachträglich einfach integriert.

Funktioniert sicher und ist flexibel. Für die Stammdatenpflege muss man natürlich ein wenig strukturiert arbeiten.
mit freundlichem Gruss

So einfach wie möglich. Aber nicht einfacher.
  Mit Zitat antworten Zitat
AMaurer

Registriert seit: 14. Dez 2010
34 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Tabellenaufbau Auftragsverwaltung praktischer Tipp

  Alt 6. Jun 2011, 09:40
Eines vorab:
es ist nicht die erste DB, die ich erstelle. Vorher im Finanzbereich. Da war aber alles klar strukturiert. Jetzt gibt es Varianten bei deren Erfassung/Verarbeitung ich mir schwer tue.

@JohannesK:

Wenn ich Dich richtig verstanden habe, dann führt Ihr alles in einer Tabelle (Artikel und Dienstleistungen). Ihr vermischt also auch Stück und Stunden.

Dann hat aber eine Serviceleistung eine Artikelnummer oder wie zieht ihr diese bei der Auftragserfassung an? Was ist mit den Sonderleistungen? Die behandeln wie die Serviceleistungen und aus dem Artikelstamm ziehen oder sind das dann eher Teile der Angebotstexte?

Wie bereits geschrieben, kann die Bescheibung der Sonderleistung sehr ausführlich und lang sein.

Außerdem kann ein Auftrag auch rein aus einer Sonderleistung bestehen.
Anderseits können eine Menge Artikel in der Rechnung unter einer Position Ersatzteile zusammengefasst werden.

...
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:46 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