# Webviews für PROFFIX

Webviews für Proffix sind direkt in Proffix integrierbare kleine Javascript - Projekte.

# Features

  • Zugriff auf sämtliche Funktionalitäten der Proffix REST-API
  • Unabhängige GUI direkt in Proffix implementiert
  • Vollautoamtische Konfiguration inkl. Benutzer und Mandantenwechsel
  • Schnelle und einfache Installation

# Installation

Die WebView kann ganz einfach in Proffix installiert werden.

Zuerst wird die als ZIP - Datei gelieferte WebView in einem Order entpackt. Ideal ist z.B. ein Unterordner WebViews im Proffix - Ordner zu erstellen und dort die WebView in einen weiteren Ordner zu entpacken. (z.B: P:\WebViews\DemoWebView)

Dann entweder im Hauptfenster (empfohlen bei grossen bzw. hohen oder breiten WebViews mit viel Interaktion):

alt text

alt text

Oder auf jeder beliebigen Maske mittels Zusatzfeld (empfohlen bei spezifischen WebViews):

alt text

Die in obigen Screenshots rot markierte URL kann wie folgt eingegeben werden:

# Automatische URL - Konfiguration (empfohlen)

Im produktiven Betrieb wird folgende Konfiguration empfohlen, da dann alle Werte und die gesamte Authentifizierung direkt über Proffix läuft. So werden auch bei wechselnden Mandanten und Benutzern vollautomatisch immer die korrekten Zugangsdaten verwendet.

Die einfachst, mögliche Konfiguration ist:

file:///P:/Proffix/Webviews/DemoWebView/index.html#/?pxtoken=[LoginToken]&pxurl=[RESTApiUrl]&pxdatabase=[DBName]

wobei der Pfad P:/Proffix/WebViews/DemoWebView natürlich mit dem aktuellen Pfad der WebView ersetzt werden muss.

Beispiele:

https://localhost:3000/#/?pxtoken=[LoginToken>]&pxurl=[RESTApiUrl]&pxdatabase=[DBName]&volliz=true

file:///P:/Proffix/Webviews/DemoWebView/index.html#/?pxtoken=[LoginToken]&pxurl=[RESTApiUrl]&pxdatabase=[DBName]

Parameter Typ Bemerkung Platzhalter
pxtoken string Token Proffix [LoginToken]
pxurl string URL REST - API Proffix [RESTApiUrl]
pxdatabase string Datenbank Proffix [DBName]
volliz boolean Volumenlizenz verwenden

# Manuelle URL - Konfiguration (Debug)

Zu Debugzwecken oder in Sonderfällen kann die Konfiguration manuell mitgegeben werden. Diese Werte sind jeweils fix, d.h die Webview bekommt einen Mandanten oder Benutzerwechsel nicht mit.

Beispiele:

https://localhost:3000/#/?pxuser=sp&pxpassword=d87f6a3be8ad48c61e2ce6325924cf7a9c5ba3d21d717afe13b2b0f9e6880be7&pxurl=https://int.restapipx.ch:12212&pxdatabase=DEMODB

file:///P:/Proffix/Webviews/DemoWebView/index.html#/?pxuser=sp&pxpassword=d87f6a3be8ad48c61e2ce6325924cf7a9c5ba3d21d717afe13b2b0f9e6880be7&pxurl=<https://int.restapipx.ch:12212&pxdatabase=DEMODB

Parameter Typ Bemerkung
pxuser string Benutzer Proffix
pxpassword string Passwort Proffix (SHA256-Hash)
pxurl string URL REST - API Proffix
pxdatabase string Datenbank Proffix
volliz boolean Volumenlizenz verwenden

# LoginToken für WebViews verlängern

Die Gültigkeit der Logintokens in Proffix sind nicht immer kongruent und zum Teil sehr kurz (zwischen 5 Minuten und einigen Stunden) Damit kann es sein, dass ein Token abläuft während eine Benutzeransicht noch geöffnet ist. Das ist unschön, kann mittels folgendem Trigger aber unkompliziert korrigiert werden.


USE [DEMODB]  /*** DEMODB mit dem effektiven Datenbanknamen ersetzen */
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO


CREATE TRIGGER [dbo].[ExtendLoginDuration]
   ON  [dbo].[PRO_LoginToken]
   AFTER INSERT
AS 
BEGIN

 SET NOCOUNT ON;

     DECLARE @laufnr AS INT
   DECLARE @gueltigBis AS DATETIME
    SELECT @laufnr = LaufNr,@gueltigBis = GueltigBis
    FROM INSERTED

   UPDATE PRO_LoginToken 
    SET GueltigBis = DATEADD(DAY,1,@gueltigBis)
    WHERE LaufNr = @laufnr

END
GO

ALTER TABLE [dbo].[PRO_LoginToken] ENABLE TRIGGER [ExtendLoginDuration]
GO


Einfach obigen Trigger kopieren, den Datenbanknamen in der ersten Zeile ersetzen und auf der betroffenen Proffix - Datenbank ausführen. Anschliessend sind sämtliche LoginTokens mindestens einen Tag lang gültig.