Beiträge von freedev

    vielen dank für die info, ich hab auch eine einstellung gefunden die diese zertifikatsmeldung unterdrückt, nur leider funktioniert der zustellungsfehlerbericht danach auch nicht mehr sauber. dann kommt nach dem erneut senden und empfänger eintragen die meldung : "Der Verschlüsselungsschlüssel wurde nicht gefunden" und beim empfänger kommt nicht nur die ursprungsmail an, sondern wieder dieser fehlerhafte komplette zustellungsfehlerbericht. gibt es eine einfache möglichkeit ein dokument 1:1 per lotus script an einen empfänger weiterzuleiten ?

    Hallo !


    ich habe mal wieder ein kniffliges problem und hoffe, dass ihr mir vielleicht weiterhelfen könnt.


    ich möchte etwas ganz simples erreichen, nämlich ein vorhandenes dokument per lotus script an einen empfänger x weiterleiten, so als ob empfänger x dieses dokument direkt erhälten hätte.


    habe folgenden agent geschrieben:
    Dim vrecipients As Variant
    Dim doc As NotesDocument
    Dim col As notesdocumentcollection


    Set s = New NotesSession
    Set db = s.currentdatabase
    Set col = db.unprocesseddocuments


    Set doc = col.GetFirstDocument()
    While Not(doc Is Nothing)
    Redim vrecipients( 1 To 1) As String
    vrecipients(1) = "a.br@c.de"
    call doc.send(True, vrecipients)
    Set doc = col.GetNextDocument(doc)
    Wend


    dieses kleine skript funktioniert auch soweit und leitet mir mails weiter.


    nur leider bekomme ich oft vor dem absenden die nachricht "Sie haben angefordert, diese Internet-Nachricht zu signieren, aber Ihre aktuelle ID enthält bzw. verweis auf kein Internet-Zertifikat. Wenn die Nachricht trotzdem gesendet werden soll, wählen Sie 'OK', andernfalls 'Abbrechen'.


    wie kann ich diese meldung unterdrücken ?
    wenn ich call doc.send(False, vrecipients) benutze kommt diese meldung zwar nicht mehr, aber bei zustellungsfehlerberichten kommen diese dann auch nicht mehr beim empfänger mit an, sondern nur die mail, die man bei erneut senden verschicken würde.


    hat jemand eine idee ?


    ich habe auch bereits doc.SignOnSend auf False gesetzt jedoch ohne auswirkung. auch habe ich bereits ein neues dokument mit copyallitems kopiert und dieses dann verschickt, doch leider bleiben die zustellungsfehlerberichte auch dabei nicht wie das original und funktionieren nicht mehr...


    dabei möcht ich doch nur etwas ganz simples, nämlich einfach ein bestehendes dokument so wie es ist an einen anderen empfänger weiterleiten... das kann doch gar nicht so schwer sein, oder ???

    ich habe eine lösung gefunden :)


    ich greife nun per NotesMimeType auf den body text zu. wenn man vorher session.convertmimetype auf false setzt klappt es. eine genauere beschreibung mit beispiel folgt, wenn ich aus dem urlaub zurück bin.


    bis dahin
    gruß
    freedev

    Zitat

    ForAll it in doc.items


    bei mir gibt es in der items auflistung ja leider nur einmal "Body", obwohl in den dokumenteneigenschafte/felder diese 5 Felder "Body" mit Doppeleintrags-ID 1,2,3,4,5 sind...


    Zitat

    Schleife (GetFirstItem, Auslesen, Removen, NICHT SICHERN) bis GETFIRSTITEM NOTHING liefert


    hab ich probiert, aber nach dem ersten Remove sind alle "Body" Felder weg


    es scheint fast so, als ob es wirklich nur ein Body Feld gibt, aber die Dokumenteneigenschaften/Felder zeigen 5 an und die haben auch die Inhalte die ich benötige aber an die ich nicht rankomme...


    kommt ihr denn mit den methoden an mehrere body felder ran ???
    wenn ja welche notes version ?

    vielen Dank für die lösungsversuche, doch leider benötige ich den wert bzw. text aller body felder und auch nach dem kopieren komme ich weiterhin nur an das erste body feld, weil sich auch durch das kopieren die 5 body felder nicht in eins wandeln, sondern immer noch 5 body felder mit doppeleintrags-id 1,2,3,4,5
    sind. ich hab keine idee mehr wie ich dran kommen könnte. vielleicht liegt es auch an der notes version...

    jupp, es wird nur der eine body, den ich auch über GetFirstItem bekomme, in das zieldokument übernommen.
    wie soll es auch anders sein, wenn ich in doc.items im debugger nur 24 items sehe und dabei nur einmal body, obwohl das dokument viel mehr felder hat (unter dokumenteneigenschaften/felder)...


    der trick bzw. workaround in GetFirstItem beschrieben klappt aus schon beschriebenem grund nicht...


    wir nutzen notes 6.5.2 June 01, 2004

    zum einen, in der hilfe steht bei NotesItem.Remove:
    "After calling the Remove method, you must call the Save method in NotesDocument in order to save the change that you have made.
    You can achieve the same result with the RemoveItem method in the NotesDocument class."
    was bedeutet, dass das Resultat das gleiche bei NotesItem.Remove wie bei NotesDocument.RemoveItem(Name) ist. und ich habe es auch getestet, nach dem ersten body item.remove sind alle 5 body items weg, genauso wie bei document.removeitem("Body"). alle weg, obwohl es doch in den dokumenteneigenschaften/felder 5 body felder sind, mit der Doppeleintrags-ID 1, 2, 3, 4, 5


    und ich komm verhext nochmal nicht ran...
    das codebeispiel klappt bei mir nicht, da


    Forall item In doc.Items
    If item.Name = "Mehrmalsfeld_name" Then
    alle(counter) = item.GetFormattedText( False, 0 )
    counter = counter +1
    Redim Preserve alle(counter)
    End If
    End Forall


    jedes item durchgegangen wird, aber wie bei meiner funktion in dem Beitrag beschrieben, das Item "Body" nur einmal drin steht...
    ich nutze lotusnotes 6.5.1. vielleicht liegt es auch daran !?!?

    vielen dank, aber leider gleiches ergebnis, habe jedoch eben die vermeintliche lösung gefunden. in der designerhilfe unter NotesDocument.GetFirstItem:
    "If multiple items in a document have the same name, programmatic access is limited to the first item. The remaining items yield invalid data. A work-around is to get the first item, process it, remove it, again get the first item (which was the second item), and so on until you process all the items with the same name. If you do not save the document, the items are not actually removed. However, the recommendation is that you avoid creating multiple items with the same name."


    und jetzt kommt der hammer, item.remove oder auch notesdocument.removeitem entfernen alle items, nicht eben wie in dem workaround beschrieben nur das eine item, dazu auch aus der hilfe unter NotesDocument.RemoveItem:
    "String. The name of the item to delete from the document. If more than one item has the specified name, all items with this name are deleted. If there is no item with the specified name, the method does nothing."


    ganz ehrlich gesagt, ich verlier den glauben an lotus notes. es kann doch nicht sein, dass ein workaround in einer methode wieder durch die funktion der anderen methode ausschliesst. was ist das für eine entwicklungsumgebung. das der zugriff nicht direkt klappt ist auch schon etwas komisch, der workaround dann sehr versteckt, dass man ihn erst nach 2 tagen intensiven suchens findet, und dann klappt er noch nicht einmal, da eine beschrieben funktion wiederum anders funktioniert...
    ich beende meinen kommentar an dieser stelle lieber...

    Suche Hilfe, vielleicht könnt Ihr mir weiterhelfen...
    habe eine Mail mit 5 Body Feldern mit Doppeleintrags-ID 1-5.
    In der Designer Hilfe steht:
    "Wenn das Gestaltungselement ein Feld besitzt, das zu groß für ein Dokument ist, wird es auf mehrere Dokumente verteilt. Diese ID wird dann an jedes einzelne dieser Dokumente vergeben. Die Dokumente haben jedoch immer noch denselben Namen."


    Ich denke ein NotesDocument = ein Dokument bzw. ein Objekt.
    Wie greife ich von dem einen Document auf das andere zu ?
    Ich möchte doch nur an die Inhalte der 5 Body Felder ran, die ich über die Dokumenteneigenschaften/Felder sehe, aber per Lotus Script sehe ich immer nur das eine Item...
    eine genauere Beschreibung meines Problems siehe Beitrag

    das funktioniert so sauber, sehe ich ja über den debugger... zumal ich als variable nur den rückgabewert der funktion nutze, was funktioniert.


    hab grad noch mal ein wenig probiert, wenn ich solch eine mail über Datei/Exportieren exportiere bekomm ich auch den gesamten inhalt. gibt es eine exportmöglichkeit aus lotus script ? so etwas wie doc.export ???
    habe nur die NotesDXLExporter klasse gefunden, die mir das dokument leider nur in xml liefert. ich benötige aber simplen text...

    Hallo !


    Folgendes Problem:
    Ich habe Dokumente (Antwortmails von Servern die an einen falschen Adressat geschickt wurden) die beinhalten in den Dokumenten-Eigenschaften unter Felder 5 mal das Feld Body mit verschiedenen Inhalten. Jetzt greife ich per Lotus Script auf dieses Dokument zu, aber leider gibt es nun nur noch ein Body Feld... Ich muss aber an alle Infos bzw. an alle Body Feld Inhalte rankommen. Über die Dokumenteneigenschaften/Felder sehe ich ja auch die verschiedenen Inmhalte der 5 Body Felder.


    Ich habe folgendermassen versucht alle Body Felder abzugreifen, was leider nicht kalppt, da in der Items Auflistung nur ein Body Feld vorhanden ist (Debugger geschaut).


    Function GetItemValue(moDocument As NotesDocument, msVariable As String) As String
    GetItemValue = ""
    Forall oItem In moDocument.Items
    If Lcase(oItem.Name) = Lcase(msVariable) Then
    GetItemValue = GetItemValue & oItem.Text
    End If
    End Forall
    End Function


    hat jemand eine Idee ???

    Ronka vielen Dank für die schnelle Hilfe


    Zitat

    6.5.2 und 6.0.4 scheinen das problem mit den .source nicht mehr zu haben


    "scheint" hört sich doch mehr wie ein "wir verweisen mal auf die neuste Version ohne es selbst genau zu wissen" an


    Ich habe dieses Problem eben mal auf einem 6.5.1er Client ausprobiert mit gleichem Ergebnis. In der Source property steht immer der interne Name von der Datei. Dieses Problem tritt jedoch nur dann auf, wenn man auch mehrere Dateien mit dem gleichen Namen als Anhang hinzufügt. Bei unterschiedlichen Dateien funktioniert alles einwandfrei...

    Zitat

    Auf 6.0.4 oder 6.5.2 gehen scheint die einzige antwort zu sein.


    ich werde es zu gegebener Zeit mit einem 6.5.2er Client ausprobieren, wobei ich ein wenig skeptisch bin, dass damit dieses Problem behoben ist. Vielleicht besteht die Möglichkeit, dass Sie noch einmal bei Lotus nachhaken, ich wäre Ihne sehr dankbar...

    Zitat


    taurec schrieb:
    Versucht es mal mit der Eigenschaft Source des NotesEmbeddedObject


    Liefert leider den gleichen internen Namen und ist gleich mit der Eigenschaft Name. Ich hatte das bereits in dem Thema (siehe oben) erwähnt, auch wenn die Eigenschaft Source eigentlich die richtige sein müsste laut Dokumentation, steht dort leider nicht das richtige drin... langsam glaube ich, dass ich einen Bug in Notes gefunden habe...

    wie kann man über LotusScript den "echten" Dateinamen eines Attachments herausbekommen.


    Beispiel: Man fügt die gleiche Datei drei mal als Attachment in eine Mail, Lotus Notes zeigt diese drei Dateien dann auch richtig an. Möchte ich jedoch über Lotus Script diese Dateien extrahieren, so bekomme ich bei der ersten Datei den Originaldateinamen und für die resttlichen ein internes Kürzel wie. z.B.: AC83BKQ oder so ähnlich. Es scheint ein interne Name für Notes zu sein, den man bei den Dokumenteneigeenschaften bei $file auch sieht. Wie komme ich jetzt aber an den ursprünglichen Dateinamen ran. In der Lotus Notes Doku steht für NotesEmbeddedObject.Source : If the NotesEmbeddedObject is a file attachment, this property returns the file name of the original file.
    Leider steht in dieser Property nur wieder dieser interne Name, der auch in der Property Name steht.


    Rein theoretisch würde mir sogar der Dateityp des Attachments reichen, aber auch an den komme ich nicht ran (GetMimeEntity ist bei einem AttachedFile Item Nothing)


    Vielleicht kann mir jemand helfen, ich habe den NotesClient 5.0.11