Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision f1dd4b47

Von Jan Büren vor etwa 3 Jahren hinzugefügt

  • ID f1dd4b47874f1c231e539ad5a6e918fdffbb539c
  • Vorgänger d85f42c1
  • Nachfolger db3d7b7c

Optionale auftragszentrische Verknüpfte Belege

Konfigurierbar in der Mandantenkonfiguration. Unabhängig vom
aktuellen Belegort werden die verknüpften Belege immer vom VK-Auftrag
aufgebaut

Unterschiede anzeigen:

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