Menüeintrag erzeugen

mandymue

Mitglied
Ich habe in der bisherigen OL einen Menüeintrag im Verkausbeleg über den eine Sendungsverfolgung aufgerufen werden kann.
upload_2019-6-18_11-59-37.png

Wie bekomme ich die in den App-Designer gebastelt?
Bisherige Scriptanweisung:

Dim sQry 'As String
Dim sNummer 'As String
Dim oDataReader 'As clsDataReader
sQry = "SELECT USER_HTKVersandPaketnummern FROM KHKVkBelege Where KHKVkBelege.BelID = [$Bag:Beleg:lBelID]"
Set oDataReader = goInfo.Datenverbindung.oOpenDataReader(CStr(sQry))

If oDataReader.Read then
sNummer = oDataReader.GetString("USER_HTKVersandPaketnummern")
MsgBox "Öffne Sendungsverfolgung zu Paketnummer " & snummer
goAccess.Run "gbShellOpen", "https://nolb.dhl.de/nolb-easylog/directsst.do?v_benutzer=ZT29997&v_passwort=nord10&v_ic=" & sNummer & "&v_spr=deu"
End If
oDataReader.Close
 
Was ich bereits getan habe.
Kontext Menü angelegt und an Sage.Wawi angehangen
- Funktionsaufruf erstellt

Menü wird aber nicht angezeigt
 
Wenn der Menüeintrag nicht angezeigt wird, dann haben Sie Position=0 oder im Lizenzbereich die Verwendung vergessen. Falls Sie tatsächlich die Messagebox brauchen, dann wäre der Funktionsaufruf "Lokalen .NET-DLL-Applikations-Service aufrufen" aktuell richtig, wenn es ohne Messagebox geht (bedenken Sie, dass Sie auch ein Hinweis in die Hinweisliste eintragen können), dann wäre der Makrobefehl "AufrufenDll" das richtige. Gehen würde auch "Aufruf der Execute-Methode des Data-Service", wäre hier aber unnötig, da Sie nur die BelDI und nicht das Belegobjekt benötigen.

Schauen Sie auch bitte in der Hilfe unter "Funktionsaufrufe in Kontextmenüs" nach.
 
Wenn Sie einen VBA-Aufruf machen, dann müssen die Parameter stimmen. sprich in Ihrem Fall müssen Sie einen String als Parameter 1 übergeben. Wenn Sie den Wert in "" setzen, sollte der Aufruf funktionieren.
 
Verwenden Sie als Funktionsaufruf des Kontextmenüeintrags "MakroStarten.Sage.System".
Meine Makros sind nur ein Beispiel, Sie können aber auf Felder der Datenstruktur [KHKVKBelege_USER_HTKVersandPaketnummer] zugreifen. Die benutzerdefinierten Felder sind ja im Standard vorhanden.

Mein Beispiel:
upload_2019-7-1_16-13-15.png
 
Aha okay langsam verstehe ich das System.
Wenn ich statt [KHKVKBelege_USER_HTKVersandPaketnummer]
die [Belegnummer] nehme funktioniert alles.
Allerdings wird mit die Paketnummer beim Parameter unter Feldelemente nicht angeboten
 
Der AppDesigner kennt die benutzerdefinierten Felder nicht, daher stehen sie auch nicht in der Feldauswahl. Trotzdem können Sie diese Felder verwenden. Der Zugriff erfolgt über <tabellenname>_<USER_feldname>.
 
Super funktioniert jetzt alles.
Eine Frage habe ich noch ich rufe über Meldungsfeld eine Meldung auf "Sendungsverfolgung wird geöffnet"
Kann ich in diese Meldung den Parameter [KHKVKBelege_USER_HTKVersandPaketnummer] einfügen

Also in der Art "Sendung zu [KHKVKBelege_USER_HTKVersandPaketnummer] wird geöffnet"?
 
In dem Text können Platzhalter analog .Net verwendet werden: {0}, {1}…{n}. Im Parameter 2 geben Sie die daten zur Ersetzung an: ersetze0; ersetze1; … ; ersetzeN.

Hinweis: wenn in der Hilfe von Ausdrücken gesprochen wird, dann ist auch [feldname] ein Ausdruck. Sie können also hier auch Ihr Feld als Ersetzung hinterlegen.
 
Zurück
Oben