Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: chock am 19.11.04 - 10:51:49

Titel: auf lokale Arbeitumgebung zugreifen
Beitrag von: chock am 19.11.04 - 10:51:49
Hallo,

kann ich mit normalen @Formeln auf die lokalen Arbeitumgebungen zugreifen?
Ich möchte per Mail Button den Internet Adresse abändern.
Auf dem Server habe ich mir einen Agent gemacht der mit dort die Adressen ändert.
Nur lokal klappt es nicht.

Danke
Titel: Re: auf lokale Arbeitumgebung zugreifen
Beitrag von: Driri am 19.11.04 - 10:56:57
z.B. so, wenn die lokale AU immer einen festen Titel hat :

@Command([FileOpenDatabase]; "" : "names.nsf"  ; "Locations" ; "Büro");
@SetField("Feld"; Wert)
Titel: Re: auf lokale Arbeitumgebung zugreifen
Beitrag von: machineslave am 19.11.04 - 11:15:11
Hallo,

wenn die lokale AU nicht immer gleich ist, bekommst Du den Titel wie folgt heraus:

tempValue := @Environment("Location");
aLocation := @Word(tempValue; ","; 1);
Titel: Re: auf lokale Arbeitumgebung zugreifen
Beitrag von: chock am 19.11.04 - 12:09:25
Danke für die Tipps.
Mit den Locations klappt super.
Nur der Befehl @SetField setzt keinen neuen Wert.
Ich habe mit dem Befehl im Domino Directory verwendet dort klappt er ohne Probleme.
Was könnte das sein?
Titel: Re: auf lokale Arbeitumgebung zugreifen
Beitrag von: koehlerbv am 19.11.04 - 12:19:38
Hast Du bedacht, dass @SetField ("DeinFeld"; ...) in R5 vorher noch ein
FIELD DeinFeld := DeinFeld
benötigt ?

Bernhard
Titel: Re: auf lokale Arbeitumgebung zugreifen
Beitrag von: chock am 19.11.04 - 13:56:19
Irgendwie bekomme ich das nicht hin:
So siehts im Moment aus:

@Command([FileOpenDatabase]; "" : "names.nsf"  ; "Locations" ; "Büro");
tmp1 := FirstName;
tmp2 := LastName;
tmp3 := @Left(tmp1;1);
tmp4 := tmp3 +"."+tmp2+"@Domäne.de";
FIELD InternetAddress := InternetAddress;
@SetField("InternetAddress"; tmp4)

So funzt es auch nicht:
@Command([FileOpenDatabase]; "" : "names.nsf"  ; "Locations" ; "Büro");
tmp1 := FirstName;
tmp2 := LastName;
tmp3 := @Left(tmp1;1);
tmp4 := tmp3 +"."+tmp2+"@Domäne.de";
FIELD InternetAddress := tmp4;
InternetAddress
Titel: Re: auf lokale Arbeitumgebung zugreifen
Beitrag von: Driri am 19.11.04 - 14:04:23
Also bei mir heißt das Feld in den Locations auch "ImailAdress".
Titel: Re: auf lokale Arbeitumgebung zugreifen
Beitrag von: koehlerbv am 19.11.04 - 14:09:45
IMailAddress mit zwei "d", um korrekt zu sein.
Und im genannten Kontext ist @SetField unnötig, FIELD reicht als Zuweisung (also die zweite Variante).

Bernhard
Titel: Re: auf lokale Arbeitumgebung zugreifen
Beitrag von: Driri am 19.11.04 - 14:30:26
Oops, Tippfehler. Gute Augen, Bernhard  ;)
Titel: Re: auf lokale Arbeitumgebung zugreifen
Beitrag von: chock am 19.11.04 - 14:33:15
Mist stimmt. InternetAddress ist beim NAB.
Aber es geht trotzdem noch nicht.
Titel: Re: auf lokale Arbeitumgebung zugreifen
Beitrag von: koehlerbv am 20.11.04 - 01:01:32
Das ist jetzt der zweite Thread in 24 Stunden, bei dem ich einfach nur auf die Fragestellung un d nicht das eigentliche Übel geachtet habe. Mea culpa !

"Chock", Dein Ansatz kann so überhaupt nicht funktionieren:
1) Dein "@Command ([FileOpenDatabase]; ..." markiert lediglich ein Dokument im PersNAB - Du solltest das also wenigstens noch bearbeitbar öffnen und den neuen Inhalt ins Feld einfügen und dann speichern
2) Wo soll den FirstName und LastName herkommen ??

Eine fertige Lösung mag ich jetzt nicht bereitstellen. 1 Uhr - ich geh' endlich ins Bett !

Bernhard
Titel: Re: auf lokale Arbeitumgebung zugreifen
Beitrag von: chock am 23.11.04 - 11:31:42
Hallo,

mit den @Formel geht es bei mir nicht.
Habe es jetzt über ein Script gelöst:

Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim ws As New NotesUIWorkspace
   Dim view As NotesView
   Dim doc As NotesDocument
   Dim doc2 As NotesDocument
   
   
   Set db = s.GetDatabase("", "names")
   Set view = db.GetView("Locations")
   Set doc = view.GetFirstDocument
   While Not(doc Is Nothing)
   Call doc.ReplaceItemValue("" ,"")
   Call doc.ReplaceItemValue("" ,"")
   Call doc.Save( True, True )
      Set doc = view.GetNextDocument(doc)
   Wend
   Set doc2 = New NotesDocument ( db )
                doc2.Form = "Certifier"
   doc2.FullName = ""
   doc2.IssuedBy = ""
   

Habe nun noch eine kleine Frage, kann ich einen neues Zertifikat in das lokale Adressbuch eintragen. Ein Zertifkat habe schon über das Script angelegt, nur den Schlüssel bekomme ich nicht in das neue Dokument.
Titel: Re: auf lokale Arbeitumgebung zugreifen
Beitrag von: koehlerbv am 25.11.04 - 00:20:46
Irgendwie ist diese Code etwas unverständlich ... Vorsichtig ausgedrückt. Der tut ja gar nix, ausser jedes location document neu zu speichern.

Was soll das ? Was willst Du uns sagen ? Warum sollten wir uns Problem 2 widmen, wenn ganz offensichtlich Problem 1 noch überhaupt nicht gelöst ist ?

Bernhard

PS:
Code
Call doc.ReplaceItemValue("" ,"")
Sowas hab' ich vorher noch nie gesehen ... Was soll denn das ? Da denke ich sofort an den biblischen Onan, der hat wohl auch nicht mehr geschafft. Die Wiederholung der code line macht es nicht besser.