Dokument versenden !!! HILFE???!!!

  • Hallo ich schon wieder


    Und zwar habe ich ein Formular, das einen Action beinhaltet, diese Aktion sollte bewirken, dass zu einem das Dokument gespeichert wird und zum anderen dass das Dokument in die MailIn Datenbank geht und ein Mail an den ersten Bearbeiter.
    Nur wenn ich das ganze so mache wie jetzt, geht zwar ein Mail in die MailIn DB aber das Formular ist nicht darin enthalten. Der mit dem DokumentLink funkt.


    Kann mir da jemand weiterhelfen????




    @Command([FileSave]);
    @MailSend("QM@test.ch";"";"";"Verbessrungsvorschlag/Fehlermeldung");
    @MailSend("hans.muster@muster.ch";"";"";"Verbessrungsvorschlag/Fehlermeldung";"";"Link zum Dokument";[IncludeDoclink]);
    @Command([FileCloseWindow])


    Grüsse


    Pxi


    :-? :-? :-? :-?

    • Offizieller Beitrag

    Du versendest eine Mail an die MailInDB und keine Kopie des Formulars.
    Außerdem zeigt Dein Doclink auf das Dokument in Deiner "Formular-DB" nicht in die MailInDB!


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

    • Offizieller Beitrag

    folgendes würde ich tun:
    - ein Feld SendTo hinzufügen und Adresse eintragen (brechnet, versteckt - oder wie Du es gern hättest)
    im QuerySave Deiner Maske muss dann dies rein
    - uidoc.Send ' Dokument wird an die Adressen in SendTo versendet (MailINDB)
    - Continue = false ' Dokument wird in Deiner Formular-DB nicht abgespeichert.
    - Maske mit dem Formularnamen in der MailInDB erstellen oder die aus der Formular-DB reinkopieren.


    ODER besser:
    im QuerySave der Maske ind er Formular-DB:

    Code
    dim session as new NotesSession
    dim doc as NotesDocument
    dim doc_kopie as NotesDocument
    dim db_MailIn as NotesDatabase
    set db_MailIn = session.GetDatabase("HierServerNameEintragen", "HierPfadundDBDateinameEintragen")
    set doc = Source.Document
    ' Falls Du noch Notes < 5.0 hast kommt bei der nächsten Zeile ein Fehler
    set doc_MailIN = doc.CopyToDatabase(db_MailIN) ' Dokument in MailInDB kopieren
    result = Evaluate(@MailSend("hans.muster@muster.ch";"";"";"Verbessrungsvorschlag/Fehlermeldung";"";"Link zum Dokument";[IncludeDoclink]);doc_MailIn)

    habs nicht getestet!
    Continue = False


    Gruß
    Dirk

  • Sub Querysave(Source As Notesuidocument, Continue As Variant)
    Dim session As New NotesSession
    Dim doc As NotesDocument
    Dim doc_kopie As NotesDocument
    Dim db_MailIn As NotesDatabase
    set db_MailIn = session.GetDatabase ("zrhds01/zrh/ch/poyry",
    "mail\eech\general\eech_501001_01.nsf")
    Set doc = Source.Document
    End Sub


    Das funkt nicht obwohl der Pfad richtig ist, habe ich da was vergessen???


    Das heisst er zeigt mir die ganze Server und Pfadgeschichte Rot an.


    Grüsse


    Pixi


    :roll: :roll:

  • kein Wunder: ein Backslash musst du escapen. Mach aus dem "\" ein "\\"


    /edit:
    oder mach gleich Slashes draus. Das ist dem Server gleich

    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

  • Moijns!


    taurec: ja, dachte ich eigentlich auch mal. Aber ich hatte schon mehrfach merkwürdige Dinge damit (5.0.10 und 6.0.2CF1 waren meine Lieblinge). Seitdem schreibe ich nur noch slashes. Das kann der Server beim besten Willen nicht mehr fehlinterpretieren :D


    Pixi: willst du aus welchen Gründen auch immer die Zeile auf 2 Zeilen aufteilen, musst du ein underscore nach dem Komma setzen. Statt

    Code
    set db_MailIn = session.GetDatabase ("zrhds01/zrh/ch/poyry","mail\eech\general\eech_501001_01.nsf")


    ein

    Code
    set db_MailIn = session.GetDatabase ("zrhds01/zrh/ch/poyry",[size=large][color=FF0000][b]_[/b][/color][/size]
    "mail\eech\general\eech_501001_01.nsf")


    Der Zeilenumbruch nach Database sollte da nicht stehen, wird hier vom Forum umgebrochen


    greetz
    RW

    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

  • Sub Querysave(Source As Notesuidocument, Continue As Variant)
    Dim session As New NotesSession
    Dim doc As NotesDocument
    Dim doc_kopie As NotesDocument
    Dim db_MailIn As NotesDatabase
    Set db_MailIn = session.GetDatabase("zrhds01/zrh/ch/poyry", "mail/eech/general/eech_501001_01.nsf")
    Set doc = Source.Document
    Set doc_MailIN = doc.CopyToDatabase(db_MailIn)
    End Sub


    Ok habe jetzt alles auf der gleichen Linie, keine Unterbrüche....
    Aber funkt immer noch nicht. Er sagt mir immer noch das es dieses Dokumken nicht gibt. HILFE???!!!!!


    Im Querysave...???


    Grüsse


    PIXI :-?

  • Hallo,
    wenn ich das richtig verstanden habe hast Du den Code im Querysafe eingefügt. Damit wird der auch jedesmal beim speichern ausgeführt. Das aber nur mal nebenbei.
    Wenn dieser Code aber bei einem neuen Dokument ausgeführt wird kann er nicht funktionieren! Mit
    Set doc = Source.Document
    versuchst Du über das FrontEnd-Dokument (welches auf dem Bildschirm ist) auf das BackEnd-Dokument (auf dem Server) zuzugreifen. Das gibt es aber noch gar nicht, da es noch nicht gespeichert wurde! :nono:
    Versuch doch mal den Code in das Event "Postsave" zu setzen. Dort sollte es funktionieren

  • Hallo


    Geht auch nicht. Eigentlich möchte ich das Dokument das ich in dieser DB aufrufe und erstelle, als Original abspeichern in einer MailIN DB. Somit belaste ich meine andere DB nicht unötig. das heisst das Form wird zwar in der ersten DB aufgerufen, wird aber in der zweiten DB in diesem Fall MailIn DB abgespeichert.


    Wie kriege ich das hin??????


    Zudem habe ich einen Workflow den ich vorgeben möchte, dass heisst das Dokument wird automatisch an den zuständigen berabeiter als DOCLINK geschickt. Wenn er das DOK öffnet zeigt dies autoamtisch in die MailIn DB.



    Vielen Dank für eure schnelle Hilfe :pint:


    Grüsse


    Pixi

  • So, hat etwas länger gedauert, aber dafür hab ich sogar schon einen Test gemacht. :)
    Zumindest den ersten Teil, das kopieren in Deine MailIn-DB kriegen wir hin. Den rest hab ich mir noch nicht so genau angeschaut...
    Setz mal folgenden Code in den QueryClose Event:
    Sub Queryclose(Source As Notesuidocument, Continue As Variant)
    Dim session As New NotesSession
    Dim doc As NotesDocument
    Dim id As String
    Dim doc_kopie As NotesDocument

    pfad = "Mail/test.nsf"
    Dim db_neu As New NotesDatabase("Servername/bla/bla", pfad)

    Set doc = Source.Document
    id = doc.UniversalID
    Set copydoc = doc.ParentDatabase.GetDocumentByunID(id)
    Call copydoc.CopyToDatabase(db_neu)
    End Sub


    Du musst natürlich noch den Servernamen und die Pfadangabe anpassen. Damit haben wir das Dokument auf jeden Fall in der anderen DB. Danach kannst Du ja mal weiterschauen. Ich muss jetzt leider zu nem Kunden. Sorry und viel Glück!

  • Also ich habe jetzt im Event Query Close diesen Code.
    wenn ich dann in der MailIn DB das Dok suche ist es erstens im Draft und zweitens lässt es sich nicht öffnen :-? weil es das Form nicht findet. GRÜBEL......
    Was habe ich da wohl falsch gemacht?????


    Grüsse


    PIXI



    Sub Queryclose(Source As Notesuidocument, Continue As Variant)
    Dim session As New NotesSession
    Dim doc As NotesDocument
    Dim id As String
    Dim doc_kopie As NotesDocument

    pfad = "mail/eech/general/eech_501001_01.nsf"
    Dim db_neu As New NotesDatabase("zrhds01/zrh/ch/poyry","mail/eech/general/eech_501001_01.nsf")

    Set doc = Source.Document
    id = doc.UniversalID
    Set copydoc = doc.ParentDatabase.GetDocumentByunID(id)
    Call copydoc.CopyToDatabase(db_neu)
    End Sub

  • Deine Maske wird in deiner DB ja wohl kaum Memo heissen und der Inhalt wird wahrscheinlich auch nicht im Feld Body sein.
    Damit wirst du dann in der MailIN Db ein Dokument haben mit dem du mailtechnisch nichts anfangen kannst.
    Entweder du versendest das Dokument über die Methode Send oder du musst nach dem Kopieren zumindest mal das Feld Form auf Memo setzen

  • Zitat


    taurec wrote:
    Deine Maske wird in deiner DB ja wohl kaum Memo heissen und der Inhalt wird wahrscheinlich auch nicht im Feld Body sein.
    Damit wirst du dann in der MailIN Db ein Dokument haben mit dem du mailtechnisch nichts anfangen kannst.
    Entweder du versendest das Dokument über die Methode Send oder du musst nach dem Kopieren zumindest mal das Feld Form auf Memo setzen


    Sorry versteh ich nicht ganz; kannst du mir das ein bisschen Anfängerfreundlicher formulieren.


    :-?


    Wo ist das Feld Memo und wo ist das Feld Body deklariert???


    grüsse



    PIXI :D

  • Notes arbeitet grundsätzlich mit Masken um Daten darzustellen.
    Auch in deiner Mail-Datenbank existieren für die Mails Masken.
    Diese hat den Namen "Memo".


    Um nun zu erreichen dass ein bestimmtes Dokument mit einer bestimmten Maske dargestellt wird, wird normalerweise die Maske verwendet die im Feld Form deines Dokumentes definiert ist, ansonsten die Vorgabemaske.


    Da die Maske in deiner Anwendung in der du das Dokument ja erstellt hast ganz sicher anders als "Memo" heisst, steht genau dieser Wert nun im Feld Form.
    Also wird in deiner MailIn Datenbank nach der passenden Maske gesucht, welche aber nicht gefunden werden kann, daher die Fehlermeldung.


    Zum Punkt mit den Feldinhalten:
    Da ja in der Maske definiert ist welche Felder in welcher Art und Weise angezeigt werden, kannst du natürlich nicht durch einfaches Wechseln der Masken deine Daten genauso anzeigen wie du sie eingegeben hast.
    Ein Beispiel dazu:


    Du hast eine Maske "Test" mit den Feldern "Feld1" und "Feld2".
    Dieses kopierst du jetzt in eine Mail Datenbank und änderst das Form-Feld auf "Memo".
    Wenn du dieses Dokument jetzt öffnest wird dir nur das Design aber kein Inhalt, also der Inhalt der Felder "Feld1" und "Feld2" angezeigt.
    Die Inhalte sind zwar noch vorhanden, werden aber durch die Definition der Maske "Memo" nicht angezeigt.
    Diese zeigt nur Mail-Felder wie z.b. Body und Subject an. Daher die Frage danach.

  • Hallo da bin ich wieder,


    aber habe leider immer noch nicht begriffen was ich ändern muss oder wo ich etwas anpassen muss :-o
    Sorry sorry sorry.


    Also muss ich jetzt etwas in der Mailin Db ändern oder wo genau :D


    Grüsse


    Pixi

  • Hallo da bin ich wieder,


    aber habe leider immer noch nicht begriffen was ich ändern muss oder wo ich etwas anpassen muss :-o
    Sorry sorry sorry.


    Also muss ich jetzt etwas in der Mailin Db ändern oder wo genau :D


    Grüsse


    Pixi