Revision 46f9d91b
Von Moritz Bunkus vor mehr als 2 Jahren hinzugefügt
SL/BackgroundJob/CreatePeriodicInvoices.pm | ||
---|---|---|
143 | 143 |
my $sub_fmt = lc($params{attribute_format} // 'text'); |
144 | 144 |
|
145 | 145 |
my ($start_tag, $end_tag) = $sub_fmt eq 'html' ? ('<%', '%>') : ('<%', '%>'); |
146 |
my @invoice_keys = $params{invoice} ? (map { $_->name } $params{invoice}->meta->columns) : (); |
|
147 |
my $key_name_re = join '|', map { quotemeta } (@invoice_keys, keys %{ $params{vars} }); |
|
146 | 148 |
|
147 |
$str =~ s{ ${start_tag} ([a-z0-9_]+) ( \s+ format \s*=\s* (.*?) \s* )? ${end_tag} }{
|
|
149 |
$str =~ s{ ${start_tag} ($key_name_re) ( \s+ format \s*=\s* (.*?) \s* )? ${end_tag} }{
|
|
148 | 150 |
my ($key, $format) = ($1, $3); |
149 | 151 |
$key = $::locale->unquote_special_chars('html', $key) if $sub_fmt eq 'html'; |
150 | 152 |
my $new_value; |
Auch abrufbar als: Unified diff
Drucken: Variablen in Positionen interpolieren
Alle Variablen, die in Schleifen ausgegeben
werden (z.B. Artikelbeschreibung, Langtext, aber auch die Steuern)
werden nun ebenfalls der Interpolation unterzogen, sodass
z.B. in wiederkehrenden Rechnungen <%current_quarter%> in
Artikelbeschreibungen genutzt werden kann — aber auch Belegfelder.