X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/b021f0f5808d9a3b02ddc7f13c206ebc88387ff1..b96c67e59f27fc63fc38ce6aa38f174470803fcb:/SL/OE.pm diff --git a/SL/OE.pm b/SL/OE.pm index 797eb9717..a6b9a9c52 100644 --- a/SL/OE.pm +++ b/SL/OE.pm @@ -46,6 +46,7 @@ use SL::DB::Status; use SL::DB::Tax; use SL::DBUtils; use SL::IC; +use SL::TransNumber; use strict; @@ -82,7 +83,7 @@ sub transactions { $query = qq|SELECT o.id, o.ordnumber, o.transdate, o.reqdate, | . qq| o.amount, ct.${vc}number, ct.name, o.netamount, o.${vc}_id, o.globalproject_id, | . - qq| o.closed, o.delivered, o.quonumber, o.shippingpoint, o.shipvia, | . + qq| o.closed, o.delivered, o.quonumber, o.cusordnumber, o.shippingpoint, o.shipvia, | . qq| o.transaction_description, | . qq| o.marge_total, o.marge_percent, | . qq| ex.$rate AS exchangerate, | . @@ -174,6 +175,11 @@ SQL push(@values, '%' . $form->{$ordnumber} . '%'); } + if ($form->{cusordnumber}) { + $query .= qq| AND o.cusordnumber ILIKE ?|; + push(@values, '%' . $form->{cusordnumber} . '%'); + } + if($form->{transdatefrom}) { $query .= qq| AND o.transdate >= ?|; push(@values, conv_date($form->{transdatefrom})); @@ -221,6 +227,7 @@ SQL "reqdate" => "o.reqdate", "id" => "o.id", "ordnumber" => "o.ordnumber", + "cusordnumber" => "o.cusordnumber", "quonumber" => "o.quonumber", "name" => "ct.name", "employee" => "e.name", @@ -314,6 +321,10 @@ sub save { my $ml = ($form->{type} eq 'sales_order') ? 1 : -1; + my $number_field = $form->{type} =~ m{order} ? 'ordnumber' : 'quonumber'; + my $trans_number = SL::TransNumber->new(type => $form->{type}, dbh => $dbh, number => $form->{$number_field}, id => $form->{id}); + $form->{$number_field} ||= $trans_number->create_unique; + if ($form->{id}) { $query = qq|DELETE FROM custom_variables WHERE (config_id IN (SELECT id FROM custom_variable_configs WHERE module = 'IC'))