Rechnungs- und Kundenverwaltung

Handbuch zur Version 1.2.5

© Andreas Weber 2014-2018

Autoren:

Andreas Weber
Daniel Böttcher

eevol Sarl


Rechnungs- und Kundenverwaltung

Handbuch zur Version 1.2

Einleitung

Gewährleistungsausschluß

Haftungsbegrenzung

Interpretation

Das Programm starten

Der erste Start

Das Yabs Hauptfenster

Der Einrichtungsassistent

Yabs verwenden

Kunden Anlegen

Kontakteinstellungen

Die erste Rechnung erstellen

Ein Produkt erstellen

Kalkulation

Produktdateien

Inventar

Staffelpreise

Die Aktionsleiste

Suche

Rückgängig

Speichern

Speichern als Neu

Löschen

Sperren

Zu Favoriten

Zur Zwischenablage

Drucken

Mailversand

Speichern als PDF (optional)

Speichern als ODT (optional)

Aus Yabs exportieren

Erstellung von Templates

Verwendung des Templatemanagers

Verwendung von Templates

Variablen

Tabellen

Spalten

Eigene Variablen

Anwendungsbeispiel 1

Anwendungsbeispiel 2

Java Klassen-Pfade

mpv5.utils.numberformat.FormatNumber

mpv5.db.common.DatabaseConnection

Modifier and Type

Method and Description

java.sql.Connection

getConnection()

Programmoptionen / Einstellungen

Die Einrichtung der Office-Verbindung

Einstellungen

Office-Serverinstallation

Benutzereinstellungen

Rechnungen Standardwerte

Grundeinstellungen

Dateinamengrundeinstellung

Die Fristen

Mail-Einstellungen

Lokale Optionen

Internet-Verbindung

Drucker-Einstellungen

Nummernkreise in Yabs

Variablen

Startposition

Startwert

Freitext

Der Babelfish

Yabs mit MySQL

Einrichtung unter Windows

Einrichtung unter Ubuntu

Yabs für MySQL konfigurieren

Fehlerbehandlung

Thread stack overrun

MySQL von aussen erreichen

Benutzer für Yabs hat kein Zugriffrecht

Anhang

Feldvariablen

Rechnung / Angebot / Auftrag

Kontenspezifische Platzhalter

Allgemeine Platzhalter

Kundeninformationen

Rechnungs/Auftragsbeschreibungen/daten

Formatierte Werte (Währungssymbol):

Produkte

Lieferanten

Produktbeschreibungen

Hersteller

Journal


Einleitung

Yabs ist eine Kunden- und Rechnungsverwaltungs-Software für Linux, Windows und Mac. Zu ihren Funktionen zählen Kundenverwaltung, Rechnungsverwaltung, Lieferantenverwaltung, Import von Produktlisten, Export von Kundendaten, Lieferanten und Produktlisten, Serienbriefdruck, wiederkehrende Rechnungen, einfache Lagerhaltung. Das parallele Arbeiten von Windows, Linux und Mac OSX an einer Yabs Datenbank ist ohne Probleme möglich.

Bei Yabs handelt es sich um eine Java-Anwendung und benötigt zum Betrieb eine installierte „Java Virtual Machine“, welche in der Java-Laufzeitumgebung enthalten ist (Java Runtime Environment - kurz JRE). „Java“ ist kostenlos und die neueste Version erhalten Sie auf http://java.com.

Yabs ist kompatibel zu mehreren Datenbank-Backends (MySQL, Derby, alle JDBC-konformen Datenbank-Engines), Derby-und MySQL-Support kommt out-of-the-Box. Bei einer Standardinstallation wird die Derby-Datenbank mit installiert. Dh. YaBS kann ohne vorherige Datenbank Installation sofort benutzt werden.

Für fortgeschrittene Anwender bzw. Multi-User Betrieb empfiehlt sich eine Installation einer MySQL-Datenbank.

Das Gestalten von Rechnungs-, Angebots- und anderen druckbaren Formularen, die von Yabs dynamisch mit Daten gefüllt werden können, ist dank der Verwendung von OpenOffice + Nachfolgern/Derivaten und dem Odt Format sehr einfach und intuitiv zu bedienen.

Sollten Sie Anmerkungen, Korrekturen oder Fragen bezüglich dieses Handbuchs haben, wenden Sie sich bitte an ping@eevol.lu.

Yabs und dieses Handbuch sind unter der GPL Version 2/3 lizensiert.


Gewährleistungsausschluss

Es besteht keinerlei Gewährleistung für das Programm, soweit dies gesetzlich zulässig ist. Sofern nicht anderweitig schriftlich bestätigt, stellen die Urheberrechtsinhaber und/oder Dritte das Programm so zur Verfügung, „wie es ist“, ohne irgendeine Gewährleistung, weder ausdrücklich noch implizit, einschließlich – aber nicht begrenzt auf – die implizite Gewährleistung der Marktreife oder der Verwendbarkeit für einen bestimmten Zweck. Das volle Risiko bezüglich Qualität und Leistungsfähigkeit des Programms liegt bei Ihnen. Sollte sich das Programm als fehlerhaft herausstellen, liegen die Kosten für notwendigen Service, Reparatur oder Korrektur bei Ihnen.

Haftungsbegrenzung

In keinem Fall, außer wenn durch geltendes Recht gefordert oder schriftlich zugesichert, ist irgendein Urheberrechtsinhaber oder irgendein Dritter, der das Programm wie oben erlaubt modifiziert oder übertragen hat, Ihnen gegenüber für irgendwelche Schäden haftbar, einschließlich jeglicher allgemeiner oder spezieller Schäden, Schäden durch Seiteneffekte (Nebenwirkungen) oder Folgeschäden, die aus der Benutzung des Programms oder der Unbenutzbarkeit des Programms folgen (einschließlich – aber nicht beschränkt auf – Datenverluste, fehlerhafte Verarbeitung von Daten, Verluste, die von Ihnen oder anderen getragen werden müssen, oder dem Unvermögen des Programms, mit irgendeinem anderen Programm zusammenzuarbeiten), selbst wenn ein Urheberrechtsinhaber oder Dritter über die Möglichkeit solcher Schäden unterrichtet worden war.

Interpretation

Sollten der o.a. Gewährleistungsausschluss und die o.a. Haftungsbegrenzung aufgrund ihrer Bedingungen gemäß lokalem Recht unwirksam sein, sollen Bewertungsgerichte dasjenige lokale Recht anwenden, das einer absoluten Aufhebung jeglicher zivilen Haftung in Zusammenhang mit dem Programm am nächsten kommt, es sei denn, dem Programm lag eine entgeltliche Garantieerklärung oder Haftungsübernahme bei.

Die volle Lizenz in englischer Originalfassung : http://www.gnu.de/documents/gpl-3.0.en.html


Das Programm starten

Yabs wird von den Entwicklern nur als Paket für alle, nicht als installierbare Datei für bestimmte Betriebssysteme zur Verfügung gestellt. Sollten Sie sich für das Paket entschieden haben, gehen Sie wie folgt vor:

Windows: es ist bereits ein »Pack- bzw. Entpackprogramm« im Explorer integriert, markieren Sie die Datei und öffnen das Kontextmenu mit der rechten Maustaste

Linux: eventuell müssen Sie die Datei yabs.jar mit dem 'Executable Bit' versehen, um Sie ausführen zu können

Alternativ können Sie yabs aus einem Terminal heraus wie folgt starten:

java -jar yabs.jar

Voraussetzung ist bei allen Betriebssystemen eine Installierte Java-JRE. Zu finden unter: www.java.com/de/download/


Der erste Start

Wenn Sie Yabs das erste mal auf einem Rechner starten, wird der Yabs Installations-Wizard gestartet, der die benötigten Einstellungen von Ihnen abfragt:

Sie müssen keinerlei Einstellungen verändern, wenn Sie Yabs lokal auf ihrem Rechner verwenden wollen. Klicken Sie einfach auf „Next“ und Yabs wird die benötigte Datenbank in ihrem Benutzerverzeichnis erstellen und starten.

Die Yabs Datenbank wird in

C:\Users\<Benutzername>\.yabs (Windows)

oder

/home/<Benutzername>/.yabs (Linux)

erstellt. Das heißt, wenn Sie sich in ihrem Betriebssystem mit einem anderen Benutzer anmelden, wird Yabs die Datenbank nicht finden und will eine neue anlegen. Wenn sie sich eine Datenbank mit einem anderen Benutzer  teilen wollen, müssen Sie den Pfad zur Datenbank unter „Advanced“ angeben.

Yabs kann auch eine Derby oder MySQL Datenbank im Netzwerk verwenden, um Mehrbenutzer-Szenarios zu realisieren. Sehen Sie dazu → erweitere Installation


Das Yabs Hauptfenster

Wenn Yabs startet, öffnet sich zunächst der Tab 'Welcome' und 'Homescreen'.

Unter 'Welcome' erhalten Sie generelle Informationen bezüglich der Lizenz und verwendeten  Ressourcen. Der 'Homescreen' bietet Ihnen später eine Übersicht über ihre offenen Vorgänge.

Links in der Leiste haben Sie einen Schnellzugriff auf die wichtigsten Funktionen von Yabs.

Die Programmoberfläche von Yabs untergliedert sich in 5 Teilbereiche:

  1. Menüleiste

einzelne Elemente werden durch Dropdown-Menüs ausgewählt

  1. Werkzeugleiste

Dort enthaltene Buttons sind immer erreichbar.

Aktuell: Letzter Datensatz; nächster Datensatz; Anwendung beenden; Anwendung sperren; Taschenrechner;Drucken

  1. Seitenleiste

In der Seitenleiste findet die Navigation durch die Programmbestandteile statt.

Durch Klick auf die jeweilige Oberkategorie (Kontakte; Vorgänge; Produkte; Extras) werden die dazugehörigen Untermenüs angezeigt.

  1. Hauptbereich

Im Hauptbereich findet die eigentliche Eingabe der Daten statt.

Der Hauptbereich kann mehrere Fenster gleichzeitig beinhalten, diese werden dann als einzelne Reiter am oberen Bereich angezeigt

  1. Statusbereich

Im Statusbereich sind aktuelle Verabreitungsinformationen des Programms ersichtlich

Ein Ladebalken informiert über den aktuellen Bearbeitungsstand bei ausführen einer Aktion

Im rechten Dropdown-Menü kann man die zuletzt durchgeführten Aktionen nachvollziehen


Bis zu diesem Zeitpunkt ist das Programm komplett in Englisch gehalten. Wenn Sie nun die

Benutzeroberfläche in der Sprache Deutsch verwenden möchten, gehen Sie bitte wie folgt vor:

Der Einrichtungsassistent

Um grundlegende Einstellungen von Yabs vorzunehmen, empfiehlt es sich, den Yabs Einrichtungsassistenten zu verwenden. Sie erreichen ihn unter Extras → Yabs Installations Wizard.

Im ersten Schritt werden Sie dazu aufgefordert, Ihre Firmendaten einzugeben. Diese Daten werden dazu verwendet, beim Exportieren die entsprechenden Felder zu füllen. Sie können hier auch alle Felder leer lassen, wenn Sie die Daten direkt in das Template eintragen möchten. Für den Anfang empfiehlt es sich, einige Werte hier einzutragen. Diese und weitere Werte können Sie später unter Extras → Einstellungen → Firmendaten ändern und ergänzen:

Im nächtsten Schritt versucht Yabs, die lokale LibreOffice/OpenOffice Installation zu finden. Sollten Sie zu diesem Zeitpunkt keine der beiden Office Installationen auf diesem Computer haben, können Sie dies jederzeit nachholen. Ein Klick auf “Test” sollte eine Erfolgsmeldung zurückgeben. Falls nicht, stellen Sie sicher, dass im Feld “Path” die korrekte Office Installation angegeben ist bzw geben Sie dort alternativ eine andere an. Je nach Version von LibreOffice oder OpenOffice funktioniert die eine oder andere Version besser. Leider wird zur Zeit heftig an beiden Office Alternativen entwickelt, so dass sich das Verhalten je nach Version signifikant ändern kann. Falls sich beim Test oder später beim Yabs -Start ein LibreOffice Fester öffnet, ist das weiter kein Problem. Minimieren Sie es einfach in den Hintergrund. Es wird sich schließen sobald Sie Yabs beendet haben - falls Sie keine weiteren Dokumente in dieser Office Instanz geöffnet haben.

Um Yabs in deutsch verwenden zu können, benötigen  Sie eine Sprachdatei für Yabs. Nach dem Import dieser Datei im Einrichtungsassistenten starten Sie Yabs neu, und die Oberfläche sollte in Deutsch erscheinen.

Außerdem wird ihrem Benutzer beim Klick auf ‘Next‘ eine Export-Vorlage für Rechnungen zugewiesen, so dass Sie nach dem erwähnten Neustart von Yabs sofort losdrucken können (sofern Office korrekt eingerichtet wurde).

Yabs verwenden

Yabs ist ein Kunden-und Rechnungsverwaltungsprogramm, keine Bilanzsoftware. Es richtet sich an  EinzelunternehmerInnen und kleine Firmen, welche mit Yabs ihre laufenden Einnahmen, Rechnungen, Angebote und Aufträge erfassen und dokumentieren möchten, und anschließend die gesammelten Daten einem Steuerbüro übergeben oder selbst ihre Steuererklärung verfassen möchten.

Im Folgenden werden die Grundfunktionen erklärt.

Kunden Anlegen

Um einen Kunden zur weiteren Verwendung in Yabs anzulegen, klicken Sie bitte links in der Leiste auf „Kontakte“ → „Kunden“.

Die Kontaktübersicht öffnet sich:

Die Kontaktübersicht ist Ihr zentraler Platz um Kunden, Lieferanten und Hersteller zu finden und aufzurufen. Per default werden nur Kunden angezeigt, um die anderen Kontakarten zu sehen bedienen Sie sich der Filtereinstellungen.

Die Einstellung “Exklusiv” führt dazu, das z.B. bei Auswahl “Kunde” und “Lieferant” nur die Datensätze angezeigt werden, welche sowohl Kunde als auch Lieferanten sind.

In dieser Ansicht können Sie auch ihre Kontaktdaten exportieren. Füllen Sie dazu die Tabelle mit den gewünschten Daten und selektieren Sie eine der Export/Druck Funktionen unterhalb der Tabelle.

Legen Sie nun ihren ersten Kunden an. Dazu klicken Sie auf 'Hinzufügen' → 'Kunde'

Hier sehen Sie nun die Kundendetailansicht, und können einen neuen Kunden anlegen. Das Feld 'Nachname' ist zwingend erforderlich, alle anderen Felder sind erst einmal optional.

Geben Sie einen Datensatz ein, und drücken Sie Strg-S oder den Button 'Diskette':

Unter ‘Kontakt’ können Sie zusätzliche Kontaktdaten wie Telefonnummer, Emailadresse etc angeben. Zusätzlich können Sie unter ‘Info’ einen Freitext eingeben, den Sie intern verwenden oder auf Angebote und Rechnungen für diesen Kunden ausgeben können.

Aus der Kundenmappe heraus können Sie Angebote, Bestellungen und Rechnungen erstellen, den Verlauf der Kundenbeziehung einsehen oder periodische Rechnungen anlegen.

