AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Ändern von Datenmengen

Ändern von Datenmengen

Ein Thema von davar · begonnen am 17. Mai 2006 · letzter Beitrag vom 22. Mai 2006
 
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.259 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Ändern von Datenmengen

  Alt 21. Mai 2006, 08:31
Hai davar,

ich habe in dem WaWi das ich mal geschrieben habe für die "Vorgangserfassung" immer eine Grid (eigentlich VirtualStringTree) für die Positions anzeige und einfache Edits für die Dateneingabe verwendet (siehe Bild).

Ausserdem habe ich das in der DB anders eingetragen als Du. Ich habe nur eine Tabelle für die Vorgänge gehabt.

Uff... jetzt wird es etwas OT aber ich hoffe man verzeiht mir wenn ich einen allgemeinen Tip geben?

Wie ist denn der "normale" Ablauf eines Verkaufes:
  1. Kunde droht mit Auftrag
  2. Daraufhin werden dem Kunden Angebote erstellt
  3. Aufgrund eins Angebotes bestellt der Kunde
  4. Nach der Bestellung wird aus dem Angebot eine Auftragsbestätigung erstellt
  5. Es wird ein (Teil)lieferschein erzeugt
  6. Aus dem Lieferschein wird eine Rechnung erzeugt

Für jede Aktion muss ein Datensatz in der Vorgangstabelle erzeugt werden.
Man braucht also ersteinmal eine Tabelle in der die Vorgänge gespeichert werden.
Code:
tbl_vorgangsarten
-----------------
id               : PK
bezeichnung      : (Angebot, Auftragsbestätigung, Lieferschein, Rechnung)

tbl_projekt
-----------
id               : PK
bezeichnung      : Ein Text oder eine Vorgangsnummer
fk_adress_id     : Verknüpfung zur Adressentabelle

tbl_vorgang
-------------
id               : PK
fk_projekt_id    : Verknüpfung zu tbl_projekt
fk_vorgangsart_id : Die Vorgangsart
datum            : Naja, das Datum halt

tbl_vorgangpos
--------------
id               : PK
fk_vorgang_id    : Verknüpfung mit den einzelnen Vorgängen
pos              : Position
fk_arktikel_id   : Verknüpfung mit den Artikeln in dem Vorgang
preis            : Preis des Artikels
menge            : Menge
Bei den Vorgangspositionen müssen natürlich noch alle anderen Felder rein.
Wenn jetzt ein neuer "Verkauf" beginnt wird als erstes ein neues Projekt erzeugt. Beim Vorgang (Angebot, AB, Rechnung) wird die Referenz zum Projekt hinterlegt. Du kannst also zu einem Projekt mehrere Angebote haben welche sich in ihren Positionen unterscheiden. Jedes dieser Angebote kann nun in eine Auftragsbestätigung gewandelt werden. Dafür wird einfach ein neuer Eintrag in der tbl_vorgang erzeugt und die Positionen werden kopiert.

Das ganze ist auf den ersten Blick zwar ein unnötiger Aufwand; aber Du wirst dich darüber freuen wenn dein Programm einmal komplexer wird. So siehst Du zum Beispiel auf einen Blick alle Angebote die zu einem Projekt erstellt wurden. Auf den Ausdrucken für den Kunden steht neben der Angebots-, AB-, Lieferschein- und Rechnungsnummer immer die Projektnummer dabei. Dadurch kann man alles in der DB finden.

Ach ja, noch etwas zu den Verkaufspreisen. Speichere diese nicht in der Tabelle der Artikel sondern wieder in einer eigenen.
Code:
tbl_artikel
-----------
id               : PK
nummer           : Artikelnummer
bezeichnung      : Artikelbezeichnung

tbl_artikel_preise
------------------
id               : PK
fk_artikel_id    : Verknüpfung zum Artikel
preis            : Artikelpreis
datum            : Datum ab wann de Preis gültig ist
So hast Du ganz nebenbei eine History eurer VKs.
Bei den Vorgangspositionen ist es eventuell noch Sinnvoll eine Spalte zu haben in der ein Flag darüber auskunft gibt ob der Preis für diese Position vom Standardpreis abweicht. Dies kannst Du aber auch über eine Abfrage der Preistabelle ermitteln.
Wichtig ist es aber auf den Ausdrucken für den Kunden zu vermerken das es sich um einen Sonderpreis handelt.

So, das ist jetzt nur einmal schnell runtergeschrieben (Sonntags, halb zehn in Deutschland *g*).
Wenn Du noch genauer darüber reden möchtest sage mir bitte bescheid. Dann löse ich dieses Posting aus dem Thread und mache dafür einen eigenen auf!
Angehängte Grafiken
Dateityp: jpg beispiel_730.jpg (71,2 KB, 19x aufgerufen)
Stephan B.
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 04:20 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