Kundensuche (Kontokorrent) durch eigene Suche ersetzen

LFranz

Mitglied
Hallo zusammen,

wir setzen derzeit die Sage 100 8.1.1.6 ein und möchten gerne die Suche für Kontokorrenten (Kundensuche in der VK Belegerfassung, ...) in der gesamten Sage 100 (Wawi und Rewe) durch eine eigene Suche ersetzen.

Wie ist dies möglich?

Unser erster Gedanke war, die Datenklasse "clsKundensucheNeuanlage" zu ersetzen. Dies scheint jedoch nicht zu funkionieren, da ein anhängen an eine Datenklasse der Partnerkennung nur ermöglicht, die SQL-Where-Bedigung zu ändern.

Vielen Dank!
 
Zuletzt bearbeitet:
Datenklassen können Sie nicht ersetzen. Letztendlich erwartet ja auch die Applikation eine gültige Kontonummer aus KHKKontokorrent.
 
Natürlich würde unsere Suche ebenfalls eine gültige Kontonummer aus KHKKontokorrent liefern. Andernfalls funktioniert, wie Sie ja bereits sagten, die Applikation nicht mehr korrekt.

Es geht uns lediglich darum, die Art der Suche auszuwechseln.
Wir setzen in der Office Line 2016 eine Art "google" Suche (ein Feld was definierte Spalten durchsucht) für diesen Fall ein. Bisher haben wir in einem Access AddIn die Common Method „gnFrmOpenDialog“ verwendet, um dort die aufgerufene Form zu prüfen und bei Übereinstimmung im Bag „NotCallOriginalForm“ auf True zu setzen sowie unsere eigene Form aufzurufen.

Das würden wir nun gerne mit AppDesigner Technologie umsetzen. Dabei war das Ersetzen der Datenklasse lediglich eine initiale Idee, bei der wir schnell gemerkt haben, dass wir dort nicht weiterkommen.

Gibt es derzeit irgendeine, Updatefähige, Möglichkeit, um eine eigene Kontokorrentsuche mit dem AppDesigner abzubilden?
 
Es gibt ja bei der Klassensuche zwei "Bereiche" in denen gesucht, bzw. genauer ausgewählt werden kann. Das ist zum einen die Suchliste, die bei Eingabe unter dem Feld angezeigt wird. Hier kann man sich via Datenklasse anhängen und eigene Lokatoren definieren. Eine automatische Suche (also ohne Lokatoreingabe) geht aber nur für Stringfelder.
Der zweite Bereich ist die Suchliste. Da haben Sie diese Möglichkeiten:
  • Anhängen an Datenquelle und List-Element
  • Ersetzen vom List-Element
Ich vermute allerdings, dass Sie komplett selber suchen wollen, also eben auch schon bei der Eingabe und damit was in der Auswahlliste angezeigt werden soll. Das ist aktuell nicht möglich.
 
Vielen Dank für die Antwort. Wir haben nun versucht das Listen-Element zu ersetzen, bleiben dabei jedoch bei folgendem Punkt hängen:
Initial sollen keine Datensätze angezeigt werden, sondern erst, wenn der Benutzer etwas im Selektions-Element eingegeben hat und auf eine Schaltfläche des hinterlegten Kontextmenüs klickt. Leider sind Schaltlfächen von Kontextmenüs scheinbar standardmäßig deaktiviert, wenn kein Datensätz in der Liste ausgewählt ist.
Gibt es eine Möglichkeit, diese trotzdessen zu aktivieren?

Zusätzlich dazu, erlaubt ein Eingabefeld, mit dem Datentypen String, mehrzeilige Eingabe. Bei dem Betätigen von "Enter" wird der Text in dem Feld umgebrochen, anstatt die Selektion zu bestätigen. Kann das deaktiviert werden?

Danke im Voraus!
 
Das deaktivieren/aktivieren von Einträgen hängt davon ab, ob Sie Platzhalter verwenden, die wiederum auf Daten der Liste zugreifen. Oder wenn Sie Funktionsaufrufe hinterlegen, die eine solche Prüfung nicht mehr erlauben (z.B. MakroStarten).
Zum zweiten Punkt: ich habe es in der Version, die in Kürze kommt getestet. Da ist es so, dass bei Return das Feld verlassen und mit Strg+Return im Feld umgebrochen wird.
 
Das werde ich dann einmal testen wenn die neue Version erscheint. Wäre auf jeden Fall klasse!

Wir haben es nun wie folgt gelöst:
Erstzen der lstKundensuche.Sage.System und lstLieferantensuche.Sage.System durch eigene Listen mit Selektions-Dialog. Beide Listen greifen auf einen Geschäftsprozess zu, der die Datenermittlung durchführt. Der Geschäftsprozess erhält vom Selektionsdialog die Parameter für die Suche und selektiert die gewünschten Daten. Solange das Suchfeld leer ist, liefert der Geschäftsprozess eine leere Liste zurück. Die Suche kann vom Benutzer über eine, im Textfeld hinterlegte, Funktion gestartet werden. Die Funktion (MakroStarten.Sage.System --> ListeAktualisieren) ist im Kontextmenü des Selektionsdialogs definiert.

Das ist zwar nicht ideal, funktioniert aber zumindest. Schöner wäre es natürlich, die Möglichkeit zu haben, direkt per "Enter" Taste oder über eine Schalftläche die Suche zu starten. Leider funktioniert es auch nicht, bei der Funktion im Kontextmenü eine Tastenkombination zu hinterlegen. Die Funktion wird (in diesem Fall) darüber nie aufgerufen. Nur ein manuelles klicken auf die Funktionsschaltfläche im Textfeld für die Suche führt zu dem gewünschten Ergebnis.

Komischerweise erhalte wir im Geschäftsprozess bei dem Objekt SortInfo nur das zuletzt ausgewählte Feld für die Sortierung, auch wenn der Benutzer mehrere Spalten für die Sortierung ausgewählt hat (Rechtsklick auf mehrere Spalten -> Auf-/Absteigend sortieren). Ist das so gewollt, oder gibt es eine andere Möglichkei (ähnlich wie beim AdHocFilter über RowStructure) auf alle Spalten und deren jeweilige Sortierung zuzugreifen?
 
Danke. Das Thema wurde ggf. schon gelöst. Ich habe gestern gestern auf die 8.1.2.1 geupdated und dies gerade noch einmal geprüft. Mit dem ServicePack scheint eine Mehrfachsortierung an der Stelle nicht mehr möglich zu sein. Die Kontextmenüeinträge für Auf-/Absteigend sortieren sind zumindest bei mir nicht mehr vorhanden.

Leider kann ich Ihre Erkentnisse bzgl. dem Verlassen des Eingabefeldes (als String in der Datenstruktur definiert) per Enter-Tase nicht bestätigen. Sowohl per Enter-Taste als auch mit Strg+Enter wird in dem Feld umgebrochen.
Übersehe ich noch etwas bei den Einstellungen?

Eigenschaften des Eingabefeldes im Selektionsdialog der Liste:
[Bild entfernt]

Eigenschaften der Definition in der hinterlegten Datenstruktur:
[Bild entfernt]
 
Zuletzt bearbeitet:
In den Metadaten können Sie nichts einstellen. Berücksichtigt wird die Einstellung in Access (Datei/Optionen/Clienteinstellungen/Cursor mit Eingabetaste bewegen).
 
Die Einstellung war bei mir bereits auf "Cursor mit Eingabetaste bewegen". Generell scheint das wechseln zum nächsten Feld mit der Enter-Taste auch zu funktinieren.

Nach ein bisschen rumprobieren, ist mir aufgefallen, dass z. B. im Adressenstamm das Wechseln zum nächsten Feld mit der Enter-Taste möglich ist, das jedoch z. B. bei der Kundensuche nicht funktioniert:

Beispiel 1 (wechseln mit Enter-Taste funktioniert):
1. Anhängen an lstAdressenstamm.Sage.System
2. lstAdressenstamm um eigenen Selektionsdialog erweitern
Unter "Stammdaten --> Adressen" kann ich jetzt im Selektionsdialog mit der Enter-Taste zum nächsten Feld wechseln.

Beispiel 2 (wechseln mit Enter-Taste funktioniert NICHT):
1. Anhängen an lstKundensuche.Sage.System
2. lstKundensuche um oben erstellten eigenen Selektionsdialog erweitern
Unter "Verkauf --> Verkaufsbelege bearbeiten --> Kunde (Lupe)" öffnet sich die Kundensuche. Im Selektionsdialog kann mit der Enter-Taste NICHT zum nächsten Feld gewechselt werden. Stattdessen wird im Eingabefeld umgebrochen.

Können Sie das bei sich bestätigen?

Edit:
Übrigens funktionieren bei mir die im Kontextmenü hinterlegten Tastenkürzel ebenfalls nur in Beispiel 1. Wobei das wahrscheinlich daran liegt, dass in Beispiel 2 das Kontextmenü anders eingebunden wird? Zumindest tauchen die Einträge dort auch nicht im Burgermenü auf.
 
Zuletzt bearbeitet:
Das kann ich bestätigen. Es handelt sich dann um eine Inplaceselektion (also nicht um den Dialog Selektionselement), die z.B. auch in der Buchungserfassung verwendet wird. Ob es daher ein Fehler ist, oder nicht, kann ich nicht sagen. Sie können/sollten dieses Verhalten aber dem Customer Support melden.
 
Kleines Update:
Ich habe zwischenzeitlich beim Customer Support ein Ticket hierzu erstellt und dazu folgende Antwort erhalten.

Bzgl. des wechselns zum nächsten Fled mit der Enter-Taste:
für das Ansprungverhalten habe ich ein Ticket bei uns angelegt. Das Verhalten ist tatsächlich abweichend, wenn die Inplace-Suche innerhalb eines Daten-Such-Elements verwendet wird.

Bzgl. Kontextmenüeinträgen/Tastenkürzel:
Das Kontextmenü bzw. dessen Einträge in einem Selektionselement können aktuell nur für Feldfunktionen verwendet werden. Es wird nichts mit dem Menü des Liste oder des Daten-Edit-Element gemergt. Das Selektionselement hat ja auch kein eigenes "optisches" Burgermenü.
 
Zurück
Oben