my ($self) = @_;
eval {
- my $linked_records = $self->object->linked_records(direction => 'both', recursive => 1, save_path => 1);
+ my $linked_records = ($::instance_conf->get_always_record_links_from_order && ref $self->object ne 'SL::DB::Order')
+ ? $self->get_order_centric_linked_records
+ : $self->object->linked_records(direction => 'both', recursive => 1, save_path => 1);
+
push @{ $linked_records }, $self->object->sepa_export_items if $self->object->can('sepa_export_items');
my $output = grouped_record_list(
$::auth->assert('record_links');
}
+# internal
+
+sub get_order_centric_linked_records {
+ my ($self) = @_;
+
+ my $all_linked_records = $self->object->linked_records(direction => 'from', recursive => 1);
+ my $filtered_orders = [ grep { 'SL::DB::Order' eq ref $_ && $_->is_type('sales_order') } @$all_linked_records ];
+ my $id_ref = [ map { $_->id } @$filtered_orders ];
+ my $linked_records = SL::DB::Order->new->linked_records(direction => 'to', recursive => 1, batch => $id_ref);
+ push @{ $linked_records }, @$filtered_orders;
+
+ return $linked_records;
+}
1;
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 },
+ 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 },
ap_chart_id => { type => 'integer' },
Mandantenkonfiguration eingestellt werden
- Optionale Warnung falls eine Verkaufsrechnung nicht aus einem Lieferschein
erzeugt wurde (Konfigurierbar in der Mandantenkonfiguration)
+- Die Ansicht der verknüpften Belegen kann unabhängig vom aktuellen Beleg immer
+ vom Auftrag her aufgebaut werden
Bugfixes (Tracker: https://www.kivitendo.de/redmine):
'If enabled a warning will be shown in sales delivery orders on workflow to invoices if positions are not stocked out.' => 'Falls aktiviert, wird eine Warnung beim Workflow von Verkaufslieferscheinen zu Rechnungen ausgegeben, wenn die Positionen noch nicht ausgelagert sind.',
'If enabled only those projects that are assigned to the currently selected customer are offered for selection in sales records.' => 'Wenn eingeschaltet, so werden in Verkaufsbelegen nur diejenigen Projekte zur Auswahl angeboten, die dem aktuell ausgewählten Kunden zugewiesen wurden.',
'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.',
+ 'If enabled the record links view starts always from the sales order including all sublevels' => 'Falls aktiv, werden die verknüpften Belege immer vom Verkaufsauftrag inkl. aller darunterliegenden Belege angezeigt',
'If item not found, allow creation of new item' => 'Falls Artikel nicht gefunden, erlaube Erfassen eines Neuen',
'If left empty the default sender from the kivitendo configuration will be used (key \'email_from\' in section \'periodic_invoices\'; current value: #1).' => 'Falls leer, so wird der Standardabsender aus der kivitendo-Konfiguration genutzt (Schlüssel »email_from« in Abschnitt »periodic_invoices«; aktueller Wert: #1).',
'If missing then the start date will be used.' => 'Falls es fehlt, so wird die erste Rechnung für das Startdatum erzeugt.',
'Versions' => 'Versionen',
'View SEPA export' => 'SEPA-Export-Details ansehen',
'View background job execution result' => 'Verlauf der Hintergrund-Job-Ausführungen anzeigen',
+ 'View record links from Sales Order' => 'Verknüpfte Belege immer vom Verkaufsauftrag ansehen',
'View sent email' => 'Verschickte E-Mail anzeigen',
'View warehouse content' => 'Lagerbestand ansehen',
'View/edit all employees purchase documents' => 'Bearbeiten/ansehen der Einkaufsdokumente aller Mitarbeiter',
--- /dev/null
+-- @tag: defaults_view_record_links
+-- @description: Mandantenkonfiguration: Sichtweise für record links immer vom Auftrag
+-- @depends: release_3_5_8
+
+ALTER TABLE defaults ADD COLUMN always_record_links_from_order BOOLEAN DEFAULT FALSE;
--- /dev/null
+[%- USE HTML -%][%- USE LxERP -%][%- USE L -%]
+<div id="record_links">
+ <table>
+ <tr>
+ <td align="right" nowrap="true">[% LxERP.t8('View record links from Sales Order') %]</td>
+ <td>[% L.yes_no_tag('defaults.always_record_links_from_order', SELF.defaults.always_record_links_from_order) %]</td>
+ <td>
+ [% LxERP.t8('If enabled the record links view starts always from the sales order including all sublevels') %]<br>
+ </td>
+ </tr>
+ </table>
+</div>
<li><a href="#warehouse">[% LxERP.t8('Warehouse') %]</a></li>
<li><a href="#features">[% LxERP.t8('Features') %]</a></li>
<li><a href="#stocktaking">[% LxERP.t8('Stocktaking') %]</a></li>
+ <li><a href="#record_links">[% LxERP.t8('Linked Records') %]</a></li>
</ul>
[% PROCESS 'client_config/_ranges_of_numbers.html' %]
[% PROCESS 'client_config/_warehouse.html' %]
[% PROCESS 'client_config/_features.html' %]
[% PROCESS 'client_config/_stocktaking.html' %]
+[% PROCESS 'client_config/_record_links.html' %]
[% PROCESS 'client_config/_miscellaneous.html' %]
</div>
</form>