Revision f1dd4b47
Von Jan Büren vor etwa 3 Jahren hinzugefügt
SL/Controller/RecordLinks.pm | ||
---|---|---|
65 | 65 |
my ($self) = @_; |
66 | 66 |
|
67 | 67 |
eval { |
68 |
my $linked_records = $self->object->linked_records(direction => 'both', recursive => 1, save_path => 1); |
|
68 |
my $linked_records = ($::instance_conf->get_always_record_links_from_order && ref $self->object ne 'SL::DB::Order') |
|
69 |
? $self->get_order_centric_linked_records |
|
70 |
: $self->object->linked_records(direction => 'both', recursive => 1, save_path => 1); |
|
71 |
|
|
69 | 72 |
push @{ $linked_records }, $self->object->sepa_export_items if $self->object->can('sepa_export_items'); |
70 | 73 |
|
71 | 74 |
my $output = grouped_record_list( |
... | ... | |
242 | 245 |
$::auth->assert('record_links'); |
243 | 246 |
} |
244 | 247 |
|
248 |
# internal |
|
249 |
|
|
250 |
sub get_order_centric_linked_records { |
|
251 |
my ($self) = @_; |
|
252 |
|
|
253 |
my $all_linked_records = $self->object->linked_records(direction => 'from', recursive => 1); |
|
254 |
my $filtered_orders = [ grep { 'SL::DB::Order' eq ref $_ && $_->is_type('sales_order') } @$all_linked_records ]; |
|
255 |
my $id_ref = [ map { $_->id } @$filtered_orders ]; |
|
256 |
my $linked_records = SL::DB::Order->new->linked_records(direction => 'to', recursive => 1, batch => $id_ref); |
|
257 |
push @{ $linked_records }, @$filtered_orders; |
|
258 |
|
|
259 |
return $linked_records; |
|
260 |
} |
|
245 | 261 |
1; |
SL/DB/MetaSetup/Default.pm | ||
---|---|---|
19 | 19 |
allow_new_purchase_invoice => { type => 'boolean', default => 'true', not_null => 1 }, |
20 | 20 |
allow_sales_invoice_from_sales_order => { type => 'boolean', default => 'true', not_null => 1 }, |
21 | 21 |
allow_sales_invoice_from_sales_quotation => { type => 'boolean', default => 'true', not_null => 1 }, |
22 |
always_record_links_from_order => { type => 'boolean', default => 'false' }, |
|
22 | 23 |
ap_add_doc => { type => 'boolean', default => 'false', not_null => 1 }, |
23 | 24 |
ap_changeable => { type => 'integer', default => 2, not_null => 1 }, |
24 | 25 |
ap_chart_id => { type => 'integer' }, |
doc/changelog | ||
---|---|---|
25 | 25 |
Mandantenkonfiguration eingestellt werden |
26 | 26 |
- Optionale Warnung falls eine Verkaufsrechnung nicht aus einem Lieferschein |
27 | 27 |
erzeugt wurde (Konfigurierbar in der Mandantenkonfiguration) |
28 |
- Die Ansicht der verknüpften Belegen kann unabhängig vom aktuellen Beleg immer |
|
29 |
vom Auftrag her aufgebaut werden |
|
28 | 30 |
|
29 | 31 |
Bugfixes (Tracker: https://www.kivitendo.de/redmine): |
30 | 32 |
|
locale/de/all | ||
---|---|---|
1700 | 1700 |
'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.', |
1701 | 1701 |
'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.', |
1702 | 1702 |
'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.', |
1703 |
'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', |
|
1703 | 1704 |
'If item not found, allow creation of new item' => 'Falls Artikel nicht gefunden, erlaube Erfassen eines Neuen', |
1704 | 1705 |
'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).', |
1705 | 1706 |
'If missing then the start date will be used.' => 'Falls es fehlt, so wird die erste Rechnung für das Startdatum erzeugt.', |
... | ... | |
4102 | 4103 |
'Versions' => 'Versionen', |
4103 | 4104 |
'View SEPA export' => 'SEPA-Export-Details ansehen', |
4104 | 4105 |
'View background job execution result' => 'Verlauf der Hintergrund-Job-Ausführungen anzeigen', |
4106 |
'View record links from Sales Order' => 'Verknüpfte Belege immer vom Verkaufsauftrag ansehen', |
|
4105 | 4107 |
'View sent email' => 'Verschickte E-Mail anzeigen', |
4106 | 4108 |
'View warehouse content' => 'Lagerbestand ansehen', |
4107 | 4109 |
'View/edit all employees purchase documents' => 'Bearbeiten/ansehen der Einkaufsdokumente aller Mitarbeiter', |
sql/Pg-upgrade2/defaults_view_record_links.sql | ||
---|---|---|
1 |
-- @tag: defaults_view_record_links |
|
2 |
-- @description: Mandantenkonfiguration: Sichtweise für record links immer vom Auftrag |
|
3 |
-- @depends: release_3_5_8 |
|
4 |
|
|
5 |
ALTER TABLE defaults ADD COLUMN always_record_links_from_order BOOLEAN DEFAULT FALSE; |
templates/webpages/client_config/_record_links.html | ||
---|---|---|
1 |
[%- USE HTML -%][%- USE LxERP -%][%- USE L -%] |
|
2 |
<div id="record_links"> |
|
3 |
<table> |
|
4 |
<tr> |
|
5 |
<td align="right" nowrap="true">[% LxERP.t8('View record links from Sales Order') %]</td> |
|
6 |
<td>[% L.yes_no_tag('defaults.always_record_links_from_order', SELF.defaults.always_record_links_from_order) %]</td> |
|
7 |
<td> |
|
8 |
[% LxERP.t8('If enabled the record links view starts always from the sales order including all sublevels') %]<br> |
|
9 |
</td> |
|
10 |
</tr> |
|
11 |
</table> |
|
12 |
</div> |
templates/webpages/client_config/form.html | ||
---|---|---|
93 | 93 |
<li><a href="#warehouse">[% LxERP.t8('Warehouse') %]</a></li> |
94 | 94 |
<li><a href="#features">[% LxERP.t8('Features') %]</a></li> |
95 | 95 |
<li><a href="#stocktaking">[% LxERP.t8('Stocktaking') %]</a></li> |
96 |
<li><a href="#record_links">[% LxERP.t8('Linked Records') %]</a></li> |
|
96 | 97 |
</ul> |
97 | 98 |
|
98 | 99 |
[% PROCESS 'client_config/_ranges_of_numbers.html' %] |
... | ... | |
106 | 107 |
[% PROCESS 'client_config/_warehouse.html' %] |
107 | 108 |
[% PROCESS 'client_config/_features.html' %] |
108 | 109 |
[% PROCESS 'client_config/_stocktaking.html' %] |
110 |
[% PROCESS 'client_config/_record_links.html' %] |
|
109 | 111 |
[% PROCESS 'client_config/_miscellaneous.html' %] |
110 | 112 |
</div> |
111 | 113 |
</form> |
Auch abrufbar als: Unified diff
Optionale auftragszentrische Verknüpfte Belege
Konfigurierbar in der Mandantenkonfiguration. Unabhängig vom
aktuellen Belegort werden die verknüpften Belege immer vom VK-Auftrag
aufgebaut