BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Zusammengesetzte Rechnungsnummer

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Georgee
Beiträge: 19
Registriert: So 23. Okt 2011, 11:55

Zusammengesetzte Rechnungsnummer

Beitrag von Georgee » Mi 20. Sep 2017, 10:22

Hallo,
ich bin noch recht unerfahren in Base und würde mir daher eine detaillierte Antwort wünschen.
Mein Problem:
Ich möchte eine Datenbank zur Rechnungserstellung aufbauen.
In dieser Datenbank sollen Rechnungsnummern automatisch vergeben werden, wobei diese aus zwei Komponenten bestehen sollen:
1. einer Nummer für den Monat, basierend auf dem Rechnungsdatum, also Rechnungsdatum 25.01. = 01, 22.12. = 12
2. einer fortlaufenden vierstelligen Zahl mit vorangestellten Nullen also z.B. 0010.
Dabei soll diese Zählung aber bei einem neuen Monat wieder neu beginnen. Auch in einem neuen Jahr soll die Zählung für den Monat wieder neu beginnen.
Gleichzeitig soll eine doppelte Rechnungsnummer innerhalb eines Jahres und eines Monats ausgeschlossen sein und natürlich sollen mehrere Benutzer gleichzeitig Rechnungsdaten zur Rechnungserstellung eingeben können.
Geht so etwas, und wenn ja, auch so dass dies für einen Anfänger wie mich auch verständlich und realisierbar ist?

Georgee
Beiträge: 19
Registriert: So 23. Okt 2011, 11:55

Re: Zusammengesetzte Rechnungsnummer

Beitrag von Georgee » Mi 20. Sep 2017, 14:57

Vielen Dank HeiDieLX,
Der Fiskus ist unerheblich, da eine separate Jahreskennung unabhängig von der Rechnungsnummer vorhanden ist.
Aber habe ich das richtig verstanden? Wenn mehrere User gleichzeitig Rechnungen eingeben sollen, kann ich keine monatlich neu beginnende Zählung für die Rechnungsnummer vergeben ohne das Doppelungen entstehen können?
Die Jahresendroutine kann nicht unterscheiden, dass für Rechnungen, die noch fürs Vorjahr geschrieben werden sollen das Rechnungsdatum aus dem Vorjahr ist und dies entsprechend berücksichtigen?
Da die Rechnungsnummernvorgabe nicht von mir sondern von der Buchhaltung stammt, kann ich deinen Vorschlag mit der laufenden Nummer übers Jahr nicht verwenden, d.h. die einzige Lösung wäre für jeden einzelnen Monat eine eigene Rechnungsdatenbank zu erstellen?

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Zusammengesetzte Rechnungsnummer

Beitrag von RobertG » Mi 20. Sep 2017, 20:46

Hallo Georgee,

Du müsstest zuerst einmal klar sehen, dass die interne Datenbank von Base für die gleichzeitige Eingabe mehrerer Nutzer nicht geeignet ist. Du brauchst dann zwingend eine Serverdatenbank.

Auch bei einer Serverdatenbank wirst Du Dein Vorhaben nicht mit einfachen Mitteln umsetzen können. Vermutlich wird innerhalb einer Datenbank so etwas nur über Trigger laufen, die beim Einfügen des Datensatzes wirksam werden.

Ich habe so etwas für eine Datenbank zur Budgetierung unserer Schule mit fortlaufenden Nummern für jedes Jahr und jeden Fachbereich allerdings nicht über die Datenbank selbst, sondern über den PHP-Code erstellt, mit dem die Datenbank gefüttert wird. Alternativ wäre das bei Dir dann die Regelung über Makros. Ob das aber letztlich genauso sicher klappt wie die Ausführung über Trigger der Datenbank selbst weiß ich nicht.

Als letztes solltest Du wissen: Die meisten Datenbanken benötigen einen unverwechselbaren Schlüssel. Das wäre bei Dir mit Monat und laufender Nummer nur gegeben, wenn Du jährlich eine neue Tabelle beginnst - auch nicht gerade gewollt.

Eine bessere Methode wäre vermutlich, die pro Monat laufende Nummer, statt sie direkt in die Tabelle zu schreiben, einfach über eine Abfrage zu ermitteln. Dann kannst Du mit dem Autoinkrement-Wert der Datenbank arbeiten und hast problemlos Deine monatliche Sortierung. Ich habe so ein Beispiel für die interne Datenbank einmal angehängt.

Gruß

Robert
Dateianhänge
monatlLaufdNr.zip
(3.88 KiB) 192-mal heruntergeladen
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Georgee
Beiträge: 19
Registriert: So 23. Okt 2011, 11:55

Re: Zusammengesetzte Rechnungsnummer

Beitrag von Georgee » Do 21. Sep 2017, 07:29

Hallo Robert,

vielen Dank für deine Mühe.
Nach Rücksprache mit unserem Buchhalter werden wir jetzt ab dem nächsten Jahr auf fortlaufende Rechnungsnummern umsteigen, die nicht mehr nach Monaten gegliedert sind.
Die Lösung mit der Abfrage war im übrigen in etwa das was mir vorschwebte, ich denke dass ich dies dann auch für die jährlich neu startende Zählung benutzen kann.
Das Problem mit den parallelen Rechnungseingaben, soll nach Vorstellung unseres Buchhalters so gelöst werden, dass die eingegeben Rechnungen quasi als eine Art Batch-Job angelegt werden. Diese sind für ihn zugänglich und erst durch seine Freigabe werden sie in die eigentliche Datenbank eingetragen und auch erst dann werden die Rechnungsnummern erzeugt und die eigentliche Rechnung erzeugt.
Hast du vielleicht hierzu auch nützliche Vorschläge, wie dies am besten in der Praxis zu lösen ist?

