details: https://code.openbravo.com/erp/devel/pi/rev/04e13cbe6990
changeset: 33501:04e13cbe6990
user: Atul Gaware <atul.gaware <at> openbravo.com>
date: Tue Feb 20 18:12:35 2018 +0530
summary: Fixes Issue 37357:Create Lines From popup on Invoice windows slow
with high number of shipments
** Add iscompletelyinvoiced column in m_inout, add AD elements for it.
** Implement modulescript to update iscompletelyinvoiced flag for old
shipments.
** Define index for iscompletelyinvoiced flag on m_inout and make
use of flag in the where clause of the query.
** Modify M_InOut_Post and C_Invoice_Post db procedures to update
iscompletelyinvoiced flag properly.
** Iscompletelyinvoiced flag is used only in Sales Flow and shown in
Goods Shipment window.
** Add functional index OBEQUALS(QTYDELIVERED,QTYINVOICED) on c_orderline.
** Modify C_Invoice_Candidate_V to make use functional index.
** Add junit test cases to test iscompletelyinvoiced flag updation.
diffstat:
src-db/database/model/functions/C_INVOICE_POST.xml
| 27 +-
src-db/database/model/functions/M_INOUT_POST.xml
| 18 +-
src-db/database/model/tables/C_ORDERLINE.xml
| 4 +
src-db/database/model/tables/M_INOUT.xml
| 8 +
src-db/database/model/views/C_INVOICE_CANDIDATE_V.xml
| 2 +-
src-db/database/sourcedata/AD_COLUMN.xml
| 39 +
src-db/database/sourcedata/AD_ELEMENT.xml
| 14 +
src-db/database/sourcedata/AD_FIELD.xml
| 29 +
src-test/src/org/openbravo/test/AllAntTaskTests.java
| 4 +
src-test/src/org/openbravo/test/materialMgmt/iscompletelyinvoicedshipment/ICIConstants.java
| 77 ++
src-test/src/org/openbravo/test/materialMgmt/iscompletelyinvoicedshipment/ICIInvoiceHeaderParameters.java
| 174 ++++
src-test/src/org/openbravo/test/materialMgmt/iscompletelyinvoicedshipment/ICIInvoiceLineParameters.java
| 159 ++++
src-test/src/org/openbravo/test/materialMgmt/iscompletelyinvoicedshipment/ICIOrderHeaderParameters.java
| 184 +++++
src-test/src/org/openbravo/test/materialMgmt/iscompletelyinvoicedshipment/ICIOrderLineParameters.java
| 191 +++++
src-test/src/org/openbravo/test/materialMgmt/iscompletelyinvoicedshipment/ICIShipmentHeaderParameters.java
| 72 +
src-test/src/org/openbravo/test/materialMgmt/iscompletelyinvoicedshipment/ICIShipmentLineParameters.java
| 75 ++
src-test/src/org/openbravo/test/materialMgmt/iscompletelyinvoicedshipment/ICIUtility.java
| 364 ++++++++++
src-test/src/org/openbravo/test/materialMgmt/iscompletelyinvoicedshipment/IsCompletelyInvoicedShipment.java
| 29 +
src-test/src/org/openbravo/test/materialMgmt/iscompletelyinvoicedshipment/IsCompletelyInvoicedShipmentMultiLineTest.java
| 218 +++++
src-test/src/org/openbravo/test/materialMgmt/iscompletelyinvoicedshipment/IsCompletelyInvoicedShipmentOneLineTest.java
| 189 +++++
src-util/modulescript/build/classes/org/openbravo/modulescript/UpdateIsCompletelyInvoiced.class
| Bin
src-util/modulescript/build/classes/org/openbravo/modulescript/UpdateIsCompletelyInvoicedData.class
| Bin
src-util/modulescript/src/org/openbravo/modulescript/UpdateIsCompletelyInvoiced.java
| 57 +
src-util/modulescript/src/org/openbravo/modulescript/UpdateIsCompletelyInvoiced_data.xsql
| 71 +
src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Invoice_data.xsql
| 10 +-
25 files changed, 2006 insertions(+), 9 deletions(-)
diffs (truncated from 2227 to 300 lines):
diff -r ef34142891ad -r 04e13cbe6990
src-db/database/model/functions/C_INVOICE_POST.xml
--- a/src-db/database/model/functions/C_INVOICE_POST.xml Wed Feb 21
10:52:41 2018 +0100
+++ b/src-db/database/model/functions/C_INVOICE_POST.xml Tue Feb 20
18:12:35 2018 +0530
@@ -22,7 +22,7 @@
* parts created by ComPiere are Copyright (C) ComPiere, Inc.;
* All Rights Reserved.
* Contributor(s): Openbravo SLU
- * Contributions are Copyright (C) 2001-2017 Openbravo, S.L.U.
+ * Contributions are Copyright (C) 2001-2018 Openbravo, S.L.U.
*
* Specifically, this derivative work is based upon the following Compiere
* file and version.
@@ -1009,6 +1009,13 @@
ELSE 'Y'
END)
WHERE M_InOutLine_ID=Cur_ReactivateInvoiceLine.M_InOutLine_ID;
+ -- Update M_Inout isCompletelyInvoiced flag as No when
reactivate the invoice.
+ UPDATE M_InOut
+ SET iscompletelyinvoiced = 'N'
+ WHERE iscompletelyinvoiced = 'Y'
+ AND M_INOUT_ID = (SELECT M_INOUT_ID
+ FROM M_INOUTLINE
+ WHERE M_INOUTLINE_ID =
Cur_ReactivateInvoiceLine.M_InOutLine_ID);
END IF;
END IF;
END LOOP;
@@ -1810,6 +1817,24 @@
Updated=now(),
UpdatedBy=v_UpdatedBy
WHERE C_Invoice_ID=v_Record_ID;
+ -- Update M_Inout isCompletelyInvoiced flag as Yes when m_inoutline
+ -- associated with invoice line is completely invoiced. This flag is
+ -- used only in sales flow and shown in Goods Shipment Header.
+ IF(v_IsSOTrx='Y') THEN
+ UPDATE M_InOut
+ SET iscompletelyinvoiced = 'Y'
+ WHERE iscompletelyinvoiced = 'N'
+ AND NOT EXISTS (SELECT 1 FROM M_INOUTLINE l
+ LEFT JOIN c_invoiceline il ON l.m_inoutline_id =
il.m_inoutline_id
+ LEFT JOIN c_invoice i ON il.c_invoice_id = i.c_invoice_id
+ WHERE l.M_INOUT_ID = M_InOut.M_INOUT_ID
+ GROUP BY l.m_inoutline_id, l.movementqty
+ HAVING ( l.movementqty >= 0 AND l.movementqty >
Sum(COALESCE(CASE WHEN i.docstatus = 'CO' THEN il.qtyinvoiced ELSE 0 END, 0)) )
+ OR ( l.movementqty < 0 AND l.movementqty <
Sum(COALESCE(CASE WHEN i.docstatus = 'CO' THEN il.qtyinvoiced ELSE 0 END, 0)) )
)
+ AND M_InOut.M_INOUT_ID IN (SELECT DISTINCT M_INOUT_ID
+ FROM M_INOUTLINE ML JOIN C_INVOICELINE IL ON
IL.M_INOUTLINE_ID = ML.M_INOUTLINE_ID
+ WHERE IL.C_INVOICE_ID = v_Record_ID);
+ END IF;
END IF;--FINISH_PROCESS
IF (NOT FINISH_PROCESS) THEN
-- End Processing --------------------------------------------------------
diff -r ef34142891ad -r 04e13cbe6990
src-db/database/model/functions/M_INOUT_POST.xml
--- a/src-db/database/model/functions/M_INOUT_POST.xml Wed Feb 21 10:52:41
2018 +0100
+++ b/src-db/database/model/functions/M_INOUT_POST.xml Tue Feb 20 18:12:35
2018 +0530
@@ -22,7 +22,7 @@
* parts created by ComPiere are Copyright (C) ComPiere, Inc.;
* All Rights Reserved.
* Contributor(s): Openbravo SLU
- * Contributions are Copyright (C) 2001-2017 Openbravo, S.L.U.
+ * Contributions are Copyright (C) 2001-2018 Openbravo, S.L.U.
*
* Specifically, this derivative work is based upon the following Compiere
* file and version.
@@ -1040,6 +1040,22 @@
WHERE M_INOUT.M_INOUT_ID=Cur_InOut.M_INOUT_ID;
--
+ -- Update M_Inout isCompletelyInvoiced flag as Yes when m_inoutline
+ -- associated with invoice line is completely invoiced. This flag is
+ -- used only in sales flow and shown in Goods Shipment Header.
+ IF(Cur_InOut.IsSOTrx='Y') THEN
+ UPDATE M_InOut
+ SET iscompletelyinvoiced = 'Y'
+ WHERE iscompletelyinvoiced = 'N'
+ AND NOT EXISTS (SELECT 1 FROM M_INOUTLINE l
+ LEFT JOIN c_invoiceline il ON l.m_inoutline_id =
il.m_inoutline_id
+ LEFT JOIN c_invoice i ON il.c_invoice_id =
i.c_invoice_id
+ WHERE l.M_INOUT_ID = M_InOut.M_INOUT_ID
+ GROUP BY l.m_inoutline_id, l.movementqty
+ HAVING ( l.movementqty >= 0 AND l.movementqty >
Sum(COALESCE(CASE WHEN i.docstatus = 'CO' THEN il.qtyinvoiced ELSE 0 END, 0)) )
+ OR ( l.movementqty < 0 AND l.movementqty <
Sum(COALESCE(CASE WHEN i.docstatus = 'CO' THEN il.qtyinvoiced ELSE 0 END, 0)) )
)
+ AND M_INOUT_ID = Cur_InOut.M_INOUT_ID;
+ END IF;
-- Not Processed + Complete --
/**
diff -r ef34142891ad -r 04e13cbe6990
src-db/database/model/tables/C_ORDERLINE.xml
--- a/src-db/database/model/tables/C_ORDERLINE.xml Wed Feb 21 10:52:41
2018 +0100
+++ b/src-db/database/model/tables/C_ORDERLINE.xml Tue Feb 20 18:12:35
2018 +0530
@@ -399,6 +399,10 @@
<index name="C_ORDERLINE_ORDERED_INVOICED" unique="false">
<index-column name="functionBasedColumn"
functionExpression="OBEQUALS(QTYORDERED,QTYINVOICED)"/>
</index>
+ <index name="C_ORDERLINE_ORDER2" unique="false">
+ <index-column name="C_ORDER_ID"/>
+ <index-column name="functionBasedColumn"
functionExpression="OBEQUALS(QTYDELIVERED,QTYINVOICED)"/>
+ </index>
<index name="C_ORDERLINE_PRODUCT" unique="false">
<index-column name="M_PRODUCT_ID"/>
</index>
diff -r ef34142891ad -r 04e13cbe6990 src-db/database/model/tables/M_INOUT.xml
--- a/src-db/database/model/tables/M_INOUT.xml Wed Feb 21 10:52:41 2018 +0100
+++ b/src-db/database/model/tables/M_INOUT.xml Tue Feb 20 18:12:35 2018 +0530
@@ -261,6 +261,10 @@
<default><![CDATA[N]]></default>
<onCreateDefault><![CDATA['N']]></onCreateDefault>
</column>
+ <column name="ISCOMPLETELYINVOICED" primaryKey="false" required="true"
type="CHAR" size="1" autoIncrement="false">
+ <default><![CDATA[N]]></default>
+ <onCreateDefault/>
+ </column>
<foreign-key foreignTable="M_FREIGHTCATEGORY"
name="M_FREIGHTCATEGORY_M_INOUT">
<reference local="M_FREIGHTCATEGORY_ID"
foreign="M_FREIGHTCATEGORY_ID"/>
</foreign-key>
@@ -344,6 +348,9 @@
<index-column name="C_INVOICE_ID"/>
<whereClause><![CDATA[C_INVOICE_ID IS NOT NULL]]></whereClause>
</index>
+ <index name="M_INOUT_ISCOMPLETELYINVOICED" unique="false">
+ <index-column name="ISCOMPLETELYINVOICED"/>
+ </index>
<index name="M_INOUT_MOVEMENTDATE_ID" unique="false">
<index-column name="MOVEMENTDATE"/>
<index-column name="M_INOUT_ID"/>
@@ -363,6 +370,7 @@
<check name="M_INOUT_GENERATELINES_CHECK"><![CDATA[GENERATELINES IN
('N', 'Y')]]></check>
<check name="M_INOUT_GENERATETO_CHECK"><![CDATA[GENERATETO IN ('Y',
'N')]]></check>
<check name="M_INOUT_ISACTIVE_CHECK"><![CDATA[ISACTIVE IN ('Y',
'N')]]></check>
+ <check
name="M_INOUT_ISCOMPLETELYINV_CHECK"><![CDATA[ISCOMPLETELYINVOICED IN ('Y',
'N')]]></check>
<check name="M_INOUT_ISLOGISTIC_CHK"><![CDATA[ISLOGISTIC IN ('N',
'Y')]]></check>
<check name="M_INOUT_ISNETTINGSHIPMENT_CHK"><![CDATA[ISNETTINGSHIPMENT
IN ('Y', 'N')]]></check>
<check name="M_INOUT_ISPRINTED_CHECK"><![CDATA[ISPRINTED IN ('Y',
'N')]]></check>
diff -r ef34142891ad -r 04e13cbe6990
src-db/database/model/views/C_INVOICE_CANDIDATE_V.xml
--- a/src-db/database/model/views/C_INVOICE_CANDIDATE_V.xml Wed Feb 21
10:52:41 2018 +0100
+++ b/src-db/database/model/views/C_INVOICE_CANDIDATE_V.xml Tue Feb 20
18:12:35 2018 +0530
@@ -1,4 +1,4 @@
<?xml version="1.0"?>
<database name="VIEW C_INVOICE_CANDIDATE_V">
- <view name="C_INVOICE_CANDIDATE_V"><![CDATA[SELECT o.ad_client_id,
o.ad_org_id, o.c_bpartner_id, o.c_order_id, o.documentno, o.dateordered,
o.c_doctype_id, o.totallines AS amountlines, o.grandtotal AS amountlinesgross,
sum(round((l.qtyordered - l.qtyinvoiced) * l.priceactual, c.stdprecision)) AS
notinvoicedlines, round(sum(round((l.qtyordered - l.qtyinvoiced) *
l.priceactual, c.stdprecision) * (1 + t.rate / 100)), c.stdprecision) AS
notinvoicedlinesgross, o.invoicerule AS term, sum(round((l.qtydelivered -
l.qtyinvoiced) * l.priceactual, c.stdprecision)) AS pendinglines,
round(sum(round((l.qtydelivered - l.qtyinvoiced) * l.priceactual,
c.stdprecision) * (1 + t.rate / 100)), c.stdprecision) AS pendinglinesgross,
sum(abs(l.qtyordered)) AS qtyordered, sum(abs(l.qtydelivered)) AS qtydelivered
FROM c_order o JOIN c_doctype dt ON o.c_doctype_id = dt.c_doctype_id JOIN
c_bpartner bp ON o.c_bpartner_id = bp.c_bpartner_id JOIN c_currency c ON
o.c_currency_id = c.c_currency_id JOIN c_orderline l ON o.c_order_id =
l.c_order_id JOIN c_tax t ON t.c_tax_id = l.c_tax_id LEFT JOIN
c_invoiceschedule si ON bp.c_invoiceschedule_id = si.c_invoiceschedule_id WHERE
(o.docstatus IN ('CO', 'CL', 'IP')) AND dt.docbasetype = 'SOO' AND
(dt.docsubtypeso NOT IN ('ON', 'OB', 'WR')) AND (o.invoicerule = 'I' OR
o.invoicerule = 'O' OR o.invoicerule = 'D' OR o.invoicerule = 'S' AND
(si.invoicefrequency IS NULL OR si.invoicefrequency = 'D' OR
si.invoicefrequency = 'W' OR si.invoicefrequency = 'T' AND trunc(o.dateordered)
<= (trunc(now(), 'MM') + si.invoicedaycutoff - 1) AND trunc(now()) >=
(trunc(o.dateordered, 'MM') + si.invoiceday - 1) OR trunc(o.dateordered) <=
(trunc(now(), 'MM') + si.invoicedaycutoff + 14) AND trunc(now()) >=
(trunc(o.dateordered, 'MM') + si.invoiceday + 14) OR si.invoicefrequency = 'M'
AND trunc(o.dateordered) <= (trunc(now(), 'MM') + si.invoicedaycutoff - 1) AND
trunc(now()) >= (trunc(o.dateordered, 'MM') + si.invoiceday - 1))) AND
(abs(l.qtyordered - l.qtyinvoiced) <> 0 OR abs(l.qtydelivered - l.qtyinvoiced)
<> 0) GROUP BY o.ad_client_id, o.ad_org_id, o.c_bpartner_id, o.c_order_id,
o.documentno, o.dateordered, o.c_doctype_id, o.totallines, o.grandtotal,
o.invoicerule, c.c_currency_id, c.stdprecision]]></view>
+ <view name="C_INVOICE_CANDIDATE_V"><![CDATA[SELECT o.ad_client_id,
o.ad_org_id, o.c_bpartner_id, o.c_order_id, o.documentno, o.dateordered,
o.c_doctype_id, o.totallines AS amountlines, o.grandtotal AS amountlinesgross,
sum(round((l.qtyordered - l.qtyinvoiced) * l.priceactual, c.stdprecision)) AS
notinvoicedlines, round(sum(round((l.qtyordered - l.qtyinvoiced) *
l.priceactual, c.stdprecision) * (1 + t.rate / 100)), c.stdprecision) AS
notinvoicedlinesgross, o.invoicerule AS term, sum(round((l.qtydelivered -
l.qtyinvoiced) * l.priceactual, c.stdprecision)) AS pendinglines,
round(sum(round((l.qtydelivered - l.qtyinvoiced) * l.priceactual,
c.stdprecision) * (1 + t.rate / 100)), c.stdprecision) AS pendinglinesgross,
sum(abs(l.qtyordered)) AS qtyordered, sum(abs(l.qtydelivered)) AS qtydelivered
FROM c_order o JOIN c_doctype dt ON o.c_doctype_id = dt.c_doctype_id JOIN
c_bpartner bp ON o.c_bpartner_id = bp.c_bpartner_id JOIN c_currency c ON
o.c_currency_id = c.c_currency_id JOIN c_orderline l ON o.c_order_id =
l.c_order_id JOIN c_tax t ON t.c_tax_id = l.c_tax_id LEFT JOIN
c_invoiceschedule si ON bp.c_invoiceschedule_id = si.c_invoiceschedule_id WHERE
(o.docstatus IN ('CO', 'CL', 'IP')) AND dt.docbasetype = 'SOO' AND
(dt.docsubtypeso NOT IN ('ON', 'OB', 'WR')) AND (o.invoicerule = 'I' OR
o.invoicerule = 'O' OR o.invoicerule = 'D' OR o.invoicerule = 'S' AND
(si.invoicefrequency IS NULL OR si.invoicefrequency = 'D' OR
si.invoicefrequency = 'W' OR si.invoicefrequency = 'T' AND trunc(o.dateordered)
<= (trunc(now(), 'MM') + si.invoicedaycutoff - 1) AND trunc(now()) >=
(trunc(o.dateordered, 'MM') + si.invoiceday - 1) OR trunc(o.dateordered) <=
(trunc(now(), 'MM') + si.invoicedaycutoff + 14) AND trunc(now()) >=
(trunc(o.dateordered, 'MM') + si.invoiceday + 14) OR si.invoicefrequency = 'M'
AND trunc(o.dateordered) <= (trunc(now(), 'MM') + si.invoicedaycutoff - 1) AND
trunc(now()) >= (trunc(o.dateordered, 'MM') + si.invoiceday - 1))) AND
(obequals(l.qtyordered, l.qtyinvoiced) <> 'N' OR obequals(l.qtydelivered,
l.qtyinvoiced) = 'N') GROUP BY o.ad_client_id, o.ad_org_id, o.c_bpartner_id,
o.c_order_id, o.documentno, o.dateordered, o.c_doctype_id, o.totallines,
o.grandtotal, o.invoicerule, c.c_currency_id, c.stdprecision]]></view>
</database>
diff -r ef34142891ad -r 04e13cbe6990 src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml Wed Feb 21 10:52:41 2018 +0100
+++ b/src-db/database/sourcedata/AD_COLUMN.xml Tue Feb 20 18:12:35 2018 +0530
@@ -264955,6 +264955,45 @@
<!--46DAE178799A4016AC3871EB67A60AD8-->
<ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
<!--46DAE178799A4016AC3871EB67A60AD8--></AD_COLUMN>
+<!--46F57A406BA4498F8B0DF3550F4F98FF--><AD_COLUMN>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<AD_COLUMN_ID><![CDATA[46F57A406BA4498F8B0DF3550F4F98FF]]></AD_COLUMN_ID>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--46F57A406BA4498F8B0DF3550F4F98FF--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--46F57A406BA4498F8B0DF3550F4F98FF--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--46F57A406BA4498F8B0DF3550F4F98FF--> <NAME><![CDATA[Completely
Invoiced]]></NAME>
+<!--46F57A406BA4498F8B0DF3550F4F98FF--> <DESCRIPTION><![CDATA[The
IsCompletelyInvoiced checkbox indicates if this document is completely invoiced
or not. This flag is used only in sales flow and shown in the Goods Shipment
Header.]]></DESCRIPTION>
+<!--46F57A406BA4498F8B0DF3550F4F98FF--> <HELP><![CDATA[The
IsCompletelyInvoiced checkbox indicates if this document is completely invoiced
or not. This flag is used only in sales flow and shown in the Goods Shipment
Header.]]></HELP>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<COLUMNNAME><![CDATA[Iscompletelyinvoiced]]></COLUMNNAME>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<AD_TABLE_ID><![CDATA[319]]></AD_TABLE_ID>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<FIELDLENGTH><![CDATA[1]]></FIELDLENGTH>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<DEFAULTVALUE><![CDATA[N]]></DEFAULTVALUE>
+<!--46F57A406BA4498F8B0DF3550F4F98FF--> <ISKEY><![CDATA[N]]></ISKEY>
+<!--46F57A406BA4498F8B0DF3550F4F98FF--> <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--46F57A406BA4498F8B0DF3550F4F98FF--> <SEQNO><![CDATA[490]]></SEQNO>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<AD_ELEMENT_ID><![CDATA[0C8A533A80214372BA5C7D7295F59D92]]></AD_ELEMENT_ID>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--46F57A406BA4498F8B0DF3550F4F98FF--> <POSITION><![CDATA[66]]></POSITION>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--46F57A406BA4498F8B0DF3550F4F98FF--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
+<!--46F57A406BA4498F8B0DF3550F4F98FF-->
<ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--46F57A406BA4498F8B0DF3550F4F98FF--></AD_COLUMN>
+
<!--47254BD6EF8D4F4D97DE902FDEC55DAC--><AD_COLUMN>
<!--47254BD6EF8D4F4D97DE902FDEC55DAC-->
<AD_COLUMN_ID><![CDATA[47254BD6EF8D4F4D97DE902FDEC55DAC]]></AD_COLUMN_ID>
<!--47254BD6EF8D4F4D97DE902FDEC55DAC-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r ef34142891ad -r 04e13cbe6990 src-db/database/sourcedata/AD_ELEMENT.xml
--- a/src-db/database/sourcedata/AD_ELEMENT.xml Wed Feb 21 10:52:41 2018 +0100
+++ b/src-db/database/sourcedata/AD_ELEMENT.xml Tue Feb 20 18:12:35 2018 +0530
@@ -21264,6 +21264,20 @@
<!--0BD34701040243379D33B8A27AAD2308--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
<!--0BD34701040243379D33B8A27AAD2308--></AD_ELEMENT>
+<!--0C8A533A80214372BA5C7D7295F59D92--><AD_ELEMENT>
+<!--0C8A533A80214372BA5C7D7295F59D92-->
<AD_ELEMENT_ID><![CDATA[0C8A533A80214372BA5C7D7295F59D92]]></AD_ELEMENT_ID>
+<!--0C8A533A80214372BA5C7D7295F59D92-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--0C8A533A80214372BA5C7D7295F59D92--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--0C8A533A80214372BA5C7D7295F59D92--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--0C8A533A80214372BA5C7D7295F59D92-->
<COLUMNNAME><![CDATA[Iscompletelyinvoiced]]></COLUMNNAME>
+<!--0C8A533A80214372BA5C7D7295F59D92--> <NAME><![CDATA[Completely
Invoiced]]></NAME>
+<!--0C8A533A80214372BA5C7D7295F59D92--> <PRINTNAME><![CDATA[Completely
Invoiced]]></PRINTNAME>
+<!--0C8A533A80214372BA5C7D7295F59D92--> <DESCRIPTION><![CDATA[The
IsCompletelyInvoiced checkbox indicates if this document is completely invoiced
or not. This flag is used only in sales flow and shown in the Goods Shipment
Header.]]></DESCRIPTION>
+<!--0C8A533A80214372BA5C7D7295F59D92--> <HELP><![CDATA[The
IsCompletelyInvoiced checkbox indicates if this document is completely invoiced
or not. This flag is used only in sales flow and shown in the Goods Shipment
Header.]]></HELP>
+<!--0C8A533A80214372BA5C7D7295F59D92-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--0C8A533A80214372BA5C7D7295F59D92--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--0C8A533A80214372BA5C7D7295F59D92--></AD_ELEMENT>
+
<!--0CC014AD7EFD4D949B995E8DCC256EEC--><AD_ELEMENT>
<!--0CC014AD7EFD4D949B995E8DCC256EEC-->
<AD_ELEMENT_ID><![CDATA[0CC014AD7EFD4D949B995E8DCC256EEC]]></AD_ELEMENT_ID>
<!--0CC014AD7EFD4D949B995E8DCC256EEC-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r ef34142891ad -r 04e13cbe6990 src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml Wed Feb 21 10:52:41 2018 +0100
+++ b/src-db/database/sourcedata/AD_FIELD.xml Tue Feb 20 18:12:35 2018 +0530
@@ -261402,6 +261402,35 @@
<!--96AE3EFBF5954A1EAB524571FA215DCB-->
<EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--96AE3EFBF5954A1EAB524571FA215DCB--></AD_FIELD>
+<!--96B26E7865D44F489EC8C92148D1AFE1--><AD_FIELD>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<AD_FIELD_ID><![CDATA[96B26E7865D44F489EC8C92148D1AFE1]]></AD_FIELD_ID>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--96B26E7865D44F489EC8C92148D1AFE1--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--96B26E7865D44F489EC8C92148D1AFE1--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--96B26E7865D44F489EC8C92148D1AFE1--> <NAME><![CDATA[Completely
Invoiced]]></NAME>
+<!--96B26E7865D44F489EC8C92148D1AFE1--> <DESCRIPTION><![CDATA[The
IsCompletelyInvoiced checkbox indicates if this document is completely invoiced
or not. This flag is used only in sales flow and shown in the Goods Shipment
Header.]]></DESCRIPTION>
+<!--96B26E7865D44F489EC8C92148D1AFE1--> <HELP><![CDATA[The
IsCompletelyInvoiced checkbox indicates if this document is completely invoiced
or not. This flag is used only in sales flow and shown in the Goods Shipment
Header.]]></HELP>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--96B26E7865D44F489EC8C92148D1AFE1--> <AD_TAB_ID><![CDATA[257]]></AD_TAB_ID>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<AD_COLUMN_ID><![CDATA[46F57A406BA4498F8B0DF3550F4F98FF]]></AD_COLUMN_ID>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
+<!--96B26E7865D44F489EC8C92148D1AFE1--> <ISREADONLY><![CDATA[Y]]></ISREADONLY>
+<!--96B26E7865D44F489EC8C92148D1AFE1--> <SEQNO><![CDATA[2050]]></SEQNO>
+<!--96B26E7865D44F489EC8C92148D1AFE1--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<GRID_SEQNO><![CDATA[2050]]></GRID_SEQNO>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--96B26E7865D44F489EC8C92148D1AFE1-->
<EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--96B26E7865D44F489EC8C92148D1AFE1--></AD_FIELD>
+
<!--96C44F2E2B7A41B092E09E5F4F243B74--><AD_FIELD>
<!--96C44F2E2B7A41B092E09E5F4F243B74-->
<AD_FIELD_ID><![CDATA[96C44F2E2B7A41B092E09E5F4F243B74]]></AD_FIELD_ID>
<!--96C44F2E2B7A41B092E09E5F4F243B74-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r ef34142891ad -r 04e13cbe6990
src-test/src/org/openbravo/test/AllAntTaskTests.java
--- a/src-test/src/org/openbravo/test/AllAntTaskTests.java Wed Feb 21
10:52:41 2018 +0100
+++ b/src-test/src/org/openbravo/test/AllAntTaskTests.java Tue Feb 20
18:12:35 2018 +0530
@@ -70,6 +70,7 @@
import org.openbravo.test.expression.EvaluationTest;
import org.openbravo.test.expression.OBBindingsTest;
import org.openbravo.test.inventoryStatus.InventoryStatusTest;
+import
org.openbravo.test.materialMgmt.iscompletelyinvoicedshipment.IsCompletelyInvoicedShipment;
import org.openbravo.test.model.ClassLoaderTest;
import org.openbravo.test.model.IndexesTest;
import org.openbravo.test.model.OneToManyTest;
@@ -228,6 +229,9 @@
// Inventory Status
InventoryStatusTest.class, //
+ // Material Management
+ IsCompletelyInvoicedShipment.class, //
+
// scheduling
ProcessSchedulingTest.class, //
diff -r ef34142891ad -r 04e13cbe6990
src-test/src/org/openbravo/test/materialMgmt/iscompletelyinvoicedshipment/ICIConstants.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++
b/src-test/src/org/openbravo/test/materialMgmt/iscompletelyinvoicedshipment/ICIConstants.java
Tue Feb 20 18:12:35 2018 +0530
@@ -0,0 +1,77 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo Public License
+ * Version 1.1 (the "License"), being the Mozilla Public License
+ * Version 1.1 with a permitted attribution clause; you may not use this
+ * file except in compliance with the License. You may obtain a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SLU
+ * All portions are Copyright (C) 2018 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s): ______________________________________.
+ ************************************************************************
+ */
+
+package org.openbravo.test.materialMgmt.iscompletelyinvoicedshipment;
+
+public class ICIConstants {
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits