[IMP]: improvement in voucher

bzr revid: mga@tinyerp.com-20100818234352-wh52b01gs09ldfth
This commit is contained in:
Mantavya Gajjar 2010-08-19 05:13:52 +05:30
parent 57362a8ac0
commit 4f458063b1
5 changed files with 20 additions and 40 deletions

View File

@ -676,6 +676,7 @@
<field name="period_id"/>
<field name="journal_id"/>
<field name="partner_id"/>
<field name="reconcile_id"/>
<field name="amount" sum="Total Amount"/>
<field name="state"/>
</tree>

View File

@ -60,14 +60,13 @@ class account_move(osv.osv):
rs.update({
'reconcile_id': line.reconcile_id.id
})
break
res[move.id] = rs
return res
_columns = {
'reconcile_id': fields.function(_amount_all, method=True, type="many2one", relation="account.move.line", string='Reconcile',
store={
'account.move.line': (_get_line_ids, [], 20),
},
'reconcile_id': fields.function(_amount_all, method=True, type="many2one", relation="account.move.reconcile", select=True, string='Reconcile',
store=True,
multi='all'),
}
@ -101,7 +100,7 @@ class account_move(osv.osv):
elif ttype and ttype in('sale', 'purchase'):
raise osv.except_osv(_('Invalid action !'), _('You can not reconcile sales, purchase, or journal voucher with invoice !'))
args += [('journal_id.type','=', 'do_not_allow_search')]
res = super(account_move, self).search(cr, user, args, offset, limit, order, context, count)
res = super(account_move, self).search(cr, user, args, offset, limit, order, {}, count)
return res
account_move()
@ -239,7 +238,7 @@ class account_voucher(osv.osv):
res = []
context.update({
'ttype':ttype,
'type':ttype,
'partner_id':partner_id,
'voucher':True,
})
@ -249,6 +248,10 @@ class account_voucher(osv.osv):
'context':context,
}
if not partner_id or not ttype:
if ids:
line_ids = line_pool.search(cr, uid, [('voucher_id','=',ids[0])])
if line_ids:
line_pool.unlink(cr, uid, line_ids)
return default
if ttype not in ('payment', 'receipt'):
@ -262,7 +265,7 @@ class account_voucher(osv.osv):
line_pool.unlink(cr, uid, line_ids)
voucher_id = ids[0]
ids = move_pool.search(cr, uid, [('state','=','posted'), ('partner_id','=',partner_id), ('reconcile_id','=', False)], context=context)
ids = move_pool.search(cr, uid, [('reconcile_id','=', False), ('state','=','posted'), ('partner_id','=',partner_id)], context=context)
for move in move_pool.browse(cr, uid, ids):
rs = {
'ref':move.ref or '/',

View File

@ -10,8 +10,8 @@
<group col="6" colspan="4">
<field name="partner_id" on_change="onchange_partner_id(partner_id, type)"/>
<field name="name" colspan="4"/>
<field name="journal_id" widget="selection" select="1" on_change="onchange_journal(journal_id,type)"/>
<field name="account_id" widget="selection" on_change="onchange_account(account_id)" readonly="1"/>
<field name="journal_id" domain="[('type','in',['bank', 'cash'])]" widget="selection" select="1" on_change="onchange_journal(journal_id,type)"/>
<field name="account_id" domain="[('type','=','other')]" widget="selection" on_change="onchange_account(account_id)" readonly="1"/>
<field name="number"/>
</group>
<notebook colspan="4">
@ -79,8 +79,8 @@
<group col="6" colspan="4">
<field name="partner_id" on_change="onchange_partner_id(partner_id, type)"/>
<field name="name" colspan="4"/>
<field name="journal_id" widget="selection" select="1" on_change="onchange_journal(journal_id,type)"/>
<field name="account_id" widget="selection" on_change="onchange_account(account_id)" readonly="1"/>
<field name="journal_id" domain="[('type','in',['bank', 'cash'])]" widget="selection" select="1" on_change="onchange_journal(journal_id,type)"/>
<field name="account_id" domain="[('type','=','other')]" widget="selection" on_change="onchange_account(account_id)" readonly="1"/>
<field name="number"/>
</group>
<notebook colspan="4">

View File

@ -133,6 +133,7 @@ class account_voucher(osv.osv):
line_ids += [move_line_pool.create(cr, uid, move_line)]
else:
for line in inv.payment_ids:
amount=0.0
if inv.type in ('payment'):
@ -169,13 +170,11 @@ class account_voucher(osv.osv):
move_line.update({
'debit': line.amount or False
})
amount = line.amount
elif line.type == 'cr':
move_line.update({
'credit': line.amount or False
})
amount = line.amount
move_line_id = move_line_pool.create(cr, uid, move_line)
line_ids += [move_line_id]
@ -185,10 +184,10 @@ class account_voucher(osv.osv):
for move_line in line.move_id.line_id:
if line.account_id.id == move_line.account_id.id:
rec_ids += [move_line.id]
if rec_ids:
move_line_pool.reconcile_partial(cr, uid, rec_ids)
rec = {
'move_id': move_id
}

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_vendor_payment_form_inherit" model="ir.ui.view">
<field name="name">account.voucher.form.inherit</field>
<field name="model">account.voucher</field>
@ -32,7 +33,7 @@
<field name="payment_ids" colspan="4" nolabel="1" height="200">
<tree string="Payment Lines" editable="top">
<field name="ref" on_change="onchange_partner(parent.partner_id,type,parent.type, parent.currency_id)"/>
<field name="move_id" string="Sales Receipt" context="{'ttype':parent.type, 'partner_id':parent.partner_id, 'voucher':True}" on_change="onchange_invoice_id(move_id, parent.currency_id)" domain="[('state','=','posted'), ('partner_id','=',parent.partner_id), ('reconcile_id','=', False)]"/>
<field name="move_id" string="Sales Receipt" context="{'type':parent.type, 'partner_id':parent.partner_id, 'voucher':True}" on_change="onchange_invoice_id(move_id, parent.currency_id)" domain="[('state','=','posted'), ('partner_id','=',parent.partner_id), ('reconcile_id','=', False)]"/>
<field name="amount"/>
<field name="account_id"/>
<field name="type" on_change="onchange_type(parent.partner_id,type,parent.type, parent.currency_id)"/>
@ -43,30 +44,6 @@
</field>
</record>
<!-- <record id="view_move_line_form" model="ir.ui.view">-->
<!-- <field name="name">account.move.line.form.inherit</field>-->
<!-- <field name="model">account.move.line</field>-->
<!-- <field name="type">form</field>-->
<!-- <field name="inherit_id" ref="account.view_move_line_form"/>-->
<!-- <field name="arch" type="xml">-->
<!-- <field name="invoice" position="replace">-->
<!-- <field name="voucher_invoice"/>-->
<!-- </field>-->
<!-- </field>-->
<!-- </record>-->
<!-- <record id="view_move_line_tree" model="ir.ui.view">-->
<!-- <field name="name">account.move.line.form.inherit</field>-->
<!-- <field name="model">account.move.line</field>-->
<!-- <field name="type">tree</field>-->
<!-- <field name="inherit_id" ref="account.view_move_line_tree"/>-->
<!-- <field name="arch" type="xml">-->
<!-- <field name="invoice" position="replace">-->
<!-- <field name="voucher_invoice"/>-->
<!-- </field>-->
<!-- </field>-->
<!-- </record>-->
<record model="ir.ui.view" id="view_vendor_payment_form_unreconcile">
<field name="name">account.voucher.form.payment.unreconcile</field>
<field name="model">account.voucher</field>