Merge lp:~a-camilli/openobject-italia/6.1-fix-controllo-data-registrazione-consecutiva into lp:~openobject-italia-core-devs/openobject-italia/italian-addons-6.1

Proposed by Alessandro Camilli
Status: Rejected
Rejected by: Sergio Corato
Proposed branch: lp:~a-camilli/openobject-italia/6.1-fix-controllo-data-registrazione-consecutiva
Merge into: lp:~openobject-italia-core-devs/openobject-italia/italian-addons-6.1
Diff against target: 26 lines (+16/-0)
1 file modified
account_invoice_entry_date/invoice.py (+16/-0)
To merge this branch: bzr merge lp:~a-camilli/openobject-italia/6.1-fix-controllo-data-registrazione-consecutiva
Reviewer Review Type Date Requested Status
Sergio Corato (community) Disapprove
Review via email: mp+162563@code.launchpad.net

Description of the change

Controllo consecutività data registrazione fattura

To post a comment you must log in.
Revision history for this message
Sergio Corato (icsergio) wrote :

Non è sufficiente verificare solo per periodo, in quanto così facendo si possono registrare ancora fatture in tutti i periodi precedenti senza problemi.

Vuoi provare con un sql che ragiona tipo così, legato all'anno e slegato dal numero (conta l'ultima data di registrazione sul sezionale):
SELECT max(ai.registration_date)
  FROM account_invoice ai LEFT JOIN account_period ap
  ON ai.period_id = ap.id
  LEFT JOIN account_fiscalyear af
  ON af.id = ap.fiscalyear_id
  WHERE ai.journal_id = %s AND af.name = '%s';

review: Needs Fixing
Revision history for this message
Sergio Corato (icsergio) wrote :

Superata

review: Disapprove
Revision history for this message
Lorenzo Battistini (elbati) wrote :

Unmerged revisions

231. By Alessandro Camilli

controllo consecutività data registrazione

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'account_invoice_entry_date/invoice.py'
2--- account_invoice_entry_date/invoice.py 2011-09-09 08:48:18 +0000
3+++ account_invoice_entry_date/invoice.py 2013-05-06 07:29:27 +0000
4@@ -49,6 +49,22 @@
5 if (date_invoice > reg_date) :
6 raise osv.except_osv(_('Error date !'), _('The invoice date cannot be later than the date of registration!'))
7
8+ # Consecutività nr fattura/data
9+ statement_internal_number = ""
10+ if inv.internal_number :
11+ statement_internal_number = " AND name > '%s'" % (inv.internal_number,)
12+ cr.execute('SELECT date,name FROM account_move ' \
13+ 'WHERE journal_id=%s AND state = %s' \
14+ 'AND period_id=%s ' + statement_internal_number + ' '\
15+ 'ORDER BY name limit 1' ,
16+ (inv.journal_id.id, 'posted', inv.period_id.id))
17+ move = cr.fetchone()
18+ if move and len(move) > 0 :
19+ date_last = move[0]
20+ name_last = move[1]
21+ if reg_date < date_last :
22+ raise osv.except_osv(_('Error !'), _('Date entry not consecutive. The last invoice is : %s %s') % (name_last, date_last))
23+
24 #periodo
25 date_start = inv.registration_date or inv.date_invoice or time.strftime('%Y-%m-%d')
26 date_stop = inv.registration_date or inv.date_invoice or time.strftime('%Y-%m-%d')

Subscribers

People subscribed via source and target branches