Markierungen

  • hallo,
    ich habe eine Dicussion Datenbank etwas umgeschrieben. Und zwar wenn eine neues Thema angefangen wird und es wird darauf geantwortet besteht die Möglichkeit dem Themenersteller die Antwort peer Mail zu schicken oder auch nicht. Damit das ganze übersichtlich bleibt, möchte ich das die Antworten die peer Mail verschickt werden Markierungen erhalten. Dies kann ich doch bestimmt über die Column Properties oder ?
    Nur bin ich mal wieder ein wenig blind.
    Kann mir einer Tips geben ?


    mfg
    Schocke

  • Ich nehme mal an, jemand antwortet und erstellt ein Dok. Dann hat er vielleicht in diesem Dok die Moeglichkeit zu sagen, "ich moechte diese Antwort zusaetzlich als mail an den Ursprungsersteller senden"
    In dem Zusammenhang wuerde ich da auch gleich ein Feldwert setzen, welchen Du Dir dann in einer Ansicht anzeigen kannst

  • deine Annahmen waren vollkommen korrekt. Nur da ich noch blutiger Anfänger in der Notesprogrammierung bin kannst Du mir das mit dem Feldwert ein bischen genauer erklären ?


    mfg
    Schocke

  • Du hast doch in deiner Maske schon ein Feld wo der Benutzer auswählen kann, ob eine Mail gesendet wird.
    Und diesen Feldwert kannst du dann in der Ansichtsspalte verwenden.
    Willst du ein Symbol anzeigen, dann musst du die Spalteneigenschaft einstellen daß Werte als Symbole angezeigt werden und eine Zahl die das entsprechende Icon definiert zurückgeben

  • Na ja, Du moechtest in einer Ansicht sehen, ob das Dok auch als mail gesendet wurde. Und in Ansichten werden Feldinhalte angezeigt...z.B.
    Darum erzeugste in den Dokumenten ein Feld und wenn der Antwortschreiber die mail an den urspruenglichen versendet, setzte das Feld..z.B. "gesendet" auf "1". In einer Ansichtspalte laesste Dir dann genau diesen Feldinhalt anzeigen..da gibt´s dann noch zusaetzlich die Moeglichkeit, das Ganze evtl. als Symbol darzustellen.
    Du kannst das Fed "gesendet" auch mit in die Antwortmaske aufnehmen..als verstecktes Feld z.B.
    Moeglichkeiten gibt´s da..*gg

  • also von der Sache her habe ich es (so glaube ich zumindest verstanden). Also ich habe ein Feld mit dem Namen Mailflag in der Antwortmaske erstellt. In den "Field Properties" unter "Type" habe ich "Text" und "Computed when compose" eingestellt, und als Formel mailflag = "0" eingetragen. Ich hoffe ich habe bis dahin alles richtig gemacht. Nur weiß ich jetzt nicht genau wie ich auf den Wert wieder zurückgreifen kann bzw wie ich ihn ändern kann.
    Lösungsansätze ?

  • Bis hierher klasse :strike:
    Nun der Rest. *gg
    Irgendwo haste doch eine Aktion..Button...mit der der urspruengliche Autor mit einem mail versorgt wird. Wie sieht denn dort der Code aus???

  • Hier mein Sourcecode:




    Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim current As NotesDatabase
    Dim mailbox As New NotesDatabase("","")
    Dim maildoc As NotesDocument
    Dim rtitem As NotesRichTextItem
    Dim session1 As New NotesSession
    Dim db As NotesDatabase
    Dim nuid As NotesUIDocument
    Dim ws As New NotesUIWorkspace
    Dim docParent As NotesDocument
    Dim docThis As NotesDocument


    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Set uidoc = workspace.CurrentDocument
    Call uidoc.Save

    ' Abfrage ob eine Mail an den Kunden geschickt werden soll
    If Messagebox("Soll eine Nachricht an den Kunden geschickt werden ?", 4 + 32, "Frage") = 6 Then



    ' Auslesen der Absenderadresse des Call Erstellers und des Subjects und Body der Mail
    Set db = session1.CurrentDatabase
    Set nuid = ws.CurrentDocument
    Set docThis = nuid.Document
    Set docParent = nuid.Document
    While docParent.ParentDocumentUNID <> ""
    Set docParent = db.GetDocumentByUNID(docParent.ParentDocumentUNID)
    Wend
    address = docParent.from(0)
    subject = "Support wg.: " + docParent.subject(0)
    Set docThis = nuid.Document
    Forall i In DocThis.Items
    If i.name = "Body" Then
    body = i.text
    End If
    End Forall




    ' get handle to mail.box on the users current mail server
    Set current = session.CurrentDatabase
    Call mailbox.Open( current.server, "mail.box" )

    ' Variablen fuellen
    sendas = "testsupport@XXXXXX.com"
    sendto = address

    ' Create a new document in the severs mail box
    Set maildoc = mailbox.CreateDocument
    maildoc.Form = "Memo"
    maildoc.From = sendas
    maildoc.SendFrom = sendas
    maildoc.SendTo = sendto
    maildoc.Recipients = sendto
    maildoc.Subject = subject
    Set rtitem = maildoc.CreateRichTextItem( "Body" )
    Call rtitem.AppendText( body )
    maildoc.PostedDate = Now()
    maildoc.ComposedDate = Now()
    maildoc.DeliveredDate = Now()
    maildoc.Principal = sendas
    maildoc.EncryptOnSend = False

    Call maildoc.Save( True, False )
    End If

    Set uidoc = workspace.CurrentDocument
    Call uidoc.Close

    End Sub

  • Versuch das doch mal:

    Das muesste doch reichen. Hier wird dem Feld MailFlag im aktuellen Dok (also Antwortdok) der Wert 1 zugewiesen.
    In der Ansicht machste dann ´ne spalte, die den Inhalt von mailflag anzeigt.
    Kann auch ´ne Formel sein a la @if(mailflag !="1";"";mailflag)

  • funktioniert leider nicht.
    Ich lege eine neue Spalte an und weise dieser Spalte das Feld Mailflag zu, es wird aber nichts angezeigt. Wie kann ich am besten überprüfen was in dem Feld Mailflag überhaupt steht (finde Mailflag noch nicht einmal beim Debuggen) ?


    mfg
    Schocke

  • Ist schon jemals ein Antwortdok mit dem Wert angelegt worden?? Ausserdem, wenn ueberhaupt, ist das Feld nur in den Antwortdoks enthalten. Heisst, in der "normalen" Spalte musste den Wert in der Antwortspalte mit aufnehmen.
    Ansonsten, rechte Maustaste auf´s Dok ...Dokumenten Eigenschaften..2. Reiter findeste alle im Dok enthaltenen Felder und ihre Werte.

  • Schau mal in Deiner Ansicht nach einer Spalte, die in den Eigenschaften unter denm ersten Reiterchen stehen hat, "show responses only". In dieser Spalte wird alles definiert was von den Antwortdocumenten angezeigt werden soll.

  • das der Wert Mailflag nur in einem Antwortdokument zu finden ist ist Klar. Nur wenn ich jetzt ein Antwortdokument erstelle und sage es soll keine Antwortmail geschrieben werden so fehlt Mailflag in den Document Properties. Wenn ich das Mail senden bestätige so ist in den Document Properties Mailflag vorhanden mit dem Richtigen Wert. Wird denn nicht durch den Eintrag "Computed when compose" der Wert in das Dokument eingetragen ?



    Die Spalte wo in den Eigenschaften "show responses only" steht habe ich gefunden, nur wo finde ich die Definitionen was alles Angezeigt werden soll ?


    mfg
    Schocke

  • Wenn Du im designer die Ansicht oeffnest und die Spalte auswaehlst, solltest Du unten rechts ein Fenster haben, ueber dem steht "Column value". Dort muesste schon was stehen - vermute ich mal - kannste geschickt erweitern.
    Wenn das Antwortdok gespeichert wird sollteste auch das Feld MailFlag haben; egal ob gesendet oder nicht. Du hast es doch in der Antwortmaske erstellt, oder??

  • ja da steht etwas und zwar unter Formeln:


    REM {Variables to translate};
    PrivateTxt := "PRIVATE: ";
    ExpiredTxt := "EXPIRED: ";
    AnonTxt := "Anonymous";
    REM {End variables to translate};
    REM {the following is for alternate name support};
    CNFrom := @If(@Contains(form; "Anonymous"); AnonTxt;@Name([CN]; From));
    CNAltFrom := @Name([CN]; AltFrom);
    Alternatename := @If(AltFrom != "" & AltFrom != From; " [" + CNAltFrom + "]"; "");


    @If(readers != ""; PrivateTxt; ExpireDate != ""; ExpiredTxt; "") + @If(Subject != ""; Subject + " "; "") + "(" + CNFrom + AlternateName + " " + @Text(@Created; "D2S0") + ")"



    nur kann ich damit nicht allzuviel anfangen. Wie und wo muß da was geändert werden ?


    mfg
    Schocke

  • na ja, interessant ist eigentlich nur dieser Teil:
    @If(readers != ""; PrivateTxt; ExpireDate != ""; ExpiredTxt; "") + @If(Subject != ""; Subject + " "; "") + "(" + CNFrom + AlternateName + " " + @Text(@Created; "D2S0") + ")"
    kannste erweitern....

    Code
    @If(readers != ""; PrivateTxt; ExpireDate != ""; ExpiredTxt; "") + @If(Subject != ""; Subject + " "; "") + "(" + CNFrom + AlternateName + " " + @Text(@Created; "D2S0") + ")" [b]+ " " + mailflag[/b]


    da steht dann natuerlich nur ein nuechterner Zahlenfeld drin..mit der Formel.

  • das funktioniert schon einmal. Wenn ich das richtig sehe brauche ich dann keine zusätzliche Spalte.
    Nur anstatt "nur" den Zahlenwert hereinzuschreiben kann ich irgendwie über eine If abfrage ein Icon anstatt der Zahl einfügen ?
    Hätte nicht gedacht das das so kompliziert werden kann. würde ich ohne Hilfe im Leben nicht hinbekommen


    mfg
    Schocke

  • :lol:
    So einfach ist das nicht. Wenn schon Text in der spalte drin steht, kannste keine Grafik mehr anzeigen lassen.
    Dafuer musste dann schon eine eigene Spalte erzeugen, die fuer den Fall eine Grafik anzeigen soll.
    Du kannst bei einer Spalte nur sagen, Werte als Icon anzeigen oder nicht. Mit Text funktioniert das nicht so einfach.

  • OK da das nicht funktioniert habe ich jetzt anstatt eine neue Spalte hinten anzufügen ein Spalte am Anfang eingefügt.
    Und siehe da wenn ich da das Feld Mailflag zuweise komme ich an meine Daten :)


    Warum das anders nicht funktioniert bleibt mir ein Rätsel :-?


    Da ich da aber nicht Zahlen stehen haben möchte sondern ein Icon kann ich doch bestimmt mit Formeln der Spalte ein Icon zuweisen. Wie geht das?



    mfg
    Schocke