Programmierung

Anleitung eigenes Modul für Xentral

In dieser Anleitung wird beschrieben wie man eigene Module für Xentral programmiert. Grundstruktur Jedes Modul besteht aus mindestens einer .php Datei und passenden Templates. Die Struktur bzw. der Aufbau der .php Datei ist vorgegeben. Ein zusammenhängendes Beispiel findet man in Xentral (vorlage.php). Die .php Datei ist immer im Ordner www/pages. Der Name der Datei entspricht...

Weiterlesen...

API Dokumentation

REST-API Ab Version 18.3 gibt es in der Xentral ERP-Software zusätzlich eine REST-API, die künftig weiter ausgebaut wird und später die alten API-Aufrufe ablösen soll. Die Dokumentation zur REST-API finden Sie in ihrer Installation unter `www/api/docs.html`. Dort wird erklärt wie Sie einen API-Account anlegen, wie Anfragen an API-Ressourcen aussehen müssen, welche API-Endpunkte...

Weiterlesen...

Beispielmodule programmieren

Hinweis: Das Beispiel geht ab Version 17.1 Ein Modul besteht aus mindestens einer PHP-Datei .php für den Code der im Hintergrund ablaufen soll und einer Template-Datei .tpl die für die Darstellung von HTML sorgt. Die PHP-Datei wird zuerst beschrieben, ganz unten finden Sie die Template-Dateien. PHP-Datei beispielmodul.php Zuerst wird die Klasse für das Modul erstellt, wie hier...

Weiterlesen...

Wichtige Funktionen

Secure: Kommunuikation über GET und POST Zugriff per GetPOST() Holt den Value über POST aus einem Formular. Innerhalb () den Namen des Formularelementes angeben z.B. $name = $this->app->Secure->GetPOST('name'); Zugriff per GetGET() Holt den Value über GET aus der URL. Innerhalb () den Namen der Variable aus der URL angeben z.B. $id = $this->app->Secure->GetGET('id'); DB: Zugrif...

Weiterlesen...

Style Guide

Schreibt man Module für Xentral, muss man einige Regeln bezüglich des Layouts beachten, um eine einheitliche Oberfläche zu erzeugen. Fehlermeldungen Fehlermeldungen müssen immer über der Live Tabelle, jedoch - falls vorhanden - unter dem Fieldset sein. Live Tabellen Die Spalte Menü muss so klein wie möglich gehalten werden, wie z.B. 1% oder 5%, je nach Anzahl der darin enthalte...

Weiterlesen...

Eigene Quelltexte / Änderungen in Update-Server hinterlegen

Viele PHP Dateien können mit eigenen Dateien überladen werden. Dazu kopiert man den Rumpf einer originalen Datei z.B. class.rechnung.php und nennt diese class.rechnung_custom.php. In dieser Datei muss es die Klasse mit dem Anhang Custom geben. z.B. Class RechnungCustom Extends Rechnung Jetzt können die Methoden in der Datei einzeln überladen werden. Die neue Datei class.rechnun...

Weiterlesen...

Programmieren mit Hooks

Durch Hooks ist es möglich bestimmte Funktionen aufzurufen ohne das aufrufende Modul zu ändern. Der Ablauf folgt dabei dem Schema: RegisterHook Um einen Hook zu registrieren wird folgende Funktion (nicht zwingend, aber bevorzugt in der Install Funktion des zugrundeliegenden Moduls) aufgerufen: $this->app->erp->RegisterHook('hookname_1', 'modulname', 'FunktionsName'); Umgangsspr...

Weiterlesen...

Belege überladen

Briefpapier überladen Falls Sie für Ihr Briefpapier weitere Informationen benötigen, wie zum Beispiel zusätzlich bei einer Artikelposition zur Artikelbeschreibung das Gewicht, oder die Höhe, so können Sie ein eigenes Briefpapier zum Überladen anlegen. Die Datei die das Briefpapier überladen soll, muss class.briefpapier_custom.php heißen. Diese Datei muss in Ihrem Xentralsordner...

Weiterlesen...

Eigenen Shop anbinden

Datenstruktur für Warenkorb im Shopskeleton. Rechnungsadresse $warenkorb[name] = "Musterfirma AG"; /* Bei Privatperson direkt Name der Person - Ansprechpartner bleibt dann leer */ $warenkorb[anrede]="firma"; /* herr, frau oder firma */ $warenkorb[ansprechpartner] = "Max Mustermann"; $warenkorb[abteilung] = "Abteilung Entwicklung; $warenkorb[strasse] = "Muster Strasse 12"; $ware...

Weiterlesen...

Bilderimport

Für den Import von Artikeln mit dazugehörigen Bildern, kann sich an folgendem Beispielscript orientiert werden. Das Script, sowie die dazugehörige CSV Datei sollten Sie in den Ordner importer Ihres Xentrals Ordner ablegen. Das Beispiel-Script ist für die Beispiel-CSV-Datei obst.csv, welche hier als Tabelle dargestellt ist. In der CSV-Datei können Sie so viele Spalten für weiter...

Weiterlesen...

Rundungsdifferenzen in Software

In diesem Artikel sprechen wir ein Problem an, das uns manchmal mitgeteilt wird als "einfacher Bug", leider aber viel schwieriger zu lösen bzw. gar nicht zu lösen ist: Rundungsdifferenzen in einer Software. Im Folgenden gehen wir darauf ein, wie Rundungsdifferenzen entstehen können und warum es so schwierig ist eine einheitliche Lösung zu finden. Verschiedene Berechnungsmethode...

Weiterlesen...

Made with ❤ at zwetschke.de