Revision 6bb6fe53
Von Bernd Bleßmann vor mehr als 1 Jahr hinzugefügt
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
Angebots-Eingang: DB und Nummernkreis