AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
05.12.21 - 19:06:12
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino 10
| |-+  ND10: Entwicklung (Moderatoren: eknori, fritandr, koehlerbv, Tode)
| | |-+  Verständnisfrage zu "Speichern und ablegen"
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Verständnisfrage zu "Speichern und ablegen"  (Gelesen 2581 mal)
iukhdh
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 499


To be or notes to be, this is the question


« am: 01.04.20 - 15:52:30 »

Hallo liebes Forum,

damit Eure Gedanken nicht immer nur um Corona kreisen, habe ich hier nochmal ein Verständnisproblem:

Ich habe aus meinem vorherigen Post gelernt, dass man Mails mit einer eigenen Maske nicht als EML Datei ablegen kann.
Da ich so eine spezielle Mailvorlage (Krankmeldung) mit eigener Maske habe, die aber als EML Datei vom Personalbereich im Dokumentmanagementsystem abgelegt werden soll, bin ich auf folgende Idee gekommen:

Ich habe einfach den Code im Senden Button durch einen eigenen Code ersetzt, bei dem ich per @Mailsend die notwendigen Infos aufbereite und ohne eigene Maske versende. Somit bekommt der Personalbereich eine aufbereitete Mail, die er als EML ablegen kann. Passt soweit, funktioniert.

Was mir nun aber Probleme bereitet, ist der Button "Senden und ablegen".

Den habe ich soweit auch mit meinem eigenen Code ersetzt, allerdings habe ich diesen Codeschnipsel vom alten Code noch als Abschluß mit integriert, damit die "Ablegen" Funktionalität gewährleistet ist:


Code:
FIELD tmpSendandFileFolder := @PickList([Folders]:[Single];"":"");
MEMO_SEND_FILE:=2097152;
FIELD ActionInProgress:=MEMO_SEND_FILE;
@If(@Command([FileSave]);@Command([FileCloseWindow]);@Return(""))

Als Ergebnis wird nun die Originalmail mit der speziellen Maske in einem Ordner abgelegt, und die angepasste Mail über @Mailsend verschickt.

Wenn ich ehrlich bin, dann verstehe ich nicht zu 100%, was der Code ab Zeile 2 genau bewirkt, aber das Ergebnis hat eigentlich soweit problemlos funktioniert in der NTF Schablone, die ich auf meinem lokalen Rechner getestet habe.

Nachdem wir die Schablone im Echtsystem eingespielt haben, bekommt der Personalbereich nun aber immer 2 Mails, nämlich einmal die von mir zusammengebaute, und dann nochmals die Originalmail mit der speziellen Maske (also die, die abgelegt wird).

Irgendwo wird also nochmals ein Sendenbefehl ausgeführt und ich finde nicht die Stelle wo das passiert und auch nicht den Auslöser dieser Funktionalität.

Kann sich jemand da einen Reim darauf machen? Inwiefern stößt der Code oben nochmals einen Mailversand an und wo muss ich ansetzen diesen zu unterbinden. Die Ablagefunktionalität würde ich aber schon gerne behalten, da die absendenden Bereiche die Originalmail oft noch für eine Weile aufheben wollen.

Vielen Dank für Eure Unterstützung

Bleibt gesund !!

Thomas
Gespeichert

Thomas von der IuK
ronka
Senior Mitglied
****
Offline Offline

Beiträge: 344


Was macht der hier denn, muß der überall sein ?


WWW
« Antworten #1 am: 01.04.20 - 20:40:33 »

Ich vermute das die eigenschafte der Maske (senden) noch eingeschaltet sind.
Gespeichert

das neueste von Domino 10 auf den AdminCamp in September -> www.AdminCamp.de
Tode
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 6651


Geht nicht, gibt's (fast) nicht... *g*


« Antworten #2 am: 01.04.20 - 23:14:45 »

Ja, die tiefen der Mailschablone. Der code stösst das senden nur indirekt an: im Querysave und Postsave der Maske sind events einer Klasse hinterlegt, die in einer Scriptbibliothek liegt (sitze am iPad, deshalb kann ich den genauen Namen nicht nennen). Diese Events lesen das Feld „ActionInProgress“ des Dokuments aus und handeln dann entsprechend. Dabei ist ActionInProgress -wenn ich mich recht erinnere- eine umgerechnete Binärzahl, bei der die gesetzten Bits verglichen werden für die tatsächliche Aktion (1000000000000000000000 ist Deine ActionInProgress binär). Herzlich Willkommen in den Untiefen der Mailschablone...
Gespeichert

Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen...
it898ur
Senior Mitglied
****
Offline Offline

Beiträge: 472


« Antworten #3 am: 02.04.20 - 07:03:25 »

Hallo,

wenn es nur um das Ablegen nach dem Senden geht, würde ich den ausgewählten Ordner an das Script übergeben, welches den Mailversand als Memo erledigt und dann das gesendete Mail speichern und mit putinfolder in den gewünschten Ordner legen. Das Ausgangsmail (welches mit der "falschen" Maske im Frontend offen ist, muss dann nur noch ohne zu speichern geschlossen werden (SaveOptions = 0 ist da hilfreich).

Viele Grüße

André
Gespeichert
iukhdh
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 499


To be or notes to be, this is the question


« Antworten #4 am: 02.04.20 - 08:17:26 »

Hallo Ronka,

was meinst du damit? Die Einstellung "Dialogfeld zum Senden von Mail anzeigen"?

Hallo André,

das scheint mir eine gute Alternative zu sein. Wenn Ronkas Vorschlag nicht hilft, werde ich wohl den Code dahingehend anpassen.

Hallo Torsten,

der Sache werde ich auf jeden Fall auch nachgehen, allein schon um den Mechanismus etwas besser zu verstehen.

Vielen Dank an alle, bleibt gesund!

Thomas

Gespeichert

Thomas von der IuK
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11576


« Antworten #5 am: 02.04.20 - 08:36:04 »

Rudi meint das hier. ( ist aber im DEFAULT unchecked )

Gespeichert
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11576


« Antworten #6 am: 02.04.20 - 08:49:38 »

Zitat
der Sache werde ich auf jeden Fall auch nachgehen, allein schon um den Mechanismus etwas besser zu verstehen.

Die Bit Darstellung von Optionen ist eine sehr elegante Lösung, um eine unbestimmte Anzahl von Optionen zu übertragen und dabei die Methoden nicht mit Parametern zu überfrachten.

In Deinem Beispiel wird nur ein einziger Wert übergeben. Abhängig von den gewünschten Optionen kann aber mit dem einen LONG parameter eine ganze Menge an Optionen übergeben werden. Die werden einfach mittels (logisch ) AND "addiert"
Die Aufgerufene Methode prüft dann, ob das flag an der Stelle gesetzt ist ( also, ob an einer bestimmtzen Stelle eine 1 steht )
Wenn ja, dann ist die Option gesetzt, und der Code kann die gewünschte Funktion ausführen.

In der core_email_class findest du die möglichen Optionen.

Gespeichert
iukhdh
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 499


To be or notes to be, this is the question


« Antworten #7 am: 02.04.20 - 10:04:07 »

Hallo Eknori,

genau die Einstellung hab ich auch gemeint. Die war angehakt, aber das enthaken hat auch  nix bewirkt.

Wenn ich deinen zweiten Hinweis richtig verstehe, dann hat der Eintrag

Code:
MEMO_SEND_FILE:=2097152;
FIELD ActionInProgress:=MEMO_SEND_FILE;

also im Grunde nur zur Folge, dass die Mail versendet wird und hat keine Auswirkungen auf die Ablagefunktionalität? Dann könnte ich diese zwei Zeilen also im Grunde weglassen?
Gespeichert

Thomas von der IuK
iukhdh
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 499


To be or notes to be, this is the question


« Antworten #8 am: 02.04.20 - 10:11:55 »

Habs gleichmal ausprobiert, leider geht dann die Ablagefunktion nicht mehr.
Gespeichert

Thomas von der IuK
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11576


« Antworten #9 am: 02.04.20 - 10:14:57 »

ist doch logisch
Gespeichert
iukhdh
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 499


To be or notes to be, this is the question


« Antworten #10 am: 02.04.20 - 10:25:45 »

Inwiefern?
Leider finde ich keinerlei Informationen zu diesen Einstellungen, im Nachgang vermute ich mal, dass die Kurzbezeichnung "MEMO_SEND_FILE" bedeutet, dass a) gesendet und b)abgelegt wird. Eine Einstellung MEMO_FILE gibt es wohl nicht.

