Revision 3bd73b5b
Von Bernd Blessmann vor fast 15 Jahren hinzugefügt
SL/Form.pm | ||
---|---|---|
772 | 772 |
$additional_params->{"conf_latex_templates"} = $main::latex; |
773 | 773 |
$additional_params->{"conf_opendocument_templates"} = $main::opendocument_templates; |
774 | 774 |
$additional_params->{"conf_vertreter"} = $main::vertreter; |
775 |
$additional_params->{"conf_show_best_before"} = $main::show_best_before; |
|
775 | 776 |
|
776 | 777 |
if (%main::debug_options) { |
777 | 778 |
map { $additional_params->{'DEBUG_' . uc($_)} = $main::debug_options{$_} } keys %main::debug_options; |
config/lx-erp.conf | ||
---|---|---|
2 | 2 |
|
3 | 3 |
use vars qw($dbcharset $eur $ghostscript_bin $html2ps_bin $language $latex_bin $latex_templates $lizenzen $memberfile |
4 | 4 |
$opendocument_templates $openofficeorg_daemon $openofficeorg_daemon_port $openofficeorg_writer_bin |
5 |
$pg_dump_exe $pg_restore_exe $sendmail $sid $spool $templates $userspath $vertreter $webdav $xvfb_bin); |
|
5 |
$pg_dump_exe $pg_restore_exe $sendmail $show_best_before $sid $spool $templates $userspath $vertreter $webdav $xvfb_bin);
|
|
6 | 6 |
|
7 | 7 |
# path to user configuration files |
8 | 8 |
$userspath = "users"; |
... | ... | |
43 | 43 |
$lizenzen = 1; |
44 | 44 |
$vertreter = 0; |
45 | 45 |
|
46 |
# Zeige Felder f?r Mindesthaltbarkeitsdatum |
|
47 |
$show_best_before = 0; |
|
48 |
|
|
46 | 49 |
## Support fuer OpenDocument-Vorlagen |
47 | 50 |
# Diese Option legt fest, ob OpenDocument-Vorlagen generell verfuegbar sind. |
48 | 51 |
$opendocument_templates = 1; |
config/lx-erp.conf.default | ||
---|---|---|
2 | 2 |
|
3 | 3 |
use vars qw($dbcharset $eur $ghostscript_bin $html2ps_bin $language $latex_bin $latex_templates $lizenzen $memberfile |
4 | 4 |
$opendocument_templates $openofficeorg_daemon $openofficeorg_daemon_port $openofficeorg_writer_bin |
5 |
$pg_dump_exe $pg_restore_exe $sendmail $sid $spool $templates $userspath $vertreter $webdav $xvfb_bin); |
|
5 |
$pg_dump_exe $pg_restore_exe $sendmail $show_best_before $sid $spool $templates $userspath $vertreter $webdav $xvfb_bin);
|
|
6 | 6 |
|
7 | 7 |
# path to user configuration files |
8 | 8 |
$userspath = "users"; |
... | ... | |
43 | 43 |
$lizenzen = 1; |
44 | 44 |
$vertreter = 0; |
45 | 45 |
|
46 |
# Zeige Felder f?r Mindesthaltbarkeitsdatum |
|
47 |
$show_best_before = 0; |
|
48 |
|
|
46 | 49 |
## Support fuer OpenDocument-Vorlagen |
47 | 50 |
# Diese Option legt fest, ob OpenDocument-Vorlagen generell verfuegbar sind. |
48 | 51 |
$opendocument_templates = 1; |
templates/webpages/do/stock_in_form_master.html | ||
---|---|---|
92 | 92 |
<th class="listheading"><translate>Warehouse</translate></th> |
93 | 93 |
<th class="listheading"><translate>Bin</translate></th> |
94 | 94 |
<th class="listheading"><translate>Charge Number</translate></th> |
95 |
[% IF conf_show_best_before %] |
|
95 | 96 |
<th class="listheading"><translate>Best Before</translate></th> |
97 |
[% END %] |
|
96 | 98 |
<th align="right" class="listheading"><translate>Qty</translate></th> |
97 | 99 |
<th align="right" class="listheading"><translate>Unit</translate></th> |
98 | 100 |
</tr> |
... | ... | |
106 | 108 |
<td>[% HTML.escape(row.warehouse_description) %]</td> |
107 | 109 |
<td>[% HTML.escape(row.bin_description) %]</td> |
108 | 110 |
<td>[% HTML.escape(row.chargenumber) %]</td> |
111 |
[% IF conf_show_best_before %] |
|
109 | 112 |
<td>[% HTML.escape(row.bestbefore) %]</td> |
113 |
[% END %] |
|
110 | 114 |
<td>[% HTML.escape(LxERP.format_amount(row.qty)) %]</td> |
111 | 115 |
<td>[% HTML.escape(row.unit) %]</td> |
112 | 116 |
|
... | ... | |
122 | 126 |
|
123 | 127 |
<td><select name="bin_id_[% loop.count %]" id="bin_id_[% loop.count %]"></select></td> |
124 | 128 |
<td><input name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]"></td> |
125 |
|
|
129 |
[% IF conf_show_best_before %] |
|
126 | 130 |
<td> |
127 | 131 |
<input name="bestbefore_[% loop.count %]" id="bestbefore_[% loop.count %]" value="[% HTML.escape(row.bestbefore) %]" size="11" title="[% myconfig_dateformat %]"> |
128 | 132 |
<input type="button" name="b_bestbefore_[% loop.count %]" id="bestbefore_trigger_[% loop.count %]" value="?"> |
129 | 133 |
</td> |
130 |
|
|
134 |
[% END %] |
|
131 | 135 |
<td><input name="qty_[% loop.count %]" size="12" value="[% HTML.escape(LxERP.format_amount(row.qty)) %]"></td> |
132 | 136 |
|
133 | 137 |
<td> |
... | ... | |
158 | 162 |
</form> |
159 | 163 |
|
160 | 164 |
[%- IF NOT delivered %] |
165 |
[% IF conf_show_best_before %] |
|
161 | 166 |
<script type="text/javascript"> |
162 | 167 |
<!-- |
163 | 168 |
[%- FOREACH row = STOCK_INFO %] |
... | ... | |
170 | 175 |
[%- END %] |
171 | 176 |
//--> |
172 | 177 |
</script> |
178 |
[% END %] |
|
173 | 179 |
[%- END %] |
174 | 180 |
|
175 | 181 |
</body> |
templates/webpages/do/stock_out_form_master.html | ||
---|---|---|
60 | 60 |
<th class="listheading"><translate>Warehouse</translate></th> |
61 | 61 |
<th class="listheading"><translate>Bin</translate></th> |
62 | 62 |
<th class="listheading"><translate>Charge Number</translate></th> |
63 |
[% IF conf_show_best_before %] |
|
63 | 64 |
<th class="listheading"><translate>Best Before</translate></th> |
65 |
[% END %] |
|
64 | 66 |
[%- UNLESS delivered %] |
65 | 67 |
<th align="right" class="listheading"><translate>Available qty</translate></th> |
66 | 68 |
[%- END %] |
... | ... | |
74 | 76 |
<td>[% HTML.escape(row.warehousedescription) %]</td> |
75 | 77 |
<td>[% HTML.escape(row.bindescription) %]</td> |
76 | 78 |
<td>[% HTML.escape(row.chargenumber) %]</td> |
79 |
[% IF conf_show_best_before %] |
|
77 | 80 |
<td>[% HTML.escape(row.bestbefore) %]</td> |
78 |
|
|
81 |
[% END %] |
|
79 | 82 |
[%- IF delivered %] |
80 | 83 |
|
81 | 84 |
<td>[% HTML.escape(LxERP.format_amount(row.stock_qty)) %]</td> |
... | ... | |
105 | 108 |
<input type="hidden" name="warehouse_id_[% loop.count %]" value="[% HTML.escape(row.warehouse_id) %]"> |
106 | 109 |
<input type="hidden" name="bin_id_[% loop.count %]" value="[% HTML.escape(row.bin_id) %]"> |
107 | 110 |
<input type="hidden" name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]"> |
111 |
[% IF conf_show_best_before %] |
|
108 | 112 |
<input type="hidden" name="bestbefore_[% loop.count %]" value="[% HTML.escape(row.bestbefore) %]"> |
113 |
[% END %] |
|
109 | 114 |
[%- END %] |
110 | 115 |
</table> |
111 | 116 |
</p> |
templates/webpages/generic/select_part_master.html | ||
---|---|---|
21 | 21 |
<th class="listheading"><translate>Charge number</translate></th> |
22 | 22 |
[% END %] |
23 | 23 |
[% IF has_bestbefore %] |
24 |
[% IF conf_show_best_before %] |
|
24 | 25 |
<th class="listheading"><translate>Best Before</translate></th> |
25 | 26 |
[% END %] |
27 |
[% END %] |
|
26 | 28 |
[% IF has_ean %] |
27 | 29 |
<th class="listheading"><translate>EAN</translate></th> |
28 | 30 |
[% END %] |
... | ... | |
53 | 55 |
</td> |
54 | 56 |
[% END %] |
55 | 57 |
[% IF has_bestbefore %] |
58 |
[% IF conf_show_best_before %] |
|
56 | 59 |
<td> |
57 | 60 |
<input type="hidden" name="new_bestbefore_id_[% loop.count %]" value="[% HTML.escape(part.bestbefore_id) %]"> |
58 | 61 |
<input type="hidden" name="new_bestbefore_[% loop.count %]" value="[% HTML.escape(part.bestbefore) %]"> |
59 | 62 |
[% HTML.escape(part.bestbefore) %] |
60 | 63 |
</td> |
61 | 64 |
[% END %] |
65 |
[% END %] |
|
62 | 66 |
[% IF has_ean %] |
63 | 67 |
<td> |
64 | 68 |
<input type="hidden" name="new_ean_[% loop.count %]" value="[% HTML.escape(part.ean) %]"> |
templates/webpages/wh/journal_filter_master.html | ||
---|---|---|
104 | 104 |
<th align="right" nowrap><translate>Charge Number</translate>:</th> |
105 | 105 |
<td><input name="chargenumber" size=40></td> |
106 | 106 |
</tr> |
107 |
[% IF conf_show_best_before %] |
|
107 | 108 |
<tr> |
108 | 109 |
<th align="right" nowrap><translate>Best Before</translate>:</th> |
109 | 110 |
<td> |
... | ... | |
111 | 112 |
<input type="button" name="b_bestbefore" id="bestbefore_trigger" value="?"> |
112 | 113 |
</td> |
113 | 114 |
</tr> |
115 |
[% END %] |
|
114 | 116 |
<tr> |
115 | 117 |
<th align="right" nowrap><translate>Transfer Quantity</translate>:</th> |
116 | 118 |
<td> |
... | ... | |
166 | 168 |
<td nowrap><label for="l_partnumber"><translate>Part Number</translate></label></td> |
167 | 169 |
<td align="right"><input name="l_chargenumber" id="l_chargenumber" class="checkbox" type="checkbox" value="Y" checked></td> |
168 | 170 |
<td nowrap><label for="l_chargenumber"><translate>Charge Number</translate></label></td> |
171 |
[% IF conf_show_best_before %] |
|
169 | 172 |
<td align="right"><input name="l_bestbefore" id="l_bestbefore" class="checkbox" type="checkbox" value="Y" checked></td> |
170 | 173 |
<td nowrap><label for="l_bestbefore"><translate>Best Before</translate></label></td> |
174 |
[% END %] |
|
171 | 175 |
</tr> |
172 | 176 |
<tr> |
173 | 177 |
<td align="right"><input name="l_trans_id" id="l_trans_id" class="checkbox" type="checkbox" value="Y"></td> |
... | ... | |
208 | 212 |
|
209 | 213 |
<script type="text/javascript"> |
210 | 214 |
<!-- |
215 |
[% IF conf_show_best_before %] |
|
211 | 216 |
Calendar.setup( { |
212 | 217 |
inputField : "bestbefore", |
213 | 218 |
ifFormat :"[% myconfig_jsc_dateformat %]", |
214 | 219 |
align : "BR", |
215 | 220 |
button : "bestbefore_trigger" |
216 | 221 |
}); |
222 |
[% END %] |
|
217 | 223 |
|
218 | 224 |
Calendar.setup( { |
219 | 225 |
inputField : "fromdate", |
templates/webpages/wh/removal_parts_selection_master.html | ||
---|---|---|
34 | 34 |
<th class="listheading"><translate>Part Number</translate></th> |
35 | 35 |
<th class="listheading"><translate>Part Description</translate></th> |
36 | 36 |
<th class="listheading"><translate>Charge Number</translate></th> |
37 |
[% IF conf_show_best_before %] |
|
37 | 38 |
<th class="listheading"><translate>Best Before</translate></th> |
39 |
[% END %] |
|
38 | 40 |
<th class="listheading"><translate>EAN</translate></th> |
39 | 41 |
<th class="listheading"><translate>Available qty</translate></th> |
40 | 42 |
<th class="listheading"><translate>Removal qty</translate></th> |
... | ... | |
47 | 49 |
<input type="hidden" name="partnumber_[% loop.count %]" value="[% HTML.escape(row.partnumber) %]"> |
48 | 50 |
<input type="hidden" name="partdescription_[% loop.count %]" value="[% HTML.escape(row.partdescription) %]"> |
49 | 51 |
<input type="hidden" name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]"> |
52 |
[% IF conf_show_best_before %] |
|
50 | 53 |
<input type="hidden" name="bestbefore_[% loop.count %]" value="[% HTML.escape(row.bestbefore) %]"> |
54 |
[% END %] |
|
51 | 55 |
<input type="hidden" name="ean_[% loop.count %]" value="[% HTML.escape(row.ean) %]"> |
52 | 56 |
<td>[% HTML.escape(row.bindescription) %]</td> |
53 | 57 |
<td>[% HTML.escape(row.partnumber) %]</td> |
54 | 58 |
<td>[% HTML.escape(row.partdescription) %]</td> |
55 | 59 |
<td>[% HTML.escape(row.chargenumber) %]</td> |
60 |
[% IF conf_show_best_before %] |
|
56 | 61 |
<td>[% HTML.escape(row.bestbefore) %]</td> |
62 |
[% END %] |
|
57 | 63 |
<td>[% HTML.escape(row.ean) %]</td> |
58 | 64 |
<td>[% HTML.escape(row.qty) %]</td> |
59 | 65 |
<td> |
templates/webpages/wh/report_filter_master.html | ||
---|---|---|
104 | 104 |
<th align="right" nowrap><translate>Charge Number</translate>:</th> |
105 | 105 |
<td><input name="chargenumber" size=40></td> |
106 | 106 |
</tr> |
107 |
[% IF conf_show_best_before %] |
|
107 | 108 |
<tr> |
108 | 109 |
<th align="right" nowrap><translate>Best Before</translate>:</th> |
109 | 110 |
<td> |
... | ... | |
111 | 112 |
<input type="button" name="b_bestbefore" id="bestbefore_trigger" value="?"> |
112 | 113 |
</td> |
113 | 114 |
</tr> |
115 |
[% END %] |
|
114 | 116 |
<tr> |
115 | 117 |
<th align="right" nowrap><translate>Qty in stock</translate>:</th> |
116 | 118 |
<td> |
... | ... | |
154 | 156 |
<td nowrap><label for="l_partnumber"><translate>Part Number</translate></label></td> |
155 | 157 |
<td align="right"><input name="l_chargenumber" id="l_chargenumber" class="checkbox" type="checkbox" value="Y" checked></td> |
156 | 158 |
<td nowrap><label for="l_chargenumber"><translate>Charge Number</translate></label></td> |
159 |
[% IF conf_show_best_before %] |
|
157 | 160 |
<td align="right"><input name="l_bestbefore" id="l_bestbefore" class="checkbox" type="checkbox" value="Y" checked></td> |
158 | 161 |
<td nowrap><label for="l_bestbefore"><translate>Best Before</translate></label></td> |
162 |
[% END %] |
|
159 | 163 |
</tr> |
160 | 164 |
|
161 | 165 |
<tr><td colspan="4"><hr noshade height="1"></td></tr> |
... | ... | |
183 | 187 |
</p> |
184 | 188 |
</form> |
185 | 189 |
|
190 |
[% IF conf_show_best_before %] |
|
186 | 191 |
<script type="text/javascript"> |
187 | 192 |
<!-- |
188 | 193 |
Calendar.setup( { |
... | ... | |
193 | 198 |
}); |
194 | 199 |
//--> |
195 | 200 |
</script> |
201 |
[% END %] |
|
196 | 202 |
|
197 | 203 |
</body> |
198 | 204 |
</html> |
templates/webpages/wh/transfer_parts_selection_master.html | ||
---|---|---|
66 | 66 |
<th class="listheading"><translate>Part Number</translate></th> |
67 | 67 |
<th class="listheading"><translate>Part Description</translate></th> |
68 | 68 |
<th class="listheading"><translate>Charge Number</translate></th> |
69 |
[% IF conf_show_best_before %] |
|
69 | 70 |
<th class="listheading"><translate>Best Before</translate></th> |
71 |
[% END %] |
|
70 | 72 |
<th class="listheading"><translate>EAN</translate></th> |
71 | 73 |
<th class="listheading"><translate>Available qty</translate></th> |
72 | 74 |
<th class="listheading" colspan="2"><translate>Transfer qty</translate></th> |
... | ... | |
80 | 82 |
<input type="hidden" name="partnumber_[% loop.count %]" value="[% HTML.escape(row.partnumber) %]"> |
81 | 83 |
<input type="hidden" name="partdescription_[% loop.count %]" value="[% HTML.escape(row.partdescription) %]"> |
82 | 84 |
<input type="hidden" name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]"> |
85 |
[% IF conf_show_best_before %] |
|
83 | 86 |
<input type="hidden" name="bestbefore_[% loop.count %]" value="[% HTML.escape(row.bestbefore) %]"> |
87 |
[% END %] |
|
84 | 88 |
<input type="hidden" name="ean_[% loop.count %]" value="[% HTML.escape(row.ean) %]"> |
85 | 89 |
<td>[% HTML.escape(row.bindescription) %]</td> |
86 | 90 |
<td>[% HTML.escape(row.partnumber) %]</td> |
87 | 91 |
<td>[% HTML.escape(row.partdescription) %]</td> |
88 | 92 |
<td>[% HTML.escape(row.chargenumber) %]</td> |
93 |
[% IF conf_show_best_before %] |
|
89 | 94 |
<td>[% HTML.escape(row.bestbefore) %]</td> |
95 |
[% END %] |
|
90 | 96 |
<td>[% HTML.escape(row.ean) %]</td> |
91 | 97 |
<td>[% HTML.escape(row.qty) %]</td> |
92 | 98 |
<td><input name="qty_[% loop.count %]" size="8" style="text-align: right"></td> |
templates/webpages/wh/warehouse_selection_assembly_master.html | ||
---|---|---|
105 | 105 |
<td><input name="chargenumber" size="30" value="[% HTML.escape(chargenumber) %]"></td> |
106 | 106 |
</tr> |
107 | 107 |
|
108 |
[% IF conf_show_best_before %] |
|
108 | 109 |
<tr> |
109 | 110 |
<th align="right" nowrap><translate>Best Before</translate></th> |
110 | 111 |
<td> |
111 | 112 |
<input name="bestbefore" id="bestbefore" size="11" value="[% HTML.escape(bestbefore) %]" title="[% myconfig_dateformat %]"> |
112 | 113 |
<input type="button" name="b_bestbefore" id="bestbefore_trigger" value="?"> |
113 |
</td>
|
|
114 |
</td> |
|
114 | 115 |
</tr> |
116 |
[% END %] |
|
115 | 117 |
|
116 | 118 |
<tr> |
117 | 119 |
<th align="right" nowrap><translate>Quantity</translate></th> |
... | ... | |
139 | 141 |
</p> |
140 | 142 |
</form> |
141 | 143 |
|
144 |
[% IF conf_show_best_before %] |
|
142 | 145 |
<script type="text/javascript"> |
143 | 146 |
<!-- |
144 | 147 |
Calendar.setup( { |
... | ... | |
149 | 152 |
}); |
150 | 153 |
//--> |
151 | 154 |
</script> |
155 |
[% END %] |
|
152 | 156 |
|
153 | 157 |
</body> |
154 | 158 |
</html> |
templates/webpages/wh/warehouse_selection_master.html | ||
---|---|---|
119 | 119 |
<td><input name="chargenumber" size="30"></td> |
120 | 120 |
</tr> |
121 | 121 |
|
122 |
[% IF conf_show_best_before %] |
|
122 | 123 |
<tr> |
123 | 124 |
<th align="right" nowrap><translate>Best Before</translate></th> |
124 | 125 |
<td> |
... | ... | |
126 | 127 |
<input type="button" name="b_bestbefore" id="bestbefore_trigger" value="?"> |
127 | 128 |
</td> |
128 | 129 |
</tr> |
130 |
[% END %] |
|
129 | 131 |
|
130 | 132 |
<tr> |
131 | 133 |
<th align="right" nowrap><translate>EAN</translate></th> |
... | ... | |
139 | 141 |
</p> |
140 | 142 |
</form> |
141 | 143 |
|
144 |
[% IF conf_show_best_before %] |
|
142 | 145 |
<script type="text/javascript"> |
143 | 146 |
<!-- |
144 | 147 |
Calendar.setup( { |
... | ... | |
149 | 152 |
}); |
150 | 153 |
//--> |
151 | 154 |
</script> |
155 |
[% END %] |
|
152 | 156 |
|
153 | 157 |
</body> |
154 | 158 |
</html> |
templates/webpages/wh/warehouse_selection_stock_master.html | ||
---|---|---|
105 | 105 |
<td><input name="chargenumber" size="30" value="[% HTML.escape(chargenumber) %]"></td> |
106 | 106 |
</tr> |
107 | 107 |
|
108 |
[% IF conf_show_best_before %] |
|
108 | 109 |
<tr> |
109 | 110 |
<th align="right" nowrap><translate>Best Before</translate></th> |
110 | 111 |
<td> |
... | ... | |
112 | 113 |
<input type="button" name="b_bestbefore" id="bestbefore_trigger" value="?"> |
113 | 114 |
</td> |
114 | 115 |
</tr> |
116 |
[% END %] |
|
115 | 117 |
|
116 | 118 |
<tr> |
117 | 119 |
<th align="right" nowrap><translate>EAN</translate></th> |
... | ... | |
144 | 146 |
</p> |
145 | 147 |
</form> |
146 | 148 |
|
149 |
[% IF conf_show_best_before %] |
|
147 | 150 |
<script type="text/javascript"> |
148 | 151 |
<!-- |
149 | 152 |
Calendar.setup( { |
... | ... | |
154 | 157 |
}); |
155 | 158 |
//--> |
156 | 159 |
</script> |
160 |
[% END %] |
|
157 | 161 |
|
158 | 162 |
</body> |
159 | 163 |
</html> |
Auch abrufbar als: Unified diff
Eingabe, Anzeige und Filter für Mindesthaltbarkeitsanzeige ist
über show_best_before einschaltbar.