Gelöst Geschäftsprozess-Parameter für Datenreferenz an Datenstrukturfeld

Paul@GEKKO

Mitglied
Hallo Zusammen,

ich möchte gerne einen Auswahldialog für die Auswahl von Headernamen einer eingelesenen Excel-Tabelle, um Bezeichnung, Menge und Einzelpreis einer Bestellung einzulesen.

Ich Habe einen Assistens-Dialog erstellt, in denen man Lieferant und Bezeichnung für Bestellposten eintragen kann. Auf der nächsten Seite sollen die Positionen benannt und gesetzt werden und hier soll auch eine Excel-Tabelle eingelesen werden können, aus denen die Positionen generiert werden!

Dazu öffnet sich ein Popup-Dialog mit den Feldern Bezeichnung, Menge und Einzelpreis. Diese haben eine Datenreferenz zugewiesen, welche ich über einen Geschäftsprozess an dieser Referenz befüllen möchte, das funktioniert auch, aber wie bekomme ich die Ausgelesenen Werte an den Geschäftsprozess übergeben?

Ich würde mich über jeden Hinweis freuen und bedanke mich für eure Unterstützungen!


Danke und MfG Paul@GEKKO
 
Moin,

das sollte dir helfen denke ich, oder mal das Beispiel mit dem Translation Service von Sage anschauen -- da entspricht deine Anforderung genau der im Beispiel umgesetzten Übergabe der Assembly.

Code:
//Auslesen des Schlüsselwertes aus der Parentdatenquelle
var drilldownParentKey1 = base.Drilldown.Keys.ParentKey1.Value.ToString();

//Auslesen des im Vorschaltedialog gesetzen Wertes
var namedParameter = base.CustomParameters.FirstOrDefault(p => p.Name == "parameterName")?.Value ?? string.Empty;

//Auslesen der in den Geschäftsprozess übergebenen Parameter (z.B bei Datenreferenz)
var namedParameter = base.ServiceParameters.TryGetValue("parameterName", out parameterName);
 
Zuletzt bearbeitet:
Moin @R.Ziemer,

sehr gut, daran hatte ich garnichtmehr gedacht, das hilft mir schon sehr!

Jedoch erkenne ich leider nicht, wie ich Variablen übergeben kann. Ich habe am Geschäftsprozess einen Parameter "Test" benannt und diesen auch in der Datenreferenz eingepflegt, dazu wollte ich gerne eine Variable übergeben:
1711106265407.png

Dies klappt allerdings nicht! Nun habe ich einen Eintrag in BusinessProcessBase.Parameters der Test heißt und der Wert ist "[_Testvariable]" als String...
BusinessProcessBase.ServiceParameters ist null und BusinessProcessBase.CustomParameters hat keine Einträge!

Ich möchte per AppLibraryCall im Dialog davor einen String bilden, dann den PopUp-Dialog öffnen, der dann einfach per Split(';') als verschiedene Einträge in die Datenreferenz pumpen!

Da haperts bei mir... ist das überhaupt möglich oder muss ich mir statischen Variablen im Code basteln, um an meine Werte zu kommen?


Vielen Dank und MfG Paul@GEKKO
 
Guten Morgen @R.Ziemer,

vielen Dank, dies war der richtige Anstoß und mein größter Stolperstein war diese Eigenschaft am Datenstrukturfeld:
1711361048061.png

1. "Headeruebergabe" am Geschäftsprozess deklarieren
2. "Headeruebergabe" in der zugehörigen Datenreferenz bekannt machen
3. Am Datenstrukturfeld mit der Datenrefenz die Eigenschaft "Datenreferenz-Parameter" nochmals für "Headeruebergabe" bemühen um hier den tatsächlichen Wert zu übergeben zu können.


Nun funktioniert dies, wie gewünscht:
- Ich übergebe aus dem Dialog davor eine mit Semikolon getrennte Liste als String, die im AppCall kurz vor Aufruf ermittelt wurden
- Diese landen in einem versteckten Feld der Datenstruktur
- Dieser Inhalt wird dem Geschäftsprozess dann übergeben
- Die Werte werden hier gesplittet und als einzelne Einträge dem RowSet hinzugefügt
- Nun ist es möglich, eine Auswahl der auszulesenden Spalten einer XLSX oder CSV auszuwählen
- Wird der Dialog nicht abgebrochen wird im vorherigen ein AppCall zum Auslesen der Inhalte gestartet und dem MDE "Positionen" hinzugefügt

Vielen Dank für die Unterstützung und MfG Paul@GEKKO :)
 
Zurück
Oben