Autor Thema: Eigenes Ordnersystem  (Gelesen 7851 mal)

Offline Mikhail

  • Frischling
  • *
  • Beiträge: 13
Eigenes Ordnersystem
« am: 27.05.08 - 14:35:28 »
Hallo Alle :)

habe hier schon via Schnellsuche die meisten "Ordner" Threads durchgelesen, bin aber zu dem Schluss gekommen, dass ich doch einen neuen Thread dafür erstellen muss...
(vorab die Information, dass ich Neuling im Bereich Lotus Notes bin)

Also für meine Ordnerstruktur habe ich mir bereits die Aktionen "Ordner erstellen...", "In Ordner verschieben..." sowie "Aus Ordner entfernen" aus der Standardmaildatenbank übernommen. Da ich die Dokumente "quasi" aus Postein- und ausgang in die jeweiligen Ordner "verschieben" will, muss ich ja eine Flag setzen um diese Dokumente in den Ansichten nicht mehr gezeigt zu bekommen.

Momentan kann ich mit meiner Aktion In Ordner verschieben... (Formelsprache) aber nur Hinzufügen; "Verschieben" ist ausgegraut.
Ich wäre sehr dankbar wenn ihr mir helfen könnten,

entweder das Ausgrauen in irgendeiner Form loszuwerden
oder ein von meiner bisherigen Verschieb-aktion unabhängiges LotusScript zu entwerfen, welches aber auch die Art von Dialogbox bietet wie es @Command([Folder]) tut.

Im Voraus schon ein Danke fürs Lesen und ein weiteres, wenn ihr euch die Mühe macht mir zu helfen.

Michael

Driri

  • Gast
Re: Eigenes Ordnersystem
« Antwort #1 am: 27.05.08 - 16:10:21 »
Für das @Command([Folder]) gibt es zusätzliche Optionen. Mit @Command([Folder];"";"1") kommt die Ordnerauswahl und das Dokument wird dann verschoben.

Das bewirkt der letzte Parameter "1". Wenn man dort "0" setzt oder den Parameter komplett wegläßt, wird das Dokument kopiert.

Ich empfehle auch die Lektüre der Designer-Hilfe, da steht der Befehl noch einmal ausführlich beschrieben.

Offline Mikhail

  • Frischling
  • *
  • Beiträge: 13
Re: Eigenes Ordnersystem
« Antwort #2 am: 28.05.08 - 06:46:12 »
Ah danke, werde es mal probieren und mich mal mit der Designer-Hilfe auseinandersetzen ;)

Edit:
Das scheint so nicht zu funktionieren... Bei dem Dialog bleibt die Möglichkeit Verschieben weiterhin ausgegraut; prinzipiell geht ja auch keine Verschiebung von einer Ansicht in einen Ordner (das ist mir bewusst) aber dann muss es doch die Möglichkeit geben die Sichtbarkeit nach dem Dialog umzustellen...

Also mein Problem ist weiterhin, dass die Mail weiterhin sichtbar bleibt; habe auch schon @SetField probiert, konnte damit aber die sichtbarkeitsflag nicht umstellen... falls jemand 'ne Idee hat, bitte immer her damit :)

Michael
« Letzte Änderung: 28.05.08 - 06:56:15 von Mikhail »

s_Old

  • Gast
Re: Eigenes Ordnersystem
« Antwort #3 am: 28.05.08 - 09:22:57 »
Moin Moin!

Du kannst doch einfach ein bestimmtes Flag setzen beim Verschieben in einen Ordner und alle Dokumente mit eben diesem aus den Ansichten über die Selektionsformel herausfiltern.

@Do(
    @Command([Folder];"";"1");
    FIELD MeinFlag := "1"
);
« Letzte Änderung: 30.05.08 - 15:48:07 von koehlerbv »

Offline Mikhail

  • Frischling
  • *
  • Beiträge: 13
Re: Eigenes Ordnersystem
« Antwort #4 am: 28.05.08 - 09:59:42 »
Danke Sven, das FIELD Flagsetzen funktioniert, allerdings kommt jetzt die Fehlermeldung "Angegebener Befehl kann nicht ausgeführt werden" und der Folder-Dialog kommt nicht mehr... vertragen sich @Command und @Do nicht oder was kann da das Problem sein?

Wie gesagt Flagsetzen funktioniert aber Dialog bleibt weg.

Edit:
Habs nochmal anders herum probiert dann hat's funktioniert; danach wieder so wie du vorgeschlagen hast und es geht auch... problem jetzt: die mailflag wird ja schon vor dem dialog gesetzt und somit auch bei Abbruch; ich versuche das mal mit einer Abfrage zu lösen... danke für die Hilfe an euch beide
« Letzte Änderung: 28.05.08 - 10:08:48 von Mikhail »

Driri

  • Gast
Re: Eigenes Ordnersystem
« Antwort #5 am: 28.05.08 - 10:18:32 »
Sorry, das kam nicht so klar rüber, daß Du versuchst aus einer Ansicht zu verschieben. Das funktioniert natürlich nicht, weil eine Ansicht die Dokumente anhand einer Selektionsformel anzeigt.

Offline Mikhail

  • Frischling
  • *
  • Beiträge: 13
Re: Eigenes Ordnersystem
« Antwort #6 am: 28.05.08 - 10:28:23 »
Danke für die Antwort, aber das ist mir schon klar... die Beschreibung des Unterschiedes habe ich schon oft gelesen; daher versuche ich ja jetzt die Flag zu setzen.

Mein aktuelles Problem ist folgendes:
Die Flag wird gesetzt und zwar schon bevor der Dialog abgeschlossen ist. D.h. im Falle einer Verschiebung klappt es prima; aber wenn der Benutzer Abbrechen wollte, wäre die Email durch die Flag "quasi im Æther verschwunden"

Ich muss also irgendwie an das Ergebnis des Dialoges dran kommen, also die dialogresults wenn man so will... weiß einer wie man an diese dialogergebnisse ran kommt, bzw. haben die verschiedenen buttons in dem Dialog überhaupt verschiedene Werte?

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: Eigenes Ordnersystem
« Antwort #7 am: 28.05.08 - 10:36:22 »
Ohne Code lässt sich da wenig sagen. Poste mal den Code und dann können wir weitersehen.


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

Offline Mikhail

  • Frischling
  • *
  • Beiträge: 13
Re: Eigenes Ordnersystem
« Antwort #8 am: 28.05.08 - 10:47:17 »
Hallo Axel,

ich habe keinen wirklich konkreten Code; ich stelle mir das so vor

variable := @command([folder];"";"1");
@if(
variable != abbruch;
@do(
sichtbarkeit=1);
"")

Das heißt, in eine Variable soll das Ergebnis eines Dialogs gespeichert werden. Dann soll abgefragt werden ob das Ergebnis eben nicht das des Buttons Abbrechen ist und in dem Fall soll die Flag eben gesetzt werden. Das Problem ist, dass ich in der Formelsprache noch weniger versiert bin als in LotusScript :D und, dass Dialogresults (für mich bekannt aus VB.NET) ja nicht unbedingt Teil jeder Programmiersprache sein müssen.

Abseits davon: Mich wundert, dass ein simples
@Command([Folder];"";"1")
in der Standardmaildatenbank funktioniert, während es in der von mir bearbeiteten eben nicht funktioniert.

Michael

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: Eigenes Ordnersystem
« Antwort #9 am: 28.05.08 - 11:23:03 »
So kann das nicht funktionieren, weil das Folder-Command keinen Rückgabewert liefert. Ich sehe da auch wenig Chancen. Auch bei der entsprechenden Script-Methode ist der Rückgabewert undefiniert.

Als einzigste Alternative sehe ich im Moment, dass du einen eigenen Dialog erstellst, die vorhandenen Ordner ausliest und in einer Liste in der Dialogbox zur Auswahl anbietest. Dann hast du die Möglichkeit auszuwertern, ob die Dialogbox mit OK oder Abbrechen beendet wurde.

Momentan kann ich mit meiner Aktion In Ordner verschieben... (Formelsprache) aber nur Hinzufügen; "Verschieben" ist ausgegraut.

Dann wird die Aktion mit Sicherheit aus einer Ansicht heraus gestartet. In diesem Fall kannst du das Dokument nur in einen Ordner hinzufügen.

Ruft du das Ganze aus einem Ordner heraus auf, dann ist auch der Verschieben-Button aktiv.

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

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Re: Eigenes Ordnersystem
« Antwort #10 am: 28.05.08 - 11:28:01 »
Ich habe mal eine Label funktion so wie bei google mail gebaut .... bei Interesse kann ich es gerne hier hochladen.....
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Offline Mikhail

  • Frischling
  • *
  • Beiträge: 13
Re: Eigenes Ordnersystem
« Antwort #11 am: 28.05.08 - 11:38:26 »
Danke euch beiden für die Vorschläge.

Also bei mir ist Verschieben nicht mehr länger ausgegraut aber deswegen verschiebt er es natürlich trotzdem nicht (wie du schon sagtest, Axel, ist es eine Ansicht, da geht das ja schlecht)

Da kein Rückgabewert vorhanden ist, habe ich nun auch begonnen über LotusScript Möglichkeiten nachzudenken. Wahrscheinlich ist es das Beste eine eigene DialogBox dafür zu erstellen, wie du vorgeschlagen hast, Axel. Aber wie gesagt bin ich noch nicht so versiert in LotusScript - mal schauen ob ich das irgendwie hinkriege; werd' den Quelltext hier posten, falls ich was habe.

Danke auch dir Christopher; so wie du das realisiert hast sieht das schon gut aus; das gibt mir die ungefähre Idee, wie es nachher aussehen könnte. Danke für das Angebot es hochzuladen, aber ich werde mal schauen, ob ich's selbst hinbekomme.

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Eigenes Ordnersystem
« Antwort #12 am: 28.05.08 - 11:41:00 »
Ich hätte da vielleicht noch etwas, geht aber nur mit Script.
Und zwar das Ereignis 'QueryAddToFolder'. Wenn dur das nutzt, kannst Du, wenn du die Mail in einen Ordner verschiebst,
ein Flag mitgeben und dann mit der Selection-Formula in der Ansicht filtern.

Hab schon öfter mal was damit gemacht. Du kannst sogar nach Ordner die Aktionen unterschiedlich gestalten, Target gibt Dir den Zielordner wieder.

Ich führe so zum Beispiel gewisse aktionen aus, wenn ein User eine Mail in den Ordner 'Unerwünschte Mail' verschiebt.

mfg

Kjeld

Edit: Das muß aber in jede Ansicht/Ordner aus der Du etwas verschieben willst.
Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

Offline Mikhail

  • Frischling
  • *
  • Beiträge: 13
Re: Eigenes Ordnersystem
« Antwort #13 am: 28.05.08 - 11:52:03 »
Hallo Kjeld,

wie genau meinst du das? Wird QueryAddToFolder dann angestoßen wenn die Aktion @Command([Folder]) verarbeitet ist oder wie muss ich das verstehen? Hast du ein Beispielquelltext, damit ich das nachvollziehen kann?

Michael

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Eigenes Ordnersystem
« Antwort #14 am: 28.05.08 - 14:42:28 »
Hallo Michael,

ja, es gibt das Ereignis in jeder/m Ansicht/Ordner, es wird ausgeführt beim Verschieben mit Button oder per Drag and Drop:

Code
Sub Queryaddtofolder(Source As Notesuiview, Target As Variant, Continue As Variant)
     'Source ist die aktuelle Ansicht, Target ist der Zielordner und mit Continue kannst Du die Sache abbrechen (für genaueres, Hilfe konsultieren)
	     If Instr(Target, "JunkMail") > 0 Then 'zum Bsp
		'Hier kommt Deine von Dir gewünschte Aktion rein
          Dim dc as NotesDocumentCollection
          Set dc = Source.Documents 'das sind die angehakten
          Call dc.StampAll("FlagFeld", 1) 'Alle Dokumente bekommen dieses Flag
	     End If
End Sub

Probier mal.

mfg

Kjeld
Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

Offline Mikhail

  • Frischling
  • *
  • Beiträge: 13
Re: Eigenes Ordnersystem
« Antwort #15 am: 28.05.08 - 15:03:21 »
Danke für den Vorschlag, Kjeld.

Ich denke ich habe das Ereignis verstanden und daher bin ich mir nicht sicher ob es für mein Ordnersystem das Richtige ist. Dein Beispiel bezieht sich ja auf den "JunkMail"-Ordner. Bei mir gibt es aber (wie ganz am Anfang schon mal kurz erwähnt) die Möglichkeit die Ordner selbst zu erstellen, d.h. jeder neu erstellte Ordner müsste direkt eine Queryaddtofolder mit dem Instr-Vergleich Target, "Ordnername" bekommen - wahrscheinlich würde das sogar irgendwie gehen, aber wie man sicherlich schon merkt wird's an der Stelle weitaus komplizierter als bei deinem noch relativ simplen Quellcode.

Ich denke ich werde mir einen eigenen Dialog mit Picklist stricken müssen...
nochmal Danke an Alle!
Wenn ich 'was neues hab' werd' ich's hier 'reinschreiben ;)

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Eigenes Ordnersystem
« Antwort #16 am: 28.05.08 - 15:53:11 »
Hallo Michael,

mußt Du nicht, war nur ein Beispiel. Man muß nicht auf Target abfragen.
Ich hatte das nur so gemacht, um nicht das Ereignis bei allen Ordnern machen zu müssen.
Wenn das aber sein soll, dann gib doch dem Ordnernamen ein Suffix oder Präfix, an dem Du diese Spezialordner identifizierst
Und eigentlich brauchst Du das Script nur bei den Ansichten, denn aus Ordnern kann man es ja verschieben. Und neue Ansichten werden selten von den Usern erstellt, eher Ordner.
Naja, trotzdem viel Glück. Und bei Fragen fragen ;) .

mfg

Kjeld
Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

Offline Mikhail

  • Frischling
  • *
  • Beiträge: 13
Re: Eigenes Ordnersystem
« Antwort #17 am: 29.05.08 - 07:26:54 »
Hey Kjeld,

hab' gerade mal ein wenig 'rumprobiert... der Debugger zeigt, dass das Event bei mir nur beim Drag&Drop ausgeführt wird und in der Designerhilfe steht auch, dass es dadurch ausgelöst wird. Der Benutzer wird aber eher eine Schaltfläche benutzen wollen...

Du hast doch geschrieben, dass es auch durch Buttonclick angestoßen werden kann, bist du dir sicher, dass das stimmt?

Grüße
Michael

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Eigenes Ordnersystem
« Antwort #18 am: 29.05.08 - 07:57:33 »
Hi Michael,

sorry, mein Fehler  ::). Hast Recht, das Script müsste dann auch in den Button rein.
Asche auf mein Haupt.

Kjeld
Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

Offline Mikhail

  • Frischling
  • *
  • Beiträge: 13
Re: Eigenes Ordnersystem
« Antwort #19 am: 29.05.08 - 08:23:06 »
Hey, macht ja nix, es wird halt irgendwie immer komplizierter....
Die QueryAddToFolder gibt's dann ja auch nur bei Aktionen, welche in LotusScript formuliert wurden. Das heißt das simple @Command([Folder];"";"1") der Formelsprache kommt dann wieder nicht in Frage und schon muss man das durch weitaus komplexeres LotusScript ersetzen...

Hast du das bei deinen Datenbanken denn irgendwie in LotusScript realisieren können?

Michael

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz