details:   /erp/devel/pi/rev/04e7af9646a0
changeset: 6471:04e7af9646a0
user:      David Alsasua <david.alsasua <at> openbravo.com>
date:      Mon Feb 22 18:10:25 2010 +0100
summary:   Fixes issue 12367: Matched puchase invoice not balanced
Now the cost of the product is calculated using
the accounting date of the order

diffstat:

 src/org/openbravo/erpCommon/ad_forms/DocInOut_data.xsql    |  4 +++-
 src/org/openbravo/erpCommon/ad_forms/DocMatchInv.java      |  2 +-
 src/org/openbravo/erpCommon/ad_forms/DocMatchInv_data.xsql |  6 ++++--
 3 files changed, 8 insertions(+), 4 deletions(-)

diffs (49 lines):

diff -r cc397411a08a -r 04e7af9646a0 
src/org/openbravo/erpCommon/ad_forms/DocInOut_data.xsql
--- a/src/org/openbravo/erpCommon/ad_forms/DocInOut_data.xsql   Mon Feb 22 
15:49:11 2010 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/DocInOut_data.xsql   Mon Feb 22 
18:10:25 2010 +0100
@@ -71,11 +71,13 @@
   <SqlMethod name="selectClientCurrencyPrecission" type="preparedStatement" 
return="string">
     <SqlMethodComment></SqlMethodComment>
     <Sql>
+      <![CDATA[
       select stdprecision 
       from c_currency cu, ad_client cl
        where cu.c_currency_id=cl.c_currency_id
          and cl.ad_client_id=?
+     ]]>
     </Sql>
     <Parameter name="adClientId"/>
   </SqlMethod>
-</SqlClass>
\ No newline at end of file
+</SqlClass>
diff -r cc397411a08a -r 04e7af9646a0 
src/org/openbravo/erpCommon/ad_forms/DocMatchInv.java
--- a/src/org/openbravo/erpCommon/ad_forms/DocMatchInv.java     Mon Feb 22 
15:49:11 2010 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/DocMatchInv.java     Mon Feb 22 
18:10:25 2010 +0100
@@ -138,7 +138,7 @@
 
     FieldProvider[] data = getObjectFieldProvider();
     BigDecimal bdCost = new 
BigDecimal(DocMatchInvData.selectProductAverageCost(conn, data[0]
-        .getField("M_Product_Id"), data[0].getField("DateTrx")));
+        .getField("M_Product_Id"), data[0].getField("DateAcct")));
     String strScale = DocMatchInvData.selectClientCurrencyPrecission(conn, 
vars.getClient());
     bdCost = bdCost.multiply(new BigDecimal(data[0].getField("Qty"))).setScale(
         new Integer(strScale), RoundingMode.HALF_UP);
diff -r cc397411a08a -r 04e7af9646a0 
src/org/openbravo/erpCommon/ad_forms/DocMatchInv_data.xsql
--- a/src/org/openbravo/erpCommon/ad_forms/DocMatchInv_data.xsql        Mon Feb 
22 15:49:11 2010 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/DocMatchInv_data.xsql        Mon Feb 
22 18:10:25 2010 +0100
@@ -37,10 +37,12 @@
     <![CDATA[
       SELECT M.M_MATCHINV_ID, M.AD_CLIENT_ID, M.AD_ORG_ID, M.ISACTIVE, 
M.CREATED, M.CREATEDBY, M.UPDATED,
         M.UPDATEDBY, M.M_INOUTLINE_ID, M.C_INVOICELINE_ID, M.M_PRODUCT_ID, 
M.DATETRX, M.QTY, M.PROCESSING,
-        M.PROCESSED, M.POSTED, M.DATETRX AS DATEACCT, M.DATETRX AS DATEDOC, 
I.C_BPARTNER_ID
-      FROM M_MATCHINV M, C_INVOICELINE IL, C_INVOICE I
+        M.PROCESSED, M.POSTED, M.DATETRX AS DATEACCT, M.DATETRX AS DATEDOC, 
I.C_BPARTNER_ID, IO.DATEACCT
+      FROM M_MATCHINV M, C_INVOICELINE IL, C_INVOICE I, M_INOUTLINE IOL, 
M_INOUT IO
       WHERE IL.C_INVOICELINE_ID = M.C_INVOICELINE_ID
         AND IL.C_INVOICE_ID = I.C_INVOICE_ID
+        AND IOL.M_INOUTLINE_ID = M.M_INOUTLINE_ID
+        AND IO.M_INOUT_ID = IOL.M_INOUT_ID
         AND M.AD_Client_ID=?
         AND M.M_MATCHINV_ID=?
     ]]>

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to