X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FIS.pm;h=e5b403675aa8de7a8cec99ee752bd43aa66b9de7;hb=f97b07787db5cacc0f90338fdb3c1237262917cb;hp=7c923b0dd4b7461e6559e26cbec3c45623e13b1b;hpb=1465da30be12244675541d59b22e94a0f90e0b33;p=kivitendo-erp.git diff --git a/SL/IS.pm b/SL/IS.pm index 7c923b0dd..e5b403675 100644 --- a/SL/IS.pm +++ b/SL/IS.pm @@ -64,7 +64,7 @@ sub invoice_details { my $query = qq|SELECT date | . conv_dateq($form->{duedate}) . qq| - date | . conv_dateq($form->{invdate}) . qq| AS terms|; ($form->{terms}) = selectrow_query($form, $dbh, $query); - my (@project_ids, %projectnumbers); + my (@project_ids, %projectnumbers, %projectdescriptions); $form->{TEMPLATE_ARRAYS} = {}; push(@project_ids, $form->{"globalproject_id"}) if ($form->{"globalproject_id"}); @@ -89,19 +89,22 @@ sub invoice_details { } if (@project_ids) { - $query = "SELECT id, projectnumber FROM project WHERE id IN (" . + $query = "SELECT id, projectnumber, description FROM project WHERE id IN (" . join(", ", map({ "?" } @project_ids)) . ")"; $sth = $dbh->prepare($query); $sth->execute(@project_ids) || $form->dberror($query . " (" . join(", ", @project_ids) . ")"); while (my $ref = $sth->fetchrow_hashref()) { $projectnumbers{$ref->{id}} = $ref->{projectnumber}; + $projectdescriptions{$ref->{id}} = $ref->{description}; } $sth->finish(); } $form->{"globalprojectnumber"} = $projectnumbers{$form->{"globalproject_id"}}; + $form->{"globalprojectdescription"} = + $projectdescriptions{$form->{"globalproject_id"}}; my $tax = 0; my $item; @@ -147,7 +150,7 @@ sub invoice_details { deliverydate_oe ordnumber_oe transdate_oe licensenumber validuntil partnotes serialnumber reqdate sellprice listprice netprice discount p_discount discount_sub nodiscount_sub - linetotal nodiscount_linetotal tax_rate projectnumber + linetotal nodiscount_linetotal tax_rate projectnumber projectdescription price_factor price_factor_name partsgroup); push @arrays, map { "ic_cvar_$_->{name}" } @{ $ic_cvar_configs }; @@ -198,7 +201,7 @@ sub invoice_details { push @{ $form->{TEMPLATE_ARRAYS}->{longdescription} }, $form->{"longdescription_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{qty} }, $form->format_amount($myconfig, $form->{"qty_$i"}); push @{ $form->{TEMPLATE_ARRAYS}->{unit} }, $form->{"unit_$i"}; - push @{ $form->{TEMPLATE_ARRAYS}->{deliverydate_oe} }, $form->{"deliverydate_$i"}; + push @{ $form->{TEMPLATE_ARRAYS}->{deliverydate_oe} }, $form->{"reqdate_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{sellprice} }, $form->{"sellprice_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{ordnumber_oe} }, $form->{"ordnumber_$i"}; push @{ $form->{TEMPLATE_ARRAYS}->{transdate_oe} }, $form->{"transdate_$i"}; @@ -274,6 +277,7 @@ sub invoice_details { push @{ $form->{TEMPLATE_ARRAYS}->{nodiscount_linetotal} }, $form->format_amount($myconfig, $nodiscount_linetotal, 2); push(@{ $form->{TEMPLATE_ARRAYS}->{projectnumber} }, $projectnumbers{$form->{"project_id_$i"}}); + push(@{ $form->{TEMPLATE_ARRAYS}->{projectdescription} }, $projectdescriptions{$form->{"project_id_$i"}}); @taxaccounts = split(/ /, $form->{"taxaccounts_$i"}); $taxrate = 0; @@ -587,8 +591,8 @@ sub post_invoice { my $baseqty; $form->{"marge_percent_$i"} = $form->parse_amount($myconfig, $form->{"marge_percent_$i"}) * 1; - $form->{"marge_total_$i"} = $form->parse_amount($myconfig, $form->{"marge_total_$i"}) * 1; - $form->{"lastcost_$i"} = $form->{"lastcost_$i"} * 1; + $form->{"marge_absolut_$i"} = $form->parse_amount($myconfig, $form->{"marge_absolut_$i"}) * 1; + $form->{"lastcost_$i"} = $form->parse_amount($myconfig, $form->{"lastcost_$i"}) * 1; if ($form->{storno}) { $form->{"qty_$i"} *= -1; @@ -713,7 +717,7 @@ sub post_invoice { $form->{"serialnumber_$i"}, conv_i($pricegroup_id), $form->{"ordnumber_$i"}, conv_date($form->{"transdate_$i"}), $form->{"cusordnumber_$i"}, $baseqty, $form->{"subtotal_$i"} ? 't' : 'f', - $form->{"marge_percent_$i"}, $form->{"marge_total_$i"}, + $form->{"marge_percent_$i"}, $form->{"marge_absolut_$i"}, $form->{"lastcost_$i"}, conv_i($form->{"price_factor_id_$i"}), conv_i($form->{"price_factor_id_$i"}), conv_i($form->{"marge_price_factor_$i"})); @@ -1017,13 +1021,6 @@ sub post_invoice { conv_i($form->{"id"})); do_query($form, $dbh, $query, @values); - if($form->{"formname"} eq "credit_note") { - for my $i (1 .. $form->{rowcount}) { - $query = qq|UPDATE parts SET onhand = onhand - ? WHERE id = ?|; - @values = (conv_i($form->{"qty_$i"}), conv_i($form->{"id_$i"})); - do_query($form, $dbh, $query, @values); - } - } if ($form->{storno}) { $query = @@ -1403,7 +1400,7 @@ sub retrieve_invoice { my ($self, $myconfig, $form) = @_; # connect to database - my $dbh = $form->dbconnect_noauto($myconfig); + my $dbh = $form->get_standard_dbh; my ($sth, $ref, $query); @@ -1578,7 +1575,6 @@ sub retrieve_invoice { } my $rc = $dbh->commit; - $dbh->disconnect; $main::lxdebug->leave_sub(); @@ -1591,7 +1587,7 @@ sub get_customer { my ($self, $myconfig, $form) = @_; # connect to database - my $dbh = $form->dbconnect($myconfig); + my $dbh = $form->get_standard_dbh; my $dateformat = $myconfig->{dateformat}; $dateformat .= "yy" if $myconfig->{dateformat} !~ /^y/; @@ -1727,8 +1723,6 @@ sub get_customer { $form->{rowcount} = $i if ($i && !$form->{type}); } - $dbh->disconnect; - $main::lxdebug->leave_sub(); } @@ -1754,8 +1748,8 @@ sub retrieve_item { #Es soll auch nach EAN gesucht werden, ohne Einschränkung durch Beschreibung if ($form->{"partnumber_$i"} && !$form->{"description_$i"}) { - $where .= qq| OR (NOT p.obsolete = '1' AND p.ean = ? )|; - push @values, $form->{"partnumber_$i"}; + $where .= qq| OR (NOT p.obsolete = '1' AND p.ean = ? )|; + push @values, $form->{"partnumber_$i"}; } if ($form->{"description_$i"}) {