Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision d78cfbde

Von Hans P. Schlaepfer vor mehr als 3 Jahren hinzugefügt

  • ID d78cfbde3dea3e0986d8b9d410963ad02c912574
  • Vorgänger 2209a6c3
  • Nachfolger 0ebcb722

Neues Design 2019 Standard-Code templates/webpages/order/tabs/basic_data.html

Unterschiede anzeigen:

templates/webpages/order/tabs/basic_data.html
4 4
[% USE L %]
5 5
[% USE P %]
6 6

  
7
[%- INCLUDE 'generic/set_longdescription.html' %]
7
[% INCLUDE 'generic/set_longdescription.html' %]
8 8

  
9 9
<div id="ui-tabs-basic-data">
10
  <table width="100%">
11
    <tr valign="top">
12
      <td>
13
        <table width="100%">
14
          <tr>
15
            <th align="right">[%- SELF.cv == "customer" ? LxERP.t8('Customer') : LxERP.t8('Vendor') -%]</th>
16
            [% SET cv_id = SELF.cv _ '_id' %]
17
            <td>
18
              [% P.customer_vendor.picker("order.${SELF.cv}" _ '_id', SELF.order.$cv_id, type=SELF.cv, style='width: 300px') %]
19
              [% P.button_tag("kivi.Order.show_vc_details_dialog()", LxERP.t8("Details (one letter abbreviation)")) %]
20
            </td>
21
          </tr>
22

  
23
          <tr id='cp_row' [%- IF !SELF.order.${SELF.cv}.contacts.size %]style='display:none'[%- END %]>
24
            <th align="right">[% 'Contact Person' | $T8 %]</th>
25
            <td>[% L.select_tag('order.cp_id',
26
                                SELF.order.${SELF.cv}.contacts,
27
                                default=SELF.order.cp_id,
28
                                title_key='full_name_dep',
29
                                value_key='cp_id',
30
                                with_empty=1,
31
                                style='width: 300px') %]</td>
32
          </tr>
33

  
34
          <tr>
35
            <th align="right">[% 'Shipping Address' | $T8 %]</th>
36
            <td>
37
              <span id='shipto_selection' [%- IF !SELF.order.${SELF.cv}.shipto.size %]style='display:none'[%- END %]>
38
                [% shiptos = [ { shipto_id => "", displayable_id => LxERP.t8("No/individual shipping address") } ] ;
39
                   FOREACH s = SELF.order.${SELF.cv}.shipto ;
40
                     shiptos.push(s) ;
41
                   END ;
42
                   L.select_tag('order.shipto_id',
43
                                 shiptos,
44
                                 default=SELF.order.shipto_id,
45
                                 title_key='displayable_id',
46
                                 value_key='shipto_id',
47
                                 with_empty=0,
48
                                 style='width: 300px') %]
49
              </span>
50
              [% L.button_tag("kivi.Order.edit_custom_shipto()", LxERP.t8("Custom shipto")) %]
51
            </td>
52
          </tr>
53

  
54
          [%- PROCESS order/tabs/_business_info_row.html SELF=SELF %]
55

  
56
          <tr>
57
            <th align="right">[% 'Steuersatz' | $T8 %]</th>
58
            <td>[% L.select_tag('order.taxzone_id', SELF.all_taxzones, default=SELF.order.taxzone_id, title_key='description', style='width: 300px', class='recalc') %]</td>
59
          </tr>
