[IMP]:improvement to the account voucher module
bzr revid: mga@tinyerp.com-20100831144233-u8exwykeglp9v6x6
This commit is contained in:
@@ -249,7 +249,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_8_Italic">[[ move_ids.name ]] - [[ get_ref(voucher.id,move_ids) ]]</para>
|
||||
<para style="terp_default_8_Italic">[[ move_ids.name ]] - [[ voucher.reference ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_9_50">
|
||||
|
||||
@@ -89,7 +89,7 @@ class account_voucher(osv.osv):
|
||||
('purchase','Purchase'),
|
||||
('payment','Payment'),
|
||||
('receipt','Receipt'),
|
||||
],'Type'),
|
||||
],'Default Type', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'name':fields.char('Memo', size=256, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'date':fields.date('Date', readonly=True, states={'draft':[('readonly',False)]}, help="Effective date for accounting entries"),
|
||||
'journal_id':fields.many2one('account.journal', 'Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
@@ -116,7 +116,7 @@ class account_voucher(osv.osv):
|
||||
\n* The \'Cancelled\' state is used when user cancel voucher.'),
|
||||
'amount': fields.float('Total', digits=(16, 2), required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'tax_amount':fields.float('Tax Amount', digits=(14,2), readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'reference': fields.char('Ref #', size=64, readonly=True, states={'draft':[('readonly',False)]}, help="Payment or Receipt transaction number, i.e. Bank cheque number or payorder number or Wire transfer number or Acknowledge number."),
|
||||
'reference': fields.char('Ref #', size=64, readonly=True, states={'draft':[('readonly',False)]}, help="Transaction referance number."),
|
||||
'number': fields.related('move_id', 'name', type="char", readonly=True, string='Number'),
|
||||
'move_id':fields.many2one('account.move', 'Account Entry'),
|
||||
'move_ids': fields.related('move_id','line_id', type='many2many', relation='account.move.line', string='Journal Items', readonly=True),
|
||||
@@ -155,8 +155,8 @@ class account_voucher(osv.osv):
|
||||
voucher_amount = 0.0
|
||||
for line in voucher.line_ids:
|
||||
voucher_amount += line.untax_amount or line.amount
|
||||
line.amount = line.untax_amount
|
||||
voucher_line_pool.write(cr, uid, [line.id], {'amount':line.untax_amount, 'untax_amount':line.untax_amount})
|
||||
line.amount = line.untax_amount or line.amount
|
||||
voucher_line_pool.write(cr, uid, [line.id], {'amount':line.amount, 'untax_amount':line.untax_amount})
|
||||
|
||||
if not voucher.tax_id:
|
||||
continue
|
||||
@@ -611,6 +611,7 @@ class account_voucher(osv.osv):
|
||||
}
|
||||
if view_type == 'form':
|
||||
tview = voucher_type.get(context.get('type'))
|
||||
tview = tview or 'view_voucher_form'
|
||||
result = data_pool._get_id(cr, uid, 'account_voucher', tview)
|
||||
view_id = data_pool.browse(cr, uid, result, context=context).res_id
|
||||
|
||||
@@ -707,13 +708,16 @@ class account_voucher_line(osv.osv):
|
||||
return values
|
||||
journal = journal_pool.browse(cr, user, journal_id)
|
||||
account_id = False
|
||||
ttype = 'cr'
|
||||
if journal.type in ('sale', 'purchase_refund'):
|
||||
account_id = journal.default_credit_account_id and journal.default_credit_account_id.id or False
|
||||
elif journal.type in ('purchase', 'expense', 'sale_refund'):
|
||||
account_id = journal.default_debit_account_id and journal.default_debit_account_id.id or False
|
||||
ttype = 'dr'
|
||||
elif partner_id:
|
||||
partner = partner_pool.browse(cr, user, partner_id, context=context)
|
||||
if context.get('type') == 'payment':
|
||||
ttype = 'dr'
|
||||
account_id = partner.property_account_payable.id
|
||||
elif context.get('type') == 'receipt':
|
||||
account_id = partner.property_account_receivable.id
|
||||
@@ -722,6 +726,7 @@ class account_voucher_line(osv.osv):
|
||||
raise osv.except_osv(_('Invalid Error !'), _('Please change partner and try again !'))
|
||||
values.update({
|
||||
'account_id':account_id,
|
||||
'type':ttype
|
||||
})
|
||||
return values
|
||||
account_voucher_line()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="Bill Payment">
|
||||
<group col="6" colspan="4">
|
||||
<field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, type)" string="Customer"/>
|
||||
<field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, type)" string="Vendor"/>
|
||||
<field name="journal_id"
|
||||
domain="[('type','in',['bank', 'cash'])]"
|
||||
widget="selection" select="1"
|
||||
@@ -40,6 +40,9 @@
|
||||
<field name="amount_unreconciled" sum="Open Balance" readonly="1"/>
|
||||
<field name="amount" sum="Payment"/>
|
||||
</tree>
|
||||
<form string="Payment Information">
|
||||
<label string="Form view not available for Payment Lines"/>
|
||||
</form>
|
||||
</field>
|
||||
<field name="line_cr_ids" colspan="4" nolabel="1" attrs="{'invisible': [('pre_line','=',False)]}" default_get="{'journal_id':journal_id, 'partner_id':partner_id}">
|
||||
<tree string="Credits" editable="bottom">
|
||||
@@ -74,7 +77,7 @@
|
||||
<group col="10" colspan="4">
|
||||
<field name="state"/>
|
||||
<button name="cancel_voucher" string="Cancel" states="draft,proforma" icon="gtk-cancel"/>
|
||||
<button name="proforma_voucher" string="Create" states="draft" icon="terp-camera_test"/>
|
||||
<button name="proforma_voucher" string="Post" states="draft" icon="terp-camera_test"/>
|
||||
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>
|
||||
<button name="%(action_view_account_voucher_unreconcile)d" string="Unreconcile" type="action" states="posted" icon="terp-stock_effects-object-colorize"/>
|
||||
</group>
|
||||
|
||||
@@ -2,18 +2,19 @@
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- <act_window-->
|
||||
<!-- id="act_pay_voucher"-->
|
||||
<!-- name="Sales Payment"-->
|
||||
<!-- context="{'partner_id': partner_id, 'type':'receipt', 'journal_type':'bank'}"-->
|
||||
<!-- res_model="account.voucher"-->
|
||||
<!-- src_model="account.voucher"/>-->
|
||||
<act_window
|
||||
id="act_pay_voucher"
|
||||
name="Sales Payment"
|
||||
context="{'default_journal_type':'bank', 'default_type':'receipt', 'default_partner_id': partner_id}"
|
||||
view_id="account_open_vouchers_view"
|
||||
res_model="account.voucher"
|
||||
src_model="account.voucher"/>
|
||||
<!-- <record id="act_pay_voucher" model="ir.actions.act_window">-->
|
||||
<!-- <field name="name">Sales Payment</field>-->
|
||||
<!-- <field name="res_model">account.voucher.open</field>-->
|
||||
<!-- <field name="view_type">form</field>-->
|
||||
<!-- <field name="domain">[('journal_id.type', 'in', ['bank', 'cash']), ('type','=','receipt'), ('partner_id','=',partner_id)]</field>-->
|
||||
<!-- <field name="context">{'journal_type':'bank', 'type':'receipt', 'partner_id': partner_id}</field>-->
|
||||
<!-- <field name="context">{'default_journal_type':'bank', 'default_type':'receipt', 'default_partner_id': partner_id}</field>-->
|
||||
<!-- <field name="view_id" ref="account_open_vouchers_view"/>-->
|
||||
<!-- <field name="target">new</field>-->
|
||||
<!-- </record>-->
|
||||
@@ -26,7 +27,7 @@
|
||||
<form string="Sales Receipt">
|
||||
<group col="6" colspan="4">
|
||||
<field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id)" string="Customer"/>
|
||||
<field name="journal_id" domain="[('type','=','sale')]" widget="selection" on_change="onchange_journal(journal_id)"/>
|
||||
<field name="journal_id" domain="[('type','=','sale')]" widget="selection" on_change="onchange_journal(journal_id)"/>
|
||||
<field name="number"/>
|
||||
<field name="name" colspan="4"/>
|
||||
<field name="date" on_change="onchange_date(date)"/>
|
||||
@@ -34,7 +35,7 @@
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Sales Information">
|
||||
<field name="line_cr_ids" on_change="onchange_price(line_cr_ids, tax_id, partner_id)" default_get="{'journal_id':journal_id, 'type':type, partner_id':partner_id}" colspan="4" nolabel="1" height="180">
|
||||
<field name="line_cr_ids" on_change="onchange_price(line_cr_ids, tax_id, partner_id)" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="180">
|
||||
<tree string="Sales Lines" editable="bottom">
|
||||
<field name="account_id" domain="[('user_type.report_type','=','income'),('type','!=','view')]" widget="selection"/>
|
||||
<field name="name"/>
|
||||
@@ -79,7 +80,7 @@
|
||||
<field name="state"/>
|
||||
<button name="cancel_voucher" string="Cancel" states="draft,proforma" icon="gtk-cancel"/>
|
||||
<button name="proforma_voucher" string="Post" states="draft" icon="terp-camera_test"/>
|
||||
<!-- <button name="%(action_vendor_receipt)d" type="action" string="Pay"/>-->
|
||||
<!-- <button name="%(act_pay_voucher)d" type="action" string="Pay"/>-->
|
||||
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>
|
||||
<button name="%(action_view_account_voucher_unreconcile)d" string="Cancel" type="action" states="posted" icon="terp-stock_effects-object-colorize"/>
|
||||
</group>
|
||||
@@ -130,17 +131,19 @@
|
||||
<separator string="Internal Notes" colspan="2"/>
|
||||
<field name="narration" colspan="2" nolabel="1"/>
|
||||
</group>
|
||||
<group col="4" colspan="1">
|
||||
<group col="2" colspan="1">
|
||||
<separator string="Other Information" colspan="2"/>
|
||||
<field name="date" string="Bill Date" select="1" on_change="onchange_date(date)"/>
|
||||
</group>
|
||||
<group col="2" colspan="1">
|
||||
<group col="2" colspan="1">
|
||||
<separator string="Payment Terms" colspan="2"/>
|
||||
<field name="term_id" widget="selection" on_change="onchange_term_id(term_id, amount)"/>
|
||||
<field name="date" string="Bill Date" select="1" on_change="onchange_date(date)"/>
|
||||
<field name="date_due"/>
|
||||
<field name="amount" required="0" string="Amount Due"/>
|
||||
</group>
|
||||
<group col="4" colspan="1">
|
||||
<separator string="Total" colspan="4"/>
|
||||
<field name="tax_id" on_change="onchange_price(line_dr_ids, tax_id, partner_id)" widget="selection" domain="[('type_tax_use','in',('purchase','all'))]"/><field name="tax_amount" on_change="onchange_price(line_ids, tax_id, partner_id)" nolabel="1"/><button type="object" icon="terp-stock_format-scientific" name="compute_tax" string="Compute Tax" attrs="{'invisible': [('state','!=','draft')]}"/>
|
||||
<label colspan="1" string=""/><field name="amount" string="Total"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Journal Items" groups="base.group_extended" attrs="{'invisible': [('state','!=','posted')]}">
|
||||
|
||||
@@ -27,46 +27,37 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="Accounting Voucher">
|
||||
<group col="6" colspan="4">
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id, type)"/>
|
||||
<field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id)"/>
|
||||
<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="type" on_change="onchange_journal(journal_id,type)"/>
|
||||
<field name="type" on_change="onchange_partner_id(partner_id, journal_id)"/>
|
||||
<field name="reference" select="1"/>
|
||||
<field name="journal_id" widget="selection" select="1" on_change="onchange_partner_id(partner_id, journal_id)"/>
|
||||
<field name="account_id" widget="selection" invisible="True"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Voucher Entry">
|
||||
<field name="line_ids" colspan="4" nolabel="1" height="180">
|
||||
<field name="line_ids" on_change="onchange_price(line_ids, False, partner_id)" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="180">
|
||||
<tree string="Voucher Lines" editable="top">
|
||||
<field name="name" on_change="onchange_partner(parent.partner_id,type,parent.type, parent.currency_id)"/>
|
||||
<field name="account_id"/>
|
||||
<field name="type" on_change="onchange_type(parent.partner_id,type,parent.type, parent.currency_id)"/>
|
||||
<field name="name"/>
|
||||
<field name="amount"/>
|
||||
<field name="ref"/>
|
||||
<field name="type"/>
|
||||
<field name="account_analytic_id" domain="[('parent_id','!=',False)]"/>
|
||||
</tree>
|
||||
</field>
|
||||
<group col="2" colspan="3">
|
||||
<separator string="Narration" colspan="2"/>
|
||||
<separator string="Internal Notes" colspan="2"/>
|
||||
<field name="narration" colspan="2" nolabel="1"/>
|
||||
</group>
|
||||
<group col="2" colspan="1">
|
||||
<group col="2" colspan="1" attrs="{'invisible': [('type','!=','sale')]}">
|
||||
<separator string="Payment Options" colspan="2"/>
|
||||
<field name="pay_now"/>
|
||||
<field name="pay_journal_id" on_change="onchange_pay_journal(pay_journal_id,type)" attrs="{'readonly': [('pay_now','=',False)], 'required': [('pay_now','=',True)]}"/>
|
||||
<field name="pay_account_id" attrs="{'readonly': [('pay_now','=',False)], 'required': [('pay_now','=',True)]}"/>
|
||||
<field name="pay_amount"/>
|
||||
</group>
|
||||
<group col="2" colspan="1">
|
||||
<separator string="Other Information" colspan="2"/>
|
||||
<field name="number"/>
|
||||
<field name="reference" select="1"/>
|
||||
<field name="date" select="1" on_change="onchange_date(date)"/>
|
||||
<field name="currency_id" select="1" attrs="{'readonly':[('type','in',['sale', 'purchase'])]}"/>
|
||||
</group>
|
||||
<separator string="Other Information" colspan="2"/>
|
||||
<field name="amount" string="Total"/>
|
||||
<field name="number"/>
|
||||
<field name="date" select="1" on_change="onchange_date(date)"/>
|
||||
<field name="currency_id" select="1" attrs="{'readonly':[('type','in',['sale', 'purchase'])]}"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Journal Items">
|
||||
<page string="Journal Items" groups="base.group_extended" attrs="{'invisible': [('state','!=','posted')]}">
|
||||
<group col="6" colspan="4">
|
||||
<field name="company_id" select="1" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="period_id"/>
|
||||
@@ -78,9 +69,10 @@
|
||||
</notebook>
|
||||
<group col="10" colspan="4">
|
||||
<field name="state"/>
|
||||
<button name="proforma_voucher" string="Create" states="draft" icon="terp-document-new"/>
|
||||
<button name="cancel_voucher" string="Cancel" states="draft,proforma" icon="gtk-cancel"/>
|
||||
<button name="proforma_voucher" string="Post" states="draft" icon="terp-camera_test"/>
|
||||
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>
|
||||
<button name="%(action_view_account_voucher_unreconcile)d" string="Cancel" type="action" states="posted" icon="terp-stock_effects-object-colorize"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
Reference in New Issue
Block a user