X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/ef8dc9da7e9c47b71f040c6a70d45b39aa1a67ec..d18a84dfd90b91c60093c77bbc5900408e0c5697:/SL/IS.pm diff --git a/SL/IS.pm b/SL/IS.pm index b1df09770..1ee47f209 100644 --- a/SL/IS.pm +++ b/SL/IS.pm @@ -365,7 +365,7 @@ sub invoice_details { $tax += $taxamount = $form->round_amount($taxaccounts{$item}, 2); push(@{ $form->{tax} }, $form->format_amount($myconfig, $taxamount, 2)); - push(@{ $form->{taxdescription} }, $form->{"${item}_description"}); + push(@{ $form->{taxdescription} }, $form->{"${item}_description"} . q{ } . 100 * $form->{"${item}_rate"} . q{%}); push(@{ $form->{taxrate} }, $form->format_amount($myconfig, $form->{"${item}_rate"} * 100)); push(@{ $form->{taxnumber} }, $form->{"${item}_taxnumber"}); @@ -550,6 +550,12 @@ sub post_invoice { ($form->{id}) = $sth->fetchrow_array; $sth->finish; + + if (!$form->{invnumber}) { + $form->{invnumber} = + $form->update_defaults($myconfig, $form->{type} eq "credit_note" ? + "cnnumber" : "invnumber", $dbh); + } } map { $form->{$_} =~ s/\'/\'\'/g } @@ -1856,8 +1862,7 @@ sub get_customer { $form->{"AR_amount_$i"} = "$ref->{accno}--$ref->{description}"; } if ($ref->{category} eq 'A') { - $form->{ARselected} = $form->{AR_1} = - "$ref->{accno}--$ref->{description}"; + $form->{ARselected} = $form->{AR_1} = $ref->{accno}; } } $sth->finish; @@ -2218,5 +2223,28 @@ sub get_pricegroups_for_parts { $main::lxdebug->leave_sub(); } +sub has_storno { + $main::lxdebug->enter_sub(); + + my ($self, $myconfig, $form, $table) = @_; + + $main::lxdebug->leave_sub() and return 0 unless ($form->{id}); + + # make sure there's no funny stuff in $table + # ToDO: die when this happens and throw an error + $main::lxdebug->leave_sub() and return 0 if ($table =~ /\W/); + + my $dbh = $form->dbconnect($myconfig); + + my $query = qq|SELECT storno FROM $table WHERE id = ?|; + my ($result) = selectrow_query($form, $dbh, $query, $form->{id}); + + $dbh->disconnect(); + + $main::lxdebug->leave_sub(); + + return $result; +} + 1;