Wed, 03 Jun 2015 16:53:19 +0000CI: merge back from main
RM packaging bot <staff.rm@openbravo.com> [Wed, 03 Jun 2015 16:53:19 +0000] rev 26845
CI: merge back from main

Wed, 03 Jun 2015 16:37:19 +0000CI: update AD_MODULE to version 26838
RM packaging bot <staff.rm@openbravo.com> [Wed, 03 Jun 2015 16:37:19 +0000] rev 26844
CI: update AD_MODULE to version 26838

Wed, 03 Jun 2015 14:24:14 +0200Related to issue 29982: code review improvements
Víctor Martínez Romanos <victor.martinez@openbravo.com> [Wed, 03 Jun 2015 14:24:14 +0200] rev 26843
Related to issue 29982: code review improvements

Avoid useless join to M_PRICELIST table to improve performance
Use generic error message

Fri, 29 May 2015 18:13:33 +0530Fixes Issue 29982:Cannot create a sales order from a project phase if the
Atul Gaware <atul.gaware@openbravo.com> [Fri, 29 May 2015 18:13:33 +0530] rev 26842
Fixes Issue 29982:Cannot create a sales order from a project phase if the
price list of the project is not defined

ChangeProjectStatusToOrder function takes care to check whether pricelist in
project is null in case of multiphase project category 'S'.

Query used in for loop did not fetched records in GenerateSoFromProjectPhase as
pricelist was null. Now query returns results with null pricelists also so
that proper error message is shown.

Thu, 21 May 2015 17:09:29 +0200Related to issue 24991: Fix TestCosting
Alvaro Ferraz <alvaro.ferraz@openbravo.com> [Thu, 21 May 2015 17:09:29 +0200] rev 26841
Related to issue 24991: Fix TestCosting

ProcessInstance must have the client information to avoid errors while calling to store procedures.

Thu, 21 May 2015 17:06:23 +0200Fixes issue 24991: Allow negative stock for BOM production
Alvaro Ferraz <alvaro.ferraz@openbravo.com> [Thu, 21 May 2015 17:06:23 +0200] rev 26840
Fixes issue 24991: Allow negative stock for BOM production

M_PRODUCTION_RUN.xml has been modified to allow negative stock in Bill of Materials Production.
Now, if "Allow Negative Stock" is enabled in Client window and "Product quantity must be on stock" is disabled in Bill of Materials Production window and there is not enough stock for an input product, negative stock will be generated for that product for the locator defined in Production Plan tab.

Wed, 03 Jun 2015 12:51:51 +0200Relate to issue 29266. Removes log.info from test
Eduardo Argal Guibert <eduardo.argal@openbravo.com> [Wed, 03 Jun 2015 12:51:51 +0200] rev 26839
Relate to issue 29266. Removes log.info from test

Wed, 03 Jun 2015 12:49:03 +0200Backouts 8fff038cc32e rev. Multiple files pushed by mistake
Eduardo Argal Guibert <eduardo.argal@openbravo.com> [Wed, 03 Jun 2015 12:49:03 +0200] rev 26838
Backouts 8fff038cc32e rev. Multiple files pushed by mistake

Tue, 02 Jun 2015 13:25:52 +0530Fixes Issue 29802:Product selector in requisition line filter's by purchase
Atul Gaware <atul.gaware@openbravo.com> [Tue, 02 Jun 2015 13:25:52 +0530] rev 26837
Fixes Issue 29802:Product selector in requisition line filter's by purchase
products in price lists

If case of window is for Requisition, then Product Complete selector filters
product by purchase flag.

Wed, 03 Jun 2015 11:08:45 +0200Fixed issue 30080: Improve user experience in Payment In/Out lines tab
Jorge Garcia <jorge.garcia@openbravo.com> [Wed, 03 Jun 2015 11:08:45 +0200] rev 26836
Fixed issue 30080: Improve user experience in Payment In/Out lines tab

Payment In and Payment Out lines tab has been improved.

Some fields has been added and other has been hidden in the lines tab.

