Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 0194799c

Von Moritz Bunkus vor mehr als 10 Jahren hinzugefügt

  • ID 0194799c9cd192f01db7df4cf056e18871c979e0
  • Vorgänger a0d3ac64
  • Nachfolger 24cdf9e9

Einkauf/Verkauf: Eingabe der Vorgangsbezeichnung optional erzwingen

Wird über eine Option in der Mandantenkonfiguration eingeschaltet.

Unterschiede anzeigen:

SL/DB/MetaSetup/Default.pm
67 67
  profit_determination                    => { type => 'text' },
68 68
  purchase_delivery_order_show_delete     => { type => 'boolean', default => 'true' },
69 69
  purchase_order_show_delete              => { type => 'boolean', default => 'true' },
70
  require_transaction_description_ps      => { type => 'boolean', default => 'false', not_null => 1 },
70 71
  requirement_spec_section_order_part_id  => { type => 'integer' },
71 72
  revtrans                                => { type => 'boolean', default => 'false' },
72 73
  rfqnumber                               => { type => 'text' },
js/kivi.SalesPurchase.js
53 53
    return confirm(kivi.t8('This sales order has an active configuration for periodic invoices. If you save then all subsequently created invoices will contain those changes as well, but not those that have already been created. Do you want to continue?'));
54 54
  };
55 55

  
56
  this.check_transaction_description = function() {
57
    if ($('#transaction_description').val() != '')
58
      return true;
59

  
60
    alert(kivi.t8('A transaction description is required.'));
61
    return false;
62
  };
63

  
56 64
  this.on_submit_checks = function() {
57 65
    var $button = $(this);
58 66
    if (($button.data('check-transfer-qty') == 1) && !kivi.SalesPurchase.delivery_order_check_transfer_qty())
......
61 69
    if (($button.data('warn-save-active-periodic-invoice') == 1) && !kivi.SalesPurchase.oe_warn_save_active_periodic_invoice())
62 70
      return false;
63 71

  
72
    if (($button.data('require-transaction-description') == 1) && !kivi.SalesPurchase.check_transaction_description())
73
      return false;
74

  
64 75
    return true;
65 76
  };