Ein Kontakt kann mehrere Rollen einnehmen - Kunde, Lieferant und Hersteller.

Nur wenn ein Kontakt ein Lieferant ist, können Sie ihn z.B. in der Produktansicht als Lieferanten auch angeben.

Desweiteren können Sie ihre Kontakte in Firmen gruppieren und einen Kontakt als Firma definieren. Dazu geben Sie einen Wert in das Feld “Firma” ein, machen ein Häkchen bei “Firma” und voila, ihre erste Firma ist angelegt. Fortan können Sie diese Firma bei neuen Kontakten als Zugehörigkeit auswählen.

Kontakteinstellungen

Sie haben für jeden Kontakt die Möglichkeit, spezifische Einstellungen vorzunehmen, die beim Export kontaktspezifische Datenmanipulation /Ausgabe erlaubt.

Unter den Kontakdaten öffnen Sie den Reiter “Einstellungen”. Sie sehen zwei Spalten:

Links “Einstellung” und rechts “Wert” (property und value in der englischen Sprachversion).

In das linke Feld tragen Sie einen Schlüssel ein, zB. zahlungsbedingung.

In das rechte Feld tragen Sie einen Wert (hier ein einfacher Text) ein, z.B. „Bei Zahlung innerhalb von 10 Tagen 3% Skonto. 30 Tage Brutto ohne Abzüge“

Anschließend speichern Sie den Datensatz.

Was haben wir getan?

Wir haben uns selbst eine Funktion für unser Template definiert! Jedoch hat diese Funktion nur Auswirkung für den Kontakt, in welchem Sie diese Funktion eingetragen haben.

Gruppenweise Zuordnungen kann man im Control Panel vornehmen.

Den hiermit angelegten Schlüssel “contact.zahlungsbedingung” können Sie nun in Verbindung mit diesem Kontakt in jedem Template verwenden → Verwendung von Templates

Anstatt des statischen Textes können Sie auch Groovy Code verwenden, siehe → Verwendung von Templates

Sollten Sie solche Felder im Ihren Template einfügen und nicht benutzen, bleiben diese auch unsichtbar und unbemerkt.

Die erste Rechnung erstellen

Nachdem Sie ihren ersten Kunden in der Kundenansicht angelegt und gespeichert haben, könne Sie den Button “Neue Rechnung” in der Kundenansicht verwenden.

Klicken Sie ihn an und sehen Sie wie sich die Rechnungsansicht öffnet:

Der soeben angelegte Kontakt ist nun bereits vorbelegt.

Tragen Sie nun einen Text in das Textfeld des ersten Postens ein, und einen Preis bei “Nettopreis”. Falls Sie Mehrwertsteuer angeben müssen, tragen Sie dies in der MwSt Spalte ein (unter Einstellungen → Benutzereinstellungen → Rechnungen Standardwerte können Sie festlegen, welcher Steuersatz hier standardmäßig eingetragen werden soll).

Nun drücken Sie Strg-S oder den Button 'Diskette' zu Speichern. Anschließend können Sie sich ihre erste Rechnung  mit dem Button “Vorschau” ansehen oder als PDF oder ODT Datei exportieren.

Ein Produkt erstellen

Yabs verfügt über die Möglichkeit, Produkte und Dienstleistungen zu erstellen, welche Sie dann in Rechnungen, Angeboten und Bestellungen verwenden können.

Sobald Sie ein Produkt angelegt haben, steht dieses Produkt ihnen in der Postentabelle zur Verfügung.

Kalkulation

Wenn Sie einen EK Preis eintragen, und der VK Preis ist noch nicht gesetzt, wird der VK Preis automatisch gesetzt werden. Sie können im ‘Kalkulation’ -Feld einen Prozentwert eintragen, um den VK Preis prozentual vom EK Preis festzulegen - zum Beispiel: ihr EK Preis beträgt 100 Euro, und Sie möchten 33% aufschlagen: tragen Sie 33 in das Kalkulationsfeld ein, und der VK erhöht sich auf 133 Euro netto. Der Brutto Preis wird anhand des VK Preises und des gewählten Steuersatzes ermittelt.

Produktdateien

Sie können Dateien und Bilder an ihre Produkte anhängen. Verwenden Sie dazu den Button mit dem grünen Plus darauf rechts unten in der Artikelmaske. Wenn Sie ein Bild anhängen, können Sie es anschließend mit der rechten Maustaste auswählen und es als Standardbild definieren. Dieses Bild wird dann immer links in der Bildervorschau angezeigt. Um das Bild in einem Bildbetrachter in voller Größe zu betrachten, öffnen Sie es mit einem Doppelklick.

Inventar

Auf Wunsch kann Yabs Sie warnen, wenn eine bestimmte Anzahl des Artikels im Lager unterschritten wird. Aktivieren Sie dazu die Lagerverwaltung unter “Inventory” und geben einen initialen Lagerbestand und eine Warnschwelle ein. Wenn Sie nun dieses Produkt in einer Rechnung verwenden, wird der Lagerbestand verringert und gegebenenfalls angemahnt.

Staffelpreise

Sie können Staffelpreise angeben, welche allerdings nur beim Einfügen von Produkten über die “Text” Spalte in der Rechnungsansicht und gleichzeitiger Eingabe der Menge im “Quantity” Feld beachtet werden, also eher als Hinweis zu verstehen sind. Sie können den Posten-Preis jederzeit verändern.

Die Aktionsleiste

In allen Datensatzansichten (Kontakt, Produkt und Vorgang) sehen sie die gleiche Aktionsleiste mit den Symbolen:

Suche

Klicken Sie darauf, erscheint eine Suchleiste, in der Sie, abhängig davon in welcher Ansicht sie sich befinden, andere Datensätze gleichen Typs suchen können. Ein erneuter Klick auf die Lupe lässt die Suchleiste wieder verschwinden.

Rückgängig

Wenn Sie Änderungen an dem Datensatz vorgenommen haben, und noch nicht gespeichert haben, können sie den Datensatz mit dieser Aktion erneut aus der Datenbank laden und somit ihre Änderung ungeschehen machen.

Speichern

Speichert ihre Änderungen. Wenn es sich um einen neuen Datensatz handelt, hat diese Aktion die gleichen Auswirkung wie Speichern als Neu

Speichern als Neu

Speichert den Datensatz und vergibt eine neue Rechnungs/Angebots/Bestellnummer. Wie diese zu konfigurieren Sind, lesen Sie im Abschnitt → Nummernkreise

Löschen

Verschiebt den Datensatz in den Mülleimer

Sperren

Sperrt den Datensatz für *andere* Benutzer. Falls es in ihrem System mehr als einen Benutzer gibt, und Sie gleichzeitig an einer Datenbank arbeiten, können Sie hiermit verhindern dass ein anderer Benutzer den Datensatz ebenfalls bearbeiten kann. Die Sperrung gilt, bis sie sich vom System abgemeldet haben.

Das Sperren kann auch automatisch erfolgen, lesen Sie dazu → Einstellungen

Zu Favoriten

Fügt den Datensatz zu ihrer Favoritenliste hinzu. Anschließend können Sie den Datensatz jederzeit über den Menüpunkt “Favoriten” öffnen, ohne ihn suchen zu müssen.

Zur Zwischenablage

Fügt den Datensatz zu der aktuellen Yabs- → Zwischenablage hinzu

Drucken

Druckt den aktuellen Datensatz. Wenn sie kein Template im → Templatemanager definiert haben, wird ein Screenshot der aktuellen Mappe zum Drucker gesendet.

Mailversand

