Palettenkonto

Hilfe · Web-Modul

palettenkonto.net

📦 Installation

Das Palettenkonto Web-Modul ist eine eigenstaendige ASP.NET Core Anwendung, die lokal in Ihrem Netzwerk betrieben wird. Es benoetigt keinen Cloud-Dienst und keine externe Abhaengigkeit ausser Ihrer bestehenden Palettenkonto-Datenbank (PostgreSQL).

Voraussetzungen

  • Windows (Windows 10/11 oder Windows Server 2016+), 64-Bit
  • PostgreSQL-Datenbank (bestehende Palettenkonto-Datenbank)
  • Netzwerkzugriff vom Web-Server auf die Datenbank
  • Freier TCP-Port (Standard: 5080)
  • Optional: Internetzugang fuer die Desktop-App (fuer den Import mobiler Buchungen)
ℹ️
Das Web-Modul wird als Self-Contained-EXE ausgeliefert — das bedeutet, keine .NET-Installation ist auf dem Ziel-Rechner notwendig. Alle Abhaengigkeiten sind im Paket enthalten.

Schritt-fuer-Schritt Installation

  1. Installationspaket entpacken: Entpacken Sie das ZIP-Archiv in ein beliebiges Verzeichnis, z.B. C:\PalettenkontoWeb\.
  2. Anwendung starten: Fuehren Sie PalettenkontoWeb.exe aus. Beim ersten Start wird automatisch die Ersteinrichtung geoeffnet.
  3. Firewall-Freigabe: Wenn andere Geraete im Netzwerk zugreifen sollen, geben Sie den Port 5080 in der Windows-Firewall frei. Das Installationsprogramm (Inno Setup) kann dies automatisch uebernehmen.
  4. Verbindung testen: Oeffnen Sie im Browser http://localhost:5080 bzw. http://<Server-IP>:5080 von einem anderen Geraet.

Verzeichnisstruktur

# Empfohlene Verzeichnisstruktur C:\PalettenkontoWeb\ ├── PalettenkontoWeb.exe # Hauptanwendung (Self-Contained) ├── PalettenkontoWebTray.exe # System-Tray-Wrapper (optional) ├── appsettings.Local.json # Konfiguration (DB, Port, Logo) ├── wwwroot\ # Statische Dateien (CSS, JS, Bilder) ├── uploads\ # Hochgeladene Logos └── logs\ # Anwendungs-Logs (automatisch)
⚠️
Die Datei appsettings.Local.json enthaelt Ihre Datenbank-Credentials im Klartext. Stellen Sie sicher, dass nur berechtigte Benutzer Zugriff auf dieses Verzeichnis haben.

⚙️ Ersteinrichtung

Beim ersten Start (oder wenn keine gueltige Datenbankverbindung konfiguriert ist) erscheint automatisch die Einrichtungsseite. Hier werden die Datenbank-Verbindungsparameter und der Web-Port festgelegt.

Einrichtungs-Formular

FeldBeschreibungBeispiel
HostIP-Adresse oder Hostname des PostgreSQL-Servers192.168.1.100
PortPostgreSQL-Port (Standard 5432)5432
DatenbankName der Palettenkonto-Datenbankpalettenkonto
BenutzernamePostgreSQL-Benutzer mit Lese-/Schreibrechtenpkuser
KennwortPasswort des PostgreSQL-Benutzers••••••••
SSL ModeVerschluesselung der DB-Verbindung (im LAN meist Prefer)Prefer
Web-PortTCP-Port fuer den Web-Server5080

Ablauf

  1. Verbindung testen: Klicken Sie auf „Verbindung testen", um die Datenbankverbindung zu pruefen.
  2. Speichern: Bei erfolgreicher Verbindung wird „Speichern & Fertig" aktiviert. Klicken Sie darauf.
  3. Anmeldung: Nach dem Speichern wird die Login-Seite angezeigt. Melden Sie sich mit Ihrem Palettenkonto-Benutzer an.
Die Konfiguration wird in appsettings.Local.json gespeichert. Um die Einrichtung erneut aufzurufen, loeschen Sie diese Datei oder aendern Sie die Parameter manuell.

Logo hinterlegen (optional)

Nach dem Login koennen Sie ueber das Burger-Menue ein Firmenlogo hochladen. Das Logo wird im PDF-Tauschbeleg oben rechts angezeigt. Unterstuetzt werden PNG- und JPG-Dateien.

🚀 Als Windows-Dienst starten

