Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision db101cc6

Von Cem Aydin vor mehr als 2 Jahren hinzugefügt

  • ID db101cc6810a2250cac479b6f653bf084c625adf
  • Vorgänger 64ba4cbb
  • Nachfolger 2d2a5559

Swiss QR-Bill: QR-Referenz soll in der jeweiligen Rechnung gespeichert werden

Unterschiede anzeigen:

SL/IS.pm
use SL::IO;
use SL::TransNumber;
use SL::DB::Chart;
use SL::DB::Customer;
use SL::DB::Default;
use SL::DB::Draft;
use SL::DB::Tax;
......
use SL::TransNumber;
use SL::DB;
use SL::Presenter::Part qw(type_abbreviation classification_abbreviation);
use SL::Helper::QrBillFunctions qw(get_qrbill_account assemble_ref_number);
use Data::Dumper;
use strict;
......
$amount = $form->round_amount( $netamount + $tax, 2, 1);
# qr reference
my $qr_reference;
if ($form->{has_qr_reference}) {
# (re-)generate reference number
# get qr-account data
my ($qr_account, $error) = get_qrbill_account();
die $error if !$qr_account;
# get customer object
my $customer_obj = SL::DB::Customer->load_cached(conv_i($form->{customer_id}));
# assemble reference number with check digit
($qr_reference, $error) = assemble_ref_number($qr_account->{bank_account_id},
$customer_obj->{customernumber},
$form->{ordnumber},
$form->{invnumber});
die $error if !$qr_reference;
} else {
# if the reference number has been previously defined keep it
if (defined $form->{qr_reference}) {
$qr_reference = $form->{qr_reference};
} else {
$qr_reference = undef;
}
}
# save AR record
#erweiterung fuer lieferscheinnummer (donumber) 12.02.09 jb
......
globalproject_id = ?, delivery_customer_id = ?,
transaction_description = ?, delivery_vendor_id = ?,
donumber = ?, invnumber_for_credit_note = ?, direct_debit = ?, qrbill_without_amount = ?,
delivery_term_id = ?
qr_reference = ?, delivery_term_id = ?
WHERE id = ?|;
@values = ( $form->{"invnumber"}, $form->{"ordnumber"}, $form->{"quonumber"}, $form->{"cusordnumber"},
conv_date($form->{"invdate"}), conv_date($form->{"orddate"}), conv_date($form->{"quodate"}), conv_date($form->{tax_point}), conv_i($form->{"customer_id"}),
......
conv_i($form->{"globalproject_id"}), conv_i($form->{"delivery_customer_id"}),
$form->{transaction_description}, conv_i($form->{"delivery_vendor_id"}),
$form->{"donumber"}, $form->{"invnumber_for_credit_note"}, $form->{direct_debit} ? 't' : 'f', $form->{qrbill_without_amount} ? 't' : 'f',
conv_i($form->{delivery_term_id}),
$qr_reference, conv_i($form->{delivery_term_id}),
conv_i($form->{"id"}));
do_query($form, $dbh, $query, @values);
......
a.mtime, a.itime,
a.language_id, a.delivery_customer_id, a.delivery_vendor_id, a.type,
a.transaction_description, a.donumber, a.invnumber_for_credit_note,
a.marge_total, a.marge_percent, a.direct_debit, a.qrbill_without_amount, a.delivery_term_id,
a.marge_total, a.marge_percent, a.direct_debit, a.qrbill_without_amount, a.qr_reference, a.delivery_term_id,
dc.dunning_description,
e.name AS employee
FROM ar a
SL/Template/OpenDocument.pm
use SL::DB::BankAccount;
use SL::Helper::QrBill;
use SL::Helper::QrBillFunctions qw(get_qrbill_account assemble_ref_number
get_ref_number_formatted get_iban_formatted get_amount_formatted);
use SL::Helper::QrBillFunctions qw(get_qrbill_account get_ref_number_formatted
get_iban_formatted get_amount_formatted);
use SL::Helper::ISO3166;
use Cwd;
......
my %ref_nr_data;
if ($::instance_conf->get_create_qrbill_invoices == 1) {
# generate ref.-no. with check digit
my ($ref_number, $error) = assemble_ref_number(
$qr_account->{'bank_account_id'},
$form->{'customernumber'},
$form->{'ordnumber'},
$form->{'invnumber'},
);
if (!$ref_number) {
$::form->error($error);
}
%ref_nr_data = (
'type' => 'QRR',
'ref_number' => $ref_number,
'ref_number' => $form->{'qr_reference'},
);
# get ref. number/iban formatted with spaces and set into form for template
# processing
$form->{'ref_number'} = $ref_number;
$form->{'ref_number_formatted'} = get_ref_number_formatted($ref_number);
$form->{'ref_number'} = $form->{'qr_reference'};
$form->{'ref_number_formatted'} = get_ref_number_formatted($form->{'qr_reference'});
} elsif ($::instance_conf->get_create_qrbill_invoices == 2) {
%ref_nr_data = (
'type' => 'NON',
bin/mozilla/is.pl
use SL::DB::Invoice;
use SL::DB::PaymentTerm;
use SL::DB::ValidityToken;
use SL::Helper::QrBillFunctions qw(get_ref_number_formatted);
require "bin/mozilla/common.pl";
require "bin/mozilla/io.pl";
......
$TMPL_VAR{creditwarning} = ($form->{creditlimit} != 0) && ($form->{creditremaining} < 0) && !$form->{update};
$TMPL_VAR{is_credit_remaining_negativ} = $form->{creditremaining} =~ /-/;
# qr reference
my $has_qr_reference = $::instance_conf->get_create_qrbill_invoices == 1 &&
$form->{formname} eq 'invoice' ? 1 : 0;
$TMPL_VAR{has_qr_reference} = $has_qr_reference;
if ($has_qr_reference && defined $form->{qr_reference}) {
$TMPL_VAR{qr_reference_formatted} = get_ref_number_formatted($form->{qr_reference});
}
# set option selected
foreach my $item (qw(AR)) {
$form->{"select$item"} =~ s/ selected//;
locale/de/all
'Purpose (if field names purpose, purpose1, purpose2 ... exist they will all combined into the field "purpose")' => 'Verwendungszweck (wenn die Spalten purpose, purpose1, purpose2 ... existieren werden diese zum Feld "purpose" zusammengefügt)',
'Purpose/Reference' => 'Verwendungszweck und Referenz',
'QR bill without amount' => 'QR-Rechnung ohne Betrag',
'QR reference' => 'QR-Referenz',
'QR-Code placeholder image: QRCodePlaceholder not found in template.' => 'QR-Code Platzhalter Bild: QRCodePlaceholder nicht in Druckvorlage gefunden.',
'QR-Image generation failed: ' => 'QR-Code Erzeugung fehlgeschlagen: ',
'QUEUED' => 'In Warteschlange',
locale/en/all
'Purpose (if field names purpose, purpose1, purpose2 ... exist they will all combined into the field "purpose")' => '',
'Purpose/Reference' => '',
'QR bill without amount' => '',
'QR reference' => '',
'QR-Code placeholder image: QRCodePlaceholder not found in template.' => '',
'QR-Image generation failed: ' => '',
'QUEUED' => '',
templates/webpages/is/form_header.html
<input type="hidden" name="follow_up_rowcount" id="follow_up_rowcount" value="1">
<input type="hidden" name="lastmtime" id="lastmtime" value="[% HTML.escape(lastmtime) %]">
<input type="hidden" name="already_printed_flag" id="already_printed_flag" value="0">
<input type="hidden" name="has_qr_reference" id="has_qr_reference" value="[% has_qr_reference %]">
[%- IF qr_reference %]
[% L.hidden_tag("qr_reference", qr_reference) %]
[%- END %]
[% IF !id %]
[% L.hidden_tag('form_validity_token', form_validity_token) %]
[% END %]
......
[%- L.select_tag('globalproject_id', ALL_PROJECTS, title_key = 'projectnumber', default = globalproject_id, with_empty = '1', onChange = "document.getElementById('update_button').click();") %]
</td>
</tr>
[%- IF has_qr_reference %]
<tr>
<th align="right" nowrap>[% 'QR reference' | $T8 %]</th>
<td>
[%- IF qr_reference %]
[% HTML.escape(qr_reference_formatted) %]
[%- ELSE %]
[% LxERP.t8("will be set upon posting") %]
[%- END %]
</td>
</tr>
[%- END %]
</table>
</td>
</tr>

Auch abrufbar als: Unified diff