Button
Hallo, ich suche nach einer Möglichkeit, einen "Button" in die Belegmaske (Kundenauftrag) einzusetzen. Gerne im Bereich "Hinzufügen/Abbrechen".
Hat hier jemand vielleicht ein Beispiel für mich, wie man das lösen kann?
Danke + Gruß
-
Hi Sven,
schau mal hier:
Da kannst du einen Button hinzufügen. Es sollten auch Beispiele da sein. Wenn nicht kannst du sie über den Import nachinstallieren
Gruß Lothar
0 -
Moin Lothar,
danke für die Info. Die "Buttons" tauchen dann aber unter dem Button "Funktionen" gruppiert auf. Das klappt auch.
Allerdings hätte ich gerne einen Button, eigenständig, rechts neben "Funktionen".
Und dazu habe ich leider noch kein Beispiel gefunden.
Gruß
Sven0 -
Hi Sven,
wenn du das möchtest musst du den Optimizer nehmen.
Du musst erst die Form ermitteln, einen Button erstellen und diesen dann positionieren.
Für die Position kannst du einen festen Wert nehmen oder ein Feld als Referenz
// Füge einen OK-Button der Form hinzu
SwissAddonFramework.UI.Components.Button buttonOK = SwissAddonFramework.UI.Components.Button.CreateNew("1");
buttonOK.Value = "OK";
form.DefButton = "1";
form.AddItem(buttonOK);// OK-Button - POSITION
buttonOK.SetPosition(10, grid.Top + grid.Height + 5);Im Anschluss dann die Funktion des Button bestimmen.
zum Beipiel:
https://helpdesk.coresystems.ch/hc/en-us/articles/201972421-DOC-Search-Item-in-document-rowsgruß Lothar
0 -
Hi, sorry, da kann ich nicht ganz folgen.
Du musst erst die Form ermitteln, einen Button erstellen und diesen dann positionieren.
Form wäre 139 (Auftrag), aber wo und wie muss ich das angeben?
Und wie erstelle ich dann einen Button?
0 -
Hi Sven,
das sollte gehen.
string ruleName = pVal.RuleInfo.RuleName.ToString();string errorMessage = "Error in Optimizer Rule '" + ruleName + "'";string buttonUID = "BUID";string buttonLable = "Klick mich";try{// HinzufügenButton button = Button.CreateNew(buttonUID);button.SetSizeAndPosition(Button.GetFromUID(pVal.Form, "2"));button.Width = 80;button.Value = buttonLable;button.Left += 80;pVal.Form.AddItem(button);pVal.Form.Update();//Funktion des Buttonbutton.AddHandler_ItemPressed(SwissAddonFramework.UI.Components.ModeComponent.FormModes.ALL,null,delegate (SwissAddonFramework.UI.EventHandling.ItemEvents.ItemPressed eventVal){MessageBox.Show("Hat geklappt", "OK");});}catch(System.Exception ex){Debug.WriteMessage(errorMessage + ": " + ex.Message, Debug.DebugLevel.Exception);}return true;Gruß Lothar
0 -
Mega! Ich danke dir!
Funktioniert nun genau so, wie ich mir das vorgestellt habe :-)Vielleicht noch eine Nebenfrage dbzgl.; kann man eine Optimizer Regel per Tastenkürzel starten? Also zB F4, oder jeglicher anderer Tastenkombi?
Schönen Tag noch
0 -
Moin Sven,
die F-Tasten sind SAP vorbehalten (öffnen von Fenstern). Ein Tastenkombination oder so habe ich noch nicht gemacht. Das müsste irgendwie mit keypressed gehen als before event.
So wie hier:
https://helpdesk.coresystems.ch/hc/en-us/community/posts/360034984153-Text-event-on-main-formDas Forum ist sehr kostbar. Viele Fragen die so mit der Zeit kommen, sind schon gestellt worden. Man muss nur manchmal ein paar Frösche küssen um die "Prinzessin" zu finden
gruß Lothar
0 -
Moin,
ich war vorher schon auf der Suche nach der Prinzessin, habe aber nichts passendes gefunden - daher meine Nachfrage hier :-).
Dein Link klang vielversprechend - ich habe den Beispielcode genommen und in einen neue Regel gepackt, mit dem Evten Typ "Start Up".
Allerdings erhalte ich, sobald ich diese Regel aktiviere, im Editor die Fehlermeldungen (auch in anderen Regelen ab dann):
- Der Zugriff auf "Cor_Utility.Global" ist aufgrund der Sicherheitsebene nicht möglich (CS0122)
- Der Typnae "ItemEventHandler" ist im Typ "COR_Utility.Global" nicht vorhanden, (CS0426)
Vielleicht interessiert dich die Prizessin ja auch, dann freue ich mich auf weiteren austausch der Frösche.
Bis dann
Sven0
Please sign in to leave a comment.
Comments
8 comments