Fuer den dauerhaften Betrieb empfiehlt es sich, das Web-Modul als Windows-Dienst einzurichten. Die Anwendung unterstuetzt dies nativ ueber UseWindowsService() — es wird kein NSSM oder andere externe Tools benoetigt.

Option A: Windows-Dienst (sc.exe)

# Dienst erstellen sc create PalettenkontoWeb binPath= "C:\PalettenkontoWeb\PalettenkontoWeb.exe" start= auto # ^ Leerzeichen nach binPath= und start= ist wichtig! # Dienst starten sc start PalettenkontoWeb # Dienst-Status pruefen sc query PalettenkontoWeb # Dienst stoppen sc stop PalettenkontoWeb # Dienst entfernen sc delete PalettenkontoWeb

Option B: Tray-Wrapper

Alternativ koennen Sie PalettenkontoWebTray.exe starten. Diese Variante laeuft als sichtbares Programm im System-Tray (Infobereich) und eignet sich fuer Testbetrieb oder wenn der Server angemeldet bleiben muss.

  • Klick auf das Tray-Icon oeffnet die Web-App im Browser
  • Rechtsklick bietet „Beenden" und „Browser oeffnen"
  • Keine Administrator-Rechte erforderlich
⚠️
Beim Windows-Dienst-Betrieb: Stellen Sie sicher, dass der Dienst-Benutzer Lesezugriff auf das Verzeichnis und Schreibzugriff auf appsettings.Local.json hat. LocalSystem (Standard) funktioniert in den meisten Faellen.

Firewall-Regel (manuell)

# Eingehende Regel fuer Port 5080 erstellen netsh advfirewall firewall add rule name="PalettenkontoWeb" ^ dir=in action=allow protocol=TCP localport=5080

📋 Funktionsumfang

Das Web-Modul bietet die wesentlichen Buchungsfunktionen der Android-App — optimiert fuer Browser auf Desktop, Tablet und Smartphone.

📝

Palettenbuchungen

Erfassung von Tauschbuchungen direkt in die Hauptdatenbank (bewegungen_kopf / bewegungen).

🔄

Tauschpartner

Auswahl des Tauschpartners aus der Datenbank, inklusive Gruppen-Filterung.

📦

Ladungstraeger

Mehrere Ladungstraeger-Zeilen pro Buchung, mit Bildern und Bestandsanzeige.

📄

PDF-Tauschbeleg

Automatischer PDF-Export mit Firmenlogo, Partnerdaten und Unterschrift.

✏️

Signatur

Digitale Unterschriftserfassung per Touchscreen oder Maus, gespeichert in der DB.

📷

Foto-Upload

Fotos von Buchungen hochladen (Kamera oder Datei), gespeichert im DocPath.

🔒

Benutzer-Login

Login mit Palettenkonto-Benutzern, Berechtigungspruefung, „Angemeldet bleiben".

👤

Profil-Verwaltung

Eigene Benutzerdaten (Name, E-Mail, etc.) bearbeiten ueber das Profil-Menue.

🎨

Logo-Verwaltung

Firmenlogo hochladen/aendern ueber das Burger-Menue, direkt im PDF sichtbar.

📱

Responsive Design

Optimiert fuer Desktop, Tablet und Smartphone — eine App, alle Geraete.

Was das Web-Modul NICHT tut

  • Keine Bestandsverwaltung: Salden und Bestaende werden in der Desktop-App verwaltet.
  • Keine Benutzerverwaltung: Benutzer und Rechte werden in der Desktop-App angelegt.
  • Kein Lizenz-Management: Die Lizenzpruefung laeuft ueber die Desktop-App.

📖 Benutzung

Anmeldung

  1. Browser oeffnen und http://<Server-IP>:5080/Login aufrufen.
  2. Palettenkonto-Benutzername und Kennwort eingeben.
  3. Optional „Angemeldet bleiben" anhaken — dann bleibt die Anmeldung auch nach Browser-Neustart 30 Tage gueltig (solange der Server nicht neu startet).
  4. Nach erfolgreichem Login erfolgt automatisch die Weiterleitung zur Buchungsseite.
⚠️
Der Benutzer benoetigt die Berechtigung zum erfassen von Buchungen sowie einen festgelegten Haupt-Tauschpartner. Fehlt eines davon, wird der Zugriff verweigert.

