Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 2d44a547

Von Jan Büren vor mehr als 5 Jahren hinzugefügt

  • ID 2d44a547200a198e1c544c41152aa7c2df910e51
  • Vorgänger 29254bae
  • Nachfolger d0ebc498

Verkaufsaufträge: konfigurierbares Intervall für Lieferdatum-Berechnung

Unterschiede anzeigen:

SL/Controller/Order.pm
58 58
  my ($self) = @_;
59 59

  
60 60
  $self->order->transdate(DateTime->now_local());
61
  my $extra_days = $self->type eq sales_quotation_type() ? $::instance_conf->get_reqdate_interval : 1;
61
  my $extra_days = $self->{type} eq 'sales_quotation' ? $::instance_conf->get_reqdate_interval       :
62
                   $self->{type} eq 'sales_order'     ? $::instance_conf->get_delivery_date_interval : 1;
62 63
  $self->order->reqdate(DateTime->today_local->next_workday(extra_days => $extra_days)) if !$self->order->reqdate;
63 64

  
65

  
64 66
  $self->pre_render();
65 67
  $self->render(
66 68
    'order/form',
......
210 212

  
211 213
  # Set new reqdate unless changed
212 214
  if ($order->reqdate == $saved_order->reqdate) {
213
    my $extra_days = $self->type eq sales_quotation_type() ? $::instance_conf->get_reqdate_interval : 1;
215
    my $extra_days = $self->{type} eq 'sales_quotation' ? $::instance_conf->get_reqdate_interval       :
216
                     $self->{type} eq 'sales_order'     ? $::instance_conf->get_delivery_date_interval : 1;
214 217
    $new_attrs{reqdate} = DateTime->today_local->next_workday(extra_days => $extra_days);
215 218
  } else {
216 219
    $new_attrs{reqdate} = $order->reqdate;
SL/DB/MetaSetup/Default.pm
46 46
  datev_check_on_purchase_invoice           => { type => 'boolean', default => 'true' },
47 47
  datev_check_on_sales_invoice              => { type => 'boolean', default => 'true' },
48 48
  datev_export_format                       => { type => 'enum', check_in => [ 'cp1252', 'cp1252-translit', 'utf-8' ], db_type => 'datev_export_format_enum', default => 'cp1252-translit' },
49
  delivery_date_interval                    => { type => 'integer', default => '0' },
49 50
  disabled_price_sources                    => { type => 'array' },
50 51
  doc_delete_printfiles                     => { type => 'boolean', default => 'false' },
51 52
  doc_files                                 => { type => 'boolean', default => 'false' },
SL/OE.pm
958 958
  $form->{useasnew} = 1 if $is_collective_order == 1;
959 959

  
960 960
  if (!$form->{id}) {
961
    my $extra_days     = $form->{type} eq 'sales_quotation' ? $::instance_conf->get_reqdate_interval : 1;
961
    my $extra_days = $form->{type} eq 'sales_quotation' ? $::instance_conf->get_reqdate_interval       :
962
                     $form->{type} eq 'sales_order'     ? $::instance_conf->get_delivery_date_interval : 1;
962 963
    $form->{reqdate}   = DateTime->today_local->next_workday(extra_days => $extra_days)->to_kivitendo;
963 964
    $form->{transdate} = DateTime->today_local->to_kivitendo;
964 965
  }
bin/mozilla/oe.pl
1779 1779
  if ( $form->{reqdate} && $form->{id} ) {
1780 1780
    my $saved_order = OE->retrieve_simple(id => $form->{id});
1781 1781
    if ( $saved_order && $saved_order->{reqdate} eq $form->{reqdate} && $saved_order->{transdate} eq $form->{transdate} ) {
1782
      my $extra_days     = $form->{type} eq 'sales_quotation' ? $::instance_conf->get_reqdate_interval : 1;
1782
      my $extra_days = $form->{type} eq 'sales_quotation' ? $::instance_conf->get_reqdate_interval       :
1783
                       $form->{type} eq 'sales_order'     ? $::instance_conf->get_delivery_date_interval : 1;
1783 1784
      $form->{reqdate}   = DateTime->today_local->next_workday(extra_days => $extra_days)->to_kivitendo;
1784 1785
      $form->{transdate} = DateTime->today_local->to_kivitendo;
1785 1786
    }
locale/de/all
2672 2672
  'Sales Invoice'               => 'Rechnung',
2673 2673
  'Sales Invoices'              => 'Kundenrechnungen',
2674 2674
  'Sales Order'                 => 'Kundenauftrag',
2675
  'Sales Order delivery date interval' => 'Lieferdatumintervall',
2675 2676
  'Sales Orders'                => 'Aufträge',
2676 2677
  'Sales Orders Advance'        => 'Auftragsvorlauf',
2677 2678
  'Sales Orders deleteable'     => 'Kundenaufträge löschbar',
......
3753 3754
  'Users with access'           => 'Benutzer mit Zugriff',
3754 3755
  'Users with access to this client' => 'Benutzer mit Zugriff auf diesen Mandanten',
3755 3756
  'Users, Clients and User Groups' => 'Benutzer, Mandanten und Benutzergruppen',
3757
  'Usually the delivery date of an order is the next working day. If a value is set here this value will be added to the delivery date of the sales order. The resulting date will be adjusted to the next working day if it ends up on a weekend.' => 'Standardmäßig ist das vorausgewählte Lieferdatum der nächste Arbeitstag. Falls hier ein Wert gesetzt ist, wird dieser zum eigentlichen Lieferdatum hinzuaddiert. Fällt das daraus resultierende Datum auf ein Wochenende, so wird der nächste Werktag genommen.',
3756 3758
  'Usually the sales quotation is valid until the next working day. If a value is set here then the quotation will be valid for at least that many days. The resulting date will be adjusted to the next working day if it ends up on a weekend.' => 'Standardmäßig ist ein Verkaufsangebot bis zum nächsten Werktag gültig. Ist hier ein Wert angegeben, so ist ein Angebot mindestens so viele Tage gültig. Sollte das dabei herauskommende Datum auf ein Wochenende fallen, so wird statt dessen der nachfolgende Arbeitstag genommen.',
3757 3759
  'VAT ID'                      => 'USt-IdNr.',
3758 3760
  'VN'                          => 'Kred.-Nr.',
sql/Pg-upgrade2/defaults_delivery_date_interval.pl
1
# @tag: defaults_delivery_date_interval
2
# @description: Einstellen des Liefertermins für Aufträge per Intervall (z.B.: +28 Tage)
3
# @depends: release_3_5_3
4
package SL::DBUpgrade2::defaults_delivery_date_interval;
5

  
6
use utf8;
7

  
8
use parent qw(SL::DBUpgrade2::Base);
9
use strict;
10

  
11
sub run {
12
  my ($self) = @_;
13

  
14
  # this query will fail if column already exist (new database)
15
  $self->db_query(qq|ALTER TABLE defaults ADD COLUMN delivery_date_interval integer DEFAULT 0|);
16
  return 1;
17
}
18

  
19
1;
templates/webpages/client_config/_posting_configuration.html
91 91
   <td>[% L.input_tag('defaults.reqdate_interval', LxERP.format_amount(SELF.defaults.reqdate_interval, 0), style=style) %]</td>
92 92
   <td>[% LxERP.t8('Usually the sales quotation is valid until the next working day. If a value is set here then the quotation will be valid for at least that many days. The resulting date will be adjusted to the next working day if it ends up on a weekend.') %]</td>
93 93
  </tr>
94
  <tr>
95
   <td align="right">[% LxERP.t8('Sales Order delivery date interval') %]</td>
96
   <td>[% L.input_tag('defaults.delivery_date_interval', LxERP.format_amount(SELF.defaults.delivery_date_interval, 0), style=style) %]</td>
97
   <td>[% LxERP.t8('Usually the delivery date of an order is the next working day. If a value is set here this value will be added to the delivery date of the sales order. The resulting date will be adjusted to the next working day if it ends up on a weekend.') %]</td>
98
  </tr>
94 99
 </table>
95 100
</div>

Auch abrufbar als: Unified diff