X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/blobdiff_plain/12c24c2a11926588e03a05bb91cd7c152b0c983d..d04df1651c1dacc20d309b12a764545129ab10c5:/SL/IS.pm diff --git a/SL/IS.pm b/SL/IS.pm index 0c3b4c82c..22080c7e6 100644 --- a/SL/IS.pm +++ b/SL/IS.pm @@ -40,6 +40,7 @@ use SL::AM; use SL::ARAP; use SL::CVar; use SL::Common; +use SL::DATEV qw(:CONSTANTS); use SL::DBUtils; use SL::DO; use SL::GenericTranslations; @@ -1080,6 +1081,27 @@ sub post_invoice { 'arap_id' => $form->{id}, 'table' => 'ar',); + # safety check datev export + if ($::lx_office_conf{datev_check}{check_on_sales_invoice}) { + my $transdate = $::form->{invdate} ? DateTime->from_lxoffice($::form->{invdate}) : undef; + $transdate ||= DateTime->today; + + my $datev = SL::DATEV->new( + exporttype => DATEV_ET_BUCHUNGEN, + format => DATEV_FORMAT_KNE, + dbh => $dbh, + from => $transdate, + to => $transdate, + ); + + $datev->export; + + if ($datev->errors) { + $dbh->rollback; + die join "\n", $::locale->text('DATEV check returned errors:'), $datev->errors; + } + } + my $rc = 1; $dbh->commit if !$provided_dbh; @@ -1654,6 +1676,7 @@ sub get_customer { c.email, c.cc, c.bcc, c.language_id, c.payment_id, c.street, c.zipcode, c.city, c.country, c.notes AS intnotes, c.klass as customer_klass, c.taxzone_id, c.salesman_id, c.curr, + c.taxincluded_checked, $duedate + COALESCE(pt.terms_netto, 0) AS duedate, b.discount AS tradediscount, b.description AS business FROM customer c @@ -2091,7 +2114,7 @@ sub get_pricegroups_for_parts { $pkr->{price_ufmt} = $pkr->{price}; $pkr->{price} = $form->format_amount($myconfig, $pkr->{price}, 5); - if ($selectedpricegroup_id eq undef) { + if (!defined $selectedpricegroup_id) { # new entries in article list, either old invoice was loaded (edit) or a new article was added # Case A: open old invoice, no pricegroup selected # Case B: add new article to invoice, no pricegroup selected