banking-addons-team team mailing list archive
-
banking-addons-team team
-
Mailing list archive
-
Message #01894
[Bug 1313689] [NEW] [7.0] account_statement_base_import: default account_id to false (mp:197755) breaks import of line without account_id
Public bug reported:
For performance reasons, the creation of lines in the
account_statement_base_import is done by bypassing the ORM . (method
_insert_lines defined in
account_base_completion.statement.AccountStatementLine). The method
_insert_lines must be called with a list of values (as dict) used to
build a plain batch SQL insert 'INSERT INTO account_bank_statement_line
(%s) VALUES (%s)'
The problem with the mp:197755 (https://code.launchpad.net/~akretion-
team/banking-addons/bank-statement-reconcile-70-account-not-
mandatory/+merge/197755) is that if no value is provided for the
account_id by the parser, the default value is added by the call to
"statement_line_obj._add_missing_default_values(cr, uid, values,
context)" at line 130 in account_statement_base_import.statement.py.
(values = [.... {..., 'account_id':False, ..} ... ] )
As these values are used to build a plain SQL insert (" Insert into .... (..., account_id) values ((...,False )) the method fails with the exception: except_osv:
(u'Statement import error', u'The statement cannot be created: Error: except_osv\nDescription: (u\'ORM bypass error\', \'ERROR: column "account_id" is of type integer but expression is of type boolean\\nLINE 1: ...note, period_id, ref, statement_id, type) VALUES (false, \\\'{"...\\n ^\\nHINT: You will need to rewrite or cast the expression.\\n\')\nTraceback: File "/home/lmi/projects/openerp/openerp-deldrive-multi-company/addons-banking/account_statement_base_import/statement.py", line 195, in statement_import\n statement_line_obj._insert_lines(cr, uid, statement_store, context=context)\n File "/home/lmi/projects/openerp/openerp-deldrive-multi-company/addons-banking/account_statement_base_completion/statement.py", line 479, in _insert_lines\n sql_err.pgerror)\n')
** Affects: banking-addons
Importance: Undecided
Status: New
** Summary changed:
- default account_id to false (mp:197755) breaks import of line without account_id
+ [7.0] account_statement_base_import: default account_id to false (mp:197755) breaks import of line without account_id
** Description changed:
For performance reasons, the creation of lines in the
account_statement_base_import is done by bypassing the ORM . (method
_insert_lines defined in
account_base_completion.statement.AccountStatementLine). The method
_insert_lines must be called with a list of values (as dict) used to
build a plain batch SQL insert 'INSERT INTO account_bank_statement_line
(%s) VALUES (%s)'
- The problem with the mp:197755 is that if no value is provided for the
+ The problem with the lp:197755 is that if no value is provided for the
account_id by the parser, the default value is added by the call to
"statement_line_obj._add_missing_default_values(cr, uid, values,
context)" at line 130 in account_statement_base_import.statement.py.
(values = [.... {..., 'account_id':False, ..} ... ] )
- As these values are used to build a plain SQL insert (" Insert into .... (..., account_id) values ((...,False )) the method fails with the exception: except_osv:
+ As these values are used to build a plain SQL insert (" Insert into .... (..., account_id) values ((...,False )) the method fails with the exception: except_osv:
(u'Statement import error', u'The statement cannot be created: Error: except_osv\nDescription: (u\'ORM bypass error\', \'ERROR: column "account_id" is of type integer but expression is of type boolean\\nLINE 1: ...note, period_id, ref, statement_id, type) VALUES (false, \\\'{"...\\n ^\\nHINT: You will need to rewrite or cast the expression.\\n\')\nTraceback: File "/home/lmi/projects/openerp/openerp-deldrive-multi-company/addons-banking/account_statement_base_import/statement.py", line 195, in statement_import\n statement_line_obj._insert_lines(cr, uid, statement_store, context=context)\n File "/home/lmi/projects/openerp/openerp-deldrive-multi-company/addons-banking/account_statement_base_completion/statement.py", line 479, in _insert_lines\n sql_err.pgerror)\n')
** Description changed:
For performance reasons, the creation of lines in the
account_statement_base_import is done by bypassing the ORM . (method
_insert_lines defined in
account_base_completion.statement.AccountStatementLine). The method
_insert_lines must be called with a list of values (as dict) used to
build a plain batch SQL insert 'INSERT INTO account_bank_statement_line
(%s) VALUES (%s)'
- The problem with the lp:197755 is that if no value is provided for the
+ The problem with the mp:197755 is that if no value is provided for the
account_id by the parser, the default value is added by the call to
"statement_line_obj._add_missing_default_values(cr, uid, values,
context)" at line 130 in account_statement_base_import.statement.py.
(values = [.... {..., 'account_id':False, ..} ... ] )
As these values are used to build a plain SQL insert (" Insert into .... (..., account_id) values ((...,False )) the method fails with the exception: except_osv:
(u'Statement import error', u'The statement cannot be created: Error: except_osv\nDescription: (u\'ORM bypass error\', \'ERROR: column "account_id" is of type integer but expression is of type boolean\\nLINE 1: ...note, period_id, ref, statement_id, type) VALUES (false, \\\'{"...\\n ^\\nHINT: You will need to rewrite or cast the expression.\\n\')\nTraceback: File "/home/lmi/projects/openerp/openerp-deldrive-multi-company/addons-banking/account_statement_base_import/statement.py", line 195, in statement_import\n statement_line_obj._insert_lines(cr, uid, statement_store, context=context)\n File "/home/lmi/projects/openerp/openerp-deldrive-multi-company/addons-banking/account_statement_base_completion/statement.py", line 479, in _insert_lines\n sql_err.pgerror)\n')
** Description changed:
For performance reasons, the creation of lines in the
account_statement_base_import is done by bypassing the ORM . (method
_insert_lines defined in
account_base_completion.statement.AccountStatementLine). The method
_insert_lines must be called with a list of values (as dict) used to
build a plain batch SQL insert 'INSERT INTO account_bank_statement_line
(%s) VALUES (%s)'
- The problem with the mp:197755 is that if no value is provided for the
+ The problem with the mp:197755 (https://code.launchpad.net/~akretion-
+ team/banking-addons/bank-statement-reconcile-70-account-not-
+ mandatory/+merge/197755) is that if no value is provided for the
account_id by the parser, the default value is added by the call to
"statement_line_obj._add_missing_default_values(cr, uid, values,
context)" at line 130 in account_statement_base_import.statement.py.
(values = [.... {..., 'account_id':False, ..} ... ] )
As these values are used to build a plain SQL insert (" Insert into .... (..., account_id) values ((...,False )) the method fails with the exception: except_osv:
(u'Statement import error', u'The statement cannot be created: Error: except_osv\nDescription: (u\'ORM bypass error\', \'ERROR: column "account_id" is of type integer but expression is of type boolean\\nLINE 1: ...note, period_id, ref, statement_id, type) VALUES (false, \\\'{"...\\n ^\\nHINT: You will need to rewrite or cast the expression.\\n\')\nTraceback: File "/home/lmi/projects/openerp/openerp-deldrive-multi-company/addons-banking/account_statement_base_import/statement.py", line 195, in statement_import\n statement_line_obj._insert_lines(cr, uid, statement_store, context=context)\n File "/home/lmi/projects/openerp/openerp-deldrive-multi-company/addons-banking/account_statement_base_completion/statement.py", line 479, in _insert_lines\n sql_err.pgerror)\n')
--
You received this bug notification because you are a member of Banking
Addons Core Editors, which is subscribed to Banking Addons.
https://bugs.launchpad.net/bugs/1313689
Title:
[7.0] account_statement_base_import: default account_id to false
(mp:197755) breaks import of line without account_id
Status in OpenERP Banking Addons:
New
Bug description:
For performance reasons, the creation of lines in the
account_statement_base_import is done by bypassing the ORM . (method
_insert_lines defined in
account_base_completion.statement.AccountStatementLine). The method
_insert_lines must be called with a list of values (as dict) used to
build a plain batch SQL insert 'INSERT INTO
account_bank_statement_line (%s) VALUES (%s)'
The problem with the mp:197755 (https://code.launchpad.net/~akretion-
team/banking-addons/bank-statement-reconcile-70-account-not-
mandatory/+merge/197755) is that if no value is provided for the
account_id by the parser, the default value is added by the call to
"statement_line_obj._add_missing_default_values(cr, uid, values,
context)" at line 130 in account_statement_base_import.statement.py.
(values = [.... {..., 'account_id':False, ..} ... ] )
As these values are used to build a plain SQL insert (" Insert into .... (..., account_id) values ((...,False )) the method fails with the exception: except_osv:
(u'Statement import error', u'The statement cannot be created: Error: except_osv\nDescription: (u\'ORM bypass error\', \'ERROR: column "account_id" is of type integer but expression is of type boolean\\nLINE 1: ...note, period_id, ref, statement_id, type) VALUES (false, \\\'{"...\\n ^\\nHINT: You will need to rewrite or cast the expression.\\n\')\nTraceback: File "/home/lmi/projects/openerp/openerp-deldrive-multi-company/addons-banking/account_statement_base_import/statement.py", line 195, in statement_import\n statement_line_obj._insert_lines(cr, uid, statement_store, context=context)\n File "/home/lmi/projects/openerp/openerp-deldrive-multi-company/addons-banking/account_statement_base_completion/statement.py", line 479, in _insert_lines\n sql_err.pgerror)\n')
To manage notifications about this bug go to:
https://bugs.launchpad.net/banking-addons/+bug/1313689/+subscriptions
Follow ups
References