Sie können, falls sie ein passendes Template im  → Templatemanager definiert haben, eine funktionierende Email-Einstellung unter → Einstellungen existiert und der Kontakt eine Email Adresse hat, direkt aus Yabs heraus die generierte PDF Version des Datensatzen per Email versenden. Den Email-Text können Sie ebenfalls unter → Einstellungen festlegen.

Zum Email Versenden benötigen Sie eine Email Adresse an ihrem Benutzer(!) als Absender. und der Kunde muss eine Mailadresse hinterlegt haben.

Beispielkonfiguration für das Versenden über Gmail:

Speichern als PDF (optional)

Sie können, falls sie ein passendes Template im  → Templatemanager definiert haben und die Office Installation funktioniert, eine einen Beleg als PDF Datei exportieren.

Speichern als ODT (optional)

Sie können, falls sie ein passendes Template im  → Templatemanager definiert haben und die Office Installation funktioniert, eine einen Beleg als ODT Datei exportieren.

Aus Yabs exportieren

Yabs bietet Ihnen die Möglichkeit, Ihre Daten und Rechnungen über Templates im offenen ODT Format sowie im PDF Format zu exportieren. Die zu verwendenden Templates sind ebenfalls im ODT Format zu erstellen (verfügbar in OpenOffice, LibreOffice und begrenzt auch MS Office). Die Gestaltung ist weitestgehend frei, so dass sie recht einfach ihr bestehendes Rechnungslayout beibehalten können.

Erstellung von Templates

Am einfachsten lässt sich ein Template für Yabs zur Zeit mit LibreOffice erstellen. Öffnen Sie das Programm, und laden Sie das anhängende Beispieltemplate oder erstellen ein neues Writer Dokument-

Verwendung des Templatemanagers

Öffnen Sie den Templatemanager über Extras -> Control Panel -> Vorlagen Manager

Zuerst importieren Sie das Template über “Datei importieren”, anschließend wir das Template im Bereich „Vorlagen“ links angezeigt.

WICHTIG: nach erfolgreichem Import müssen Sie die entsprechende Vorlage im Bereich „Vorlage“ mit der Maus markieren, erst dann können Einstellungen für die gewählte Vorlage vorgenommen werden.

Nachdem Sie die Vorlage links ausgewählt haben, können sie rechts unter „Details“ die Einstellungen vornehmen.

  1. wählen Sie den Typ des gerade importierten Templates aus
  2. Bestimmen Sie die das Format der Spalten der Tabelle des Templates. Details dazu erfahren Sie im Kapitel Template-Erstellung)
  3. legen Sie fest, welche Benutzer das Template verwenden sollen
  4. Sie können einzelne Templates verschiedenen Gruppen zuordnen. Am Anfang werden Sie noch keine Gruppen eingerichtet haben. Die Gruppenzuordnung ermöglicht es z.B. einzelne Rechnungen einer Gruppe „Briefkopfdruck“ zuzuordnen und dort ein Template mit fertigem Briefkopf zu hinterlegen.
  5. Anschließend die Änderungen speichern.

Nach dem Sie das Template einmal importiert haben, können Sie es über die Bearbeiten Funktion immer wieder verändern, ohne es erneut importieren zu müssen. Wählen Sie dazu ein Template links aus, und klicken Sie auf “Template editieren”. Die Datei wird von Yabs in Office geöffnet, und auf Änderungen überwacht. Sobald Sie in Office speichern, wird Yabs die Vorlage für Sie aktualisieren. Anschließend können Sie Office schließen und die aktualisierte Vorlage in Yabs verwenden.


Verwendung von Templates

Variablen

Yabs verwendet sogenannte Platzhalter in ODT, welche dann beim Export befüllt werden.

Sie können in Office über Einfügen → Feldbefehl → Andere diese Platzhalter neu erstellen. Der benötigte Typ finden Sie im Feldbefehl-Dialog unter Funktionen → Platzhalter → Text

Die zur Verfügung stehenden Variablennamen sind im Anhang unter “Feldvariablen” zu finden.

Tabellen

Die Posten von Rechnungen/ Angeboten / Aufträgen werden in Tabellen behandelt; Damit Yabs weiss, wo und mit welcher Formatierung Sie die Posten darstellen möchten müssen Sie an der gewünschten Stelle im Template eine Tabelle anlegen, mit dem speziellen Namen xtable1

Formatieren Sie die Tabelle nach ihren Vorstellungen, fügen Sie optional eine Überschrift ein. Die Texte die Yabsin diese Tabelle einfügt, können im Bezug auf die Zelleneigenschaften wie jeder Text behandelt werden. Somit kann man also sehr genau festlegen, ob z.B. Zeilenumbrüche in den einzelnen Zellen stattfinden sollen oder nicht. Die Anzahl der Spalten der Tabelle sollte der Anzahl der von ihnen gewünschten Spalten entsprechen, und die Zeilenanzahl ist mindestens 1.


Spalten

Die Spalten werden von Yabs wie folgt durchnummeriert (die Reihenfolge im Export ist beliebig und muss im → Templatemanager unter “Format” angegeben werden ):

1: Count (Automatische Nummerierung der Positionen eines Templates für jede Zeile)

2: Quantity (Anzahl)

3: Measure (Einheit zB Kg, Liter, Stück – definierbar in den Benutzereinstellungen)

4: Text (Die Beschreibung, welche man in der Eingabemaske eingibt)

5: Nettopreis (Nettoeinzelpreis)

6: Nettogesamt (Nettogesamt der Reihe)

7: Steuersatz (Steuersatz in Prozent)

8: Steuer (Steuer der Reihe in Euro)

9: Total Brutto (Gesamtwert, berechnet aus Anzahl, Netto/Nettogesamt, Steuer)

10: Link (Einbindung von URLs)

11: Optional (Ein Feld zu individuellen Verwendung)

12: Discount (Rabatt)

13: Total Netto minus Rabatt

Wenn man in Yabs unter Extras → Einstellungen → Benutzereinstellungen → Export die Funktion “Produkte auflösen” einschaltet, kann man die kompletten Produktinfos eines Postens (falls ein Produkt gewählt wurde) in dem Export verwenden. Die Spalten-Nummern sind dann wie folgt:

Produkt.*

14: cname

15: cnumber

16: dateadded

17: defaultimage

18: description

19: ean

20: externalnetvalue

21: group

22: intaddedby

23: internalnetvalue

24: intinventorytype

25: inttype

26: manufacturersids

27: measure

28: productgroupsids

29: productlistsids

30: reference

31: stockvalue

32: suppliersids

33: taxids

34: thresholdvalue

35: url

Eigene Variablen

Sie können für ihre Vorlagen auch eigene Variablen in Yabs definieren, welche dann beim Export des Datensatzes automatisch befüllt werden. Für diese Variablen können Sie statischen Text definieren, zum Beispiel “Ihr Zahlungsziel beträgt 3 Tage” - oder aber ein Script in der Sprache Groovy.

Es kann immer auf das aktuelle Datenbankobjekt beim Export zugegriffen werden, über den Zeiger “dbo”.

Der Schlüssel im Template (Name der Variable) hat folgenden Aufbau:  Scriptname ist "test", an einer Rechnung ist er dann “item.property.test”.

Es können auch Scripte an einzelne Kontakte/Produkte angehangen werden (über die Properties dort), müssen aber da in der Form #return “hallo”# eingetragen werden (im Scriptmanager ohne #).

Eigene Variablen mit Text oder Script  für ale Typen und Gruppen erstellen Sie im Scriptmanager:

Extras → Einstellungen → Scriptmanager.

Zunächst wählen Sie aus, für welchen Exporttyp die Variable verwendet werden soll. Wenn Sie zum Beispiel möchten, dass ihre Variable auf Rechnungsvorlagen erscheint, wählen Sie “Rechnung” aus. Dann müssen Sie festlegen, für welche Gruppe ihre Variable gelten soll (Alle Gruppen ist der Default).