66 77

  
js/locale/de.js
1 1
namespace("kivi").setupLocale({
2
"A transaction description is required.":"Die Vorgangsbezeichnung muss eingegeben werden.",
2 3
"Add function block":"Funktionsblock hinzufügen",
3 4
"Add linked record":"Verknüpften Beleg hinzufügen",
4 5
"Add picture":"Bild hinzufügen",
locale/de/all
49 49
  'A lot of the usability of kivitendo has been enhanced with javascript. Although it is currently possible to use every aspect of kivitendo without javascript, we strongly recommend it. In a future version this may change and javascript may be necessary to access advanced features.' => 'Die Bedienung von kivitendo wurde an vielen Stellen mit Javascript verbessert. Obwohl es derzeit möglich ist, jeden Aspekt von kivitendo auch ohne Javascript zu benutzen, empfehlen wir es. In einer zukünftigen Version wird Javascript eventuell notwendig sein um weitergehende Features zu benutzen.',
50 50
  'A lower-case character is required.' => 'Ein Kleinbuchstabe ist vorgeschrieben.',
51 51
  'A special character is required (valid characters: #1).' => 'Ein Sonderzeichen ist vorgeschrieben (gültige Zeichen: #1).',
52
  'A transaction description is required.' => 'Die Vorgangsbezeichnung muss eingegeben werden.',
52 53
  'A unit with this name does already exist.' => 'Eine Einheit mit diesem Namen existiert bereits.',
53 54
  'A valid taxkey is missing!'  => 'Einen gültiger Steuerschlüssel fehlt!',
54 55
  'A variable marked as \'editable\' can be changed in each quotation, order, invoice etc.' => 'Eine als \'editierbar\' markierte Variable kann in jedem Angebot, Auftrag, jeder Rechnung etc für jede Position geändert werden.',
......
1191 1192
  'If amounts differ more than "Maximal amount difference" (see settings), this item is marked as invalid.' => 'Weichen die Beträge mehr als die "maximale Betragsabweichung" (siehe Einstellungen) ab, so wird diese Position als ungültig markiert.',
1192 1193
  'If checked the taxkey will not be exported in the DATEV Export, but only IF chart taxkeys differ from general ledger taxkeys' => 'Falls angehakt wird der DATEV-Steuerschlüssel bei Buchungen auf dieses Konto nicht beim DATEV-Export mitexportiert, allerdings nur wenn zusätzlich der Konto-Steuerschlüssel vom Buchungs (Hauptbuch) Steuerschlüssel abweicht',
1193 1194
  'If configured this bin will be preselected for all new parts. Also this bin will be used as the master default bin, if default transfer out with master bin is activated.' => 'Falls konfiguriert, wird dieses Lager mit Lagerplatz für neu angelegte Waren vorausgewählt.',
1195
  'If enabled purchase and sales records cannot be saved if no transaction description has been entered.' => 'Wenn angeschaltet, so können Einkaufs- und Verkaufsbelege nicht gespeichert werden, solange keine Vorgangsbezeichnung eingegeben wurde.',
1194 1196
  'If missing then the start date will be used.' => 'Falls es fehlt, so wird die erste Rechnung für das Startdatum erzeugt.',
1195 1197
  'If the article type is set to \'mixed\' then a column called \'type\' must be present.' => 'Falls der Artikeltyp auf \'gemischt\' gestellt wird, muss eine Spalte namens \'type\' vorhanden sein.',
1196 1198
  'If the automatic creation of invoices for fees and interest is switched on for a dunning level then the following accounts will be used for the invoice.' => 'Wenn das automatische Erstellen einer Rechnung über Mahngebühren und Zinsen für ein Mahnlevel aktiviert ist, so werden die folgenden Konten für die Rechnung benutzt.',
......
1844 1846
  'Purchase net amount'         => 'EK-Betrag',
1845 1847
  'Purchase price'              => 'EK-Preis',
1846 1848
  'Purchase price total'        => 'EK-Betrag',
1849
  'Purchasing & Sales'          => 'Einkauf & Verkauf',
1847 1850
  'Purpose'                     => 'Verwendungszweck',
1848 1851
  'Qty'                         => 'Menge',
1849 1852
  'Qty according to delivery order' => 'Menge laut Lieferschein',
......
1929 1932
  'Requested execution date from' => 'Gewünschtes Ausführungsdatum von',
1930 1933
  'Requested execution date to' => 'Gewünschtes Ausführungsdatum bis',
1931 1934
  'Requests for Quotation'      => 'Preisanfragen',
1935
  'Require a transaction description in purchase and sales records' => 'Vorgangsbezeichnung in Einkaufs- und Verkaufsbelegen erzwingen',
1932 1936
  'Required by'                 => 'Lieferdatum',
1933 1937
  'Requirement Spec Status'     => 'Pflichtenheftstatus',
1934 1938
  'Requirement Spec Statuses'   => 'Pflichtenheftstatus',
sql/Pg-upgrade2/defaults_require_transaction_description.sql
1
-- @tag: defaults_require_transaction_description
2
-- @description: Mandantenkonfiguration: optional Existenz der Vorgangsbezeichnung erzwingen
3
-- @depends: release_3_1_0
4
ALTER TABLE defaults ADD COLUMN require_transaction_description_ps BOOLEAN;
5
UPDATE defaults SET require_transaction_description_ps = FALSE;
6

  
7
ALTER TABLE defaults
8
  ALTER COLUMN require_transaction_description_ps SET DEFAULT FALSE,
9
  ALTER COLUMN require_transaction_description_ps SET NOT NULL;
templates/webpages/client_config/_features.html
57 57
  </tr>
58 58
</tr>
59 59

  
60
  <tr><td class="listheading" colspan="4">[% LxERP.t8("Purchasing & Sales") %]</td></tr>
61

  
62
  <tr>
63
   <td align="right">[% LxERP.t8('Require a transaction description in purchase and sales records') %]</td>
64
   <td>[% L.yes_no_tag('defaults.require_transaction_description_ps', SELF.defaults.require_transaction_description_ps) %]</td>
65
   <td>[% LxERP.t8('If enabled purchase and sales records cannot be saved if no transaction description has been entered.') %]</td>
66
  </tr>
67

  
60 68
  <tr><td class="listheading" colspan="4">[% LxERP.t8("Requirement Specs") %]</td></tr>
61 69

  
62 70
  <tr>
templates/webpages/do/form_footer.html
68 68
   <input class="submit" type="submit" name="action_ship_to" value="[% 'Ship to' | $T8 %]">
69 69
   [%- END %]
70 70
   [%- END %]
71
   <input class="submit" type="submit" name="action_print" value="[% 'Print' | $T8 %]">
72
   <input class="submit" type="submit" name="action_e_mail" value="[% 'E-mail' | $T8 %]">
71
   <input class="submit" type="submit" name="action_print" value="[% 'Print' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
72
   <input class="submit" type="submit" name="action_e_mail" value="[% 'E-mail' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
73 73
   [%- UNLESS delivered %]
74
   <input class="submit" type="submit" name="action_save" value="[% 'Save' | $T8 %]">
74
   <input class="submit" type="submit" name="action_save" value="[% 'Save' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
75 75
   [%- IF vc == 'customer' %]
76
   <input class="submit" type="submit" name="action_transfer_out" value="[% 'Transfer out' | $T8 %]" data-check-transfer-qty="1">
76
   <input class="submit" type="submit" name="action_transfer_out" value="[% 'Transfer out' | $T8 %]" data-check-transfer-qty="1" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
77 77
   [% IF transfer_default %]
78
   <input class="submit" type="submit" name="action_transfer_out_default" value="[% 'Transfer out via default' | $T8 %]">
78
   <input class="submit" type="submit" name="action_transfer_out_default" value="[% 'Transfer out via default' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
79 79
   [%- END %]
80 80
   [%- ELSE %]
81
   <input class="submit" type="submit" name="action_transfer_in" value="[% 'Transfer in' | $T8 %]" data-check-transfer-qty="1">
81
   <input class="submit" type="submit" name="action_transfer_in" value="[% 'Transfer in' | $T8 %]" data-check-transfer-qty="1" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
82 82
   [% IF transfer_default %]
83
   <input class="submit" type="submit" name="action_transfer_in_default" value="[% 'Transfer in via default' | $T8 %]">
83
   <input class="submit" type="submit" name="action_transfer_in_default" value="[% 'Transfer in via default' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
84 84
   [%- END %]
85 85
   [%- END %]
86 86
   [%- END %]
87 87
   [%- IF id %]
88 88
     <input type="button" class="submit" onclick="follow_up_window()" value="[% 'Follow-Up' | $T8 %]">
89 89
   [%- UNLESS closed %]
90
   <input class="submit" type="submit" name="action_mark_closed" value="[% 'Mark closed' | $T8 %]">
90
   <input class="submit" type="submit" name="action_mark_closed" value="[% 'Mark closed' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
91 91
   [%- END %]
92 92
   <input type="button" class="submit" onclick="set_history_window([% id %]);" name="history" id="history" value="[% 'history' | $T8 %]">
93 93
   [%- END %]
......
96 96
  [%- IF id %]
97 97
  <p>
98 98
   [% 'Workflow Delivery Order' | $T8 %]<br>
99
   <input class="submit" type="submit" name="action_save_as_new" value="[% 'Save as new' | $T8 %]">
99
   <input class="submit" type="submit" name="action_save_as_new" value="[% 'Save as new' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
100 100
   [% UNLESS delivered || (vc == 'customer' && !INSTANCE_CONF.get_sales_delivery_order_show_delete) || (vc == 'vendor' && !INSTANCE_CONF.get_purchase_delivery_order_show_delete) %]
101 101
    [% L.submit_tag('action_delete', LxERP.t8('Delete'), confirm=LxERP.t8('Are you sure?')) %]
102 102
   [% END %]
templates/webpages/do/form_header.html
214 214

  
215 215
       <tr>
216 216
        <th align="right">[% 'Transaction description' | $T8 %]</th>
217
        <td colspan="3"><input name="transaction_description" size="35" value="[% HTML.escape(transaction_description) %]"[% RO %]></td>
217
        <td colspan="3"><input name="transaction_description" id="transaction_description" size="35" value="[% HTML.escape(transaction_description) %]"[% RO %]></td>
218 218
       </tr>
219 219

  
220 220
      </table>
templates/webpages/is/form_footer.html
153 153

  
154 154
    <input class="submit" type="submit" accesskey="u" name="action" id="update_button" value="[% 'Update' | $T8 %]">
155 155
    <input class="submit" type="submit" name="action" value="[% 'Ship to' | $T8 %]">
156
    <input class="submit" type="submit" name="action" value="[% 'Print' | $T8 %]">
157
    <input class="submit" type="submit" name="action" value="[% 'E-mail' | $T8 %]">
156
    <input class="submit" type="submit" name="action" value="[% 'Print' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
157
    <input class="submit" type="submit" name="action" value="[% 'E-mail' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
158 158
[% IF  show_storno %]
159
    <input class="submit" type="submit" name="action" value="[% 'Storno' | $T8 %]">
159
    <input class="submit" type="submit" name="action" value="[% 'Storno' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
160 160
[% END %]
161 161
    <input class="submit" type="submit" name="action" value="[% 'Post Payment' | $T8 %]">
162 162
    <input class="submit" type="submit" name="action" value="[% 'Use As New' | $T8 %]">
163 163

  
164 164
[% IF id && !is_type_credit_note %]
165
    <input class="submit" type="submit" name="action" value="[% 'Credit Note' | $T8 %]">
165
    <input class="submit" type="submit" name="action" value="[% 'Credit Note' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
166 166
[% END %]
167 167
[% IF show_delete && !storno %]
168 168
    <input class="submit" type="submit" name="action" value="[% 'Delete' | $T8 %]">
169
    <input class="submit" type="submit" name="action" value="[% 'Post' | $T8 %]">
169
    <input class="submit" type="submit" name="action" value="[% 'Post' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
170 170
[% END %]
171 171
    <input class="submit" type="submit" name="action" value="[% 'Order' | $T8 %]">
172 172
    <input type="button" class="submit" onclick="follow_up_window()" value="[% 'Follow-Up' | $T8 %]">
......
175 175
   [% UNLESS locked %]
176 176
      <input class="submit" type="submit" name="action" id="update_button" value="[% 'Update' | $T8 %]">
177 177
      <input class="submit" type="submit" name="action" value="[% 'Ship to' | $T8 %]">
178
      <input class="submit" type="submit" name="action" value="[% 'Preview' | $T8 %]">
179
      <input class="submit" type="submit" name="action" value="[% 'Post and E-mail' | $T8 %]">
180
      <input class="submit" type="submit" name="action" value="[% 'Print and Post' | $T8 %]">
181
      <input class="submit" type="submit" name="action" value="[% 'Post' | $T8 %]">
178
      <input class="submit" type="submit" name="action" value="[% 'Preview' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
179
      <input class="submit" type="submit" name="action" value="[% 'Post and E-mail' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
180
      <input class="submit" type="submit" name="action" value="[% 'Print and Post' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
181
      <input class="submit" type="submit" name="action" value="[% 'Post' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
182 182
      <input class="submit" type="submit" name="action" value="[% 'Save Draft' | $T8 %]">
183 183
   [%- END %]
184 184
 [% END # id %]
......
198 198
<input type="hidden" name="customer_discount" value="[% customer_discount %]">
199 199
<input type="hidden" name="gldate" value="[% gldate %]">
200 200
</form>
201
<script type='text/javascript'>
202
 $(kivi.SalesPurchase.init_on_submit_checks);
203
</script>
templates/webpages/is/form_header.html
160 160
        </tr>
161 161
        <tr>
162 162
          <th align="right">[% 'Transaction description' | $T8 %]</th>
163
          <td colspan="3"><input size='35' name="transaction_description" value="[% HTML.escape(transaction_description) %]"></td>
163
          <td colspan="3"><input size='35' name="transaction_description" id="transaction_description" value="[% HTML.escape(transaction_description) %]"></td>
164 164
        </tr>
165 165
      </table>
166 166
    </td>
templates/webpages/oe/form_footer.html
129 129
[% label_edit %]<br>
130 130
<input class="submit" type="submit" name="action_update" id="update_button" value="[% 'Update' | $T8 %]">
131 131
<input class="submit" type="submit" name="action_ship_to" value="[% 'Ship to' | $T8 %]">
132
<input class="submit" type="submit" name="action_print" value="[% 'Print' | $T8 %]">
133
<input class="submit" type="submit" name="action_e_mail" value="[% 'E-mail' | $T8 %]">
134
<input class="submit" type="submit" name="action_save" value="[% 'Save' | $T8 %]"[% IF warn_save_active_periodic_invoice %] data-warn-save-active-periodic-invoice="1"[% END %]>
135
<input class="submit" type="submit" name="action_save_and_close" value="[% 'Save and Close' | $T8 %]"[% IF warn_save_active_periodic_invoice %] data-warn-save-active-periodic-invoice="1"[% END %]>
132
<input class="submit" type="submit" name="action_print" value="[% 'Print' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
133
<input class="submit" type="submit" name="action_e_mail" value="[% 'E-mail' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
134
<input class="submit" type="submit" name="action_save" value="[% 'Save' | $T8 %]"[% IF warn_save_active_periodic_invoice %] data-warn-save-active-periodic-invoice="1"[% END %] data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
135
<input class="submit" type="submit" name="action_save_and_close" value="[% 'Save and Close' | $T8 %]"[% IF warn_save_active_periodic_invoice %] data-warn-save-active-periodic-invoice="1"[% END %] data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
136 136

  
137 137
[%- IF id %]
138 138
  <input type="button" class="submit" onclick="follow_up_window()" value="[% 'Follow-Up' | $T8 %]">
139 139
  <input type="button" class="submit" onclick="set_history_window([% HTML.escape(id) %])" name="history" id="history" value="[% 'history' | $T8 %]">
140 140

  
141 141
  <br>[% label_workflow %]<br>
142
  <input class="submit" type="submit" name="action_save_as_new" value="[% 'Save as new' | $T8 %]">
142
  <input class="submit" type="submit" name="action_save_as_new" value="[% 'Save as new' | $T8 %]" data-require-transaction-description="[% INSTANCE_CONF.get_require_transaction_description_ps %]">
143 143

  
144 144
  [%- UNLESS (is_sales_ord && !INSTANCE_CONF.get_sales_order_show_delete) || (is_pur_ord && !INSTANCE_CONF.get_purchase_order_show_delete) %]
145 145
    [% L.submit_tag('action_delete', LxERP.t8('Delete'), confirm=LxERP.t8('Are you sure?')) %]
templates/webpages/oe/form_header.html
146 146
                  </tr>
147 147
                  <tr>
148 148
                    <th align="right">[% 'Transaction description' | $T8 %]</th>
149
                    <td colspan="3"><input name="transaction_description" size="35" value="[% HTML.escape(transaction_description) %]"></td>
149
                    <td colspan="3"><input name="transaction_description" id="transaction_description" size="35" value="[% HTML.escape(transaction_description) %]"></td>
150 150
                  </tr>
151 151
[%- IF show_delivery_customer %]
152 152
                  <tr>

Auch abrufbar als: Unified diff