From: Moritz Bunkus Date: Tue, 10 Nov 2020 10:24:24 +0000 (+0100) Subject: Wiederkehrende Rechnungen: bei E-Mail-Versand Rechnungsattribute als Variablen X-Git-Tag: kivitendo-mebil_0.1-0~9^2~651 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=6aaf7186f2f96021a7467de63f23551cfe02c59f;p=kivitendo-erp.git Wiederkehrende Rechnungen: bei E-Mail-Versand Rechnungsattribute als Variablen Praxisbeispiel ist, dass man im Betreff der Rechnung die Rechnungsnummer angeben möchte; das geht nun mit z.B. »Rechnung <%invnumber%>«. --- diff --git a/SL/BackgroundJob/CreatePeriodicInvoices.pm b/SL/BackgroundJob/CreatePeriodicInvoices.pm index 5c223e6d4..3a74c49f8 100644 --- a/SL/BackgroundJob/CreatePeriodicInvoices.pm +++ b/SL/BackgroundJob/CreatePeriodicInvoices.pm @@ -152,10 +152,7 @@ sub _replace_vars { $key = $::locale->unquote_special_chars('html', $key) if $sub_fmt eq 'html'; my $new_value; - if (!$params{vars}->{$key}) { - $new_value = ''; - - } elsif ($format) { + if ($params{vars}->{$key} && $format) { $format = $::locale->unquote_special_chars('html', $format) if $sub_fmt eq 'html'; $new_value = DateTime::Format::Strptime->new( @@ -164,11 +161,15 @@ sub _replace_vars { time_zone => 'local', )->format_datetime($params{vars}->{$key}->[0]); - } else { + } elsif ($params{vars}->{$key}) { $new_value = $params{vars}->{$1}->[1]->($params{vars}->{$1}->[0]); + + } elsif ($params{invoice} && $params{invoice}->can($key)) { + $new_value = $params{invoice}->$key; } - $new_value = $::locale->quote_special_chars('html', $new_value) if $sub_fmt eq 'html'; + $new_value //= ''; + $new_value = $::locale->quote_special_chars('html', $new_value) if $sub_fmt eq 'html'; $new_value; @@ -431,6 +432,7 @@ sub _email_invoice { for (qw(email_subject email_body)) { _replace_vars( object => $data->{config}, + invoice => $data->{invoice}, vars => $data->{time_period_vars}, attribute => $_, attribute_format => 'text' diff --git a/doc/changelog b/doc/changelog index 968ae476b..3a8876756 100644 --- a/doc/changelog +++ b/doc/changelog @@ -22,6 +22,11 @@ Kleinere neue Features und Detailverbesserungen: Fehlermeldung nach dem Verbuchen von Einkaufsrechnungen, weil auf die Maske zum Erfassen einer weiteren neuen Einkaufsrechnung weitergeleitet wurde. + - Wiederkehrende Rechnung: beim automatischen Versand erzeugter + Rechnungen per E-Mail können nun auch Rechnungsattribute als + Variablen im Betreff & Text der E-Mails genutzt werden + (z.B. <%invnumber%> für die Rechnungsnummer oder + <%transaction_description%> für die Vorgangsbezeichnung). Bugfixes (Tracker: https://www.kivitendo.de/redmine): 97 Benutzer löschen unter System->Benutzer funktioniert nicht diff --git a/doc/dokumentation.xml b/doc/dokumentation.xml index 7f98d4041..c73c1deb4 100644 --- a/doc/dokumentation.xml +++ b/doc/dokumentation.xml @@ -3667,6 +3667,11 @@ digits_year: 4 bis zu welchem Monat und Jahr die aktuelle Abrechnungsperiode dauert: Abrechnungszeitrum: <%period_start_date FORMAT=%m/%Y%> bis <%period_end_date FORMAT=%m/%Y%> + + Beim automatischen Versand der Rechnugen via E-Mail können neben diesen speziellen Variablen auch einige Eigenschaften der + Rechnung selber als Variablen im Betreff & dem Text der E-Mails genutzt werden. Beispiele sind + <%invnumber%> für die Rechnungsnummber oder <transaction_description%> für die + Vorgangsbezeichnung. Diese Variablen stehen beim Erzeugen der Rechnung logischerweise noch nicht zur Verfügung.