@Command([AddAccountToBriefcase];

  • Hallo zusammen,


    hat irgendwo jemand eine Docu über dieses @-Command hier?


    @Command([AddAccountToBriefcase];


    Das findet man im Postsave Event der Form "Benutzerkonto" des persönlichen Adressbuchs im 7er Client.


    Ich bin gerade dabei, die Einrichtung von POP und SMTP in einem Notesclient zu automatisieren.
    Klappt soweit auch alles, nur auf der Replikatorpage des Clients wird der Empfang und Versand nicht automatisiert eingetragen.
    Und da ist mir o.a. Befehl unter die Füsse gekommen.
    Aber leider werden die Sachen auch nicht eingetragen, wenn ich den entsprechend parametriert auf dem Client aufrufe.


    Interessieren würde es mich aber dennoch, was der bewirken würde.


    Gruß

  • War ein kleiner Bug in meinem Script. Jetzt klappt das wunderbar mit einrichten eines zusützlichen POP/SMTP Kontos.


    Aber dennoch wäre es interessant für den undokumentierten Befehl @Command([AddAccountToBriefcase]; ne Doku zu haben.

  • Naja, würde das aber nicht dem Prinzip eines undokumentierten Befehls zuwiderlaufen? ;)


    Nee ernsthaft: ich weiß, was du meinst. IBM macht sich auch an anderen Stellen den Spaß undokumentierte Befehle zu verwenden, wo man dann nur aus dem Zusammenhang erschließen kann, was sie tun und was sie an Parametern erwarten. Was allerdings reichlich unclever ist, wenn der Code offen liegt und man so eben geistig reverse engineeren kann :D Warum die das dennoch tun, das ist eine der großen ungeklärten Fragen der Menschheit und wird frühestens mit dem Eintritt nach Walhalla offenbar. Wirst dich also noch gedulden müssen.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Zitat

    Naja, würde das aber nicht dem Prinzip eines undokumentierten Befehls zuwiderlaufen?


    Wenn man mal genauer drüber nachdenkt, könntest Du Recht haben. :strike:


    Dann einfach ein wenig "sit and wait" machen :pint:

  • Hallo zusammen,


    ich muss das Thema hier noch mal aufgreifen, da es doch noch nicht ganz zu 100% funktioniert.
    Mein Prozess erstellt im lokalen Adressbuch ein Konto für POP und eins für SMTP.
    Dann wird in der Arbeitsumgebung "Internet" die Replizierung (alle 30 minuten) aktiviert und der Mailversand entsprechend eingetragen.
    Es sieht auch soweit alles gut aus. Sofern das Dokument ausgewählt wird, erscheinen auch die Einträge auf der Replizierungsseite des Clients.


    Aber es wird nur einmalig repliziert. Das Intervall von 30 minuten wird nicht eingestellt.
    Nach dem Wechsel repliziert er einmal und dann steht oben rechts "Nächte Replizierung: 00:01-23:59"
    Und das ist eigentlich das Intervall, welches ich vorgegeben habe. Hat da jemand eine Idee, warum dort nicht die aktuelle Zeit + 30min eingetragen wird?
    Erst wenn ich das Dokument "Internet" einmal speichere, steht dort die richtige Zeit.

  • Dann mach noch ein ComputeWithForm hinterher, dann sollte es auch tun.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Nee, ich meinte schon hinterher, nachdem du das Dokument zusammengeschraubt hast, aber natürlich vor dem .save

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Tjo, dann werde ich doch noch mal suchen müssen.


    Hier mal der Code, der für das Dokument zuständig ist.
    Eigentlich ja nicht wirklich aufregend.


    Wird mir wohl nicht übrig bleiben, als die beiden Dokument (bevor ich das mit dem Client gespeichert habe und danach) mal zu vergleichen und die Unterschiede festzustellen.


  • "Interval" ist doch eigentlich ein numerisches Feld, du setzt einen String rein.


    Unbd Fehler bei der Validierung sich nicht ausgeben lassen, das ist auch nicht wirklich sinnig, finde ich.


    /edit:
    Und zudem wird ComputeWithForm nicht gecalled, sondern in einer If abgefragt.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Zitat

    "Interval" ist doch eigentlich ein numerisches Feld, du setzt einen String rein.


    Du bist mein Held. Das wars.
    Danke :ack:


    Zitat

    Unbd Fehler bei der Validierung sich nicht ausgeben lassen, das ist auch nicht wirklich sinnig, finde ich.


    /edit:
    Und zudem wird ComputeWithForm nicht gecalled, sondern in einer If abgefragt.


    Und dafür gibts für mich direkt 2 x was auf die Mütze :box:


    Das sollte man in der Tat nicht machen. Und ich versuche mich daran zu halten ;)

  • Wobei jetzt wirds (so finde ich zumindest) doch mal interessant:


    Code
    Set noteLocation = doccol.GetFirstDocument
    If Not noteLocation.ComputeWithForm(True, True) Then 	
    Messagebox "Ein Fehler ist aufgetreten." 
    Exit Sub
    End If


    Ich hole mir also das original Internet Dokument und mache darauf ein ComputeWithForm inkl. Fehlermeldungen und erhalte ein


    "Notes error: Validation failed."


    und das genau in der ComputeWith...Zeile.


    Hast du eine Idee, wieso das nun kommt?
    Weil die Feldinhalte sind/sollten doch korrekt gefüllt sein.

  • Sollten sie richtig gefüllt sein oder sind sie es ?


    Mach doch einfach mal das Dokument vor dem Compute im Frontend auf (NotesUIWorkspace.EditDocument) und drück dann F9.
    Dann bekommst du eine entsprechende Clientmeldung.


    Hast du auch eventuell im QueryOpen/QuerySave/PostOpen gesetzte Werte in dein Script mitübernommen ?

  • Zitat

    Sollten sie richtig gefüllt sein oder sind sie es ?


    Da es sich um ein von IBM erstelltes Dokument nach einer neuen Clientinstallation handelt, gehe ich davon aus, dass die Felder korrekt gesetzt sind.


    Zitat

    Hast du auch eventuell im QueryOpen/QuerySave/PostOpen gesetzte Werte in dein Script mitübernommen ?


    Jo, im QueryOpen Event der Maske Arbeitsumgebung wird u.U. das ReplicationEnabled gesetzt. Das setzte ich auch mit meinem Skript.


    Könnte es das sein?


    Aber das mit EditDocument und F9 prüfe ich mal...

  • Doc per EditDocument aufgemacht.
    Zwei Felder noch mit Text gefüllt (Inernetadresse und Internetdomain) und bei F9 gibts keinen Fehler.


    Fülle ich allerdings die Felder und mache dann das COmpute gibts die Meldung.

  • Also mal langsam.


    - Ich hole mit das Arbeitsumgebungsdokument Internet
    - Öffne das per uiworkspace.editdocument
    - Dann bekomme ich nach einem F9 die Meldung, dass zwei Felder (Internetadresse und Internetdomain) zu füllen sind, sofern ich mails direkt ins internet schicke
    - Also tippere ich die per hand ein
    - F9 -> Alles klar, keine Meldung


    Mache ich "das gleiche" per Skript
    - Ich hole mit das Arbeitsumgebungsdokument Internet
    - Fülle meine Felder
    - Mache das ComputeWithForm -> gibts die Meldung "Incorrect data type for operation of @Formula: Number expected"


    Nur wo?

  • Und was soll die Aktion bringen ?


    Du führst dein Script aus, füllst Felder mit Werten und rufst statt dem Save und ComputeWithForm das EditDocument auf und drückst dann F9.


    Wenn dann eine Fehlermeldung kommt kennst du die Ursache.

  • Zitat

    Du führst dein Script aus, füllst Felder mit Werten und rufst statt dem Save und ComputeWithForm das EditDocument auf und drückst dann F9.


    Das hat leider auch nicht geholfen.
    Aber Problem ist nun gelöst.


    Code
    Call noteLocation.ReplaceItemValue("MailThreshold", "1")


    War noch das Problem, da MailThreshold auch integer ist und kein Text.


    Im UI hat das dummerweise keinen Fehler geworfen. Notes denkt da wohl mit.

  • Im UI macht er beim Speichern automatisch eine Typkonvertierung, im Backend nicht.
    Daher auch der indirekte Hinweis von RockWilder, daß die Datentypen stimmen sollten.


    Und wenn MailThreshold ein Integer ist, wieso setzt du dann wieder einen Text ?