Etiketten-App per URL aufrufen

Datenquelle, Parameter und Projekt per Link vorbelegen, z. B. aus Sage 100 heraus

Überblick

Die Etiketten-App lässt sich mit URL-Parametern öffnen und dabei komplett vorbelegen: Welche Connector-Abfrage geladen wird, mit welchen SQL-Parametern, und optional welches gespeicherte Projekt (Vorlage, Etikettenformat, Entwurf) dazu verwendet wird. Damit genügt ein Klick in Sage 100, um z. B. die Etiketten zu einem Wareneingang druckfertig auf dem Bildschirm zu haben.

https://appontes.de/etiketten-app/?projekt=Wareneingang&p_BelId=4711

Die Parameternamen sind unabhängig von Groß- und Kleinschreibung; Token=… oder P_BelId=… funktionieren also genauso.

URL-Parameter

ParameterBedeutung
abfrageName der Connector-Abfrage (Lookup), z. B. Wareneingang oder ArtikelDaten. Die Daten werden nach dem Öffnen automatisch geladen. Alternativ ist auch query möglich.
p_<Name>SQL-Parameter der Abfrage. Aus p_BelId=4711 wird der Parameter @BelId mit dem Wert 4711. Mehrere Parameter sind möglich, z. B. p_BelId=4711&p_Jahr=2026. Zahlen werden als Zahl übergeben, alles andere als Text.
projektName oder ID eines gespeicherten Projekts. Es wird zuerst geladen und bringt Vorlage, Etikettenformat, Entwurf und Datenquelle mit. abfrage und p_… übersteuern anschließend dessen Datenquelle bzw. Parameter. Die sechsstellige Projekt-ID steht in der Projektliste auf dem Start-Tab (z. B. k7m2p9); sie ist für Links die robustere Wahl, weil sie kurz ist, keine Sonderzeichen enthält und beim Überschreiben des Projekts gleich bleibt.
tokenConnector-Token, falls es nicht bereits auf dem Gerät gemerkt ist. Das Token wird sofort nach dem Öffnen aus der Adresszeile entfernt und nicht dauerhaft gespeichert.
tabZiel-Tab nach dem Öffnen: start, daten, zuordnen, format, designer oder drucken. Standard: drucken bei Projekt-Aufruf, sonst daten.
nurdrucknurdruck=1 öffnet die App als reine Druck-Ansicht: Sie startet direkt im Drucken-Tab, alle anderen Tabs sind ausgegraut und gesperrt. Ideal für den Aufruf aus Sage 100, wenn Anwender nur drucken und nichts verstellen sollen. Ein weiterer Aufruf ohne nurdruck (mit projekt bzw. abfrage) hebt die Sperre wieder auf.
autodruckautodruck=1 startet den Druck automatisch, sobald die Daten geladen sind. In der Desktop-App mit aktiviertem Direktdruck geht der Auftrag ohne Dialog an den hinterlegten Drucker bzw. in die Druck-Warteschlange, im Browser öffnet sich der Druckdialog. Braucht projekt oder abfrage.

Beispiele

Abfrage mit Parameter laden

/etiketten-app/?abfrage=Wareneingang&p_BelId=4711

Öffnet die App im Daten-Tab, wählt die Abfrage Wareneingang und lädt die Positionen des Belegs mit @BelId = 4711. Vorlage und Entwurf bleiben, wie sie zuletzt eingestellt waren.

Gespeichertes Projekt mit aktuellem Beleg (empfohlen)

/etiketten-app/?projekt=k7m2p9&p_BelId=4711

Lädt zuerst das Projekt mit der ID k7m2p9 (Vorlage, Format, Entwurf, Spalten-Zuordnung, Filter) und ruft dann die Daten mit der übergebenen BelId ab. Statt der ID funktioniert auch der Projektname (?projekt=Wareneingang). Die App landet direkt im Drucken-Tab; es fehlt nur noch der Klick auf "Drucken". So ist sichergestellt, dass die Etiketten immer gleich aussehen, egal welcher Beleg übergeben wird.

Reine Druck-Ansicht für Anwender

/etiketten-app/?projekt=k7m2p9&p_BelId=4711&nurdruck=1

Wie das vorige Beispiel, aber als reine Druck-Ansicht: Die App startet im Drucken-Tab, alle anderen Tabs sind gesperrt. Anwender können blättern, zoomen und drucken, aber nichts am Projekt verstellen.

