X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/9f5cf41e5d99e66c44d64aa0ff541825a3d1530c..f217d072d76183bc07723dcc29503b732bd2022d:/SL/TransNumber.pm diff --git a/SL/TransNumber.pm b/SL/TransNumber.pm index b6fa365e8..e19c111ec 100644 --- a/SL/TransNumber.pm +++ b/SL/TransNumber.pm @@ -17,7 +17,7 @@ use Rose::Object::MakeMethods::Generic ); my @SUPPORTED_TYPES = ( - qw(invoice invoice_for_advance_payment final_invoice credit_note customer vendor sales_delivery_order purchase_delivery_order sales_order purchase_order sales_quotation request_quotation part service assembly assortment letter), + qw(invoice invoice_for_advance_payment final_invoice credit_note customer vendor sales_delivery_order purchase_delivery_order sales_order_intake sales_order purchase_order purchase_order_confirmation sales_quotation request_quotation purchase_quotation_intake part service assembly assortment letter), @{ SL::DB::DeliveryOrder::TypeData::valid_types() }, ); @@ -52,10 +52,10 @@ sub _get_filters { $filters{table} = $type; } elsif ($type =~ /_delivery_order$/ && SL::DB::DeliveryOrder::TypeData::is_valid_type($type)) { - $filters{trans_number} = SL::DB::DeliveryOrder::TypeData::get3($type, 'properties', 'nr_key'), - $filters{numberfield} = SL::DB::DeliveryOrder::TypeData::get3($type, 'properties', 'transnumber'), + $filters{trans_number} = SL::DB::DeliveryOrder::TypeData::get3($type, 'properties', 'nr_key'); + $filters{numberfield} = SL::DB::DeliveryOrder::TypeData::get3($type, 'properties', 'transnumber'); $filters{table} = "delivery_orders"; - $filters{where} = "order_type = ?"; + $filters{where} = "record_type = ?"; $filters{values} = [ $::form->{type} ]; } elsif ($type =~ /_order$/) { @@ -65,6 +65,20 @@ sub _get_filters { $filters{where} = 'NOT COALESCE(quotation, FALSE)'; $filters{where} .= $type =~ /^sales/ ? ' AND (customer_id IS NOT NULL)' : ' AND (vendor_id IS NOT NULL)'; + } elsif ($type =~ /^sales_order_intake$/) { + $filters{trans_number} = "ordnumber"; + $filters{numberfield} = "soinumber"; + $filters{table} = "oe"; + $filters{where} = 'NOT COALESCE(quotation, FALSE)'; + $filters{where} .= $type =~ /^sales/ ? ' AND (customer_id IS NOT NULL)' : ' AND (vendor_id IS NOT NULL)'; + + } elsif ($type =~ /^purchase_order_confirmation$/) { + $filters{trans_number} = "ordnumber"; + $filters{numberfield} = "pocnumber"; + $filters{table} = "oe"; + $filters{where} = 'record_type = ?'; + $filters{values} = $type; + } elsif ($type =~ /_quotation$/) { $filters{trans_number} = "quonumber"; $filters{numberfield} = $type eq 'sales_quotation' ? "sqnumber" : "rfqnumber"; @@ -72,6 +86,12 @@ sub _get_filters { $filters{where} = 'COALESCE(quotation, FALSE)'; $filters{where} .= $type =~ /^sales/ ? ' AND (customer_id IS NOT NULL)' : ' AND (vendor_id IS NOT NULL)'; + } elsif ($type =~ /^purchase_quotation_intake$/) { + $filters{trans_number} = "quonumber"; + $filters{numberfield} = "pqinumber"; + $filters{table} = "oe"; + $filters{where} = 'COALESCE(quotation, FALSE) AND (vendor_id IS NOT NULL)'; + } elsif ($type =~ /^(part|service|assembly|assortment)$/) { $filters{trans_number} = "partnumber"; my %numberfield_hash = ( service => 'servicenumber',