Welcher Event?
Rafael Stalder
Hallo Zusammen,bei einem Kunden soll folgendes umgesetzt werden:
Wenn man im Angebot einen Kunden auswählt, soll nach der Auswahl ein Dialog (MessageBox) erscheinen, in dem das Bemerkungsfeld vom Kundenstamm angedruckt werden soll. Dies natürlich nur wenn auch eine vorhanden ist.
Nun..., der Code ist umgesetzt, nur happert es momentan an der "Auslösung" des Codes, sprich: Ich weiss nicht welchen Event ich nehmen muss.
Validate: Der Event ist im grossen und ganzen ok, doch wenn ich das Angebot schliessen will, erscheint mir die MessageBox ein weiteres Mal...
LostFocus: Auch ok, doch sobald ich die MessageBox mit OK bestätige, geht der Focus manchmal wieder auf den CardCode und ich stehe wieder am Anfang...
Andere Events wie ValueChanged habe ich auch schon versucht, der geht nicht...
Kann mir jemand weiterhelfen?
Gruss Rafael
Fritz Schwendemann
Hallo RafaelMit Event "ChooseFromList", before event, Add-Modus, auf die Items 4 und 54 funktioniert es bei mir, dass die MessageBox nur 1 x erscheint.
Schönen Gruss
Fritz Schwendemann
Rafael Stalder
Hallo,danke für die Antwort.
Ein Problem gibt es da allerdings, und zwar wenn ich den before event eingeschaltet habe, erscheint die MessageBox nicht, da ich ja auf den Wert abteste, welchen ich im Feld CardCode habe, und zu diesem Zeitpunkt ist der Wert dort null...
Wenn ich den before Event ausschalte, erscheint die Meldung korrekt, aber nur wenn ich die Kundennummer eingebe und mit TAB weitergehe, wenn ich sie auswähle aus der Liste, erscheint keine MessageBox.
Könntest Du mir vielleicht den Code heir rein posten, mit welchem es bei dir geklappt hat?
Danke schon im Voraus & Gruss
Rafael
Fritz Schwendemann
Hallo RafaelEs ist etwas mühsam, aber es ist möglich. Habe bei diesen Items selber auch diverse Regeln hinterlegt und zum Testen Free_Text dazugenommen. Hat funktioniert, und zwar direkt mit GP-Numer/-Name oder via Auswahlmaske. Pro Item habe ich 2 Regeln definiert, nämlich before-event und after-event.
Damit die Nachricht nicht 2 x eingeblendet wird, könntest Du eine Variable unter Extended Text definieren (z.B. public byte _comment = 0;). Dann vor MessageBox prüfen, ob _comment = 0 und Free_Text <> "", falls ja MessageBox einblenden und _comment auf 1 setzen.
Variable _comment müsste dann für nächstes Angebot wieder auf 0 zurückgesetzt werden.
Vielleicht hat jemand noch ne bessere oder einfachere Idee. Würde mich auch interessieren.
Schönen Gruss
Fritz Schwendemann
Rafael Stalder
Hallo Frank,danke für den Tipp.
Aber ich habe momentan das Problem, dass nichts geschieht, wenn ich den Geschäftspartner per Liste auswähle, weiss du an was das leigen könnte?
Kannst du mir evtl deinen Code hier rein posten? wäre nett.
Freundliche Grüsse
Rafael Stalder
Fritz Schwendemann
Hallo RafaelIch hab's doch noch hingekriegt und es funktioniert! Es braucht folgenden Eintrag in Extended Code:
public byte _comment = 0;
public string _lastComment = "";
Die 4 dazugehörigen Optimizer-Regeln stell ich am Mittwoch auf unseren Webserver unter http://www.rubag.ch/ge/download.htm, kannst sie dann runterladen und testen. Ein Feedback wäre schön.
Freundliche Grüsse
Fritz Schwendemann
Rafael Stalder
Hallo Fritz,hab das auch mal so übernommen. Leider geht es immer noch nicht, wenn ich den GP aus einer Liste auswähle.
Ich denke es wird am Code liegen den ich in der Expression habe. Super wenn du den uploaden kannst!
Dankeschön und Gruss
Rafael
Rafael Stalder
Hallo Fritz,danke für den Code!
Noch eine Frage, hast du für den Event pVal.CharPressed noch was im Extendend Code machen müssen oder hat der bei dir einfach funktioniert?
Gruss Rafael
Rafael Stalder
Hier noch meine Einstellungen, vielleicht findest du den Fehler:Extendend Code:
using SwissAddonFramework.UI.Dialogs;
using SwissAddonFramework.UI.Components;
Globale Variabeln im EC
public byte _comment = 0;
public string _lastComment = "";
Felder:
Typ - CSCode
Action - Validate
FormType - 149
Item - 4 (oder dann auch 54)
Event - ChooseFromList
Before - True (und false)
Mode - Add
Code - gleich wie dein Code...
Wenn nun den CardCode einfüge und Tab gebe, erscheint die Meldung korrekt, wenn ich jedoch über die Liste den GP auswähle, erscheint nichts...ist doch komisch oder?
Gruss Rafael
Fritz Schwendemann
Hallo RafaelDer KeyDown-Event hat mir sofort funktioniert, weil ich ihn auch an anderer Stelle brauche. Hier meine Einstellungen der Namespaces:
using SwissAddonFramework.UI.EventHandling.ItemEvents;
using SwissAddonFramework.DI.UserTables;
using SwissAddonFramework.DI.SystemTables;
using SwissAddonFramework.UI.Components;
using SwissAddonFramework.UI.Dialogs;
using SwissAddonFramework.UI;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.ComponentModel;
using System.Xml
Bei mir funktioniert es in allen Varianten, habe aber alle anderen Regeln deaktivieren müssen, die ich bei den Items 4 und 54 hatte.
Freundliche Grüsse
Fritz Schwendemann
Fritz Schwendemann
Rafael,wie ich Deinem Posting erst jetzt entnommen habe, hast Du wahrscheinlich noch die Regeln mit ChooseFromList. Lösch diese und nimm nur die 4 von unserer Website: www.rubag.ch/ge/download.htm
Du musst die Datei runterladen, in cocu umbenennen und in Optimizer importieren - falls Du das nicht schon getan hast. 2 Regeln behandeln den GotFocus-Event und 2 den KeyDown-Event. Mehr braucht's nicht.
Rafael Stalder
Hallo Fritz,hehe. ja mit ChooseFromList hätte ich wohl noch lange basteln können :D
Danke für den Tipp.
Ich habe einzig noch das Problem, dass beim Start vom Customizing Tool eine Fehlermeldung erscheint, es scheint wohl ein Problem mit dem ExtendendCode zu geben.... ?
Fritz Schwendemann
Hallo RafaelHast Du bei Extended Code auf CSHARP gestellt?? Ich habe jedenfalls keinerlei Fehlermeldungen. Prüf doch mit "Parse Code (F5)", dann solltest Du eine Meldung bekommen.
Schönen Gruss, Fritz
Rafael Stalder
Beim Code parsen erscheint dieser Fehler:ChooseFromList is an ambigous reference between 'SwissAddonFramework.UI.Dialogs.ChooseFrom List' and 'SwissAddonFramework.UI.EventHandling.ItemEvents.ChooseFromList'
Rafael Stalder
Hallo Fritz,ich habe die restlichen Regeln mal ausgeschaltet, es scheint ein Problem bei einer Regel zu geben, die diese Fehlermeldung verursacht.
Nun sind nur noch die 4 Regeln aktiv, welche ich brauche, wenn ich jetzt erscheint noch folgende Fehlermeldung:
'COR_Utility.Logic.CustomizeEvent' does not contain a definition for 'CharPressed'
Fritz Schwendemann
Dazu kann ich Dir leider nicht helfen. Wie gesagt, bei mir ging's auf Anhieb. Ich verwende folgende Programmversionen:- Coresuite Administration V2.33.0.0
- Coresuite Customize 1.42
Vielleicht kann Dir von Coresystems jemand weiterhelfen.
Rafael Stalder
Habs auf einem anderen Client versucht, es scheint tatsächlich an der Version zu liegen.Müsste dann mal das SWA Updaten.
Ein grosses Dankeschön an Dich für die Tipps und Hilfen!
Gruss
Rafael
0
Please sign in to leave a comment.
Comments
0 comments