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.
Falls das Intervall nicht gesetzt oder wir nicht den Typ sales_quotation haben, passiert nichts.
Der Datentyp ist Integer, Tippfehler werden bisher nur dort abgefangen (Wird wahrscheinlich
nur einmalig von einem Kunden gesetzt).
profit_determination => { type => 'text' },
purchase_delivery_order_show_delete => { type => 'boolean', default => 'true' },
purchase_order_show_delete => { type => 'boolean', default => 'true' },
+ reqdate_interval => { type => 'integer', default => '0' },
require_transaction_description_ps => { type => 'boolean', default => 'false', not_null => 1 },
requirement_spec_section_order_part_id => { type => 'integer' },
revtrans => { type => 'boolean', default => 'false' },
if (!$form->{id}) {
my $wday = (localtime(time))[6];
my $next_workday = $wday == 5 ? 3 : $wday == 6 ? 2 : 1;
+
+ # if we have a client configured interval for sales quotation, we add this
+ $next_workday += $::instance_conf->get_reqdate_interval if ($::instance_conf->get_reqdate_interval &&
+ $form->{type} eq 'sales_quotation' );
+
$query_add = qq|, current_date AS transdate, date(current_date + interval '${next_workday} days') AS reqdate|;
}
# get customer/vendor
$form->all_vc(\%myconfig, $form->{vc}, ($form->{vc} eq 'customer') ? "AR" : "AP");
- # retrieve order/quotation
+ # retrieve order/quotation and webdav config
$form->{webdav} = $::instance_conf->get_webdav;
my $editing = $form->{id};
my $wday = (localtime(time))[6];
my $next_workday = $wday == 5 ? 3 : $wday == 6 ? 2 : 1;
+ # if we have a client configured interval for sales quotation, we add this
+ $next_workday += $::instance_conf->get_reqdate_interval if ($::instance_conf->get_reqdate_interval &&
+ $form->{type} eq 'sales_quotation' );
+
my $query = 'SELECT
date(current_date + interval \''. $next_workday .' days\') AS reqdate,
date(current_date) AS transdate';
'Sales Orders' => 'Aufträge',
'Sales Orders deleteable' => 'Kundenaufträge löschbar',
'Sales Price information' => 'Verkaufspreisinformation',
+ 'Sales Quotation valid interval' => 'Angebotsgültigkeitsintervall',
'Sales Quotations' => 'Angebote',
'Sales Report' => 'Verkaufsbericht',
'Sales and purchase invoices with inventory transactions with taxkeys' => 'Einkaufs- und Verkaufsrechnungen mit Warenbestandsbuchungen mit Steuerschlüsseln',
'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.',
'Uploaded at' => 'Hochgeladen um',
'Uploaded on #1, size #2 kB' => 'Am #1 hochgeladen, Größe #2 kB',
+ '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.',
'Use As New' => 'Als neu verwenden',
'Use WebDAV Repository' => 'WebDAV-Ablage verwenden',
'Use existing templates' => 'Vorhandene Druckvorlagen verwenden',
--- /dev/null
+# @tag: defaults_reqdate_interval
+# @description: Einstellen der Angebotsgültigkeit per Intervall (z.B.: +28 Tage)
+# @depends: release_3_1_0
+package SL::DBUpgrade2::defaults_reqdate_interval;
+
+use utf8;
+
+use parent qw(SL::DBUpgrade2::Base);
+use strict;
+
+sub run {
+ my ($self) = @_;
+
+ # this query will fail if column already exist (new database)
+ $self->db_query(qq|ALTER TABLE defaults ADD COLUMN reqdate_interval integer DEFAULT 0|);
+ return 1;
+}
+
+1;
<td>[% L.select_tag('defaults.balance_startdate_method', SELF.balance_startdate_method_options, value_key = 'value', title_key = 'title', default = SELF.defaults.balance_startdate_method) %]</td>
<td>[% LxERP.t8('This option controls the method used for determining the startdate for the balance report.') %]</td>
</tr>
+ <tr>
+ <td align="right">[% LxERP.t8('Sales Quotation valid interval') %]</td>
+ <td>[% L.input_tag('defaults.reqdate_interval', LxERP.format_amount(SELF.defaults.reqdate_interval, 0), style=style) %]</td>
+ <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>
+ </tr>
</table>
</div>