Dann geben Sie ihrer Variable einen Namen, zum Beispiel “artikelinposten”. Dieser Name wird auch in der Vorlage verwendet.

Dann tragen Sie den gewünschten Text ein. Wenn Sie einen statischen Text wünschen, tragen Sie ihn ein, *inklusive* Anführungszeichen. Zum Beispiel “Bitte beachten Sie unsere neue Bankverbindung”.

Alternativ tragen Sie ein Groovyscript ein, wie im Beispiel unten:

Zum Testen drücken Sie nun auf den Knopf “Run with” und selektieren einen Datensatz (zur Zeit nur mit Rechnungen möglich). Sie bekommen <rückmeldung, wie das Ergebnis aussieht bzw ob ein Fehler entdeckt wurde.

Zum Speichern der Variable drücken Sie “Save as new”. Ihre neu erstellte Variable ist nun wie folgt zu verwenden:

Im entsprechenden Template legen Sie eine neue Feldvariable an wie in Abschnitt → Variablen oben beschrieben. Als Variablennamen verwenden Sie

item.property.artikelinposten

Wenn Sie nun eine Rechnung exportieren, wird dieses Feld automatisch mit dem entsprechenden Wert befüllt.

Anwendungsbeispiel 1

Nehmen wir an, man möchte beim Export der Rechnung einer Gruppe "Gewerblich" einen Rabatt von 2% bei Zahlung innerhalb 2 Tagen geben, und den anderen Gruppen nicht (oder was anderes), dann kann man nun folgendes tun:

Im Scriptmanager:

 

- selektiere Kontext “Rechnung” und Alle Gruppen

- trage als Key ein “skonto”

- trage als Script ein (“dbo” IST die Rechnung):

if(dbo.group.cname.equals("Gewerblich"))
   return "Sie erhalten 2% Skonto bei Zahlung innerhalb 2 Tagen."
else
   return "Die Zahlung ist innerhalb 3 Tagen ohne Abzug zu leisten."

 

- im Template einen Schlüssel eintragen: item.property.skonto

Anwendungsbeispiel 2

Sie möchten alle Posten einer Rechnung vom Typ Dienstleistung summieren und anzeigen:


Im Scriptmanager:

 

- selektiere Kontext “Rechnung” und Alle Gruppen

- trage als Key ein “servicevaluef”

- trage als Script ein (“dbo” IST die Rechnung):

return mpv5.utils.numberformat.FormatNumber.formatLokalCurrency(dbo.subitems.findAll{it.product?.inttype==mpv5.db.objects.SubItem.TYPE_SERVICE}.sum{it.totalbrutvalue}?:0)

- im Template einen Schlüssel eintragen: item.property.servicevaluef

Verwendung von Toolbar-Actions

Yabs erlaubt es, eigene Toolbar-Buttons zu definieren, welche Groovy-Script ausführen.

Beispiel: Sie möchten auf Knopfdruck alle bezahlten Rechnungen in eine bestimmte Gruppe verschieben: Menu Eintrag: View → Add toolbar action →

Unbenannt.PNG

Beispiel-Script:

import mpv5.db.objects.* // Alle Objekte (Item, Contact...)

import mpv5.ui.dialogs.* // Dialog Tools

import mpv5.db.common.* // Datenbankverbindung

import mpv5.logging.Log;

List<QueryParameter> p = new ArrayList<QueryParameter>();

QueryCriteria2 itemfilter = new QueryCriteria2();

p.add(new QueryParameter(Context.getItem(), "invisible", 0, QueryParameter.EQUALS));

p.add(new QueryParameter(Context.getItem(), "intstatus", Item.STATUS_PAID, QueryParameter.EQUALS));

p.add(new QueryParameter(Context.getItem(), "groupsids", 1, QueryParameter.EQUALS));

itemfilter.and(p);

def items = DatabaseObject.getObjects(new Item(), itemfilter);

items.each{

    it.setGroup(it.getObject('groups', 'Bezahlt'))

    it.save()

}

Popup.notice(items?.size() + " Rechnungen verschoben")​

Java Klassen-Pfade

Um die Yabs Klassen in Scripten erreichen zu können, muss man die Pfade natürlich kennen. Hier ein paar nützliche Beispiele zum Importieren:

import mpv5.utils.numberformat.* //zum Formatieren

import mpv5.db.objects.* // Alle Objekte (Item, Contact...)

import mpv5.ui.dialogs.* // Dialog Tools

import mpv5.db.common.* // Datenbankverbindung

Nützliche Klassen sind unter anderem:

mpv5.utils.numberformat.FormatNumber

Modifier and Type

Method and Description

static boolean

checkDezimal(java.lang.String text)

Check whether a text can be parsed to be a decimal number

static boolean

checkNumber(java.lang.Object number)

Checks if an object is in anyway compatible to be a number or a decimal number

static java.lang.String

formatDezimal(java.lang.Float number)

Formats a number to look like the users default locale decimal (+ rounding)

static java.lang.String

formatDezimal(java.lang.Number number)

Formats a number to look like the users default locale decimal (+ rounding)

static java.lang.String

formatInteger(java.lang.Number number)

Formats a number to look like an int (cut of x.digits)

static java.lang.String

formatLokalCurrency(java.lang.Number betrag)

Formats a number to look like the users default locale currency (+ rounding)

static java.lang.String

formatPercent(java.lang.Number number)

Formats a number to look like the users default locale percent values (+ rounding)

static java.text.NumberFormat

getDefaultDecimalFormat()

The default number format

static java.text.NumberFormat

getShortDecimalFormat() 

static java.math.BigDecimal

parseDezimal(java.lang.String number)

Tries to parse the given text to a number, using the default Locale.

static java.math.BigDecimal

parseNumber(java.lang.Object number)

Tries to parse the given Object to a BigDecimal value

static java.math.BigDecimal

round(java.lang.Number number)

Rounds a number up to two fraction digits BigDecimal.ROUND_HALF_UP

mpv5.db.common.DatabaseConnection

Modifier and Type

Method and Description

java.sql.Connection

getConnection() 

Verwendung von Mail-Templates

Variablen

In Mail-Templates können folgende Variablen verwendet werden:

Allgemeine Variablen, Uppercase:

[YEAR]
[MONTH]
[DAY]
[QUARTER]
[MONTH_NAME]
[OBJECT_MONTH]
[OBJECT_YEAR]
[GROUP_NAME]
[CREATE_USER]
[CURRENT_USER]
[DATENUMERIC]
[YEAR_SHORT]

Objekt-Variablen, auch Uppercase:

[contact.cname]
[contact.cnumber]
[contact.company]
[contact.prename]
[contact.title]
[contact.country]
[grosvaluef]
[type]
[contact.gender]
[contact.intro]


Programmoptionen / Einstellungen

Die Einrichtung der Office-Verbindung

Die Einrichtung der Verbindung von Yabs zu OpenOffice/LibreOffice/ApacheOffice (im Weiteren Office gennnt) ist im Grunde genommen trivial - und doch scheitert es häufig an der verwendeten Version in Verbindung mit dem jeweiligen Betriebssystem. Fall es sich die Verbindung nicht herstellen lässt, empfiehlt es sich häufig eine ältere Office Version zu testen. Des weitere gibt es noch die Möglichkeit, Office als reine Serverinstallation einzurichten - entweder auf einem Server oder als zweite Office Installation auf ihrem Arbeitsplatzrechner.

Einstellungen

Die möglichen Einstellungen im Detail:

  1. Pfad: Der Pfad zur Office Installation - oder leer, dann wird die Office Installation verwendet, die auch der Button “Automatisch suchen” vorschlagen würde. Nur relevant für lokale Office Installationen
  2. Remote Server: wenn Sie eine → Office-Serverinstallation verwenden, tragen Sie hier die Adresse und den Port  ein
  3. Kein Office verwenden: schaltet jegliche Interaktion mit Office ab. Sie können in diesem Modus nicht exportieren.
  4. Run lokal server: Office wird von Yabs als lokale Serverinstallation verwendet und automatisch gestartet. Dies kann Verbindungsprobleme beheben und war der default bis Yabs Version 1.7x, jedoch kann es mit dieser Einstellung unter Umständen sein, dass Sie Office und Yabs nicht gleichzeitig verwenden können. Dennoch empfiehlt es sich gelegentlich, diesen Weg zu wählen, und einfach LibreOffice mit Yabs zu verwenden und als Office-Anwendung daneben OpenOffice (oder vice-versa).
  5. Start Office automatically: Yabs wird beim Start versuchen, eine Verbindung mit Office herzustellen (sonst erst beim ersten Exportversuch). Dies kann Verbindungsprobleme verhindern.
  6. Let Yabs decide: Yabs entscheidet selbst, was die “besten” Einstellungen sind. Im Normalfall funktioniert die Verbindung danach. Falls nicht, empfiehlt es sich häufig stattdessen eine andere Office Installation oben anzugeben der “Run local server” zu verwenden.

Office-Serverinstallation

Bei Verbindungsproblemen mit Office oder Mehrbenutzer-Netzwerk Installationen von Yabs bietet es sich an, Office als Serverdienst zu starten Dies bedeutet, dass Office im Hintergrund auf einem der Netzwerkrechner läuft, und die Export-Anfragen einer oder mehrerer Yabs Instanzen bearbeitet, und dann die fertigen PDF Dateien an Yabs zurückschickt.

Die Einrichtung ist im Grunde genommen trivial, sofern keine Firewall den Zugang zu OpenOffice sperrt.

Sie müssen den Pfad zu Office kennen, und dann - je nach Betriebssystem - Office mit bestimmten Parametern starten:

<pfad zu office>\program\soffice --headless --nofirststartwizard --invisible --norestore --nolockcheck --nocrashreport --nodefault --accept=”socket,host=0.0.0.0,port=8100;tcpNoDelay=1;urp;StarOffice.Service;”

Leider änderte sich das Verhalten von Office je nach Version und Herausgeber, deshalb ist es an dieser Stelle nicht möglich, allgemeingültige Befehle zu geben. Die Dokumentation der jeweiligen Office Version sollte es ermöglichen, Office erfolgreich im headless Modus starten zu können.

Benutzereinstellungen

Rechnungen Standardwerte

Wenn Sie in der Produkt- und Dienstleistungstabelle Artikel eingetragen haben, können diese später in den verschiedenen Posten-Tabellen verwendet werden. Um zu bestimmen, welche Inhalte und Produktfelder in dieses Textfeld eingefügt werden sollen. Wenn die gewünschten Haken gesetzt sind, muss anschließend auf „Generieren“ geklickt werden – wodurch im Formatfeld die Werte ausgegeben werden. Diese Werte haben keinen weiteren Belang. Lediglich dienen Sie dazu, die Reihenfolge selbst zu bestimmen.

Unter „Def. Einheit“ wird die Mengeneinheit angegeben, die Standardmäßig in der Positionstabelle bei Anlage eines Vorgangs vorbelegt ist.

Ebenso verhält es sich mit „Def. Anzahl“ und „Def. MwSt.“


Grundeinstellungen

Die Grundeinstellungen (hier leider noch in englischer Sprache) sind größtenteils selbsterklärend:

Dateinamengrundeinstellung

Yabs kann ihre PDF Dateien automatisch sichern ( → Benutzereinstellungen → Erweitert: ORG.OPENYABS.PROPERTY$AUTOCREATEPDF). Den Pfad dazu können Sie hier festlegen:

Die Fristen

Hier wird eingestellt nach wie vielen Tagen nach „Nichtbezahlung“ einer Rechnung eine Warnung bzw. Alarmierung erfolgen soll.

 

Mail-Einstellungen

Hier werden die Einstellungen vorgenommen, die den Mail-Versand aus Yabs heraus betreffen.

Lokale Optionen

Internet-Verbindung

Falls Sie Emails versenden wollen, und sich hinter einem Proxy befinden, können Sie dies hier konfigurieren.

Drucker-Einstellungen

Falls Sie Probleme beim Drucken haben, aktivieren Sie das Drucken über die Standard-Anwendung. Damit umgehen Sie den Druckdialog, bzw wird dieser von der jeweiligen Anwendung konfiguriert.


Nummernkreise in Yabs

Sie können fast beliebige Nummernkreise in Yabs vergeben. Dazu öffnen Sie den Format Manager.

Wählen Sie den gewünschten Typ des Nummernkreises aus, z.B. Rechnung.

Nummernkreise müssen pro Benutzer erneut angelegt werden. Diese Einschränkung wird in zukünftigen Yabs Versionen entfallen. Dennoch können Sie auch jetzt schon die gleichen Nummernkreise mit allen Benutzern verwenden, indem Sie jedem Benutzer die gleichen Einstellungen geben.

Variablen

Die Nummernkreise können Variablen enthalten, die bei Erstellung des Belegs aufgelöst werden:

  1.  [YEAR]: das aktuelle Jahr im Format 2012
  2.  [MONTH]: der aktuelle Monat im Format 01, 02, 03 … 12
  3.  [QUARTER]: Das Jahresquartal im Format 1,2,3,4
  4.  [GROUP_NAME]: Der Name der Gruppe des Belegs (Achtung! achten Sie auf die korrekte Startposition für diesen Gruppe)
  5.  [CURRENT_USER]: Der Name des Benutzers (Achtung! achten Sie auf die korrekte Startposition für diesen Benutzernamen)
  6.  [YEAR_SHORT]: das aktuelle Jahr im Format 12

Startposition

Bei Verwendung von [YEAR] (und eigentlich allen anderen Variablen auch) muss man die Startposition für den dynamischen, hochzählenden Teil der Nummer angeben, um ein ‘korrektes’ Aufzählen zu gewährleisten. Es sei denn, Sie möchten beim Jahreswechsel wieder bei 1 anfangen (d.h. die Jahreszahl ist Teil der echten Rechnungsnummer).

Beispiel

Ohne Startposition:

Format: [YEAR]{0,number,000000}

Letzte Nummer in 2012 z.B.: 2012000123

Erste Nummer in 2013:  2013000000

Mit Startposition 4:

Format: [YEAR]{0,number,000000}

Letzte Nummer in 2012 z.B.: 2012000123

Erste Nummer in 2013:  2013000124

Welches Verhalten nun für Sie buchhalterisch richtig ist, bleibt Ihnen überlassen.


Startwert

Sie können einen Wert angeben, welcher bei der nächsten Belegerstellung als erste Nummer gezogen wird. Stellen Sie zum Beispiel einen Startwert von 100 ein, wird im oben genannten Beispiel die erste Nummer wie folgt sein:

Format: [YEAR]{0,number,000000}

Erste Nummer:  2013000100

Freitext

Sie können auch Freitext in ihre Belegnummern integrieren, zum Beispiel das Kürzel “RE” für Rechnung.

Ein Format mit Freitext in Kombination mit dem aktuellen Jahr wäre wie folgt:

Format: RE-[YEAR]{0,number,000000}

Startposition: 7

Erste Nummer:  RE-2013000001

Erste Nummer in 2014:  RE-2014003434


Der Babelfish

Im Babelfish Tool können sie eigene Übersetzungen von Yabs anfertigen, oder mittels Windows Live.com Client ID automatische Übersetzungen anfertigen lassen.


Yabs mit MySQL

Sie können Yabs auch mit einer MySQL Datenbank (zum Beispiel auf einem Webserver) betreiben, um zum Beispiel den Zugriff für mehrere Benutzer und/oder von unterschiedlichen Standorten aus zu ermöglichen.

Entweder Sie greifen dazu auf einen bereits installierten Mysql Server zurück (zum Beispiel bei einem Webhoster), oder Sie installieren ihn lokal. Anleitungen dazu gibt es in großer Zahl für alle Betriebsysteme, an dieser Stelle wird nur die Einrichtung für Windows und Ubuntu kurz skizziert.

Einrichtung unter Windows

Zur Installation unter Windows laden Sie sich die entsprechende Version von MySQL herunter: Link

Führen Sie die Datei aus und folgen Sie den Anweisungen. Vergeben Sie unbedingt ein echtes Passwort für den Benutzer ‘root’ (Sie werden danach gefragt) und schließen Sie die Installation ab. Anschliessend können Sie mit dem MySQL Workbench Proramm einen speziellen Benutzer für Yabs anlegen (vergeben Sie alle Rechte die möglich sind, inklusive ‘ADD DATABASE’ und ‘CREATE TRIGGER’ , oder verwenden Sie einfach den vordefinierten Benutzer ‘root’. In diesem Fall müssen Sie nichts weiter tun, als nun Yabs zum ersten Mal zu starten.

Einrichtung unter Ubuntu

Sie können MySQL direkt aus den Paketquellen installieren. Öffnen Sie ein Terminal und führen folgendes aus:

sudo apt-get install mysql-server

Im Dialog der Installation legen Sie das Passwort für den Benutzer ‘root’ fest. Bitte merken Sie sich dieses Passwort.

Nun verbinden Sie sich lokal mit dem MySQL-Server (die folgende Konfiguration können Sie natürlich auch mit MySQL Workbench erledigen, oder stattdessen einfach den Benutzer ‘root’ in Yabs verwenden):

mysql -u root -p<ihr vergebenes passwort>

Zwischen dem Parameter -p und dem Passwort darf kein Leerzeichen sein! Alle folgenden Befehle stehen in einer Zeile und werden mit einem Semikolon abgeschlossen.

Zuerst legen wir mit der MySQL-Bash einen Benutzer an ('passwort' bitte durch ein 'anderes_passwort' ersetzen):

>CREATE USER yabs IDENTIFIED BY 'passwort',

Wir vergeben die Rechte, so dass sich der Datenbankuser yabs von allen anderen Rechnern aus verbinden kann:

>GRANT USAGE ON * . * TO 'yabs'@'%' IDENTIFIED BY 'passwort' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

Wir verlassen mySQL:

>QUIT,

Yabs für MySQL konfigurieren

Damit Yabs mit der MySQL Datenbank sprechen kann, müssen Sie

1. den Zugriff konfigurieren

2. dem verwendeten *MySQL* Benutzer die benötigten Rechte zugewiesen haben (oder MySQL-root benutzen)

3. die Verbindung ermöglichen

Falls Sie Yabs noch nie zuvor gestartet haben, starten Sie es jetzt und klicken im Installationswizard auf “Advanced"”:

Falls Sie Yabs bereits zurvor mit einer Derby Datenbank gestartet haben, können Sie, um den Installationswizard zu forcieren:

- den Ordner .yabs komplett löschen (VORSICHT: alle Ihre in Yabs eingegebenen Daten gehen verloren)

- die Datei .yabs/settings0.yabs umbenennen/ löschen

- Yabs mit dem Parameter -finstall starten (eine zusätzliche Yabs Instanz wird konfiguriert)

- Yabs mit dem Parameter für einer neuen Verbindungs ID starten:  -conn 23

- In Yabs den Editor für Verbindungen starten (Datei → Verbindungseditor) und eine neue Verbindung anlegen (+)

Da Initial keine Sprachdateien importiert ist, ist der Dialog hier in englischer Sprache:

Als Datenbanktreiber wählen Sie bitte ‘com.mysql.jdbs.Driver aus.

Bei “Allows multiple connections” geben Sie “Yes” an.

Geben Sie den MySQL Benutzer an (zuerst auch “Change” klicken, dann Benutzernamen und Passwort eingeben (falls Sie keinen yabs Benutzer in MySQL angelegt haben, verwenden Sie ‘root’).

Klicken Sie auf “Next”. Yabs wird nun versuchen, die Verbindung herzustellen, eine Datenbank mit dem angegebenen Namen anzulegen (oder eine vorhandenen zu verwenden) und die Datenbankstruktur zu erstellen. Im Fehlerfall bekommen Sie eine Meldung und können das Log öffnen. Bei Verbindungsproblemen hilft es häufig, die Meldung im Log zu lesen und gegebenenfalls den Datenbanknamen anzupassen (zum Beispiel sind die Datenbanknamen bei Webhostern häufg fest vorgegeben für ihr Konto dort).

Anschliessend sollte Yabs automatisch starten.

Fehlerbehandlung

Thread stack overrun

Sollte es beim Start des Client zu der Fehlermeldung kommen:

java.sql.SQLException: Thread stack overrun: , 6004 bytes used of a 131072 byte stack, and 128000 bytes needed. , Use 'mysqld -O thread_stack=#' to specify a bigger stack.

kann dieser Stack overrun mit "mysqld -O thread_stack=256000"  auf dem MySQL Server umgangen werden.

MySQL von aussen erreichen

Falls der der MySQL-Server von aussen erreichbar sein soll,  muss die Konfiguration eventuell wie folgt angepasst werden:

sudo nano /etc/mysql/my.cnf

und kommentieren hier den Eintrag mit einer # aus:

bind-address = 127.0.0.1

Anschliessend starten Sie den MySQL-Server neu:

sudo /etc/init.d/mysql restart

Benutzer für Yabs hat kein Zugriffrecht

Verbinden Sie sich lokal mit dem MySQL-Server:

mysql -u root -p<ihr vergebenes passwort>

Wir geben dem Benutzer yabs alle Rechte an der Datenbank yabs:

>GRANT ALL PRIVILEGES ON yabsdb . * TO yabs;

Wir laden die Benutzerrechte neu:

>FLUSH PRIVILEGES;

Wir verlassen mySQL:

>QUIT;


Anhang

Feldvariablen

Im folgenden finden Sie die aktuellen vordefinierten Feldnamen für Yabs Templates

Rechnung / Angebot / Auftrag

Die Variablen in Rechnungen, Angeboten und Aufträgen sind die gleichen:

Kontenspezifische Platzhalter

item.account.addedby – Konto erstellt durch

item.account.cname – Konto Name

item.account.dateadded – Konto angelegt am (Datum)

item.account.description – Konto beschreibung

item.account.frame – Kontorahmen

item.account.group – Kontogruppe

item.account.grouppath – Kontogruppe

item.account.groupdescription – Kontogruppe

item.account.hierarchypath - Pfad

item.account.ids – Konto ID

item.account.intaccountclass - Kontoklasse

item.account.parentaccount - Übergeordnetes Konto

item.account.type – Accounttyp

Allgemeine Platzhalter

item.addedby – Hinzugefüg von

item.cnumber – Rechnungsnummer

Kundeninformationen

item.contact.gender – Herr/Frau

item.contact.intro - Sehr geehrt..

contact.invoiceaddress.cname - Rechnungsadresse Name

contact.invoiceaddress.taxnumber - Rechnungsadresse Steuernummer

contact.invoiceaddress.title - Rechnungsadresse Titel

contact.invoiceaddress.prename - Rechnungsadresse Vorname

contact.invoiceaddress.street - Rechnungsadresse Strasse

contact.invoiceaddress.zip - Rechnungsadresse PLZ

contact.invoiceaddress.city - Rechnungsadresse Ort

contact.invoiceaddress.company - Rechnungsadresse Firma

contact.invoiceaddress.department - Rechnungsadresse Abteilung

contact.invoiceaddress.country - Rechnungsadresse Land

contact.deliveryaddress.cname - Lieferadresse Name

contact.deliveryaddress.taxnumber - Lieferadresse Steuernummer

contact.deliveryaddress.title - Lieferadresse Titel

contact.deliveryaddress.prename - Lieferadresse Vorname

contact.deliveryaddress.street - Lieferadresse Strasse

contact.deliveryaddress.zip - Lieferadresse PLZ

contact.deliveryaddress.city - Lieferadresse Ort

contact.deliveryaddress.company - Lieferadresse Firma

contact.deliveryaddress.department - Lieferadresse Abteilung

contact.deliveryaddress.country - Lieferadresse Land

item.contact.fullname - Vor und Zuname falls vorhanden

item.contact.addedby – Kontakt hinzugefügt von

item.contact.city – Stadt

item.contact.cname – Nachname

item.contact.cnumber – Kundenummer

item.contact.company – Unternehmen

item.contact.country – Land

item.contact.dateadded – Hinzugefügt am

item.contact.department – Abteilung

item.contact.fax – Faxnummer

item.contact.group – Gruppe

item.contact.groupdescription – Gruppenbeschreibung

item.contact.grouppath – Gruppenpath

item.contact.groupsids – Gruppen-ID

item.contact.ids – Kontakt-ID (intern)

item.contact.intaddedby – Kontakt hinzugefügt (intern)

item.contact.iscompany – Ist eine Firma 1/0

item.contact.iscustomer – Ist eine Kunde 1/0

item.contact.isenabled – Ist aktiviert 1/0

item.contact.ismale – Männlich

item.contact.ismanufacturer – Ist ein Hersteller 1/0

item.contact.issupplier – Ist ein Lieferant 1/0

item.contact.mailaddress – Mailadresse

item.contact.mainphone – Haupttelefonnummer

item.contact.mobilephone – Mobilnummer

item.contact.notes – Notizen

item.contact.prename – Vornamen

item.contact.street – Straße

item.contact.taxnumber – Steuernummer

item.contact.title – Anrede (Dr., Prof., Meister)

item.contact.website – URL der Webseite

item.contact.workphone – Telefon, Arbeit

item.contact.zip – Postleitzahl

item.contact.bankaccount - Konto

item.contact.bankid - BLZ

item.contact.bankname - Name der Bank

item.contact.bankcurrency - Währung

item.contact.bankcountry - Land der Bank

Rechnungs/Auftragsbeschreibungen/daten

item.dateadded – Auftrag hinzugefügt am

item.dateend – Auftrag beendet am

item.datetodo – Auftrag bis zum

item.description – Beschreibung

item.group – Gruppe

item.groupdescription – Gruppenbeschreibung

item.grouppath – Gruppenpath

item.groupsids – Gruppen-ID

item.ids – ID

item.intaddedby – Hinzugefügt am (intern)

item.intreminders – Interne Erinnerung am

item.type – Type

item.netvalue – Nettopreis

item.taxvalue – Steuersatz

item.grosvalue - Bruttowert

item.discountvalue - Rabattwert

Es gibt zusätzlich pro verwendetem Steuersatz folgende Felder:

item. taxgroupvalue1 =  38 (Wert in Euro)

item. taxgroup1 = 19 (Steuersatz)

item. taxgroupvalue2 = 14

item. taxgroup2 = 7

... etc pp

Formatierte Werte (Währungssymbol):

item.netvaluef

item.taxvaluef

item.grosvaluef

item.discountvaluef

item.taxgroups =

19%:        38,00 €

7%:          14,00 €

(alle Taxgruppierungen zusammen aufgelistet in einem Feld)

 

Produkte

Für Templates der Kategorie Produkte (Products), Dienstleistungen (Service) gelten folgende Befehle:

image[1-n] – Bild einfügen (Bild 1 bis n (unendlich))

product.measure

product.productgroupsids

product.grouppath

product.groupdescription

product.type

product.description

product.groupsids

product.productgroup.productgroupsids

product.productgroup.grouppath

product.productgroup.ids

product.productgroup.hierarchypath

product.productgroup.groupdescription

product.productgroup.intaddedby

product.productgroup.defaults

product.productgroup.dateadded

product.productgroup.addedby

product.productgroup.description

product.productgroup.groupsids

product.productgroup.group

product.productgroup.cname

product.productgroup

product.internalnetvalue

product.group

product.defaultimage

product.cname

Lieferanten

product.supplier.grouppath

product.supplier.prename

product.supplier.department

product.supplier.street

product.supplier.groupdescription

product.supplier.ismanufacturer

product.supplier.city

product.supplier.mobilephone

product.supplier.title

product.supplier.iscustomer

product.supplier.groupsids

product.supplier.workphone

product.supplier.zip

product.supplier.issupplier

product.supplier.fax

product.supplier.taxnumber

product.supplier.mainphone

product.supplier.website

product.supplier.cnumber

product.supplier.ids

product.supplier.mailaddress

product.supplier.country

product.supplier.intaddedby

product.supplier.isenabled

product.supplier.dateadded

product.supplier.addedby

product.supplier.company

product.supplier.ismale

product.supplier.iscompany

product.supplier.group

product.supplier.notes

product.supplier.cname

 

Produktbeschreibungen

product.supplier

product.suppliersids

product.cnumber

product.ids

product.externalnetvalue

product.reference

product.url

product.inttype

product.ean

product.intaddedby

product.manufacturersids

product.taxids

product.dateadded

product.tax

product.addedby

 

Hersteller

product.manufacturer.grouppath

product.manufacturer.prename

product.manufacturer.department

product.manufacturer.street

product.manufacturer.groupdescription

product.manufacturer.ismanufacturer

product.manufacturer.city

product.manufacturer.mobilephone

product.manufacturer.title

product.manufacturer.iscustomer

product.manufacturer.groupsids

product.manufacturer.workphone

product.manufacturer.zip

product.manufacturer.issupplier

product.manufacturer.fax

product.manufacturer.taxnumber

product.manufacturer.mainphone

product.manufacturer.website

product.manufacturer.cnumber

product.manufacturer.ids

product.manufacturer.mailaddress

product.manufacturer.country

product.manufacturer.intaddedby

product.manufacturer.isenabled

product.manufacturer.dateadded

product.manufacturer.addedby

product.manufacturer.company

product.manufacturer.ismale

product.manufacturer.iscompany

product.manufacturer.group

product.manufacturer.notes

product.manufacturer.cname

Journal

journal.user

journal.group

journal.dateto

journal.datenow

journal.taxvalue

journal.accounts

journal.discountvalue

journal.childgroups

journal.revenuevalue

journal.datefrom

journal.netvalue

journal.grosvalue

Spalten in der xtable1:

[Internal ID, Name, Surname, Street, City, Country, Date, Group, Account, Number, Type, Status, Net, Tax, Brut, Revenue, Discount]

Company-Info Feldnamen in Templates


companyinfo.account
companyinfo.bankname
companyinfo.banknumber
companyinfo.business
companyinfo.city
companyinfo.country
companyinfo.email
companyinfo.fax
companyinfo.firstname
companyinfo.name
companyinfo.phone
companyinfo.phoneprefix
companyinfo.street
companyinfo.taxadvjob
companyinfo.taxadvsior
companyinfo.taxauthority
companyinfo.taxmandant
companyinfo.taxnumber

© Eevol Sarl - 2012, Andreas Weber 2018  - Version 2.0 – Lizenz: GPL                                           /