Direkte Prüfung von GP-Ansprechpartner Daten
Corinna Hochheim
Hallo,beim Anlegen eines Geschäftspartners muss ich sicherstellen, dass beim Ansprechpartner bestimmte Felder gefüllt wurden. Außerdem muss ich in zwei internen Feldern zusätzliche Informationen hinzufügen.
Meine Regeln funktionieren, solange es nur einen Ansprechpartner gibt. Bei mehreren Ansprechpartnern werden die Regeln leider immer nur auf den zuletzt angelegten Ansprechpartner ausgeführt. Da hilft auch eine loop über die Matrix 107 nicht, denn irgendwie hat jeder Ansprechpartner die Row 0!
Mein Wunsch wäre eigentlich auch, die Ansprechpartner-Daten schon genau dann zu prüfen und zu ergänzen, wenn der Benutzer versucht, den aktuellen Ansprechpartner zu verlassen. Aber ich habe leider nicht herausgefunden, welches Ereignis und welche Auslöser-ID ich wählen muss, um genau dies zu erreichen. Bei LostFocus auf ID 107 wird die Regel leider bei Verlassen jedes einzelnen Feldes der Matrix schon ausgeführt und nicht erst, wenn ich den kompletten Ansprechpartner verlasse. Hat jemand eine Idee, welches Ereignis und welche Auslöser-Informationen ich stattdessen verwenden muss???
Andreas Scherer
Hallo CorinnaLeider habe ich diese Anforderung auch noch nie gelöst.
Eine spontane Idee ist, wenn du das Item 112 (Auswahl des Ansprechpartners) verwenden würdest.
Wenn du möchtest können wir im Support dich bei dieser Problematik unterstützen.
Grüsse
Andy
Manuel Marhold
Hi Corinna,schau mal nach, ob die DBDataSources von dem Fenster bei "OCPR" ( = Ansprechpartner) die gewünschten Daten enthalten. Es kann sein, das dort nur die, des aktuell ausgewählten stehen, aber ein Versuch ist es Wert ;)
Corinna Hochheim
Hallo,danke für eure Antworten.
@Andy: Leider habe ich aber noch kein Ereignis gefunden, das sich auf die Matrix 112 anwenden lässt. Dieses UI-Element scheint irgendwie nicht wie eine normale Matrix auf Ereignisse zu reagieren.
@Manuel: In der DB-Tabelle OCPR können die Einträge doch noch gar nicht stehen, wenn ich den GP noch nicht gespeichert habe, oder?!
Meine aktuelle Idee wäre nun, vor Hinzufügen eines GPs über die Matrix 112 zu loopen und auf jeden Eintrag einen Click zu simulieren, um dann jeweils die Ansprechpartnerdaten zu prüfen und zu ergänzen. Ob das wirklich funktioniert, weiß ich aber noch nicht.
Eigentlich wäre es mir aber nach wie vor lieber, die Daten jedes Ansprechpartners schon direkt zu prüfen, bevor der Benutzer überhaupt zum nächsten Ansprechpartner oder zu den Adressdaten springt. Hat nicht doch noch irgendjemand eine Idee????
Manuel Marhold
Hi Corinna,das System muss die Daten, die du eingobst, ja in irgendwo zwischenspeichern, bevor der Datensatz dann hinzugefügt wird. Dafür sind die DBDataSources.
Sonst bleibt dir eig nur ein loop, oder:
ABfangen den Click-Events (evtl geht auch itemPressed) bei
- Item UID 1 (Hinzufügen, Aktualisieren)
- die Matrix mit den Ansprechpartnern
- eine andere Registerkarte
und jeweils eine prüfung auf den aktuellen AP ausführen
Corinna Hochheim
Hallo Manuel,die Idee mit dem Reagieren auf sämtliche Click-Ereignisse ist eigentlich gar nicht so schlecht. Das ist natürlich Aufwand, aber es funktioniert einwandfrei! Selbst bei der Tabelle 112 (Übersicht Ansprechpartner) kann ich wenigstens den Click-Event abfangen.
Das mit den DB-DataSources habe ich aber noch nicht so ganz verstanden. Soll ich einfach eine normale SQL-Abfrage auf die Tabelle OCPR abfeuern oder funktioniert das irgendwie anders?
Grüße
Corinna
Manuel Marhold
Hi Corinna,in dem Form-Objekt gibt es DataSources. Das sind u.a. virtuelle Tabellen, die die Daten enthalen, die dort angezeigt werden.
ich weiss nicht genau, wie das Objektmodell vom coresuite framework an der stelle aussieht, aber ich glaube es gibt Form.DBDataSources.
Im Standard SDK ist es Form.DataSources.DBDataSources.
Dort dann die DBDataSource mit der ID "OPCR" raussuchen, die enthält die Daten über den (nur aktuellen? <- das ist die Frage!) Ansprechpartner
0
Please sign in to leave a comment.
Comments
0 comments