Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision ff494355

Von Moritz Bunkus vor fast 10 Jahren hinzugefügt

  • ID ff49435544248198707e0ea661c40e365063a14a
  • Vorgänger b35f15e8
  • Nachfolger c14eb2d1

Konfigurierbares Angebotsgültigkeits-Intervall: Arbeitstagsprüfung nach Addieren

Die Funktionsweise wurde so geändert, dass zuerst der hier angegebene
Wert (oder 1, wenn kein Wert angegeben) zum aktuellen Datum addiert
wird. Danach wird auf Wochenende geprüft und auf den nächsten Werktag
justiert, sofern notwendig.

Unterschiede anzeigen:

SL/OE.pm
850 850
  my $is_collective_order = scalar @ids;
851 851

  
852 852
  if (!$form->{id}) {
853
    my $wday         = (localtime(time))[6];
854
    my $next_workday = $wday == 5 ? 3 : $wday == 6 ? 2 : 1;
853
    my $extra_days   = $form->{type} eq 'sales_quotation' ? $::instance_conf->get_reqdate_interval : 1;
854
    my $next_workday = DateTime->today_local->add(days => $extra_days);
855
    my $day_of_week  = $next_workday->day_of_week;
855 856

  
856
    # if we have a client configured interval for sales quotation, we add this
857
    $next_workday   += $::instance_conf->get_reqdate_interval if ($::instance_conf->get_reqdate_interval &&
858
                                                                    $form->{type} eq 'sales_quotation' );
857
    $next_workday->add(days => (8 - $day_of_week)) if $day_of_week >= 6;
859 858

  
860
    $query_add       = qq|, current_date AS transdate, date(current_date + interval '${next_workday} days') AS reqdate|;
859
    $form->{transdate} = DateTime->today_local->to_kivitendo;
860
    $form->{reqdate}   = $next_workday->to_kivitendo;
861 861
  }
862 862

  
863 863
  # get default accounts
bin/mozilla/oe.pl
1637 1637
  if ( $form->{reqdate} && $form->{id} ) {
1638 1638
    my $saved_order = OE->retrieve_simple(id => $form->{id});
1639 1639
    if ( $saved_order && $saved_order->{reqdate} eq $form->{reqdate} && $saved_order->{transdate} eq $form->{transdate} ) {
1640
      my $extra_days   = $form->{type} eq 'sales_quotation' ? $::instance_conf->get_reqdate_interval : 1;
1641
      my $next_workday = DateTime->today_local->add(days => $extra_days);
1642
      my $day_of_week  = $next_workday->day_of_week;
1640 1643

  
1641
      my $dbh = $form->get_standard_dbh;
1644
      $next_workday->add(days => (8 - $day_of_week)) if $day_of_week >= 6;
1642 1645

  
1643
      my $wday         = (localtime(time))[6];
1644
      my $next_workday = $wday == 5 ? 3 : $wday == 6 ? 2 : 1;
1645

  
1646
      # if we have a client configured interval for sales quotation, we add this
1647
      $next_workday   += $::instance_conf->get_reqdate_interval if ($::instance_conf->get_reqdate_interval &&
1648
                                                                    $form->{type} eq 'sales_quotation'       );
1649

  
1650
      my $query = 'SELECT
1651
                     date(current_date + interval \''. $next_workday .' days\') AS reqdate,
1652
                     date(current_date) AS transdate';
1653
      my $ref = selectfirst_hashref_query($form, $dbh, $query);
1654

  
1655
      map(
1656
        { $form->{$_} = $ref->{$_} }
1657
        keys %{$ref}
1658
      );
1646
      $form->{transdate} = DateTime->today_local->to_kivitendo;
1647
      $form->{reqdate}   = $next_workday->to_kivitendo;
1659 1648
    }
1660 1649
  }
1661 1650

  
locale/de/all
2903 2903
  'Updating the client fields in the database "#1" on host "#2:#3" failed.' => 'Die Aktualisierung der Mandantenfelder in der Datenbank "#1" auf Host "#2:#3" schlug fehl.',
2904 2904
  'Uploaded at'                 => 'Hochgeladen um',
2905 2905
  'Uploaded on #1, size #2 kB'  => 'Am #1 hochgeladen, Größe #2 kB',
2906
  'Usally the sales quotation is valid until the next working day. This entry will be added to this date (i.e. 14, 28).' => 'Standardmässig ist ein Verkaufsangebot bis zum nächsten Werktag gültig. Dieses Intervall wird dann noch hinzugerechnet, bspw. nächster Werktag plus 14, 28 etc. .Daher sind Intervallwerte die durch 7 teilbar sind, sinnvoll.',
2907 2906
  'Use As New'                  => 'Als neu verwenden',
2908 2907
  'Use WebDAV Repository'       => 'WebDAV-Ablage verwenden',
2909 2908
  'Use existing templates'      => 'Vorhandene Druckvorlagen verwenden',
......
2923 2922
  'Users with access'           => 'Benutzer mit Zugriff',
2924 2923
  'Users with access to this client' => 'Benutzer mit Zugriff auf diesen Mandanten',
2925 2924
  'Users, Clients and User Groups' => 'Benutzer, Mandanten und Benutzergruppen',
2925
  '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.',
2926 2926
  'VAT ID'                      => 'UStdID-Nr',
2927 2927
  'Valid'                       => 'Gültig',
2928 2928
  'Valid from'                  => 'Gültig ab',
templates/webpages/client_config/_posting_configuration.html
89 89
  <tr>
90 90
   <td align="right">[% LxERP.t8('Sales Quotation valid interval') %]</td>
91 91
   <td>[% L.input_tag('defaults.reqdate_interval', LxERP.format_amount(SELF.defaults.reqdate_interval, 0), style=style) %]</td>
92
   <td>[% LxERP.t8('Usally the sales quotation is valid until the next working day. This entry will be added to this date (i.e. 14, 28).') %]</td>
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 94
 </table>
95 95
</div>

Auch abrufbar als: Unified diff