Revision 4b31e6ba
Von Bernd Bleßmann vor mehr als 12 Jahren hinzugefügt
SL/Controller/ClientConfig.pm | ||
---|---|---|
{ title => $::locale->text("on the same day"), value => 2 }, ];
|
||
|
||
$self->{payments_changeable} = SL::DB::Default->get->payments_changeable;
|
||
$self->{show_bestbefore} = SL::DB::Default->get->show_bestbefore;
|
||
|
||
$self->render('client_config/form', title => $::locale->text('Client Configuration'));
|
||
}
|
||
... | ... | |
my ($self, %params) = @_;
|
||
|
||
SL::DB::Default->get->update_attributes('payments_changeable' => $::form->{payments_changeable});
|
||
SL::DB::Default->get->update_attributes('show_bestbefore' => $::form->{show_bestbefore});
|
||
|
||
flash_later('info', $::locale->text('Client Configuration saved!'));
|
||
|
SL/DB/MetaSetup/Default.pm | ||
---|---|---|
profit_determination => { type => 'text' },
|
||
language_id => { type => 'integer' },
|
||
payments_changeable => { type => 'integer', default => '0', not_null => 1 },
|
||
show_bestbefore => { type => 'boolean', default => 'false' },
|
||
],
|
||
|
||
primary_key_columns => [ 'id' ],
|
SL/Form.pm | ||
---|---|---|
$additional_params->{"conf_latex_templates"} = $::lx_office_conf{print_templates}->{latex};
|
||
$additional_params->{"conf_opendocument_templates"} = $::lx_office_conf{print_templates}->{opendocument};
|
||
$additional_params->{"conf_vertreter"} = $::lx_office_conf{features}->{vertreter};
|
||
$additional_params->{"conf_show_best_before"} = $::lx_office_conf{features}->{show_best_before};
|
||
$additional_params->{"conf_parts_image_css"} = $::lx_office_conf{features}->{parts_image_css};
|
||
$additional_params->{"conf_parts_listing_images"} = $::lx_office_conf{features}->{parts_listing_images};
|
||
$additional_params->{"conf_parts_show_image"} = $::lx_office_conf{features}->{parts_show_image};
|
SL/InstanceConfiguration.pm | ||
---|---|---|
return $self->{data}->{profit_determination};
|
||
}
|
||
|
||
sub get_show_bestbefore {
|
||
my ($self) = @_;
|
||
return $self->{data}->{show_bestbefore};
|
||
}
|
||
|
||
1;
|
||
|
||
__END__
|
||
... | ... | |
|
||
Returns the default profit determination method, balance or income
|
||
|
||
=item C<get_show_bestbefore>
|
||
|
||
Returns the default behavior for showing best before date, true or false
|
||
|
||
=back
|
||
|
||
=head1 BUGS
|
bin/mozilla/do.pl | ||
---|---|---|
my $pinfo = $part_info_map{$request->{parts_id}};
|
||
my $binfo = $bin_info_map{$request->{bin_id}};
|
||
|
||
if ($::lx_office_conf{features}->{show_best_before}) {
|
||
if ($::instance_conf->get_show_bestbefore) {
|
||
push @{ $form->{ERRORS} }, $locale->text("There is not enough available of '#1' at warehouse '#2', bin '#3', #4, #5, for the transfer of #6.",
|
||
$pinfo->{description},
|
||
$binfo->{warehouse_description},
|
bin/mozilla/wh.pl | ||
---|---|---|
$form->error($locale->text('The warehouse or the bin is missing.'));
|
||
}
|
||
|
||
if (!$::lx_office_conf{features}->{show_best_before}) {
|
||
if (!$::instance_conf->get_show_bestbefore) {
|
||
$form->{bestbefore} = '';
|
||
}
|
||
|
config/kivitendo.conf.default | ||
---|---|---|
webdav = 0
|
||
vertreter = 0
|
||
|
||
# Show fields used for the best before date
|
||
# ATTENTION! If you enabled this feature you can not simply turn it off again
|
||
# without taking care that best_before fields are emptied in the database.
|
||
# This can be done with the following query:
|
||
#
|
||
# UPDATE inventory SET bestbefore = NULL;
|
||
#
|
||
# Any stock contents containing a best before date will be impossible to stock
|
||
# out otherwise.
|
||
show_best_before = 0
|
||
|
||
## Pictures for parts
|
||
# Show the picture in the part form
|
||
parts_show_image = 1
|
locale/de/all | ||
---|---|---|
'AR Transaction (abbreviation)' => 'D',
|
||
'AR Transactions' => 'Debitorenbuchungen',
|
||
'ASSETS' => 'AKTIVA',
|
||
'ATTENTION! If you enabled this feature you can not simply turn it off again without taking care that best_before fields are emptied in the database.' => 'ACHTUNG! Wenn Sie diese Einstellung aktivieren, dann können Sie sie später nicht ohne Weiteres deaktivieren, ohne dafür zu sorgen, dass die Felder der Mindeshaltbarkeitsdaten in der Datenbank leer gemacht werden.',
|
||
'Abort' => 'Abbrechen',
|
||
'Abrechnungsnummer' => 'Abrechnungsnummer',
|
||
'Abteilung' => 'Abteilung',
|
||
... | ... | |
'An upper-case character is required.' => 'Ein Großbuchstabe ist vorgeschrieben.',
|
||
'Annotations' => 'Anmerkungen',
|
||
'Another user with the login #1 does already exist.' => 'Es existiert bereits ein anderer Benutzer mit diesem Login.',
|
||
'Any stock contents containing a best before date will be impossible to stock out otherwise.' => 'Sonst können Artikel, bei denen ein Mindesthaltbarkeitsdatum gesetzt ist, nicht mehr ausgelagert werden.',
|
||
'Ap aging on %s' => 'Offene Verbindlichkeiten zum %s',
|
||
'Application Error. No Format given' => 'Fehler in der Anwendung. Das Ausgabeformat fehlt.',
|
||
'Application Error. Wrong Format' => 'Fehler in der Anwendung. Falsches Format: ',
|
||
... | ... | |
'Short' => 'Knapp',
|
||
'Should payments be and when should they be changeable after posting?' => 'Sollen Zahlungen nach dem Buchen änderbar sein, und wenn ja, wann?',
|
||
'Show' => 'Zeigen',
|
||
'Show Bestbefore' => 'Mindesthaltbarkeit anzeigen',
|
||
'Show Filter' => 'Filter zeigen',
|
||
'Show Salesman' => 'Verkäufer anzeigen',
|
||
'Show TODO list' => 'Aufgabenliste anzeigen',
|
||
'Show by default' => 'Standardmäßig anzeigen',
|
||
'Show custom variable search inputs' => 'Suchoptionen für Benutzerdefinierte Variablen verstecken',
|
||
'Show details' => 'Detailsanzeige',
|
||
'Show fields used for the best before date?' => 'Felder zur Eingabe des Mindesthaltbarkeitsdatums anzeigen?',
|
||
'Show follow ups...' => 'Zeige Wiedervorlagen...',
|
||
'Show help text' => 'Hilfetext anzeigen',
|
||
'Show items from invoices individually' => 'Artikel aus Rechnungen anzeigen',
|
||
... | ... | |
'Therefore there\'s no need to create the same article more than once if it is sold or bought in/from another tax zone.' => 'Deswegen muss man den gleichen Artikel nicht mehr mehrmals anlegen, wenn er in verschiedenen Steuerzonen gehandelt werden soll.',
|
||
'These units can be based on other units so that kivitendo can convert prices when the user switches from one unit to another.' => 'Einheiten können auf anderen Einheiten basieren, sodass kivitendo Preise automatisch umrechnen kann, wenn die Benutzer zwischen solchen Einheiten umschalten.',
|
||
'These wrong entries cannot be fixed automatically.' => 'Diese Einträge können nicht automatisch bereinigt werden.',
|
||
'This can be done with the following query:' => 'Dies kann mit der folgenden Datenbankabfrage erreicht werden:',
|
||
'This corresponds to kivitendo\'s behavior prior to version 2.4.4.' => 'Dies entspricht kivitendos Verhalten vor Version 2.4.4.',
|
||
'This could have happened for two reasons:' => 'Dies kann aus zwei Gründen geschehen sein:',
|
||
'This customer number is already in use.' => 'Diese Kundennummer wird bereits verwendet.',
|
locale/de_DE/all | ||
---|---|---|
'AR Transaction (abbreviation)' => 'D',
|
||
'AR Transactions' => 'Debitorenbuchungen',
|
||
'ASSETS' => 'AKTIVA',
|
||
'ATTENTION! If you enabled this feature you can not simply turn it off again without taking care that best_before fields are emptied in the database.' => 'ACHTUNG! Wenn Sie diese Einstellung aktivieren, dann können Sie sie später nicht ohne Weiteres deaktivieren, ohne dafür zu sorgen, dass die Felder der Mindeshaltbarkeitsdaten in der Datenbank leer gemacht werden.',
|
||
'Abort' => 'Abbrechen',
|
||
'Abrechnungsnummer' => 'Abrechnungsnummer',
|
||
'Abteilung' => 'Abteilung',
|
||
... | ... | |
'An upper-case character is required.' => 'Ein Großbuchstabe ist vorgeschrieben.',
|
||
'Annotations' => 'Hilfe',
|
||
'Another user with the login #1 does already exist.' => 'Es existiert bereits ein anderer Benutzer mit diesem Login.',
|
||
'Any stock contents containing a best before date will be impossible to stock out otherwise.' => 'Sonst können Artikel, bei denen ein Mindesthaltbarkeitsdatum gesetzt ist, nicht mehr ausgelagert werden.',
|
||
'Ap aging on %s' => 'Offene Verbindlichkeiten zum %s',
|
||
'Application Error. No Format given' => 'Fehler in der Anwendung. Das Ausgabeformat fehlt.',
|
||
'Application Error. Wrong Format' => 'Fehler in der Anwendung. Falsches Format: ',
|
||
... | ... | |
'Short' => 'Knapp',
|
||
'Should payments be and when should they be changeable after posting?' => 'Sollen Zahlungen nach dem Buchen änderbar sein, und wenn ja, wann?',
|
||
'Show' => 'Zeigen',
|
||
'Show Bestbefore' => 'Mindesthaltbarkeit anzeigen',
|
||
'Show Salesman' => 'Verkäufer anzeigen',
|
||
'Show TODO list' => 'Meine Aufgaben',
|
||
'Show by default' => 'Standardmäßig anzeigen',
|
||
'Show custom variable search inputs' => 'Suche in erweiterten Datenfeldern',
|
||
'Show details' => 'Detailsanzeige',
|
||
'Show fields used for the best before date?' => 'Felder zur Eingabe des Mindesthaltbarkeitsdatums anzeigen?',
|
||
'Show follow ups...' => 'Zeige Wiedervorlagen...',
|
||
'Show help text' => 'Hilfetext anzeigen',
|
||
'Show old dunnings' => 'Alte Mahnungen anzeigen',
|
||
... | ... | |
'Therefore there\'s no need to create the same article more than once if it is sold or bought in/from another tax zone.' => 'Deswegen muss man den gleichen Artikel nicht mehr mehrmals anlegen, wenn er in verschiedenen Steuerzonen gehandelt werden soll.',
|
||
'These units can be based on other units so that Lx-Office can convert prices when the user switches from one unit to another.' => 'Diese Einheiten können auf anderen Einheiten basieren, sodass Lx-Office Preise umrechnen kann, wenn der Benutzer von einer Einheit zu einer anderen Wechselt.',
|
||
'These wrong entries cannot be fixed automatically.' => 'Diese Einträge können nicht automatisch bereinigt werden.',
|
||
'This can be done with the following query:' => 'Dies kann mit der folgenden Datenbankabfrage erreicht werden:',
|
||
'This corresponds to Lx-Office\'s behavior prior to version 2.4.4.' => 'Dieses entspricht dem Verhalten von Lx-Office vor Version 2.4.4.',
|
||
'This could have happened for two reasons:' => 'Dies kann aus zwei Gründen geschehen sein:',
|
||
'This customer number is already in use.' => 'Diese Kundennummer wird bereits verwendet.',
|
locale/en/all | ||
---|---|---|
'AR Transaction (abbreviation)' => '',
|
||
'AR Transactions' => 'Sales Transactions',
|
||
'ASSETS' => '',
|
||
'ATTENTION! If you enabled this feature you can not simply turn it off again without taking care that best_before fields are emptied in the database.' => '',
|
||
'Abort' => '',
|
||
'Abrechnungsnummer' => '',
|
||
'Abteilung' => '',
|
||
... | ... | |
'An upper-case character is required.' => '',
|
||
'Annotations' => '',
|
||
'Another user with the login #1 does already exist.' => '',
|
||
'Any stock contents containing a best before date will be impossible to stock out otherwise.' => '',
|
||
'Ap aging on %s' => '',
|
||
'Application Error. No Format given' => '',
|
||
'Application Error. Wrong Format' => '',
|
||
... | ... | |
'Short' => '',
|
||
'Should payments be and when should they be changeable after posting?' => '',
|
||
'Show' => '',
|
||
'Show Bestbefore' => '',
|
||
'Show Filter' => '',
|
||
'Show Salesman' => '',
|
||
'Show TODO list' => '',
|
||
'Show by default' => '',
|
||
'Show custom variable search inputs' => '',
|
||
'Show details' => '',
|
||
'Show fields used for the best before date?' => '',
|
||
'Show follow ups...' => '',
|
||
'Show help text' => '',
|
||
'Show items from invoices individually' => '',
|
||
... | ... | |
'Therefore there\'s no need to create the same article more than once if it is sold or bought in/from another tax zone.' => '',
|
||
'These units can be based on other units so that kivitendo can convert prices when the user switches from one unit to another.' => '',
|
||
'These wrong entries cannot be fixed automatically.' => '',
|
||
'This can be done with the following query:' => '',
|
||
'This corresponds to kivitendo\'s behavior prior to version 2.4.4.' => '',
|
||
'This could have happened for two reasons:' => '',
|
||
'This customer number is already in use.' => '',
|
sql/Pg-upgrade2/defaults_show_bestbefore.pl | ||
---|---|---|
# @tag: defaults_show_bestbefore
|
||
# @description: Einstellung, ob Mindesthaltbarkeitsdatum angezeigt wird, vom Config-File in die DB verlagern.
|
||
# @depends: release_2_7_0
|
||
# @charset: utf-8
|
||
|
||
use utf8;
|
||
use strict;
|
||
|
||
die("This script cannot be run from the command line.") unless ($main::form);
|
||
|
||
sub mydberror {
|
||
my ($msg) = @_;
|
||
die($dbup_locale->text("Database update error:") .
|
||
"<br>$msg<br>" . $DBI::errstr);
|
||
}
|
||
|
||
sub do_query {
|
||
my ($query, $may_fail) = @_;
|
||
|
||
if (!$dbh->do($query)) {
|
||
mydberror($query) unless ($may_fail);
|
||
$dbh->rollback();
|
||
$dbh->begin_work();
|
||
}
|
||
}
|
||
|
||
sub do_update {
|
||
|
||
# this query will fail if column already exist (new database)
|
||
do_query(qq|ALTER TABLE defaults ADD COLUMN show_bestbefore boolean DEFAULT false|, 1);
|
||
|
||
# check current configuration and set default variables accordingly, so that
|
||
# Lx-Office behaviour isn't changed by this update
|
||
# if show_best_before is not set in config set it to 0
|
||
my $show_bestbefore = 0;
|
||
if ($::lx_office_conf{features}->{show_best_before}) {
|
||
$show_bestbefore = 1;
|
||
}
|
||
|
||
my $update_column = "UPDATE defaults SET show_bestbefore = '$show_bestbefore';";
|
||
do_query($update_column);
|
||
|
||
return 1;
|
||
}
|
||
|
||
return do_update();
|
||
|
templates/webpages/client_config/form.html | ||
---|---|---|
<form action='controller.pl' method='POST'>
|
||
|
||
<table>
|
||
|
||
<tr class='listheading'>
|
||
<th colspan="3">[% 'Posting Configuration' | $T8 %]</th>
|
||
</tr>
|
||
... | ... | |
<td>[% L.select_tag('payments_changeable', SELF.payment_options, value_key => 'value', title_key => 'title', default => SELF.payments_changeable) %]</td>
|
||
<td>[% 'Should payments be and when should they be changeable after posting?' | $T8 %]</td>
|
||
</tr>
|
||
|
||
<tr> </tr>
|
||
<tr> </tr>
|
||
|
||
<tr class='listheading'>
|
||
<th colspan="3">[% 'Warehouse' | $T8 %]</th>
|
||
</tr>
|
||
<tr>
|
||
<td align="right">[% 'Show Bestbefore' | $T8 %]</td>
|
||
<td>
|
||
[% L.yes_no_tag('show_bestbefore', SELF.show_bestbefore) %]
|
||
</td>
|
||
<td>
|
||
[% 'Show fields used for the best before date?' | $T8 %]<br>
|
||
[% 'ATTENTION! If you enabled this feature you can not simply turn it off again without taking care that best_before fields are emptied in the database.' | $T8 %]<br>
|
||
[% 'This can be done with the following query:' | $T8 %]<br>
|
||
<br>
|
||
UPDATE inventory SET bestbefore = NULL; <br>
|
||
<br>
|
||
[% 'Any stock contents containing a best before date will be impossible to stock out otherwise.' | $T8 %]
|
||
</td>
|
||
</tr>
|
||
|
||
</table>
|
||
|
||
<br>
|
templates/webpages/do/stock_in_form.html | ||
---|---|---|
<th class="listheading">[% 'Warehouse' | $T8 %]</th>
|
||
<th class="listheading">[% 'Bin' | $T8 %]</th>
|
||
<th class="listheading">[% 'Charge Number' | $T8 %]</th>
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<th class="listheading">[% 'Best Before' | $T8 %]</th>
|
||
[% END %]
|
||
<th align="right" class="listheading">[% 'Qty' | $T8 %]</th>
|
||
... | ... | |
<td>[% HTML.escape(row.warehouse_description) %]</td>
|
||
<td>[% HTML.escape(row.bin_description) %]</td>
|
||
<td>[% HTML.escape(row.chargenumber) %]</td>
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<td>[% HTML.escape(row.bestbefore) %]</td>
|
||
[% END %]
|
||
<td>[% HTML.escape(LxERP.format_amount(row.qty)) %]</td>
|
||
... | ... | |
|
||
<td><select name="bin_id_[% loop.count %]" id="bin_id_[% loop.count %]"></select></td>
|
||
<td><input name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]"></td>
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<td>
|
||
[% L.date_tag('bestbefore_'_ loop.count, row.bestbefore) %]
|
||
</td>
|
templates/webpages/do/stock_out_form.html | ||
---|---|---|
<th class="listheading">[% 'Warehouse' | $T8 %]</th>
|
||
<th class="listheading">[% 'Bin' | $T8 %]</th>
|
||
<th class="listheading">[% 'Charge Number' | $T8 %]</th>
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<th class="listheading">[% 'Best Before' | $T8 %]</th>
|
||
[% END %]
|
||
[%- UNLESS delivered %]
|
||
... | ... | |
<td>[% HTML.escape(row.warehousedescription) %]</td>
|
||
<td>[% HTML.escape(row.bindescription) %]</td>
|
||
<td>[% HTML.escape(row.chargenumber) %]</td>
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<td>[% HTML.escape(row.bestbefore) %]</td>
|
||
[% END %]
|
||
[%- IF delivered %]
|
||
... | ... | |
<input type="hidden" name="warehouse_id_[% loop.count %]" value="[% HTML.escape(row.warehouse_id) %]">
|
||
<input type="hidden" name="bin_id_[% loop.count %]" value="[% HTML.escape(row.bin_id) %]">
|
||
<input type="hidden" name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]">
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<input type="hidden" name="bestbefore_[% loop.count %]" value="[% HTML.escape(row.bestbefore) %]">
|
||
[% END %]
|
||
[%- END %]
|
templates/webpages/generic/select_part.html | ||
---|---|---|
<th class="listheading">[% 'Charge number' | $T8 %]</th>
|
||
[% END %]
|
||
[% IF has_bestbefore %]
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<th class="listheading">[% 'Best Before' | $T8 %]</th>
|
||
[% END %]
|
||
[% END %]
|
||
... | ... | |
</td>
|
||
[% END %]
|
||
[% IF has_bestbefore %]
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<td>
|
||
<input type="hidden" name="new_bestbefore_id_[% loop.count %]" value="[% HTML.escape(part.bestbefore_id) %]">
|
||
<input type="hidden" name="new_bestbefore_[% loop.count %]" value="[% HTML.escape(part.bestbefore) %]">
|
templates/webpages/wh/journal_filter.html | ||
---|---|---|
<th align="right" nowrap>[% 'Charge Number' | $T8 %]:</th>
|
||
<td><input name="chargenumber" size=40></td>
|
||
</tr>
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<tr>
|
||
<th align="right" nowrap>[% 'Best Before' | $T8 %]:</th>
|
||
<td>
|
||
... | ... | |
<td nowrap><label for="l_partnumber">[% 'Part Number' | $T8 %]</label></td>
|
||
<td align="right"><input name="l_chargenumber" id="l_chargenumber" class="checkbox" type="checkbox" value="Y" checked></td>
|
||
<td nowrap><label for="l_chargenumber">[% 'Charge Number' | $T8 %]</label></td>
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<td align="right"><input name="l_bestbefore" id="l_bestbefore" class="checkbox" type="checkbox" value="Y" checked></td>
|
||
<td nowrap><label for="l_bestbefore">[% 'Best Before' | $T8 %]</label></td>
|
||
[% END %]
|
templates/webpages/wh/removal_parts_selection.html | ||
---|---|---|
<th class="listheading">[% 'Part Number' | $T8 %]</th>
|
||
<th class="listheading">[% 'Part Description' | $T8 %]</th>
|
||
<th class="listheading">[% 'Charge Number' | $T8 %]</th>
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<th class="listheading">[% 'Best Before' | $T8 %]</th>
|
||
[% END %]
|
||
<th class="listheading">[% 'EAN' | $T8 %]</th>
|
||
... | ... | |
<input type="hidden" name="partnumber_[% loop.count %]" value="[% HTML.escape(row.partnumber) %]">
|
||
<input type="hidden" name="partdescription_[% loop.count %]" value="[% HTML.escape(row.partdescription) %]">
|
||
<input type="hidden" name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]">
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<input type="hidden" name="bestbefore_[% loop.count %]" value="[% HTML.escape(row.bestbefore) %]">
|
||
[% END %]
|
||
<input type="hidden" name="ean_[% loop.count %]" value="[% HTML.escape(row.ean) %]">
|
||
... | ... | |
<td>[% HTML.escape(row.partnumber) %]</td>
|
||
<td>[% HTML.escape(row.partdescription) %]</td>
|
||
<td>[% HTML.escape(row.chargenumber) %]</td>
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<td>[% HTML.escape(row.bestbefore) %]</td>
|
||
[% END %]
|
||
<td>[% HTML.escape(row.ean) %]</td>
|
templates/webpages/wh/report_filter.html | ||
---|---|---|
<th align="right" nowrap>[% 'Charge Number' | $T8 %]:</th>
|
||
<td><input name="chargenumber" size=40></td>
|
||
</tr>
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<tr>
|
||
<th align="right" nowrap>[% 'Best Before' | $T8 %]:</th>
|
||
<td>
|
||
... | ... | |
<td nowrap><label for="l_partnumber">[% 'Part Number' | $T8 %]</label></td>
|
||
<td align="right"><input name="l_chargenumber" id="l_chargenumber" class="checkbox" type="checkbox" value="Y" checked></td>
|
||
<td nowrap><label for="l_chargenumber">[% 'Charge Number' | $T8 %]</label></td>
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<td align="right"><input name="l_bestbefore" id="l_bestbefore" class="checkbox" type="checkbox" value="Y" checked></td>
|
||
<td nowrap><label for="l_bestbefore">[% 'Best Before' | $T8 %]</label></td>
|
||
[% END %]
|
templates/webpages/wh/transfer_parts_selection.html | ||
---|---|---|
<th class="listheading">[% 'Part Number' | $T8 %]</th>
|
||
<th class="listheading">[% 'Part Description' | $T8 %]</th>
|
||
<th class="listheading">[% 'Charge Number' | $T8 %]</th>
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<th class="listheading">[% 'Best Before' | $T8 %]</th>
|
||
[% END %]
|
||
<th class="listheading">[% 'EAN' | $T8 %]</th>
|
||
... | ... | |
<input type="hidden" name="partnumber_[% loop.count %]" value="[% HTML.escape(row.partnumber) %]">
|
||
<input type="hidden" name="partdescription_[% loop.count %]" value="[% HTML.escape(row.partdescription) %]">
|
||
<input type="hidden" name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]">
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<input type="hidden" name="bestbefore_[% loop.count %]" value="[% HTML.escape(row.bestbefore) %]">
|
||
[% END %]
|
||
<input type="hidden" name="ean_[% loop.count %]" value="[% HTML.escape(row.ean) %]">
|
||
... | ... | |
<td>[% HTML.escape(row.partnumber) %]</td>
|
||
<td>[% HTML.escape(row.partdescription) %]</td>
|
||
<td>[% HTML.escape(row.chargenumber) %]</td>
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<td>[% HTML.escape(row.bestbefore) %]</td>
|
||
[% END %]
|
||
<td>[% HTML.escape(row.ean) %]</td>
|
templates/webpages/wh/warehouse_selection.html | ||
---|---|---|
<td><input name="chargenumber" size="30"></td>
|
||
</tr>
|
||
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<tr>
|
||
<th align="right" nowrap>[% 'Best Before' | $T8 %]</th>
|
||
<td>
|
templates/webpages/wh/warehouse_selection_assembly.html | ||
---|---|---|
<td><input name="chargenumber" size="30" value="[% HTML.escape(chargenumber) %]"></td>
|
||
</tr>
|
||
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<tr>
|
||
<th align="right" nowrap>[% 'Best Before' | $T8 %]</th>
|
||
<td>
|
templates/webpages/wh/warehouse_selection_stock.html | ||
---|---|---|
<td><input name="chargenumber" size="30" value="[% HTML.escape(chargenumber) %]"></td>
|
||
</tr>
|
||
|
||
[% IF conf_show_best_before %]
|
||
[% IF INSTANCE_CONF.get_show_bestbefore %]
|
||
<tr>
|
||
<th align="right" nowrap>[% 'Best Before' | $T8 %]</th>
|
||
<td>
|
Auch abrufbar als: Unified diff
Option für Mindesthaltbarkeitsdatum in Mandantenkonfiguration verschoben.