Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 6bb6fe53

Von Bernd Bleßmann vor mehr als 1 Jahr hinzugefügt

  • ID 6bb6fe536ed9cd355d4d15e513e69d227e5d7651
  • Vorgänger fc7b81b0
  • Nachfolger 33aaaaac

Angebots-Eingang: DB und Nummernkreis

Unterschiede anzeigen:

SL/BackgroundJob/SetNumberRange.pm
my $defaults = SL::DB::Default->get;
foreach (qw(invnumber cnnumber soinumber sonumber ponumber sqnumber rfqnumber sdonumber pdonumber)) {
foreach (qw(invnumber cnnumber soinumber pqinumber sonumber ponumber sqnumber rfqnumber sdonumber pdonumber)) {
my $current_number = SL::PrefixedNumber->new(number => $defaults->{$_});
$current_number->set_to($next_year * $multiplier);
$defaults->{$_} = $current_number->get_current;
SL/DB/Helper/TransNumberGenerator.pm
sales_order_intake => { number_column => 'ordnumber', number_range_column => 'soinumber', scoping => \&oe_scoping, },
sales_order => { number_column => 'ordnumber', number_range_column => 'sonumber', scoping => \&oe_scoping, },
request_quotation => { number_column => 'quonumber', number_range_column => 'rfqnumber', scoping => \&oe_scoping, },
purchase_quotation_intake => { number_column => 'quonumber', number_range_column => 'pqinumber', scoping => \&oe_scoping, },
purchase_order => { number_column => 'ordnumber', number_range_column => 'ponumber', scoping => \&oe_scoping, },
sales_delivery_order => { number_column => 'donumber', number_range_column => 'sdonumber', scoping => \&do_scoping, },
purchase_delivery_order => { number_column => 'donumber', number_range_column => 'pdonumber', scoping => \&do_scoping, },
SL/DB/Manager/Order.pm
my $prefix = shift || '';
return (and => [ "!${prefix}customer_id" => undef, "${prefix}quotation" => 1 ]) if $type eq 'sales_quotation';
return (and => [ "!${prefix}vendor_id" => undef, "${prefix}quotation" => 1 ]) if $type eq 'request_quotation';
return (and => [ "!${prefix}vendor_id" => undef, "${prefix}quotation" => 1, "${prefix}intake" => 0 ]) if $type eq 'request_quotation';
return (and => [ "!${prefix}customer_id" => undef, "${prefix}intake" => 1 ]) if $type eq 'sales_order_intake';
return (and => [ "!${prefix}vendor_id" => undef, "${prefix}intake" => 1, "${prefix}quotation" => 1 ]) if $type eq 'purchase_quotation_intake';
return (and => [ "!${prefix}customer_id" => undef, or => [ "${prefix}quotation" => 0, "${prefix}quotation" => undef ], "${prefix}intake" => 0 ]) if $type eq 'sales_order';
return (and => [ "!${prefix}vendor_id" => undef, or => [ "${prefix}quotation" => 0, "${prefix}quotation" => undef ] ]) if $type eq 'purchase_order';
SL/DB/MetaSetup/Default.pm
payments_changeable => { type => 'integer', default => '0', not_null => 1 },
pdonumber => { type => 'text' },
ponumber => { type => 'text' },
pqinumber => { type => 'text' },
precision => { type => 'numeric', default => '0.01', not_null => 1, precision => 15, scale => 5 },
print_interpolate_variables_in_positions => { type => 'boolean', default => 'true', not_null => 1 },
produce_assembly_same_warehouse => { type => 'boolean', default => 'true' },
SL/TransNumber.pm
);
my @SUPPORTED_TYPES = (
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 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 sales_quotation request_quotation purchase_quotation_intake part service assembly assortment letter),
@{ SL::DB::DeliveryOrder::TypeData::valid_types() },
);
......
$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',
sql/Pg-upgrade2/oe_purchase_quotation_intake.sql
-- @tag: oe_purchase_quotation_intake
-- @description: Neuer Einkaufsbeleg: Angebots-Eingang (purchase_quotation_intake)
-- @depends: oe_sales_order_intake_type
ALTER TABLE defaults ADD pqinumber TEXT;
templates/design40_webpages/client_config/_ranges_of_numbers.html
<th>[% LxERP.t8('Order Intake') %]</th>
<td>[% L.input_tag("defaults.soinumber", SELF.defaults.soinumber, size="15", class="wi-normal") %]</td>
</tr>
<tr>
<th>[% LxERP.t8('Quotation Intake') %]</th>
<td>[% L.input_tag("defaults.pqinumber", SELF.defaults.pqinumber, size="15", class="wi-normal") %]</td>
</tr>
<tr>
<th>[% LxERP.t8('Order') %]</th>
<td>[% L.input_tag("defaults.sonumber", SELF.defaults.sonumber, size="15", class="wi-normal") %]</td>
templates/webpages/client_config/_ranges_of_numbers.html
<td>[% L.input_tag("defaults.soinumber", SELF.defaults.soinumber, size="15") %]</td>
</tr>
<tr>
<td align="right" nowrap>[% LxERP.t8('Last Purchase Quotation Intake Number') %]</td>
<td>[% L.input_tag("defaults.pqinumber", SELF.defaults.pqinumber, size="15") %]</td>
</tr>
<tr>
<td align="right" nowrap>[% LxERP.t8('Last Sales Order Number') %]</td>
<td>[% L.input_tag("defaults.sonumber", SELF.defaults.sonumber, size="15") %]</td>

Auch abrufbar als: Unified diff