Revision f3bad0c2
Von Kivitendo Admin vor fast 3 Jahren hinzugefügt
SL/DB/MetaSetup/Default.pm | ||
---|---|---|
128 | 128 |
parts_image_css => { type => 'text', default => 'border:0;float:left;max-width:250px;margin-top:20px:margin-right:10px;margin-left:10px;' }, |
129 | 129 |
parts_listing_image => { type => 'boolean', default => 'true' }, |
130 | 130 |
parts_show_image => { type => 'boolean', default => 'true' }, |
131 |
partsgroup_required => { type => 'boolean', default => 'false', not_null => 1 }, |
|
131 | 132 |
payments_changeable => { type => 'integer', default => '0', not_null => 1 }, |
132 | 133 |
pdonumber => { type => 'text' }, |
133 | 134 |
ponumber => { type => 'text' }, |
SL/DB/Part.pm | ||
---|---|---|
139 | 139 |
push @errors, $::locale->text('The unit is missing.') unless $self->unit; |
140 | 140 |
push @errors, $::locale->text('The buchungsgruppe is missing.') unless $self->buchungsgruppen_id or $self->buchungsgruppe; |
141 | 141 |
|
142 |
if ( $::instance_conf->get_partsgroup_required |
|
143 |
&& ( !$self->partsgroup_id or ( $self->id && !$self->partsgroup_id && $self->partsgroup ) ) ) { |
|
144 |
# when unsetting an existing partsgroup in the interface, $self->partsgroup_id will be undef but $self->partsgroup will still have a value |
|
145 |
# this needs to be checked, as partsgroup dropdown has an empty value |
|
146 |
push @errors, $::locale->text('The partsgroup is missing.'); |
|
147 |
} |
|
148 |
|
|
142 | 149 |
unless ( $self->id ) { |
143 | 150 |
push @errors, $::locale->text('The partnumber already exists.') if SL::DB::Manager::Part->get_all_count(where => [ partnumber => $self->partnumber ]); |
144 | 151 |
}; |
doc/changelog | ||
---|---|---|
50 | 50 |
dass die Belegnummern von Belegen, die auf unserer Seite erzeugt |
51 | 51 |
werden, nicht mehr editierbar sind. In dem Fall vergibt kivitendo |
52 | 52 |
sie immer automatisch und zeigt sie in den Belegmasken nur noch an. |
53 |
- Warengruppe kann nun als Pflichtfeld für Artikel konfiguriert werden. |
|
53 | 54 |
|
54 | 55 |
Bugfixes (Tracker: https://www.kivitendo.de/redmine): |
55 | 56 |
|
locale/de/all | ||
---|---|---|
1727 | 1727 |
'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.', |
1728 | 1728 |
'If enabled sales invoices created using OpenDocument/OASIS format will include data for Swiss QR-Bill creation.' => 'Falls aktiviert, enthalten Rechnungen im OpenDocument/OASIS Format, Daten zur Schweizer QR-Rechnung.', |
1729 | 1729 |
'If enabled the record links view starts always from the sales order including all sublevels' => 'Falls aktiv, werden die verknüpften Belege immer vom Verkaufsauftrag inkl. aller darunterliegenden Belege angezeigt', |
1730 |
'If enabled, when saving parts the partsgroup must be not be empty.' => 'Falls aktiviert muß beim Speichern von Artikeln eine Warengruppe ausgewählt sein.', |
|
1730 | 1731 |
'If item not found, allow creation of new item' => 'Falls Artikel nicht gefunden, erlaube Erfassen eines Neuen', |
1731 | 1732 |
'If left empty the default sender from the kivitendo configuration will be used (key \'email_from\' in section \'periodic_invoices\'; current value: #1).' => 'Falls leer, so wird der Standardabsender aus der kivitendo-Konfiguration genutzt (Schlüssel »email_from« in Abschnitt »periodic_invoices«; aktueller Wert: #1).', |
1732 | 1733 |
'If missing then the start date will be used.' => 'Falls es fehlt, so wird die erste Rechnung für das Startdatum erzeugt.', |
... | ... | |
2442 | 2443 |
'Partsgroup' => 'Warengruppe', |
2443 | 2444 |
'Partsgroup (database ID)' => 'Warengruppe (Datenbank-ID)', |
2444 | 2445 |
'Partsgroup (name)' => 'Warengruppe (Name)', |
2446 |
'Partsgroup is required for parts' => 'Warengruppe ist Pflichtfeld für Artikel', |
|
2445 | 2447 |
'Partsgroups' => 'Warengruppen', |
2446 | 2448 |
'Partsgroups where variables are shown' => 'Warengruppen, bei denen Variablen angezeigt werden', |
2447 | 2449 |
'Password' => 'Passwort', |
... | ... | |
3614 | 3616 |
'The parts for this delivery order have already been transferred out.' => 'Die Artikel dieses Lieferscheins wurden bereits ausgelagert.', |
3615 | 3617 |
'The parts have been removed.' => 'Die Waren wurden aus dem Lager entnommen.', |
3616 | 3618 |
'The parts have been transferred.' => 'Die Waren wurden umgelagert.', |
3619 |
'The partsgroup is missing.' => 'Die Warengruppe fehlt.', |
|
3617 | 3620 |
'The password is too long (maximum length: #1).' => 'Das Passwort ist zu lang (maximale Länge: #1).', |
3618 | 3621 |
'The password is too short (minimum length: #1).' => 'Das Password ist zu kurz (minimale Länge: #1).', |
3619 | 3622 |
'The password is weak (e.g. it can be found in a dictionary).' => 'Das Passwort ist schwach (z.B. wenn es in einem Wörterbuch steht).', |
locale/en/all | ||
---|---|---|
1727 | 1727 |
'If enabled purchase and sales records cannot be saved if no transaction description has been entered.' => '', |
1728 | 1728 |
'If enabled sales invoices created using OpenDocument/OASIS format will include data for Swiss QR-Bill creation.' => '', |
1729 | 1729 |
'If enabled the record links view starts always from the sales order including all sublevels' => '', |
1730 |
'If enabled, when saving parts the partsgroup must be not be empty.' => '', |
|
1730 | 1731 |
'If item not found, allow creation of new item' => '', |
1731 | 1732 |
'If left empty the default sender from the kivitendo configuration will be used (key \'email_from\' in section \'periodic_invoices\'; current value: #1).' => '', |
1732 | 1733 |
'If missing then the start date will be used.' => '', |
... | ... | |
2442 | 2443 |
'Partsgroup' => '', |
2443 | 2444 |
'Partsgroup (database ID)' => '', |
2444 | 2445 |
'Partsgroup (name)' => '', |
2446 |
'Partsgroup is required for parts' => '', |
|
2445 | 2447 |
'Partsgroups' => '', |
2446 | 2448 |
'Partsgroups where variables are shown' => '', |
2447 | 2449 |
'Password' => '', |
... | ... | |
3613 | 3615 |
'The parts for this delivery order have already been transferred out.' => '', |
3614 | 3616 |
'The parts have been removed.' => '', |
3615 | 3617 |
'The parts have been transferred.' => '', |
3618 |
'The partsgroup is missing.' => '', |
|
3616 | 3619 |
'The password is too long (maximum length: #1).' => '', |
3617 | 3620 |
'The password is too short (minimum length: #1).' => '', |
3618 | 3621 |
'The password is weak (e.g. it can be found in a dictionary).' => '', |
sql/Pg-upgrade2/defaults_partsgroup_required.sql | ||
---|---|---|
1 |
-- @tag: defaults_partsgroup_required |
|
2 |
-- @description: New setting to check that partsgroup is set when saving parts |
|
3 |
-- @depends: release_3_5_8 |
|
4 |
|
|
5 |
ALTER TABLE defaults ADD COLUMN partsgroup_required boolean NOT NULL DEFAULT false; |
templates/webpages/client_config/_features.html | ||
---|---|---|
194 | 194 |
<td> [% L.yes_no_tag('defaults.normalize_part_descriptions', SELF.defaults.normalize_part_descriptions) %]</td> |
195 | 195 |
<td>[% LxERP.t8('Automatic deletion of leading, trailing and excessive (repetitive) spaces in part description and part notes. Affects the CSV import as well.') %]</td> |
196 | 196 |
</tr> |
197 |
<tr> |
|
198 |
<td align="right">[% LxERP.t8('Partsgroup is required for parts') %]</td> |
|
199 |
<td> [% L.yes_no_tag('defaults.partsgroup_required', SELF.defaults.partsgroup_required) %]</td> |
|
200 |
<td>[% LxERP.t8('If enabled, when saving parts the partsgroup must be not be empty.') %]</td> |
|
201 |
</tr> |
|
197 | 202 |
|
198 | 203 |
<tr><td class="listheading" colspan="4">[% LxERP.t8("Purchasing & Sales") %]</td></tr> |
199 | 204 |
|
Auch abrufbar als: Unified diff
Mandantenkonfiguration - Warengruppe als Pflichtfeld
Kann nun konfiguriert werden.