From 26dab9db585be7fbd8d754ff886cc8faedef32d6 Mon Sep 17 00:00:00 2001 From: "Martin Helmling martin.helmling@octosoft.eu" Date: Mon, 18 Jul 2016 08:24:54 +0200 Subject: [PATCH] Funktion "Erzeugnis fertigen" sucht Bestandteile im falschen Lager.(2) Auf Wunsch von Jan ist dies kein Bug mehr, sondern ist nun per Mandantenkonfig konfigurierbar Als default wird das Ziellager genommen, falls "transfer_default_warehouse_for_assembly" gesetzt, wird das Standardlager des Bestandteils verwendet. Anmerkung: Wo wir derzeit in der unstable wh.pl:create_assembly() verwendet/aufgerufen ? Kann ich nicht finden. --- SL/DB/MetaSetup/Default.pm | 1 + SL/WH.pm | 6 +++++- locale/de/all | 6 ++++-- sql/Pg-upgrade2/add_warehouse_for_assembly.sql | 4 ++++ templates/webpages/client_config/_warehouse.html | 9 +++++++++ 5 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 sql/Pg-upgrade2/add_warehouse_for_assembly.sql diff --git a/SL/DB/MetaSetup/Default.pm b/SL/DB/MetaSetup/Default.pm index bd02674dd..50764a454 100644 --- a/SL/DB/MetaSetup/Default.pm +++ b/SL/DB/MetaSetup/Default.pm @@ -116,6 +116,7 @@ __PACKAGE__->meta->columns( transfer_default_ignore_onhand => { type => 'boolean', default => 'false' }, transfer_default_services => { type => 'boolean', default => 'true' }, transfer_default_use_master_default_bin => { type => 'boolean', default => 'false' }, + transfer_default_warehouse_for_assembly => { type => 'boolean', default => 'false' }, transport_cost_reminder_article_number_id => { type => 'integer' }, vendornumber => { type => 'text' }, version => { type => 'varchar', length => 8 }, diff --git a/SL/WH.pm b/SL/WH.pm index a25aa314e..495c43b81 100644 --- a/SL/WH.pm +++ b/SL/WH.pm @@ -182,6 +182,10 @@ sub transfer_assembly { # on assembly.parts_id = parts.id where assembly.id = ? and # (inventory_accno_id IS NOT NULL or parts.assembly = TRUE)|; + # Lager in dem die Bestandteile gesucht werden kann entweder das Ziellager sein oder ist per Mandantenkonfig + # auf das Standardlager des Bestandteiles schaltbar + + my $use_default_warehouse = $::instance_conf->get_transfer_default_warehouse_for_assembly; my $query = qq|select assembly.parts_id, assembly.qty, parts.warehouse_id from assembly inner join parts on assembly.parts_id = parts.id where assembly.id = ? and (inventory_accno_id IS NOT NULL or parts.assembly = TRUE)|; @@ -204,7 +208,7 @@ sub transfer_assembly { $schleife_durchlaufen=1; # Erzeugnis definiert my $partsQTY = $hash_ref->{qty} * $params{qty}; # benötigte teile * anzahl erzeugnisse my $currentPart_ID = $hash_ref->{parts_id}; - my $currentPart_WH_ID = $hash_ref->{warehouse_id}; + my $currentPart_WH_ID = $use_default_warehouse ? $hash_ref->{warehouse_id} : $params{dst_warehouse_id}; my $warehouse_info = $self->get_basic_warehouse_info('id' => $currentPart_WH_ID); my $warehouse_desc = $warehouse_info->{"warehouse_description"}; diff --git a/locale/de/all b/locale/de/all index e518d9596..eff3f24b9 100755 --- a/locale/de/all +++ b/locale/de/all @@ -567,6 +567,7 @@ $self->{texts} = { 'Clients this user has access to' => 'Mandanten, auf die Benutzer Zugriff hat', 'Close' => 'Übernehmen', 'Close Books up to' => 'Die Bücher abschließen bis zum', + 'Close Details' => '', 'Close Flash' => 'Schließen', 'Close SEPA exports' => 'SEPA-Export abschließen', 'Close Window' => 'Fenster Schließen', @@ -1792,7 +1793,6 @@ $self->{texts} = { 'No file has been uploaded yet.' => 'Es wurde noch keine Datei hochgeladen.', 'No function blocks have been created yet.' => 'Es wurden noch keine Funktionsblöcke angelegt.', 'No groups have been created yet.' => 'Es wurden noch keine Gruppen angelegt.', - 'No header found' => 'Keine Kopfzeile gefunden', 'No internal phone extensions have been configured yet.' => 'Es wurden noch keine internen Durchwahlen konfiguriert.', 'No invoices have been selected.' => 'Es wurden keine Rechnungen ausgewählt.', 'No or an unknown authenticantion module specified in "config/kivitendo.conf".' => 'Es wurde kein oder ein unbekanntes Authentifizierungsmodul in "config/kivitendo.conf" angegeben.', @@ -3169,6 +3169,7 @@ $self->{texts} = { 'Transfer from warehouse' => 'Quelllager', 'Transfer in' => 'Einlagern', 'Transfer in via default' => 'Einlagern über Standard-Lagerplatz', + 'Transfer of assemblies use the default warehous not the destination warehouse.' => 'Zum Fertigen wird das Standardlager des Bestandteils verwendet nicht das Ziellager', 'Transfer out' => 'Auslagern', 'Transfer out all items of a sales invoice when posting it. Items are transfered out acording to the settings above.' => 'Alle Artikel automatisch auslagern, wenn eine Verkaufsrechnung gebucht wird. Die Lagerbewegungen erfolgt entsprechend der Einstellungen oben.', 'Transfer out on posting sales invoices?' => 'Auslagern beim Buchen einer Verkaufsrechnung.', @@ -3243,10 +3244,11 @@ $self->{texts} = { 'Use As New' => 'Als neu verwenden', 'Use Balance Sheet' => 'Bilanz verwenden', 'Use Datevautomatik' => 'Datev-Automatik verwenden', - 'Use Income' => 'GUV und BWA verwenden', 'Use Erfolgsrechnung' => 'Erfolgsrechnung verwenden', + 'Use Income' => 'GUV und BWA verwenden', 'Use UStVA' => 'UStVA verwenden', 'Use WebDAV Repository' => 'WebDAV-Ablage verwenden', + 'Use default warehouse for assembly transfer' => 'Zum Fertigen Standardlager des Bestandteils verwenden', 'Use existing templates' => 'Vorhandene Druckvorlagen verwenden', 'Use linked items' => 'Verknüpfte Positionen verwenden', 'Use master default bin for Default Transfer, if no default bin for the part is configured' => 'Standardlagerplatz für Ein- / Auslagern über Standard-Lagerplatz, falls für die Ware kein expliziter Lagerplatz konfiguriert ist', diff --git a/sql/Pg-upgrade2/add_warehouse_for_assembly.sql b/sql/Pg-upgrade2/add_warehouse_for_assembly.sql new file mode 100644 index 000000000..c7f701b03 --- /dev/null +++ b/sql/Pg-upgrade2/add_warehouse_for_assembly.sql @@ -0,0 +1,4 @@ +-- @tag: add_warehouse_for_assembly +-- @description: Konfigurations-Option für das Fertigen von Erzeugnissen aus dem Standardlager +-- @depends: release_3_4_1 add_warehouse_defaults add_warehouse_client_config_default +ALTER TABLE defaults add column transfer_default_warehouse_for_assembly boolean default false; diff --git a/templates/webpages/client_config/_warehouse.html b/templates/webpages/client_config/_warehouse.html index 30e8a003e..106d5a780 100644 --- a/templates/webpages/client_config/_warehouse.html +++ b/templates/webpages/client_config/_warehouse.html @@ -80,6 +80,15 @@ [% LxERP.t8('Transfer out all items of a sales invoice when posting it. Items are transfered out acording to the settings above.') %] + + [% LxERP.t8('Use default warehouse for assembly transfer') %] + + [% L.yes_no_tag('defaults.transfer_default_warehouse_for_assembly', SELF.defaults.transfer_default_warehouse_for_assembly) %] + + + [% LxERP.t8('Transfer of assemblies use the default warehous not the destination warehouse.') %]
+ +
-- 2.20.1