Autor Thema: Agent in Ansicht laufen lassen  (Gelesen 7361 mal)

Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Agent in Ansicht laufen lassen
« am: 08.08.05 - 17:52:46 »
Hallo zusammen,

habe in meiner DB-Maske ein Datum/Zeit-Feld "WiederVL". Wenn in diesem Feld ein Datum steht, soll dies in der Ansicht durch ein ICON angezeigt werden.
Formel in der Spalte der Ansicht: @If (WiederVL != ""; 63; "")

Hat ja bis jetzt immer funktioniert. Nachdem ein Fehler aufgetreten ist, fehlen in der Anicht in einigen Zeilen die ICON´s. Jetzt brauche in einen Agent, der mir nochmal alle Doks durchläuft und die ICON´s wieder ersetzt.

Vielleicht stehe ich ja nur auf dem Schlauch, aber ich muß doch dem Agent vermutlich auch sagen, in welcher Ansicht er das bewerkstelligen soll.
Vermutlich kann ich ja die Formel @If (WiederVL != ""; 63; "") in etwa so übernehmen, nur der Ansichtsname muß noch rein. Wo steht dazu bitte was in der Hilfe? Ich finde einfach nichts.  :-:

Vielen Dank für Eure Tipps.

Gruß Siggi

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agent in Ansicht laufen lassen
« Antwort #1 am: 08.08.05 - 17:58:33 »
Moment mal, Siggi - das hat doch mit Deinen Dokumenten überhaupt nichts zu tun, wenn Du das Icon über eine Spaltenformel generierst:
@If (WiederVL != ""; 63; "") (besser wäre übrigens: @If (@IsTime (WiederVL); 63; "")

Warum willst Du deswegen jetzt also in den Dokumenten etwas ändern ?

Bernhard

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: Agent in Ansicht laufen lassen
« Antwort #2 am: 08.08.05 - 18:45:57 »
Moment mal, Siggi - das hat doch mit Deinen Dokumenten überhaupt nichts zu tun, wenn Du das Icon über eine Spaltenformel generierst: ...

Hi,

wenn die Icons nur in bestimmten Zeilen, also Dokumenten fehlen, liegt es doch an den Dokumenten. Das Symbol wird zwar in der Spalte ermittelt, aber Ausgangspunkt ist sehr wohl das Dokument. Wahrscheinlich ist das Feld  WiederVL in den entsprechenden Dokumenten nicht richtig belegt.

So wie die Spaltenformel aussieht, fehlt in den Dokumenten das Wiedervorlage-Datum. Am besten du erstellst dir einen Agenten, der auf ausgewählte Dokumente zielt und setzt mit Formelbefehlen oder mit Script das entsprechende Datum.

Axel

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

Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Re: Agent in Ansicht laufen lassen
« Antwort #3 am: 08.08.05 - 19:43:46 »
@If (WiederVL != ""; 63; "") (besser wäre übrigens: @If (@IsTime (WiederVL); 63; "")

Hallo Bernhard,

danke für den Hinweis!

So wie die Spaltenformel aussieht, fehlt in den Dokumenten das Wiedervorlage-Datum. Am besten du erstellst dir einen Agenten, der auf ausgewählte Dokumente zielt und setzt mit Formelbefehlen oder mit Script das entsprechende Datum.

Hallo Axel,

das Datum fehlt definitiv nicht! Also brauche in doch einen Agent, der mir die ICON´s wieder ersetzt? Geht das dann überhaupt?

Da die Stückzahl der Doks überschaubar ist, könnte ich ich jedes Dok nochmal bearbeiten - sprich: Datum Löschen, Speichern, Datum wieder setzen und Speichern. Dann ist das Icon auch wieder da.
Aber dann würde ich als letzter Bearbeiter des Doks drinstehen und das möchte ich vermeiden.

Gruß Siggi

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agent in Ansicht laufen lassen
« Antwort #4 am: 08.08.05 - 19:48:24 »
Bei der angegebenen Formel und wenn das Datumsfeld wirklich gefüllt ist, dann sieht mir das aber eher danach aus, dass die Ansicht (besser gesagt, der Ansichtsindex) einen Schlag weg hat. Bau doch sicherheitshalber den Ansichtsindex nochmal neu auf.

Du sprachst von einem "Fehler, der aufgetreten ist". Was ist denn da passiert ? Vielleicht hilft uns ja auch diese Information weiter.

Bernhard

Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Re: Agent in Ansicht laufen lassen
« Antwort #5 am: 08.08.05 - 20:27:44 »
Du sprachst von einem "Fehler, der aufgetreten ist". Was ist denn da passiert ? Vielleicht hilft uns ja auch diese Information weiter.

Tja, wenn ich das wüßte.  :-: Die Icon´s waren einfach weg.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agent in Ansicht laufen lassen
« Antwort #6 am: 08.08.05 - 20:47:38 »
Hast Du den Ansichtsindex schon neu aufgebaut ? Wie sieht die Ansicht im Designer aus, wenn Du sie Dir dort mit Dokumenten anzeigen lässt ? Gab es eventuell doch Änderungen an der Ansicht ?

Bernhard

Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Re: Agent in Ansicht laufen lassen
« Antwort #7 am: 08.08.05 - 21:53:18 »
Hab´s gerade von hier Zuhause versucht. Irgendwas funktioniert nicht. Das LOG sagt immer "Datei nicht vorhanden". Ist natürlich Quatsch. Hab´ es mit einer andern DB versucht - einwandfrei.

Vielleicht liegt´s ja am 6.5.4 Client mit Domio Administrat. und Desig., den ich mir vorgestern zum Testen bei mir Zuhause install. habe. In der Fa. läuft alles noch unter 5.09.
Ich versuch´s Morgen noch mal in der Fa.
Habe aber gesehen, daß die letzte Indexaktualis. heute Nachmittag lief.

Gruß Siggi

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agent in Ansicht laufen lassen
« Antwort #8 am: 08.08.05 - 22:12:24 »
Ooops ... Wenn ich mich recht erinnere, ist einer 6er Admin Client und ein 5er Server unter Umständen eine verheerende Kombination. Dazu mögen sich aber bitte die Admin-Spezialisten  äussern.

Was aber auch aus einem 6er (Designer-)Client gefahrlos klappt, ist der Neuaufbau der Ansichten mit Strg-Umsch-F9 bzw. eine kleine Änderung in der Ansicht im Designer, die den Ansicht ebenfalls zwingend neu aufbaut.

Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Agent in Ansicht laufen lassen
« Antwort #9 am: 08.08.05 - 22:22:30 »
Nöö, ich hab nie irgendwelche Probleme gehabt, 5er Server mit dem 6er Client zu administrieren. Logisch, dass nicht alles gemacht werden kann, was man mit dem 6er Admin kann, aber das liegt ja auf der Hand ....... (auch wenn ich es dort nicht sehe ....  ;D .... ich meine auf meiner Hand)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agent in Ansicht laufen lassen
« Antwort #10 am: 08.08.05 - 23:40:57 »
Ich habe auch absolut gar nichts dagegen, wenn mich meine Erinnerung da täuscht oder ich einer Fehlinterpretation aufgesessen bin. Auch wenn IBM die Kombination 5er Server und 6er Client (welcher auch immer) nicht empfiehlt - funktionieren sollte es ja  ;)

Bernhard

Offline scipio

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Ich liebe dieses Forum!
Re: Agent in Ansicht laufen lassen
« Antwort #11 am: 09.08.05 - 08:27:16 »
Ich hatte dieses Problem auch mal (N 5.0.11). Meine Ansicht war so aufgebaut:

Spalte#1  Spalte#2  SpalteMitIcons Spalte#4 Spalte#5

Plötzlich wurden die Icons nicht mehr oder nicht richtig angezeigt. In den Dokumenten war alles ok. Nachdem ich zu diesem Thema nix gefunden habe, habe ich die Spalte gelöscht und hinter Spalte#5 eingefügt (warum auch immer) und siehe da: Die Icons wurden wieder richtig angezeigt.

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re: Agent in Ansicht laufen lassen
« Antwort #12 am: 09.08.05 - 12:50:25 »
Ev. das:

Beim Kopieren von Spalten ist Aufmerksamkeit geboten, der Spalten-Alias ('Programmatic use', letzter Tab in den Spalteneigenschaften) wird nicht unter allen Umständen eindeutig gehalten. Da kann irrtümlich schonmal ein Ergebnis aus einer anderen Spalte angezogen werden...
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Re: Agent in Ansicht laufen lassen
« Antwort #13 am: 11.08.05 - 18:11:39 »
@All,

danke erstmal für Eure Tips. Hab´s leider noch nicht hinbekommen. Aber irgendwie fängt die DB zu Spinnen an.

Folgendes:
1Datumsfeld (AbgeschlDatum),
1 Kontollkästchen (RekAbJa) / Verborgen, Auswahl = x, (nur ein Kontrollfeld!)
1 Button (Reklam. Abgeschlossen)


Hinter dem Button steht folgende Formel:

REM "Überprüfen, ob Reklamation abgeschlossen ist und das Abgeschlossen-Datum gesetzt ist";


FIELD RekAbJa := RekAbJa;

@Command ([FileSave]);
@SetField ("RekAbJa"; "x"); "";
@If (AbgeschlDatum = ""; @Return (@Prompt ([OK]; "Info"; "Bitte geben Sie ein Datum ein"));
@PostedCommand([FileCloseWindow]))


Jetzt ist mir aufgefallen, daß bei mehreren Dok´s und allen neuen Doks im Feld "RekAbJa" das x nicht mehr gesetzt wird.

Jetz habe ich folgenden Agent drüberlaufen lassen:

@If (@IsTime(AbgeschlDatum); RekAbJa = "x"; "");SELECT @All
bzw.
@If (AbgeschlDatum != ""; RekAbJa = "x"; "");SELECT @All

Das Protokoll sagt bei beiden:

Agent 'RekAbJa' wurde am 11.08.2005 08:00:23 gestartet
Bearbeitet alle Dokumente in der Datenbank: insgesamt 103
103 Dokumente gefunden, die die Suchkriterien erfüllen
103 Dokument(e) wurden durch die Formel geändert
Agent 'RekAbJa' wurde am 11.08.2005 08:00:23 beendet

Das x wird aber trotdem nicht gesetzt. Warum?  >:( ???

Bis jetzt hat alles tadellos funktioniert !

Den Ansichtsindex habe ich neu Aufgebaut, sämtliche Reparaturfunkt. laufen lassen - nichts hilft.

Kann mir jemand weiterhelfen?

Gruß Siggi

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agent in Ansicht laufen lassen
« Antwort #14 am: 11.08.05 - 18:21:08 »
Auf jeden Fall ist diese Zeile falsch:
@If (AbgeschlDatum = ""; @Return (@Prompt ([OK]; "Info"; "Bitte geben Sie ein Datum ein"));

Hier fehlt der Else-Zweig.

Bernhard

PS: Das FileSave sollte auch am Ende vor dem CloseWindow stehen ...
« Letzte Änderung: 11.08.05 - 18:29:28 von koehlerbv »

Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Re: Agent in Ansicht laufen lassen
« Antwort #15 am: 11.08.05 - 22:02:03 »
Ich wiederspreche Dir wirklich ungern  ;), da ich weiß, das Du der Profi bist. Aber wie kann es dann sein, daß das ganze von Anfang an einwandfrei lief? Ca. 2/3 der Doks sind alle korrekt. Selbst wenn die Zeile falsch wäre, müßte doch der Agent die x auf jedenfall setzten -oder? ???

Gruß Siggi

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Agent in Ansicht laufen lassen
« Antwort #16 am: 11.08.05 - 22:22:31 »
Siggi,
bitte eins nach dem anderen, irgendwie ist Deine Frage jetzt etwas erweitert/anders, wenn man die Ausgangsfrage ansieht.

1. Nimm doch noch Stellung zu wflamme's Beitrag, hast Du das beachtet?

2.
Code
@If (@IsTime(AbgeschlDatum); RekAbJa = "x"; "");SELECT @All
Was soll hier Deiner Meinung nach passieren? Ins Feld "RekAbJa" ein x gesetzt werden?
Tatsächlich ist das ein Vergleich was Du mit [RekAbJa = "x"] machst, typischerweise als Einleitung in @If. Eine Zuordnung müsste mit := erfolgen, aber das wäre eine Variablenzuordnung, und AFAIK geht das in @If nur mit @Set.

D.h. Du solltest hier mit @SetField arbeiten:
@SetField("RekAbJa";"x"), siehe Designerhilfe.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline macom111

  • Senior Mitglied
  • ****
  • Beiträge: 293
  • Geschlecht: Männlich
  • Anfänger in der Datenbankentwicklung!!!
Re: Agent in Ansicht laufen lassen
« Antwort #17 am: 11.08.05 - 23:50:56 »
Hi Matthias,

1. Nimm doch noch Stellung zu wflamme's Beitrag, hast Du das beachtet?

Ja. Hab´s auch versucht, hat aber nichts gebracht.

Code
@If (@IsTime(AbgeschlDatum); RekAbJa = "x"; "");SELECT @All
Was soll hier Deiner Meinung nach passieren? Ins Feld "RekAbJa" ein x gesetzt werden?
Tatsächlich ist das ein Vergleich was Du mit [RekAbJa = "x"] machst, typischerweise als Einleitung in @If.

Ich habe mir in der Hilfe @If nochmal durchgelesen:

Natürlich ist das ein Vergleich - ich hab´s zumindest so verstanden.
Also ist mein Gedanke:
Wenn im Feld AbgeschlDatum ein Datum steht, dann setze in RekAbJa ein x, ansonsten mach nichts.
Ich verstehe aber nicht, warum das im Agent nicht funktioniert. Wo ist mein Denkfehler ???

D.h. Du solltest hier mit @SetField arbeiten:
@SetField("RekAbJa";"x"), siehe Designerhilfe.

Danke. Da hätte ich auch noch selbst drauf kommen können. Verwende den Befehl ja schon im Button ::)

Hat übrigens funktioniert. Das x wurde in den entsprechenden Doks gesetzt.

Gruß Siggi
« Letzte Änderung: 11.08.05 - 23:57:58 von macom111 »

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Agent in Ansicht laufen lassen
« Antwort #18 am: 12.08.05 - 00:24:50 »
Ich verstehe aber nicht, warum das im Agent nicht funktioniert. Wo ist mein Denkfehler ???

Du hast diese Frage darunter ja schon beantwortet:
Danke. Da hätte ich auch noch selbst drauf kommen können. Verwende den Befehl ja schon im Button ::)
Hat übrigens funktioniert. Das x wurde in den entsprechenden Doks gesetzt.

Oder ist jetzt noch was offen? Das erschließt sich mir nämlich jetzt nicht aus dem Posting.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agent in Ansicht laufen lassen
« Antwort #19 am: 12.08.05 - 00:47:35 »
@If (@IsTime(AbgeschlDatum); RekAbJa = "x"; "");SELECT @All
Ich habe mir in der Hilfe @If nochmal durchgelesen:
Natürlich ist das ein Vergleich - ich hab´s zumindest so verstanden.
Also ist mein Gedanke:
Wenn im Feld AbgeschlDatum ein Datum steht, dann setze in RekAbJa ein x, ansonsten mach nichts.
Ich verstehe aber nicht, warum das im Agent nicht funktioniert. Wo ist mein Denkfehler ???

Ein Vergleich ist das wohl, nur was danach kommt ...
In unsere menschliche Sprache übersetzt würde es heissen:
Wenn AbgeschlDatum ein Datum ist, dann nehme das Ergebnis des Vergleiches zwischen dem Inhalt von RekAbJa und "x" (da kommt dann @True oder @False heraus - je nachdem ...), sonst nehme einen Leerstring.
Eine Feldzuweisung ist auf diese Art mit @functions niemals möglich.
Korrekt wäre:

FIELD RekAbJa := @IsTime (AbgeschlDatum); "x"; "");

Das steht aber alles in der DesignerHelp, die man immer wieder zu Rate ziehen sollte.

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz