Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: the_summer am 06.05.08 - 10:25:01

Titel: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: the_summer am 06.05.08 - 10:25:01
Hallo,

man kann bei uns im Postfach Bemerkungen für die interne Bearbeitung einfügen.
Wenn ich aber auf eine Mail mit Protokoll antworten will, möchte ich natürlich, dass die internen Bemerkungen nicht mit kopiert werden.
Ich dachte, dass das ganz einfach geht:

Code
TempBemerkung := Bemerkung;
@SetField("Bemerkung"; "");
@Command([Compose];"":"";"Antworttest");
@SetField("Bemerkung"; TempBemerkung);

Aber Notes will da nicht so, wie ich will.....
EDIT: Es passiert das gleiche als würde da nur @Command([Compose];"":"";"Antworttest"); stehen.

Gibt es eine Möglichkeit das mit der Formelsprache zu realisieren, oder muss ich da mit Lotus Script ran?

Vielen Dank

  Gruß
      Jan
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: klaussal am 06.05.08 - 10:35:16
Zitat
Aber Notes will da nicht so, wie ich will.....

Geht's noch ungenauer ?
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: the_summer am 06.05.08 - 11:14:40
Zitat
Aber Notes will da nicht so, wie ich will.....

Geht's noch ungenauer ?

Stimmt. War suboptimal  :-[

Naja es passiert das gleiche, als würde da nur @Command([Compose];"":"";"Antworttest"); stehen.
Die @SetField-Formel wird einfach ignoriert, habe ich den Eindruck.
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: klaussal am 06.05.08 - 11:25:56
Zitat
Die @SetField-Formel wird einfach ignoriert, habe ich den Eindruck.

... und ich habe den Eindruck, dass du glaubst, wir könnten hier zaubern.

Also bitte eine genaue Beschreibung, was Du willst und was nicht geht.
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: m3 am 06.05.08 - 11:29:23
In Domino 5 und früher muss man das Feld deklarieren, bevor man es mit @SetField nutzen kann.
Also

Code
FIELD Bemerkung:=Bemerkung;
@SetField("Bemerkung"; "");
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: klaussal am 06.05.08 - 11:55:25
Meine Kristalkugel sagt mir:

dass, was der "Unbekannte" machen möchte, geht wohl nur über eine Ansichtsaktion.
Neues Doc erstellen, Felder übernehmen Werte, usw usw....

Oder mit LS.
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: cg-home am 06.05.08 - 12:12:44
Hallo the_summer,

wenn ich Deine Formel richtig verstehe, kopierst Du das Feld 'Bemerkung' zuerst in eine Variable
und löscht dieses Feld dann im Original Dokument.
Dann erstellst Du die Antwort von dem Original Dokument und fügst dann
in der Antwort die Bemerkung wieder ein, obwohl Du sie da nicht drin haben willst.

Geht es vielleicht so:
@Command([Compose];"":"";"Antworttest");
FIELD Bemerkung:=@DeleteField;

Ich hatte auch schon mal ein Problem das Feldzuweisungen mit @Command nicht
funktioniert haben und musste dann zwei Schaltflächen verwenden.
Dies betraf allerdings eine Formel in der Symbolleiste und nicht eine Aktion.

mfg Christian
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: the_summer am 06.05.08 - 12:34:41
Zitat
Die @SetField-Formel wird einfach ignoriert, habe ich den Eindruck.

... und ich habe den Eindruck, dass du glaubst, wir könnten hier zaubern.

Also bitte eine genaue Beschreibung, was Du willst und was nicht geht.


Ich möchte:

Eine Antwortmail mit Protokoll erstellen.
In dieser sollen aber bestimmte Felder der Originalmail, die zur internen Bearbeitung verwendet werden, nicht auftauchen (Bemerkungen und Arbeitsprotokoll).

Was nicht geht:

Meine Überlegung war, bevor die Antwortmail erzeugt wird, die betreffenden Felder in einer Variable zwischenzuspeichern und im Originaldokument zu löschen.
Dann die Antwort erzeugen (mit leeren Feldern) und anschließend die Felder der Originalmail wieder mit den zwischengespeicherten Werten füllen.

Dies hat mit dem geposteten Code nicht geklappt. Stattdessen wurde eine Antwortmail mit Protokoll erzeugt, in der auch die Bemerkungen vorhanden waren.

Ich hoffe es ist jetzt klarer.

@m3: Mit FIELD-Deklaration hats leider auch nicht geklappt

@cg-home: Naja, ich will die Bemerkung wieder ins Originaldokument zurückhaben. Nach dem Erzeugen der Antwort das Feld zu löschen, stelle ich mir schwierig vor, da ja das Originaldokument in das Body-Feld der Antwort kopiert wird. Ich vermute mal, da kommt man dann nicht mehr ran.


Gruß
   Jan
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: klaussal am 06.05.08 - 12:51:50
... dann lösch doch einfach die Felder in der Antwort-Mail-Maske.
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: the_summer am 06.05.08 - 13:12:56
... dann lösch doch einfach die Felder in der Antwort-Mail-Maske.

und dann? ???

Das ändert doch nichts. Es wird doch immer noch das gesamte Originaldokument mit allen Feldern in das Body-Feld der Antwort kopiert, also auch die unerwünschten.
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: klaussal am 06.05.08 - 13:30:27
Zitat
Es wird doch immer noch das gesamte Originaldokument mit allen Feldern in das Body-Feld der Antwort kopiert,
Davon war vorher nie die Rede....

Wie wird denn kopiert ?
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: ata am 06.05.08 - 13:34:19
... ich würde es per LS machen. Damit hast du alles im Griff...

Was ist "Bemerkung" für ein Feld - Text oder RichText?

Toni
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: animate am 06.05.08 - 13:46:04
Ich bin schon lange aus dem Notes Geschäft raus, deswegen kann ich nicht sagen ob meine Idee funktioniert.

Es sieht so aus, als ob die Maske, mit der Du das Dokument erstellen willst, die Option eingeschaltet hat, dass das gewählte Dokument in ein RichText-Feld des neuen Dokuments übernommen wird.

Ich gehe mal davon aus, dass nur die sichtbaren Inhalte des ursprünglichen Dokuments in das neue übernommen werden, also könntest Du versuchen, die nicht gewünschten Inhalte zu verstecken, ohne die Inhalte selbst zu ändern.

Das könnte evtl. schon damit funktionieren, dass Du die Form, die im Moment benutzt kopierst und in der Kopie das Feld Bemerkung rausschmeißt.
Vor dem @Command(Create) schiebts Du dem Dokument die neue Form unter (mit FIELD Form := "KopieDerForm") und nach dem @Command wieder die alte.

Eine andere Möglichkeit wäre, das Feld Bemerkung unter bestimmten Bedingungen zu verstecken, aber ich würde erst mal das mit der Form testen.
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: the_summer am 06.05.08 - 13:52:01
Zitat
Es wird doch immer noch das gesamte Originaldokument mit allen Feldern in das Body-Feld der Antwort kopiert,
Davon war vorher nie die Rede....

Wie wird denn kopiert ?

hm. Ich dachte mit "Antwort mit Protokoll" (Reply with History) ist klar, dass damit dieses Häkchen "Gesamtes gewähltes Dokument als RichtText übernehmen" gemeint ist.

Dann ist klar, warum wir etwas aneinander vorbei geredet haben.... ;)
Muss ich mir merken für nächstes Mal.

... ich würde es per LS machen. Damit hast du alles im Griff...

Was ist "Bemerkung" für ein Feld - Text oder RichText?

Toni

So habs jetzt mit LS gemacht.
Habe allerdings noch ein Problem:
Vorher (also mit Formeln) haben sich die Empfänger anhand des ausgewählten Dokumentes selbst eingetragen (die Option "Formeln übernehmen Werte aus gewählten Dokument" ist aktiviert).
In welches Item muss man da das "gewählte Dokument" eintragen, damit das wieder funktioniert?
Oder muss ich das doch noch manuell über LS machen?


Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: klaussal am 06.05.08 - 14:09:23
Zitat
Oder muss ich das doch noch manuell über LS machen?

Ja.
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: ata am 06.05.08 - 14:13:28
Zitat
So habs jetzt mit LS gemacht.

... wie hast du es gemacht - Codebeispiel - denn es gibt immer mehrere Wege nach Rom...

Toni
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: the_summer am 06.05.08 - 14:51:12
Gut. Ich habs jetzt so gemacht, funktioniert zufriedenstellend:

Zitat
   Dim ws As NotesUIWorkspace
   Dim s As NotesSession
   Dim db As NotesDatabase
   Dim collection As notesdocumentcollection
   Dim uidoc As NotesuiDocument
   Dim doc As NotesDocument
   Dim docFW As NotesDocument
   

   Set ws = New NotesUIWorkspace
   Set s = New NotesSession
   Set db = s.CurrentDatabase
   
   Set collection = db.unprocesseddocuments
   If collection.count <> 1 Then Exit Sub
   Set doc = collection.getfirstdocument
   
'Antwortdokument erstellen   
   Set docFW = New NotesDocument(db)
   Call docFW.MakeResponse(doc)
   
'Text und Betreff der Originalmail übernehmen   
   Call docFW.CopyItem(doc.GetFirstItem("Body"), "Body")
   Call docFW.ReplaceItemValue("Subject", "Antwort: " + doc.GetitemValue("Subject")(0) )

'Absender als Empfänger eintragen   
   docFW.SendTo = doc.GetItemValue("From")(0)
   
'Weitere Empfänger wieder als Empfänger eintragen
   If doc.GetItemvalue("SendTo")(0) <> "" Then
      Forall entry In doc.GetItemValue("SendTo")
         If entry <> "Adresse der Abteilung" Then
            docFW.SendTo = Arrayappend(docFW.SendTo, entry)
         End If
      End Forall
   End If      
   
   If doc.GetItemValue("CopyTo")(0) <>"" Then
      docFW.CopyTo = ""
      Forall entry In doc.GetItemValue("CopyTo")
         If entry <> "Adress der Abteilung" Then
            docFW.CopyTo = Arrayappend(docFW.CopyTo, entry)
         End If
      End Forall
   End If
   
   docFW.SaveOnSend = False
   docFW.SaveMessageOnSend = False
   docFW.Form = "Antwort"
   
   Set uidoc = ws.EditDocument (True, docFW)
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: koehlerbv am 06.05.08 - 14:59:35
Was mir hier beim Überfliegen schon auffällt:
- Du vernichtest jegliche Formatierung, evtl. vorhandene embedded objects etc. aus der Ursprungsmail
- "+" ist nicht der korrekte Stringconcatenator
- "Antwort" ist der falsche Formname, dass muss "Reply" heissen.

Bernhard
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: ata am 06.05.08 - 15:08:36
Zitat
... If entry <> "Adress der Abteilung" Then

... könnte vermutlich auch anders gemeint sein
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: the_summer am 06.05.08 - 15:45:16
Was mir hier beim Überfliegen schon auffällt:
- Du vernichtest jegliche Formatierung, evtl. vorhandene embedded objects etc. aus der Ursprungsmail
- "+" ist nicht der korrekte Stringconcatenator
- "Antwort" ist der falsche Formname, dass muss "Reply" heissen.

Bernhard

Das mit der Formatierung stimmt. Danke, ist mir auf Anhieb gar nicht so aufgefallen.
Habe jetzt das Body-Item kopiert, statt nur den Wert.

Bei "Antwort" habe ich keine Probleme feststellen können ("Reply" ist als Alias der Maske eingetragen)


Zitat
... If entry <> "Adress der Abteilung" Then

... könnte vermutlich auch anders gemeint sein

Wie anders gemeint?
Unsere Gruppe/Abteilung hat hier ein Gemeinschaftspostfach und da kommt halt die Emülladresse von dieser hinein.
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: koehlerbv am 06.05.08 - 15:47:22
Und der Alias ist kriegsentscheidend. Spätestens, wenn irgend jemand ein englisches Mailtemplate haben soll, dann scheppert es. Immer den Alias nehmen! Und "Sag niemals nie"  ;)

Bernhard
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: the_summer am 06.05.08 - 15:55:33
Alles klar Chef!  ;)
Wieder was gelernt...^^
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: koehlerbv am 06.05.08 - 16:03:45
Wieder was gelernt...^^

Darauf kommt es an. Und darum sind wir alle hier  ;)

Bernhard
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: LN4ever am 06.05.08 - 22:39:09
Das Feld BEMERKUNG habt ihr eurer Maske ja hinzugefügt, das ist nicht von selbst da drin. Dann könnt ihr ja noch ein COMPUTED FOR DISPLAY-Feld d_Bemerkung BERECHNET BEIM ANLEGEN hinzufügen und dem Feld BEMERKUNG eine HIDEWHEN-Formel @IsUnavailable(d_Bemerkung) verpassen.

CFD-Felder werden bei der Antwort mit Protokoll nicht mitgesendet, also ist das Feld beim Empfänger verborgen (Vorsicht, wenn es ein RichTextFeld ist, dann muß es in einen Abschnitt, der zugeklappt ist und der Abschnitt selbst bekommt die HideWhen-Formel, denn die Inhalte von RT-Feldern tragen ihre HideWhen-Attribute in den Inhalten).

Dann solltest du wieder mit Formelsprache arbeiten können. Probier es aus. Sende es dir auch einmal an eine SMTP-Adresse, ob das Verbergen-Attribut dort auch noch stimmt und funktioniert. Schau auch einmal bei den BODY-Eigenschaften, ob du es dort noch lesen kannst.

Gruß

Norbert
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: ata am 07.05.08 - 08:18:45
Zitat
Zitat von: ata
... If entry <> "Adress der Abteilung" Then

... könnte vermutlich auch anders gemeint sein

Wie anders gemeint?

"Adresse der Abteilung"

... der Stringvergleich könnte eventuell danebenlaufen...

Toni
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: the_summer am 07.05.08 - 09:20:57
Zitat
Zitat von: ata
... If entry <> "Adress der Abteilung" Then

... könnte vermutlich auch anders gemeint sein

Wie anders gemeint?

"Adresse der Abteilung"

... der Stringvergleich könnte eventuell danebenlaufen...

Toni

nein, das war nur ein Platzhalter hier fürs Forum, weil ich die Adresse nicht öffentlich machen wollte.
In Wirklichkeit steht da die wirkliche Adresse drin
Titel: Re: Bei Antwort mit Protokoll eigene Bemerkungen vorher entfernen
Beitrag von: ata am 07.05.08 - 09:31:24
... na dann ist es ja gut...

Toni