60

  
61
          [% SET currency_id = SELF.order.currency_id || INSTANCE_CONF.get_currency_id  # use default currency for new order %]
62
          <tr id="currency_settings">
63
            <th align="right">[% 'Currency' | $T8 %]</th>
64
            <td>[% L.select_tag('order.currency_id', SELF.all_currencies, default=currency_id, value_key='id', title_key='name') %]</td>
65
          </tr>
66
          <tr id="exchangerate_settings" [%- IF SELF.order.currency_id==INSTANCE_CONF.get_currency_id %]style='display:none'[%- END %]>
67
            <th align="right">[% 'Exchangerate' | $T8 %]</th>
68
            <td> 1 <span id="currency_name">[% SELF.order.currency.name %]</span> =
69
              [% L.input_tag('order.exchangerate_as_null_number', SELF.order.exchangerate_as_null_number, size="15", class="reformat_number_as_null_number numeric") %]
70
              [% INSTANCE_CONF.default_currency %]
71
              [% L.hidden_tag('old_currency_id', currency_id) %]
72
              [% L.hidden_tag('old_exchangerate', SELF.order.exchangerate_as_null_number) %]
73
            </td>
74
          </tr>
75

  
76
[%- IF SELF.all_languages.size %]
77
          <tr>
78
            <th align="right">[% 'Language' | $T8 %]</th>
79
            <td>
80
              [% L.select_tag('order.language_id', SELF.all_languages, default=SELF.order.language_id, title_key='description', with_empty=1, style='width:300px') %]
81
            </td>
82
          </tr>
83
[%- END %]
84

  
85
[%- IF SELF.all_departments.size %]
86
          <tr>
87
            <th align="right">[% 'Department' | $T8 %]</th>
88
            <td>
89
              [% L.select_tag('order.department_id', SELF.all_departments, default=SELF.order.department_id, title_key='description', with_empty=1, style='width:300px') %]
90
            </td>
91
          </tr>
92
[%- END %]
93

  
94
          <tr>
95
            <th align="right">[% 'Shipping Point' | $T8 %]</th>
96
            <td>[% L.input_tag('order.shippingpoint', SELF.order.shippingpoint, style='width: 300px') %]</td>
97
          </tr>
98

  
99
          <tr>
100
            <th align="right">[% 'Ship via' | $T8 %]</th>
101
            <td>[% L.input_tag('order.shipvia', SELF.order.shipvia, style='width: 300px') %]</td>
102
          </tr>
103

  
104
          <tr>
105
            <th align="right">[% 'Transaction description' | $T8 %]</th>
106
            <td>[% L.input_tag('order.transaction_description', SELF.order.transaction_description, 'data-validate'=INSTANCE_CONF.get_require_transaction_description_ps ? 'required' : '', style='width: 300px') %]</td>
107
          </tr>
108

  
109
          <tr>
110
            <th align="right">[% 'Project Number' | $T8 %]</th>
111
            <td>[% P.project.picker('order.globalproject_id', SELF.order.globalproject_id, style='width: 300px') %]</td>
112
          </tr>
113

  
114
        </table>
115
      </td>
116

  
117
      <td align="right">
118
        <table>
119

  
120
          <tr>
121
            <td colspan="2" align="center">
122
              [%- IF SELF.order.id %]
123
                <label for="order.delivered">[% 'Delivery Order(s) for full qty created' | $T8 %]</label>
124
                [% L.yes_no_tag('order.delivered', SELF.order.delivered) %]
125
                <label for="order.closed">[% 'Closed' | $T8 %]</label>
126
                [% L.yes_no_tag('order.closed', SELF.order.closed) %]
127
              [%- END %]
128
            </td>
129
          </tr>
130

  
131
          <tr>
132
            <th align="right">[% 'Employee' | $T8 %]</th>
133
            <td>[% L.select_tag('order.employee_id',
134
              SELF.all_employees,
135
              default=(SELF.order.employee_id ? SELF.order.employee_id : SELF.current_employee_id),
136
              title_key='safe_name') %]</td>
137
          </tr>
138

  
139
          [% IF SELF.cv == 'customer' %]
140
          <tr>
141
            <th align="right">[% 'Salesman' | $T8 %]</th>
142
            <td>[% L.select_tag('order.salesman_id',
143
              SELF.all_salesmen,
144
              default=(SELF.order.salesman_id ? SELF.order.salesman_id : SELF.current_employee_id),
145
              title_key='safe_name') %]</td>
146
          </tr>
147
          [% END %]
148

  
149
          [%- IF (SELF.type == "sales_order" || SELF.type == "purchase_order") -%]
150
          <tr>
151
            <th width="70%" align="right" nowrap>[% 'Order Number' | $T8 %]</th>
152
            <td>[% L.input_tag('order.ordnumber', SELF.order.ordnumber, size = 11, onchange='kivi.Order.set_number_in_title(this)') %]</td>
153
          </tr>
154
          [%- END -%]
155

  
156
          [%- IF (SELF.type == "sales_order" || SELF.type == "sales_quotation") -%]
157
            [%- SET quo_nr_txt = 'Quotation Number' -%]
158
          [%- ELSE -%]
159
            [%- SET quo_nr_txt = 'RFQ Number' -%]
160
          [%- END -%]
161
          <tr>
162
            <th width="70%" align="right" nowrap>[% quo_nr_txt | $T8 %]</th>
163
            [%- IF (SELF.type == "sales_order" || SELF.type == "purchase_order") -%]
164
              <td>[% L.input_tag('order.quonumber', SELF.order.quonumber, size = 11) %]</td>
165
            [%- ELSE -%]
166
              <td>[% L.input_tag('order.quonumber', SELF.order.quonumber, size = 11, onchange='kivi.Order.set_number_in_title(this)') %]</td>
167
            [%- END -%]
168
          </tr>
169

  
170
          [%- IF (SELF.type == "sales_order" || SELF.type == "purchase_order") -%]
171
          <tr>
172
            <th width="70%" align="right" nowrap>[% 'Customer Order Number' | $T8 %]</th>
173
            <td>[% L.input_tag('order.cusordnumber', SELF.order.cusordnumber, size = 11) %]</td>
174
          </tr>
175
          [%- END -%]
176

  
177
          [%- IF (SELF.type == "sales_order" || SELF.type == "purchase_order") -%]
178
            [%- SET transdate_txt = 'Order Date' -%]
179
          [%- ELSIF SELF.type == "sales_quotation" -%]
180
            [%- SET transdate_txt = 'Quotation Date' -%]
181
          [%- ELSE -%]
182
            [%- SET transdate_txt = 'RFQ Date' -%]
183
          [%- END -%]
184
          <tr>
185
            <th width="70%" align="right" nowrap>[% transdate_txt | $T8 %]</th>
186
            <td>[% L.date_tag('order.transdate_as_date', SELF.order.transdate_as_date) %]</td>
187
          </tr>
188

  
189
          <tr>
190
            <th width="70%" align="right" nowrap>[% 'Tax point' | $T8 %]</th>
191
            <td>[% L.date_tag('order.tax_point_as_date', SELF.order.tax_point_as_date, class="recalc") %]</td>
192
          </tr>
193

  
194
          [%- IF (SELF.type == "sales_order" || SELF.type == "purchase_order") -%]
195
            [%- SET reqdate_txt = 'Reqdate'; SET reqdate_class = 'recalc' -%]
196
          [%- ELSIF SELF.type == "sales_quotation" -%]
197
            [%- SET reqdate_txt = 'Valid until'; SET reqdate_class = '' -%]
198
          [%- ELSE -%]
199
            [%- SET reqdate_txt = 'Required by'; SET reqdate_class = 'recalc' -%]
200
          [%- END -%]
201
          <tr>
202
            <th width="70%" align="right" nowrap>[% reqdate_txt | $T8 %]</th>
203
            <td>[% L.date_tag('order.reqdate_as_date', SELF.order.reqdate_as_date, class=reqdate_class) %]</td>
204
          </tr>
205

  
206
          [%- IF SELF.type == "sales_quotation" -%]
207
          <tr>
208
            <th width="70%" align="right" nowrap>[% 'Order probability' | $T8 %]</th>
209
            <td>[%- L.select_tag('order.order_probability', SELF.order_probabilities, title='title', default=SELF.order.order_probability) %]%</td>
210
          </tr>
211
          <tr>
212
            <th width="70%" align="right" nowrap>[% 'Expected billing date' | $T8 %]</th>
213
            <td>[%- L.date_tag('order.expected_billing_date_as_date', SELF.order.expected_billing_date_as_date) %]</td>
214
          </tr>
215
          [%- END %]
216

  
217
          <tr>
218
            <th width="70%" align="right" nowrap>[% 'Insert Date' | $T8 %]</th>
219
            <td>[% SELF.order.itime_as_date %]</td>
220
          </tr>
221

  
222
        </table>
223

  
224
      </td>
225
    </tr>
10
<!-- PENDENT: EXPERIMENTELL -->
11

  
12

  
13
<div class="wrapper" id="wrapper-1">
14
[% INCLUDE 'generic/toggle_wrapper.html' %]
15

  
16
<div class="col">
17

  
18
  <table class="tbl-horizontal col">
19
    <caption>[% 'Customer & Order info' | $T8 %]</caption>
20
    <colgroup><col class="wi-mediumsmall"><col class="wi-lightwide"></colgroup>
21
    <tbody>
22
      <tr>
23
        <th>[%- SELF.cv == "customer" ? LxERP.t8('Customer') : LxERP.t8('Vendor') -%]</th>
24
        [% SET cv_id = SELF.cv _ '_id' %]
25
        <td class="wi-lightwide">
26
          [% P.customer_vendor.picker("order.${SELF.cv}" _ '_id', SELF.order.$cv_id, type=SELF.cv, class='wi-lightwide') %]
27
          [% #P.button_tag("kivi.Order.show_vc_details_dialog()", LxERP.t8("Details (one letter abbreviation)"), class='wi-tiny neutral') %]
28
          <a href="javascript:kivi.Order.show_vc_details_dialog();" title="[% 'Show detail informationen' | $T8 %]" class="button-image info"><img src="image/detail.png"></a>
29
        </td>
30
      </tr>
31
      <tr id='cp_row' [% IF !SELF.order.${SELF.cv}.contacts.size %]style='display:none'[% END %]>
32
        <th>[% 'Contact Person' | $T8 %]</th>
33
        <td>[% L.select_tag('order.cp_id',
34
                            SELF.order.${SELF.cv}.contacts,
35
                            default=SELF.order.cp_id,
36
                            title_key='full_name_dep',
37
                            value_key='cp_id',
38
                            with_empty=1,
39
                            class='wi-lightwide') %]</td>
40
      </tr>
41
      <tr>
42
        <th>[% 'Shipping Address' | $T8 %]</th>
43
        <td>
44
          <span id='shipto_selection' [% IF !SELF.order.${SELF.cv}.shipto.size %]style='display:none'[% END %]>
45
            [% shiptos = [ { shipto_id => "", displayable_id => LxERP.t8("No/individual shipping address") } ] ;
46
               FOREACH s = SELF.order.${SELF.cv}.shipto ;
47
                 shiptos.push(s) ;
48
               END ;
49
               L.select_tag('order.shipto_id',
50
                             shiptos,
51
                             default=SELF.order.shipto_id,
52
                             title_key='displayable_id',
53
                             value_key='shipto_id',
54
                             with_empty=0,
55
                             style='width: 300px') %]
56
          </span>
57
          [% L.button_tag("kivi.Order.edit_custom_shipto()", LxERP.t8("Custom shipto")) %]
58
        </td>
59
      </tr>
60
      [% PROCESS order/tabs/_business_info_row.html SELF=SELF %]
61
      <tr>
62
        <th>[% 'Steuersatz' | $T8 %]</th>
63
        <td>[% L.select_tag('order.taxzone_id', SELF.all_taxzones, default=SELF.order.taxzone_id, title_key='description', class='recalc wi-lightwide') %]</td>
64
      </tr>
65
      [% SET currency_id = SELF.order.currency_id || INSTANCE_CONF.get_currency_id  # use default currency for new order %]
66
      <tr id="currency_settings">
67
        <th>[% 'Currency' | $T8 %]</th>
68
        <td>[% L.select_tag('order.currency_id', SELF.all_currencies, default=currency_id, value_key='id', title_key='name') %]</td>
69
      </tr>
70
      <tr id="exchangerate_settings" [%- IF SELF.order.currency_id==INSTANCE_CONF.get_currency_id %]style='display:none'[%- END %]>
71
        <th>[% 'Exchangerate' | $T8 %]</th>
72
        <td> 1 <span id="currency_name">[% SELF.order.currency.name %]</span> =
73
          [% L.input_tag('order.exchangerate_as_null_number', SELF.order.exchangerate_as_null_number, size="15", class="reformat_number_as_null_number numeric") %]
74
          [% INSTANCE_CONF.default_currency %]
75
          [% L.hidden_tag('old_currency_id', currency_id) %]
76
          [% L.hidden_tag('old_exchangerate', SELF.order.exchangerate_as_null_number) %]
77
        </td>
78
      </tr>
79
      [% IF SELF.all_languages.size %]
80
        <tr>
81
          <th>[% 'Language' | $T8 %]</th>
82
          <td>
83
            [% L.select_tag('order.language_id', SELF.all_languages, default=SELF.order.language_id, title_key='description', with_empty=1, style='width:300px') %]
84
          </td>
85
        </tr>
86
      [% END %]
87
      [% IF SELF.all_departments.size %]
88
        <tr>
89
          <th>[% 'Department' | $T8 %]</th>
90
          <td>
91
            [% L.select_tag('order.department_id', SELF.all_departments, default=SELF.order.department_id, title_key='description', with_empty=1, class='wi-lightwide') %]
92
          </td>
93
        </tr>
94
      [% END %]
95
      <tr>
96
        <th>[% 'Shipping Point' | $T8 %]</th>
97
        <td>[% L.input_tag('order.shippingpoint', SELF.order.shippingpoint, class='wi-lightwide') %]</td>
98
      </tr>
99
      <tr>
100
        <th>[% 'Ship via' | $T8 %]</th>
101
        <td>[% L.input_tag('order.shipvia', SELF.order.shipvia, class='wi-lightwide') %]</td>
102
      </tr>
103
      <tr>
104
        <th>[% 'Transaction description' | $T8 %]</th>
105
        <td>[% L.input_tag('order.transaction_description', SELF.order.transaction_description, 'data-validate'=INSTANCE_CONF.get_require_transaction_description_ps ? 'required' : '', class='wi-lightwide') %]</td>
106
      </tr>
107
      <tr>
108
        <th>[% 'Project Number' | $T8 %]</th>
109
        <td>[% P.project.picker('order.globalproject_id', SELF.order.globalproject_id, class='wi-lightwide') %]</td>
110
      </tr>
111
    </tbody>
226 112
  </table>
227 113

  
228
  [%- PROCESS order/tabs/_item_input.html SELF=SELF %]
114
  <table class="tbl-horizontal col">
115
    <caption>[% 'Terms' | $T8 %]</caption>
116
    <colgroup><col class="wi-mediumsmall"><col class="wi-lightwide"></colgroup>
117
    <tbody>
118
      <tr>
119
        <td colspan="2">
120
          <span class="label above">[% 'Payment Terms' | $T8 %]</span>
121
          [% L.select_tag('order.payment_id',
122
                            SELF.all_payment_terms,
123
                            default = SELF.order.payment_id,
124
                            with_empty = 1,
125
                            title_key = 'description',
126
                            class = 'wi-mediumsmall-lightwide') %]
127
        </td>
128
      </tr>
129
      <tr>
130
        <td colspan="2">
131
          <span class="label above">[% 'Delivery Terms' | $T8 %]</span>
132
          [% L.select_tag('order.delivery_term_id',
133
                            SELF.all_delivery_terms,
134
                            default = SELF.order.delivery_term_id,
135
                            with_empty = 1,
136
                            title_key = 'description',
137
                            class = 'wi-mediumsmall-lightwide') %]
138
        </td>
139
      </tr>
140
      <tr id="taxincluded_row_id">
141
        <th>[% IF !SELF.taxes.size %]<label for="order.taxincluded">[% 'Tax Included' | $T8 %]</label> [% END %]</th>
142
        <td>[% IF !SELF.taxes.size %][% L.yes_no_tag('order.taxincluded', SELF.order.taxincluded, class='recalc') %][% END %]</td>
143
      </tr>
144
      [% IF SELF.type == "sales_order" %]
145
        <tr>
146
          <th>[% 'Periodic Invoices' | $T8 %]</th>
147
          <td>
148
            <span id='periodic_invoices_status' class="data wi-normal wi-lightwide">[% SELF.periodic_invoices_status %]</span>
149
            <span class="button-inline">
150
              [% L.button_tag('kivi.Order.show_periodic_invoices_config_dialog()', LxERP.t8('Configure'), class='neutral inline below') %]
151
              <a href="doc/html/ch03.html#features.periodic-invoices.variables" target="_blank" class="button wi-tiny neutral" title="[% 'Documentation about periodic invoices in a new window' | $T8 %]">?</a>
152
            </span>
153
          </td>
154
        </tr>
155
      [% END %]
156
    </tbody>
157
  </table>
229 158

  
230
  [% L.button_tag('kivi.Order.show_multi_items_dialog()', LxERP.t8('Add multiple items')) %]
159
</div><!-- /.col -->
231 160

  
232
  <table width="100%">
161
<table class="tbl-horizontal col">
162
  <caption>[% 'Notes' | $T8 %]</caption>
163
  <colgroup><col class="wi-wide"></colgroup>
164
  <tbody>
233 165
    <tr>
234
      <td>
235
        [%- IF SELF.positions_scrollbar_height -%]
236
          [%- SET scroll_style = 'style="overflow-y: auto; height:' _ SELF.positions_scrollbar_height _ 'vh;"' -%]
237
        [%- ELSE -%]
238
          [%- SET scroll_style = '' -%]
239
        [%- END -%]
240
        <div id="row_table_scroll_id" [%- scroll_style -%]>
241
          <table id="row_table_id" width="100%">
242
            <thead>
243
              <tr class="listheading">
244
                <th class="listheading" style='text-align:center' nowrap width="1">
245
                  [%- IF MYCONFIG.show_form_details %]
246
                    [%- L.img_tag(src="image/collapse.svg", alt=LxERP.t8('Hide all details'), title=LxERP.t8('Hide all details'), id='expand_all', "data-expanded"="1") %]
247
                  [%- ELSE %]
248
                    [%- L.img_tag(src="image/expand.svg", alt=LxERP.t8('Show all details'), title=LxERP.t8('Show all details'), id='expand_all') %]
249
                  [%- END %]
250
                </th>
251
                <th class="listheading" nowrap width="3" >[%- 'position'     | $T8 %] </th>
252
                <th class="listheading" style='text-align:center' nowrap width="1"><img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]"></th>
253
                <th class="listheading" style='text-align:center' nowrap width="1"><img src="image/close.png" alt="[%- LxERP.t8('delete item') %]"></th>
254
                [%- IF SELF.show_update_button -%]
255
                <th class="listheading" style='text-align:center' nowrap width="1">
256
                  [%- L.img_tag(src="image/rotate_cw.svg",
257
                                alt=LxERP.t8('Update from master data'),
258
                                title= LxERP.t8('Update from master data'),
259
                                onclick="if (!confirm('" _ LxERP.t8("Are you sure to update all positions from master data?") _ "')) return false; kivi.Order.update_all_rows_from_master_data();",
260
                                id='update_from_master') %]
261
                </th>
262
                [%- END %]
263
                <th id="partnumber_header_id"   class="listheading" nowrap width="15"><a href='#' onClick='javascript:kivi.Order.reorder_items("partnumber")'> [%- 'Partnumber'  | $T8 %]</a></th>
264
                [%- IF SELF.search_cvpartnumber -%]
265
                <th id="cvpartnumber_header_id" class="listheading" nowrap width="15"><a href='#' onClick='javascript:kivi.Order.reorder_items("cvpartnumber")' > [%- SELF.cv == "customer" ? LxERP.t8('Customer Part Number') : LxERP.t8('Model') %]</a></th>
266
                [%- END -%]
267
                <th id="partclass_header_id"    class="listheading" nowrap width="2">[%- 'Type'  | $T8 %]</th>
268
                <th id="description_header_id"  class="listheading" nowrap           ><a href='#' onClick='javascript:kivi.Order.reorder_items("description")'>[%- 'Description' | $T8 %]</a></th>
269
                [%- IF (SELF.type == "sales_order" || SELF.type == "purchase_order") -%]
270
                <th id="shipped_qty_header_id"  class="listheading" nowrap width="5" ><a href='#' onClick='javascript:kivi.Order.reorder_items("shipped_qty")'>[%- 'Delivered'   | $T8 %]</a></th>
271
                [%- END -%]
272
                <th id="qty_header_id"          class="listheading" nowrap width="5" ><a href='#' onClick='javascript:kivi.Order.reorder_items("qty")'>        [%- 'Qty'         | $T8 %]</a></th>
273
                <th class="listheading" nowrap width="5" >[%- 'Price Factor' | $T8 %] </th>
274
                <th class="listheading" nowrap width="5" >[%- 'Unit'         | $T8 %] </th>
275
                <th class="listheading" nowrap width="5" >[%- 'Price Source' | $T8 %] </th>
276
                <th id="sellprice_header_id"   class="listheading" nowrap width="15" ><a href='#' onClick='javascript:kivi.Order.reorder_items("sellprice")'> [%- 'Price'       | $T8 %]</a></th>
277
                <th id="discount_header_id"    class="listheading" nowrap width="15" ><a href='#' onClick='javascript:kivi.Order.reorder_items("discount")'>  [%- 'Discount'    | $T8 %]</a></th>
278
                <th class="listheading" nowrap width="10">[%- 'Extended'     | $T8 %] </th>
279
              </tr>
280
            </thead>
281

  
282
            [%- FOREACH item = SELF.order.items_sorted %]
283
              [%- PROCESS order/tabs/_row.html ITEM=item ID=(item.id||item.new_fake_id)  -%]
284
            [%- END %]
285

  
286
          </table>
287
        </div>
288

  
289
      </td>
166
      <td class="wi-wide">[% L.textarea_tag('order.notes', SELF.order.notes, wrap="soft",rows=7, class="texteditor wi-wide") %]</td>
290 167
    </tr>
291

  
292 168
    <tr>
169
      <td><span class="label above">[% 'Internal Notes' | $T8 %]</span>[% L.textarea_tag('order.intnotes', SELF.order.intnotes, wrap="soft", style="height: 150px", class="wi-wide") %]</td>
293 170
    </tr>
294

  
171
  </tbody>
172
</table>
173

  
174
<table class="tbl-horizontal col">
175
  <caption>[% 'Handling, Dates & Numbers' | $T8 %]</caption>
176
  <colgroup> <col class="wi-mediumsmall"><col class="wi-lightwide"> </colgroup>
177
  <tbody>
178
    [% IF SELF.order.id %]
295 179
    <tr>
296
      <td colspan="100%" width="100%">
297
        <table width="100%">
298
          <tr>
299
            <td>
300
              <table>
301
                <tr>
302
                  <th align="left">[% 'Notes' | $T8 %]</th>
303
                  <th align="left">[% 'Internal Notes' | $T8 %]</th>
304
                </tr>
305
                <tr valign="top">
306
                  <td>
307
                    [% L.textarea_tag('order.notes', SELF.order.notes, wrap="soft", style="width: 350px; height: 150px", class="texteditor") %]
308
                  </td>
309
                  <td>
310
                    [% L.textarea_tag('order.intnotes', SELF.order.intnotes, wrap="soft", style="width: 350px; height: 150px") %]
311
                  </td>
312
                </tr>
313
              </table>
314
            </td>
315

  
316
            <td>
317
              <table>
318
                <tr>
319
                  <th align="right">[% 'Payment Terms' | $T8 %]</th>
320
                  <td>[% L.select_tag('order.payment_id',
321
                                      SELF.all_payment_terms,
322
                                      default = SELF.order.payment_id,
323
                                      with_empty = 1,
324
                                      title_key = 'description',
325
                                      style = 'width: 250px') %]</td>
326
                </tr>
327
                <tr>
328
                  <th align="right">[% 'Delivery Terms' | $T8 %]</th>
329
                  <td>[% L.select_tag('order.delivery_term_id',
330
                                      SELF.all_delivery_terms,
331
                                      default = SELF.order.delivery_term_id,
332
                                      with_empty = 1,
333
                                      title_key = 'description',
334
                                      style = 'width: 250px') %]</td>
335
                </tr>
336
                [%- IF SELF.type == "sales_order" %]
337
                <tr>
338
                  <th align="right">[%- 'Periodic Invoices' | $T8 %]</th>
339
                  <td>[% L.button_tag('kivi.Order.show_periodic_invoices_config_dialog()', LxERP.t8('Configure')) %]
340
                    (<span id='periodic_invoices_status'>[%- SELF.periodic_invoices_status -%]</span>)
341
                    <a href="doc/html/ch03.html#features.periodic-invoices.variables" target="_blank">?</a>
342
                  </td>
343
                </tr>
344
                [%- END %]
345
              </table>
346
            </td>
180
    <th><label for="order.delivered">[% 'Delivery Order(s) for full qty created' | $T8 %]</label></th>
181
    <td>[% L.yes_no_tag('order.delivered', SELF.order.delivered, class='wi-small') %]</td>
182
    </tr>
183
    <tr>
184
      <th><label for="order.closed">[% 'Closed' | $T8 %]</label></th>
185
      <td>[% L.yes_no_tag('order.closed', SELF.order.closed, class='wi-small') %]</td>
186
    </tr>
187
    [% END %]
188
    <tr>
189
      <th>[% 'Employee' | $T8 %]</th>
190
      <td>[% L.select_tag('order.employee_id',
191
        SELF.all_employees,
192
        default=(SELF.order.employee_id ? SELF.order.employee_id : SELF.current_employee_id),
193
        title_key='safe_name') %]</td>
194
    </tr>
195
    [% IF SELF.cv == 'customer' %]
196
      <tr>
197
        <th>[% 'Salesman' | $T8 %]</th>
198
        <td>[% L.select_tag('order.salesman_id',
199
          SELF.all_salesmen,
200
          default=(SELF.order.salesman_id ? SELF.order.salesman_id : SELF.current_employee_id),
201
          title_key='safe_name') %]</td>
202
      </tr>
203
    [% END %]
204
    [% IF (SELF.type == "sales_order" || SELF.type == "purchase_order") %]
205
      <tr>
206
        <th>[% 'Order Number' | $T8 %]</th>
207
        <td>[% L.input_tag('order.ordnumber', SELF.order.ordnumber, size = 11, onchange='kivi.Order.set_number_in_title(this)', class='wi-small numeric') %]</td>
208
      </tr>
209
    [% END %]
210
    [% IF (SELF.type == "sales_order" || SELF.type == "sales_quotation") %]
211
      [% SET quo_nr_txt = 'Quotation Number' %]
212
    [% ELSE %]
213
      [% SET quo_nr_txt = 'RFQ Number' %]
214
    [% END %]
215
    <tr>
216
      <th>[% quo_nr_txt | $T8 %]</th>
217
      [% IF (SELF.type == "sales_order" || SELF.type == "purchase_order") %]
218
        <td>[% L.input_tag('order.quonumber', SELF.order.quonumber, size=5, class='wi-small') %]</td>
219
      [% ELSE %]
220
        <td>[% L.input_tag('order.quonumber', SELF.order.quonumber, class='wi-small numeric', size=5, class='wi-small', onchange='kivi.Order.set_number_in_title(this)') %]</td>
221
      [% END %]
222
    </tr>
223
    [% IF (SELF.type == "sales_order" || SELF.type == "purchase_order") %]
224
      <tr>
225
        <th>[% 'Customer Order Number' | $T8 %]</th>
226
        <td>[% L.input_tag('order.cusordnumber', SELF.order.cusordnumber, size=5, class='wi-small numeric') %]</td>
227
      </tr>
228
    [% END %]
229
    [% IF (SELF.type == "sales_order" || SELF.type == "purchase_order") %]
230
      [% SET transdate_txt = 'Order Date' %]
231
    [% ELSIF SELF.type == "sales_quotation" %]
232
      [% SET transdate_txt = 'Quotation Date' %]
233
    [% ELSE %]
234
      [% SET transdate_txt = 'RFQ Date' %]
235
    [% END %]
236
    <tr>
237
      <th>[% transdate_txt | $T8 %]</th>
238
      <td>[% L.date_tag('order.transdate_as_date', SELF.order.transdate_as_date, class='wi-date') %]</td>
239
    </tr>
240
    <tr>
241
      <th>[% 'Tax point' | $T8 %]</th>
242
      <td>[% L.date_tag('order.tax_point_as_date', SELF.order.tax_point_as_date, class='wi-date recalc') %]</td>
243
    </tr>
244
    [% IF (SELF.type == "sales_order" || SELF.type == "purchase_order") %]
245
      [% SET reqdate_txt = 'Reqdate'; SET reqdate_class = 'recalc' %]
246
    [% ELSIF SELF.type == "sales_quotation" %]
247
      [% SET reqdate_txt = 'Valid until'; SET reqdate_class = '' %]
248
    [% ELSE %]
249
      [% SET reqdate_txt = 'Required by'; SET reqdate_class = 'recalc' %]
250
    [% END %]
251
    <tr>
252
      <th>[% reqdate_txt | $T8 %]</th>
253
      <td>[% L.date_tag('order.reqdate_as_date', SELF.order.reqdate_as_date, class='wi-date ' _ reqdate_class) %]</td>
254
    </tr>
255
    [% IF SELF.type == "sales_quotation" %]
256
      <tr>
257
        <th>[% 'Order probability' | $T8 %]</th>
258
        <td>[% L.select_tag('order.order_probability', SELF.order_probabilities, title='title', default=SELF.order.order_probability) %]%</td>
259
      </tr>
260
      <tr>
261
        <th>[% 'Expected billing date' | $T8 %]</th>
262
        <td>[% L.date_tag('order.expected_billing_date_as_date', SELF.order.expected_billing_date_as_date) %]</td>
263
      </tr>
264
    [% END %]
265
    <tr>
266
      <th>[% 'Insert Date' | $T8 %]</th>
267
      <td><span class="data wi-small">[% SELF.order.itime_as_date %]</span></td>
268
    </tr>
269
  </tbody>
270
</table>
347 271

  
348
            [%- IF (SELF.type == "sales_order" || SELF.type == "sales_quotation") -%]
349
            [%- SET marge_class = (SELF.order.marge_total < 0) ? 'plus0' : '' -%]
350
            <td>
351
              <table>
352
                <tr>
353
                  <th  align="left">[% 'Ertrag' | $T8 %]</th>
354
                  <td align="right">
355
                    [%- L.div_tag(SELF.order.marge_total_as_number, id='marge_total_id', class=marge_class) %]
356
                  </td>
357
                </tr>
358
                <tr>
359
                  <th  align="left">[% 'Ertrag prozentual' | $T8 %]</th>
360
                  <td align="right">
361
                    [%- L.div_tag(LxERP.format_amount(SELF.order.marge_percent, 2), id='marge_percent_id', class=marge_class) %]
362
                  </td>
363
                  <td>[%- L.div_tag('%', id='marge_percent_sign_id', class=marge_class) %]</td>
364
                </tr>
365
              </table>
366
            </td>
367
            [%- END %]
272
</div><!-- /.wrapper -->
368 273

  
369
            <td align="right">
370
              <table>
371
                <tr id="taxincluded_row_id" [%- IF !SELF.taxes.size %]style="display:none"[%- END %]>
372
                  <td align=right colspan="2">
373
                    <label for="order.taxincluded"><b>[% 'Tax Included' | $T8 %]</b></label>
374
                    [% L.yes_no_tag('order.taxincluded', SELF.order.taxincluded, class='recalc') %]
375
                  </td>
376
                </tr>
274
[% PROCESS order/tabs/_item_input.html SELF=SELF %]
377 275

  
378
                <tr id="subtotal_row_id" [%- IF SELF.order.taxincluded %]style="display:none"[%- END %]>
379
                  <th align="right">[%- 'Subtotal' | $T8 %]</th>
380
                  <td align="right">
381
                    [%- L.div_tag(SELF.order.netamount_as_number, id='netamount_id') %]
382
                  </td>
383
                </tr>
384
                [%- FOREACH tax = SELF.taxes %]
385
                  [%- PROCESS order/tabs/_tax_row.html TAX=tax TAXINCLUDED=SELF.order.taxincluded %]
386
                [%- END %]
387
                <tr id="amount_row_id">
388
                  <th align="right">[%- 'Total' | $T8 %]</th>
389
                  <td align="right">
390
                    [%- L.div_tag(SELF.order.amount_as_number, id='amount_id') %]
391
                  </td>
392
                </tr>
393
              </table>
394
            </td>
276
[%- IF SELF.positions_scrollbar_height -%]
277
  [%- SET scroll_style = 'style="overflow-y: auto; height:' _ SELF.positions_scrollbar_height _ 'vh;"' -%]
278
[%- ELSE -%]
279
  [%- SET scroll_style = '' -%]
280
[%- END -%]
281
<div id="row_table_scroll_id" class="wrapper" [%- scroll_style -%]>
395 282

  
396
          </tr>
397
        </table>
398
      </td>
283
<table id="row_table_id" class="tbl-list">
284
  <caption>[% 'Articles' | $T8 %]</caption>
285
  <thead>
286
    <tr>
287
      <th class="center">
288
        [% IF MYCONFIG.show_form_details %]
289
          [% L.img_tag(src="image/collapse.svg", alt=LxERP.t8('Hide all details'), title=LxERP.t8('Hide all details'), id='expand_all', "data-expanded"="1") %]
290
        [% ELSE %]
291
          [% L.img_tag(src="image/expand.svg", alt=LxERP.t8('Show all details'), title=LxERP.t8('Show all details'), id='expand_all') %]
292
        [% END %]
293
      </th>
294
      <th>[% 'position'     | $T8 %] </th>
295
      <th style='text-align:center'><img src="image/updown.png" alt="[% LxERP.t8('reorder item') %]"></th>
296
      <th style='text-align:center'><img src="image/close.png" alt="[% LxERP.t8('delete item') %]"></th>
297
      [%- IF SELF.show_update_button -%]
298
      <th class="listheading" style='text-align:center' nowrap width="1">
299
        [%- L.img_tag(src="image/rotate_cw.svg",
300
                      alt=LxERP.t8('Update from master data'),
301
                      title= LxERP.t8('Update from master data'),
302
                      onclick="if (!confirm('" _ LxERP.t8("Are you sure to update all positions from master data?") _ "')) return false; kivi.Order.update_all_rows_from_master_data();",
303
                      id='update_from_master') %]
304
      </th>
305
      [%- END %]
306
      <th id="partnumber_header_id"><a href='#' onClick='javascript:kivi.Order.reorder_items("partnumber")'> [% 'Partnumber'  | $T8 %]</a></th>
307
      [%- IF SELF.search_cvpartnumber -%]
308
      <th id="cvpartnumber_header_id"><a href='#' onClick='javascript:kivi.Order.reorder_items("cvpartnumber")'>[%- SELF.cv == "customer" ? LxERP.t8('Customer Part Number') : LxERP.t8('Model') %]</a></th>
309
      [%- END -%]
310
      <th id="partclass_header_id">[% 'Type'  | $T8 %]</th>
311
      <th id="description_header_id"><a href='#' onClick='javascript:kivi.Order.reorder_items("description")'>[% 'Description' | $T8 %]</a></th>
312
      [%- IF (SELF.type == "sales_order" || SELF.type == "purchase_order") -%]
313
      <th id="shipped_qty_header_id"><a href='#' onClick='javascript:kivi.Order.reorder_items("shipped_qty")'>[% 'Delivered' | $T8 %]</a></th>
314
      [%- END -%]
315
      <th id="qty_header_id"><a href='#' onClick='javascript:kivi.Order.reorder_items("qty")'>        [% 'Qty'         | $T8 %]</a></th>
316
      <th >[% 'Price Factor' | $T8 %]</th>
317
      <th >[% 'Unit'         | $T8 %]</th>
318
      <th >[% 'Price Source' | $T8 %]</th>
319
      <th id="sellprice_header_id"><a href='#' onClick='javascript:kivi.Order.reorder_items("sellprice")'> [% 'Price'       | $T8 %]</a></th>
320
      <th id="discount_header_id" ><a href='#' onClick='javascript:kivi.Order.reorder_items("discount")'>  [% 'Discount'    | $T8 %]</a></th>
321
      <th>[% 'Extended'     | $T8 %]</th>
399 322
    </tr>
323
  </thead>
324
  [% FOREACH item = SELF.order.items_sorted %]
325
    [% PROCESS order/tabs/_row.html ITEM=item ID=(item.id||item.new_fake_id) TYPE=SELF.type ALL_PRICE_FACTORS=SELF.all_price_factors SEARCH_CVPARTNUMBER=SELF.search_cvpartnumber %]
326
  [% END %]
327
  <tfoot>
328
    <tr id="subtotal_row_id">
329
      <td colspan="11"></td>
330
      <th colspan="3">[% IF SELF.order.taxincluded %][% 'Subtotal' | $T8 %][% END %]</th>
331
      <td>[% IF SELF.order.taxincluded %][% L.div_tag(SELF.order.netamount_as_number, id='netamount_id') %][% END %]</td>
332
    </tr>
333
    [% FOREACH tax = SELF.taxes %]
334
      [% PROCESS order/tabs/_tax_row.html TAX=tax TAXINCLUDED=SELF.order.taxincluded %]
335
    [% END %]
336
    <tr id="amount_row_id">
337
      [%- IF (SELF.type == "sales_order" || SELF.type == "sales_quotation") -%]
338
      [%- SET marge_class = (SELF.order.marge_total < 0) ? 'plus0' : '' -%]
339
      <th colspan="2">[% 'Ertrag' | $T8 %]</th>
340
      <td colspan="2" class="numeric">[%- L.div_tag(SELF.order.marge_total_as_number, id='marge_total_id', class=marge_class) %]</td>
341
      <th colspan="2">[% 'Ertrag prozentual' | $T8 %]</th>
342
      <td class="numeric">[%- LxERP.format_amount(SELF.order.marge_percent, 2) %] %</td>
343
      [%- ELSE -%]
344
      <td colspan="7">
345
      [%- END -%]
346
      <td colspan="4">
347
      <th colspan="3">[% 'Total' | $T8 %]</th>
348
      <td class="numeric">[% L.div_tag(SELF.order.amount_as_number, id='amount_id') %]</td>
349
    </tr>
350
  </tfoot>
351
</table>
400 352

  
401
  </table>
353
</div><!-- /#row_table_scroll_id /.wrapper -->
402 354

  
403
</div>
355
</div><!-- /#ui-tabs-basic-data -->
404 356

  
405 357
[% L.sortable_element('#row_table_id') %]

Auch abrufbar als: Unified diff