[IMP]l10n_in_hr_payroll: gives IFSC code with bank account number of conc^Cned person

bzr revid: dsi@tinyerp.com-20120713063831-djo31ykbr3jve49h
This commit is contained in:
Digvijay Singh 2012-07-13 12:08:31 +05:30
parent 221013aab1
commit b3285b426f
4 changed files with 89 additions and 37 deletions

View File

@ -120,6 +120,7 @@ class payroll_advice(osv.osv):
'number':fields.char('Number', size=16, readonly=True),
'line_ids':fields.one2many('hr.payroll.advice.line', 'advice_id', 'Employee Salary', states={'draft': [('readonly', False)]}, readonly=True),
'chaque_nos':fields.char('Cheque Numbers', size=256),
'neft':fields.boolean('NEFT', size=16, help="NEFT should be checked if you want IFSC code"),
'company_id':fields.many2one('res.company', 'Company', required=True, readonly=True, states={'draft': [('readonly', False)]}),
'bank_id':fields.many2one('res.bank', 'Bank', readonly=True, states={'draft': [('readonly', False)]}, help="Select the Bank from which the salary is going to be paid"),
}
@ -215,22 +216,26 @@ class payroll_advice_line(osv.osv):
'''
Bank Advice Lines
'''
def get_account_number(self, cr, uid, ids, employee_id=False, context=None):
def onchange_employee_id(self, cr, uid, ids, employee_id=False, context=None):
res = {}
if employee_id:
if not (employee_id):
res = ''
else :
hr_obj = self.pool.get('hr.employee').browse(cr, uid, employee_id, context=context)
acc_number = hr_obj.bank_account_id.acc_number
res.update({'name': acc_number})
ifsc_code_number = hr_obj.bank_account_id.bank_bic
res.update({'name': acc_number ,'ifsc_code': ifsc_code_number})
return {'value': res}
_name = 'hr.payroll.advice.line'
_description = 'Bank Advice Lines'
_columns = {
'advice_id': fields.many2one('hr.payroll.advice', 'Bank Advice'),
'name': fields.char('Bank Account No.', size=32, required=True),
'ifsc_code': fields.char('IFSC', size=16, help="check neft if you want IFSC code"),
'employee_id': fields.many2one('hr.employee', 'Employee', required=True),
'bysal': fields.float('By Salary', digits_compute=dp.get_precision('Payroll')),
'debit_credit': fields.char('c/d', size=8, required=False),
'debit_credit': fields.char('C/D', size=8, required=False),
'company_id': fields.related('advice_id', 'company_id', type='many2one', required=False, relation='res.company', string='Company', store=True),
}
_defaults = {

View File

@ -92,8 +92,9 @@
<page string="Payment Lines">
<field name="line_ids" colspan="4" nolabel="1">
<tree string="Payment Lines" editable="bottom">
<field name="employee_id" on_change="get_account_number(employee_id)"/>
<field name="employee_id" on_change="onchange_employee_id(employee_id)"/>
<field name="name"/>
<field name="ifsc_code"/>
<field name="bysal"/>
<field name="debit_credit"/>
</tree>
@ -103,6 +104,7 @@
<group colspan="4" col="6">
<field name="company_id" on_change="onchange_company_id(company_id)" groups="base.group_multi_company" widget="selection"/>
<field name="chaque_nos"/>
<field name="neft"/>
</group>
<separator colspan="4" string="Letter Details"/>
<field name="note" colspan="4" nolabel="1"/>

View File

@ -60,7 +60,7 @@ class payroll_advice_report(report_sxw.rml_parse):
def get_bysal_total(self):
return self.total_bysal
def get_detail(self, line_ids):
result = []
self.total_bysal = 0.00
@ -69,7 +69,9 @@ class payroll_advice_report(report_sxw.rml_parse):
res.update({
'name': l.employee_id.name,
'acc_no': l.name,
'ifsc_code': l.ifsc_code,
'bysal': l.bysal,
'debit_credit': l.debit_credit,
})
self.total_bysal += l.bysal
result.append(res)

View File

@ -35,6 +35,8 @@
<lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="4,0" stop="4,0"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="5,0" stop="5,0"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="5,-1" stop="5,-1"/>
</blockTableStyle>
<blockTableStyle id="Table5">
<blockAlignment value="LEFT"/>
@ -49,6 +51,8 @@
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="4,0" stop="4,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="5,0" stop="5,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/>
</blockTableStyle>
<blockTableStyle id="Table6">
<blockAlignment value="LEFT"/>
@ -77,14 +81,13 @@
<paraStyle name="P4" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="JUSTIFY" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P5" fontName="Helvetica" fontSize="8.0" leading="10" alignment="JUSTIFY" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P6" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P7" fontName="Helvetica" fontSize="8.0" leading="10" alignment="JUSTIFY" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P9" fontName="Helvetica" alignment="JUSTIFY"/>
<paraStyle name="P10" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P11" fontName="Helvetica" fontSize="8.0" leading="10" alignment="JUSTIFY" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P12" rightIndent="-0.0" leftIndent="0.0" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="JUSTIFY" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P13" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="JUSTIFY" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P14" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P7" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="JUSTIFY" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P9" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P10" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P11" fontName="Helvetica" alignment="LEFT"/>
<paraStyle name="P12" fontName="Helvetica" fontSize="8.0" leading="10" alignment="JUSTIFY" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P13" rightIndent="-0.0" leftIndent="0.0" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="JUSTIFY" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Standard" fontName="Helvetica"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="12.0" leading="15" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
@ -144,8 +147,8 @@
<blockTable colWidths="234.0,305.0" style="Table1">
<tr>
<td>
<para style="P14">[[ formatLang(time.strftime('%Y-%m-%d'),date=True) ]]</para>
<para style="P10"/>
<para style="P7">[[ formatLang(time.strftime('%Y-%m-%d'),date=True) ]]</para>
<para style="P9"/>
<para style="terp_default_9">
<font color="white"> </font>
</para>
@ -158,7 +161,7 @@
</tr>
<tr>
<td>
<para style="terp_default_Bold_9">To,</para>
<para style="terp_default_Bold_9">To, </para>
<para style="terp_default_Bold_9">The Manager</para>
</td>
<td>
@ -194,7 +197,7 @@
<blockTable colWidths="539.0" style="Table2">
<tr>
<td>
<para style="P8">Payment Advice from [[ o.name ]] A/C no. [[ o.company_id.bank_ids and o.company_id.bank_ids[0].acc_number ]] form period [[ get_month(o.date)['from_name'] ]] to [[ get_month(o.date)['to_name'] ]]</para>
<para style="P10">Payment Advice from [[ o.name ]] A/C no. [[ o.company_id.bank_ids and o.company_id.bank_ids[0].acc_number ]] form period [[ get_month(o.date)['from_name'] ]] to [[ get_month(o.date)['to_name'] ]]</para>
</td>
</tr>
</blockTable>
@ -208,7 +211,7 @@
<para style="terp_default_8_space">
<font color="white"> </font>
</para>
<blockTable colWidths="50.0,153.0,134.0,101.0,101.0,0.0" style="Table4">
<blockTable colWidths="70.0,200.0,107.0,81.0,81.0" style="Table4">[[ o.neft == True and removeParentNode('blockTable') ]]
<tr>
<td>
<para style="P1">SI. No.</para>
@ -223,46 +226,86 @@
<para style="P3">By Salary</para>
</td>
<td>
<para style="P3">c/d</para>
</td>
<td>
<para style="P3">
<font color="white"> </font>
</para>
<para style="P3">C/D</para>
</td>
</tr>
</blockTable>
<section>
<para style="terp_default_8">[[ repeatIn(get_detail(o.line_ids),'line') ]]</para>
<blockTable colWidths="50.0,153.0,134.0,101.0,101.0" style="Table5">
<blockTable colWidths="70.0,200.0,107.0,81.0,81.0" style="Table5">[[ o.neft == True and removeParentNode('blockTable') ]]
<tr>
<td>
<para style="P9" leftIndent="15" bulletIndent="0">
<para style="P11" leftIndent="15" bulletIndent="0">
<bullet><seq id="L1"/>.</bullet>
<font color="white"> </font>
</para>
</td>
<td>
<para style="P7">[[ line['name'] ]]</para>
<para style="P8">[[ line['name'] ]]</para>
</td>
<td>
<para style="P5">[[ line['acc_no'] ]]</para>
</td>
<td>
<para style="P7">[[formatLang(line['bysal'])]] [[ (company.currency_id and company.currency_id.symbol) or '' ]]</para>
</td>
<td>
<para style="P5">[[ line['debit_credit'] ]]</para>
<para style="P8">[[formatLang(line['bysal'])]] [[ (company.currency_id and company.currency_id.symbol) or '' ]]</para>
</td>
<td>
<para style="P7">
<font color="white"> </font>
</para>
<para style="P5">[[ line['debit_credit'] ]]</para>
</td>
</tr>
</blockTable>
</section>
<blockTable colWidths="50.0,153.0,135.0,101.0,101.0" style="Table6">
<blockTable colWidths="40.0,123.0,107.0,107.0,81.0,81.0" style="Table4">[[ o.neft != True and removeParentNode('blockTable') ]]
<tr>
<td>
<para style="P1">SI. No.</para>
</td>
<td>
<para style="P1">Name of the Employe</para>
</td>
<td>
<para style="P3">Bank Account No.</para>
</td>
<td>
<para style="P3">IFSC Code </para>
</td>
<td>
<para style="P3">By Salary</para>
</td>
<td>
<para style="P3">C/D</para>
</td>
</tr>
</blockTable>
<section>
<para style="terp_default_8">[[ repeatIn(get_detail(o.line_ids),'line') ]]</para>
<blockTable colWidths="40.0,123.0,107.0,107.0,81.0,81.0" style="Table5">[[ o.neft !=True and removeParentNode('blockTable') ]]
<tr>
<td>
<para style="P11" leftIndent="15" bulletIndent="0">
<bullet><seq id="L1"/>.</bullet>
<font color="white"> </font>
</para>
</td>
<td>
<para style="P8">[[ line['name'] ]]</para>
</td>
<td>
<para style="P5">[[ line['acc_no'] ]]</para>
</td>
<td>
<para style="P5">[[ line['ifsc_code'] ]]</para>
</td>
<td>
<para style="P8">[[formatLang(line['bysal'])]] [[ (company.currency_id and company.currency_id.symbol) or '' ]]</para>
</td>
<td>
<para style="P5">[[ line['debit_credit'] ]]</para>
</td>
</tr>
</blockTable>
</section>
<blockTable colWidths="58.0,251.0,67.0,94.0,70.0" style="Table6">
<tr>
<td>
<para style="terp_tblheader_Details">