Projekt

Allgemein

Profil

Fehler #544

Verknüpfte Belege: Manuelle Auswahl von Dialogbuchung liefert keine Suchtreffer im Popup

Von Jan Büren vor mehr als 1 Jahr hinzugefügt. Vor mehr als 1 Jahr aktualisiert.

Status:
Gelöst
Priorität:
Normal
Zugewiesen an:
-
Zielversion:
-
Beginn:
14.12.2022
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

Beschreibung

Das Problem ist, dass get_all_sorted aufgerufen wird und in diesem Fall ist die Methode überhaupt nicht in GLTransaction als Hilfsfunktion eingebunden.

Die betroffene Codestelle sollte auch etwas defensiver programmiert werden, da ja überhaupt nicht klar ist, dass der Aufruf erfolgreich durchgeführt werden kann:

$objects = $manager->get_all_sorted(where => \@where, with_objects => \@with_objects, sort_by => 'itime', sort_dir => 'ASC');

Ein eval oder try/catch wäre da gut, bzw. ich hab jetzt wie folgt erweitert und damit wird dann die gewöhnlichere get_all Methode verwendet, falls $manager die get_all_sorted nicht besitzt:

In SL/Controller/RecordLinks.pm ca. Zeile 170:

# show the newest records first (should be better for 80% of the cases TODO sortable click
my $objects;
if ($manager->can('get_all_sorted')) {
$objects = $manager->get_all_sorted(where => \@where, with_objects => \@with_objects, sort_by => 'itime', sort_dir => 'ASC');
} else {
$objects = $manager->get_all(where => \@where);
}

2. Ziel:
Das Popup hat ja erstmal ein paar generelle Suchfilter, wie Kunde oder Lieferant, dass war im Anfang der Entstehung auch logisch sinnvoll, da ja nur Objekte mit einer Kunden- oder Lieferantenbeziehung verknüpft worden sind. Mittlerweile sind aber einige Einträge drin, bei denen eine manuelle Verknüpfung keinen Sinn macht (Mahnungen, Shop-Order) oder bei denen es keine Kunden- oder Lieferantenbeziehung gibt (Dialogbuchen).
Vielleicht lässt sich das Popup etwas flexibler oder intelligenter gestalten.

Zugehörige Revisionen

Revision 30f495fc (diff)
Von Bernd Bleßmann vor mehr als 1 Jahr hinzugefügt

Verknüpfte Belege: Controller: get_all statt get_all_sorted

Da sort_by und sort_dir angegeben sind, kann einfach $manager->get_all
verwendet werden.
Ansonsten bekam der Anwender keine Links geliefert, wenn der Manager
kein _sorted kennt.

Refs #544 (redmine)

Revision 18d543d0 (diff)
Von Bernd Bleßmann vor mehr als 1 Jahr hinzugefügt

Verknüpfte Belege: Verknüpfungen hinzufügen: Kein Kunde/Lieferant/Projekt/Beschreibung …

… als Filter anbieten, wenn nicht verfügbar im zu verknüpfenden Beleg.
Betrifft Mahnungen und Shop-Aufträge.

Refs #544 (redmine)

Historie

#1

Von Bernd Bleßmann vor mehr als 1 Jahr aktualisiert

  • Status wurde von Neu zu Gelöst geändert

Auch abrufbar als: Atom PDF