Autor Thema: Funktionserklärung @Command([ToolsRefreshAllDocs])  (Gelesen 4595 mal)

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Ich habe ja schon mal in der Hilfe von Notes geschaut, aber ich muss sagen das ich damit nicht sonderlich viel anfangen kann. Wer kann mir denn mal erklären wozu das gut ist, bzw. wann man diese Funktion einsetzten sollte.

Weil ich halt hier vor einer bereits vorhandenen Datenbank sitze und soll hier was ändern. Mein Vorgänger hat diese Funktion an einer Stelle verwendet und ich bin mir halt nicht so sicher ob das so das Optimum ist. Weil in der Hilfe stand was davon, dass man das in Agenten einsetzt um dann in Dokumenten die von einer "Maskenänderung" betroffen sind Änderungen vorzunehmen oder so in der Art !  ;)

Für Hilfe wäre ich sehr dankbar ! ! !

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #1 am: 03.05.04 - 11:52:01 »
Hi,

ganz auf die Schnelle gesagt, mit dieser Funktion werden alle Dokumente in der Datenbank komplett aktualisiert.

Man sollte die Funktion einsetzen, wenn zum Beispiel über einen Agenten Feldinhalte geändert werden, die wiederum als Basis für berechnete Felder dienen. Diese werden dann bei der Ausführung neu berechnet.


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

Driri

  • Gast
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #2 am: 03.05.04 - 11:57:28 »
Mit dem Befehl werden alle Dokumente aktualisiert, d.h. im Grunde genommen werden alle Dokumente einmal geöffnet, gespeichert und wieder geschlossen.
Dadurch werden sowohl berechnete Felder aktualisiert, als auch evtl. vorhandene Formeln im Dokument (z.B. Validierungen) ausgeführt.

Wo kann man das einsetzen ?

Immer da, wo es nötig ist  ;D
Also ich nutze es z.B., wenn ich neue Dokumente importiere. Im Anschluß lasse ich den Befehl einmal drüberlaufen, um evtl. berechnete Felder upzudaten (grauenhaftes Deutsch).
Oder wie es in der Hilfe steht, wenn in der Maske ein Feld verändert wurde oder neue Felder hinzukommen, läßt man einmal per Agent oder SmartIcon den Befehl laufen und hat dann (hoffentlich) den akktuellen Stand in den Dokumenten.

Das mit deiner DB hatten wir doch schon mal. Wenn ich mich richtig erinnere, sollte damit dafür gesorgt werden, daß die Summen in den Views passen, oder ?
Macht IMO nur dann Sinn, wenn in den Dokumenten per Agent oder Import Werte geändert werden.
Solange die Benutzer die Werte in den Dokumenten manuell ändern, werden beim Speichern auch dich berechneten Felder aktualisiert und die Summen in der Ansicht kann man zur Not per F9 aktualisieren, dafür braucht man den Befehl nicht.

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #3 am: 03.05.04 - 12:00:25 »
In meinem Fall ist es so, das hier in einigen Ansichten über verschiedene Spalten Summen gebildet werden. Um hier dann den aktuellen Stand zu haben gibt es eine Aktion "Dokumente aktualisieren" hinter welcher sich die oben genannte Funktion verbirgt. Nun stelle ich mir die Frage ob ToolsRefreshAllDocs die "beste" Lösung ist um an die neuen Feldwerte zu gelangen.

Die Frage stelle ich mir auch eigentlich nur deswegen weil halt ebend diese Aktualisieren wirklich sehr sehr lange dauert.

Driri

  • Gast
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #4 am: 03.05.04 - 12:16:44 »
Wie ich oben schon geschrieben habe : Wenn die Summen in der Ansicht gebildet werden, ist die Funktion überflüssig. Da reicht ein F9.

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #5 am: 03.05.04 - 13:25:42 »
So ich habe eine noch andere Lösung gefunden, die zumindest schonmal lokal funktioniert. Also F9 reicht leider nicht aus wobei ich nicht weiss woran es liegt.

Es ist ein wenig, naja nennen wir es mal komplizierter. In einer Ansicht werden Dokumente aufgelistet und in diversen Spalten Summen gebildet.  Innerhalb der aufgelisteten Dokumente sind wiederrum weiter Unterdokumente verschachtelt aus deren Summe sich dann ein Wert für das Hauptdokument ergibt, welches in der Ansicht erscheint. Ich hoffe das hat jemand verstanden.  ;D

Wenn in nun ein solches Unterdokument erstelle, dann alles brav abspeicher und F9 drücke, ändert sich in der Summe meiner Ansicht lieder nichts. Nun habe ich mal was probiert und das Ergebnis ist das es so,  zumindest lokal kalppt. Vielleicht kann das mal einer kommentieren oder so !

Aktion: @Do(@Command([EditDocument];"1");@Command([ViewRefreshFields]);@Command([FileSave]);@Command([EditDocument];"0");@Command([FileCloseWindow]))

Fragt mich nicht wie ich darauf gekommen bin.  ???

Driri

  • Gast
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #6 am: 03.05.04 - 13:48:11 »
Dann kannst Du auch @Command([ToolsRefreshAllDocs]) benutzen, das macht genau das, was Du da jetzt mit mehrere Formeln nachprogrammiert hast.


Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #7 am: 03.05.04 - 14:03:21 »
ja das habe ich mir schon gedacht, aber das was ich gemacht habe soll der dann machen bevor er es speichert. Also habe ich diese Aktion für den Benutzer hinter eine Schaltfläche "Speichern & Schließen" verpackt. Das andere musste man dann ja für alle Dokumente machen und nun immer einzeln, somit hat man ja eigentlich Zeit gewonnnen, oder ?

Ich  kann nicht nachvollziehen wieso ein Feld nur im Bearbeitenmodus aktualisiert werden kann. Wozu gibt es denn dann die Funktion "Felder automatisch aktualisieren" ?

Könnte das Problem auch an diversen DBLookups liegen, die ich hier auch noch anzubieten habe ?  :D

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #8 am: 07.05.04 - 17:23:36 »
Auch wenn es der ein oder andere sicherlich nicht mehr lesen oder hören kann. Ich würde diese Thema nochmal kurz aufgreifen denn ich drehe mich echt im Kreis. Und da dieses Problem, sagen wir mal die Hauptaufgabe meiner Verbesserungsversuche darstellt würde ich das schon gerne in den Griff bekommen.

Also nochmal in aller Kürze:

- In einer Ansicht A werden Dokumente aufgelistet und die Summe gebildet
- In diesen Dokumenten X ist eine eingebettete Ansicht mit weiteren Unterdokumenten
- In diesen Unterdokumenten der eingeb. Ansicht sind Beträge, die regelmäßig geändert werden und in einer versteckten Ansicht aufgelistet werden
- Wenn man diese Änderung dann speichert und wieder im Dokument X ist, dann sieht man diese Änderung auch in der eingebetteten Ansicht (wunderbar)
- Allerdings wird im Dokument X über DBLookup eine Summer aus der oben erwähnten Ansicht gebildet (@sum), die dann in einem Feld steht welches dann letztendlich in der Ansicht A dargestellt werden soll

Aber diese Summe im Dokument A welche über DBLookup und @sum aus der versteckten Ansicht gebildet wird aktualisiert sich erst, wenn man im Bearbeitenmodus F9 drück und dann specihert. Udn das soll geändert werden damit beim Schliessen des Dokumentes A die Ansicht A immer wieder auf dem aktuiellen Stand ist und man nicht erst über alle Dokumente der Ansicht A eine Aktion "ToolsRefreshAllDocs" laufen lassen muss.

Ich hoffe der ein oder andere versteht was ich meine. Ich kann es leider selber nicht besser erklären.


mfg

ein verzweifelter Stundet (Sebastian)

Schönes Wochenende euch allen ! !  !

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #9 am: 07.05.04 - 17:41:15 »
Hallo, Sebastian,

hier ist das das ganze Konzept der bestehenden DB falsch. Und zwar von hinten bis vorne !
Es gibt aber Workarounds. Besonders tief mag ich da jetzt nicht nachdenken, aber folgendes fällt mir auf die Schnelle ein:
- Die Ansicht muss derart umgebaut werden, dass auch die Dokumente, die sonst nur in der hidden view (embedded view im doc) mit in Betracht gezogen werden.
- Beim Speichern eines Dokuments aus der hidden view wird das zugehörige Dokument X mit geupdated (das schreit aber ggf. nach Replizierkonflikten).
- Eventuell ist Notes sogar die falsche Plattform für sowas, aber dafür kennen wir die Aufgabenstellung zu wenig.

Für sowas tiefschürfendes (was trotzdem bei entsprechendem Know-How vielleicht relativ schnell zu lösen wäre), sollte man keinen Stundenten heranziehen, sondern einen Profi. Du verzweifelst nur (wegen fehlenden Basic), der Firma ist nicht geholfen, und Notes kommt unberechtigterweise in Verruf.

Bernhard

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #10 am: 10.05.04 - 11:13:10 »
Nein also schlecht denken tue ich deswegen über Notes sicherlich nicht ich finde das Programm bzw. die Arbeit damit eigentlich recht schön und könnte mir auch vorstellen das ein wenig zu vertiefen. Dann aber bestimmt auf dem richtigen Weg und nicht so wie jetzt hier während meines Praxissemesters. Aber wie dem auch sei da muss ich nun durch.

Ok ich habe mich damit abgefunden das ich bzgl. dieses Problme sicherlich keine optimale Lösung finden werde aber dann muss ich mir halt anders helfen.

Somit habe ich mir überlegt das es doch machbar sein muss, dass man via Skript oder Formel dem Dokument bzw. der Maske sagt was sie bei Schliessen machen soll. Das ist doch sicherlich möglich, oder ? Ich denke da so an "QueryClose" dort kann man doch sowas reinschreiben. Ich müsste es also hinbekommen, dass das Dokument vor dem schliessen in den Bearbeitenmodus versetzt wird und dann alle Felder aktualisiert werden. Wäre sowas machbar.

Ich hoffe ich mache mich durch meine Fragerei nicht allzu unbeliebt hier im Forum ;)


mfg

Sebastian ! ! !

Driri

  • Gast
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #11 am: 10.05.04 - 12:00:50 »
Ne, wir sind ja geduldig, jeder hat mal klein angefangen  ;)

Also, das mit dem "Aktion beim Speichern" ist schon mal nen Ansatz. Allerdings müßte dies bei den "Unterdokumenten" geschehen, denn dort werden ja die Werte geändert.

D.h., wenn in einem Dokument ein Wert verändert wird bzw. das Dokument gespeichert wird, muß per Script die Summe aus allen zugehörigen Unterdokumenten gebildet werden und diese dann in das entsprechende Dokument X geschrieben werden.

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #12 am: 10.05.04 - 12:44:25 »
mmmh, das hört sich logisch an aber wie realisiere ich das denn dann ?

Wäre es nicht einfach diesen Ablauf [Bearbeitenmodus=AN; Felder aktualisieren; Bearbeitenmodus=AUS] so hinzubekommen das er das nicht nur macht wenn man einen Aktionsbutton mit den entsprechenden Formel klickt sonder auch wenn man ein Dokument über ESC beendet. Ist zwar nicht ideal würde aber in meinem speziellen Fall völlig reichen denke ich mal.

aber wenn ich im Skript schreibe:

uidoc.editmode=True
Call uidoc.refresh

oder so in der Art dann passiert leider nichts  :(

Driri

  • Gast
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #13 am: 10.05.04 - 13:04:24 »
Ne, so funktioniert das auch nicht. Du mußt beim speichern oder nach dem speichern alle zugehörigen Dokumente sammeln, die Werte aus den Dokumenten ziehen und daraus die Summe bilden. Diesen Wert schreibst Du dann in das zugehörige Dokument X.

Das ist allerdings nichts für Leute ohne Script-Kenntnisse.

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #14 am: 10.05.04 - 13:31:47 »
Ja ok aber warum stimmen die Werte denn dann wenn man im Bearbeitenmodus F9 drückt. Dann stimmen alle Summen. Das geht nicht in meinen Kopf rein.

Driri

  • Gast
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #15 am: 10.05.04 - 13:53:05 »
Weil dann das berechnete Feld in Dokument X aktualisiert wird.

Das Problem entsteht aber eigentlich an einer ganz anderen Stelle, nämlich in den "Unterdokumenten", wo Werte geändert werden. In dem Moment, wo dort eine Wertänderung vorgenommen wird, müssen eigentlich die Summen neu gebildet werden.

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #16 am: 10.05.04 - 15:20:38 »
Und das zu realisieren ist dann nicht so sonderlich einfach oder wie darf ich das verstehen ?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Funktionserklärung @Command([ToolsRefreshAllDocs])
« Antwort #17 am: 10.05.04 - 15:37:59 »
Einfach oder nicht, das ist immer relativ. In Deinem Fall würde ich sagen: Es ist nicht so einfach. Man muss sich mit LotusScript auskennen und vor allem der Klassenbibliothek.

Siehe hierzu bitte nochmal mein letztes Posting: Das Konzept an sich scheint mir falsch zu sein. Und: Vielleicht liesse sich ja durch andere Ansichtsgestaltung auch lösen.

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz