details:   https://code.openbravo.com/erp/devel/pi/rev/3e0e98fb9275
changeset: 17939:3e0e98fb9275
user:      David Miguelez <david.miguelez <at> openbravo.com>
date:      Tue Sep 11 18:23:54 2012 +0200
summary:   Fixes issue: 21581. Allows to Insert new lines and update lines
that are not related to a processed Return Shipment/Receipt.
Lines that are related to a processed Return Shipment/Receipt
can not be neither deleted nor updated.

details:   https://code.openbravo.com/erp/devel/pi/rev/32b2e7f42f70
changeset: 17940:32b2e7f42f70
user:      David Miguelez <david.miguelez <at> openbravo.com>
date:      Tue Sep 11 18:33:05 2012 +0200
summary:   Fixes issue 21596, 21613: Changed behaviour of processing of
Pick and Execute Windows. Added where clause in view definition.

diffstat:

 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/PaymentProposalPickEditLines.java
 |   82 ++++---
 src-db/database/model/views/C_RM_ORDER_PICK_EDIT_LINES.xml                     
                                       |    2 +-
 src-db/database/model/views/M_RM_RECEIPT_PICK_EDIT.xml                         
                                       |    4 +-
 src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml                        
                                       |    5 +-
 src-db/database/sourcedata/AD_COLUMN.xml                                       
                                       |  105 ++++++++++
 src-db/database/sourcedata/AD_FIELD.xml                                        
                                       |   87 ++++++++
 src-db/database/sourcedata/AD_TAB.xml                                          
                                       |    2 +-
 src/org/openbravo/common/actionhandler/RMInOutPickEditLines.java               
                                       |   64 +++--
 src/org/openbravo/common/actionhandler/RMShipmentPickEditLines.java            
                                       |   73 ++++--
 src/org/openbravo/common/actionhandler/SRMOPickEditLines.java                  
                                       |  105 ++++++---
 src/org/openbravo/dal/service/OBDao.java                                       
                                       |    8 +
 11 files changed, 396 insertions(+), 141 deletions(-)

diffs (truncated from 866 to 300 lines):

diff -r a8cb5918bad6 -r 32b2e7f42f70 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/PaymentProposalPickEditLines.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/PaymentProposalPickEditLines.java
     Thu Sep 13 13:27:42 2012 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/PaymentProposalPickEditLines.java
     Tue Sep 11 18:33:05 2012 +0200
@@ -21,6 +21,7 @@
 
 import java.math.BigDecimal;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.log4j.Logger;
@@ -34,6 +35,7 @@
 import org.openbravo.client.kernel.RequestContext;
 import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBDal;
+import org.openbravo.dal.service.OBDao;
 import org.openbravo.erpCommon.utility.OBMessageUtils;
 import org.openbravo.model.financialmgmt.payment.FIN_PaymentMethod;
 import org.openbravo.model.financialmgmt.payment.FIN_PaymentPropDetail;
@@ -63,20 +65,19 @@
       FIN_PaymentMethod paymentMethod = 
OBDal.getInstance().get(FIN_PaymentMethod.class,
           strPaymentMethodId);
 
-      if (cleanPaymentProposalDetails(paymentProposal)) {
-        HashMap<String, String> map = 
createPaymentProposalDetails(jsonRequest, paymentMethod);
-        jsonRequest = new JSONObject();
+      List<String> idList = OBDao.getIDListFromOBObject(paymentProposal
+          .getFINPaymentPropDetailList());
+      HashMap<String, String> map = createPaymentProposalDetails(jsonRequest, 
paymentMethod, idList);
+      jsonRequest = new JSONObject();
 
-        JSONObject errorMessage = new JSONObject();
-        errorMessage.put("severity", "success");
-        errorMessage.put("text", OBMessageUtils.messageBD("Success"));
-        if (map.get("DifferentPaymentMethod").equals("true")) {
-          errorMessage.put("severity", "warning");
-          errorMessage.put("text",
-              
OBMessageUtils.messageBD("APRM_Different_PaymentMethod_Selected"));
-        }
-        jsonRequest.put("message", errorMessage);
+      JSONObject errorMessage = new JSONObject();
+      errorMessage.put("severity", "success");
+      errorMessage.put("text", OBMessageUtils.messageBD("Success"));
+      if (map.get("DifferentPaymentMethod").equals("true")) {
+        errorMessage.put("severity", "warning");
+        errorMessage.put("text", 
OBMessageUtils.messageBD("APRM_Different_PaymentMethod_Selected"));
       }
+      jsonRequest.put("message", errorMessage);
 
     } catch (Exception e) {
       OBDal.getInstance().rollbackAndClose();
@@ -100,40 +101,21 @@
     return jsonRequest;
   }
 
-  private boolean cleanPaymentProposalDetails(FIN_PaymentProposal 
paymentProposal) {
-    if (paymentProposal == null) {
-      return false;
-    } else if (paymentProposal.getFINPaymentPropDetailList().isEmpty()) {
-      // nothing to delete.
-      return true;
-    }
-    try {
-      paymentProposal.getFINPaymentPropDetailList().clear();
-      paymentProposal.setAmount(BigDecimal.ZERO);
-      paymentProposal.setWriteoffAmount(BigDecimal.ZERO);
-      OBDal.getInstance().save(paymentProposal);
-      OBDal.getInstance().flush();
-    } catch (Exception e) {
-      log.error(e.getMessage(), e);
-      return false;
-    }
-    return true;
-  }
-
   private HashMap<String, String> createPaymentProposalDetails(JSONObject 
jsonRequest,
-      FIN_PaymentMethod paymentMethod) throws JSONException, OBException {
+      FIN_PaymentMethod paymentMethod, List<String> idList) throws 
JSONException, OBException {
 
     HashMap<String, String> map = new HashMap<String, String>();
     map.put("DifferentPaymentMethod", "false");
     map.put("Count", "0");
     JSONArray selectedLines = jsonRequest.getJSONArray("_selection");
-    // if no lines selected don't do anything.
-    if (selectedLines.length() == 0) {
-      return map;
-    }
     final String strPaymentProposalId = 
jsonRequest.getString("Fin_Payment_Proposal_ID");
     FIN_PaymentProposal paymentProposal = 
OBDal.getInstance().get(FIN_PaymentProposal.class,
         strPaymentProposalId);
+    // if no lines selected don't do anything.
+    if (selectedLines.length() == 0) {
+      removeNonSelectedLines(idList, paymentProposal);
+      return map;
+    }
     BigDecimal totalAmount = BigDecimal.ZERO, totalWriteOff = BigDecimal.ZERO;
     int cont = 0;
     String differentPaymentMethod = "false";
@@ -148,7 +130,17 @@
         if (!paymentMethod.equals(linePaymentMethod)) {
           differentPaymentMethod = "true";
         }
-        FIN_PaymentPropDetail newPPD = 
OBProvider.getInstance().get(FIN_PaymentPropDetail.class);
+
+        FIN_PaymentPropDetail newPPD = null;
+        String strPpdId = selectedLine.getString("id");
+        boolean notExistsPayPropLine = idList.contains(strPpdId);
+        if (notExistsPayPropLine) {
+          newPPD = OBDal.getInstance().get(FIN_PaymentPropDetail.class, 
strPpdId);
+          idList.remove(strPpdId);
+        } else {
+          newPPD = OBProvider.getInstance().get(FIN_PaymentPropDetail.class);
+        }
+
         newPPD.setOrganization(paymentProposal.getOrganization());
         newPPD.setClient(paymentProposal.getClient());
         newPPD.setCreatedBy(paymentProposal.getCreatedBy());
@@ -172,6 +164,8 @@
       }
     }
 
+    removeNonSelectedLines(idList, paymentProposal);
+
     paymentProposal.setAmount(totalAmount);
     paymentProposal.setWriteoffAmount(totalWriteOff);
     OBDal.getInstance().save(paymentProposal);
@@ -179,4 +173,16 @@
     map.put("Count", Integer.toString(cont));
     return map;
   }
+
+  private void removeNonSelectedLines(List<String> idList, FIN_PaymentProposal 
paymentProposal) {
+    if (idList.size() > 0) {
+      for (String id : idList) {
+        FIN_PaymentPropDetail ppd = 
OBDal.getInstance().get(FIN_PaymentPropDetail.class, id);
+        paymentProposal.getFINPaymentPropDetailList().remove(ppd);
+        OBDal.getInstance().remove(ppd);
+      }
+      OBDal.getInstance().save(paymentProposal);
+      OBDal.getInstance().flush();
+    }
+  }
 }
diff -r a8cb5918bad6 -r 32b2e7f42f70 
src-db/database/model/views/C_RM_ORDER_PICK_EDIT_LINES.xml
--- a/src-db/database/model/views/C_RM_ORDER_PICK_EDIT_LINES.xml        Thu Sep 
13 13:27:42 2012 +0200
+++ b/src-db/database/model/views/C_RM_ORDER_PICK_EDIT_LINES.xml        Tue Sep 
11 18:33:05 2012 +0200
@@ -16,7 +16,7 @@
 WHEN 'N' THEN ol.priceactual
 ELSE ol.gross_unit_price
 END
-END AS priceactual, rol.c_return_reason_id, o.documentno AS orderno, 
COALESCE(rol.issotrx, i.issotrx) AS issotrx, (-1) * retol.returnedqty AS 
returnedqty, COALESCE(rol.c_bpartner_id, i.c_bpartner_id) AS c_bpartner_id, 
COALESCE(rol.c_tax_id, ol.c_tax_id) AS c_tax_id, pl.istaxincluded
+END AS priceactual, rol.c_return_reason_id, o.documentno AS orderno, 
COALESCE(rol.issotrx, i.issotrx) AS issotrx, (-1) * retol.returnedqty AS 
returnedqty, COALESCE(rol.c_bpartner_id, i.c_bpartner_id) AS c_bpartner_id, 
COALESCE(rol.c_tax_id, ol.c_tax_id) AS c_tax_id, pl.istaxincluded, 
rol.c_orderline_id
 FROM m_inoutline il
 JOIN m_inout i ON il.m_inout_id = i.m_inout_id AND i.processed = 'Y' AND 
i.docstatus <> 'VO'
 JOIN c_doctype dt ON i.c_doctype_id = dt.c_doctype_id AND dt.isreturn = 'N'
diff -r a8cb5918bad6 -r 32b2e7f42f70 
src-db/database/model/views/M_RM_RECEIPT_PICK_EDIT.xml
--- a/src-db/database/model/views/M_RM_RECEIPT_PICK_EDIT.xml    Thu Sep 13 
13:27:42 2012 +0200
+++ b/src-db/database/model/views/M_RM_RECEIPT_PICK_EDIT.xml    Tue Sep 11 
18:33:05 2012 +0200
@@ -4,7 +4,7 @@
 CASE
 WHEN iol.m_inoutline_id IS NOT NULL THEN 'Y'
 ELSE 'N'
-END AS ob_selected, ol.c_orderline_id, ol.m_product_id, ol.c_uom_id, 
ol.m_attributesetinstance_id, (-1) * ol.qtyordered AS returned, (-1) * 
(ol.qtyordered - ol.qtydelivered) AS pendingqty, (-1) * iol.movementqty AS 
receivingqty, iol.m_condition_goods_id, iol.m_locator_id, o.documentno AS 
returnorderno, o.issotrx, ol.line
+END AS ob_selected, ol.c_orderline_id, ol.m_product_id, ol.c_uom_id, 
ol.m_attributesetinstance_id, (-1) * ol.qtyordered AS returned, (-1) * 
(ol.qtyordered - ol.qtydelivered) AS pendingqty, (-1) * iol.movementqty AS 
receivingqty, iol.m_condition_goods_id, iol.m_locator_id, o.documentno AS 
returnorderno, o.issotrx, ol.line, iol.m_inoutline_id
 FROM c_orderline ol
 JOIN c_order o ON o.c_order_id = ol.c_order_id
 JOIN m_product p ON ol.m_product_id = p.m_product_id
@@ -12,5 +12,5 @@
 LEFT JOIN (SELECT il2.m_inoutline_id, il2.ad_client_id, il2.ad_org_id, 
il2.isactive, il2.created, il2.createdby, il2.updated, il2.updatedby, il2.line, 
il2.description, il2.m_inout_id, il2.c_orderline_id, il2.m_locator_id, 
il2.m_product_id, il2.c_uom_id, il2.movementqty, il2.isinvoiced, 
il2.m_attributesetinstance_id, il2.isdescription, il2.quantityorder, 
il2.m_product_uom_id, il2.m_condition_goods_id
 FROM m_inoutline il2
 JOIN m_inout i2 ON il2.m_inout_id = i2.m_inout_id AND i2.processed = 'N') iol 
ON iol.c_orderline_id = ol.c_orderline_id
-WHERE (ol.qtyordered - ol.qtydelivered) <> 0]]></view>
+WHERE (ol.qtyordered - ol.qtydelivered) <> 0 AND o.docstatus = 'CO']]></view>
   </database>
diff -r a8cb5918bad6 -r 32b2e7f42f70 
src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml
--- a/src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml   Thu Sep 13 
13:27:42 2012 +0200
+++ b/src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml   Tue Sep 11 
18:33:05 2012 +0200
@@ -7,7 +7,7 @@
 CASE
 WHEN iol.m_inout_id IS NOT NULL THEN 'Y'
 ELSE 'N'
-END AS ob_selected, ol.c_orderline_id, ol.line
+END AS ob_selected, ol.c_orderline_id, ol.line, iol.m_inoutline_id
 FROM c_orderline ol
 JOIN c_order o ON o.c_order_id = ol.c_order_id AND o.processed = 'Y' AND 
o.issotrx = 'N'
 LEFT JOIN m_storage_detail sd ON sd.m_product_id = ol.m_product_id AND 
COALESCE(sd.m_attributesetinstance_id, '0') = 
COALESCE(ol.m_attributesetinstance_id, '0') AND sd.qtyonhand > 0
@@ -15,5 +15,6 @@
 JOIN c_doctype dt ON o.c_doctypetarget_id = dt.c_doctype_id AND dt.isreturn = 
'Y'
 LEFT JOIN (SELECT iol2.m_inoutline_id, iol2.m_inout_id, iol2.movementqty, 
iol2.c_orderline_id, iol2.ad_org_id, iol2.m_locator_id
 FROM m_inoutline iol2
-JOIN m_inout io2 ON iol2.m_inout_id = io2.m_inout_id AND io2.processed = 'N') 
iol ON iol.c_orderline_id = ol.c_orderline_id AND iol.m_locator_id = 
sd.m_locator_id]]></view>
+JOIN m_inout io2 ON iol2.m_inout_id = io2.m_inout_id AND io2.processed = 'N') 
iol ON iol.c_orderline_id = ol.c_orderline_id AND iol.m_locator_id = 
sd.m_locator_id
+WHERE o.docstatus = 'CO']]></view>
   </database>
diff -r a8cb5918bad6 -r 32b2e7f42f70 src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml  Thu Sep 13 13:27:42 2012 +0200
+++ b/src-db/database/sourcedata/AD_COLUMN.xml  Tue Sep 11 18:33:05 2012 +0200
@@ -285535,6 +285535,41 @@
 <!--B7D39D63B1734983ABB6829E13A6F46F-->  
<ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
 <!--B7D39D63B1734983ABB6829E13A6F46F--></AD_COLUMN>
 
+<!--B7D8C41F83BC45BD87897C0E29ED53EF--><AD_COLUMN>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<AD_COLUMN_ID><![CDATA[B7D8C41F83BC45BD87897C0E29ED53EF]]></AD_COLUMN_ID>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  <NAME><![CDATA[Sales Order 
Line]]></NAME>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  <DESCRIPTION><![CDATA[A unique and 
often automatically generated identifier for a sales order 
line.]]></DESCRIPTION>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  <HELP><![CDATA[A unique identifier 
and a reference to a sales order line (product).]]></HELP>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<COLUMNNAME><![CDATA[C_Orderline_ID]]></COLUMNNAME>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<AD_TABLE_ID><![CDATA[38A7A1273EA34C93A0EA49CE77B6FB14]]></AD_TABLE_ID>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  <SEQNO><![CDATA[280]]></SEQNO>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<AD_ELEMENT_ID><![CDATA[561]]></AD_ELEMENT_ID>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  <POSITION><![CDATA[27]]></POSITION>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF-->  
<ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--B7D8C41F83BC45BD87897C0E29ED53EF--></AD_COLUMN>
+
 <!--B7E494705B883B25E040007F0100742F--><AD_COLUMN>
 <!--B7E494705B883B25E040007F0100742F-->  
<AD_COLUMN_ID><![CDATA[B7E494705B883B25E040007F0100742F]]></AD_COLUMN_ID>
 <!--B7E494705B883B25E040007F0100742F-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -286389,6 +286424,41 @@
 <!--B9336FB7C2B0400EB495358FAB55E17F-->  
<ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
 <!--B9336FB7C2B0400EB495358FAB55E17F--></AD_COLUMN>
 
+<!--B934D981294447DAB74A7F341C846537--><AD_COLUMN>
+<!--B934D981294447DAB74A7F341C846537-->  
<AD_COLUMN_ID><![CDATA[B934D981294447DAB74A7F341C846537]]></AD_COLUMN_ID>
+<!--B934D981294447DAB74A7F341C846537-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--B934D981294447DAB74A7F341C846537-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--B934D981294447DAB74A7F341C846537-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--B934D981294447DAB74A7F341C846537-->  <NAME><![CDATA[Goods Shipment 
Line]]></NAME>
+<!--B934D981294447DAB74A7F341C846537-->  <DESCRIPTION><![CDATA[A statement 
displaying one item, charge, or movement in a shipment.]]></DESCRIPTION>
+<!--B934D981294447DAB74A7F341C846537-->  <HELP><![CDATA[The Goods Shipment 
Line indicates a unique line in a Shipment document]]></HELP>
+<!--B934D981294447DAB74A7F341C846537-->  
<COLUMNNAME><![CDATA[M_Inoutline_ID]]></COLUMNNAME>
+<!--B934D981294447DAB74A7F341C846537-->  
<AD_TABLE_ID><![CDATA[347B0AA5C3CD4D18910D2FE4990B790E]]></AD_TABLE_ID>
+<!--B934D981294447DAB74A7F341C846537-->  
<AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID>
+<!--B934D981294447DAB74A7F341C846537-->  
<FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--B934D981294447DAB74A7F341C846537-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--B934D981294447DAB74A7F341C846537-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--B934D981294447DAB74A7F341C846537-->  
<ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--B934D981294447DAB74A7F341C846537-->  
<ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--B934D981294447DAB74A7F341C846537-->  
<ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--B934D981294447DAB74A7F341C846537-->  <SEQNO><![CDATA[220]]></SEQNO>
+<!--B934D981294447DAB74A7F341C846537-->  
<ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--B934D981294447DAB74A7F341C846537-->  
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--B934D981294447DAB74A7F341C846537-->  
<ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--B934D981294447DAB74A7F341C846537-->  
<AD_ELEMENT_ID><![CDATA[1026]]></AD_ELEMENT_ID>
+<!--B934D981294447DAB74A7F341C846537-->  
<ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--B934D981294447DAB74A7F341C846537-->  
<ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--B934D981294447DAB74A7F341C846537-->  
<ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--B934D981294447DAB74A7F341C846537-->  
<DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--B934D981294447DAB74A7F341C846537-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--B934D981294447DAB74A7F341C846537-->  <POSITION><![CDATA[22]]></POSITION>
+<!--B934D981294447DAB74A7F341C846537-->  
<ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--B934D981294447DAB74A7F341C846537-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--B934D981294447DAB74A7F341C846537-->  
<VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--B934D981294447DAB74A7F341C846537-->  
<IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--B934D981294447DAB74A7F341C846537-->  
<ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--B934D981294447DAB74A7F341C846537--></AD_COLUMN>
+
 <!--B956EBF22FD411DE9A5F001D09C4A2FE--><AD_COLUMN>
 <!--B956EBF22FD411DE9A5F001D09C4A2FE-->  
<AD_COLUMN_ID><![CDATA[B956EBF22FD411DE9A5F001D09C4A2FE]]></AD_COLUMN_ID>
 <!--B956EBF22FD411DE9A5F001D09C4A2FE-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -289991,6 +290061,41 @@
 <!--D36D4B0065004AFEB99191A531E976D3-->  
<ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
 <!--D36D4B0065004AFEB99191A531E976D3--></AD_COLUMN>
 
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D--><AD_COLUMN>
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D-->  
<AD_COLUMN_ID><![CDATA[D3C7655590C54ECEBA9A7C27A2D7B57D]]></AD_COLUMN_ID>
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D-->  <NAME><![CDATA[Goods Shipment 
Line]]></NAME>
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D-->  <DESCRIPTION><![CDATA[A statement 
displaying one item, charge, or movement in a shipment.]]></DESCRIPTION>
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D-->  <HELP><![CDATA[The Goods Shipment 
Line indicates a unique line in a Shipment document]]></HELP>
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D-->  
<COLUMNNAME><![CDATA[M_Inoutline_ID]]></COLUMNNAME>
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D-->  
<AD_TABLE_ID><![CDATA[09C5EA393D0D41CEBB522DEC67534574]]></AD_TABLE_ID>
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D-->  
<AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID>
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D-->  
<FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--D3C7655590C54ECEBA9A7C27A2D7B57D-->  
<ISMANDATORY><![CDATA[N]]></ISMANDATORY>

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to