Autor Thema: Dialogliste - mehrere Einträge - best. Eintrag austauschen  (Gelesen 4087 mal)

Offline jan2k

  • Junior Mitglied
  • **
  • Beiträge: 64
  • Geschlecht: Männlich
Hallo alle zusammen,

ich hab ein großes Problem.
Ich habe diesen Dokumentenschutz mit eurer Hilfe realisiert.

Ein anderes Feld ist aber eine Dialogliste. Dort sind mehrere Einträge vorhanden. Unter Feldeigenschaften steht
"Vorname Nachname"
"Vorname2 Nachname2"

etc.

Habt ihr irgend einen Tipp, oder irgendwo eine Lösung, dass ich "Vorname2 Nachname2" gegen "Vorname3 Nachname3" austauschen kann?

Leider ist das total wichtig... :(

klaussal

  • Gast
Re: Dialogliste - mehrere Einträge - best. Eintrag austauschen
« Antwort #1 am: 29.07.11 - 11:06:41 »
Zitat
Unter Feldeigenschaften steht
"Vorname Nachname"
"Vorname2 Nachname2"


 ??? ??? ???

Oder meinst Du "auswahl" ?

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Dialogliste - mehrere Einträge - best. Eintrag austauschen
« Antwort #2 am: 29.07.11 - 11:08:00 »
Hallo,

Ich muss mich klauss anschliessen.

Welchen Dokumentenschutz?
Was willst Du erreichen?


Andreas

Offline jan2k

  • Junior Mitglied
  • **
  • Beiträge: 64
  • Geschlecht: Männlich
Re: Dialogliste - mehrere Einträge - best. Eintrag austauschen
« Antwort #3 am: 29.07.11 - 11:15:30 »
Ich hab einen Dokumentenschutz, der sich aus dem Feld der Dialogliste (Zuarbeit) ergibt (Berechnetes Feld, Leserfeld)

In der Dialogliste stehen also die zugriffberechtigten Personen drin.
Wenn ein alter Mitarbeiter geht und ein neuer kommt, müssen also die Namen vertauscht werden.

Das ist mein Problem, ich weiß nicht, wie ich das machen soll.

Ich habe ein anders Feld Namens "who", da ist nur eine Person drin, der Austausch geht dort.

Ich habe mal das Script angehangen, wie das gelöst wurde. (leider nicht von mir)

Was müsste man machen, dass man jetzt die entsprechende Person aus dem Feld ausliest und die gegen eine Person aus der "adminliste" austauscht?
Script Erfahrung = "0"...
Also bei dem Script würde man nur eine Person eintragen können, aber keine Person austauschen können.


admins := @DbLookup (""; @DbName; "($System)"; "System"; "adminliste");
wert := @Prompt ([OkCancelList]; "Wechsel des Bearbeiters"; "Wer übernimmt
die Aufgabe ?"; ""; @Name([CN]; admins));
@If (@IsError (wert); @Return (""); @Success);
ENVIRONMENT DocWho := wert;
@PostedCommand ([ToolsRunMacro]; "(SystemDokWhoanpassen)")


Sub Initialize
     Dim session As New NotesSession
     Dim db As NotesDatabase
     Dim doc As NotesDocument
     Dim collection As NotesDocumentCollection
     Dim aendern As Variant
     Dim nvParent As NotesView

     aendern = session.GetEnvironmentString ("$DocWho", True)
     Set db=session.currentdatabase
     Set collection=db.UnprocessedDocuments
     Set doc = collection.GetFirstDocument ()
     Set nvParent = doc.ParentView



     While Not doc Is Nothing
           doc.Who = aendern
           Call doc.Save (True, False)
           Set doc = collection.GetNextDocument (doc)
     Wend
End Sub

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Dialogliste - mehrere Einträge - best. Eintrag austauschen
« Antwort #4 am: 29.07.11 - 11:18:54 »
Hallole,

in deinem Script wird ein Feld mit Werten überschrieben.

Wieviel Erfahrung im Script'n hast du? Da gibt es mehrere denkbare Ansätze...

Toni
Grüßle Toni :)

Offline jan2k

  • Junior Mitglied
  • **
  • Beiträge: 64
  • Geschlecht: Männlich
Re: Dialogliste - mehrere Einträge - best. Eintrag austauschen
« Antwort #5 am: 29.07.11 - 11:45:34 »
Ich hab leider gar keine ahung in script....

klaussal

  • Gast
Re: Dialogliste - mehrere Einträge - best. Eintrag austauschen
« Antwort #6 am: 29.07.11 - 12:03:57 »
Dann wird es sehr schwierig, wenn nicht unmöglich.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dialogliste - mehrere Einträge - best. Eintrag austauschen
« Antwort #7 am: 29.07.11 - 12:06:23 »
@Replace tut es auch.

Bernhard

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Dialogliste - mehrere Einträge - best. Eintrag austauschen
« Antwort #8 am: 29.07.11 - 12:07:45 »
Also was Du da zusammenbastelst, ist m.E. wirklich gefrickelt, aber ich weiß, dass Du unter höchstem Zeitdruck ohne ausreichende Kenntnisse etwas schaffen sollst. Deshalb hier das Script in dem Stil, in dem Du arbeitest. Schön ist allerdings etwas anderes.

Du musst vorher mittels Deiner Formel den zu ändernden Wert in die Ini-Variable "$DocWhoAlt" setzen, und den neuen Wert in "$DocWhoNeu".

Sub Initialize
     Dim session As New NotesSession
     Dim db As NotesDatabase
     Dim doc As NotesDocument
     Dim collection As NotesDocumentCollection
     Dim alt As String
     Dim neu As String
     Dim who As Variant
     Dim nvParent As NotesView
     alt = session.GetEnvironmentString ("$DocWhoAlt", True)
     neu = session.GetEnvironmentString ("$DocWhoNeu", True)
     Set db=session.currentdatabase
     Set collection=db.UnprocessedDocuments
     Set doc = collection.GetFirstDocument ()
     Set nvParent = doc.ParentView

     While Not doc Is Nothing
           who = doc.Who
           Forall w in who
              If w = alt Then
                 w = neu
                 doc.Who = who
                 Call doc.Save (True, False)
                 Exit Forall
              End If
           End Forall
           Set doc = collection.GetNextDocument (doc)
     Wend
End Sub

Das Script ist nicht getestet, sondern direkt hier geschrieben.
Siehe diese Form der Unterstützung bitte als absolute Ausnahme an.
« Letzte Änderung: 29.07.11 - 12:14:09 von Peter Klett »

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Dialogliste - mehrere Einträge - best. Eintrag austauschen
« Antwort #9 am: 29.07.11 - 12:12:04 »
Noch ein Nachtrag: Du solltest die Ini-Variablen danach löschen. Ergänze das Script also so

alt = session.GetEnvironmentString ("$DocWhoAlt", True)
neu = session.GetEnvironmentString ("$DocWhoNeu", True)
Call session.SetEnvironmentVar ("$DocWhoAlt", "")
Call session.SetEnvironmentVar ("$DocWhoNeu", "")

Offline jan2k

  • Junior Mitglied
  • **
  • Beiträge: 64
  • Geschlecht: Männlich
Re: Dialogliste - mehrere Einträge - best. Eintrag austauschen
« Antwort #10 am: 29.07.11 - 12:47:33 »
Ich versuche es heute Abend einfach mal.
Ich muss nämlich jetzt schon die erste Variante auf einem Server aufspielen und 13 uhr ist hier schluss...

ich meld mich dann noch mal, ob es klapp

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz