Autor Thema: @Command([RefreshFrame];"xxx") funktioniert nicht...  (Gelesen 8450 mal)

Offline gstueb

  • Aktives Mitglied
  • ***
  • Beiträge: 125
  • Geschlecht: Männlich
  • God is real unless declared integer
Hallo,

ich schreibe hier nochmal wegen meiner Kundenauftags-Datenbank. Markt-Mitarbeiter erfassen darin Aufträge, ein Service-Center arbeitet diese eingehenden Aufträge ab. Neben normal priorisierten Aufträgen gibt es auch "Just in Time" Aufträge, die möglichst schnell abgearbeitet werden müssen. Den Service-Mitarbeitern möchte ich in der DB irgendwie signalisieren, dass solche eiligen Aufträge vorliegen.

In meiner Anwendung habe ich nun sowieso eine Rahmengruppe mit 3 Rahmen: Oben einen Rahmen Namens "Kopf", der nur den Namen der Anwendung anzeigt, links eine Gliederung und rechts eine Ansicht.

Meine Idee war nun, die angezeigte Seite im Rahmen "Kopf" durch eine andere (rot hinterlegte) Seite auszutauschen, wenn bestimmte (eilige) Dokumente in der Datenbank vorhanden sind. Ob dringend zu bearbeitende Dokumente vorhanden sind, wird durch einen @dblookup festgestellt.

Um das zu testen, habe ich einfach mal eine Ansicht "jit" (Just in time) angelegt, in dieser befindet sich genau ein Dokument mit einer "1" in der ersten Spalte. Wenn

    Erg:=@DbLookup("":"Nocache";"";"jit";"1";2);

="test" ist soll ein anderer Kopf angezeigt werden, als wenn etwas anderes zurückgegeben wird.

------------

Im ersten Versuch habe ich 2 Kopf-Seiten erstellt ("Kopf normal" und "Kopf dringend") und habe eine Formel für den Namen des benannten Elementes angegeben, also obige Zeile und dann z.B.

    @If(Erg="test";"Kopf dringend";"Kopf normal")

Leider wird mir das erst aktualisiert, wenn ich die Datenbank verlasse und sie dann neu öffne. Ein Agent mit einem @Command([RefreshFrame];"Kopf"), den ich manuell testweise aufrufe, bewirkt nichts. Erst wenn ich die DB schließe und neu öffne, wird die richtige Seite angezeigt.

Ich habe dann versucht, anstelle des berechneten Elementes für den Kopfrahmen eine Maske im Frame "Kopf" anzuzeigen. In der Maske habe ich dann zwei Überschriften (einmal rot, einmal normal) hinterlegt und je nach @dblookup-Ergebnis die eine oder andere Überschrift versteckt.

Auch diese Anzeige wird mir erst aktualisiert, wenn ich die DB beende und neu starte.

Mache ich irgendwas falsch? Warum funktioniert der @command([RefreshFrame];"Kopf") nicht?

Nochmal zusammengefasst:

Ich habe eine Rahmengruppe "Standard". Diese beinhaltet 3 Rahmen. Für mich interessant ist der obere Rahmen Namens "Kopf". In diesem Rahmen möchte ich variable Inhalte haben... Die dort hinterlegten Formeln werden durch einen @command([RefreshFrame];"Kopf") jedoch scheinbar nicht ausgeführt.

Danke schonmal,
Gregor

BigWim

  • Gast
Re: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #1 am: 25.03.09 - 08:28:41 »
Hallo Gregor,

Zitat
Meine Idee war nun, die angezeigte Seite im Rahmen "Kopf" durch eine andere (rot hinterlegte) Seite auszutauschen, wenn bestimmte (eilige) Dokumente in der Datenbank vorhanden sind. Ob dringend zu bearbeitende Dokumente vorhanden sind, wird durch einen @dblookup festgestellt.

Ob so etwas funktioniert, kann ich Dir nicht sagen. Ich habe mir etwas ähnliches gebaut, nur tausche ich nicht die Seite, sondern "ändere" den Inhalt der Seite über die Zeileneigenschaften "Absatz verbergen wenn". Wenn Du also "nur" anzeigen möchtest, das "just in time"-Aufträge vorliegen, hört sich das so an, dass das über berechneten Text gelöst werden kann.

Viel Erfolg
Markus


Offline gstueb

  • Aktives Mitglied
  • ***
  • Beiträge: 125
  • Geschlecht: Männlich
  • God is real unless declared integer
