Autor Thema: EIN Feld aktualisieren  (Gelesen 4130 mal)

Offline Marcel - Anfänger

  • Junior Mitglied
  • **
  • Beiträge: 54
  • Geschlecht: Männlich
EIN Feld aktualisieren
« am: 20.09.06 - 08:47:49 »
Hallo Leute,

ich habe ein kleines Problem bezüglich der "Refresh"-Funktion in Lotus. Ich habe ein Dokument, wo mehrere berechnete Felder drin sind. Diese bauen aufeinander auf. Jetzt will ich aber nur eins dieser Felder aktualisieren und zwar das, wo keins mehr drauf zugreift. Gibt es da einen Befehl in Lotus Script? Oder geht es sogar noch einfacher?
Hab leider nichts in der Hilfe gefunden!  ???

Danke für eure Hilfe.
Gruß Marcel
----------------

Skilllevel = Anfänger

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: EIN Feld aktualisieren
« Antwort #1 am: 20.09.06 - 09:00:52 »
Ich weiß ja nicht was das für ein Feld ist und was dort gemacht wird, aber hilft die die Eigenschaft des Feldes 'Felder automatisch aktualisieren' vielleicht?
« Letzte Änderung: 20.09.06 - 09:02:36 von DerAndre »
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Marcel - Anfänger

  • Junior Mitglied
  • **
  • Beiträge: 54
  • Geschlecht: Männlich
Re: EIN Feld aktualisieren
« Antwort #2 am: 20.09.06 - 09:03:18 »
Hallo André,

leider hilft das nicht soviel weiter, da dieses Feld beim öffnen einer View aktualisiert werden soll.
Daher bringt das leider nichts.

Danke für die Idee.

Gruß Marcel
----------------

Skilllevel = Anfänger

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: EIN Feld aktualisieren
« Antwort #3 am: 20.09.06 - 09:24:43 »
Du kannst beim Öffnen einer View keine Felder direkt aktualisieren. Was eventuell möglich wäre, dass du beim Öffnen der Ansicht (im QueryOpen-Event) einen Agenten startest der durch die entsprechenden Dokumente tobt und diese aktualisiert. Das macht meines Erachtens aber keinen Sinn, da sich ja hier keine Feldwerte ändern.

Was soll denn das werden. Ein paar mehr Infos wären nicht schlecht.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Pareidolie

  • Frischling
  • *
  • Beiträge: 18
Re: EIN Feld aktualisieren
« Antwort #4 am: 20.09.06 - 09:47:25 »
Hallo an alle!

Da der Marcel und ich an der gleichen Datenbank arbeiten, kann ich vielleicht ein paar mehr Infos liefern.

Also es gibt eine View, die mehrere Dokumente enthält. Jedes der Dokumente besitzt Felder vom Typ "Computed". Eins davon wird in der View ausgelesen. Das Problem ist nun, dass der Wert des Feldes sich nur dann ändert, wenn man das Dokument editiert und dann speichert. Das heißt also, da sich der Wert nicht von allein ändert, ist es auch schlecht, das ganze in der View auszulesen, weil sich da dann der Wert auch nicht von alleine ändert.

Nun hatten wir überlegt beim Öffnen der View in dem Bereich "Postopen" die Funktion @Command([ToolsRefreshAllDocs]) einzubauen. Das ganze funktioniert auch, die Dokumente werden aktualisiert und der Wert des Feldes ändert sich auch. Nun gibt es in jedem Dokument aber mehrere Felder vom Typ "Computed", die nicht alle aktualisiert werden sollen.

Daher hatten wir überlegt, ob es eine Funktion gibt, die gezielt ein spezielles Feld in einem Dokument aktualisiert.

Hat da vielleicht jemand eine Idee???  :)

Viele Grüße
Nadine

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: EIN Feld aktualisieren
« Antwort #5 am: 20.09.06 - 10:16:05 »
Also es gibt eine View, die mehrere Dokumente enthält. Jedes der Dokumente besitzt Felder vom Typ "Computed". Eins davon wird in der View ausgelesen. Das Problem ist nun, dass der Wert des Feldes sich nur dann ändert, wenn man das Dokument editiert und dann speichert. Das heißt also, da sich der Wert nicht von allein ändert, ist es auch schlecht, das ganze in der View auszulesen, weil sich da dann der Wert auch nicht von alleine ändert.

Entweder stehe ich auf der Leitung oder mein Vorstellungsvermögen ist noch im Urlaub.  ;)  Ich verstehe nur Bahnhof.

Wenn sich das berechnete Feld beim Speichern des Dokumentes ändert, dann reicht das doch. Beim Anzeigen der Dokumente in einer Ansicht ändern sich doch keine Feldwerte. Also braucht doch auch das berechnete Feld nicht aktualisiert zu werden. Oder sehe ich da was falsch?

Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Pareidolie

  • Frischling
  • *
  • Beiträge: 18
Re: EIN Feld aktualisieren
« Antwort #6 am: 20.09.06 - 10:30:03 »
Hallo Axel,

ich versuche es noch ein wenig bildhafter zu erläutern  :)

Also es ist so. In der View, wo die ganzen Dokumente zu sehen sind, soll die Aktualität der Dokumente erkennbar sein. Das heißt, wenn sie aktuell sind soll ein Häkchen erscheinen, wenn nicht dann ein Ausrufezeichen. Nun gibt es dazu in jedem Dokument ein Verfallsdatum, das angibt, wann der Datensatz nicht mehr aktuell ist.

Jetzt ist das Problem, dass ich nicht in der View fragen darf, ob @Today>=Verfallsdatum ist, weil mir das aus performancegründen verboten wurde.

Dann hatten wir uns überlegt in jedem Dokument ein Feld einzuführen, was den Wert true (das heißt es ist verfallen) oder false (Daten sind aktuell) erhält.

In der View sollte dann gefragt werden, welchen Wert dieses Feld hat und dementsprechend ein Häkchen oder Ausrufezeichen gesetzt werden, damit man auf Anhieb sieht, was aktuell ist und was nicht.

Nun ja das Problem ist halt, dass sich der Wert des Feldes nicht von allein ändert, sondern immer nur dann, wenn man das Dokument öffnet, editiert und dann speichert.

Das heißt, wenn in einem Dokument das Verfallsdatum z.B. heute ist, dann steht in der View immer noch das Häkchen. Wenn du das Dokument editierst und speicherst, dann weiß das Feld, dass der Datensatz überarbeitet werden soll und erst dann siehst du auch das Ausrufezeichen in der View.

Nun soll das ja nicht Sinn und Zweck der Aktualität sein, daher muss sich das Feld von alleine ändern, indem man es gezielt refreshed oder vielleicht gibt es auch eine gänzlich andere Möglichkeit, wie man dieses Problem lösen kann

Ich hoffe jetzt ist ein bisschen mehr Licht in die Sache gekommen  :)

Liebe Grüße
Nadine

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: EIN Feld aktualisieren
« Antwort #7 am: 20.09.06 - 10:41:58 »
Wenn das Verfallsdatum ein  reines Datum ist dann löst man sowas über einen Agent der Nachts einmal läuft und die Dokumente durchkalkuliert. Bei einer entsprechenden Änderung das Flag setzt und das Dokument abspeichert.

Selbst wenn das mit @Command([ToolsRefreshAllDocs]) so funktioniert bekommst du bei vielen Dokumenten in der Ansicht ja das gleiche Problem wie bei der Verwendung von @today. Schließlich muss er alle Dokument aufmachen, kalkulieren und wieder abspeichern. Das dürfte Performance Technisch noch schlechter sein als @today zu verwenden. Zumal du das ja jedesmal machst wenn jemand auf die Ansicht zugreift. Replikationskonflikte sind da auch schon mal vorprogrammiert.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: EIN Feld aktualisieren
« Antwort #8 am: 20.09.06 - 10:45:20 »
Joo, jetzt ist mir ein Licht (1000W-Scheinwerfer)  ;)  aufgegangen.

Warum wollt ihr das so kompliziert machen?  Ein einfacher periodischer Agent (läuft einmal am Tag, bspw. um 3.00 Uhr), der das Verfallsdatum mit dem aktuellen Datum vergleicht und dann ein Flagfeld entsprechend setzt, reicht vollkommen aus.


Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Pareidolie

  • Frischling
  • *
  • Beiträge: 18
Re: EIN Feld aktualisieren
« Antwort #9 am: 20.09.06 - 10:57:37 »
Also, das is eine gute Idee  :) Ich hab daran auch schon gedacht. Ich bin mir allerdings  nicht sicher, aber ich glaube, dass in meinem Unternehmen auf einem Server keine Agenten laufen dürfen. Sicher bin ich mir da nicht, da werde ich mich auf jeden Fall erkundigen.

Sollte das mit dem Agenten nicht funktionieren, habt ihr dann vielleicht noch ne andere Idee???

Ich weiß es ist alles sehr kompliziert mit mir *g*, aber hat ja jemand noch ne Idee  :)


Grüße
Nadine

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: EIN Feld aktualisieren
« Antwort #10 am: 20.09.06 - 11:09:43 »
Also wenn wirklich jemand so dämlich war und auf Domino Servern keine Agenten laufen lassen will, dann schickt den Verantwortlichen zu uns er kann sich gerne hier über den Sinn und Unsinn solcher Maßnahmen aufklären lassen.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: EIN Feld aktualisieren
« Antwort #11 am: 20.09.06 - 11:15:16 »
Sorry, aber diese Aufgabe hat nun mal in der Ansicht NICHTS zu suchen...

Mal abgesehen davon, dass dann jeder, der die Ansicht aufmacht, alle Dokumente verändert (und das rein rechtemässig auch können muss), was dazu führt, dass jedes Dokument OHNE jede Änderung des Inhalts innerhalb 5 Minuten 10 mal gespeichert wird, wenn 10 Leute in dieser Zeit die Ansicht öffnen, ist das auch architektonisch ein völliger Humbug.

Genau dafür gibt es serverbasierte Agenten, und wenn diese bei Euch nicht erlaubt sind, dann sag den Verantwortlichen, dass damit keine vernünftige Notes- Entwicklung möglich ist.

Du kannst natürlich auch einen Agenten schreiben, der lokal und nicht auf dem Server läuft. Den musst Du halt dann (du bist schliesslich der Entwickler, der das verbrochen hat) jeden Morgen einmal manuell starten, gleich nachdem Du im Büro bist...

Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Pareidolie

  • Frischling
  • *
  • Beiträge: 18
Re: EIN Feld aktualisieren
« Antwort #12 am: 20.09.06 - 11:24:02 »

Vielen Dank für eure Antworten. Ich werde mich mal bezüglich der Agenten erkundigen. Und dann mal sehen, was da raus kommt.  :)

Liebe Grüße
Nadine

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz