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
