Mail an mehrere aber nur einmal
Hallo,
mit dem Code:
for i in 'Empfänger' do
sendEmail({
from: myEmail,
to: text(i.Kunden.Email),
subject: "Ninox - Rechnungs-Nr. " + 'Rechnungs-Nr.' + " vom " + 'Rechnungs-Datum',
text: "_",
html: myHtml1 + " " + i.Kunden.Vorname + "<br>" + myHtml,
attachments: files(this)
})
end
lassen sich ja prima mails an die Empfänger in der Tabelle "Empfänger" verschicken. In dieser Tabelle kommen nun mehrere Empfänger doppelt vor ( zB mehrere Rechnungen unbezahlt). Wie kann ich erreichen, dass jeder Empfänger nur eine mail bekommt ?
Vielen Dank
5 Antworten
-
Hallo,
verstehe ich dich richtig: Du möchtest damit alle offenen Rechnungen per Mail senden. Wenn es mehrere Rechnungen für den gleichen Empfänger gibt würdest Du diese gerne in einer Mail zusammenfassen...?
VG Frank
-
ja, genau das wäre der Plan
VG Detlev
-
Hallo,
hilft hier nicht schon
unique('Empfänger')
??lg, Torsten
-
Hallo,
ich würden mir mal zwei grundsätzliche Vorgehensweisen einfallen:
1. Du gehtst die Empfänger in einer Schleife sortiert nach Empfänger durch
for empf in select 'Empfänger' order by Kunden do
... bei Änderung des Kunden neue Mail ansonsten anhängen ...
end;
und fasst alle Datensätze zu dem gleichen Kunden zusamen.
2. Du rufst die Tabelle mit select ab und speicherst die in ein Array. Dieses Array kannst du dann mit unique(Array) auf einmalige Einträge zusamenfassen. Anhand dieses Array selektierst Du dann wieder die Einträge und fasst alle in eine Mail zusammen:
let myArray := select 'Empfänger'.Kunden;
for kunde in unique(myArray) do
for empf.select 'Empfänger where Kunden=kunde do
.... Mail zusammenstellen ....
end;
end;
VG Frank
-
vielen Dank, werde es testen und hoffe, dass es mir gelingt ...
Content aside
- vor 5 JahrenZuletzt aktiv
- 5Antworten
- 1484Ansichten