details:   https://code.openbravo.com/erp/devel/pi/rev/7ce25dd045fc
changeset: 30658:7ce25dd045fc
user:      Nono Carballo <nonofce <at> gmail.com>
date:      Tue Nov 15 11:27:10 2016 -0500
summary:   Fixes issue 34286: Product selector allows wrong storage bin in 
shipment window

The Product Complete selector, when used in goods shipment window, allowed 
select
products in storage bin not belonging to the on-hand warehouses.

A new column was added to the M_PRODUCT_STOCK_V view to retrieve the warehouse
and the filter expresion of Product Complete selector was modified to include
the filter by on-hand warehouses, when used in goods shipment window.

details:   https://code.openbravo.com/erp/devel/pi/rev/f050573e9a37
changeset: 30659:f050573e9a37
user:      Alvaro Ferraz <alvaro.ferraz <at> openbravo.com>
date:      Tue Nov 15 18:53:31 2016 +0100
summary:   Related to issue 34286: Code review improvements

Product selector in Goods Shipment window should also display products with no 
stock.

diffstat:

 src-db/database/model/views/M_PRODUCT_STOCK_V.xml |   2 +-
 src-db/database/sourcedata/AD_COLUMN.xml          |  37 +++++++++++++++++++++++
 src-db/database/sourcedata/OBUISEL_SELECTOR.xml   |   2 +-
 3 files changed, 39 insertions(+), 2 deletions(-)

diffs (68 lines):

diff -r fdf6a30ff33d -r f050573e9a37 
src-db/database/model/views/M_PRODUCT_STOCK_V.xml
--- a/src-db/database/model/views/M_PRODUCT_STOCK_V.xml Fri Nov 11 13:00:32 
2016 -0500
+++ b/src-db/database/model/views/M_PRODUCT_STOCK_V.xml Tue Nov 15 18:53:31 
2016 +0100
@@ -1,4 +1,4 @@
 <?xml version="1.0"?>
   <database name="VIEW M_PRODUCT_STOCK_V">
-    <view name="M_PRODUCT_STOCK_V"><![CDATA[SELECT p.m_product_id || 
sd.m_storage_detail_id AS m_product_stock_v_id, l.ad_client_id, l.ad_org_id, 
l.isactive, sd.created, sd.createdby, sd.updated, sd.updatedby, 
sd.m_product_id, sd.qtyonhand, sd.qtyorderonhand, sd.preqtyonhand, 
sd.preqtyorderonhand, sd.c_uom_id, sd.m_product_uom_id, 
sd.m_attributesetinstance_id, sd.m_locator_id, 'Y' AS stocked FROM 
m_storage_detail sd JOIN m_locator l ON sd.m_locator_id = l.m_locator_id JOIN 
m_product p ON sd.m_product_id = p.m_product_id AND p.isactive = 'Y' WHERE 
sd.qtyonhand <> 0 OR COALESCE(sd.qtyorderonhand, 0) <> 0 UNION ALL SELECT 
p.m_product_id AS m_product_stock_v_id, p.ad_client_id, p.ad_org_id, 
p.isactive, p.created, p.createdby, p.updated, p.updatedby, p.m_product_id, 0 
AS qtyonhand, NULL AS qtyorderonhand, 0 AS preqtyonhand, NULL AS 
preqtyorderonhand, p.c_uom_id, NULL AS m_product_uom_id, CASE 
p.attrsetvaluetype WHEN 'D' THEN p.m_attributesetinstance_id ELSE NULL END AS 
m_attributesetinst
 ance_id, NULL AS m_locator_id, 'N' AS stocked FROM m_product p WHERE 
p.isgeneric = 'N']]></view>
+    <view name="M_PRODUCT_STOCK_V"><![CDATA[SELECT p.m_product_id || 
sd.m_storage_detail_id AS m_product_stock_v_id, l.ad_client_id, l.ad_org_id, 
l.isactive, sd.created, sd.createdby, sd.updated, sd.updatedby, 
sd.m_product_id, sd.qtyonhand, sd.qtyorderonhand, sd.preqtyonhand, 
sd.preqtyorderonhand, sd.c_uom_id, sd.m_product_uom_id, 
sd.m_attributesetinstance_id, sd.m_locator_id, 'Y' AS stocked, l.m_warehouse_id 
FROM m_storage_detail sd JOIN m_locator l ON sd.m_locator_id = l.m_locator_id 
JOIN m_product p ON sd.m_product_id = p.m_product_id AND p.isactive = 'Y' WHERE 
sd.qtyonhand <> 0 OR COALESCE(sd.qtyorderonhand, 0) <> 0 UNION ALL SELECT 
p.m_product_id AS m_product_stock_v_id, p.ad_client_id, p.ad_org_id, 
p.isactive, p.created, p.createdby, p.updated, p.updatedby, p.m_product_id, 0 
AS qtyonhand, NULL AS qtyorderonhand, 0 AS preqtyonhand, NULL AS 
preqtyorderonhand, p.c_uom_id, NULL AS m_product_uom_id, CASE 
p.attrsetvaluetype WHEN 'D' THEN p.m_attributesetinstance_id ELSE NULL END AS 
 m_attributesetinstance_id, NULL AS m_locator_id, 'N' AS stocked, NULL AS 
m_warehouse_id FROM m_product p WHERE p.isgeneric = 'N']]></view>
   </database>
diff -r fdf6a30ff33d -r f050573e9a37 src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml  Fri Nov 11 13:00:32 2016 -0500
+++ b/src-db/database/sourcedata/AD_COLUMN.xml  Tue Nov 15 18:53:31 2016 +0100
@@ -360622,6 +360622,43 @@
 <!--D1237164C5EC4B7C80DCA5E9ED525724-->  
<ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
 <!--D1237164C5EC4B7C80DCA5E9ED525724--></AD_COLUMN>
 
+<!--D13ED1C864DB4720B31E0E6D3FB71298--><AD_COLUMN>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<AD_COLUMN_ID><![CDATA[D13ED1C864DB4720B31E0E6D3FB71298]]></AD_COLUMN_ID>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  <NAME><![CDATA[Warehouse]]></NAME>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  <DESCRIPTION><![CDATA[The location 
where products arrive to or are sent from.]]></DESCRIPTION>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  <HELP><![CDATA[The Warehouse 
identifies a unique Warehouse where products are stored or Services are 
provided.]]></HELP>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<COLUMNNAME><![CDATA[M_Warehouse_ID]]></COLUMNNAME>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<AD_TABLE_ID><![CDATA[FF8080812E381D1E012E3898C5DD0010]]></AD_TABLE_ID>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  <SEQNO><![CDATA[190]]></SEQNO>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<AD_ELEMENT_ID><![CDATA[459]]></AD_ELEMENT_ID>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
+<!--D13ED1C864DB4720B31E0E6D3FB71298-->  
<ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--D13ED1C864DB4720B31E0E6D3FB71298--></AD_COLUMN>
+
 <!--D160BFBF2CD74DAEB9FF7C425874E282--><AD_COLUMN>
 <!--D160BFBF2CD74DAEB9FF7C425874E282-->  
<AD_COLUMN_ID><![CDATA[D160BFBF2CD74DAEB9FF7C425874E282]]></AD_COLUMN_ID>
 <!--D160BFBF2CD74DAEB9FF7C425874E282-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r fdf6a30ff33d -r f050573e9a37 
src-db/database/sourcedata/OBUISEL_SELECTOR.xml
--- a/src-db/database/sourcedata/OBUISEL_SELECTOR.xml   Fri Nov 11 13:00:32 
2016 -0500
+++ b/src-db/database/sourcedata/OBUISEL_SELECTOR.xml   Tue Nov 15 18:53:31 
2016 +0100
@@ -351,7 +351,7 @@
 <!--4C8BC3E8E56441F4B8C98C684A0C9212-->  
<AD_REFERENCE_ID><![CDATA[800011]]></AD_REFERENCE_ID>
 <!--4C8BC3E8E56441F4B8C98C684A0C9212-->  
<AD_TABLE_ID><![CDATA[FF8080812E381D1E012E3898C5DD0010]]></AD_TABLE_ID>
 <!--4C8BC3E8E56441F4B8C98C684A0C9212-->  
<WHERECLAUSE><![CDATA[e.active='Y']]></WHERECLAUSE>
-<!--4C8BC3E8E56441F4B8C98C684A0C9212-->  <FILTER_EXPRESSION><![CDATA["( 
(\'"+OB.getWindowId()+"\' in (\'800051\', \'800052\', \'800096\') and 
e.product.production = true and e.stocked = false) or (\'"+OB.getWindowId()+"\' 
in (\'170\') and e.product.stocked = true) or (\'"+OB.getWindowId()+"\' in 
(\'800092\') and e.product.purchase = true) or \'"+OB.getWindowId()+"\' not in 
(\'800051\', \'800052\', \'800096\',\'170\',\'800092\'))"]]></FILTER_EXPRESSION>
+<!--4C8BC3E8E56441F4B8C98C684A0C9212-->  <FILTER_EXPRESSION><![CDATA["( 
(\'"+OB.getWindowId()+"\' in (\'800051\', \'800052\', \'800096\') and 
e.product.production = true and e.stocked = false) or (\'"+OB.getWindowId()+"\' 
in (\'170\') and e.product.stocked = true) or (\'"+OB.getWindowId()+"\' in 
(\'800092\') and e.product.purchase = true) or (\'"+OB.getWindowId()+"\' in 
(\'169\') and (e.warehouse.id is null or e.warehouse.id in (select 
ow.warehouse.id from OrganizationWarehouse ow where ow.organization.id = \'"+ 
OB.getParameters().get("inpadOrgId")+"\'))) or \'"+OB.getWindowId()+"\' not in 
(\'800051\', \'800052\', 
\'800096\',\'170\',\'800092\',\'169\'))"]]></FILTER_EXPRESSION>
 <!--4C8BC3E8E56441F4B8C98C684A0C9212-->  
<OBCLKER_TEMPLATE_ID><![CDATA[9314DE8599AD44E7BFC4CC50699042AB]]></OBCLKER_TEMPLATE_ID>
 <!--4C8BC3E8E56441F4B8C98C684A0C9212-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--4C8BC3E8E56441F4B8C98C684A0C9212-->  
<VALUEFIELD_ID><![CDATA[D5CD42F686A14DFA949052B99900D679]]></VALUEFIELD_ID>

------------------------------------------------------------------------------
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to