Autor Thema: Ordner per Lotus Script  (Gelesen 4820 mal)

Offline DaemoN

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
  • Shiny!
    • [KOEBS] 4.0 - Männerhort und Freundschaft seit Jahrzehnten
Ordner per Lotus Script
« am: 24.01.05 - 10:15:23 »
hallo zusammen!
ich hab ein echt nerviges problem, das ich bisher noch nicht lösen konnte und zwar folgendes:
per lotus script möchte ich einen ordner erstellen beim einsteigen in eine datenbank. danach möchte ich per eingebetteter ansicht in einer maske, dokumente in diesem ordner anzeigen lassen. blöderweise ist es aber so, dass der ordner zwar erstellt, der index oder was auch immer jedoch nicht aktualisiert wird und deshalb die eingebettete ansicht nichts anzeigt (den ordner nicht findet). das problem ist behoben wenn ich aus der datenbank aussteige und wieder einsteige. ist natürlich ne blöde sache denn ich sollte sofort nach anlegen des ordners darauf zugreifen können, ohne dass ich die datenbank nochmals verlassen muss.
im postopen des datenbank-scripts, hab ich folgende zeile eingetragen: Call db.EnableFolder(">Suche/" + sess.CommonUserName)

kann mir jemand helfen? ist mein problem halbwegs verständlich erklärt? :-)
Eins, zwei oder drei, letzte Chance vorbei! Ob ihr wirklich richtig steht, seht ihr wenn das Licht angeht ...

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: Ordner per Lotus Script
« Antwort #1 am: 24.01.05 - 10:32:50 »
Hi,

versuch mal folgendes.

Erstelle dir einen Agenten, der den Ordner automatisiert anlegt. Das machst du mit diesen beiden Formelbefehlen:

@Command([OpenView]; "Meine Dokumente");
@Command([FileCloseWindow])

Diesen Agenten rufst du in deiner Script-Routine auf. Das geht am einfachsten mit der Klasse NotesAgent. Näheres zu dieser Klasse findest du in der Designer-Hilfe.


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

Offline DaemoN

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
  • Shiny!
    • [KOEBS] 4.0 - Männerhort und Freundschaft seit Jahrzehnten
Re: Ordner per Lotus Script
« Antwort #2 am: 24.01.05 - 11:20:37 »
servus Axel!

erstamal danke für die schnelle hilfe! ich hab sowas in der art nun in allen varianten durchprobiert. fakt ist, dass der ordner zwar erstellt wird, ich mit OpenView diesen aber nicht öffnen kann. es kommt die meldung "Ansicht oder Navigator nicht gefunden". wenn ich die datenbank jedoch verlasse, neu einsteige und dann nochmals per OpenView befehl versuche diesen zu öffnen funktioniert alles bestens!! es ist zum haare raufen echt! :D es müsste sowas wie nen refresh befehl für datenbanken geben. das witzige an der sache ist auch noch, das wenn ich im script sage db.GetView("xxx") dann bekomm ich den erstellten ordner. kann diesen auch refreshen nur das nützt alles nichts ... er wird einfach nicht angezeigt!
Eins, zwei oder drei, letzte Chance vorbei! Ob ihr wirklich richtig steht, seht ihr wenn das Licht angeht ...

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: Ordner per Lotus Script
« Antwort #3 am: 24.01.05 - 11:29:29 »
Hi,

du kannst auch die beiden Formelzeilen in das PostOpen-Event das Datenbankscriptes packen. So hab ich's bisher gemacht. Dann solltest du ohne Neustart der DB sofort darauf zugreifen können.


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

Offline DaemoN

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
  • Shiny!
    • [KOEBS] 4.0 - Männerhort und Freundschaft seit Jahrzehnten
Re: Ordner per Lotus Script
« Antwort #4 am: 24.01.05 - 13:05:02 »

wenn ich im postopen der datenbank ein openview befehl setze, es den ordner/die ansicht jedoch nicht gibt, bekomm ich eine fehlermeldung retour. geht also leider auch nicht. ich muss zuerst den ordner erstellen, was ich im postopen mache und alles was ich bisher versucht habe um diesen neu erstellten ordner zu öffnen ist fehlgeschlagen. ein refresh auf uidb oder db basis ist nicht möglich somit komm ich erst in den ordner wenn ich die db schließe und nochmals öffne. unter "ansicht/gehe zu" seh ich den ordner auch erst, wenn ich wieder neu eingestiegen bin ... schade, aber ich glaube da gibt es keine lösung? notes 7? ;) :D
Eins, zwei oder drei, letzte Chance vorbei! Ob ihr wirklich richtig steht, seht ihr wenn das Licht angeht ...

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: Ordner per Lotus Script
« Antwort #5 am: 24.01.05 - 13:11:20 »
Hi,

