Revision f775b88a
Von Moritz Bunkus vor mehr als 10 Jahren hinzugefügt
SL/DB/MetaSetup/Default.pm | ||
---|---|---|
9 | 9 |
__PACKAGE__->meta->table('defaults'); |
10 | 10 |
|
11 | 11 |
__PACKAGE__->meta->columns( |
12 |
accounting_method => { type => 'text' }, |
|
13 |
address => { type => 'text' }, |
|
14 |
ap_changeable => { type => 'integer', default => 2, not_null => 1 }, |
|
15 |
ap_show_mark_as_paid => { type => 'boolean', default => 'true' }, |
|
16 |
ar_changeable => { type => 'integer', default => 2, not_null => 1 }, |
|
17 |
ar_paid_accno_id => { type => 'integer' }, |
|
18 |
ar_show_mark_as_paid => { type => 'boolean', default => 'true' }, |
|
19 |
articlenumber => { type => 'text' }, |
|
20 |
assemblynumber => { type => 'text' }, |
|
21 |
balance_startdate_method => { type => 'text' }, |
|
22 |
bin_id => { type => 'integer' }, |
|
23 |
bin_id_ignore_onhand => { type => 'integer' }, |
|
24 |
businessnumber => { type => 'text' }, |
|
25 |
closedto => { type => 'date' }, |
|
26 |
cnnumber => { type => 'text' }, |
|
27 |
co_ustid => { type => 'text' }, |
|
28 |
coa => { type => 'text' }, |
|
29 |
company => { type => 'text' }, |
|
30 |
currency_id => { type => 'integer', not_null => 1 }, |
|
31 |
customer_hourly_rate => { type => 'numeric', precision => 8, scale => 2 }, |
|
32 |
customernumber => { type => 'text' }, |
|
33 |
datev_check_on_ap_transaction => { type => 'boolean', default => 'true' }, |
|
34 |
datev_check_on_ar_transaction => { type => 'boolean', default => 'true' }, |
|
35 |
datev_check_on_gl_transaction => { type => 'boolean', default => 'true' }, |
|
36 |
datev_check_on_purchase_invoice => { type => 'boolean', default => 'true' }, |
|
37 |
datev_check_on_sales_invoice => { type => 'boolean', default => 'true' }, |
|
38 |
dunning_ar => { type => 'integer' }, |
|
39 |
dunning_ar_amount_fee => { type => 'integer' }, |
|
40 |
dunning_ar_amount_interest => { type => 'integer' }, |
|
41 |
duns => { type => 'text' }, |
|
42 |
expense_accno_id => { type => 'integer' }, |
|
43 |
fxgain_accno_id => { type => 'integer' }, |
|
44 |
fxloss_accno_id => { type => 'integer' }, |
|
45 |
gl_changeable => { type => 'integer', default => 2, not_null => 1 }, |
|
46 |
id => { type => 'serial', not_null => 1 }, |
|
47 |
income_accno_id => { type => 'integer' }, |
|
48 |
inventory_accno_id => { type => 'integer' }, |
|
49 |
inventory_system => { type => 'text' }, |
|
50 |
invnumber => { type => 'text' }, |
|
51 |
ir_changeable => { type => 'integer', default => 2, not_null => 1 }, |
|
52 |
ir_show_mark_as_paid => { type => 'boolean', default => 'true' }, |
|
53 |
is_changeable => { type => 'integer', default => 2, not_null => 1 }, |
|
54 |
is_show_mark_as_paid => { type => 'boolean', default => 'true' }, |
|
55 |
itime => { type => 'timestamp', default => 'now()' }, |
|
56 |
language_id => { type => 'integer' }, |
|
57 |
max_future_booking_interval => { type => 'integer', default => 360 }, |
|
58 |
mtime => { type => 'timestamp' }, |
|
59 |
normalize_part_descriptions => { type => 'boolean', default => 'true' }, |
|
60 |
normalize_vc_names => { type => 'boolean', default => 'true' }, |
|
61 |
parts_image_css => { type => 'text', default => 'border:0;float:left;max-width:250px;margin-top:20px:margin-right:10px;margin-left:10px;' }, |
|
62 |
parts_listing_image => { type => 'boolean', default => 'true' }, |
|
63 |
parts_show_image => { type => 'boolean', default => 'true' }, |
|
64 |
payments_changeable => { type => 'integer', default => '0', not_null => 1 }, |
|
65 |
pdonumber => { type => 'text' }, |
|
66 |
ponumber => { type => 'text' }, |
|
67 |
profit_determination => { type => 'text' }, |
|
68 |
purchase_delivery_order_show_delete => { type => 'boolean', default => 'true' }, |
|
69 |
purchase_order_show_delete => { type => 'boolean', default => 'true' }, |
|
70 |
require_transaction_description_ps => { type => 'boolean', default => 'false', not_null => 1 }, |
|
71 |
requirement_spec_section_order_part_id => { type => 'integer' }, |
|
72 |
revtrans => { type => 'boolean', default => 'false' }, |
|
73 |
rfqnumber => { type => 'text' }, |
|
74 |
rmanumber => { type => 'text' }, |
|
75 |
sales_delivery_order_show_delete => { type => 'boolean', default => 'true' }, |
|
76 |
sales_order_show_delete => { type => 'boolean', default => 'true' }, |
|
77 |
sdonumber => { type => 'text' }, |
|
78 |
sepa_creditor_id => { type => 'text' }, |
|
79 |
servicenumber => { type => 'text' }, |
|
80 |
show_bestbefore => { type => 'boolean', default => 'false' }, |
|
81 |
show_weight => { type => 'boolean', default => 'false', not_null => 1 }, |
|
82 |
signature => { type => 'text' }, |
|
83 |
sonumber => { type => 'text' }, |
|
84 |
sqnumber => { type => 'text' }, |
|
85 |
taxnumber => { type => 'text' }, |
|
86 |
templates => { type => 'text' }, |
|
87 |
transfer_default => { type => 'boolean', default => 'true' }, |
|
88 |
transfer_default_ignore_onhand => { type => 'boolean', default => 'false' }, |
|
89 |
transfer_default_use_master_default_bin => { type => 'boolean', default => 'false' }, |
|
90 |
vendornumber => { type => 'text' }, |
|
91 |
version => { type => 'varchar', length => 8 }, |
|
92 |
vertreter => { type => 'boolean', default => 'false' }, |
|
93 |
warehouse_id => { type => 'integer' }, |
|
94 |
warehouse_id_ignore_onhand => { type => 'integer' }, |
|
95 |
webdav => { type => 'boolean', default => 'false' }, |
|
96 |
webdav_documents => { type => 'boolean', default => 'false' }, |
|
97 |
weightunit => { type => 'varchar', length => 5 }, |
|
12 |
accounting_method => { type => 'text' }, |
|
13 |
address => { type => 'text' }, |
|
14 |
allow_new_purchase_delivery_order => { type => 'boolean', default => 'true', not_null => 1 }, |
|
15 |
allow_new_purchase_invoice => { type => 'boolean', default => 'true', not_null => 1 }, |
|
16 |
allow_sales_invoice_from_sales_order => { type => 'boolean', default => 'true', not_null => 1 }, |
|
17 |
allow_sales_invoice_from_sales_quotation => { type => 'boolean', default => 'true', not_null => 1 }, |
|
18 |
ap_changeable => { type => 'integer', default => 2, not_null => 1 }, |
|
19 |
ap_show_mark_as_paid => { type => 'boolean', default => 'true' }, |
|
20 |
ar_changeable => { type => 'integer', default => 2, not_null => 1 }, |
|
21 |
ar_paid_accno_id => { type => 'integer' }, |
|
22 |
ar_show_mark_as_paid => { type => 'boolean', default => 'true' }, |
|
23 |
articlenumber => { type => 'text' }, |
|
24 |
assemblynumber => { type => 'text' }, |
|
25 |
balance_startdate_method => { type => 'text' }, |
|
26 |
bin_id => { type => 'integer' }, |
|
27 |
bin_id_ignore_onhand => { type => 'integer' }, |
|
28 |
businessnumber => { type => 'text' }, |
|
29 |
closedto => { type => 'date' }, |
|
30 |
cnnumber => { type => 'text' }, |
|
31 |
co_ustid => { type => 'text' }, |
|
32 |
coa => { type => 'text' }, |
|
33 |
company => { type => 'text' }, |
|
34 |
currency_id => { type => 'integer', not_null => 1 }, |
|
35 |
customer_hourly_rate => { type => 'numeric', precision => 8, scale => 2 }, |
|
36 |
customernumber => { type => 'text' }, |
|
37 |
datev_check_on_ap_transaction => { type => 'boolean', default => 'true' }, |
|
38 |
datev_check_on_ar_transaction => { type => 'boolean', default => 'true' }, |
|
39 |
datev_check_on_gl_transaction => { type => 'boolean', default => 'true' }, |
|
40 |
datev_check_on_purchase_invoice => { type => 'boolean', default => 'true' }, |
|
41 |
datev_check_on_sales_invoice => { type => 'boolean', default => 'true' }, |
|
42 |
dunning_ar => { type => 'integer' }, |
|
43 |
dunning_ar_amount_fee => { type => 'integer' }, |
|
44 |
dunning_ar_amount_interest => { type => 'integer' }, |
|
45 |
duns => { type => 'text' }, |
|
46 |
expense_accno_id => { type => 'integer' }, |
|
47 |
fxgain_accno_id => { type => 'integer' }, |
|
48 |
fxloss_accno_id => { type => 'integer' }, |
|
49 |
gl_changeable => { type => 'integer', default => 2, not_null => 1 }, |
|
50 |
id => { type => 'serial', not_null => 1 }, |
|
51 |
income_accno_id => { type => 'integer' }, |
|
52 |
inventory_accno_id => { type => 'integer' }, |
|
53 |
inventory_system => { type => 'text' }, |
|
54 |
invnumber => { type => 'text' }, |
|
55 |
ir_changeable => { type => 'integer', default => 2, not_null => 1 }, |
|
56 |
ir_show_mark_as_paid => { type => 'boolean', default => 'true' }, |
|
57 |
is_changeable => { type => 'integer', default => 2, not_null => 1 }, |
|
58 |
is_show_mark_as_paid => { type => 'boolean', default => 'true' }, |
|
59 |
itime => { type => 'timestamp', default => 'now()' }, |
|
60 |
language_id => { type => 'integer' }, |
|
61 |
max_future_booking_interval => { type => 'integer', default => 360 }, |
|
62 |
mtime => { type => 'timestamp' }, |
|
63 |
normalize_part_descriptions => { type => 'boolean', default => 'true' }, |
|
64 |
normalize_vc_names => { type => 'boolean', default => 'true' }, |
|
65 |
parts_image_css => { type => 'text', default => 'border:0;float:left;max-width:250px;margin-top:20px:margin-right:10px;margin-left:10px;' }, |
|
66 |
parts_listing_image => { type => 'boolean', default => 'true' }, |
|
67 |
parts_show_image => { type => 'boolean', default => 'true' }, |
|
68 |
payments_changeable => { type => 'integer', default => '0', not_null => 1 }, |
|
69 |
pdonumber => { type => 'text' }, |
|
70 |
ponumber => { type => 'text' }, |
|
71 |
profit_determination => { type => 'text' }, |
|
72 |
purchase_delivery_order_show_delete => { type => 'boolean', default => 'true' }, |
|
73 |
purchase_order_show_delete => { type => 'boolean', default => 'true' }, |
|
74 |
require_transaction_description_ps => { type => 'boolean', default => 'false', not_null => 1 }, |
|
75 |
requirement_spec_section_order_part_id => { type => 'integer' }, |
|
76 |
revtrans => { type => 'boolean', default => 'false' }, |
|
77 |
rfqnumber => { type => 'text' }, |
|
78 |
rmanumber => { type => 'text' }, |
|
79 |
sales_delivery_order_show_delete => { type => 'boolean', default => 'true' }, |
|
80 |
sales_order_show_delete => { type => 'boolean', default => 'true' }, |
|
81 |
sdonumber => { type => 'text' }, |
|
82 |
sepa_creditor_id => { type => 'text' }, |
|
83 |
servicenumber => { type => 'text' }, |
|
84 |
show_bestbefore => { type => 'boolean', default => 'false' }, |
|
85 |
show_weight => { type => 'boolean', default => 'false', not_null => 1 }, |
|
86 |
signature => { type => 'text' }, |
|
87 |
sonumber => { type => 'text' }, |
|
88 |
sqnumber => { type => 'text' }, |
|
89 |
taxnumber => { type => 'text' }, |
|
90 |
templates => { type => 'text' }, |
|
91 |
transfer_default => { type => 'boolean', default => 'true' }, |
|
92 |
transfer_default_ignore_onhand => { type => 'boolean', default => 'false' }, |
|
93 |
transfer_default_use_master_default_bin => { type => 'boolean', default => 'false' }, |
|
94 |
vendornumber => { type => 'text' }, |
|
95 |
version => { type => 'varchar', length => 8 }, |
|
96 |
vertreter => { type => 'boolean', default => 'false' }, |
|
97 |
warehouse_id => { type => 'integer' }, |
|
98 |
warehouse_id_ignore_onhand => { type => 'integer' }, |
|
99 |
webdav => { type => 'boolean', default => 'false' }, |
|
100 |
webdav_documents => { type => 'boolean', default => 'false' }, |
|
101 |
weightunit => { type => 'varchar', length => 5 }, |
|
98 | 102 |
); |
99 | 103 |
|
100 | 104 |
__PACKAGE__->meta->primary_key_columns([ 'id' ]); |
SL/Menu.pm | ||
---|---|---|
162 | 162 |
return SL::Auth::evaluate_rights_ary($stack[0]); |
163 | 163 |
} |
164 | 164 |
|
165 |
sub parse_instance_conf_string { |
|
166 |
my ($self, $setting) = @_; |
|
167 |
return $::instance_conf->data->{$setting}; |
|
168 |
} |
|
169 |
|
|
165 | 170 |
sub set_access { |
166 | 171 |
my $self = shift; |
167 | 172 |
|
... | ... | |
171 | 176 |
my $entry = $self->{$key}; |
172 | 177 |
|
173 | 178 |
$entry->{GRANTED} = $entry->{ACCESS} ? $self->parse_access_string($key, $entry->{ACCESS}) : 1; |
179 |
$entry->{GRANTED} &&= $self->parse_instance_conf_string($entry->{INSTANCE_CONF}) if $entry->{INSTANCE_CONF}; |
|
174 | 180 |
$entry->{IS_MENU} = $entry->{submenu} || ($key !~ m/--/); |
175 | 181 |
$entry->{NUM_VISIBLE_CHILDREN} = 0; |
176 | 182 |
|
bin/mozilla/do.pl | ||
---|---|---|
85 | 85 |
|
86 | 86 |
check_do_access(); |
87 | 87 |
|
88 |
if (($::form->{type} =~ /purchase/) && !$::instance_conf->get_allow_new_purchase_invoice) { |
|
89 |
$::form->show_generic_error($::locale->text("You do not have the permissions to access this function.")); |
|
90 |
} |
|
91 |
|
|
88 | 92 |
my $form = $main::form; |
89 | 93 |
|
90 | 94 |
set_headings("add"); |
bin/mozilla/ir.pl | ||
---|---|---|
58 | 58 |
|
59 | 59 |
$main::auth->assert('vendor_invoice_edit'); |
60 | 60 |
|
61 |
if (!$::instance_conf->get_allow_new_purchase_invoice) { |
|
62 |
$::form->show_generic_error($::locale->text("You do not have the permissions to access this function.")); |
|
63 |
} |
|
64 |
|
|
61 | 65 |
return $main::lxdebug->leave_sub() if (load_draft_maybe()); |
62 | 66 |
|
63 | 67 |
$form->{title} = $locale->text('Record Vendor Invoice'); |
bin/mozilla/oe.pl | ||
---|---|---|
90 | 90 |
$main::auth->assert($right); |
91 | 91 |
} |
92 | 92 |
|
93 |
sub check_oe_conversion_to_sales_invoice_allowed { |
|
94 |
return 1 if $::form->{type} !~ m/^sales/; |
|
95 |
return 1 if ($::form->{type} =~ m/quotation/) && $::instance_conf->get_allow_sales_invoice_from_sales_quotation; |
|
96 |
return 1 if ($::form->{type} =~ m/order/) && $::instance_conf->get_allow_sales_invoice_from_sales_order; |
|
97 |
|
|
98 |
$::form->show_generic_error($::locale->text("You do not have the permissions to access this function.")); |
|
99 |
|
|
100 |
return 0; |
|
101 |
} |
|
102 |
|
|
93 | 103 |
sub set_headings { |
94 | 104 |
$main::lxdebug->enter_sub(); |
95 | 105 |
|
... | ... | |
1313 | 1323 |
my $locale = $main::locale; |
1314 | 1324 |
|
1315 | 1325 |
check_oe_access(); |
1326 |
check_oe_conversion_to_sales_invoice_allowed(); |
|
1316 | 1327 |
$main::auth->assert($form->{type} eq 'purchase_order' || $form->{type} eq 'request_quotation' ? 'vendor_invoice_edit' : 'invoice_edit'); |
1317 | 1328 |
|
1318 | 1329 |
$form->{old_salesman_id} = $form->{salesman_id}; |
locale/de/all | ||
---|---|---|
208 | 208 |
'All units have either no or exactly one base unit of which they are multiples.' => 'Einheiten haben entweder keine oder genau eine Basiseinheit, von der sie ein Vielfaches sind.', |
209 | 209 |
'All users' => 'Alle BenutzerInnen', |
210 | 210 |
'Allow access' => 'Zugriff erlauben', |
211 |
'Allow conversion from sales orders to sales invoices' => 'Umwandlung von Verkaufsaufträgen in Verkaufsrechnungen zulassen', |
|
212 |
'Allow conversion from sales quotations to sales invoices' => 'Umwandlung von Verkaufsangeboten in Verkaufsrechnungen zulassen', |
|
213 |
'Allow direct creation of new purchase delivery orders' => 'Direktes Anlegen neuer Einkaufslieferscheine zulassen', |
|
214 |
'Allow direct creation of new purchase invoices' => 'Direktes Anlegen neuer Einkaufsrechnungen zulassen', |
|
211 | 215 |
'Allow the following users access to my follow-ups:' => 'Erlaube den folgenden Benutzern Zugriff auf meine Wiedervorlagen:', |
212 | 216 |
'Alternatively you can create a new part which will then be selected.' => 'Sie können auch einen neuen Artikel anlegen, der dann automatisch ausgewählt wird.', |
213 | 217 |
'Amended Advance Turnover Tax Return' => 'Berichtigte Anmeldung', |
... | ... | |
1192 | 1196 |
'If amounts differ more than "Maximal amount difference" (see settings), this item is marked as invalid.' => 'Weichen die Beträge mehr als die "maximale Betragsabweichung" (siehe Einstellungen) ab, so wird diese Position als ungültig markiert.', |
1193 | 1197 |
'If checked the taxkey will not be exported in the DATEV Export, but only IF chart taxkeys differ from general ledger taxkeys' => 'Falls angehakt wird der DATEV-Steuerschlüssel bei Buchungen auf dieses Konto nicht beim DATEV-Export mitexportiert, allerdings nur wenn zusätzlich der Konto-Steuerschlüssel vom Buchungs (Hauptbuch) Steuerschlüssel abweicht', |
1194 | 1198 |
'If configured this bin will be preselected for all new parts. Also this bin will be used as the master default bin, if default transfer out with master bin is activated.' => 'Falls konfiguriert, wird dieses Lager mit Lagerplatz für neu angelegte Waren vorausgewählt.', |
1199 |
'If disabled purchase delivery orders can only be created by conversion from existing requests for quotations and purchase orders.' => 'Falls deaktiviert, so können Einkaufslieferscheine nur durch Umwandlung aus bestehenden Preisanfragen und Lieferantenaufträgen angelegt werden.', |
|
1200 |
'If disabled purchase invoices can only be created by conversion from existing requests for quotations, purchase orders and purchase delivery orders.' => 'Falls deaktiviert, so können Einkaufsrechnungen nur durch Umwandlung aus bestehenden Preisanfragen, Lieferantenaufträgen und Einkaufslieferscheinen angelegt werden.', |
|
1201 |
'If disabled sales orders cannot be converted into sales invoices directly.' => 'Falls deaktiviert, so können Verkaufsangebote nicht direkt in Verkaufsrechnungen umgewandelt werden.', |
|
1202 |
'If disabled sales quotations cannot be converted into sales invoices directly.' => 'Falls deaktiviert, so können Verkaufsauträge nicht direkt in Verkaufsrechnungen umgewandelt werden.', |
|
1195 | 1203 |
'If enabled purchase and sales records cannot be saved if no transaction description has been entered.' => 'Wenn angeschaltet, so können Einkaufs- und Verkaufsbelege nicht gespeichert werden, solange keine Vorgangsbezeichnung eingegeben wurde.', |
1196 | 1204 |
'If missing then the start date will be used.' => 'Falls es fehlt, so wird die erste Rechnung für das Startdatum erzeugt.', |
1197 | 1205 |
'If the article type is set to \'mixed\' then a column called \'type\' must be present.' => 'Falls der Artikeltyp auf \'gemischt\' gestellt wird, muss eine Spalte namens \'type\' vorhanden sein.', |
menus/erp.ini | ||
---|---|---|
214 | 214 |
|
215 | 215 |
[AP--Add Delivery Note] |
216 | 216 |
ACCESS=purchase_delivery_order_edit |
217 |
INSTANCE_CONF=allow_new_purchase_delivery_order |
|
217 | 218 |
module=do.pl |
218 | 219 |
action=add |
219 | 220 |
type=purchase_delivery_order |
220 | 221 |
|
221 | 222 |
[AP--Add Vendor Invoice] |
222 | 223 |
ACCESS=vendor_invoice_edit |
224 |
INSTANCE_CONF=allow_new_purchase_invoice |
|
223 | 225 |
module=ir.pl |
224 | 226 |
action=add |
225 | 227 |
type=invoice |
sql/Pg-upgrade2/defaults_sales_process_limitations.sql | ||
---|---|---|
1 |
-- @tag: defaults_sales_purchase_process_limitations |
|
2 |
-- @description: Mandantenkonfiguration: Einschränkungen, welche Aktionen im Einkaufs-/Verkaufsprozess erlaubt sind |
|
3 |
-- @depends: release_3_1_0 |
|
4 |
ALTER TABLE defaults |
|
5 |
ADD COLUMN allow_sales_invoice_from_sales_quotation BOOLEAN, |
|
6 |
ADD COLUMN allow_sales_invoice_from_sales_order BOOLEAN, |
|
7 |
ADD COLUMN allow_new_purchase_delivery_order BOOLEAN, |
|
8 |
ADD COLUMN allow_new_purchase_invoice BOOLEAN; |
|
9 |
|
|
10 |
UPDATE defaults |
|
11 |
SET allow_sales_invoice_from_sales_quotation = TRUE, |
|
12 |
allow_sales_invoice_from_sales_order = TRUE, |
|
13 |
allow_new_purchase_delivery_order = TRUE, |
|
14 |
allow_new_purchase_invoice = TRUE; |
|
15 |
|
|
16 |
ALTER TABLE defaults |
|
17 |
ALTER COLUMN allow_sales_invoice_from_sales_quotation SET DEFAULT TRUE, |
|
18 |
ALTER COLUMN allow_sales_invoice_from_sales_quotation SET NOT NULL, |
|
19 |
|
|
20 |
ALTER COLUMN allow_sales_invoice_from_sales_order SET DEFAULT TRUE, |
|
21 |
ALTER COLUMN allow_sales_invoice_from_sales_order SET NOT NULL, |
|
22 |
|
|
23 |
ALTER COLUMN allow_new_purchase_delivery_order SET DEFAULT TRUE, |
|
24 |
ALTER COLUMN allow_new_purchase_delivery_order SET NOT NULL, |
|
25 |
|
|
26 |
ALTER COLUMN allow_new_purchase_invoice SET DEFAULT TRUE, |
|
27 |
ALTER COLUMN allow_new_purchase_invoice SET NOT NULL; |
templates/webpages/client_config/_features.html | ||
---|---|---|
65 | 65 |
<td>[% LxERP.t8('If enabled purchase and sales records cannot be saved if no transaction description has been entered.') %]</td> |
66 | 66 |
</tr> |
67 | 67 |
|
68 |
<tr> |
|
69 |
<td align="right">[% LxERP.t8('Allow conversion from sales quotations to sales invoices') %]</td> |
|
70 |
<td>[% L.yes_no_tag('defaults.allow_sales_invoice_from_sales_quotation', SELF.defaults.allow_sales_invoice_from_sales_quotation) %]</td> |
|
71 |
<td>[% LxERP.t8('If disabled sales quotations cannot be converted into sales invoices directly.') %]</td> |
|
72 |
</tr> |
|
73 |
|
|
74 |
<tr> |
|
75 |
<td align="right">[% LxERP.t8('Allow conversion from sales orders to sales invoices') %]</td> |
|
76 |
<td>[% L.yes_no_tag('defaults.allow_sales_invoice_from_sales_order', SELF.defaults.allow_sales_invoice_from_sales_order) %]</td> |
|
77 |
<td>[% LxERP.t8('If disabled sales orders cannot be converted into sales invoices directly.') %]</td> |
|
78 |
</tr> |
|
79 |
|
|
80 |
<tr> |
|
81 |
<td align="right">[% LxERP.t8('Allow direct creation of new purchase delivery orders') %]</td> |
|
82 |
<td>[% L.yes_no_tag('defaults.allow_new_purchase_delivery_order', SELF.defaults.allow_new_purchase_delivery_order) %]</td> |
|
83 |
<td>[% LxERP.t8('If disabled purchase delivery orders can only be created by conversion from existing requests for quotations and purchase orders.') %]</td> |
|
84 |
</tr> |
|
85 |
|
|
86 |
<tr> |
|
87 |
<td align="right">[% LxERP.t8('Allow direct creation of new purchase invoices') %]</td> |
|
88 |
<td>[% L.yes_no_tag('defaults.allow_new_purchase_invoice', SELF.defaults.allow_new_purchase_invoice) %]</td> |
|
89 |
<td>[% LxERP.t8('If disabled purchase invoices can only be created by conversion from existing requests for quotations, purchase orders and purchase delivery orders.') %]</td> |
|
90 |
</tr> |
|
91 |
|
|
68 | 92 |
<tr><td class="listheading" colspan="4">[% LxERP.t8("Requirement Specs") %]</td></tr> |
69 | 93 |
|
70 | 94 |
<tr> |
templates/webpages/oe/form_footer.html | ||
---|---|---|
2 | 2 |
[%- USE HTML %] |
3 | 3 |
[%- USE LxERP %] |
4 | 4 |
[%- USE L %] |
5 |
[%- IF is_req_quo || is_pur_ord %] |
|
6 |
[%- SET allow_invoice=1 %] |
|
7 |
[%- ELSIF is_sales_quo && INSTANCE_CONF.get_allow_sales_invoice_from_sales_quotation %] |
|
8 |
[%- SET allow_invoice=1 %] |
|
9 |
[%- ELSIF is_sales_ord && INSTANCE_CONF.get_allow_sales_invoice_from_sales_order %] |
|
10 |
[%- SET allow_invoice=1 %] |
|
11 |
[%- ELSE %] |
|
12 |
[%- SET allow_invoice=0 %] |
|
13 |
[%- END %] |
|
5 | 14 |
<tr> |
6 | 15 |
<td> |
7 | 16 |
<table width="100%"> |
... | ... | |
157 | 166 |
<input class="submit" type="submit" name="action_delivery_order" value="[% 'Delivery Order' | $T8 %]"> |
158 | 167 |
[%- END %] |
159 | 168 |
|
169 |
[%- IF allow_invoice %] |
|
160 | 170 |
<input class="submit" type="submit" name="action_invoice" value="[% 'Invoice' | $T8 %]"> |
171 |
[%- END %] |
|
161 | 172 |
|
162 | 173 |
[%- IF is_sales_ord || is_pur_ord %] |
163 | 174 |
<br>[% heading %] als neue Vorlage verwenden für<br> |
Auch abrufbar als: Unified diff
Einkaufs-/Verkaufsprozesse: optionale Einschränkungen für gewisse Aktionen
Über die Mandantenkonfiguration kann verboten werden, dass gewisse
Aktionen in den Einkaufs- und Verkaufsprozesse durchgeführt
werden. Diese sind:
- Direkte umwandlung von Verkaufsangeboten und
aufträgen in
Direktes Anlegen neuer Einkaufslieferscheine und -rechnungen (nurVerkaufsrechnungen (nur über den Weg der Lieferscheine)
durch Umwandlung bestehender Belege)