Mit Token und Ziel-Tab

/etiketten-app/?abfrage=ArtikelDaten&token=XXXX-XXXX-XXXX-XXXX&tab=drucken

Für Geräte, auf denen das Token nicht gemerkt ist. Das Token verschwindet sofort aus der Adresszeile.

Aufruf der Desktop-App (etiketten://)

Die installierte Desktop-App registriert das URL-Schema etiketten://. Damit funktionieren alle Parameter dieser Seite auch per Systemaufruf, zum Beispiel:

etiketten://oeffnen?projekt=k7m2p9&p_BelPosId=4711&autodruck=1

Läuft die App bereits, übernimmt das offene Fenster Projekt und Parameter und lädt die Daten neu. Andernfalls startet die App direkt mit dieser Vorbelegung. Mit autodruck=1 werden die Etiketten sofort auf den in der App hinterlegten Drucker gedruckt. Der Teil nach etiketten:// und vor dem ? ist beliebig, ausgewertet werden nur die Parameter.

Auch Projekte mit SQL-Direktverbindung als Datenquelle lassen sich so aufrufen: Die per p_<Name> übergebenen Werte werden dann als @Parameter an die im Projekt gespeicherte SELECT-Abfrage übergeben. Ein token ist dafür nicht nötig, die Verbindung muss aber auf dem Gerät eingerichtet sein.

Beim allerersten Klick auf einen etiketten://-Link fragt der Browser einmalig, ob "Appontes Etiketten" geöffnet werden darf. Mit dem Häkchen "Immer zulassen" kommt die Rückfrage danach nicht mehr – das ist das normale Verhalten von Windows bei App-Links und keine Fehlermeldung.

In der Desktop-App laufen alle Direktdruck-Aufträge über die Druck-Warteschlange im Drucken-Tab. Sie lässt sich pausieren, damit z. B. mehrere Sage-Aufrufe erst gesammelt und dann gebündelt gedruckt werden. Einzelne Aufträge lassen sich löschen, sofort drucken oder auf einen anderen Drucker legen.

Aufruf aus Sage 100

In Sage 100 lässt sich der Link z. B. über ein Makro, einen Button im AppDesigner oder eine benutzerdefinierte Funktion öffnen. Entscheidend ist nur, die BelID des aktuellen Belegs in die URL zu übernehmen:

' VBA-Beispiel (AppDesigner-Button am EK-Beleg)
Dim url As String
url = "https://appontes.de/etiketten-app/?projekt=k7m2p9&p_BelId=" & CStr(BelID)
' Oder fuer die installierte Desktop-App:
' url = "etiketten://oeffnen?projekt=k7m2p9&p_BelId=" & CStr(BelID)
CreateObject("WScript.Shell").Run url

Der https-Link öffnet den Standardbrowser, der etiketten://-Link die installierte Desktop-App (auch wenn sie bereits läuft).

Verhalten im Detail

  • Werden Parameter per p_… übergeben, lädt die App ohne Rückfrage. Das Parameter-Fenster erscheint nur, wenn eine Abfrage Parameter erwartet, aber keine in der URL stehen; es ist dann mit den zuletzt verwendeten Werten vorbelegt.
  • Übergebene Parameter werden je Abfrage gemerkt und beim nächsten manuellen Laden als Vorbelegung angeboten.
  • Das Projekt muss auf dem Gerät gespeichert sein, das den Link öffnet. Projekte liegen im Browser-Speicher und lassen sich über "Als Datei sichern" und "Aus Datei laden" auf andere Arbeitsplätze übertragen; die Projekt-ID bleibt dabei erhalten, derselbe Link funktioniert also auf allen Arbeitsplätzen.
  • Das Connector-Token wird entweder einmalig in der App gemerkt ("Token auf diesem Gerät merken") oder bei jedem Aufruf per token=… mitgegeben.
  • Ist das aktuelle Projekt geladen, speichert die App Änderungen automatisch unter dem Projektnamen; eine per URL übergebene BelId wird dabei als zuletzt verwendeter Parameter im Projekt vermerkt.

Voraussetzung: Der Sage-Abruf nutzt den Appontes-Connector auf dem Sage-Server. Das Token bestimmt, welche Abfragen freigegeben sind. Bei Fragen zur Einrichtung einfach melden.