Dynamische Dialogsprünge

In syslog.ERP ist es möglich, eigene dynamische Dialogsprünge einzurichten, um Prozesse schneller abwickeln zu können. Hierfür gibt es verschiedene Möglichkeiten, die im Folgenden beschrieben werden sollen.

Aufrufarten


Es gibt mehrere Aufrufarten: den Dialogsprung, den Aufruf eines Lua-Skripts oder einer Expos-Funktion.

Sprunginformation aus Dialogfeld

Bei einem Dialogsprung wird von einem Dialog (im Beispiel LB11 Wareneingang) in einen weiteren Dialog (im Beispiel EK40 Einkaufsarchiv) gesprungen. Die in LB11 eingetragenene Einkaufsnummer soll in diesem Beispiel in der Suche in EK40 vorbelegt werden.

Um die Parameter des Diaogsprungs zu bestimmen, springt man vom Dialog DDS10 aus in den Dialog DDS20.

Hier werden die Sprungparameter gewählt und mit "OK" bestätigt.

Wurden die Sprungparameter hinterlegt erscheint im Dialog LB11 ein neuer Menüpunkt:


Nach Eingabe einer Einkaufsnummer kann der Sprung in das Einkaufsarchiv sowie die Suche darin erfolgen.

Sprunginformation aus Dialogliste

Beispiel: Aus der Adressübersicht AD10 soll in das Kundenvorgangsarchiv VE40 gesprungen werden. Dabei soll die in AD10 selektierte Adressnummer in der Suchzeile in VE40 vorbelegt werden um somit nach Vorgängen mit der selektierten Adressnummer zu suchen.

Um die Parameter des Diaogsprungs zu bestimmen, springt man vom Dialog DDS10 aus in den Dialog DDS20.

EXPOS-Maske als Ziel-Dialog

Wird in der Auswahl des Ziel-Dialoges "Standard-EXPOS" selektiert, dann kann über den Aufrufparameter 2 eine Artikel-Nr. übergeben werden, für den der im Artikelstamm zugewiesene Konfigurator geöffnet werden soll.

  • Parameter 1: Prozess-Name (optional)
  • Parameter 2: aufzurufende Artikel-Nr. (optional)
    • Aus der Artikel-Nr. wird auch der dem Artikel zugewiesene Prozess-Name ermittelt. Parameter 1 kann also entfallen.
  • Parameter  3: aufzurufende Werkzeugnummer (optional)
    • Aus der Werkzeugnummer wird auch der gespeicherte Prozess-Name und die Artikel-Nr. ermittelt. Parameter 1 kann also entfallen.

So ist es möglich, aus einem anderen Dialog heraus den Konfigurator eines bestehenden Artikels zu öffnen und Anpassungen vorzunehmen.

Alternativ kann auch eine im Dialog EXV10 gepflegte EXPOS-Variante als Ziel-Dialog ausgewählt werden.
Hier ist es ebenfalls möglich, Aufrufparameter an die EXPOS-Maske zu übergeben. Eine aufzurufende Artikel-Nr. kann allerdings nicht übergeben werden.

Menüeintrag in EXPOS-Maske erzeugen

Die Verwendung der dynamischen Dialogensprünge ist auch aus dem Produkt-Konfigurator EXPOS möglich. Hierbei ist zu beachten das sich ein EXPOS-Dialog nach folgendem Muster zusammensetzt:

<PRODUKTKLASSE>_<MASKENNUMMER>

Die Objektnamen der Merkmale auf der Maske sind über den Shortcut ALT+F1 erreichbar.

Lua-Skript

Um ein Lua-Skript über einen Dialogsprung aufzurufen, muss dessen Speicherort im DDS11 eingetragen und die Aufrufart auf "keine/Lua-Script" gestellt werden.

Als Aufruf-Parameter für das Lua-Skript können im DDS20 sowohl Werte aus Dialog-Feldern als auch Listen verwendet werden.

Beispiel-Skript (Ticket öffnen)

local print = SY_Proto2

local args = { ... }
if #args < 2 then
 	print( "Nicht genügend Parameter übergeben! Soll: 2, Ist: " .. #args )
 	return
end

local auart = args[1]
local aufnr = args[2]

print( "Auftragsart: " .. auart )
print( "Auftrags-Nr.: " .. aufnr )

-- Ticketverknüpfung ermitteln
local tsvktab = SQL_Select(
	"SELECT tsvktab.ticketnr " ..
	"FROM   tsvktab " ..
	"WHERE  tsvktab.finr     = " .. SysLogFinr .. " " ..
	"AND    tsvktab.rufkz    = 3 " ..
	"AND    tsvktab.keyfeld1 = '" .. auart .. "' " ..
	"AND    tsvktab.keyfeld2 = '" .. aufnr .. "' " )
if tsvktab then
	print( "Öffne Ticket " .. tsvktab.ticketnr .. " ... " )

	DLG_OpenDialog( "ts11", 1, tsvktab.ticketnr )
else
	print( "Kein Ticket zu Auftrag '" .. auart ..  "'/" .. aufnr .. " gefunden." )
end