Georgee
Beiträge: 19
Registriert: So 23. Okt 2011, 11:55

Re: Zusammengesetzte Rechnungsnummer

Beitrag von Georgee » Do 21. Sep 2017, 17:09

Hallo HeiDieLX,

vielen Dank, so in etwa hatte ich mir das auch vorgestellt.
Eine letzte Frage: Gibt es irgendwelche Besonderheiten die bei einer Servergestützten SB zu beachten sind?
Ich hatte gehofft, dass es reicht die Datei im Intranet abzuspeichern und dann lokal an jeder berechtigten Arbeitsstation anzumelden.
Funktioniert das so?

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Zusammengesetzte Rechnungsnummer

Beitrag von RobertG » Do 21. Sep 2017, 21:37

Hallo Georgee,

wenn Du die Datei irgendwo zentral ablegst, wo dann auch alle Schreibrechte haben, dann hat die Person, die zuerst die Datenbank öffnet das alleinige Schreibrecht. Für die anderen Leute ist das Ding dann nur lesbar.

Deswegen eben eine Serverdatenbank. Das ist dann nicht nur eine Datei sondern ein System, das eben die Zugriffe von beliebig vielen Nutzern regelt. Jetzt kommt es natürlich darauf an, mit welchen PC-Systemen ihr im Moment arbeitet. Bei Linux ist das ein Klacks eine Serverdatenbank eben zum Laufen zu bringen. Die sind in allen Softwarepaketen der verschiedenen Distributionen dabei. In dem Falle hat dann jede Person so eine *.odb-Datei mit den Formularen, Abfragen und Makros und meldet sich mit eigenen Benutzernamen auf dem Datenbankserver an. Je nach Benutzername haben die Personen dann eventuell auch unterschiedliche Schreibrechte. Der Buchhalter darf bei Euch ja als einziger eine Rechnung zur Überweisung frei geben - das wird über unterschiedliche Nutzer geregelt.

... und falls ihr keinen Linuxrechner in eurem Netz habt: Da reicht so ein Gerät im 200,- € - Preissegment. Bei uns in der Schulbibliothek haben die genau so eine Kiste und bedienen damit die (lokale) Serverdatenbank über einen Webbrowser.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Georgee
Beiträge: 19
Registriert: So 23. Okt 2011, 11:55

Re: Zusammengesetzte Rechnungsnummer

Beitrag von Georgee » Fr 22. Sep 2017, 07:28

Hallo Robert,
vielen Dank für den Hinweis.
Gibt es auch im Windoof-Universum eine Lösung?

gogo
Beiträge: 1072
Registriert: Sa 5. Feb 2011, 19:07

Re: Zusammengesetzte Rechnungsnummer

Beitrag von gogo » Fr 22. Sep 2017, 09:16

Gibt in diesem Fall "keinen" Unterschied zwischen Linux und Win. Installier' einfach eine Datenbank auf einem der Rechner die immer laufen, das ist dann der Server. Sieh' bloß zu, dass dieser Rechner im Intranet immer die selbe IP-Adresse hat - sonst kann es passieren, dass Du nach einem Stromausfall auf ellen Clients die IP-Adresse der Verbindung ändern musst ;) . Da Du ein "Intranet" erwähnt hast: Falls Du ein NAS irgendwo in Deinem Intranet hast, kannst Du dort mit Sicherheit eine Datenbank installieren. Die meisten Betreiber bieten sogar mehrere unterschiedliche an. Alternativ - und noch billiger: ein Raspnberry-Pi - komplett gibt's die neuesten Versionen unter 70€ und die Rechenleistung müsste locker ausreichen.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Georgee
Beiträge: 19
Registriert: So 23. Okt 2011, 11:55

Re: Zusammengesetzte Rechnungsnummer

Beitrag von Georgee » Fr 22. Sep 2017, 12:03

Hallo Gogo,
gut zu wissen, dass es funktioniert. Das Intranet besteht in diesem Fall aus 2 Servern und 2 NAS Servern zur Sicherung. Daher we3rde ich die DB auf einem der beiden Server anlegen.
Gibt es eigentlich auch eine Möglichkeit, die Datenbank lokal mit base zu erstellen und dann auf den Server zu exportieren?

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Zusammengesetzte Rechnungsnummer

Beitrag von RobertG » Fr 22. Sep 2017, 16:47

Hallo Georgee,

die Datenbank selbst musst Du schon auf dem Server erstellen. Dann verbindest Du die *.odb-Datei mit der Datenbank und kannst in dieser Datenbank Tabellen erstellen und je nach Treiber auch verknüpfen usw. Erst mit der *.odb-Datei alles erstellen und dann auf den Server transportieren geht nur, wenn Du als Serverdatenbank eine HSQLDB-Datenbabnk nutzt und die *.odb-Datei dafür zum Export entpackst - nichts für den einfachen Hausgebrauch.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten