[RTC] Factboxen in den Pages aktualisieren (gelöst)

12. Februar 2013 16:32

Hallo zusammen,

Ich habe ein Problem mit der Aktualisierung von Factboxen.
Ich befinde mich zur Zeit im VK-Auftrag.
Sobald dort eine Nummer in den Zeilen ausgewählt wird sollen sich die Factboxen auf Basis des Artikels aktualisieren. Dort stehen dann Informationen wie Lagerbestand etc. drin.

1. Versuch:
Im OnValidate-Trigger der Nummer eine Funktion in der Factbox auf zu rufen.
In der Funktion stand dann:
Code:
CurrPage.UPDATE();     

Dies hat nicht geholfen.

2. Versuch:
Ich habe die Funktion umgeschrieben, sodass sie ein "F5" durchführt.
Code:
IF NOT ISCLEAR(WSHShell) THEN
  CLEAR(WSHShell);
CREATE(WSHShell,TRUE,TRUE);
WSHShell.SendKeys('{F5}');
CLEAR(WSHShell);

Varaiblen:
WSHShell - Automation - 'Windows Script Host Object Model'.WshShell

Dies funktioniert soweit auch. Doch auch hierbei gibt es ein Problem.
Ist es eine neue Zeile, in der davor noch nichts stand, springt der Cursor eine Zeile nach oben. Das behindert natürlich den Anwender bei der Eingabe seiner VK-Zeile.
Hat man diese Zeile zwischen zwei bereits vorhande Zeilen eingefügt, springt der Cursor eine nach unten.
Dies passiert, da zuerst eine Aktualisierung durchgeführt wird und dann erst der "INSERT". Bei der Aktualisierung ist der Datensatz, den man gerade erstellt hat dann natürlich noch nicht da.


Hat jemand eine Idee, wie man die Factboxen aktualisieren kann, ohne dass der Cursor immer in eine andere Zeile verschwindet?
Vor ab schon ein mal vielen Dank für eure Antworten und Hilfe.

MFG
Kai
Zuletzt geändert von Kai R. am 13. Februar 2013 10:19, insgesamt 1-mal geändert.

Re: [RTC] Factboxen in den Pages aktualisieren

12. Februar 2013 16:52

Kai R. hat geschrieben:Sobald dort eine Nummer in den Zeilen ausgewählt wird sollen sich die Factboxen auf Basis des Artikels aktualisieren. Dort stehen dann Informationen wie Lagerbestand etc. drin.


Factbox mit Artikelinformationen ist doch Standard in Aufträgen (in Pages allerdings findest du deren Aufruf in der Header- statt Linepage). Die Aktualisierung erfolgt automatisch über die ProviderID. Eigentlich brauchst du dich um nichts zu kümmern, wenn du (bei Bedarf) die bestehende Factbox erweiterst.

Darum meine Gegenfrage: Was hast du gemacht und warum? :-)

Re: [RTC] Factboxen in den Pages aktualisieren

12. Februar 2013 17:43

Hallo Natalie,

Erst einmal vielen Dank für die rasche Antowrt.

Das Aktualisieren der Factbox passiert zwar automatisch, aber auch erst dann wenn man die Zeile ein mal verlassen hat und sie in das System geschrieben wurde.
Unser Kunde möchte allerdings die ganzen Informationen schon sehen, wenn er die Nummer des Artikels eingegeben hat. Sodass er direkt weiß, was ist auf Lager etc. etc.
Nur wie gesgat passiert die Aktualisierung der Factboxen erst dann, wenn man ein mal die Zeile verlassen hat und eben nicht dann wenn man die Nummer eingetragen hat.

Die neue Factbox habe ich natürlich mit Hilfe der ProviderID mit einander verbunden. Also die Zeile zu der Factbox.

MFG

Re: [RTC] Factboxen in den Pages aktualisieren

12. Februar 2013 19:25

Komisch, bei mir wird die Information angezeigt, sobald die Artikelnummer validiert wird. Vielleicht ist da auch ne Anpassung drin. Aber die Information sollte eigentlich schon gleich angezeigt werden.

Erscheinen Sie nach dem Druck auf "F5"?

Re: [RTC] Factboxen in den Pages aktualisieren

12. Februar 2013 19:49

m_schneider hat geschrieben:Komisch, bei mir wird die Information angezeigt, sobald die Artikelnummer validiert wird. Vielleicht ist da auch ne Anpassung drin.

Ich würde als erstes die Subpage prüfen, im Feld No. - OnValidate. Da sollte eigentlich ein CurrPage.SAVERECORD auftauchen.

Re: [RTC] Factboxen in den Pages aktualisieren

13. Februar 2013 10:19

Guten Morgen.

m_schneider: Ich habe es auch in einer Cronusdatenbank ausprobiert und dort war es auch so, dass es erst nach verlassen der Zeile aktualisiert wurde, also noch nicht beim validate der Nummer. Nach einem Druck auf F5 passiert das gleiche, wie bei dem was ich ausproggramiert habe. Der Cursor verschiebt sich in eine andere Zeile. Somit hat man zwar die Zeile verlassen und es aktualisiert sich, aber für die Eingabe halt sinnfrei.

@ Natalie: In No. - OnValidate stand nicht der Code "CurrPage.SAVERECORD". Habe dies nun eingefügt und siehe da es funktioniert einwandfrei mit der Programmierung der "F5"-Taste. Ich danke dir.

Hier setze ich dann auf gelöst.

Re: [RTC] Factboxen in den Pages aktualisieren

13. Februar 2013 10:45

Natalie hat geschrieben:
m_schneider hat geschrieben:Komisch, bei mir wird die Information angezeigt, sobald die Artikelnummer validiert wird. Vielleicht ist da auch ne Anpassung drin.

Ich würde als erstes die Subpage prüfen, im Feld No. - OnValidate. Da sollte eigentlich ein CurrPage.SAVERECORD auftauchen.

Ich habe zwar nicht nachgeschaut, aber ich erinnere mich, so etwas mal gesehen zu haben.

Re: [RTC] Factboxen in den Pages aktualisieren (gelöst)

13. Februar 2013 10:55

Es steht tatsächlich in einer Funktion, die im OnValidate-Trigger aufgerufen wird.
Code:
IF (Reserve = Reserve::Always) AND
   ("Outstanding Qty. (Base)" <> 0) AND
   ("No." <> xRec."No.")
THEN BEGIN
  CurrPage.SAVERECORD;
  AutoReserve;
  CurrPage.UPDATE(FALSE);
END;

Allerdings wie man sehen kann, nur wenn zuvor schon etwas drin stand in der Nummer. Stand also vorher nichts drin, so wird es nicht gespeichert.