Re: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #2 am: 25.03.09 - 11:25:36 »
Hallo Gregor,

Zitat
Meine Idee war nun, die angezeigte Seite im Rahmen "Kopf" durch eine andere (rot hinterlegte) Seite auszutauschen, wenn bestimmte (eilige) Dokumente in der Datenbank vorhanden sind. Ob dringend zu bearbeitende Dokumente vorhanden sind, wird durch einen @dblookup festgestellt.

Ob so etwas funktioniert, kann ich Dir nicht sagen. Ich habe mir etwas ähnliches gebaut, nur tausche ich nicht die Seite, sondern "ändere" den Inhalt der Seite über die Zeileneigenschaften "Absatz verbergen wenn". Wenn Du also "nur" anzeigen möchtest, das "just in time"-Aufträge vorliegen, hört sich das so an, dass das über berechneten Text gelöst werden kann.

Viel Erfolg
Markus

Das habe ich auch probiert... es hat aber nicht geklappt. Wie komplex war denn Deine Formel bei "Absatz verbergen wenn"? Bei mir ist wie gesagt ein @dblookup dahinter.

Gruß,
Gregor

BigWim

  • Gast
Re: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #3 am: 25.03.09 - 12:34:06 »
Hallo Gregor,

ich denke mal, dass die nicht wirklich komplex ist. Urteile selbst:
Code
_Server := "i350db1";
_Datenbank := "info\\konfiguration.nsf";
_View := "keylist\\einstellungen";
_Key := "Institut~NameEntwicklungsserver";
_Feldname := "Einstellung_Wert";
_Entwicklungsserver := @LowerCase(@DbLookup("":"NoCache";_Server : _Datenbank; _View; _Key; _Feldname));

!@LowerCase(@Name([CN];@DbName)) = _Entwicklungsserver

Zur Erklärung. Ich habe angefangen, eine "zentrale Unternehmensdatenbank" aufzubauen, in der ich allgemeingültige Parameter oder Logs ablegen kann.

U. a. habe ich hier hinterlegt, wie mein Entwicklungsserver heißt. Auf der Seite, die im Rahmen angezeigt wird,  habe ich jetzt einen Hinweis "!!! ENTWICKLUNG !!!", der nur dann angezeigt wird, wenn die Datenbank auf dem Entwicklungsserver aufgerufen wird. Startet die Datenbank vom einem Produktivserver, wird der Hinweis nicht angezeigt.

Gesteuert wird das durch die obige Formel.

Markus

Offline gstueb

  • Aktives Mitglied
  • ***
  • Beiträge: 125
  • Geschlecht: Männlich
  • God is real unless declared integer
Re: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #4 am: 25.03.09 - 12:40:41 »
U. a. habe ich hier hinterlegt, wie mein Entwicklungsserver heißt. Auf der Seite, die im Rahmen angezeigt wird,  habe ich jetzt einen Hinweis "!!! ENTWICKLUNG !!!", der nur dann angezeigt wird, wenn die Datenbank auf dem Entwicklungsserver aufgerufen wird. Startet die Datenbank vom einem Produktivserver, wird der Hinweis nicht angezeigt.

So wie es aussieht, ändern sich aber bei Deiner DB die Werte zur Laufzeit nicht... oder änderst Du irgendwo wie ich dynamisch etwas und aktualisierst den Frame dann mit @Command([RefreshFrame];"xxx") ? Weil genau das ja nicht funktioniert...


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: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #5 am: 25.03.09 - 13:44:53 »
Zwei Möglichkeiten.
1. Applets in eine Page einbinden. Das haben verschiedenen kommerzielle Module mal gemacht.
2. Timer in eine Page oder Form schreiben
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

BigWim

  • Gast
Re: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #6 am: 25.03.09 - 14:05:49 »
Zitat
Weil genau das ja nicht funktioniert...
Sorry, das hatte ich überlesen.

Du hast natürlich Recht, bei meinem Praxisbeispiel benötige ich keine dynamische Aktualisierung. Und bei verhält es genauso, aber da ich ja die VerbergenWenn - Formel neu berechnen möchte, habe ich es mit

Code
@Command([RefreshHideFormulas]);

in einem Button probiert und die Seite wird (ohne erneutes Öffnen der Datenbank) aktualisiert. Ich hoffe, Du kommst damit weiter ...

Markus

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: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #7 am: 25.03.09 - 14:13:37 »
Wenn es nur um eine Blindmaske  mit Farbwechsel geht, dann ist das bei meiner zweiten Lösung ein 10 Zeiler ....

Und mit einer Page funktioniert das selbe auch.
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

BigWim

  • Gast
Re: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #8 am: 25.03.09 - 14:23:17 »
Zitat
dann ist das bei meiner zweiten Lösung ein 10 Zeiler .... Und mit einer Page funktioniert das selbe auch.
ich denke auch. Hatte zu anfangs überlesen, dass es dynamisch sein muss. Als Seite habe ich bei mir auch eingebunden. Das funktioniert. Muss also nur noch der Timer her ...

Offline gstueb

  • Aktives Mitglied
  • ***
  • Beiträge: 125
  • Geschlecht: Männlich
  • God is real unless declared integer
Re: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #9 am: 25.03.09 - 16:41:20 »
Wenn es nur um eine Blindmaske  mit Farbwechsel geht, dann ist das bei meiner zweiten Lösung ein 10 Zeiler ....
Und mit einer Page funktioniert das selbe auch.

Hallo Thomas,

kannst Du mir das mit dem Timer auf der Seite noch etwas detaillierter erklären? In der Tat hätte ich gerne, dass ca. 1 x pro Minute geprüft wird, ob bestimmte Dokumente in der Datenbank vorhanden sind (z.B. über das beschriebene @dblookup) und abhängig davon möchte ich die Farbe auf der Kopf-Seite wechseln.

Wie ist das mit dem Timer gemeint?

Gruß,
Gregor

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: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #10 am: 25.03.09 - 17:12:01 »
Such einfach mal nach NotesTimer in der Online Hilfe.
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 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: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #11 am: 25.03.09 - 17:22:56 »
Und das mit dem einmal pro Minute würde ich mir gründlich überlegen. Ich kann mir nicht vorstellen das die Service Mitarbeiter nur darauf lauern das "eilige" Kundenaufträge kommen.
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 gstueb

  • Aktives Mitglied
  • ***
  • Beiträge: 125
  • Geschlecht: Männlich
  • God is real unless declared integer
Re: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #12 am: 25.03.09 - 17:32:23 »
Und das mit dem einmal pro Minute würde ich mir gründlich überlegen. Ich kann mir nicht vorstellen das die Service Mitarbeiter nur darauf lauern das "eilige" Kundenaufträge kommen.

Drauf lauern nicht... aber bei den eiligen Kundenaufträgen sitzt der Kunde mit dem Berater im Besprechungszimmer... und beide warten darauf, dass das ganze vom Service-Center erledigt wurde, damit der Kunde die entsprechenden Vertragsunterlagen gleich ausgehändigt bekommen kann.

Deshalb möchte ich zusätzlich zum Farbwechsel auch noch ein Popup einblenden. Der Farbwechsel soll nur daran erinnern, dass noch etwas offen ist. Aber jetzt schau ich mir das erstmal mit dem NotesTimer an... Danke.

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: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #13 am: 25.03.09 - 17:52:38 »
Das mit dem Popup ist dann gar keine gute Idee. Wieviele Mitarbeiter sitzen im Service Center und haben den Notes Client und diese Anwendung dann offen?

Wenn das häufiger vorkommt ist das ein klassisches Mittel um Arbeitszeit im Service Center zu vernichten.
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 koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #14 am: 25.03.09 - 21:43:09 »
Ich schliesse mich meinen Vorrednern an - sowas funktioniert nur mit exakter und sehr genau durchdachter Arbeitsorganisation. Ein Popup alleine bewirkt da nichts bzw. nur negatives, wenn das nicht schlau eingetaktet ist.

Einen NotesTimer halte ich für eine ganz dumme Idee, da dieser immer und überall läuft, solange der Client offen ist. Nimm dafür lieber ein SendConsole-Broadcast an die betreffenden Mitarbeiter durch einen Agent, der in der betreffenden DB genau die erforderlichen Tickets eruiert.

Bernhard

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: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #15 am: 26.03.09 - 06:38:08 »
Hmm Bernhard, warum der Timer eine dumme Idee ist müsstest du mal genauer erklären.
Speicherprobleme? Prozessorlast? Formübergreifend?
Ich weiss das es mit V6 irgendwas mit dem Teil eine Zeit lang Probleme gab, Einfrieren des Client, unerkärliche Abstürze und so weiter, aber das ist schon lange behoben worden.
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

BigWim

  • Gast
Re: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #16 am: 26.03.09 - 07:46:54 »
Zitat
eine dumme Idee ist müsstest du mal genauer erklären.
das würde mich auch interessieren.

Und vielleicht noch eine bescheidene Frage hinterher: Wann benötigt (oder funktioniert) ein RefreshFrame?

Denn mir hat sich immer noch nicht erschlossen, warum das ganze nicht funktioniert. Weder die Aktualisierung der Seite (page) noch der Wechsel einer solchen. Ich habe es auch mit einem ReLoad probiert, mit SetFrame(Name), ....

Vielen Dank!
Markus



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: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #17 am: 26.03.09 - 12:04:26 »
Also die Stabilitätsprobleme scheine auch mit Version 7 nicht unbedingt behoben worden zu sein. Zumindest hat mir das Werner Götz in einem Gespräch heute gesagt. Es scheint Probleme zu geben, wenn man zum Zeitpunkt des Refreshs auf Notes Objekte (auch in anderen Anwendungen) aktiv zugreift. Je höher die Update Frequenz ist ,desto warscheinlich sind Redboxes im Client. Ich denke da hilft nur ausprobieren und abwägen. Ich hatte diese Effekte nur unter den 6 er Versionen und war der Meinung die wären mittlerweile behoben worden.

Ein ganz anderes Ansatz, der vielleicht ohnehin zielführender, weil nicht so "unterbrechend" wäre ist das Ganze komplett außerhalb des Arbeitsplatzes (PCs) zu realisieren. Mit einer Laufschrift an der Wand oder einem Blinklicht (Rundumleuchte) Dazu müsste man nicht einmal viel tun. Nur ein kleines JAVA oder C Programm schreiben.
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 gstueb

  • Aktives Mitglied
  • ***
  • Beiträge: 125
  • Geschlecht: Männlich
  • God is real unless declared integer
Re: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #18 am: 27.03.09 - 10:33:28 »
Das mit dem Popup ist dann gar keine gute Idee. Wieviele Mitarbeiter sitzen im Service Center und haben den Notes Client und diese Anwendung dann offen?

Wenn das häufiger vorkommt ist das ein klassisches Mittel um Arbeitszeit im Service Center zu vernichten.

Im Service-Center sitzen 5-10 Leute, die mit dieser Anwendung arbeiten. Allerdings werden (vermutlich) nur wenige Aufträge "Real-Time-Aufträge" sein.

Wenn die Alarmierung über NotesTimer und der Farbgebung vernünftig und zeitnah funktioniert (probier ich am Wochenende) ist mir das auch lieber...

Ich weiß wie nervig Popups sind. Ich will diese auch auf jeden Fall optional gestalten.

Gruß,
Gregor

Offline gstueb

  • Aktives Mitglied
  • ***
  • Beiträge: 125
  • Geschlecht: Männlich
  • God is real unless declared integer
Re: @Command([RefreshFrame];"xxx") funktioniert nicht...
« Antwort #19 am: 27.03.09 - 10:47:45 »
Ein ganz anderes Ansatz, der vielleicht ohnehin zielführender, weil nicht so "unterbrechend" wäre ist das Ganze komplett außerhalb des Arbeitsplatzes (PCs) zu realisieren. Mit einer Laufschrift an der Wand oder einem Blinklicht (Rundumleuchte) Dazu müsste man nicht einmal viel tun. Nur ein kleines JAVA oder C Programm schreiben.

Ich hatte ja zumindest auch überlegt, das außerhalb von Notes zu machen.

Leider kenne ich mich mit dem Senden von Nachrichten über das Netzwerk nicht aus. Die einzigste Möglichkeit, das ohne fremde Hilfe zu realisieren bestünde für mich deshalb darin, vom Notes-Server aus irgendein Datei-Flag zu erstellen und dieses dann von den einzelnen Clients abzufragen (nur 2 der beschäftigten Service-Mitarbeiter sollen für die Abarbeitung von Just-In-Time-Aufträgen abgestellt werden, deswegen würde es auch reichen, wenn diese Anwendung dann nur auf diesen 2 Clients läuft).

Ein externes (Blink)-Licht etc. wäre natürlich eine schöne Lösung. Es gibt ja "Netzwerksteckdosen" die man dann irgendwie über's LAN ansteuern kann.

Hmm, vermutlich bastle ich jetzt erstmal etwas einfaches über ein Datei-Flag und z.B. ein Perl-Script, welches parallel läuft und dieses abfragt. Verfeinern kann ich das später immer noch.

Gruß,
Gregor

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz