Agent zur Adressübernahme

  • Hi,


    ich brauche einen kleinen Tipp.


    Ein Agent übernimmt Adressen und kopiert diese ins PAB.
    Nun ist in der Maske der Datenbank wo dieser die Daten her holt, folgendes Problem. Die Personen sind Firmen zugeordnet, die Felder wie Firmenname, Adresse werden erst zur Anzeige berechnet.
    Adressen können aber auch übernommen werden, wenn diese Person makiert ist mit:
    Set uidoc = ws.currentDocument


    Dabei werden aber dann Firmenname, Adresse nicht mit übernommen. Nun will ich aber den Firmenname und Adresse auch übertrage.


    Hat da wer eine Idee?


    MFG Michael

  • Das eine ist LotusScript und das andere ist eine Formel.


    Die berechneden Felder sehen so aus:
    dataName := "CompanyName";


    @If (
    @LowerCase(dataName) = @LowerCase(@Word (CompanyData_;"~";1));
    @Replace (@LowerCase(dataName); @LowerCase(@Word (CompanyData_;"~";1)); @Word (CompanyData_;"~";2));
    ""
    )


    Hm keine Ahnung wie ich das umsetzen soll. Ich habe den Agenten zwar etwas angepasst, so dass er aus einer Ansicht(Nur Personendokumente) alle Dokumente in ein bestimmtes Adressbuch überträgt, aber das...


    Ich dachte man könnte irgendwie eine Instanze vorher öffnen und die Daten daraus auslesen.

  • Dann werden die Rohdaten wohl im Feld Companydata drinstehen.


    Diese eine Formel musst du dann in Script nachstellen. Im Normallfall sollte sich das analog zu einem DBLookup mit einem GetDocumentByKey in der entsprechenden Ansicht machen lassen.

  • Dank dir, aber da komm ich nicht weiter.


    Wie kann ich das anstellen, dass der Agent vorher die Ansicht People des PABs leert?
    Wenn nämlich in der Adressdb Leute den selben Namen haben werden diese im PAB überschrieben. Schalte ich die Überprüfung nach Namen ab, muss ich die DB vorher leeren.


    MFG Michael

  • Ok war nicht gut ausgedrückt mit dem leeren, aber das meinte ich ;).




    Ist ein Auszug aus dem Quellcode. Die Ansicht People ist aus dem Adressbuch, wo die Dokumente gelöscht werden sollen.


    Sollte so funktionieren oder?


    MFG Michael

  • So sollte es aussehen:


  • Danke das geht gut :).


    Ok ich habe im weiteren Quellcode ein Fehler, danach kommt noch eine while schleife zum übernehmen der Adressen. kann es sein dass ich die DB connection geschlossen werden muss? (ich hoffe das ist richtig ausgedrückt :) )


    Kann ich die Ansichten auch nicht sichtbar durchsuchen lassen oder müssen diese sichtbar sein?


    MFG Michael

  • Nicht sichtbare Ansichten werden doch "(PersonOnly)" so deklariert.
    Sichtbare mit "PersonOnly"


    Wenn ich die Connection nicht schliessen muss dann liegt es an etwas anderem... komisch gestern lief er noch... ok werd ich schon finden.

  • Du kannst jede Ansicht durchsuchen, nur solche nicht, auf die es explizit nicht fuer Dich erlaubt ist. Egal, ob "unsichtbar" oder nicht.


    Und....Gestern war eh alles besser :hammer:

  • jup :).


    Danke. War nur so ein Gedanke, warum es nicht mehr läuft.
    Ich schau mir das mal morgen intensiv an :).
    Aber muss dann heissen, wenn die Ansicht unsichtbar ist:
    Set viewperson = db.GetView( "(PersonOnly)" )


    Schönen Feierabend zusammen.


    MFG Michael

  • so funktioniert nun alles :). Danke euch.


    Kleine Frage bezüglich des Adressbuches, der Agent überträgt die Daten, nun ist die Sortierung Vorname Nachname, eigentlich eingestellt ist Nachname Vorname. Wie aktualisiere ich diese ohne das manuell machen zu müssen?
    Load updall adressbuch/test.nsf -r brachte keinen erfolg.


    MFG Michael