Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0030643Openbravo ERP09. Financial managementpublic2015-08-24 11:512018-02-22 18:18
normalmajorhave not tried
0030643: Overly huge request size in AddPaymentDisplayLogicActionHandler
Looking in net panel i see several request to that display action handler

and last one of those seem to have in its request json

context -> sales_order_invoice -> _allRows
and then array with all the values of all the rows.
+ then on top in _selected
copy of all data again for the selected rows.

and that is up to 20-30k already just for 4 lines i saw in grid.

So will get much bigger in case you have more lines in your view.
new sales invoice + 1 line + complete

then just add payment
and in the popup it did show me apparently 4 other invoices.
Look at the net panel
The request to that action handler is apparently only done from the OB.APRM.AddPayment.recalcDisplayLogicOrReadOnlyLogic function.

In the parameter windows, when the value of the grid is requested (i.e. when invoking the getContextInfo, which is done in the recalcDisplayLogicOrReadOnlyLogic function), the returned value contains the list of selected records plus the list of all grid records if the grid contents are completely cached. If you don't need any of those values, you could just get rid of them before including them in the request.
depends on backport 00377853.0PR18Q1 closed collazoandy4 Overly huge request size in AddPaymentDisplayLogicActionHandler 
depends on backport 00377863.0PR17Q4.1 closed collazoandy4 Overly huge request size in AddPaymentDisplayLogicActionHandler 
Issue History
2015-08-24 11:51vmromanosNew Issue
2015-08-24 11:51vmromanosAssigned To => Triage Finance
2015-08-24 11:51vmromanosModules => Core
2015-08-24 11:51vmromanosTriggers an Emergency Pack => No
2015-08-24 11:52vmromanosTag Attached: Performance
2015-08-24 12:07shuehnerIssue Monitored: shuehner
2015-09-28 11:17vmromanosTarget Version3.0PR15Q4 =>
2015-09-28 11:17vmromanosDescription Updatedbug_revision_view_page.php?rev_id=9494#r9494
2018-01-09 12:13shuehnerResolution time => 1517266800
2018-01-09 12:13shuehnerDescription Updatedbug_revision_view_page.php?rev_id=16515#r16515
2018-01-09 16:17dmiguelezAssigned ToTriage Finance => collazoandy4
2018-01-09 17:59collazoandy4Statusnew => scheduled
2018-01-09 23:07collazoandy4Note Added: 0101642
2018-01-22 10:26hgbotCheckin
2018-01-22 10:26hgbotNote Added: 0101815
2018-01-22 10:26hgbotStatusscheduled => resolved
2018-01-22 10:26hgbotResolutionopen => fixed
2018-01-22 10:26hgbotFixed in SCM revision => [^]
2018-01-22 10:29dmiguelezReview Assigned To => dmiguelez
2018-01-22 10:29dmiguelezNote Added: 0101816
2018-01-22 10:29dmiguelezStatusresolved => closed
2018-01-22 10:29dmiguelezFixed in Version => 3.0PR18Q2
2018-01-31 09:41dmiguelezNote Added: 0102080
2018-01-31 09:41dmiguelezStatusclosed => new
2018-01-31 09:41dmiguelezResolutionfixed => open
2018-01-31 09:41dmiguelezFixed in Version3.0PR18Q2 =>
2018-01-31 09:42dmiguelezStatusnew => scheduled
2018-01-31 10:01dmiguelezStatusscheduled => resolved
2018-01-31 10:01dmiguelezResolutionopen => fixed
2018-01-31 10:01dmiguelezStatusresolved => closed
2018-01-31 10:01dmiguelezFixed in Version => 3.0PR18Q2
2018-02-22 18:18hudsonbotCheckin
2018-02-22 18:18hudsonbotNote Added: 0102670

2018-01-09 23:07   
Test Plan I
  Go to Sales Invoice window and create a new record for Alimentos y Supermercados, S.A bp, add any line and complete the order
    Clic on Add Payment button and check that overpayment field is not shown
      Deselect the invoice record and check that overpayment field is show
      Select the invoice record and Clic on Done button to fully paid the invoice and check the process ends successfully and the invoice is fully paid
Test Plan II
  Go to Payment In window and generate a credit for Alimentos y Supermercados, S.A bp with amount of 50 and check the process ends successfully
  Go to Sales Invoice window and create a new record:
    Business Partner: Alimentos y Supermercados, S.A
    Create a new record in Lines tab:
      Product: Limonada 0,5:
      Invoiced Quantity: 5
    Complete the invoice and don't use credit
    Clic on Add Payment Button:
      Payment Method: Cheque
      Actual Payment: 3.02
      Select the credit and set amount: 2 and check that overpayment field is not shown
      Update the credit payment amount amount to 3 and check that overpayment field is show
      Overpayment Action: Leave the credit to be used later
      Clic on Done button to fully paid the invoice and check the process ends successfully and the invoice is fully paid
2018-01-22 10:26   
Repository: erp/devel/pi
Changeset: 436eb0fb4c04367a4ff2502421f53db6381318be
Author: David Miguelez <david.miguelez <at>>
Date: Fri Jan 19 09:25:37 2018 +0100
URL: [^]

Fixes Issue 30643:Overly huge request size in AddPaymentDisplayLogicActionHandle

Before sending the context, the grids with the information about orders and invoices,
gl items and credit used are removed from it.
This data is not used for calculating the display or read only logic of the rest of the parameters
and sending the grid can have an impact in the performance of this process.

M modules/org.openbravo.advpaymentmngt/web/org.openbravo.advpaymentmngt/js/ob-aprm-addPayment.js
2018-01-22 10:29   
Code Review + Testing Ok
2018-01-31 09:41   
Reopened to create Backports.
2018-02-22 18:18   
A changeset related to this issue has been promoted main and to the
Central Repository, after passing a series of tests.

Promotion changeset: [^]
Maturity status: Test