[Gelöst] Eine Page öffnen in OnAfterGetRecord und ...

16. April 2024 07:47

Moin,

der Kunde möchte dass sich beim Öffnen eines Serviceauftrag die Bemerkungen Page öffnet.
Beu Neuanlage wird die Bemerkungen Page zwei mal geöffnet, das soll unterbunden werden.

Das Öffnen der Bemerkungen Page passierte ursprünglich im OnOpenPage Trigger der Service Auftrags Page.
Da die Page auch über WebService aufgerufen wird, und es Probleme mit den WebService und den OnOpenPage Trigger gab, wurde das Öffnen der Page verlagert in den OnAfterGetRecord Trigger.

Beim Validieren der DebitorenNr (OnAfterValidateCustNo) , wird ebenfalls die Bemerkungen Page geöffnet.

Bei vorhanden Aufträgen, kein problem.

Bei der Neuanlage von Aufträgen -> Auftragsnummer wird gezogen, dann DebitorNr eingegegeben und validiert, Bemerkung Page öffnet sich, nach dem Schließen der Bemerkung Page, wird wieder OnAfterGetRecord des ServiceAuftrag durchlaufen, und da der Auftrag jetzt ein Debitor hat, wird die Bemerkungen Page nochmal geöffnet. Unschöner Effekt.

Die Funktion welche die Bemerkungen Page öffnet ist in einer CU ausgelagert.
Die Aufrufe passieren in der Page Serviceauftrag(OnAfterGetRecord) und im OnValidateCustNo Trigger

Meine Idee war: Vor dem Aufruf der Funktion , welche die Bemerkung Page öffnet, eine Variable zu setzen, so dass wenn die Funktion OpenCommentPage aufgerufen wird, dass diese nicht binnen paar Sekunden nochmal aufgerufen werden kann,

SetCanOpen()
starttime := Currentdatetime

Diese dann abfragen
GetCanOpen()
if currentdatetime - starttime < 30 sek. THEN EXIT (False)

so was in der Art. Zwar nicht ganz so schön, und könnte bei Schnellklickern zu nicht anzeigen der Page führen, aber nun gut.

Habt Ihr eine Idee wie das gelöst werden kann?

Vielen Dank
Zuletzt geändert von elTorito am 16. April 2024 10:15, insgesamt 1-mal geändert.

Re: Eine Page öffnen in OnAfterGetRecord und OnAfterValidate

16. April 2024 08:37

Moin!
Du könntest dir in einer Variablen merken, zu welcher Belegnr. du die Bemerkungs-Page zuletzt geöffnet hattest.
Wenn der OnAfterGetRecord nach dem Schließen der Bemerkungen erneut ausgeführt wird, stellst du dann fest, dass die Page für diese Belegnr. bereits einmal geöffnet worden ist.
Wechselt der Anwender jetzt innerhalb dieser Page auf den vorherigen/nächsten Datensatz, passt die aktuelle Belegnr. nicht mehr zu der in der Variable gemerkten und die Bemerkungen werden erneut angezeigt.

Re: Eine Page öffnen in OnAfterGetRecord und OnAfterValidate

16. April 2024 08:38

Hallo Peter,
ich würde in diesem Fall die Bemerkungen eher in einer Factbox anzeigen, statt automatisch eine zusätzliche Page zu öffnen.
Womöglich beachtet ein großer Teil der Anwender*innen die Bemerkungen gar nicht und schließt die automatische Page nach dem Öffnen gleich wieder.

Re: Eine Page öffnen in OnAfterGetRecord und OnAfterValidate

16. April 2024 09:01

Hallo,

@JRenz: Die Anwender lesen solche - meist wichtigen - Bemerkungen erst, wenn jemand mit einem Baseballschläger aus dem Bildschirm kommt und Ihnen erklärt, dass Sie die Bemerkung zu beachten haben. :wink:

Um was für Bemerkungen handelt es sich? Betreffen die eine Eingabe, oder muss die jeder sehen, der sich den Serviceauftrag auch nur anschaut?

Gruß Fiddi

Re: Eine Page öffnen in OnAfterGetRecord und OnAfterValidate

16. April 2024 09:23

JRenz hat geschrieben:...Bemerkungen eher in einer Factbox anzeigen, statt automatisch eine zusätzliche Page zu öffnen.

+1
Zuletzt geändert von m_schneider am 16. April 2024 11:46, insgesamt 1-mal geändert.

Re: Eine Page öffnen in OnAfterGetRecord und OnAfterValidate

16. April 2024 10:14

Moin,

Sind Bemerkungen welche beim Debitor hinterlegt sind ...

Ich habe nun die Prüfung auf BelegNr und Userid gemacht, scheint zu funktionieren, wenn ich mit einen angemeldeten User teste.
Und vorgeschlagen, dass wenn das nicht funktioniert, man die Bemerkungen sowieso besser in einer FactBox unterbringt.

Ich Danke euch.

Re: [Gelöst] Eine Page öffnen in OnAfterGetRecord und ...

16. April 2024 12:36

elTorito hat geschrieben:Das Öffnen der Bemerkungen Page passierte ursprünglich im OnOpenPage Trigger der Service Auftrags Page.
Da die Page auch über WebService aufgerufen wird, und es Probleme mit den WebService und den OnOpenPage Trigger gab, wurde das Öffnen der Page verlagert in den OnAfterGetRecord Trigger.


du hast ja schon eine Lösung, jedoch wäre es doch auch möglich gewesen, die Bemerkungen je nach CLientType öffnen zu lassen -> wenn WebService / API / OData oder so, Bemerkungen nicht öffnen....aber egal -> Factbox ist hier wie gesagt der eigentlich bessere Weg

Re: [Gelöst] Eine Page öffnen in OnAfterGetRecord und ...

16. April 2024 12:46

sweikelt hat geschrieben:Factbox ist hier wie gesagt der eigentlich bessere Weg

Je nach Ignoranz der Anwender und Wichtigkeit der Bemerkungen muss man manchmal die harte Tour fahren, damit die Leute die Informationen in den Bemerkungen zur Kenntnis nehmen.
FactBoxes können sie sich ja auch individuell wieder ausblenden, so dass sie die gar nicht zu Gesicht bekommen.
Eine aufploppende Page können sie nicht unterdrücken.

fiddi hat geschrieben:Die Anwender lesen solche - meist wichtigen - Bemerkungen erst, wenn jemand mit einem Baseballschläger aus dem Bildschirm kommt und Ihnen erklärt, dass Sie die Bemerkung zu beachten haben.


Wenn natürlich bei jedem Auftrag die Bemerkungen aufploppen, dann gewöhnen sich die Anwender daran, dass sie direkt einmal [Esc] drücken müssen und machen das dann direkt, ohne die Bemerkungen gelesen zu haben.
Da müsste man dann die ganz große Keule herausholen und den Anwender bis zum letzten Datensatz in den Bemerkungen scrollen lassen und ein Häkchen auf der Page setzen lassen, mit welchem sie bestätigen, dass sie die Bemerkungen gelesen und verstanden haben, bevor sie die Page wieder schließen können.
(Kennt man unter Umständen so bereits von so manchen AGB-Seiten im www.)

Re: [Gelöst] Eine Page öffnen in OnAfterGetRecord und ...

19. April 2024 07:35

Moin, ...

der Prozess war/ist folgender... bemerkungen Fenster geht auf, Mitarbeiter machen Screenshot, oder verschieben das Fenster auf ein zweiten Monitor, dann werden die Punkte, welche in den Bemerkungen stehen abgearbeitet, der Kunde bekommt auf jedenfall immer den und den artikel, beim kunde muss dass und dass im Auftrag rein...

Ich hab den Vorschlag mit der Factbox gemacht, wird für gut befunden, aber das Bemerkungen Popup beim Aufrufen der Aufträge soll bleiben :roll: