Funktionsaufruf gbAddInRun.Sage.System

Ralf_Burgert

Neues Mitglied
Wir haben einige Funktionsaufrufe im App Designer eingebaut in dem eine Aufgaben Center Abfrage geöffnet wird. Bisher haben wir allerdings den Filter immer mit Integerzahlen verwendet. Nu nsoll jedoch die Kundennummer verwendet werden.

Parameter 1: "LSInfoVerwaltung"
Parameter 2: "gEntry"
Parameter 3: 2
Parameter 4: "MenuSchlüssel:=KITSBAuftragsUeberwachungDirekt;Filter:=KTO=$[KeyField(2)]"

Beim Aufruf bekomme ich im Tracelog nun folgende Fehler:

Log-Level Applikation Handle Komponente Bereich Datum Uhrzeit Meldung Sitzung
Debug 34317327 RealTimeData.Client 21.06.2018 13:50:48:662 gbAddInRun("LSInfoVerwaltung","gEntry",2,"MenuSchlüssel:=KITSBAuftragsUeberwachungDirekt;Filter:=KTO="D9532361""
) 1

Log-Level Applikation Handle Komponente Bereich Datum Uhrzeit Meldung Sitzung
Error 15640925 OfficeLine.RealTimeDataHost 21.06.2018 13:50:48:755 System.Runtime.InteropServices.COMException (0x800A0982): Der von Ihnen eingegebene Ausdruck ist syntaktisch falsch.
bei Microsoft.VisualBasic.CompilerServices.LateBinding.LateGet(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack)
bei Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
bei Sagede.OfficeLine.ControlCenter.Host.LateBindingMethods.CallClientMethod(Object clientLink, String method)
=> CallClientMethod in LateBindingMethods.vb(line 40) 1



Der Fehler liegt wohl an den Anführungszeichen die der App Designer übergibt, bei Zahlen macht er das nicht.
Gibt es eine Möglichkeit diese zu verhindern oder muss der Aufruf anders sein?

gbAddInRun("LSInfoVerwaltung","gEntry",2,"MenuSchlüssel:=KITSBAuftragsUeberwachungDirekt;Filter:=KTO="D9532361""
 
Guten Tag,

das scheint mir eher ein Bug von Sage zu sein. Am besten dem System-Support mit einem Ticket melden und detaillierte Angaben zum Vorgang machen.

An dieser Stelle Anführungszeichen einzufügen ist Humbug und eindeutig der Fehler.

Mit freundlichen Grüßen
 
Es ist eigentlich mehr verwunderlich, dass innerhalb eines Strings überhaupt nach Platzhalter gesucht wird. Die korrekte Syntax ist: "MenuSchlüssel......" & $[KeyField(2)]
 
Habe mittlerweile eine Lösung dafür von Sage erhalten.

In Parameter 4 muss folgendes stehen:
"MenuSchlüssel:=KITSBAuftragsUeberwachungDirekt;Filter:=KTO='" & $[KeyField(2)] & "'"

hier mal mit leerzeichen:
KTO = ' " & $[KeyField(2)] & " ' "
 
Hallo zusammen,

wir bauen ein Feature "Fertigungsaufträge drucken" nach, das intern über

gbAddInRun("OLPpsAddIn","gEntry",4110,"Lookup:=...")

laufen soll (im Unterschied zu gEntry 4700, dem normalen Menüpunkt-Dispatch). Der Aufruf selbst funktioniert fehlerfrei (keine Fehlermeldung, native Druckmaske öffnet sich), aber egal ob wir bei "Lookup:=" einen direkten Wert (z. B. eine BelID) oder einen leeren String übergeben, bleibt die Fertigungsauftragsliste in der Maske leer. Die BelID selbst ist nachweislich gültig und druckbar (über den nativen Weg im Regiezentrum gegengeprüft).

Unsere Vermutung: "Lookup" erwartet keinen direkten Wert, sondern eine Referenz auf einen vorher gesetzten globalen Parameter (etwas wie "[$Parameter:Name]"). Weiß jemand, wie man einen solchen Parameter vor einem gbAddInRun-Aufruf korrekt per VBA/Makro setzt? Ein Versuch mit "goParameter.Add(...)" schlug fehl ("Name nicht gefunden") - ist goStack.oBag der richtige Weg, und wenn ja, mit welcher Syntax?

Danke für jede Hilfe!
 
Zurück
Oben