Autor Thema: Checkbox löst Aktion aus  (Gelesen 8581 mal)

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Checkbox löst Aktion aus
« am: 27.11.08 - 10:14:52 »
Hallo,

ich habe in einer Maske eine Checkbox. Wenn diese angeklickt wird, soll sich ein Fenster öffnen, ähnlich dem "In Ordner verschieben..." (Aktion).
Dann würde ich gern dort einfach einen Ordner wählen können. Der gewählte Ordner wird danach namentlich in einem Textfeld in der gleichen Maske ausgegeben und die OrdnerID(?) wird sich "gemerkt".
Wenn ich dann schlussendlich auf "Speichern und Schließen" drücke, werden verschiedene Aktionen ausgeführt, inkl. die Verarbeitung der OrdnerID...

Mir geht es hierbei jetzt nur um die Darstellung eines solchen Fensters, in dem vorhandene Ordner dargestellt werden und wo ich einen auswählen kann.
Ist sowas überhaupt machbar? Gibts dafür bereits eine vorhandene Aktion bzw. kann man ein vorhandene Aktion einfach dementsprechend abwandeln?


Ich würde ja gern die vorhandene Aktion "In Ordner verschieben..." nehmen, aber hierbei wird auch gleich ein Dokument (Mail) verschoben. Das will ich aber nicht. Ich will eben nur einen vorhandenen Ordner auswählen können und dann dessen Werte auslesen.


Danke und Gruß

Rico.
Lotus Notes 8.0.2

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Checkbox löst Aktion aus
« Antwort #1 am: 27.11.08 - 10:22:00 »
Den Dialog musst Du dir selber "bauen".
Einfach eine Teilmaske in der beim QueryOpen alle vorhandenen Ordner via LS ausgelesen werden und als Textliste in einem Feld (z.B. "AllFolders" ) gesetzt werden.
Ein anderes Feld als Kombifeld o.ä. festlegen und als Auswahlformel das Feld mit den Ordnernamen verwenden.
Dann kann der Benutzer sein Favoriten wählen und Du kannst die Auswahl auswerten.
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: Checkbox löst Aktion aus
« Antwort #2 am: 27.11.08 - 10:34:06 »
OK, das klingt ja schonmal gut. Ich versuch mal, ob ich zurecht komme...  ;)

Danke
Lotus Notes 8.0.2

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: Checkbox löst Aktion aus
« Antwort #3 am: 27.11.08 - 11:38:26 »
Mir ist da ein einfacherer Weg in den Sinn gekommen...
Ich lege in meiner Maske ein Kombinationsfeld "AllFolders" an. Dieses Kombinationsfeld wird nur angezeigt, wenn eine Checkbox "Mail_move" angeklickt wird. (Das funktioniert bereits)

Dann müsste ich "nur" im Initialize (korrekt?) des KombiFeldes alle Ordner der Maildatenbank des jeweiligen Users auslesen und anzeigen?!
Wenn der User dann einen Ordner anwählt, werden die Ordnerdaten gespeichert (bspw. in Hiddenfields des Profildokuments, welches durch die Maske erstellt wird).

Wäre doch machbar, oder?
Wenn ja, welche Stichworte zum Auslesen von vorhandenen Ordnern einer User-Maildatenbank sind für mich wichtig, damit ich die Hilfe befragen kann?

Gruß
Lotus Notes 8.0.2

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Checkbox löst Aktion aus
« Antwort #4 am: 27.11.08 - 12:51:14 »
ist soweit ok.
Ich würde es aber nicht im Initialize sondern im QueryOpen machen.

Folgende Stichworte, um Folder herauszufinden.

NotesDatabase.Views

NotesView.IsFolder
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: Checkbox löst Aktion aus
« Antwort #5 am: 27.11.08 - 13:00:47 »
Zitat
Ich würde es aber nicht im Initialize sondern im QueryOpen machen.
Es gibt beim Kombinationsfeld kein QueryOpen!
Wenn ich die Ordnersuche ans 'Entering' der Kombibox hänge, erfolgt diese ja erst, wenn ich die Kombibox anklicke?!

 
Lotus Notes 8.0.2

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: Checkbox löst Aktion aus
« Antwort #6 am: 27.11.08 - 13:05:07 »
1. QueryOpen des Dokumentes!

2. in früheren Versionen war NotesView.IsFolder unperformant, das für alle getesteten Ansichten der View-Indes neu aufgebeut wurde. Keine Ahnung, ob das noch in ND8 so ist

3. bitte auch mal @PickList( [FOLDERS]..... in betracht ziehen, das könnet man schön in einen Button packen.

hth

thomas

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: Checkbox löst Aktion aus
« Antwort #7 am: 27.11.08 - 13:41:02 »
Ich hab jetzt folgendes, um mir die Folder einer MailDB erstmal zu ermitteln:
Code
Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim views As Variant
	
	Set db = session.CurrentDatabase
	views = db.Views
	
	Forall v In views
		If (v.IsFolder) Then
			foldername = v.Name			
		End If
	End Forall
Wie bekomme ich denn die Foldernames in meine Kombibox 'AllFolders' rein?
Lotus Notes 8.0.2

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Checkbox löst Aktion aus
« Antwort #8 am: 27.11.08 - 13:46:26 »
Du musst foldernames einem Feld zuweisen (Feld verborgen, Mehrfachwerte zulassen , …).
Das Feld (der Name) schreibst Du als Auswahlformel in Deine Kombobox.
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: Checkbox löst Aktion aus
« Antwort #9 am: 27.11.08 - 14:32:24 »
Du musst foldernames einem Feld zuweisen (Feld verborgen, Mehrfachwerte zulassen , …).
Das Feld (der Name) schreibst Du als Auswahlformel in Deine Kombobox.
...Hab ich gemacht.
Hier nun mein Code, um die Ordner der MailDB auszulesen und ins HiddenField "Foldernames" zu speichern:
Code
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim doc As NotesDocument
	Dim item As NotesItem
	Dim views As Variant
	
	Set db = session.CurrentDatabase
	Set doc = db.GetProfileDocument("MyProfileDoc", session.UserName)
	views = db.Views
	
	Forall v In views
		If (v.IsFolder) Then
			foldername = v.Name
		End If
	End Forall
	
	Set item = doc.AppendItemValue("Foldernames", foldername)
Es steht aber nur der letzte Ordnername, der durch 'ForAll' ermittelt wird, im HiddenField bzw. in der Kombibox (solten so ca. 8 sein). Irgendwas is hier noch faul?!?
Lotus Notes 8.0.2

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Checkbox löst Aktion aus
« Antwort #10 am: 27.11.08 - 14:44:03 »
Code
	Forall v In views
		If (v.IsFolder) Then
			[glow=red,2,300]foldername = v.Name[/glow]
		End If
	End Forall
Es steht aber nur der letzte Ordnername, der durch 'ForAll' ermittelt wird, im HiddenField bzw. in der Kombibox (solten so ca. 8 sein). Irgendwas is hier noch faul?!?
Was tut die markierte Zeile? Sie überschreibt jedes mal den Wert in der Variablen "foldername" und da bleibt nunmal am Ende nur der letzte Wert stehen, da er nicht überschrieben wird.

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: Checkbox löst Aktion aus
« Antwort #11 am: 27.11.08 - 15:06:02 »
Ups, mein Fehler...
Code
	Forall v In views
		If (v.IsFolder) Then
			foldername = v.Name
			Set item = doc.AppendItemValue("Foldernames", foldername)
		End If
	End Forall
Allerdings steht in meiner Kombibox trotzdem nur der letzte 'foldername' drin.

Mir kommt aber grad ein Zweifler... Ich will in ein Feld (lässt Mehrfachwerte zu) Werte speichern! Item (AppendItemValue) ist doch richtig, oder - bin mir grad irgendwie gar nicht sicher?!  ???
Lotus Notes 8.0.2

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Checkbox löst Aktion aus
« Antwort #12 am: 27.11.08 - 15:10:46 »
Du solltest Dir in der Hilfe zu AppendItemValue die Verwendung durchlesen ...

Bernhard

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: Checkbox löst Aktion aus
« Antwort #13 am: 27.11.08 - 15:31:48 »
Mh, ich lag fast richtig... nur statt AppendItemValue sollte es wohl besser ReplaceItemValue heißen, denke ich.
Code
Forall v In views
		If (v.IsFolder) Then
			foldername = v.Name
			Set item = doc.ReplaceItemValue("Foldernames", foldername)
		End If
	End Forall
Ich bekomme aber dennoch nur einen (den zuletzt abgearbeiteten) Ordner in der Kombibox angezeigt!
Irgendwas stimmt noch nicht. Ich vermute, es liegt an dem HiddenField "Foldernames" (Typ Text, Bearbeitbar, Mehrfachwerte), in welches ich die Ordnernamen speichere und welches bei der Kombibox in der Auswahlformel drinsteht (Feldname)?!
Lotus Notes 8.0.2

Offline tfrenz

  • Aktives Mitglied
  • ***
  • Beiträge: 243
  • Geschlecht: Männlich
Re: Checkbox löst Aktion aus
« Antwort #14 am: 27.11.08 - 15:41:39 »
Wie Bernhard schon geschrieben hat, schaue die die Hilfe von AppendItemValue an.
ReplaceItemValue ersetzt ja immer den Wert, da bleibt natürlich nur der Letzte Wert erhalten.

Thomas
Gruß
Thomas

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: Checkbox löst Aktion aus
« Antwort #15 am: 27.11.08 - 16:05:38 »
Mh... Ich liege eigentlich verkehrt mit dem was ich mache.
Ich will eigentlich Values, mein 'foldername' im 'ForAll', in ein vorhandenens Feld "Foldernames" (Item) speichern und nicht neue Items anlegen und mit Werten füllen, so wie´s AppendItemValue (und ich) macht:
Zitat
...Creates a new item in a document and sets the item value.
...oder hab ich jetzt nen Blackout?
Lotus Notes 8.0.2

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: Checkbox löst Aktion aus
« Antwort #16 am: 27.11.08 - 16:34:47 »
Nach meiner Erfahrung: verwende NIE, wirklich niemals AppendItemValue !!
Die Items mit gleichem Namen kann man dann nicht wieder auseinanderfitzen (oder in einem Item vereinigen) --> siehe Hilfe zu GetFirstItem


An der Stelle wäre item.AppendToTextList richtig

Offline tfrenz

  • Aktives Mitglied
  • ***
  • Beiträge: 243
  • Geschlecht: Männlich
Re: Checkbox löst Aktion aus
« Antwort #17 am: 28.11.08 - 07:34:23 »
Für doppelte Einträge gibt es den Befehl Unique!!!

Thomas
Gruß
Thomas

Offline magic_halli

  • Senior Mitglied
  • ****
  • Beiträge: 348
  • Geschlecht: Männlich
Re: Checkbox löst Aktion aus
« Antwort #18 am: 28.11.08 - 07:45:12 »
Vielen Dank an alle... ich habe ein Lösung mittels item.AppendToTextList erreicht.
Das mit Unique werde ich noch untersuchen.

Danke und Gruß
Lotus Notes 8.0.2

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: Checkbox löst Aktion aus
« Antwort #19 am: 28.11.08 - 08:37:15 »
Für doppelte Einträge gibt es den Befehl Unique!!!

Thomas
Was hat jetzt Unique damit zu tun, dass es mehrere gleichnamige Items geben kann? Es geht nicht um den Inhalt, sondern darum, dass es schwer ist, diese Mehrfach-Items in einem Item zusammenzuführen. Das ist in LS schlicht unmöglich (mit Evaluate würde es gehen). Mit GetFirstItem kriegt man halt nur das erste zu fassen, ein GetNextItem gibt es nicht.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz