8. Januar 2009 09:38
Hallo allerseits,
Kann ich über ein Exist-Flowfield anzeigen lassen ob Links zur einen Beleg vorhanden sind oder nicht?
Mein problem ist, das in der Tabelle Record Link die Verknüpfung zum Beleg über Record ID geschieht. Wie kann ich diese Verknüpfung im TableFilter des FlowField unterbringen?
Gruß
Dai
Zuletzt geändert von dai am 8. Januar 2009 10:21, insgesamt 2-mal geändert.
8. Januar 2009 09:50
Ich denke nein. Aber wenn du das beispielsweise auf der Artikelkarte anzeigen lassen willst, könntest du das im onaftergetrecord berechnen.
8. Januar 2009 09:54
dai hat geschrieben:Mein problem ist, das in der Tabelle Record Link die Verknüpfung zum Beleg über Record ID geschieht. Wie kann ich diese Verknüpfung im TableFilter des FlowField unterbringen?
Gar nicht, aber du kannst den das Ergebnis mittels HASLINKS abfragen.
Je nach Anforderung kannst du das Ergebnis in ein dafür vorgesehenes Normal-Field speichern oder temporär auf einer Form anzeigen (kein Tabellenfeld hierzu notwendig, nur eine Checkbox mit SourceExpr=HASLINKS).
8. Januar 2009 09:58
Und wieder was gelernt :)
8. Januar 2009 10:08
Hallo Natalie
ich hab zuerst mit Berechnung probiert. Klappt gut.
Deine Lösung klappt auch gut. Ist aber viel kürzer. ^^
Ich habe bei beiden Lösung trotzdem eine kleine Schönheitsproblem.
Bei schliessen des Linkfenster wird meine tempöre Feld auf der Form nicht automatisch aktualisert.
Kann man das irgendwie lösen?
8. Januar 2009 10:14
dai hat geschrieben:Bei schliessen des Linkfenster wird meine tempöre Feld auf der Form nicht automatisch aktualisert.
Kann man das irgendwie lösen?
Deine Form, die HASLINKS anzeigt, merk ja nichts davon, ob du nebenher das Linkfenster öffnest und etwas änderst. Es gibt also keinen direkten Trigger, den du ansprechen könntest, um die Berechnung erneut durchzuführen.
ABER
Wenn du die Berechnung von HASLINKS in eine globale Funktion auslagerst, die wiederum eine globale Variable füllt (DeineVar := HASLINKS), dann ruf diese Funktion mal aus dem Form-Trigger OnActiveForm aus.
Funktioniert das vielleicht?
8. Januar 2009 10:21
Nein klappt leider nicht.
Nun ja. Ist auch nicht so schlimm. Der Anwender muss dies halt nur wissen. ^^
8. Januar 2009 10:54
Man könnte noch - ganz bekloppt - das ganze timergesteuert aktualisieren
8. Januar 2009 12:06
wie kann man die Form timergesteuert aktualisieren? Und hat das irgendwie performance wirkungen?
8. Januar 2009 12:31
In der Form hast du den Trigger OnTimer, in den Properties den Eintrag TimerInterval. Das kannst du 1000tel Sekunden angeben. Nimmt man dort 500, wird jede halbe Sekunde der Code im OnTimer ausgeführt. Bei dir halt zB: Links:=HasLinks. Das hieße aber auch, dass jede irgendwo geöffnete Artikelkarte andauernd schaut, ob Links da sind.
8. Januar 2009 12:46
McClane hat geschrieben:Das hieße aber auch, dass jede irgendwo geöffnete Artikelkarte andauernd schaut, ob Links da sind.
Wird das performance sehr belastet? Oder soll man das lieber lassen?
8. Januar 2009 12:52
Das hängt ja von jeder Menge anderer Faktoren ab (wieviel User, welche Netzwerktechnik). Besonders viel Performance sollte dieses Beispiel nicht kosten. Da es aber genug andere Felder auf der Artikelkarte gibt, die sich nicht augenblicklich aktualisieren, würde ich´s lassen, denn sonst wird ganz schnell gewünscht, dass sich alle Felder ständig aktualisieren. Und dann wird die Performancefrage schon interressanter ;)
Da sollen sich die Anwender lieber daran gewöhnen, dass man einen Datensatz vor und zurück springt, wenn man unbedingt will.
14. Juli 2020 17:38
Sorry, dass ich diesen alten Thread noch mal aufgreife.
Ich habe nun in der Page 9305 Sales Order List ein Feld eingefügt, welches mir mittels SourceExpr=HASLINKS anzeigt, ob Notizen vorhanden sind oder nicht.
Leider kann ich auf dieses Feld jedoch nicht filtern. Wie wäre das zu lösen?
Vielen Dank schon mal für eure Hilfe.
15. Juli 2020 06:51
Mopemaster hat geschrieben:S... welches mir mittels SourceExpr=HASLINKS anzeigt, ob Notizen vorhanden sind oder nicht.
Leider kann ich auf dieses Feld jedoch nicht filtern. Wie wäre das zu lösen?
Das Feld ist nur für die Anzeige berechnet. Dadurch ist es nicht filterbar.
Du könntest, wie bereits beschrieben, ein Feld in der Tabelle erstellen, welches du zu einem bestimmten Zeitpunkt berechnest.
15. Juli 2020 08:17
Vielen Dank für die schnelle Antwort.
Dies habe ich inzwischen auch schon probiert.
In der Tabelle 36 habe ich das Feld GotNotes angelegt.
In der Page habe ich dann nach dem OnAfterGetRecord() Trigger das Feld wie folgt befüllt:
VALIDATE(GotNotes,HASLINKS);
In der Anzeige wird dieses Feld nun auch mit dem richtigen Wert befüllt und die Möglichkeit zu filtern ist da.
Wenn ich allerdings den Filter anwende, werden keine Ergebnisse angezeigt, obwohl 2 Datensätze kommen müssten.
Wann berechne ich das Feld denn am besten, damit bei der Anzeige der gefilterten Datensätze auch der richtige Wert in der Tabelle steht?
15. Juli 2020 12:40
Du musst noch ein MODIFY machen.
Einen geeigneten Trigger zu finden, ohne das der Benutzer einen Knopf drücken muss, ist das Schwierigste.
Am Besten erstellst du einen Knopf mit der Funktion. Der kann dann geklickt werden und fertig.
15. Juli 2020 13:21
Vielen Dank, manchmal sieht man den Wald vor lauter Bäumen nicht. ;)
Ja, das mit dem Trigger sehe ich auch als Problem. Wahrscheinlich werden wir deshalb auch erstmal darauf verzichten
und die User sollen auf die FactBox an der Seite achten.
Oder ich baue einen extra Filter für die Page und lege diesen auf einen Button.
15. Juli 2020 15:59
Mopemaster hat geschrieben:...Oder ich baue einen extra Filter für die Page und lege diesen auf einen Button.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.