Hast du mir einen Tipp, wo ich das genauer nachlesen kann, in der Hilfe finde ich leider dazu nix. Und so richtig erschließen sich mir die anderen Kürzel und die dahinterstehene Funktionalität nicht.
Gespeichert

Thomas von der IuK
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 11576


« Antworten #11 am: 02.04.20 - 10:57:53 »

Zitat
MEMO_FILE gibt es wohl nicht.
genau das. Aber da kann man ansetzen.
Gespeichert
DominoDancing
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 122

I'm rythm,I'm a dancer and I don't like influencer


« Antworten #12 am: 02.04.20 - 11:32:39 »

Hallo Thomas,

vielleicht hilft Dir ja das Folgende aus dem Dominoforum weiter:

Aktion: Senden
Formel: MEMO_SEND := "1024";
FIELD ActionInProgress := MEMO_SEND
If(@Command([FileSave]);
@Command([FileCloseWindow]); @Return(""));

Aktion: Senden und ablegen
Formel: MEMO_SEND_FILE := 2097152;
FIELD ActionInProgress := MEMO_SEND_FILE;
@If(@Command([FileSave]); @Command([FileCloseWindow]); @Return(""));

Aktion: Speichern
Formel: MEMO_STATIONERYSAVE := "16";
FIELD ActionInProgress := MEMO_STATIONERYSAVE;
@If(@Command([FileSave]); @Command([FileCloseWindow]); @Return(""));

Aktion: Als Entwurf speichern
Formel: MEMO_DRAFT := "4096";
MEMO_STATIONERYSAVE := "16";
FIELD ActionInProgress := ActionInProgress;
@If(Form = "Personal Stationery";
 @SetField("ActionInProgress"; MEMO_STATIONERYSAVE);
 @Do(@SetField("ActionInProgress"; MEMO_DRAFT); @SetField("PostedDate"; @DeleteField)));
@If(@Command([FileSave]); @Command([FileCloseWindow]); @Return(""));

Liebe Grüße
René
Gespeichert

... ich fühl' mich so ... Regenbogen ... Grin
... man muss die Ursache des Problems finden ... oder eine Tüte Glitzerfeenstaub ...
iukhdh
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 499


To be or notes to be, this is the question


« Antworten #13 am: 02.04.20 - 12:32:43 »

Hallo René,

vielen Dank für deine Hinweise, aber leider trifft da keine so recht zu, da es ja darum geht das Senden zu unterbinden, aber trotzdem die Originalmail abzulegen.

Ich habe gerade ein informatives Telefonat mit Eknori geführt.
Nochmals vielen Dank auch an Ihn an dieser Stelle!!!

Die Lösung läuft jetzt dahingehend, dass in meinem Code ein Hilfsfeld "tmpSendOnly" gesetzt wird, und dieses in der core_email_class dazu genutzt wird, den Versand der Mail für diesen Fall auszuschalten.

Code:
If Me.m_noteMemo.Getitemvalue("tmpSendOnly")(0) <> "1" then
            Call Me.m_noteUIMemo.Send()
         End If

(Zeile 611)

Da wäre ich NIE draufgekommen. Gut dass es dieses Forum gibt!!

Vielen Dank an alle Mithelfer, bleibt gesund!

Gespeichert

Thomas von der IuK
Tode
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 6651


Geht nicht, gibt's (fast) nicht... *g*


« Antworten #14 am: 02.04.20 - 13:43:40 »

Super. Aber ich hätte das Feld eher "tmpFileOnly" genannt, so finde ich den Variablennamen verwirrend...
Gespeichert

Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen...
iukhdh
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 499


To be or notes to be, this is the question


« Antworten #15 am: 02.04.20 - 13:57:02 »

Stimmt! Wird korrigiert.
Gespeichert

Thomas von der IuK
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: