details:   https://code.openbravo.com/erp/devel/pi/rev/64a204bee813
changeset: 21438:64a204bee813
user:      Pandeeswari Ramakrishnan <pandeeswari.ramakrishnan <at> 
openbravo.com>
date:      Wed Nov 13 20:44:30 2013 +0530
summary:   Fixes Issue 24868: Create order process in sales quotation 
recalculates taxes
When creating order from sales quotation the selected taxes of the lines should 
be maintained instead of recalculating the taxes

details:   https://code.openbravo.com/erp/devel/pi/rev/6127b98389d4
changeset: 21439:6127b98389d4
user:      Pandeeswari Ramakrishnan <pandeeswari.ramakrishnan <at> 
openbravo.com>
date:      Wed Nov 13 18:52:43 2013 +0530
summary:   Fixes Issue 24885: The application should not allow to change the 
product
When an invoice line is linked with other document, the product should not be 
allowed to be updated

diffstat:

 src-db/database/model/triggers/C_INVLINE_CHK_RESTRICTIONS_TRG.xml     |  17 
++++++++-
 src-db/database/sourcedata/AD_MESSAGE.xml                             |  12 
+++++++
 src/org/openbravo/erpCommon/ad_process/ConvertQuotationIntoOrder.java |  17 
+--------
 3 files changed, 29 insertions(+), 17 deletions(-)

diffs (131 lines):

diff -r 80b7e9915544 -r 6127b98389d4 
src-db/database/model/triggers/C_INVLINE_CHK_RESTRICTIONS_TRG.xml
--- a/src-db/database/model/triggers/C_INVLINE_CHK_RESTRICTIONS_TRG.xml Wed Nov 
13 17:45:24 2013 +0530
+++ b/src-db/database/model/triggers/C_INVLINE_CHK_RESTRICTIONS_TRG.xml Wed Nov 
13 18:52:43 2013 +0530
@@ -29,6 +29,7 @@
   v_Currency     VARCHAR2(32);
   v_productname m_product.name%TYPE;
   v_isgeneric   CHAR(1);
+  v_Issotrx     CHAR(1);
     
 BEGIN
     
@@ -42,9 +43,9 @@
     v_C_INVOICE_ID:=:OLD.C_INVOICE_ID;
   END IF;
   SELECT PROCESSED, POSTED,
-    C_CURRENCY_ID
+    C_CURRENCY_ID, Issotrx
   INTO v_Processed, v_Posted,
-    v_Currency
+    v_Currency, v_Issotrx
   FROM C_INVOICE
   WHERE C_INVOICE_ID=v_C_INVOICE_ID;
   IF UPDATING THEN
@@ -82,6 +83,18 @@
       )) THEN
       RAISE_APPLICATION_ERROR(-20000, '@20501@') ;
     END IF;
+
+    IF(:NEW.M_Product_ID <> :OLD.M_Product_ID) THEN
+      IF(:NEW.C_OrderLine_ID IS NOT NULL) THEN
+       RAISE_APPLICATION_ERROR(-20000, '@ProductDefinedByOrder@') ;
+      ELSE IF(:NEW.M_InOutLine_ID IS NOT NULL AND v_Issotrx = 'N') THEN
+       RAISE_APPLICATION_ERROR(-20000, '@20206@') ;
+      ELSE IF(:NEW.M_InOutLine_ID IS NOT NULL AND v_Issotrx = 'Y') THEN
+        RAISE_APPLICATION_ERROR(-20000, '@20207@') ;
+      END IF;
+      END IF;
+      END IF;
+    END IF;
   END IF;
   IF((DELETING OR INSERTING) AND v_Processed='Y') THEN
     RAISE_APPLICATION_ERROR(-20000, '@20501@') ;
diff -r 80b7e9915544 -r 6127b98389d4 src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml Wed Nov 13 17:45:24 2013 +0530
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml Wed Nov 13 18:52:43 2013 +0530
@@ -22144,6 +22144,18 @@
 <!--ADAF53CF368D4956BDFF326A9361C750-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
 <!--ADAF53CF368D4956BDFF326A9361C750--></AD_MESSAGE>
 
+<!--ADB89FC2141C45EA91BC13C5D4F07A64--><AD_MESSAGE>
+<!--ADB89FC2141C45EA91BC13C5D4F07A64-->  
<AD_MESSAGE_ID><![CDATA[ADB89FC2141C45EA91BC13C5D4F07A64]]></AD_MESSAGE_ID>
+<!--ADB89FC2141C45EA91BC13C5D4F07A64-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--ADB89FC2141C45EA91BC13C5D4F07A64-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--ADB89FC2141C45EA91BC13C5D4F07A64-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--ADB89FC2141C45EA91BC13C5D4F07A64-->  <VALUE><![CDATA[20207]]></VALUE>
+<!--ADB89FC2141C45EA91BC13C5D4F07A64-->  <MSGTEXT><![CDATA[You cannot change 
the product beacuse it has Good Shipments.]]></MSGTEXT>
+<!--ADB89FC2141C45EA91BC13C5D4F07A64-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--ADB89FC2141C45EA91BC13C5D4F07A64-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--ADB89FC2141C45EA91BC13C5D4F07A64-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--ADB89FC2141C45EA91BC13C5D4F07A64--></AD_MESSAGE>
+
 <!--ADF79F75D79A4556900B1C1C8F86BCBA--><AD_MESSAGE>
 <!--ADF79F75D79A4556900B1C1C8F86BCBA-->  
<AD_MESSAGE_ID><![CDATA[ADF79F75D79A4556900B1C1C8F86BCBA]]></AD_MESSAGE_ID>
 <!--ADF79F75D79A4556900B1C1C8F86BCBA-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 80b7e9915544 -r 6127b98389d4 
src/org/openbravo/erpCommon/ad_process/ConvertQuotationIntoOrder.java
--- a/src/org/openbravo/erpCommon/ad_process/ConvertQuotationIntoOrder.java     
Wed Nov 13 17:45:24 2013 +0530
+++ b/src/org/openbravo/erpCommon/ad_process/ConvertQuotationIntoOrder.java     
Wed Nov 13 18:52:43 2013 +0530
@@ -20,7 +20,6 @@
 package org.openbravo.erpCommon.ad_process;
 
 import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -35,13 +34,11 @@
 import org.openbravo.base.exception.OBException;
 import org.openbravo.base.provider.OBProvider;
 import org.openbravo.base.secureApp.VariablesSecureApp;
-import org.openbravo.base.session.OBPropertiesProvider;
 import org.openbravo.client.kernel.RequestContext;
 import org.openbravo.dal.core.DalUtil;
 import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.dal.service.OBQuery;
-import org.openbravo.erpCommon.businessUtility.Tax;
 import org.openbravo.erpCommon.utility.OBError;
 import org.openbravo.erpCommon.utility.OBErrorBuilder;
 import org.openbravo.erpCommon.utility.OBMessageUtils;
@@ -54,7 +51,6 @@
 import org.openbravo.model.financialmgmt.payment.FIN_PaymentScheduleDetail;
 import org.openbravo.model.financialmgmt.tax.TaxRate;
 import org.openbravo.model.pricing.pricelist.PriceListVersion;
-import org.openbravo.model.project.Project;
 import org.openbravo.scheduling.ProcessBundle;
 import org.openbravo.service.db.CallStoredProcedure;
 import org.openbravo.service.db.DalBaseProcess;
@@ -65,9 +61,6 @@
   @Override
   public void doExecute(ProcessBundle bundle) throws Exception {
 
-    String dateFormatString = 
OBPropertiesProvider.getInstance().getOpenbravoProperties()
-        .getProperty("dateFormat.java");
-    SimpleDateFormat dateFormat = new SimpleDateFormat(dateFormatString);
     HttpServletRequest request = RequestContext.get().getRequest();
     VariablesSecureApp vars = new VariablesSecureApp(request);
     boolean recalculatePrices = 
"N".equals(vars.getStringParameter("inprecalculateprices", false,
@@ -137,13 +130,8 @@
 
         // Copy line to the new Sales Order
         OrderLine objCloneOrdLine = (OrderLine) DalUtil.copy(ordLine, false);
-        Project project = objOrder.getProject();
-        String strProjectID = project == null ? "" : project.getId();
-        // Recalculate Taxes
-        String strCTaxID = Tax.get(new DalConnectionProvider(false), 
ordLine.getProduct().getId(),
-            dateFormat.format(new Date()), ordLine.getOrganization().getId(), 
ordLine
-                .getWarehouse().getId(), 
ordLine.getSalesOrder().getInvoiceAddress().getId(),
-            ordLine.getSalesOrder().getPartnerAddress().getId(), strProjectID, 
true);
+
+        String strCTaxID = objCloneOrdLine.getTax().getId();
         TaxRate lineTax = OBDal.getInstance().get(TaxRate.class, strCTaxID);
 
         if (lineTax == null) {
@@ -152,7 +140,6 @@
           }
           strMessage = strMessage.append(lineNo);
         }
-        objCloneOrdLine.setTax(lineTax);
 
         // Update the HashMap of the Taxes. HashMap<TaxId, TotalAmount>
         BigDecimal price = BigDecimal.ZERO;

------------------------------------------------------------------------------
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to