use List::Util qw(sum first);
use POSIX qw(strftime);
-use Data::Dumper;
use SL::DB::BankAccount;
use SL::DB::SepaExport;
use SL::Chart;
use SL::CT;
use SL::Form;
use SL::GenericTranslations;
+use SL::Locale::String qw(t8);
use SL::ReportGenerator;
use SL::SEPA;
use SL::SEPA::XML;
$invoice->{reference_prefix_vc} = ' ' . $prefix_vc_number unless $prefix_vc_number =~ m/^ /;
}
+ setup_sepa_add_transfer_action_bar();
+
$form->header();
print $form->parse_html_template('sepa/bank_transfer_add',
{ 'INVOICES' => $invoices,
# all the information from retrieve_open_invoices is then ADDED to what was passed via @{ $form->{bank_transfers} }
# parse amount from the entry in the form, but take skonto_amount from PT again
# the map inserts the values of invoice_map directly into the array of hashes
+ my %selected_ids = map { ($_ => 1) } @{ $form->{ids} || [] };
my %invoices_map = map { $_->{id} => $_ } @{ $invoices };
my @bank_transfers =
map +{ %{ $invoices_map{ $_->{$arap_id} } }, %{ $_ } },
- grep { $_->{selected} && (0 < $_->{amount}) && $invoices_map{ $_->{$arap_id} } }
+ grep { ($_->{selected} || $selected_ids{$_->{$arap_id}}) && (0 < $_->{amount}) && $invoices_map{ $_->{$arap_id} } }
map { $_->{amount} = $form->parse_amount($myconfig, $_->{amount}); $_ }
@{ $form->{bank_transfers} || [] };
'id' => \@vc_ids);
my @vc_bank_info = sort { lc $a->{name} cmp lc $b->{name} } values %{ $vc_bank_info };
+ setup_sepa_create_transfer_action_bar(is_vendor => $vc eq 'vendor');
+
$form->header();
print $form->parse_html_template('sepa/bank_transfer_create',
{ 'BANK_TRANSFERS' => \@bank_transfers,
$form->{title} = $vc eq 'customer' ? $::locale->text('List of bank collections') : $locale->text('List of bank transfers');
+ setup_sepa_search_transfer_action_bar();
+
$form->header();
print $form->parse_html_template('sepa/bank_transfer_search', { vc => $vc });
$row->{$_}->{data} = $::form->format_amount(\%::myconfig, $row->{$_}->{data}, 2) for qw(sum_amounts);
if (!$export->{closed}) {
- $row->{selected}->{raw_data} =
- $cgi->hidden(-name => "exports[+].id", -value => $export->{id})
- . $cgi->checkbox(-name => "exports[].selected", -value => 1, -label => '');
+ $row->{selected}->{raw_data} = $cgi->checkbox(-name => "ids[]", -value => $export->{id}, -label => '');
}
$report->add_data($row);
}
+ setup_sepa_list_transfers_action_bar(show_buttons => $open_available, is_vendor => $vc eq 'vendor');
+
$report->generate_with_headers();
$main::lxdebug->leave_sub();
if (!$form->{mode} || ($form->{mode} eq 'single')) {
push @ids, $form->{id};
} else {
- @ids = map $_->{id}, grep { $_->{selected} } @{ $form->{exports} || [] };
+ @ids = @{ $form->{ids} || [] };
if (!@ids) {
$form->show_generic_error($locale->text('You have not selected any export.'));
$form->error($locale->text('That export does not exist.'));
}
+ my $show_post_payments_button = any { !$_->{export_closed} && !$_->{executed} } @{ $export->{items} };
+ my $has_executed = any { $_->{executed} } @{ $export->{items} };
+
+ setup_sepa_edit_transfer_action_bar(
+ show_post_payments_button => $show_post_payments_button,
+ has_executed => $has_executed,
+ );
+
$form->{title} = $locale->text('View SEPA export');
$form->header();
print $form->parse_html_template('sepa/bank_transfer_edit',
- { 'ids' => \@ids,
- 'export' => $export,
- 'current_date' => $form->current_date(\%main::myconfig),
- 'show_post_payments_button' => any { !$_->{export_closed} && !$_->{executed} } @{ $export->{items} },
+ { ids => \@ids,
+ export => $export,
+ current_date => $form->current_date(\%main::myconfig),
+ show_post_payments_button => $show_post_payments_button,
});
$main::lxdebug->leave_sub();
my $locale = $main::locale;
my $vc = $form->{vc} eq 'customer' ? 'customer' : 'vendor';
- my @items = grep { $_->{selected} } @{ $form->{items} || [] };
+ my %selected = map { ($_ => 1) } @{ $form->{ids} || [] };
+ my @items = grep { $selected{$_->{id}} } @{ $form->{items} || [] };
if (!@items) {
$form->show_generic_error($locale->text('You have not selected any item.'));
my $locale = $main::locale;
my $vc = $form->{vc} eq 'customer' ? 'customer' : 'vendor';
- my @ids = @{ $form->{items} || [] };
- my @export_ids = uniq map { $_->{export_id} } @ids;
+ my @ids = @{ $form->{ids} || [] };
+ my @export_ids = uniq map { $_->{sepa_export_id} } @{ $form->{items} || [] };
$form->show_generic_error($locale->text('Multi mode not supported.')) if 1 != scalar @export_ids;
my @items = ();
foreach my $id (@ids) {
- my $item = first { $_->{id} == $id->{id} } @{ $export->{items} };
+ my $item = first { $_->{id} == $id } @{ $export->{items} };
push @items, $item if $item;
}
my @ids;
if ($form->{mode} && ($form->{mode} eq 'multi')) {
- @ids = map $_->{id}, grep { $_->{selected} } @{ $form->{exports} || [] };
+ @ids = @{ $form->{ids} || [] };
} else {
@ids = ($form->{id});
$main::lxdebug->leave_sub();
}
-sub bank_transfer_mark_as_closed_step1 {
- $main::lxdebug->enter_sub();
-
- my $form = $main::form;
- my $locale = $main::locale;
- my $vc = $form->{vc} eq 'customer' ? 'customer' : 'vendor';
-
- my @export_ids = map { $_->{id} } grep { $_->{selected} } @{ $form->{exports} || [] };
-
- if (!@export_ids) {
- $form->show_generic_error($locale->text('You have not selected any export.'));
- }
-
- my @open_export_ids = ();
- foreach my $id (@export_ids) {
- my $export = SL::SEPA->retrieve_export('id' => $id, vc => $vc);
- push @open_export_ids, $id if (!$export->{closed});
- }
-
- if (!@open_export_ids) {
- $form->show_generic_error($locale->text('All of the exports you have selected were already closed.'));
- }
-
- $form->{title} = $locale->text('Close SEPA exports');
- $form->header();
- print $form->parse_html_template('sepa/bank_transfer_mark_as_closed_step1', { 'OPEN_EXPORT_IDS' => \@open_export_ids, vc => $vc });
-
- $main::lxdebug->leave_sub();
-}
-
-sub bank_transfer_mark_as_closed_step2 {
+sub bank_transfer_mark_as_closed {
$main::lxdebug->enter_sub();
my $form = $main::form;
my $locale = $main::locale;
- map { SL::SEPA->close_export('id' => $_); } @{ $form->{open_export_ids} || [] };
+ map { SL::SEPA->close_export('id' => $_); } @{ $form->{ids} || [] };
$form->{title} = $locale->text('Close SEPA exports');
$form->header();
$form->error($main::locale->text('No action defined.'));
}
+sub setup_sepa_add_transfer_action_bar {
+ my (%params) = @_;
+
+ for my $bar ($::request->layout->get('actionbar')) {
+ $bar->add(
+ action => [
+ t8('Step 2'),
+ submit => [ '#form', { action => "bank_transfer_create" } ],
+ accesskey => 'enter',
+ checks => [ [ 'kivi.check_if_entries_selected', '[name="ids[]"]' ] ],
+ ],
+ );
+ }
+}
+
+sub setup_sepa_create_transfer_action_bar {
+ my (%params) = @_;
+
+ for my $bar ($::request->layout->get('actionbar')) {
+ $bar->add(
+ action => [
+ t8('Create'),
+ submit => [ '#form', { action => "bank_transfer_create" } ],
+ accesskey => 'enter',
+ tooltip => $params{is_vendor} ? t8('Create bank transfer') : t8('Create bank collection'),
+ ],
+ action => [
+ t8('Back'),
+ call => [ 'kivi.history_back' ],
+ ],
+ );
+ }
+}
+
+sub setup_sepa_search_transfer_action_bar {
+ my (%params) = @_;
+
+ for my $bar ($::request->layout->get('actionbar')) {
+ $bar->add(
+ action => [
+ t8('Search'),
+ submit => [ '#form', { action => 'bank_transfer_list' } ],
+ accesskey => 'enter',
+ ],
+ );
+ }
+}
+
+sub setup_sepa_list_transfers_action_bar {
+ my (%params) = @_;
+
+ return unless $params{show_buttons};
+
+ for my $bar ($::request->layout->get('actionbar')) {
+ $bar->add(
+ combobox => [
+ action => [ t8('Actions') ],
+ action => [
+ t8('SEPA XML download'),
+ submit => [ '#form', { action => 'bank_transfer_download_sepa_xml' } ],
+ checks => [ [ 'kivi.check_if_entries_selected', '[name="ids[]"]' ] ],
+ ],
+ action => [
+ t8('Post payments'),
+ submit => [ '#form', { action => 'bank_transfer_edit' } ],
+ checks => [ [ 'kivi.check_if_entries_selected', '[name="ids[]"]' ] ],
+ ],
+ action => [
+ t8('Mark as closed'),
+ submit => [ '#form', { action => 'bank_transfer_mark_as_closed' } ],
+ checks => [ [ 'kivi.check_if_entries_selected', '[name="ids[]"]' ] ],
+ confirm => [ $params{is_vendor} ? t8('Do you really want to close the selected SEPA exports? No payment will be recorded for bank transfers that haven\'t been marked as executed yet.')
+ : t8('Do you really want to close the selected SEPA exports? No payment will be recorded for bank collections that haven\'t been marked as executed yet.') ],
+ ],
+ ], # end of combobox "Actions"
+ );
+ }
+}
+
+sub setup_sepa_edit_transfer_action_bar {
+ my (%params) = @_;
+
+ for my $bar ($::request->layout->get('actionbar')) {
+ $bar->add(
+ action => [
+ t8('Post'),
+ submit => [ '#form', { action => 'bank_transfer_post_payments' } ],
+ accesskey => 'enter',
+ tooltip => t8('Post payments for selected invoices'),
+ checks => [ [ 'kivi.check_if_entries_selected', '[name="ids[]"]' ] ],
+ only_if => $params{show_post_payments_button},
+ ],
+ action => [
+ t8('Payment list'),
+ submit => [ '#form', { action => 'bank_transfer_payment_list_as_pdf' } ],
+ accesskey => 'enter',
+ tooltip => t8('Download list of payments as PDF'),
+ checks => [ [ 'kivi.check_if_entries_selected', '[name="ids[]"]' ] ],
+ not_if => $params{show_post_payments_button},
+ ],
+ );
+ }
+}
+
1;
'Accrual' => 'Soll-Versteuerung',
'Accrual accounting' => 'Soll-Versteuerung',
'Action' => 'Aktion',
+ 'Actions' => 'Aktionen',
'Activate kivitendo module' => 'Modul aktivieren',
'Active' => 'Aktiv',
'Active?' => 'Aktiviert?',
'All general ledger entries' => 'Alle Hauptbucheinträge',
'All groups' => 'Alle Gruppen',
'All modules' => 'Alle Module',
- 'All of the exports you have selected were already closed.' => 'Alle von Ihnen ausgewählten Exporte sind bereits abgeschlossen.',
'All partsgroups' => 'Alle Warengruppen',
'All price sources' => 'Alle Preisquellen',
'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, Erfolgsrechnung, GuV, BWA, Bilanz, Projektbuchungen)',
'Do you really want to cancel this general ledger transaction?' => 'Wollen Sie diese Dialogbuchung wirklich stornieren?',
'Do you really want to cancel this invoice?' => 'Wollen Sie diese Rechnung wirklich stornieren?',
'Do you really want to cancel?' => 'Wollen Sie wirklich abbrechen?',
- 'Do you really want to close the following SEPA exports? No payment will be recorded for bank collections that haven\'t been marked as executed yet.' => 'Wollen Sie wirklich die folgenden SEPA-Exporte abschließen? Für Überweisungen, die noch nicht gebucht wurden, werden dann keine Zahlungen verbucht.',
- 'Do you really want to close the following SEPA exports? No payment will be recorded for bank transfers that haven\'t been marked as executed yet.' => 'Wollen Sie wirklich die folgenden SEPA-Exporte abschließen? Für Überweisungen, die noch nicht gebucht wurden, werden dann keine Zahlungen verbucht.',
+ 'Do you really want to close the selected SEPA exports? No payment will be recorded for bank collections that haven\'t been marked as executed yet.' => 'Wollen Sie wirklich die ausgewählten SEPA-Exporte abschließen? Für Überweisungen, die noch nicht gebucht wurden, werden dann keine Zahlungen verbucht.',
+ 'Do you really want to close the selected SEPA exports? No payment will be recorded for bank transfers that haven\'t been marked as executed yet.' => 'Wollen Sie wirklich die ausgewählten SEPA-Exporte abschließen? Für Überweisungen, die noch nicht gebucht wurden, werden dann keine Zahlungen verbucht.',
'Do you really want to delete AP transaction #1?' => 'Wollen Sie wirklich die Kreditorenbuchung #1 löschen?',
'Do you really want to delete AR transaction #1?' => 'Wollen Sie wirklich die Debitorenbuchung #1 löschen?',
'Do you really want to delete GL transaction #1?' => 'Wollen Sie wirklich die Dialogbuchung #1 löschen?',
'Download PDF' => 'PDF herunterladen',
'Download PDF, do not print' => 'Nicht drucken, sondern PDF herunterladen',
'Download SEPA XML export file' => 'SEPA-XML-Exportdatei herunterladen',
+ 'Download list of payments as PDF' => 'Zahlungsliste als PDF herunterladen',
'Download picture' => 'Bild herunterladen',
'Download sample file' => 'Beispieldatei herunterladen',
'Draft deleted' => 'Entwurf gelöscht',
'Payment Terms' => 'Zahlungsbedingungen',
'Payment Terms missing in row ' => 'Zahlungsfrist fehlt in Zeile ',
'Payment date missing!' => 'Tag der Zahlung fehlt!',
- 'Payment list as PDF' => 'Zahlungsliste als PDF',
+ 'Payment list' => 'Zahlungsliste',
'Payment posted!' => 'Zahlung gebucht!',
'Payment terms' => 'Zahlungsbedingungen',
'Payment terms (database ID)' => 'Zahlungsbedingungen (Datenbank-ID)',
'Post' => 'Buchen',
'Post Payment' => 'Zahlung buchen',
'Post payments' => 'Zahlungen buchen',
+ 'Post payments for selected invoices' => 'Zahlungen für ausgewählten Rechnungen buchen',
'Posting Configuration' => 'Buchungskonfiguration',
'Postscript' => 'Postscript',
'Posustva_coa' => 'USTVA Kennz.',
'SEPA XML download' => 'SEPA-XML-Download',
'SEPA creditor ID' => 'SEPA-Kreditoren-Identifikation',
'SEPA exports' => 'SEPA-Exporte',
- 'SEPA exports:' => 'SEPA-Exporte:',
'SEPA message ID' => 'SEPA-Nachrichten-ID',
'SEPA message IDs' => 'SEPA-Nachrichten-IDs',
'SEPA strings' => 'SEPA-Überweisungen',
<p><div class="listtop">[% title %]</div></p>
- <form action="sepa.pl" method="post">
+ <form action="sepa.pl" method="post" id="form">
<p>
[%- IF is_vendor %]
[% 'Please select the source bank account for the transfers:' | $T8 %]
<tr class="listrow[% IF !invoice.vc_bank_info_ok && invoice.checked %]_error[% END %]">
<td align="center">
[%- IF invoice.vc_bank_info_ok %]
- <input type="checkbox" name="bank_transfers[].selected" value="1"[% IF invoice.checked %] checked[% END %]>
+ [% L.checkbox_tag("ids[]", value=invoice.id, checked=checked) %]
[%- END %]
</td>
<td>
</p>
[%- END %]
- <p>
- <input type="submit" class="submit" name="action_bank_transfer_create" value="[% 'Step 2' | $T8 %]">
- </p>
-
- <input type="hidden" name="action" value="dispatcher">
<input type="hidden" name="vc" value="[%- HTML.escape(vc) %]">
</form>
<script type="text/javascript">
<!--
$(function() {
- $("#select_all").checkall('INPUT[name="bank_transfers[].selected"]');
+ $("#select_all").checkall('INPUT[name="ids[]"]');
});
-->
<p><div class="listtop">[% title %]</div></p>
- <form action="sepa.pl" method="post">
+ <form action="sepa.pl" method="post" id="form">
<p>1.
[%- IF is_vendor %]
[% 'Please select the source bank account for the transfers:' | $T8 %]
[% 'Sum open amount' | $T8 %]: [% LxERP.format_amount(total_trans, -2) %]
</p>
- <p>
- [%- IF is_vendor %]
- <input type="submit" class="submit" name="action_bank_transfer_create" value="[% 'Create bank transfer' | $T8 %]">
- [%- ELSE %]
- <input type="submit" class="submit" name="action_bank_transfer_create" value="[% 'Create bank collection' | $T8 %]">
- [%- END %]
- </p>
-
- <input type="hidden" name="action" value="dispatcher">
<input type="hidden" name="vc" value="[%- HTML.escape(vc) %]">
<input type="hidden" name="confirmation" value="1">
</form>
<script type="text/javascript">
-
- // function toggle(id) {
- // $('#skonto_' + id).change(function() {
- // if($('#skonto_' + id).prop("checked")) {
- // $('#' + id).val( $('#amount_less_skonto_' + id).val() );
- // } else {
- // $('#' + id).val( $('#invoice_open_amount_' + id).val() );
- // }
- // });
- // };
-
$( ".type_target" ).change(function() {
type_id = $(this).attr('id');
var id = type_id.match(/\d*$/);
[%- END %]
<h1>[% title %]: [% HTML.escape(export.ids.join(', ')) %]</h1>
- <form action="sepa.pl" method="post">
- <input type="hidden" name="action" value="dispatcher">
-
+ <form action="sepa.pl" method="post" id="form">
<p>
<table>
<tr>
- [%- IF show_post_payments_button %]
- <th class="listheading" align="center"><input type="checkbox" id="select_all"></th>
- [%- END %]
+ <th class="listheading" align="center"><input type="checkbox" id="select_all"></th>
<th class="listheading">[% 'Invoice' | $T8 %]</th>
<th class="listheading">[%- IF is_vendor %][% 'Vendor' | $T8 %][%- ELSE %][%- LxERP.t8('Customer') %][%- END %]</th>
[%- IF is_vendor %]
<th class="listheading" align="right">[% 'Execution date' | $T8 %]</th>
</tr>
<tr>
- <th class="listheading" colspan="[% IF show_post_payments_button %]3[% ELSE %]2[% END %]"> </th>
+ <th class="listheading" colspan="3"> </th>
<th class="listheading">[% 'IBAN' | $T8 %]</th>
<th class="listheading">[% 'BIC' | $T8 %]</th>
<th class="listheading">[% 'IBAN' | $T8 %]</th>
[% L.date_tag('set_all_execution_date', '', onchange='set_all_execution_date_fields(this);') %]
</th>
[%- ELSE %]
- <th class="listheading" colspan="4"> </th>
+ <th class="listheading" colspan="[% IF vc == 'customer' %]7[% ELSE %]6[% END %]"> </th>
[%- END %]
</tr>
[%- FOREACH item = export.items %]
- <tr class="listrow[% loop.count % 2 %]">
- [%- IF show_post_payments_button %]
- <input type="hidden" name="items[+].id" value="[% HTML.escape(item.id) %]">
- <input type="hidden" name="items[].sepa_export_id" value="[% HTML.escape(item.sepa_export_id) %]">
- <td align="center">
- [%- UNLESS item.executed %]
- <input type="checkbox" name="items[].selected" value="1">
- [%- END %]
- </td>
- [%- END %]
+ <tr class="listrow">
+ <td align="center">
+ [%- IF (show_post_payments_button && !item.executed) || (!show_post_payments_button && item.executed) %]
+ [% L.hidden_tag("items[+].id", item.id) %]
+ [% L.hidden_tag("items[].sepa_export_id", item.sepa_export_id) %]
+ [% L.checkbox_tag("ids[]", value=item.id) %]
+ [%- END %]
+ </td>
<td>
<a href="[% IF item.invoice %][% iris %][% ELSE %][% arap %][% END %].pl?action=edit&type=invoice&id=[% IF is_vendor %][% HTML.url(item.ap_id) %][% ELSE %][% HTML.url(item.ar_id) %][% END %]">[% HTML.escape(item.invnumber) %]</a>
</td>
</table>
</p>
- <p><hr></p>
-
- [%- IF show_post_payments_button %]
- <p>
- <input type="submit" class="submit" name="action_bank_transfer_post_payments" value="[% 'Post payments' | $T8 %]">
- </p>
-
<script type="text/javascript">
<!--
function set_all_execution_date_fields(input) {
}
$(function() {
- $("#select_all").checkall('INPUT[name="items[].selected"]');
+ $("#select_all").checkall('INPUT[name="ids[]"]');
});
-->
</script>
- [%- ELSE %]
- [%- SET has_executed = 0;
- FOREACH item = export.items;
- IF item.executed;
- SET has_executed = 1;
- END ;
- END ;
- IF has_executed %]
- <p>
- <input type="submit" class="submit" name="action_bank_transfer_payment_list_as_pdf" value="[% 'Payment list as PDF' | $T8 %]">
- </p>
-
- [%- FOREACH item = export.items %]
- [%- IF item.executed %]
- <input type="hidden" name="items[+].id" value="[% HTML.escape(item.id) %]">
- <input type="hidden" name="items[].export_id" value="[% HTML.escape(item.export_id) %]">
- [%- END %]
- [%- END %]
- [%- END %]
- [% END %]
-
<input type="hidden" name="vc" value="[% HTML.escape(vc) %]">
</form>
[% USE HTML %]
[%- IF show_buttons %]
- <input type="hidden" name="action" value="dispatcher">
<input type="hidden" name="mode" value="multi">
<input type="hidden" name="vc" value="[%- HTML.escape(vc) %]">
- <p>
- <input type="submit" class="submit" name="action_bank_transfer_download_sepa_xml" value="[% 'SEPA XML download' | $T8 %]">
- <input type="submit" class="submit" name="action_bank_transfer_edit" value="[% 'Post payments' | $T8 %]">
- <input type="submit" class="submit" name="action_bank_transfer_mark_as_closed_step1" value="[% 'Mark as closed' | $T8 %]">
- </p>
-
<script type="text/javascript">
<!--
$(function() {
- $("#select_all").checkall('INPUT[name="exports[].selected"]');
+ $("#select_all").checkall('INPUT[name="ids[]"]');
});
-->
</script>
-<form action="sepa.pl" method="post">
+<form action="sepa.pl" method="post" id="form">
+++ /dev/null
-[%- USE T8 %]
-[% USE HTML %]
-<h1>[% title %]</h1>
-
- <form action="sepa.pl" method="post">
- <p>
- [%- IF vc == 'vendor' %]
- [%- 'Do you really want to close the following SEPA exports? No payment will be recorded for bank transfers that haven\'t been marked as executed yet.' | $T8 %]
- [%- ELSE %]
- [%- 'Do you really want to close the following SEPA exports? No payment will be recorded for bank collections that haven\'t been marked as executed yet.' | $T8 %]
- [%- END %]
- </p>
-
- <p>
- [% 'SEPA exports:' | $T8 %]
- [%- FOREACH id = OPEN_EXPORT_IDS %]
- [%- UNLESS loop.first %], [%- END %]
- <input type="hidden" name="open_export_ids[]" value="[% HTML.escape(id) %]">
- <a href="sepa.pl?action=bank_transfer_edit&id=[% HTML.url(id) %]&vc=[% HTML.url(vc) %]">[% HTML.escape(id) %]</a>
- [%- END %]
- </p>
-
- <p>
- <input type="submit" class="submit" name="action_bank_transfer_mark_as_closed_step2" value="[% 'Mark as closed' | $T8 %]">
- <input type="button" class="submit" value="[% 'Back' | $T8 %]" onclick="history.back()">
- </p>
-
- <input type="hidden" name="action" value="dispatcher">
- <input type="hidden" name="vc" value="[%- HTML.escape(vc) %]">
- </form>
-
[%- USE L %]
<h1>[% title %]</h1>
- <form action="sepa.pl" method="post">
+ <form action="sepa.pl" method="post" id="form">
<p>
<table>
<tr>
</table>
</p>
- <p>
- <input type="hidden" name="action" value="dispatcher">
<input type="hidden" name="vc" value="[%- HTML.escape(vc) %]">
- <input type="submit" class="submit" name="action_bank_transfer_list" value="[% 'Continue' | $T8 %]">
- </p>
</form>