Revision 85171b62
Von Hans P. Schlaepfer vor etwa 4 Jahren hinzugefügt
templates/webpages/inventory/_journal.html | ||
---|---|---|
2 | 2 |
[% USE HTML %] |
3 | 3 |
[% USE LxERP %] |
4 | 4 |
[% USE T8 %] |
5 |
|
|
5 | 6 |
<h3>[% 'Journal of Last 10 Transfers' | $T8 %]</h3> |
6 | 7 |
|
7 |
[%- IF journal.size %] |
|
8 |
<table> |
|
9 |
<tr class='listheading'> |
|
10 |
<th>[% 'Date' | $T8 %]</th> |
|
11 |
<th>[% 'Trans Type' | $T8 %]</th> |
|
12 |
<th>[% 'Part' | $T8 %]</th> |
|
13 |
<th>[% 'Warehouse From' | $T8 %]</th> |
|
14 |
<th>[% 'Qty' | $T8 %]</th> |
|
15 |
<th>[% 'Unit' | $T8 %]</th> |
|
16 |
<th>[% 'Warehouse To' | $T8 %]</th> |
|
17 |
<th>[% 'Charge Number' | $T8 %]</th> |
|
18 |
<th>[% 'Comment' | $T8 %]</th> |
|
19 |
</tr> |
|
20 |
[% FOREACH row = journal %] |
|
21 |
<tr class='listrow'> |
|
22 |
<td>[% row.base.itime_as_date %]</td> |
|
23 |
<td>[% row.base.trans_type.description | $T8 %]</td> |
|
24 |
<td>[% row.base.part.displayable_name | html %]</td> |
|
25 |
<td>[% row.out ? row.out.bin.full_description : '-' | html %]</td> |
|
26 |
<td class='numeric'>[% row.in ? row.in.qty_as_number : LxERP.format_amount(-1 * row.out.qty, 2) %]</td> |
|
27 |
<td>[% row.base.part.unit | html %]</td> |
|
28 |
<td>[% row.in ? row.in.bin.full_description : '-' | html %]</td> |
|
29 |
<td>[% row.base.chargenumber | html %]</td> |
|
30 |
<td>[% row.base.comment | html %]</td> |
|
31 |
</tr> |
|
8 |
[% IF journal.size %] |
|
9 |
|
|
10 |
<table class="tbl-list wi-moderate"> |
|
11 |
<thead> |
|
12 |
<tr> |
|
13 |
<th>[% 'Date' | $T8 %]</th> |
|
14 |
<th>[% 'Trans Type' | $T8 %]</th> |
|
15 |
<th>[% 'Part' | $T8 %]</th> |
|
16 |
<th>[% 'Warehouse From' | $T8 %]</th> |
|
17 |
<th class="right">[% 'Qty' | $T8 %]</th> |
|
18 |
<th>[% 'Unit' | $T8 %]</th> |
|
19 |
<th>[% 'Warehouse To' | $T8 %]</th> |
|
20 |
<th class="right">[% 'Charge Number' | $T8 %]</th> |
|
21 |
<th>[% 'Comment' | $T8 %]</th> |
|
22 |
</tr> |
|
23 |
</thead> |
|
24 |
<tbody> |
|
25 |
[% FOREACH row = journal %] |
|
26 |
<tr> |
|
27 |
<td>[% row.base.itime_as_date %]</td> |
|
28 |
<td>[% row.base.trans_type.description | $T8 %]</td> |
|
29 |
<td>[% row.base.part.displayable_name | html %]</td> |
|
30 |
<td>[% row.out ? row.out.bin.full_description : '-' | html %]</td> |
|
31 |
<td class='numeric'>[% row.in ? row.in.qty_as_number : LxERP.format_amount(-1 * row.out.qty, 2) %]</td> |
|
32 |
<td>[% row.base.part.unit | html %]</td> |
|
33 |
<td>[% row.in ? row.in.bin.full_description : '-' | html %]</td> |
|
34 |
<td class="right">[% row.base.chargenumber | html %]</td> |
|
35 |
<td>[% row.base.comment | html %]</td> |
|
36 |
</tr> |
|
37 |
[% END %] |
|
38 |
</tbody> |
|
39 |
</table> |
|
40 |
|
|
41 |
[% ELSE %] |
|
42 |
<p>[% 'No transactions yet.' | $T8 %]</p> |
|
32 | 43 |
[% END %] |
33 |
</table> |
|
34 |
[%- ELSE %] |
|
35 |
<p>[% 'No transactions yet.' | $T8 %]</p> |
|
36 |
[%- END %] |
templates/webpages/inventory/_stock.html | ||
---|---|---|
1 |
<h3>[% LxERP.t8('Stock for part #1', SELF.part.displayable_name) %][%- IF SELF.part.ean -%] ([%- SELF.part.ean -%])[%- END -%]</h3> |
|
2 | 1 |
[% USE HTML %] |
3 | 2 |
[% USE LxERP %] |
4 | 3 |
[% USE L %] |
5 | 4 |
[% USE T8 %] |
6 | 5 |
|
7 |
[%- IF SELF.stock_empty && !SELF.part.bin_id %] |
|
8 |
<p>[% 'Nothing stocked yet.' | $T8 %]</p> |
|
9 |
[%- ELSE %] |
|
10 |
<table> |
|
11 |
<tr class='listheading'> |
|
12 |
<th>[% 'Warehouse' | $T8 %]</th> |
|
13 |
<th>[% 'Bin' | $T8 %]</th> |
|
14 |
<th>[% 'Qty' | $T8 %]</th> |
|
15 |
</tr> |
|
16 |
[%- FOREACH wh = SELF.warehouses -%] |
|
17 |
[%- FOREACH bin = wh.bins -%] |
|
18 |
[%#- display any bins with stock and default bin -%] |
|
19 |
[%- SET stock__set = SELF.stock_by_bin.${bin.id} -%] |
|
20 |
[%- IF stock__set.sum > 0 || SELF.part.bin_id == bin.id -%] |
|
21 |
<tr class='listrow'> |
|
22 |
<td>[% bin.warehouse.description %]</td> |
|
23 |
<td>[% bin.description %]</td> |
|
24 |
<td class='numeric'>[% LxERP.format_amount(stock__set.sum, 2) %] [%- SELF.part.unit -%]</td> |
|
25 |
</tr> |
|
26 |
[%- END -%] |
|
27 |
[%- END -%] |
|
28 |
[%- END %] |
|
29 |
</table> |
|
30 |
[%- END %] |
|
31 |
[%- END %] |
|
6 |
[% IF SELF.part.id %] |
|
7 |
|
|
8 |
<h3>[% LxERP.t8('Stock for part #1', SELF.part.displayable_name) %][% IF SELF.part.ean %] ([% SELF.part.ean %])[% END %]</h3> |
|
9 |
|
|
10 |
[% IF SELF.stock_empty && !SELF.part.bin_id %] |
|
11 |
<p>[% 'Nothing stocked yet.' | $T8 %]</p> |
|
12 |
[% ELSE %] |
|
13 |
<table class="tbl-list wi-moderate"> |
|
14 |
<thead> |
|
15 |
<tr> |
|
16 |
<th>[% 'Warehouse' | $T8 %]</th> |
|
17 |
<th>[% 'Bin' | $T8 %]</th> |
|
18 |
<th>[% 'Qty' | $T8 %]</th> |
|
19 |
</tr> |
|
20 |
</thead> |
|
21 |
<tbody> |
|
22 |
[% FOREACH wh = SELF.warehouses %] |
|
23 |
[% FOREACH bin = wh.bins %] |
|
24 |
[% # display any bins with stock and default bin %] |
|
25 |
[% SET stock__set = SELF.stock_by_bin.${bin.id} %] |
|
26 |
[% IF stock__set.sum > 0 || SELF.part.bin_id == bin.id %] |
|
27 |
<tr> |
|
28 |
<td>[% bin.warehouse.description %]</td> |
|
29 |
<td>[% bin.description %]</td> |
|
30 |
<td class='numeric'>[% LxERP.format_amount(stock__set.sum, 2) %] [% SELF.part.unit %]</td> |
|
31 |
</tr> |
|
32 |
[% END %] |
|
33 |
[% END %] |
|
34 |
[% END %] |
|
35 |
</tbody> |
|
36 |
</table> |
|
37 |
[% END %] |
|
38 |
|
|
39 |
[% END %] |
templates/webpages/inventory/report_bottom.html | ||
---|---|---|
1 |
[%- PROCESS 'common/paginate.html' pages=SELF.pages, base_url = SELF.base_url %] |
|
1 |
[% PROCESS 'common/paginate.html' pages=SELF.pages, base_url = SELF.base_url %] |
templates/webpages/inventory/stocktaking/_already_counted_dialog.html | ||
---|---|---|
5 | 5 |
|
6 | 6 |
<form method="post" id="already_counted_form" method="POST"> |
7 | 7 |
|
8 |
<p> |
|
8 | 9 |
[% 'This part was already counted for this bin:' | $T8 %]<br> |
9 | 10 |
[% SELF.part.displayable_name %] / [% SELF.part.ean %]<br> |
10 |
[% already_counted.first.bin.full_description %], [% 'Stocked Qty' | $T8 %]: [%- LxERP.format_amount(stocked_qty, -2) -%] [%- SELF.part.unit -%] |
|
11 |
[%- IF SELF.part.unit != SELF.unit.name -%] |
|
12 |
([%- LxERP.format_amount(stocked_qty_in_form_units, -2) -%] [%- SELF.unit.name -%])<br> |
|
13 |
[%- END -%] |
|
14 |
<br> |
|
15 |
<br> |
|
16 |
<table> |
|
17 |
<tr class='listheading'> |
|
11 |
[% already_counted.first.bin.full_description %], [% 'Stocked Qty' | $T8 %]: [% LxERP.format_amount(stocked_qty, -2) %] [% SELF.part.unit %] |
|
12 |
[% IF SELF.part.unit != SELF.unit.name %] |
|
13 |
([% LxERP.format_amount(stocked_qty_in_form_units, -2) %] [% SELF.unit.name %])<br> |
|
14 |
[% END %] |
|
15 |
</p> |
|
16 |
|
|
17 |
<table class="tbl-list"> |
|
18 |
<thead> |
|
19 |
<tr> |
|
18 | 20 |
<th>[% 'Insert Date' | $T8 %]</th> |
19 | 21 |
<th>[% 'Employee' | $T8 %]</th> |
20 | 22 |
<th>[% 'Bin' | $T8 %]</th> |
21 |
<th>[% 'Target Qty' | $T8 %]</th> |
|
23 |
<th class="right">[% 'Target Qty' | $T8 %]</th>
|
|
22 | 24 |
</tr> |
25 |
</thead> |
|
26 |
<tbody> |
|
23 | 27 |
[% FOREACH ac = already_counted %] |
24 |
<tr class='listrow'>
|
|
25 |
<td>[%- ac.itime_as_timestamp -%]</td>
|
|
26 |
<td>[%- ac.employee.safe_name -%]</td>
|
|
27 |
<td>[%- ac.bin.full_description -%]</td>
|
|
28 |
<td class="numeric">[%- ac.qty_as_number -%] [%- ac.part.unit -%]</td>
|
|
29 |
</tr> |
|
28 |
<tr>
|
|
29 |
<td>[% ac.itime_as_timestamp %]</td>
|
|
30 |
<td>[% ac.employee.safe_name %]</td>
|
|
31 |
<td>[% ac.bin.full_description %]</td>
|
|
32 |
<td class="numeric">[% ac.qty_as_number %] [% ac.part.unit %]</td>
|
|
33 |
</tr>
|
|
30 | 34 |
[% END %] |
31 |
</table> |
|
35 |
</tbody> |
|
36 |
</table> |
|
32 | 37 |
|
33 |
<p>
|
|
34 |
[% 'Please choose the action to be processed for your target quantity:' | $T8 %]<br>
|
|
35 |
[% 'Correct counted' | $T8 %]: [% 'The stock will be changed to your target quantity.' | $T8 %]<br>
|
|
36 |
[% 'Add counted' | $T8 %]: [% 'Your target quantity will be added to the stocked quantity.' | $T8 %]<br>
|
|
37 |
</p>
|
|
38 |
<p> |
|
39 |
[% 'Please choose the action to be processed for your target quantity:' | $T8 %]<br> |
|
40 |
[% 'Correct counted' | $T8 %]: [% 'The stock will be changed to your target quantity.' | $T8 %]<br> |
|
41 |
[% 'Add counted' | $T8 %]: [% 'Your target quantity will be added to the stocked quantity.' | $T8 %]<br> |
|
42 |
</p> |
|
38 | 43 |
|
39 |
<br>
|
|
44 |
<div class="buttons">
|
|
40 | 45 |
[% L.hidden_tag('action', 'Inventory/dispatch') %] |
41 | 46 |
[% L.button_tag('kivi.Inventory.stocktaking_correct_counted()', LxERP.t8("Correct counted")) %] |
42 | 47 |
[% L.button_tag('kivi.Inventory.stocktaking_add_counted(' _ stocked_qty_in_form_units _ ')', LxERP.t8("Add counted")) %] |
43 |
<a href="#" onclick="kivi.Inventory.close_already_counted_dialog();">[%- LxERP.t8("Cancel") %]</a> |
|
48 |
<a href="#" onclick="kivi.Inventory.close_already_counted_dialog();" class="button neutral">[% LxERP.t8("Cancel") %]</a> |
|
49 |
</div> |
|
44 | 50 |
|
45 | 51 |
</form> |
templates/webpages/inventory/stocktaking/_filter.html | ||
---|---|---|
3 | 3 |
[% USE L %] |
4 | 4 |
[% USE LxERP %] |
5 | 5 |
|
6 |
<table id="filter_table"> |
|
7 |
<tr> |
|
8 |
<th align="right">[% 'EAN' | $T8 %]</th> |
|
9 |
<td>[% L.input_tag('filter.parts.ean:substr::ilike', filter.parts.ean_substr__ilike) %]</td> |
|
10 |
</tr> |
|
11 |
<tr> |
|
12 |
<th align="right">[% 'Part Number' | $T8 %]</th> |
|
13 |
<td>[% L.input_tag('filter.parts.partnumber:substr::ilike', filter.parts.partnumber_substr__ilike) %]</td> |
|
14 |
</tr> |
|
15 |
<tr> |
|
16 |
<th align="right">[% 'Part Description' | $T8 %]</th> |
|
17 |
<td>[% L.input_tag('filter.parts.description:substr::ilike', filter.parts.description_substr__ilike) %]</td> |
|
18 |
</tr> |
|
19 |
<tr> |
|
20 |
<th align="right">[% 'Cutoff Date' | $T8 %]</th> |
|
21 |
<td>[% L.date_tag('filter.cutoff_date:date', filter.cutoff_date_date) %]</td> |
|
22 |
</tr> |
|
23 |
<tr> |
|
24 |
<th align="right">[% 'Comment' | $T8 %]</th> |
|
25 |
<td>[% L.input_tag('filter.comment:substr::ilike', filter.comment_substr__ilike, size=60) %]</td> |
|
26 |
</tr> |
|
6 |
<table id="filter_table" class="tbl-horizontal"> |
|
7 |
<tbody> |
|
8 |
<tr> |
|
9 |
<th>[% 'EAN' | $T8 %]</th> |
|
10 |
<td>[% L.input_tag('filter.parts.ean:substr::ilike', filter.parts.ean_substr__ilike) %]</td> |
|
11 |
</tr> |
|
12 |
<tr> |
|
13 |
<th>[% 'Part Number' | $T8 %]</th> |
|
14 |
<td>[% L.input_tag('filter.parts.partnumber:substr::ilike', filter.parts.partnumber_substr__ilike) %]</td> |
|
15 |
</tr> |
|
16 |
<tr> |
|
17 |
<th>[% 'Part Description' | $T8 %]</th> |
|
18 |
<td>[% L.input_tag('filter.parts.description:substr::ilike', filter.parts.description_substr__ilike) %]</td> |
|
19 |
</tr> |
|
20 |
<tr> |
|
21 |
<th>[% 'Cutoff Date' | $T8 %]</th> |
|
22 |
<td>[% L.date_tag('filter.cutoff_date:date', filter.cutoff_date_date) %]</td> |
|
23 |
</tr> |
|
24 |
<tr> |
|
25 |
<th>[% 'Comment' | $T8 %]</th> |
|
26 |
<td>[% L.input_tag('filter.comment:substr::ilike', filter.comment_substr__ilike, size=60) %]</td> |
|
27 |
</tr> |
|
28 |
</tbody> |
|
27 | 29 |
</table> |
30 |
|
templates/webpages/inventory/stocktaking/form.html | ||
---|---|---|
6 | 6 |
|
7 | 7 |
<h1>[% title | html %]</h1> |
8 | 8 |
|
9 |
[%- INCLUDE 'common/flash.html' %]
|
|
9 |
<div class="wrapper">
|
|
10 | 10 |
|
11 |
<form method="post" action="controller.pl" id="stocktaking_form"> |
|
12 |
|
|
13 |
<p> |
|
14 |
<label for="part_id">[% "Article" | $T8 %]</label> |
|
15 |
[% P.part.picker("part_id", "") %] |
|
16 |
</p> |
|
17 |
|
|
18 |
<p> |
|
19 |
<div id="stock"></div> |
|
20 |
</p> |
|
11 |
[% INCLUDE 'common/flash.html' %] |
|
21 | 12 |
|
22 |
<table id="stocktaking_settings_table"> |
|
23 |
<tr> |
|
24 |
<th align="right" nowrap>[% 'Destination warehouse' | $T8 %]</th> |
|
25 |
<td>[% L.select_tag('warehouse_id', SELF.warehouses, default=SELF.warehouse.id, title_key='description') %] |
|
26 |
[% IF SELF.warehouse.id %] |
|
27 |
[% L.select_tag('bin_id', SELF.warehouse.bins, default=SELF.bin.id, title_key='description') %] |
|
28 |
[%- ELSE %] |
|
29 |
<span id='bin_id'></span> |
|
30 |
[% END %] |
|
31 |
</td> |
|
32 |
</tr> |
|
13 |
<form method="post" action="controller.pl" id="stocktaking_form"> |
|
33 | 14 |
|
34 |
<tr> |
|
35 |
<th align="right" nowrap>[% 'Charge number' | $T8 %]</th> |
|
36 |
<td>[% L.input_tag('chargenumber', "", size=30) %]</td> |
|
37 |
</tr> |
|
15 |
<div class="select-item control-panel"> |
|
16 |
[% "Select article" | $T8 %] [% P.part.picker("part_id", "") %] |
|
17 |
</div> |
|
38 | 18 |
|
39 |
[% IF INSTANCE_CONF.get_show_bestbefore %] |
|
40 |
<tr> |
|
41 |
<th align="right" nowrap>[% 'Best Before' | $T8 %]</th> |
|
42 |
<td>[% L.date_tag('bestbefore', "") %]</td> |
|
43 |
</tr> |
|
44 |
[%- END %] |
|
19 |
<div id="stock"></div> |
|
45 | 20 |
|
46 |
<tr> |
|
47 |
<th align="right" nowrap>[% 'Target Qty' | $T8 %]</th> |
|
48 |
<td> |
|
49 |
[% L.input_tag('target_qty', '', size=10, class='numeric') %] |
|
50 |
[%- IF SELF.part.unit %] |
|
51 |
[% L.select_tag('unit_id', SELF.part.available_units, title_key='name', default=SELF.unit.id) %] |
|
52 |
[%- ELSE %] |
|
53 |
[% L.select_tag('unit_id', SELF.units, title_key='name') %] |
|
54 |
[%- END %] |
|
55 |
</td> |
|
56 |
</tr> |
|
21 |
<table id="stocktaking_settings_table" class="tbl-horizontal"> |
|
22 |
<caption>[% 'Settings stocktaking' | $T8 %]</caption> |
|
23 |
<colgroup><col class="wi-mediumsmall"><col class="wi-wide"></colgroup> |
|
24 |
<tbody> |
|
25 |
<tr> |
|
26 |
<th>[% 'Destination warehouse' | $T8 %]</th> |
|
27 |
<td class="wi-wide"> |
|
28 |
[% L.select_tag('warehouse_id', SELF.warehouses, default=SELF.warehouse.id, title_key='description', class='wi-wide' ) %] |
|
29 |
[% IF SELF.warehouse.id %] |
|
30 |
<span class="below wi-wide condensed">[% L.select_tag('bin_id', SELF.warehouse.bins, default=SELF.bin.id, title_key='description', class='wi-wide' ) %]</span> |
|
31 |
[% ELSE %] |
|
32 |
<span id="bin_id" class="wi-wide"></span> |
|
33 |
[% END %] |
|
34 |
</td> |
|
35 |
</tr> |
|
36 |
<tr> |
|
37 |
<th>[% 'Charge number' | $T8 %]</th> |
|
38 |
<td>[% L.input_tag('chargenumber', "", size=30, class='wi-wide') %]</td> |
|
39 |
</tr> |
|
40 |
[% IF INSTANCE_CONF.get_show_bestbefore %] |
|
41 |
<tr> |
|
42 |
<th>[% 'Best Before' | $T8 %]</th> |
|
43 |
<td>[% L.date_tag('bestbefore', "", class='wi-date') %]</td> |
|
44 |
</tr> |
|
45 |
[% END %] |
|
46 |
<tr> |
|
47 |
<th>[% 'Target Qty' | $T8 %]</th> |
|
48 |
<td> |
|
49 |
[% L.input_tag('target_qty', '', size=10, class='numeric wi-small') %] |
|
50 |
[% IF SELF.part.unit %] |
|
51 |
[% L.select_tag('unit_id', SELF.part.available_units, title_key='name', default=SELF.unit.id, class='wi-small' ) %] |
|
52 |
[% ELSE %] |
|
53 |
[% L.select_tag('unit_id', SELF.units, title_key='name', class='wi-small') %] |
|
54 |
[% END %] |
|
55 |
</td> |
|
56 |
</tr> |
|
57 |
<tr> |
|
58 |
<th>[% 'Cutoff Date' | $T8 %]</th> |
|
59 |
<td>[% L.date_tag('cutoff_date_as_date', SELF.stocktaking_cutoff_date, class='wi-date' ) %]</td> |
|
60 |
</tr> |
|
61 |
<tr> |
|
62 |
<th>[% 'Optional comment' | $T8 %]</th> |
|
63 |
<td>[% L.input_tag('comment', SELF.stocktaking_comment, size=30, class='wi-wide') %]</td> |
|
64 |
</tr> |
|
65 |
</tbody> |
|
66 |
</table> |
|
57 | 67 |
|
58 |
<tr> |
|
59 |
<th align="right" nowrap>[% 'Cutoff Date' | $T8 %]</th> |
|
60 |
<td> |
|
61 |
[% L.date_tag('cutoff_date_as_date', SELF.stocktaking_cutoff_date) %] |
|
62 |
</td> |
|
63 |
</tr> |
|
68 |
</form> |
|
64 | 69 |
|
65 |
<tr> |
|
66 |
<th align="right" nowrap>[% 'Optional comment' | $T8 %]</th> |
|
67 |
<td> |
|
68 |
[% L.input_tag('comment', SELF.stocktaking_comment, size=40) %] |
|
69 |
</td> |
|
70 |
</tr> |
|
71 |
</table> |
|
70 |
<div id="stocktaking_history">[% LxERP.t8("Loading...") %]</div> |
|
72 | 71 |
|
73 |
</form> |
|
74 | 72 |
|
75 |
<p> |
|
76 |
<div id="stocktaking_history"> |
|
77 |
[%- LxERP.t8("Loading...") %] |
|
78 |
</div> |
|
79 |
</p> |
|
73 |
</div><!-- /.wrapper --> |
templates/webpages/inventory/stocktaking/full_report_top.html | ||
---|---|---|
1 |
<form action='controller.pl' method='post'> |
|
2 |
<div class='filter_toggle'> |
|
3 |
<a href='#' onClick='javascript:$(".filter_toggle").toggle()'>[% 'Show Filter' | $T8 %]</a> |
|
4 |
[% SELF.filter_summary | html %] |
|
5 |
</div> |
|
6 |
<div class='filter_toggle' style='display:none'> |
|
7 |
<a href='#' onClick='javascript:$(".filter_toggle").toggle()'>[% 'Hide Filter' | $T8 %]</a> |
|
8 |
[%- PROCESS 'inventory/stocktaking/_filter.html' filter=SELF.stocktaking_models.filtered.laundered %] |
|
9 |
|
|
10 |
[% L.hidden_tag('action', 'Inventory/dispatch') %] |
|
11 |
[% L.hidden_tag('sort_by', FORM.sort_by) %] |
|
12 |
[% L.hidden_tag('sort_dir', FORM.sort_dir) %] |
|
13 |
[% L.hidden_tag('page', FORM.page) %] |
|
14 |
[% L.input_tag('action_stocktaking_journal', LxERP.t8('Continue'), type = 'submit', class='submit')%] |
|
15 | 1 |
[% USE L %] |
16 | 2 |
[% USE T8 %] |
17 | 3 |
[% USE LxERP %] |
18 | 4 |
[% USE HTML %] |
19 | 5 |
|
6 |
<form action='controller.pl' method='post'> |
|
7 |
<div class="wrapper"> |
|
20 | 8 |
|
21 |
<a href='#' onClick='javascript:$("#filter_table input").val("");$("#filter_table input[type=checkbox]").prop("checked", 0);'>[% 'Reset' | $T8 %]</a> |
|
9 |
[% BLOCK filter_toggle_panel %] |
|
10 |
[% PROCESS 'inventory/stocktaking/_filter.html' filter=SELF.stocktaking_models.filtered.laundered %] |
|
11 |
[% L.hidden_tag('action', 'Inventory/dispatch') %] |
|
12 |
[% L.hidden_tag('sort_by', FORM.sort_by) %] |
|
13 |
[% L.hidden_tag('sort_dir', FORM.sort_dir) %] |
|
14 |
[% L.hidden_tag('page', FORM.page) %] |
|
15 |
<div class="buttons"> |
|
16 |
[% L.input_tag('action_stocktaking_journal', LxERP.t8('Continue'), type = 'submit',)%] |
|
17 |
<a href='#' onClick='javascript:$("#filter_table input").val("");$("#filter_table input[type=checkbox]").prop("checked", 0);' class="button neutral">[% 'Reset' | $T8 %]</a> |
|
18 |
</div> |
|
19 |
[% END %] |
|
22 | 20 |
|
23 |
</div>
|
|
21 |
[% INCLUDE common/toggle_panel.html %]
|
|
24 | 22 |
|
23 |
</div><!-- /.wrapper --> |
|
25 | 24 |
</form> |
26 |
<hr> |
templates/webpages/inventory/stocktaking/report_bottom.html | ||
---|---|---|
1 | 1 |
[% USE L %] |
2 |
[%- L.paginate_controls(models=SELF.stocktaking_models) %] |
|
2 |
[% L.paginate_controls(models=SELF.stocktaking_models) %] |
templates/webpages/inventory/warehouse_selection_stock.html | ||
---|---|---|
6 | 6 |
|
7 | 7 |
<h1>[% title | html %]</h1> |
8 | 8 |
|
9 |
[%- INCLUDE 'common/flash.html' %]
|
|
9 |
[% INCLUDE 'common/flash.html' %] |
|
10 | 10 |
|
11 | 11 |
<form name="Form" method="post" action="controller.pl" id="form"> |
12 | 12 |
|
13 |
<table> |
|
14 |
<tr> |
|
15 |
<th align="right" nowrap>[% 'Part' | $T8 %]</th> |
|
16 |
<td>[% P.part.picker('part_id', SELF.part) %]</td> |
|
17 |
</tr> |
|
13 |
<div class="wrapper"> |
|
18 | 14 |
|
19 |
<tr> |
|
20 |
<th align="right" nowrap>[% 'Destination warehouse' | $T8 %]</th> |
|
21 |
<td>[% L.select_tag('warehouse_id', SELF.warehouses, default=SELF.warehouse.id, title_key='description') %] |
|
22 |
[% IF SELF.warehouse.id %] |
|
23 |
[% L.select_tag('bin_id', SELF.warehouse.bins, default=SELF.bin.id, title_key='description') %] |
|
24 |
[%- ELSE %] |
|
25 |
<span id='bin_id'></span> |
|
15 |
<table class="tbl-horizontal"> |
|
16 |
<colgroup> <col class="wi-mediumsmall"><col class="wi-verywide"> </colgroup> |
|
17 |
<tbody> |
|
18 |
<tr> |
|
19 |
<th>[% 'Part' | $T8 %]</th> |
|
20 |
<td>[% P.part.picker('part_id', SELF.part, class='wi-wide') %]</td> |
|
21 |
</tr> |
|
22 |
<tr> |
|
23 |
<th>[% 'Destination warehouse' | $T8 %]</th> |
|
24 |
<td class="wi-wide below"> |
|
25 |
[% L.select_tag('warehouse_id', SELF.warehouses, default=SELF.warehouse.id, title_key='description', class='wi-wide') %] |
|
26 |
[% IF SELF.warehouse.id %] |
|
27 |
[% L.select_tag('bin_id', SELF.warehouse.bins, default=SELF.bin.id, title_key='description', class='wi-wide below') %] |
|
28 |
[% ELSE %] |
|
29 |
<span id="bin_id" class="data wi-wide"></span> |
|
30 |
[% END %] |
|
31 |
<span id="write_default_bin_span" style="display:none;" class="below">[% L.checkbox_tag('write_default_bin', label=LxERP.t8('Write bin to default bin in part?')) %]</span> |
|
32 |
</td> |
|
33 |
</tr> |
|
34 |
<tr> |
|
35 |
<th>[% 'Charge number' | $T8 %]</th> |
|
36 |
<td>[% L.input_tag('chargenumber', FORM.chargenumber, class='wi-wide') %]</td> |
|
37 |
</tr> |
|
38 |
[% IF INSTANCE_CONF.get_show_bestbefore %] |
|
39 |
<tr> |
|
40 |
<th>[% 'Best Before' | $T8 %]</th> |
|
41 |
<td>[% L.date_tag('bestbefore', FORM.bestbefore) %]</td> |
|
42 |
</tr> |
|
26 | 43 |
[% END %] |
27 |
<span id='write_default_bin_span' style='display:none'><br>[% L.checkbox_tag('write_default_bin', label=LxERP.t8('Write bin to default bin in part?')) %]</span> |
|
28 |
</td> |
|
29 |
</tr> |
|
44 |
<tr> |
|
45 |
<th>[% 'Quantity' | $T8 %]</th> |
|
46 |
<td> |
|
47 |
[% L.input_tag('qty', LxERP.format_amount(FORM.qty), class='wi-verysmall') %] |
|
48 |
[% IF SELF.part.unit %] |
|
49 |
[% L.select_tag('unit_id', SELF.part.available_units, title_key='name', default=SELF.unit.id, class='wi-small') %] |
|
50 |
[% ELSE %] |
|
51 |
[% L.select_tag('unit_id', SELF.units, title_key='name', class='wi-small') %] |
|
52 |
[% END %] |
|
53 |
</td> |
|
54 |
</tr> |
|
55 |
<tr> |
|
56 |
<th>[% 'Select type of transfer in' | $T8 %]</th> |
|
57 |
<td>[% L.select_tag('transfer_type_id', TRANSFER_TYPES, title_key='description', class='wi-wide') %]</td> |
|
58 |
</tr> |
|
59 |
<tr> |
|
60 |
<th>[% 'Optional comment' | $T8 %]</th> |
|
61 |
<td>[% L.input_tag('comment', FORM.comment, class='wi-wide') %]</td> |
|
62 |
</tr> |
|
63 |
</tbody> |
|
64 |
</table> |
|
30 | 65 |
|
31 |
<tr> |
|
32 |
<th align="right" nowrap>[% 'Charge number' | $T8 %]</th> |
|
33 |
<td>[% L.input_tag('chargenumber', FORM.chargenumber, size=30) %]</td> |
|
34 |
</tr> |
|
66 |
</div><!-- /.wrapper --> |
|
35 | 67 |
|
36 |
[% IF INSTANCE_CONF.get_show_bestbefore %] |
|
37 |
<tr> |
|
38 |
<th align="right" nowrap>[% 'Best Before' | $T8 %]</th> |
|
39 |
<td>[% L.date_tag('bestbefore', FORM.bestbefore) %]</td> |
|
40 |
</tr> |
|
41 |
[%- END %] |
|
68 |
</form> |
|
42 | 69 |
|
43 |
<tr> |
|
44 |
<th align="right" nowrap>[% 'Quantity' | $T8 %]</th> |
|
45 |
<td> |
|
46 |
[% L.input_tag('qty', LxERP.format_amount(FORM.qty), size=10) %] |
|
47 |
[%- IF SELF.part.unit %] |
|
48 |
[% L.select_tag('unit_id', SELF.part.available_units, title_key='name', default=SELF.unit.id) %] |
|
49 |
[%- ELSE %] |
|
50 |
[% L.select_tag('unit_id', SELF.units, title_key='name') %] |
|
51 |
[%- END %] |
|
52 |
</td> |
|
53 |
</tr> |
|
70 |
<div class="wrapper"> |
|
54 | 71 |
|
55 |
<tr> |
|
56 |
<td>[% 'Select type of transfer in' | $T8 %]:</td> |
|
57 |
<td>[% L.select_tag('transfer_type_id', TRANSFER_TYPES, title_key='description') %] </td> |
|
58 |
</tr> |
|
72 |
<div id="stock"> |
|
73 |
[% PROCESS 'inventory/_stock.html' %] |
|
74 |
</div> |
|
75 |
<div id="journal"> |
|
76 |
[% PROCESS 'inventory/_journal.html' journal=SELF.mini_journal %] |
|
77 |
</div> |
|
59 | 78 |
|
60 |
<tr> |
|
61 |
<th align="right" nowrap>[% 'Optional comment' | $T8 %]</th> |
|
62 |
<td>[% L.input_tag('comment', FORM.comment, size=60) %]</td> |
|
63 |
</tr> |
|
64 |
</table> |
|
65 |
</form> |
|
79 |
</div><!-- /.wrapper --> |
|
66 | 80 |
|
67 |
<div id='stock'> |
|
68 |
[%- PROCESS 'inventory/_stock.html' %] |
|
69 |
</div> |
|
70 |
<div id='journal'> |
|
71 |
[%- PROCESS 'inventory/_journal.html' journal=SELF.mini_journal %] |
|
72 |
</div> |
|
73 | 81 |
|
74 |
<script type='text/javascript'>
|
|
75 |
function reload_warehouse_selection () { |
|
76 |
$.post("controller.pl", { action: 'Inventory/part_changed', part_id: function(){ return $('#part_id').val() } }, kivi.eval_json_result); |
|
77 |
$.post("controller.pl", { action: 'Inventory/mini_stock', part_id: function(){ return $('#part_id').val() } }, kivi.eval_json_result); |
|
78 |
} |
|
79 |
function reload_bin_selection () { |
|
80 |
$.post("controller.pl", { action: 'Inventory/warehouse_changed', warehouse_id: function(){ return $('#warehouse_id').val() } }, kivi.eval_json_result); |
|
81 |
} |
|
82 |
function check_part_selection_before_stocking() { |
|
83 |
if ($('#part_id').val() !== '') |
|
84 |
return true; |
|
82 |
<script type="text/javascript">
|
|
83 |
function reload_warehouse_selection () {
|
|
84 |
$.post("controller.pl", { action: 'Inventory/part_changed', part_id: function(){ return $('#part_id').val() } }, kivi.eval_json_result);
|
|
85 |
$.post("controller.pl", { action: 'Inventory/mini_stock', part_id: function(){ return $('#part_id').val() } }, kivi.eval_json_result);
|
|
86 |
}
|
|
87 |
function reload_bin_selection () {
|
|
88 |
$.post("controller.pl", { action: 'Inventory/warehouse_changed', warehouse_id: function(){ return $('#warehouse_id').val() } }, kivi.eval_json_result);
|
|
89 |
}
|
|
90 |
function check_part_selection_before_stocking() {
|
|
91 |
if ($('#part_id').val() !== '')
|
|
92 |
return true;
|
|
85 | 93 |
|
86 |
alert(kivi.t8('No article has been selected yet.')); |
|
87 |
return false; |
|
88 |
} |
|
89 |
$(function(){ |
|
90 |
$('#part_id').change(reload_warehouse_selection); |
|
91 |
$('#warehouse_id').change(reload_bin_selection); |
|
92 |
}) |
|
94 |
alert(kivi.t8('No article has been selected yet.'));
|
|
95 |
return false;
|
|
96 |
}
|
|
97 |
$(function(){
|
|
98 |
$('#part_id').change(reload_warehouse_selection);
|
|
99 |
$('#warehouse_id').change(reload_bin_selection);
|
|
100 |
})
|
|
93 | 101 |
</script> |
templates/webpages/inventory/warehouse_usage.html | ||
---|---|---|
7 | 7 |
|
8 | 8 |
<h1>[% title | html %]</h1> |
9 | 9 |
|
10 |
[%- INCLUDE 'common/flash.html' %]
|
|
10 |
[% INCLUDE 'common/flash.html' %] |
|
11 | 11 |
|
12 | 12 |
<form name="Form" method="post" action="controller.pl" id="form"> |
13 | 13 |
|
14 |
<table border="0"> |
|
15 |
<tr> |
|
16 |
<th class="listheading" align="left" valign="top" colspan="5" nowrap>[% 'Period:' | $T8 %]</th> |
|
17 |
</tr> |
|
18 |
<tr> |
|
19 |
<th align=left><input name=reporttype class=radio type=radio value="custom" checked>[% 'Customized Report' | $T8 %]</th> |
|
20 |
</tr> |
|
21 |
<tr> |
|
22 |
<th colspan=1>[% 'Year' | $T8 %]</th> |
|
23 |
<td><input name=year size=11 title="[% 'YYYY' | $T8 %]" value="[% year %]" class="initial_focus"></td> |
|
24 |
</tr> |
|
25 |
<tr> |
|
26 |
<td align=right> <b>[% 'Yearly' | $T8 %]</b> </td> |
|
27 |
<th align=left>[% 'Quarterly' | $T8 %]</th> |
|
28 |
<th align=left colspan=3>[% 'Monthly' | $T8 %]</th> |
|
29 |
</tr> |
|
14 |
<div class="wrapper"> |
|
15 |
|
|
16 |
<table class="tbl-horizontal col"> |
|
17 |
<caption>[% 'Periods' | $T8 %]</caption> |
|
18 |
<colgroup> <col class="wi-smallest"><col class="wi-small"><col class="wi-small"><col class="wi-small"> </colgroup> |
|
19 |
<tbody> |
|
30 | 20 |
<tr> |
31 |
<td align=right> <input name=duetyp class=radio type=radio value="13" checked></td> |
|
32 |
<td><input name=duetyp class=radio type=radio value="A"> 1. [% 'Quarter' | $T8 %]</td> |
|
33 |
<td><input name=duetyp class=radio type=radio value="1"> [% 'January' | $T8 %]</td> |
|
34 |
<td><input name=duetyp class=radio type=radio value="5"> [% 'May' | $T8 %]</td> |
|
35 |
<td><input name=duetyp class=radio type=radio value="9"> [% 'September' | $T8 %]</td> |
|
21 |
<th colspan="4"><h4><input name=reporttype type=radio value="custom" checked> [% 'Customized Report' | $T8 %]</h4></th> |
|
36 | 22 |
</tr> |
37 | 23 |
<tr> |
38 |
<td align= right> </td>
|
|
39 |
<td><input name=duetyp class=radio type=radio value="B"> 2. [% 'Quarter' | $T8 %]</td>
|
|
40 |
<td><input name=duetyp class=radio type=radio value="2"> [% 'February' | $T8 %]</td>
|
|
41 |
<td><input name=duetyp class=radio type=radio value="6"> [% 'June' | $T8 %]</td>
|
|
42 |
<td><input name=duetyp class=radio type=radio value="10"> [% 'October' | $T8 %]</td>
|
|
24 |
<th></th>
|
|
25 |
<th>[% 'Year' | $T8 %]</th>
|
|
26 |
<td colspan="2">
|
|
27 |
<input type="text" name=year class="wi-smallest" title="[% 'YYYY' | $T8 %]" value="[% year %]" class="initial_focus" oninput='set_from_to(duetyp.value, this.value)'>
|
|
28 |
</td> |
|
43 | 29 |
</tr> |
44 | 30 |
<tr> |
45 |
<td> </td> |
|
46 |
<td><input name=duetyp class=radio type=radio value="C"> 3. [% 'Quarter' | $T8 %]</td> |
|
47 |
<td><input name=duetyp class=radio type=radio value="3"> [% 'March' | $T8 %]</td> |
|
48 |
<td><input name=duetyp class=radio type=radio value="7"> [% 'July' | $T8 %]</td> |
|
49 |
<td><input name=duetyp class=radio type=radio value="11"> [% 'November' | $T8 %]</td> |
|
31 |
<th></th> |
|
32 |
<th>[% 'Yearly' | $T8 %]</th> |
|
33 |
<th>[% 'Quarterly' | $T8 %]</th> |
|
34 |
<th>[% 'Monthly' | $T8 %]</th> |
|
50 | 35 |
</tr> |
51 | 36 |
<tr> |
52 |
<td> </td> |
|
53 |
<td><input name=duetyp class=radio type=radio value="D"> 4. [% 'Quarter' | $T8 %]</td> |
|
54 |
<td><input name=duetyp class=radio type=radio value="4"> [% 'April' | $T8 %]</td> |
|
55 |
<td><input name=duetyp class=radio type=radio value="8"> [% 'August' | $T8 %]</td> |
|
56 |
<td><input name=duetyp class=radio type=radio value="12"> [% 'December' | $T8 %]</td> |
|
37 |
<th></th> |
|
38 |
<td> |
|
39 |
<input name=duetyp type=radio value="13" checked onchange='set_from_to(this.value, year.value)'>[% 'Yearly' | $T8 %] |
|
40 |
</td> |
|
41 |
<td> |
|
42 |
<input name=duetyp type=radio value="A" onchange='set_from_to(this.value, year.value)'>1. [% 'Quarter' | $T8 %]<br> |
|
43 |
<input name=duetyp type=radio value="B" onchange='set_from_to(this.value, year.value)'>2. [% 'Quarter' | $T8 %]<br> |
|
44 |
<input name=duetyp type=radio value="C" onchange='set_from_to(this.value, year.value)'>3. [% 'Quarter' | $T8 %]<br> |
|
45 |
<input name=duetyp type=radio value="D" onchange='set_from_to(this.value, year.value)'>4. [% 'Quarter' | $T8 %]<br> |
|
46 |
</td> |
|
47 |
<td> |
|
48 |
<input name=duetyp type=radio value="1" onchange='set_from_to(this.value, year.value)'>[% 'January' | $T8 %]<br> |
|
49 |
<input name=duetyp type=radio value="2" onchange='set_from_to(this.value, year.value)'>[% 'February' | $T8 %]<br> |
|
50 |
<input name=duetyp type=radio value="3" onchange='set_from_to(this.value, year.value)'>[% 'March' | $T8 %]<br> |
|
51 |
<input name=duetyp type=radio value="4" onchange='set_from_to(this.value, year.value)'>[% 'April' | $T8 %]<br> |
|
52 |
<input name=duetyp type=radio value="5" onchange='set_from_to(this.value, year.value)'>[% 'May' | $T8 %]<br> |
|
53 |
<input name=duetyp type=radio value="6" onchange='set_from_to(this.value, year.value)'>[% 'June' | $T8 %]<br> |
|
54 |
<input name=duetyp type=radio value="7" onchange='set_from_to(this.value, year.value)'>[% 'July' | $T8 %]<br> |
|
55 |
<input name=duetyp type=radio value="8" onchange='set_from_to(this.value, year.value)'>[% 'August' | $T8 %]<br> |
|
56 |
<input name=duetyp type=radio value="9" onchange='set_from_to(this.value, year.value)'>[% 'September' | $T8 %]<br> |
|
57 |
<input name=duetyp type=radio value="10" onchange='set_from_to(this.value, year.value)'>[% 'October' | $T8 %]<br> |
|
58 |
<input name=duetyp type=radio value="11" onchange='set_from_to(this.value, year.value)'>[% 'November' | $T8 %]<br> |
|
59 |
<input name=duetyp type=radio value="12" onchange='set_from_to(this.value, year.value)'>[% 'December' | $T8 %]<br> |
|
60 |
</td> |
|
57 | 61 |
</tr> |
58 | 62 |
<tr> |
59 |
<td colspan="5"><hr size=3 noshade></td>
|
|
63 |
<th colspan="4"><h4><input name=reporttype type=radio value="free">[% 'Free report period' | $T8 %]</h4></th>
|
|
60 | 64 |
</tr> |
61 | 65 |
<tr> |
62 |
<th align=left><input name=reporttype class=radio type=radio value="free">[% 'Free report period' | $T8 %]</th>
|
|
63 |
<td align=left colspan=4>
|
|
66 |
<th></th>
|
|
67 |
<td colspan="3">
|
|
64 | 68 |
[% 'From' | $T8 %] [% L.date_tag('fromdate', fromdate) %] |
65 |
[% 'Bis' | $T8 %] [% L.date_tag('todate', todate) %] |
|
69 |
[% 'Bis' | $T8 %] [% L.date_tag('todate', todate) %]
|
|
66 | 70 |
</td> |
67 | 71 |
</tr> |
72 |
</tbody> |
|
73 |
</table> |
|
74 |
|
|
75 |
<table class="tbl-horizontal col"> |
|
76 |
<caption>[% 'Storage & Article' | $T8 %]</caption> |
|
77 |
<tbody> |
|
68 | 78 |
<tr> |
69 |
<th class="listheading" align="left" valign="top" colspan="5" nowrap>[% 'Filter' | $T8 %]</th> |
|
79 |
<th>[% 'Warehouse' | $T8 %]</th> |
|
80 |
<td> |
|
81 |
<select name="warehouse_id" id="warehouse_id" onchange="warehouse_selected(this.value, 0)" class="wi-normal"> |
|
82 |
<option value="">---</option> |
|
83 |
[% FOREACH warehouse = WAREHOUSES %] |
|
84 |
<option value="[% HTML.escape(warehouse.id) %]">[% warehouse.description %]</option> |
|
85 |
[% END %] |
|
86 |
</select> |
|
87 |
</td> |
|
70 | 88 |
</tr> |
71 | 89 |
<tr> |
72 |
<td colspan="5"> |
|
73 |
<table> |
|
74 |
<tr> |
|
75 |
<th align="right" nowrap>[% 'Warehouse' | $T8 %]:</th> |
|
76 |
<td> |
|
77 |
<select name="warehouse_id" id="warehouse_id" onchange="warehouse_selected(this.value, 0)"> |
|
78 |
<option value="">---</option> |
|
79 |
[%- FOREACH warehouse = WAREHOUSES %] |
|
80 |
<option value="[% HTML.escape(warehouse.id) %]">[% warehouse.description %]</option> |
|
81 |
[%- END %] |
|
82 |
</select> |
|
83 |
</td> |
|
84 |
</tr> |
|
85 |
<tr> |
|
86 |
<th align="right" nowrap>[% 'Bin' | $T8 %]:</th> |
|
87 |
<td><select name="bin_id" id="bin_id"></select></td> |
|
88 |
</tr> |
|
89 |
<tr> |
|
90 |
<th align="right" nowrap>[% 'Part Number' | $T8 %]:</th> |
|
91 |
<td><input name="partnumber" size=20></td> |
|
92 |
</tr> |
|
93 |
<tr> |
|
94 |
<th align="right" nowrap>[% 'Part Description' | $T8 %]:</th> |
|
95 |
<td><input name="description" size=40></td> |
|
96 |
</tr> |
|
97 |
[% IF PARTSCLASSIFICATIONS %] |
|
98 |
<tr> |
|
99 |
<td> |
|
100 |
[% L.select_tag('partsclassification',PARTSCLASSIFICATION,title_key="partsclassification") %] |
|
101 |
</td> |
|
102 |
</tr> |
|
103 |
[% END %] |
|
104 |
<tr> |
|
105 |
<th align="right" nowrap>[% 'Charge Number' | $T8 %]:</th> |
|
106 |
<td><input name="chargenumber" size=40></td> |
|
107 |
</tr> |
|
108 |
[% IF INSTANCE_CONF.get_show_bestbefore %] |
|
109 |
<tr> |
|
110 |
<th align="right" nowrap>[% 'Best Before' | $T8 %]:</th> |
|
111 |
<td> |
|
112 |
[% L.date_tag('bestbefore') %] |
|
113 |
</td> |
|
114 |
</tr> |
|
115 |
[% END %] |
|
116 |
</table> |
|
117 |
</td> |
|
90 |
<th>[% 'Bin' | $T8 %]</th> |
|
91 |
<td><select name="bin_id" id="bin_id" class="wi-normal"></select></td> |
|
92 |
</tr> |
|
93 |
<tr> |
|
94 |
<th>[% 'Part Number' | $T8 %]</th> |
|
95 |
<td><input type="text" name="partnumber" class="wi-normal"></td> |
|
96 |
</tr> |
|
97 |
<tr> |
|
98 |
<th>[% 'Part Description' | $T8 %]</th> |
|
99 |
<td><input type="text" name="description" class="wi-normal"></td> |
|
118 | 100 |
</tr> |
119 |
</table> |
|
120 |
</p> |
|
121 |
</form> |
|
101 |
[% IF PARTSCLASSIFICATIONS %] |
|
102 |
<tr> |
|
103 |
<th>[% 'Part Classification' | $T8 %]</th> |
|
104 |
<td>[% L.select_tag('partsclassification',PARTSCLASSIFICATION,title_key="partsclassification", class='wi-normal') %]</td> |
|
105 |
</tr> |
|
106 |
[% END %] |
|
107 |
<tr> |
|
108 |
<th>[% 'Charge Number' | $T8 %]</th> |
|
109 |
<td><input type="text" name="chargenumber" class="wi-normal"></td> |
|
110 |
</tr> |
|
111 |
[% IF INSTANCE_CONF.get_show_bestbefore %] |
|
112 |
<tr> |
|
113 |
<th>[% 'Best Before' | $T8 %]</th> |
|
114 |
<td>[% L.date_tag('bestbefore') %]</td> |
|
115 |
</tr> |
|
116 |
[% END %] |
|
117 |
</tbody> |
|
118 |
</table> |
|
119 |
|
|
120 |
</div> |
|
121 |
|
|
122 |
</form> |
Auch abrufbar als: Unified diff
Neues Design 2019 Standard-Code templates/webpages/inventory/