Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision d85a77b7

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

  • ID d85a77b776643cd92493609e0b39da82bc89a2ae
  • Vorgänger 23933116

"Beleg ohne Positionen speichern erlauben" in Mandantenkonfig einstellbar

Unterschiede anzeigen:

SL/Controller/ClientConfig.pm
use SL::Locale::String qw(t8);
use SL::PriceSource::ALL;
use SL::Template;
use SL::Controller::DeliveryOrder;
use SL::Controller::Order;
use SL::Controller::Reclamation;
use SL::Controller::TopQuickSearch;
use SL::DB::Helper::AccountingPeriod qw(get_balance_startdate_method_options);
use SL::VATIDNr;
......
'scalar --get_set_init' => [ qw(defaults all_warehouses all_weightunits all_languages all_currencies all_templates all_price_sources h_unit_name available_quick_search_modules
all_project_statuses all_project_types zugferd_settings
posting_options payment_options accounting_options inventory_options profit_options balance_startdate_method_options
displayable_name_specs_by_module) ],
displayable_name_specs_by_module available_documents_with_no_positions) ],
);
sub action_edit {
......
};
}
sub init_available_documents_with_no_positions {
return [] if !$::instance_conf->get_feature_experimental_order;
my @docs = ( @{SL::Controller::Order ->new->valid_types},
@{SL::Controller::DeliveryOrder->new->valid_types},
@{SL::Controller::Reclamation ->new->valid_types} );
# normal delivery orders are not yet handeld by new controller code
@docs = grep { $_ ne 'sales_delivery_order' && $_ ne 'purchase_delivery_order' } @docs;
# $::form->get_formname_translation does not distinguish between sales and purchase
@docs = grep { $_ ne 'sales_reclamation' && $_ ne 'purchase_reclamation' } @docs;
my @available_docs = map { {name => $_, description => $::form->get_formname_translation($_)} } @docs;
push @available_docs, {name => 'sales_reclamation', description => t8('Sales Reclamation')};
push @available_docs, {name => 'purchase_reclamation', description => t8('Purchase Reclamation')};
return \@available_docs;
}
#
# filters
#
SL/Controller/DeliveryOrder.pm
my $errors = [];
my $db = $self->order->db;
if (scalar @{$self->order->items} == 0) {
if (scalar @{$self->order->items} == 0 && !grep { $self->type eq $_ } @{$::instance_conf->get_allowed_documents_with_no_positions() || []}) {
return [t8('The action you\'ve chosen has not been executed because the document does not contain any item yet.')];
}
SL/Controller/Order.pm
my $errors = [];
my $db = $self->order->db;
if (scalar @{$self->order->items} == 0) {
if (scalar @{$self->order->items} == 0 && !grep { $self->type eq $_ } @{$::instance_conf->get_allowed_documents_with_no_positions() || []}) {
return [t8('The action you\'ve chosen has not been executed because the document does not contain any item yet.')];
}
SL/Controller/Reclamation.pm
my $errors = [];
my $db = $self->reclamation->db;
if (scalar @{$self->reclamation->items} == 0) {
if (scalar @{$self->reclamation->items} == 0 && !grep { $self->type eq $_ } @{$::instance_conf->get_allowed_documents_with_no_positions() || []}) {
return [t8('The action you\'ve chosen has not been executed because the document does not contain any item yet.')];
}
SL/DB/MetaSetup/Default.pm
allow_new_purchase_invoice => { type => 'boolean', default => 'true', not_null => 1 },
allow_sales_invoice_from_sales_order => { type => 'boolean', default => 'true', not_null => 1 },
allow_sales_invoice_from_sales_quotation => { type => 'boolean', default => 'true', not_null => 1 },
allowed_documents_with_no_positions => { type => 'array' },
always_record_links_from_order => { type => 'boolean', default => 'false' },
ap_add_doc => { type => 'boolean', default => 'false', not_null => 1 },
ap_changeable => { type => 'integer', default => 2, not_null => 1 },
doc/changelog
- Bei der Bearbeitung von VK-Angebote und VK-Aufträgen können die Emails aus
den angelegten Ordner im Email-Server automatisch importiert werden (s.a.
kivitendo.conf)
- Belege ("neue" Controller, sprich Angebot/Auftrag/Beistelllieferschein/RMA/
Reklamation) können nicht mehr ohne Positionen gespeichert werden. Ausnahmen
lassen sich in der Mandantenkonfiguration einstellen.
2023-04-05 - Release 3.8.0
locale/de/all
'Documentation about variables in a new window/tab' => 'Dokumentation zu Variablen in neuem Fenster/Tab',
'Documents' => 'Dokumente',
'Documents in the WebDAV repository' => 'Dokumente im WebDAV-Repository',
'Documents which are allowed to be saved with no positions' => 'Belege, die ohne Positionen gespeichert werden dürfen',
'Don\'t include a printout of the record with the email' => 'Keinen Belegausdruck mit E-Mail schicken',
'Don\'t include a printout of the record with the email, only selected files' => 'Keinen Belegausdruck mit E-Mail schicken, sondern nur ausgewählte Dateien',
'Done' => 'Fertig',
locale/en/all
'Documentation about variables in a new window/tab' => '',
'Documents' => '',
'Documents in the WebDAV repository' => '',
'Documents which are allowed to be saved with no positions' => '',
'Don\'t include a printout of the record with the email' => '',
'Don\'t include a printout of the record with the email, only selected files' => '',
'Done' => '',
templates/design40_webpages/client_config/_features.html
<td>[% L.yes_no_tag("defaults.lock_oe_subversions", SELF.defaults.lock_oe_subversions) %]</td>
<td class="long-desc">[% LxERP.t8("If enabled RFQs, Quotations and Orders can only be send once via email. By creating another subversion the current record gets a minor subversion and can be send again via email.") %]</td>
</tr>
<tr>
<th>[% 'Documents which are allowed to be saved with no positions' | $T8 %]</th>
<td colspan="2">
<div>
[% L.select_tag("defaults.allowed_documents_with_no_positions[]",
SELF.available_documents_with_no_positions,
default=SELF.defaults.allowed_documents_with_no_positions,
multiple=1,
with_empty=1,
value_key="name",
title_key="description",
id="defaults_allowed_documents_with_no_positions",
size=SELF.available_documents_with_no_positions.size+1) %]
</div>
</td>
</tr>
<tr>
<th class="caption" colspan="3">[% LxERP.t8('Transport and service costs reminder') %]</th>
</tr>
templates/webpages/client_config/_features.html
<td>[% L.yes_no_tag("defaults.lock_oe_subversions", SELF.defaults.lock_oe_subversions) %]</td>
<td>[% LxERP.t8("If enabled RFQs, Quotations and Orders can only be send once via email. By creating another subversion the current record gets a minor subversion and can be send again via email.") %]</td>
</tr>
<tr>
<td align="right">[% 'Documents which are allowed to be saved with no positions' | $T8 %]</td>
<td colspan=2>
<div class="clearfix">
[% L.select_tag("defaults.allowed_documents_with_no_positions[]",
SELF.available_documents_with_no_positions,
default=SELF.defaults.allowed_documents_with_no_positions,
multiple=1,
with_empty=1,
value_key="name",
title_key="description",
id="defaults_allowed_documents_with_no_positions",
size=SELF.available_documents_with_no_positions.size+1) %]
</div>
</td>
</tr>
<tr><td class="listheading" colspan="4">[% LxERP.t8("E-mail") %]</td></tr>
<tr>

Auch abrufbar als: Unified diff