was ist denn das für ein Ordnertyp, Gemeinsam, SPOFU oder Privat?
Das mit dem OpenView geht nur bei einem SPOFU-Ordner.


Axel


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

Offline DaemoN

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
  • Shiny!
    • [KOEBS] 4.0 - Männerhort und Freundschaft seit Jahrzehnten
Re: Ordner per Lotus Script
« Antwort #6 am: 24.01.05 - 13:19:18 »
SPOFU? ich kenn nur BIFI! ;) :D was ist denn ein SPOFU ordner???
es soll ein stinknormaler gemeinsamer ordner werden. ich will eigentlich nur das "Erstellen/Ordner ..." per lotus script automatisiert machen. ich meine wenn ich von hand einen ordner erstelle ist er ja auch gleich verfügbar, warum ist das mit script so schwer/nicht möglich???
Eins, zwei oder drei, letzte Chance vorbei! Ob ihr wirklich richtig steht, seht ihr wenn das Licht angeht ...

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: Ordner per Lotus Script
« Antwort #7 am: 24.01.05 - 13:27:44 »
Hi,

ein SPOFU-Ordner ist ein Ordner vom Typ Gemeinsam, privat bei erster Benutzung (zu gut neudeutsch: single, privat on first use).

Mit einem gemeinsamen Ordner klappt das so nicht.


Axel
« Letzte Änderung: 24.01.05 - 13:29:53 von Axel »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline DaemoN

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
  • Shiny!
    • [KOEBS] 4.0 - Männerhort und Freundschaft seit Jahrzehnten
Re: Ordner per Lotus Script
« Antwort #8 am: 24.01.05 - 14:06:40 »
ahso! :D alles klar. diese funktion kann ich aber in meinem fall leider nicht verwenden da ich unbedingt "putinfolder" benutzen muss. eine ansicht mit unterschiedlichen dokumenten zu befüllen ist leider nicht möglich, deshalb muss es eben unbedingt ein ordner sein.

EDIT: ich hab es soeben mit einem SPOFU ordner probiert und es funktioniert! ... ABER, jetzt kann ich die auswahl per script nicht mehr löschen. ich krieg noch die kriese! :D

bisher konnte ich das hier verwenden:
Set entrycoll = folderview.AllEntries
Call entrycoll.RemoveAllFromFolder("Suche")

da es jetzt aber 2 "Suche" ordner gibt (einen gemeinsamen, einen privaten), bekomm ich folgende fehlermeldung wenn ich die dokumente aus dem ordner entfernen möchte:

"Notes Error: Index kann nicht auf dem Server erstellt werden. (Suche)"

offenbar soll es einfach nicht sein ... :D :D
« Letzte Änderung: 24.01.05 - 15:29:20 von DaemoN »
Eins, zwei oder drei, letzte Chance vorbei! Ob ihr wirklich richtig steht, seht ihr wenn das Licht angeht ...

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: Ordner per Lotus Script
« Antwort #9 am: 24.01.05 - 15:58:53 »
Hi,

wo wurde den der Ordner angelegt, in der DB oder auf dem Desktop? Hast du das Recht in der ACL persönliche Ordner anzulegen?

Normalerweise funktioniert das. Ich hab das schon ein paarmal gemacht. Er greift in diesem Fall immer auf den persönlichen Ordner zu.


Axel



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

Offline DaemoN

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
  • Shiny!
    • [KOEBS] 4.0 - Männerhort und Freundschaft seit Jahrzehnten
Re: Ordner per Lotus Script
« Antwort #10 am: 24.01.05 - 16:07:06 »

