Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0015498Openbravo ERP03. Procurement managementpublic2010-12-21 12:462011-05-24 10:57
maite 
dalsasua 
urgentmajoralways
closedfixed 
5
2.50MP24 
2.50MP26 
Core
No
0015498: Error when using form of payment "Cash" and payment term with several lines
When trying to complete an invoice using "Cash" form of payment and payment term with several lines you obtain this error:
Error:
inserción o actualización en la tabla «c_cashline» viola la llave foránea «c_cashline_c_debt_payment»

If Form of Payment of the invoice is "Bank deposit" instead of "Cash" than it complete successfully.
1. Master Data Management || Business Partner Setup || Payment Term || Header : create record with
   Offset Month Due=1
2. Master Data Management || Business Partner Setup || Payment Term || Header >> Lines : add 2 lines:
   one line --> Percentage=60 ; Overdue Payment Days Rule=5; Form of Payment=bank deposit ; Uncheck "rest" flag
   another line --> Percentage=40 ; Overdue Payment Days Rule=1; Form of Payment=cash ;
3. Procurement Management || Transactions || Purchase Invoice || Header : create record setting Form of Payment=Cash and Payment Terms already created
4. Procurement Management || Transactions || Purchase Invoice || Header >> Lines : add one line
5. Come back to header and try to process. You will obtain error:
Error:
inserción o actualización en la tabla «c_cashline» viola la llave foránea «c_cashline_c_debt_payment»
6. Change Invoice header Form of Payment to "Bank deposit". Process and you will obtain successful message.

Problem is that C_INVOICE_POST makes this comprobation
"IF (v_paymentcheck <> 0) THEN"
before inserting c_debt_payment (line 1524), But it does not make it before inserting in c_cashline (line 1642)
closingMay2011
depends on defect 0015608 closed adrianromero Error when using form of payment "Cash" and payment term with several lines 
Issue History
2010-12-21 12:46maiteNew Issue
2010-12-21 12:46maiteAssigned To => adrianromero
2010-12-21 12:46maiteModules => Core
2011-01-11 12:51adrianromeroStatusnew => scheduled
2011-01-11 12:51adrianromerofix_in_branch => pi
2011-01-11 12:51adrianromeroTypedefect => backport
2011-01-11 12:51adrianromerofix_in_branchpi =>
2011-01-11 12:52adrianromeroIssue cloned0015608
2011-01-11 12:52adrianromeroRelationship addeddepends on 0015608
2011-01-17 09:23dalsasuaAssigned Toadrianromero => dalsasua
2011-01-18 17:45maiteSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=1434#r1434
2011-01-18 18:48hgbotCheckin
2011-01-18 18:48hgbotNote Added: 0033734
2011-01-18 18:48hgbotStatusscheduled => resolved
2011-01-18 18:48hgbotResolutionopen => fixed
2011-01-18 18:48hgbotFixed in SCM revision => http://code.openbravo.com/erp/stable/2.50/rev/cc99630a4ea2c630a3f4a750a5398fe3fab9257e [^]
2011-01-18 18:52adrianromeroNote Added: 0033735
2011-01-18 18:53adrianromeroNote Added: 0033736
2011-05-24 10:03dalsasuaTag Attached: closingMay2011
2011-05-24 10:57dalsasuaStatusresolved => closed

Notes
(0033734)
hgbot   
2011-01-18 18:48   
Repository: erp/stable/2.50
Changeset: cc99630a4ea2c630a3f4a750a5398fe3fab9257e
Author: Adrián Romero <adrianromero <at> openbravo.com>
Date: Tue Jan 18 18:47:11 2011 +0100
URL: http://code.openbravo.com/erp/stable/2.50/rev/cc99630a4ea2c630a3f4a750a5398fe3fab9257e [^]

Fixes issue 0015498: Error when using form of payment Cash and payment term with several lines
It has been added a check that avoids the constraint violation

---
M src-db/database/model/functions/C_INVOICE_POST.xml
---
(0033735)
adrianromero   
2011-01-18 18:52   
* Testing the issue

Kindly follow the steps to test and verify that now the invoice can be processed. It is also needed to verify that normal cases of processing invoices continue working as expected: Purchase invoices with sample payment terms, Sales invoices. Generated invoices.

* Other areas affected

It has been modified the C_INVOICE_POST procedure. All flows that depends on this procedure may be affected.
(0033736)
adrianromero   
2011-01-18 18:53   
To test this issue the APR module must not be installed because this issue depends on the old payments flow.