Eine Buchung erfassen

  1. Tauschpartner (TP) waehlen: Tippen Sie auf das Tauschpartner-Feld. Es oeffnet sich eine Auswahl-Liste. Filtern Sie ggf. ueber die Suchleiste oder Gruppen-Filter.
  2. Datum & Zeit: Voreingestellt ist die aktuelle Zeit. Passen Sie Datum und Uhrzeit bei Bedarf an.
  3. Ladungstraeger hinzufuegen: Waehlen Sie einen Ladungstraeger (z.B. Europalette) und geben Sie die Menge ein. Mehrere Zeilen sind moeglich.
  4. Belegnummer (optional): Falls vorhanden, tragen Sie die Belegnummer ein.
  5. Buchungstext (optional): Ein Freitextfeld fuer Notizen zur Buchung.
  6. Benutzerdefinierte Felder: Je nach Konfiguration in der system-Tabelle erscheinen zusaetzliche Eingabefelder. Pflichtfelder sind mit * markiert.
  7. Anhaenge hochladen (optional): Fotos oder Dokumente per Drag & Drop oder Dateiauswahl hinzufuegen.
  8. Unterschrift erfassen (optional): Auf dem Signatur-Feld koennen Sie per Touch/Maus unterschreiben. Geben Sie den Namen des Unterzeichners ein.
  9. Buchung abschliessen: Tippen Sie auf „Buchung abschliessen". Die Buchung wird direkt in die Datenbank geschrieben.

Nach der Buchung

Nach erfolgreichem Speichern erscheint ein Erfolgs-Bildschirm mit drei Optionen:

  • PDF-Beleg herunterladen: Laedt den Tauschbeleg als PDF (mit Logo, Partnerdaten, Tabelle, Unterschrift).
  • Neue Buchung: Startet eine neue Buchungserfassung mit zurueckgesetztem Formular.
  • Zur Uebersicht: Kehrt zur Startseite zurueck.

Pflichtfelder

Pflichtfelder werden ueber die Desktop-App verwaltet (Datenbank Einstellungen/Buchungen). Die Felder werden im Formular mit * markiert und vor dem Abschliessen serverseitig validiert.

Profil bearbeiten

  1. Klicken Sie oben rechts auf Ihren Benutzernamen.
  2. Es oeffnet sich das Profil-Popover mit Ihren Benutzerdaten.
  3. Ueber „Bearbeiten" oeffnet sich ein Modal zum Aendern Ihrer Daten (nur eigene Daten bearbeitbar).

Logo aendern

  1. Klicken Sie oben links auf das Burger-Menue.
  2. Waehlen Sie „Logo verwalten".
  3. Ziehen Sie eine PNG/JPG-Datei in das Feld oder waehlen Sie eine Datei aus.
  4. Klicken Sie auf „Speichern" — das Logo wird sofort im naechsten PDF-Beleg verwendet.

FAQ & Probleme

Die Login-Seite zeigt „Kein Haupt-Tauschpartner hinterlegt"

In der Desktop-App muss fuer diesen Benutzer ein Haupt-Tauschpartner festgelegt werden (lockedtp in der benutzer-Tabelle muss > 0 sein). Wenden Sie sich an Ihren Administrator.

„Keine Buchungsrechte" wird angezeigt

Dem Benutzer fehlt die Berechtigung rightGroupTransaction,rightCreate,1. Diese muss in der Desktop-App in den Benutzerrechten gesetzt werden.

Foto-Upload ist deaktiviert

Der DocPath aus der system-Tabelle ist vom Web-Server nicht erreichbar. Pruefen Sie, ob das Verzeichnis existiert und der Dienst-Benutzer Schreibzugriff hat.

„Angemeldet bleiben" funktioniert nicht

Nach einem Server-Neustart wird das alte Cookie als ungueltig erkannt (Sicherheitsfunktion). Melden Sie sich erneut an. Bei gleichem Server (nur Browser-Neustart) sollte es funktionieren.

Andere Geraete kommen nicht auf die App

  • Pruefen Sie die Windows-Firewall: Port 5080 muss eingehend freigegeben sein.
  • Verwenden Sie die IP-Adresse des Servers, nicht localhost.
  • Stellen Sie sicher, dass Server und Client im gleichen Netzwerk sind.

PDF-Beleg hat kein Logo

Laden Sie ein Logo ueber das Burger-Menue → „Logo verwalten" hoch. Das Logo wird im uploads/ Verzeichnis gespeichert und bei der naechsten PDF-Generierung verwendet.

Verbindung verloren / Session abgelaufen

Die Session wird nach Inaktivitaet (2x das Tick-Intervall aus der system-Tabelle) automatisch beendet. Melden Sie sich einfach neu an.

ℹ️
Weitere Fragen? Besuchen Sie unser Hilfe-Center oder kontaktieren Sie den Support.