X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/blobdiff_plain/b3327c52442a96f9a857fcf39c50de687eed9c23..33c46114fde417a185bcf6715e9903f08f977235:/SL/IS.pm diff --git a/SL/IS.pm b/SL/IS.pm index 34015e03e..ec744df2e 100644 --- a/SL/IS.pm +++ b/SL/IS.pm @@ -686,7 +686,6 @@ sub post_invoice { # get pricegroup_id and save it ($null, my $pricegroup_id) = split(/--/, $form->{"sellprice_pg_$i"}); $pricegroup_id *= 1; - my $subtotal = $form->{"subtotal_$i"} * 1; # save detail record in invoice table $query = @@ -704,7 +703,7 @@ sub post_invoice { $form->{"unit_$i"}, conv_date($form->{"deliverydate_$i"}), conv_i($form->{"project_id_$i"}), $form->{"serialnumber_$i"}, conv_i($pricegroup_id), $form->{"ordnumber_$i"}, conv_date($form->{"transdate_$i"}), - $form->{"cusordnumber_$i"}, $baseqty, $subtotal, + $form->{"cusordnumber_$i"}, $baseqty, $form->{"subtotal_$i"} ? 't' : 'f', $form->{"marge_percent_$i"}, $form->{"marge_absolut_$i"}, $form->{"lastcost_$i"}); do_query($form, $dbh, $query, @values); @@ -903,6 +902,9 @@ sub post_invoice { $form->{"exchangerate_$i"}, 0); } } + + } else { # if (!$form->{storno}) + $form->{marge_total} *= -1; } if ($payments_only) { @@ -939,24 +941,6 @@ sub post_invoice { $amount = $netamount + $tax; - # fill in subject if there is none - $form->{subject} = qq|$form->{label} $form->{invnumber}| - unless $form->{subject}; - - # if there is a message stuff it into the intnotes - my $cc = "Cc: $form->{cc}\\r\n" if $form->{cc}; - my $bcc = "Bcc: $form->{bcc}\\r\n" if $form->{bcc}; - my $now = scalar localtime; - $form->{intnotes} .= qq|\r -\r| if $form->{intnotes}; - - $form->{intnotes} .= qq|[email]\r -Date: $now -To: $form->{email}\r -$cc${bcc}Subject: $form->{subject}\r -\r -Message: $form->{message}\r| if $form->{message}; - # save AR record $query = qq|UPDATE ar set invnumber = ?, @@ -992,6 +976,7 @@ Message: $form->{message}\r| if $form->{message}; employee_id = ?, salesman_id = ?, storno = ?, + storno_id = ?, globalproject_id = ?, cp_id = ?, transaction_description = ?, @@ -1009,9 +994,9 @@ Message: $form->{message}\r| if $form->{message}; conv_i($form->{"shipto_id"}), conv_i($form->{"delivery_customer_id"}), conv_i($form->{"delivery_vendor_id"}), conv_i($form->{"employee_id"}), conv_i($form->{"salesman_id"}), - $form->{"storno"} ? 't' : 'f', conv_i($form->{"globalproject_id"}), + $form->{"storno"} ? 't' : 'f', conv_i($form->{storno_id}), conv_i($form->{"globalproject_id"}), conv_i($form->{"cp_id"}), $form->{transaction_description}, - $form->{marge_total}, $form->{marge_percent}, + $form->{marge_total} * 1, $form->{marge_percent} * 1, conv_i($form->{"id"})); do_query($form, $dbh, $query, @values); @@ -1413,6 +1398,7 @@ sub retrieve_invoice { a.employee_id, a.salesman_id, a.payment_id, a.language_id, a.delivery_customer_id, a.delivery_vendor_id, a.type, a.transaction_description, + a.marge_total, a.marge_percent, e.name AS employee FROM ar a LEFT JOIN employee e ON (e.id = a.employee_id) @@ -2162,9 +2148,9 @@ sub has_storno { sub is_storno { $main::lxdebug->enter_sub(); - my ($self, $myconfig, $form, $table) = @_; + my ($self, $myconfig, $form, $table, $id) = @_; - $main::lxdebug->leave_sub() and return 0 unless ($form->{id}); + $main::lxdebug->leave_sub() and return 0 unless ($id); # make sure there's no funny stuff in $table # ToDO: die when this happens and throw an error @@ -2173,7 +2159,7 @@ sub is_storno { my $dbh = $form->dbconnect($myconfig); my $query = qq|SELECT storno FROM $table WHERE id = ?|; - my ($result) = selectrow_query($form, $dbh, $query, $form->{id}); + my ($result) = selectrow_query($form, $dbh, $query, $id); $dbh->disconnect();