parent
93d248eb80
commit
ad9ce0e286
|
@ -560,8 +560,8 @@ class account_period(osv.osv):
|
|||
_columns = {
|
||||
'name': fields.char('Period Name', size=64, required=True),
|
||||
'code': fields.char('Code', size=12),
|
||||
'special': fields.boolean('Special Period', size=12,
|
||||
help="Special periods are periods that can overlap, like the 13rd period in fiscal years for closing entries."),
|
||||
'special': fields.boolean('Opening/Closing Period', size=12,
|
||||
help="These periods can overlap."),
|
||||
'date_start': fields.date('Start of period', required=True, states={'done':[('readonly',True)]}),
|
||||
'date_stop': fields.date('End of period', required=True, states={'done':[('readonly',True)]}),
|
||||
'fiscalyear_id': fields.many2one('account.fiscalyear', 'Fiscal Year', required=True, states={'done':[('readonly',True)]}, select=True),
|
||||
|
|
|
@ -367,8 +367,7 @@ class account_move_line(osv.osv):
|
|||
'analytic_account_id' : fields.many2one('account.analytic.account', 'Analytic Account'),
|
||||
#TODO: remove this
|
||||
'amount_taxed':fields.float("Taxed Amount",digits=(16,2)),
|
||||
'parent_move_lines':fields.many2many('account.move.line', 'account_move_line_rel', 'child_id', 'parent_id', 'Parent'),
|
||||
'reconcile_implicit':fields.boolean('Implicit Reconciliation')
|
||||
|
||||
}
|
||||
|
||||
def _get_date(self, cr, uid, context):
|
||||
|
@ -537,11 +536,7 @@ class account_move_line(osv.osv):
|
|||
currency = 0.0
|
||||
account_id = False
|
||||
partner_id = False
|
||||
implicit_lines = []
|
||||
for line in unrec_lines:
|
||||
if line.parent_move_lines:
|
||||
for i in line.parent_move_lines:
|
||||
implicit_lines.append(i.id)
|
||||
if line.state <> 'valid':
|
||||
raise osv.except_osv(_('Error'),
|
||||
_('Entry "%s" is not valid !') % line.name)
|
||||
|
@ -640,10 +635,6 @@ class account_move_line(osv.osv):
|
|||
'line_partial_ids': map(lambda x: (3,x,False), ids)
|
||||
})
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
if implicit_lines:
|
||||
self.write(cr, uid, implicit_lines, {'reconcile_implicit':True,'reconcile_id':r_id})
|
||||
for id in implicit_lines:
|
||||
wf_service.trg_trigger(uid, 'account.move.line', id, cr)
|
||||
# the id of the move.reconcile is written in the move.line (self) by the create method above
|
||||
# because of the way the line_id are defined: (4, x, False)
|
||||
for id in ids:
|
||||
|
|
|
@ -741,10 +741,6 @@
|
|||
<page string="Analytic Lines">
|
||||
<field colspan="4" name="analytic_lines" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Linked Lines" groups="base.group_extended">
|
||||
<field colspan="4" name="reconcile_implicit"/>
|
||||
<field colspan="4" name="parent_move_lines" nolabel="0"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -784,7 +780,6 @@
|
|||
<newline/>
|
||||
<field name="account_tax_id" domain="[('parent_id','=',False)]"/>
|
||||
<field name="analytic_account_id"/>
|
||||
<field colspan="4" name="reconcile_implicit"/>
|
||||
<separator colspan="4" string="State"/>
|
||||
<newline/>
|
||||
<field name="reconcile_id"/>
|
||||
|
|
|
@ -7,16 +7,17 @@
|
|||
<wizard id="wizard_invoice_pay" model="account.invoice" name="account.invoice.pay" string="Pay invoice"/>
|
||||
|
||||
<!-- close year, period, journal -->
|
||||
<wizard id="wizard_fiscalyear_close" menu="False" model="account.fiscalyear" name="account.fiscalyear.close" string="Close a Fiscal Year (New entries)"/>
|
||||
<menuitem id="menu_finance" name="Financial Management"/><menuitem action="wizard_fiscalyear_close" id="menu_wizard_fy_close" parent="menu_account_end_year_treatments" sequence="11" type="wizard"/>
|
||||
<wizard id="wizard_fiscalyear_close" menu="False" model="account.fiscalyear" name="account.fiscalyear.close" string="Generate Fiscal Year Opening Entries"/>
|
||||
|
||||
<wizard id="wizard_fiscalyear_close_state" menu="False" model="account.fiscalyear" name="account.fiscalyear.close.state" string="Close a Fiscal Year (States)"/>
|
||||
<menuitem action="wizard_fiscalyear_close_state" id="menu_wizard_fy_close_state" parent="menu_account_end_year_treatments" type="wizard"/>
|
||||
<menuitem action="wizard_fiscalyear_close" id="menu_wizard_fy_close" parent="menu_account_end_year_treatments" sequence="11" type="wizard"/>
|
||||
|
||||
<wizard id="wizard_fiscalyear_close_state" menu="False" model="account.fiscalyear" name="account.fiscalyear.close.state" string="Close a Fiscal Year"/>
|
||||
<menuitem action="wizard_fiscalyear_close_state" id="menu_wizard_fy_close_state" parent="menu_account_end_year_treatments" type="wizard"/>
|
||||
|
||||
<wizard id="wizard_open_closed_fiscalyear" menu="False" model="account.fiscalyear" name="account.open_closed_fiscalyear" string="Open a Closed Fiscal Year"/>
|
||||
<menuitem action="wizard_open_closed_fiscalyear" id="menu_wizard_open_closed_fy" parent="account.menu_account_end_year_treatments" sequence="12" type="wizard"/>
|
||||
|
||||
<wizard id="wizard_period_close" model="account.period" name="account.period.close" string="Close Period"/>
|
||||
<wizard id="wizard_period_close" model="account.period" name="account.period.close" string="Close a Period"/>
|
||||
|
||||
<!-- automatic reconcile -->
|
||||
<wizard id="wizard_automatic_reconcile" menu="False" model="account.account" name="account.automatic.reconcile" string="Automatic reconciliation"/>
|
||||
|
|
|
@ -73,6 +73,13 @@ def _data_save(self, cr, uid, data, context):
|
|||
raise wizard.except_wizard(_('UserError'),
|
||||
_('The journal must have centralised counterpart'))
|
||||
|
||||
move_ids = pool.get('account.move.line').search(cr, uid, [
|
||||
('journal_id','=',new_journal.id),('period_id.fiscalyear_id','=',new_fyear.id)])
|
||||
if move_ids:
|
||||
raise wizard.except_wizard(_('UserError'),
|
||||
_('The opening journal must not have any entry in the new fiscal year !'))
|
||||
|
||||
|
||||
query_line = pool.get('account.move.line')._query_get(cr, uid,
|
||||
obj='account_move_line', context={'fiscalyear': fy_id})
|
||||
cr.execute('select id from account_account WHERE active')
|
||||
|
@ -118,7 +125,6 @@ def _data_save(self, cr, uid, data, context):
|
|||
'date': period.date_start,
|
||||
'journal_id': new_journal.id,
|
||||
'period_id': period.id,
|
||||
'parent_move_lines':[(6,0,[parent_id])]
|
||||
})
|
||||
pool.get('account.move.line').create(cr, uid, move, {
|
||||
'journal_id': new_journal.id,
|
||||
|
@ -147,11 +153,15 @@ def _data_save(self, cr, uid, data, context):
|
|||
'date': period.date_start,
|
||||
'journal_id': new_journal.id,
|
||||
'period_id': period.id,
|
||||
'parent_move_lines':[(6,0,[parent_id])]
|
||||
})
|
||||
pool.get('account.move.line').create(cr, uid, move)
|
||||
offset += limit
|
||||
|
||||
ids = pool.get('account.move.line').search(cr, uid, [('journal_id','=',new_journal.id),
|
||||
('period_id.fiscalyear_id','=',new_fyear.id)])
|
||||
|
||||
pool.get('account.move.line').reconcile(cr, uid, ids, context=context)
|
||||
|
||||
new_fyear = pool.get('account.fiscalyear').browse(cr, uid, data['form']['fy2_id'])
|
||||
start_jp = new_fyear.start_journal_period_id
|
||||
cr.execute('UPDATE account_fiscalyear ' \
|
||||
|
|
|
@ -28,7 +28,7 @@ from tools.translate import _
|
|||
_transaction_form = '''<?xml version="1.0"?>
|
||||
<form string=" Close states of Fiscal year and periods">
|
||||
<field name="fy_id"/>
|
||||
<separator string="Are you sure you want to close the states of fiscal year and its period?" colspan="4"/>
|
||||
<separator string="Are you sure you want to close the fiscal year ?" colspan="4"/>
|
||||
<field name="sure"/>
|
||||
</form>'''
|
||||
|
||||
|
|
|
@ -41,19 +41,18 @@ def _remove_entries(self, cr, uid, data, context):
|
|||
if not data_fyear.end_journal_period_id:
|
||||
raise wizard.except_wizard(_('Error'), _('No journal for ending writings have been defined for the fiscal year'))
|
||||
period_journal = data_fyear.end_journal_period_id
|
||||
if not period_journal.journal_id.centralisation:
|
||||
raise wizard.except_wizard(_('UserError'), _('The journal must have centralised counterpart'))
|
||||
ids_move = pool.get('account.move').search(cr,uid,[('journal_id','=',period_journal.journal_id.id),('period_id','=',period_journal.period_id.id)])
|
||||
pool.get('account.move').unlink(cr,uid,ids_move)
|
||||
cr.execute('UPDATE account_journal_period ' \
|
||||
'SET state = %s ' \
|
||||
'WHERE period_id IN (SELECT id FROM account_period WHERE fiscalyear_id = %s)',
|
||||
('draft',data_fyear))
|
||||
cr.execute('UPDATE account_period SET state = %s ' \
|
||||
'WHERE fiscalyear_id = %s', ('draft',data_fyear))
|
||||
cr.execute('UPDATE account_fiscalyear ' \
|
||||
'SET state = %s, end_journal_period_id = null '\
|
||||
'WHERE id = %s', ('draft',data_fyear))
|
||||
if ids_move:
|
||||
cr.execute('delete from account_move where id in ('+','.join(map(str,ids_move))+')')
|
||||
#cr.execute('UPDATE account_journal_period ' \
|
||||
# 'SET state = %s ' \
|
||||
# 'WHERE period_id IN (SELECT id FROM account_period WHERE fiscalyear_id = %s)',
|
||||
# ('draft',data_fyear))
|
||||
#cr.execute('UPDATE account_period SET state = %s ' \
|
||||
# 'WHERE fiscalyear_id = %s', ('draft',data_fyear))
|
||||
#cr.execute('UPDATE account_fiscalyear ' \
|
||||
# 'SET state = %s, end_journal_period_id = null '\
|
||||
# 'WHERE id = %s', ('draft',data_fyear))
|
||||
return {}
|
||||
|
||||
class open_closed_fiscal(wizard.interface):
|
||||
|
|
Loading…
Reference in New Issue