| |
VB & DatenbankenRe: Tabellenstruktur für Rechnungen | | | Autor: srcdbgr | Datum: 29.09.06 09:26 |
| Zitat: | |
Meinst du damit einfach eine Tabellenspalte in der das Datum
gespeichert wird, oder ist das irgendwas besonderes?
| |
Der Datum/Zeit-Stempel hat (bei mir) immer folgende Form:
yyyy.mmm.dd_hh:mm:ss_ID-Merkmal, also kein Datum-Feld sondern alphanumerisch. Ist so immer eindeutig sortierbar und außerdem leichter zu handhaben als ein Datum. Wenn ich ein Datum brauche, kann ich es mir bei Bedarf ja leicht wieder 'zusammenbauen'.
Zitat: | |
Das heist, nach z.B. dem Ausdrucken muss ich in meinem
Programm in der Historientabelle den neuen Datensatz anlegen,
und den in der aktuellen löschen, oder?
| |
Das wäre eine Möglichkeit.
Die andere Möglichkeit (die ich bevorzuge): anstatt die aktuelle Rechnung vollständig zu löschen, stelle ich in den Datensatz den Datum/Zeit-Stempel als Schlüssel für den Zugriff auf die Historientabelle ein. Dann muss ich bei einem Kopiedruck nicht in der Historie suchen, sondern hole meinen Schlüssel direkt aus dem aktuellen Produktivbestand, packe ihn in eine WHERE-Klausel und picke mir die Rechnungsdaten aus der Historie heraus.
Also bspw.
"Zeige alle Rechnungen zu Kunde XYZ" ergibt eine Liste die so aussehen könnte:
Rechnungs-ID ... weitere Felder
R200600012 .... (= Rechnung, die in Bearbeitung und noch nicht gedruckt ist)
R200600011 ....
R200600010 ....
20060929_08:59:00_R200600009 ... (= bereits gedruckte Rechnung in der Historie)
20060927_13:27:45_R200600008 ...
Genau so verfahre ich mit Angeboten, Lieferscheinen, etc. wobei Angebote und Lieferscheine zusätzlich noch eine laufende Nummer und das Suffix 'A' bzw. 'L' erhalten. So kann ich bereits anhand des Schlüssels erkennen, worum es sich handelt und welche Dokumente zusammengehören. Bspw.:
A200600010
R200600010
L200600010
20060929_08:59:00_A200600009
20060929_08:59:00_R200600009
20060929_08:59:00_L200600009
Das System lässt sich auch ganz einfach mit Nummernkreisen kombinieren, um eine automatische Generierung der benötigten ID's zu erhalten. In der Stammdatenkonfiguration muss man sich dann nur noch um die Zuweisung der Nummernkreise kümmern. So lassen sich dann unterschiedliche Rechnungsarten verwalten - z.B. Rechnung mit oder ohne separate Ausweisung der MwSt., Rechnung für den Direktverkauf über Kasse, Rechnungen für den Verkauf auf Zahlungsziel, ProForma-Rechnung, etc. etc..... wie man's eben braucht. Anhand des Schlüssels weiss ich dann auch
- ob überhaupt gedruckt werden soll,
- welches Druckformular eingesetzt werden soll,
- welche Textbausteine verwendet werden sollen
- ....
Der Phantasie sind da (fast) keine Grenzen gesetzt.
Viel Spaß beim Ausprobieren.
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. (Brian W. Kernighan) | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevDTA 3.0 Pro
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|