Wed, 03 Jun 2015 09:43:20 +0200Fixes issue 29745: Add on the renderJr method the option to print on plain text
Carlos Aristu <carlos.aristu@openbravo.com> [Wed, 03 Jun 2015 09:43:20 +0200] rev 26835
Fixes issue 29745: Add on the renderJr method the option to print on plain text

Tue, 02 Jun 2015 19:07:56 +0200Relate to issue 29266. Removes log.info from test
Eduardo Argal Guibert <eduardo.argal@openbravo.com> [Tue, 02 Jun 2015 19:07:56 +0200] rev 26834
Relate to issue 29266. Removes log.info from test

Tue, 02 Jun 2015 16:40:25 +0000CI: merge back from main
RM packaging bot <staff.rm@openbravo.com> [Tue, 02 Jun 2015 16:40:25 +0000] rev 26833
CI: merge back from main

Tue, 02 Jun 2015 16:22:11 +0000CI: update AD_MODULE to version 26822
RM packaging bot <staff.rm@openbravo.com> [Tue, 02 Jun 2015 16:22:11 +0000] rev 26832
CI: update AD_MODULE to version 26822

Tue, 02 Jun 2015 18:13:05 +0200Related to issue 30070: code review improvements
Víctor Martínez Romanos <victor.martinez@openbravo.com> [Tue, 02 Jun 2015 18:13:05 +0200] rev 26831
Related to issue 30070: code review improvements

Improved exception message with a bit of context.
Set Document No. related fields as centrally maintained = N and renamed to Invoice No. and Order No.

Tue, 02 Jun 2015 11:59:51 +0200Fixes issue 30070: NPE when navigating from Payment In/Out Lines tab
Alvaro Ferraz <alvaro.ferraz@openbravo.com> [Tue, 02 Jun 2015 11:59:51 +0200] rev 26830
Fixes issue 30070: NPE when navigating from Payment In/Out Lines tab

ReferencedLink was checking reference record when navigating from Order Payment Schedule or Invoice Payment Schedule fields from Payment In Lines or Payment Out Lines tab; in order to know where the record had to navigate to.
When the value of this field was empty, a Null Pointer Exception was raised. Now, in this case, a "Record empty" exception will be raised.
Also, those fields will be now not displayed if their value is empty.
Duplicated Order Payment Schedule and Invoice Payment Schedule fields have been removed also in those tabs, what was causing an error in int-full-oracle-compile-all job.

Wed, 20 May 2015 16:30:14 +0200Fixed bug 29664: Create Price List performance
Víctor Martínez Romanos <victor.martinez@openbravo.com> [Wed, 20 May 2015 16:30:14 +0200] rev 26829
Fixed bug 29664: Create Price List performance

The patch contains the following changes that improve the process performance (in my local environment the performance is increased an average of 80%):
1. count(*) inside M_GET_NO_TRX_PRODUCT_COST has been rewritten to use exists clause
2. Added 2 indices to M_Product_PO table on M_PRODUCT_ID and C_BPARTNER_ID columns to reduce seq. scans on this table
3. M_PRICELIST_CREATE: Force to analyze C_TEMP_Selection table in Postgres
According to PostgreSQL documentation, the autovacuum daemon cannot access and therefore cannot vacuum or analyze temporary tables. So it's recommended to run ANALYZE after the table is populated to improve performance.
Oracle doesn't seem to be affected by this problem, so the analyze is only executed for postgres
4. M_PRICELIST_CREATE: Complex queries that fill the C_TEMP_Selection has been rewritten using a dynamic SQL run through the EXECUTE command.
Although these queries are in general fast, they are executed as many times as records to be inserted into the Price List. So, the bigger amount of records the slower the process is.
It has been detected that the execution plan created for these queries can be improved a lot if we remove useless parts in the where clause (OR stuff). That's why we dynamically build the sql based on the parameters, which drastically improves the execution plan performance.
5. M_PRICELIST_CREATE: Removed useless join to ad_client table to calculate the client's currency. Instead we get it at the beginning of the process just one time.
6. M_PRICELIST_CREATE: Removed code included into the IF (v_Costbased = 'N'AND (v_PriceList_Version_Base_ID IS NULL)). This code is never executed, because there is a validation at the beginning of the process to avoid that situation.

Other changes not included that could improve performance:
1. Changing the db functions ad_isorgincluded and ad_org_isinnaturaltree from VOLATILE to STABLE reduces execution time for cost based price lists.
Right now the DBSM doesn't support this flag, so a feature request #29943 has been created

Wed, 27 May 2015 01:29:05 +0530Fixes Issue 29962:Wrong storage bin can be selected in Pending Goods Receipt
Atul Gaware <atul.gaware@openbravo.com> [Wed, 27 May 2015 01:29:05 +0530] rev 26828
Fixes Issue 29962:Wrong storage bin can be selected in Pending Goods Receipt
window

inpadOrgId is passed as a input parameter to filter locator in onloadfunctions
method. Session variable Locator.adorgid is set to this parameter value.

Tue, 02 Jun 2015 14:39:07 +0200Related to issue 27262: Run direct update query to improve performance
Víctor Martínez Romanos <victor.martinez@openbravo.com> [Tue, 02 Jun 2015 14:39:07 +0200] rev 26827
Related to issue 27262: Run direct update query to improve performance

Instead of getting all the sales order lines to update the reference line, we have replaced by a direct Update HQL, which improves performance and reduces the memory usage

Wed, 27 May 2015 11:59:32 +0530Fixes Issue 27262:After using copy from order the old order can not be removed
Atul Gaware <atul.gaware@openbravo.com> [Wed, 27 May 2015 11:59:32 +0530] rev 26826
Fixes Issue 27262:After using copy from order the old order can not be removed

A event handler is implemented to achieve the functionality.

Tue, 02 Jun 2015 14:38:36 +0200Related with issue 27445: Update the copyright year
Naroa Iriarte <naroa.iriarte@openbravo.com> [Tue, 02 Jun 2015 14:38:36 +0200] rev 26825
Related with issue 27445: Update the copyright year

The year of the copyright has been updated.

Tue, 02 Jun 2015 14:18:15 +0200Fixed issue 27445:ad_table_import function has two lines with wrong datatype.
Naroa Iriarte <naroa.iriarte@openbravo.com> [Tue, 02 Jun 2015 14:18:15 +0200] rev 26824
Fixed issue 27445:ad_table_import function has two lines with wrong datatype.

In the AD_TABLE_IMPORT.xml, there were two values assigned with wrong type of data.
These were integer and should be varchar.

To fix this, those two values have been changed to varchar.
To test this after the change, a new table has been created, and the "Create Columns from DB"
process has been executed. It works correctly.

Tue, 02 Jun 2015 12:46:43 +0200Related to issue 29766: Retail Operations Buffer: store all transactions in operations table before processing
Martin Taal <martin.taal@openbravo.com> [Tue, 02 Jun 2015 12:46:43 +0200] rev 26823
Related to issue 29766: Retail Operations Buffer: store all transactions in operations table before processing
- Don't queue complete entry but only needed id's to recreate obcontext and reload entry
- Only load maxBatchSize per type of data, handling each type of data separately makes them less influence eachother, the order of the type of data is based on sequence of list reference, order makes business sense also
- Added process to reprocess entries which are in error
- added several configuration parameters which allow controlling number of threads, queue size and task queue size from properties, sensible defaults have been set, also prevention mechanism for 'crazy' values has been implemented
- centralized the threadpool, so all processors share the same queue together with the main thread
- the main thread now uses a scroll method, importentries are removed from the session right after assigning to the processor to decrease memory foot print
- the main thread now processes entries by type of data, in order of the sequence number of the type of data, this gives better predictable results and also gives a better change that different types of data don't block eachother
- replaced the stored column with the created column, to make table smaller, revisited the index
- added role to the import entry table, so that it is stored with the entry, as it is needed to rebuild the obcontext when processing the entry, as the role of the user can have changed or the default role is not suited for the entry to be handled.
- made field length of json and errorinfo columns to 10 million, added testcase to proof that 10million characters can be saved in the json/errorinfo columns
- let the ImportEntryManager thread start when mobile core starts in the application, using a context listener
- when adding a new import entry check both in the import entry as well as in the import entry archive table if it was already passed in
- don't wait anymore after waking up from the managerWaitTime
- when saving import entry as error, make sure that the obcontext is only temporarily replaced with the admin context, restore the previous context
- set the thread name in the threadfactory

Tue, 02 Jun 2015 10:46:21 +0200Related with 29946: Some tests have been performed.
Naroa Iriarte <naroa.iriarte@openbravo.com> [Tue, 02 Jun 2015 10:46:21 +0200] rev 26822
Related with 29946: Some tests have been performed.

Some test cases have been performed for testing the correct behaviour of apllying the
"_noActiveFilter" to the dal and JSON WebServices.
There are four tests. Two per WebService, one of them is putting the "_noActiveFilter" to true,
it works if it gets the inactive records in the JSON WebServices and also in dal WebServices.
The other test is putting the "_noActiveFilter" to false, it works if it don't get the inactive
records.

Tue, 02 Jun 2015 10:37:44 +0200Related with 29946: Update the copyright date.
Naroa Iriarte <naroa.iriarte@openbravo.com> [Tue, 02 Jun 2015 10:37:44 +0200] rev 26821
Related with 29946: Update the copyright date.

The date of the copyright has been updated.

Tue, 02 Jun 2015 10:30:04 +0200Fixed issue 29946: Inactive records cannot be retrieved using dal WebServices.
Naroa Iriarte <naroa.iriarte@openbravo.com> [Tue, 02 Jun 2015 10:30:04 +0200] rev 26820
Fixed issue 29946: Inactive records cannot be retrieved using dal WebServices.

It is possible to get the inactive records using JSON WebServices for example, as:

http://localhost:8080/openbravo/org.openbravo.service.json.jsonrest/Country?_noActiveFilter=true

But it is not possible to get the inactive records using dal WebServices.
As it would be interesting to have the choice of showing the inactive records too, as it is possible in the
JSON WebServices, a condition which checks if the "_noActiveFilter" has been included in the "DalWebService"
class.
Now it is possible to chose if one wants to get the inactive fields or not, as in the JSON WebServices:

http://localhost:8080/openbravo/ws/dal/Country?_noActiveFilter=false // The inactive records are not shown.

http://localhost:8080/openbravo/ws/dal/Country?_noActiveFilter=true //The inactive records are shown.

Tue, 02 Jun 2015 01:40:11 +0000CI: merge back from main
RM packaging bot <staff.rm@openbravo.com> [Tue, 02 Jun 2015 01:40:11 +0000] rev 26819
CI: merge back from main

Tue, 02 Jun 2015 01:23:10 +0000CI: update AD_MODULE to version 26817
RM packaging bot <staff.rm@openbravo.com> [Tue, 02 Jun 2015 01:23:10 +0000] rev 26818
CI: update AD_MODULE to version 26817

Mon, 01 Jun 2015 17:30:38 +0200Related issue 29602:wrong position of parenthesis in a condition
Inigo Sanchez <inigo.sanchez@openbravo.com> [Mon, 01 Jun 2015 17:30:38 +0200] rev 26817
Related issue 29602:wrong position of parenthesis in a condition

The problem was the wrong position of parenthesis in a condicion. Now it has been solved
by updating position of parenthesis properly,

Mon, 01 Jun 2015 13:16:02 +0200Fixed issue 29602: tab to check shouldn't be obtained from table's window
Inigo Sanchez <inigo.sanchez@openbravo.com> [Mon, 01 Jun 2015 13:16:02 +0200] rev 26816
Fixed issue 29602: tab to check shouldn't be obtained from table's window

The problem was that tab to check shouldn't be obtained from table's window
but directly from the current window. Now it is taking into account.