Hallo Robert,
gute Idee - schreib mir bitte mal eine Mail an [gelöscht]
Alles was nicht für andere wichtig ist, kannst du herauslöschen. Inklusive dieser Nachricht.
Deine Extraanleitung ist wichtig, die kann man so abarbeiten.
Eigentlich Off Topic, weil es nichts mit LO zu tun hat: Wie kommen die Daten vom CMS in Roberts Datenbank?
#TODO auf dem Datenbankserver von der CMS Maria DB zur Maria DB von Robert synchronisieren.
Leuchtet ein. Danke.
Meine Idee war die Tabellen für XRechnung als View aus meiner bisherigen Datenbank zu erzeugen.
Also auf den Datenbestand read-only zugreifen, anstatt ihn zu kopieren. Hast Du die Idee schon mal angetestet? Wie ich jetzt gelernt habe, kann ein Datenbankdokument alle Datenbanken eines Marienservers vereinigen.
Das ist Fluch und Segen zugleich. Ich habe, um es einfach zu haben, den Datenbanknamen aus der gesamten MariaDB-Integration raus gehalten. Der taucht also nirgendwo in den Abfragen, Ansichten, Formularen, Berichten und Makros auf. Das funktioniert so lange gut, wie keine Datenbank eine gleichlautende Tabelle hat, auf die ich als Nutzer Zugriff habe. In dem Falle versucht das Formular bzw. der Bericht auf die Datenbank zuzugreifen, die im Alphabet vorne liegt.
Ich würde die Daten in Tabellenform nach Calc portieren und dort entsprechend anpassen. Das geht erst einmal mit den grundlegenden Tabellen wie z.B. den Kunden oder den Waren. Dafür habe ich dann auch eine Importfunktion mit drin.
Und für Updates von Firebird nach MariaDB geht die ganz einfach: Alte Datenbank als “Import_XR” in LibreOffice anmelden. Dann ein Makro ablaufen lassen und alle Daten werden in die neue Datenbank gelesen. Das musste ich schon gleich bei den ersten Updates zur Firebird-Version zusammenbauen, da der einfache User bei so viel Tabellen doch schnell den Überblick verliert.
Na ja. Es ist eine triviale Fleißarbeit, den DB-Namen nachträglich hinzuzufügen, so dass nichts anbrennen kann.
Hast Du Dir einmal den Umfang angeschaut?
Das ist etwas für eine Person, die sonst nicht weiss, was sie tun will. Und die nie wieder ein Update von mir bekommen will, weil: ein zweites Mal macht das mit Sicherheit niemand…
… und jetzt stelle ich gerade das nächste Update auch für die MariaDB-Version auf der LO-Website ein.
Bisher nicht. Aber da das Rechnungsmodul meine Stammdaten nicht ändern soll, sehe ich da bisher kein grundsätzliches Problem.
Read-only ist ja auch kein Problem, solange man nicht zusätzlich die Rechnungserstellung in derselben Datenbank erfassen will. Mich würde nur interessieren, ob das so umsetzbar ist. Wenn Dein CMS keine XML-Rechnungen erstellen kann, könnte ja ein Grund sein, dass es die erforderlichen Daten nicht strukturiert bereithält. Oder ist es ein verwaistes System?
Hallo Robert,
auch von meiner Seite herzlichen Dank für Deine Arbeit. Die Einbindung von MariaDB war genau worauf ich gewartet habe.
Ich habe die Installation hier auch ganz prima mit Deinen Anweisungen hinbekommen, der lokale LibreOffice Base-Client verbindet sich mit der MariaDB auf dem Server und ich kann Zugferd-Rechnungen erstellen.
Meine Frage is folgende: wenn ich auf dem Server die MariaDB-Views viw_Konto und viw_Kontostand anzeigen lassen will, bekomme ich folgenden Fehler:
“1270 - Unerlaubte Mischung von Sortierreihenfolgen (utf8mb4_bin, NONE), (utf8mb4_general_ci, COERCIBLE), (utf8mb4_general_ci, COERCIBLE) für Operation ‘replace’”
Liegt das an meiner Datenbank oder an den Views? Kann man das reparieren?
Viele Grüße,
Helmut
Ich kann mich an so ähnliche Mekldungen von der ersten Version erinnern. Inzwischen ist die aktuelle Version die V2502_029. Da laufen bei mir die Ansichten durch.
Für ein eventuelles Update müsstest Du die Anleitung beachten. Dazu müssen zuerst fehlende Felder per Makro hinzugefügt werden, dann die Ansichten neu erstellt werden und danach erst die Base-Datei mit der Öffnung der Formulare gestartet werden. Ist mit Screenshots in der Anleitung enthalten.
Gruß
Robert
Hallo Robert,
vielen Dank für die Rückmeldung.
Ich habe jetzt die xrechnung in MariaDB gelöscht, eine neue Datenbank mit Namen xrechnung angelegt. In diese Datenbank habe ich die Datei xrechnung_V2502_021.sql (01.07.25 485kb) von Deiner Webseite importiert.
Dann habe ich die Datei XRechnung_MariaDB_V2502_029.odb (01.07.25 942kb) von Deiner Webseite heruntergeladen und in meinen lokalen Ordner XRechnung_Extension_2502, in dem auch alle anderen Dateien der Version 2502 sind, kopiert. Ich habe die XRechnung_MariaDB_V2502_029.odb-Datei geöffnet, die Verbindung zur Mariadb hergestellt und die Makros NewField und ViewsErstellen ausgeführt.
Nach dem Erstellen der Views sind diese auch in der MariaDB aufgetaucht. Aber wenn ich die View Konto, Kontostand, und auch einige andere Views ansehen möchte, kommt immer noch dieser MariaDB-Fehler:
in der lokalen Base-Datei werden die Ansichten ohne Fehler angezeigt.
Wenn die Fehlermeldung bei Dir nicht kommt, muss es wohl an meiner Konfiguration liegen. Ansonsten funktioniert alles prima.
Ach ja, noch eine andere Frage: gäbe es die Möglichkeit nach Wahl Rechnungsdaten in verschiedene Writer-Vorlagen auszudrucken, z. B. eine aud Deutsch und eine auf Englisch?
Viele Grüße,
@HelmutW : Du hattest nicht erwähnt, dass Du die Fehlermeldung unter PHPMyAdmin bekommst. Da habe ich die auch. Wenn ich unter Base die Ansicht öffne bekomme ich die Meldung nicht. Aus dem Grunde hat mich das nicht weiter gestört. Da scheint der interne Treiber von vornherein durch die Zeichensatzkonvertierung einen Riegel vor zu schieben. Ich kann das einmal weiter untersuchen, aber da alle Tabellen den gleichen Zeichensatz nutzen ist das schon verwunderlich, dass diese Meldung unter PHPMyAdmin erscheint.
Zu dem Rechnungsdruck in Englisch: Die XRechnung ist ja nun ein spezifisch deutsches Format. Aber prinzipiel ist es natürlich möglich, eine englischsprachige Vorlage im Vorrat zu haben. Die muss dann aber durch Umbenennung zur Zeit aktiviert werden. Ich nehme an, dass Du abhängig vom Kunden so eine Auswahlmöglichkeit brauchst. Das wäre dann ein zusätzliches Feld in der Kundentabelle, das ich wohl einbauen könnte.
Habe das jetzt noch einmal nachgeschaut. Wenn ich in PHPMyAdmin die funktionierenden Ansichten durchschaue, dann stoße ich z.B. bei viw_Rechnung_Summe auf 3 unterschiedliche Collationen. Ich müsste jedes Mal, wenn ich statt eines Inhaltes einer vorhergehenden Tabelle z.B. einen Text in eine Ansicht eingebe, noch einmal extra die Collation deklarieren damit die durchgängig gleich ist. Das wäre ein ziemlich mühsames Unterfangen. Sobald ich Felder mit unterschiedlicher Collation zusammenbringe oder vergleiche steigt die MariaDB dabei aus. Und das geschieht wohl zum ersten Mal bei “viw_Rechnung”. Darauf aufbauende Ansichten können natürlich genauso wenig angezeigt werden.
Warum das Ganze passiert, obwohl die gesamte DB und alle Tabellenfelder die Collation utf8mb4_unicode_520_ci erfüllen erschließt sich mir nicht.
… und noch eine Beobachtung: Starte ich die Definition der Ansicht direkt über SQL in PHPMyAdmin, so wird sie fehlerlos angezeigt. Das wäre jetzt das Suchen nach einer Stecknadel im Heuhaufen: Definition entsprechend kürzen, in Ansicht überführen und testen. Dann erweitern und wieder testen …
Habe das jetzt gemacht: An 2 Stellen in viw_Rechnung kam PHPMyAdmin zu der Fehlermeldung. Habe das dann ausgebügelt, so dass auch dort die Collation eindeutig ist:
XRechnung_MariaDB_V2502_030.odb (942.8 KB)
Sorry, da hatte ich mich bezüglich der Fehlermeldung missverständlich ausgedrückt. Aber wenn dich es nicht stört, braucht es mich auch nicht zu stören.
Wir müssen etwa die Hälfte unserer Rechnungen in englischer Sprache verfassen, da diese in alle Herren Länder gehen und wir würden gerne alle Rechnungen aus einem System erzeugen. Daher wäre es super, wenn man verschiedene Rechnungvorlagen einsetzen könnte. Meiner Ansicht nach müsste die Wahl der Vorlage aber nicht zwingenderweise in der Datenbank gespeichert werden. Mir würde auch eine Auswahlbox für Vorlagen im Rechnungsformular ausreichen, deren Eintrag als Parameter an das entsprechende Makro geleitet würde.
Viele Grüße,
Helmut
Ich habe jetzt die Version, die auch englischsprachige Rechnungen ermöglicht, hoch geladen. Die Sprachversion benötigt neben Eingaben in den Einstellungen der Datenbank auch separate Vorlagen, da nicht alle Begriffe direkt aus der Datenbank gefüttert werden.
Da meine Englischkentnisse “not the yellow from the egg” sind habe ich die Mahnungsvorlage nicht übersetzt und bitte auch, die benutzten Begriffe genau anzuschauen…
Hallo Robert,
ich werde mich in den nächsten Tagen mal hinsetzen und die neuen Versionen genau anschauen und dir Feedback geben. Vielen Dank erst mal für die gute Arbeit!
Viele Grüße,
Helmut
Hallo Robert,
ich habe jetzt die Firebird-Version 2502-30 mir angeschaut. Das sieht super aus: die Rechnungsvorlage wird jetzt abhängig vom Land des Rechnungsempfängers ausgewählt.
Hier sind einige Korrekturvorschläge:
- “Zusätzliche Druckeinstellungen” ist schreibgeschützt. Vorschlag: mit Checkbox benötigte Spalten auswählen lassen.
- Writer Rechnungsdokument: siehe Korrekturen und Vorschläge im Anhang
Viele Grüße,
Unbenannt 2.odt (51.7 KB)
Bei den zusätzlichen Druckeistellungen können lediglich die Breiten der Spalten eigestellt werden. Das sollte auch weiter so sein, wird aber wohl nicht direkt deutlich.
Die Ergänzung von vorgefertigten Texten, die z.B. aus den Firmeneinstellungen kommen, habe ich bereits in der Version 031 drin.
Die Änderung der englischsprachigen Begriffe bei den Rechnungsbezeichnungen müssen in der Datei “tbl_Rechnungstyp_Code” erfolgen. Ich werde bei den Codetabellen in dem Einstellungsformular diese Spalte auch noch zur Änderung frei schalten.
Andere Spracheinstellungen: Siehe Einstellungsformular.
Bei zusätzlichen Änderungen in dem Adressfenster halte ich mich zurück. Da ist bereits der Firmenname drin, der Ansprechpartner und die Adresse. Das muss ja schließlich auch alles in das Fenster passen. Auch beim Absender muss das Ganze von der Breite her passen.
Das Ganze sollten wir aber per privater Mail klären, da dieser Thread doch schon recht lang ist.