ich arbeite als entwickler von notes datenbanken und hab somit alle rechte der welt ;D ;D
im designer unter "ordner" werden in meinem fall dann zwei "Suche" ordner angezeigt. ein allgemeiner (mit nem kleinen 1er oben drauf) und den privaten, den es erstellt wenn ich den ordner das erste mal anwähle. offenbar findet er nur den allgemeinen "Suche" ordner und nicht den privaten wenn ich Set folderview = db.GetView("Suche") schreibe. im allgemeinen ist natürlich nix zu finden ...
Eins, zwei oder drei, letzte Chance vorbei! Ob ihr wirklich richtig steht, seht ihr wenn das Licht angeht ...

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: Ordner per Lotus Script
« Antwort #11 am: 24.01.05 - 16:16:10 »
Hi,

so langsam versteh ich's nicht mehr. Ich hab das schon öfters gemacht und es läuft ohne Probleme. Das du dort zwei Ordner siehst ist völlig normal. Es wird aber immer auf den persönlichen Ordner zugegriffen, sofern er besteht.


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

Offline DaemoN

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
  • Shiny!
    • [KOEBS] 4.0 - Männerhort und Freundschaft seit Jahrzehnten
Re: Ordner per Lotus Script
« Antwort #12 am: 24.01.05 - 16:50:49 »
vielleicht ist es besser wenn ich die gesamte funktion mal kurz erkläre:

notes ist ja nicht grad ein paradebeispiel für eine einfache suche wie wir es z.b in xml oder ähnlichem gewohnt sind. ich bin nun an einer sache drann, die notes suche für den anwender zu vereinfachen.

dafür öffne ich eine maske. in dieser maske ist eine eingebettete ansicht die im momentanen status auf den privaten ordner zeigt. in der maske kann ich mehrere kriterien wählen und dann auf einen "suchen" button klicken. hinter dem suchen button ist ein script programmiert, das in einer bestimmten ansicht eine volltextsuche anhand der gewählten werte durchführt und jene dokumente die diesen kriterien entsprechen, in den ordner legen.
bisher war es so dass ich einen allgemeinen ordner angelegt habe wenn der "suchen" button geklickt wird. dieser ordner wird in der eingebetteten ansicht allerdings erst angezeigt wenn ich die datenbank verlasse und nochmals neu einsteige. da ich bei jedem klick, dokumente in den ordner lege, müssen die bisherigen die drinn sind, natürlich wieder rausgeworfen werden. bei einem allgemeinen ordner funktioniert das mit Call entrycoll.RemoveAllFromFolder("Suche") einwandfrei, jetzt aber bei einer privaten ansicht funzt dieser befehl nicht mehr. das hat zur folge dass der ordner bei jedem "suchen" klick mit weiteren dokumenten gefüllt wird und die alten nicht mehr "rausgemoved" werden.

ist es jetzt vielleicht ein bisschen klarer was ich vorhabe? ;D

zusammengefasst:

gemeinsamer ordner -> db verlassen, wieder neu einsteigen bevor eingebettete ansicht angezeigt wird. dokumente von früherer suche aus ordner löschen kein problem

privater ordner -> eingebettete ansicht wird sofort angezeigt, allerdings fehlermeldung beim versuch, frühere suchergebnisse wieder aus ordner zu löschen
Eins, zwei oder drei, letzte Chance vorbei! Ob ihr wirklich richtig steht, seht ihr wenn das Licht angeht ...

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: Ordner per Lotus Script
« Antwort #13 am: 24.01.05 - 18:03:58 »
Hi,

ich hab das schon verstanden was du vorhast. Ich habe das in zwie grösseren Datenbanken am laufen. Sind allerdings noch 5er - Datenbanken. Da war noch nix mit eingebetteten Ansichten, bzw. noch nix richtiges.

Mit 'nem gemeinsamen Ordner brauchst du m.E. erst gar nicht anfangen. Da handelst du dir mehr Probleme ein als dass es dir bringt. Wenn mehrere User gleichzeitig suchen, dann "klaut" einer dem anderen das Suchergebnis. Dir bleiben für eine saubere Funktion nur die privaten Ordner.

Mir ist immer noch nicht so ganz klar, warum er immer auf den "falschen" Ordner zugreift. Ich hatte da nie Probleme.

Kannst du mal die DB mit ein paar Beispieldaten hier reinhängen?

Axel


PS: Kannst du bitte auch Großbuchstaben verwenden. Das erhöht die Lesbarkeit und steigert die Hilfsbereitschaft der anderen Forumsmitglieder.


 
« Letzte Änderung: 24.01.05 - 18:07:05 von Axel »
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz