[MERGE] l10n_in_hr_payroll: Add field on payment advice alled neft if it tick then it should have ifsc code on advice line + Improve the report of advice
bzr revid: mra@tinyerp.com-20120716130432-nhuf13z3prdmwt76
This commit is contained in:
commit
b52efe5f85
|
@ -104,8 +104,7 @@ hr_employee()
|
|||
class payroll_advice(osv.osv):
|
||||
'''
|
||||
Bank Advice
|
||||
'''
|
||||
|
||||
'''
|
||||
_name = 'hr.payroll.advice'
|
||||
_description = 'Bank Advice'
|
||||
_columns = {
|
||||
|
@ -120,6 +119,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 Transaction', help="Check this box if your company use online transfer for salary"),
|
||||
'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"),
|
||||
}
|
||||
|
@ -206,8 +206,7 @@ class payroll_advice(osv.osv):
|
|||
res.update({'bank': company.partner_id.bank_ids[0].bank.name})
|
||||
return {
|
||||
'value':res
|
||||
}
|
||||
|
||||
}
|
||||
payroll_advice()
|
||||
|
||||
class hr_payslip_run(osv.osv):
|
||||
|
@ -255,16 +254,31 @@ hr_payslip_run()
|
|||
class payroll_advice_line(osv.osv):
|
||||
'''
|
||||
Bank Advice Lines
|
||||
'''
|
||||
'''
|
||||
def onchange_employee_id(self, cr, uid, ids, employee_id=False, context=None):
|
||||
res = {}
|
||||
hr_obj = self.pool.get('hr.employee')
|
||||
if not employee_id:
|
||||
return {'value': res}
|
||||
employee = hr_obj.browse(cr, uid, [employee_id], context=context)[0]
|
||||
res.update({'name': employee.bank_account_id.acc_number ,'ifsc_code': employee.bank_account_id.bank_bic})
|
||||
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 Code', size=32),
|
||||
'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),
|
||||
'company_id': fields.related('advice_id', 'company_id', type='many2one', required=False, relation='res.company', string='Company', store=True),
|
||||
}
|
||||
_defaults = {
|
||||
'debit_credit': 'C',
|
||||
}
|
||||
|
||||
|
||||
payroll_advice_line()
|
||||
|
||||
|
|
|
@ -100,9 +100,11 @@
|
|||
<page string="Payment Lines">
|
||||
<field name="line_ids" colspan="4" nolabel="1">
|
||||
<tree string="Payment Lines" editable="bottom">
|
||||
<field name="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>
|
||||
</field>
|
||||
</page>
|
||||
|
@ -110,6 +112,8 @@
|
|||
<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"/>
|
||||
<newline/>
|
||||
<field name="neft"/>
|
||||
</group>
|
||||
<separator colspan="4" string="Letter Details"/>
|
||||
<field name="note" colspan="4" nolabel="1"/>
|
||||
|
|
|
@ -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)
|
||||
|
@ -77,4 +79,4 @@ class payroll_advice_report(report_sxw.rml_parse):
|
|||
|
||||
report_sxw.report_sxw('report.payroll.advice', 'hr.payroll.advice', 'l10n_in_hr_payroll/report/report_payroll_advice.rml', parser=payroll_advice_report, header="external")
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -33,6 +33,10 @@
|
|||
<lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#000000" start="3,0" stop="3,0"/>
|
||||
<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"/>
|
||||
|
@ -45,6 +49,10 @@
|
|||
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
|
||||
<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"/>
|
||||
|
@ -57,6 +65,8 @@
|
|||
<lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
|
||||
<lineStyle kind="LINEABOVE" colorName="#000000" start="3,0" stop="3,0"/>
|
||||
<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"/>
|
||||
</blockTableStyle>
|
||||
<blockTableStyle id="Table7">
|
||||
<blockAlignment value="LEFT"/>
|
||||
|
@ -71,10 +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="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"/>
|
||||
|
@ -131,23 +144,24 @@
|
|||
</stylesheet>
|
||||
<story>
|
||||
<para style="terp_default_8">[[repeatIn(objects,'o')]]</para>
|
||||
<blockTable colWidths="269.0,269.0" style="Table1">
|
||||
<blockTable colWidths="234.0,305.0" style="Table1">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<para style="P10">Payment Advice </para>
|
||||
<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>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P6">[[ formatLang(time.strftime('%Y-%m-%d'),date=True) ]]</para>
|
||||
<para style="P6">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_default_Bold_9">To, </para>
|
||||
<para style="terp_default_Bold_9">The Manager</para>
|
||||
</td>
|
||||
<td>
|
||||
|
@ -183,7 +197,7 @@
|
|||
<blockTable colWidths="539.0" style="Table2">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="P8"><u>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'] ]]</u></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>
|
||||
|
@ -197,7 +211,7 @@
|
|||
<para style="terp_default_8_space">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<blockTable colWidths="61.0,189.0,165.0,124.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>
|
||||
|
@ -211,31 +225,87 @@
|
|||
<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="61.0,189.0,165.0,124.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">
|
||||
<bullet><seq id="L1"/></bullet>
|
||||
<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>
|
||||
<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="62.0,189.0,165.0,124.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">
|
||||
|
@ -254,6 +324,11 @@
|
|||
<td>
|
||||
<para style="P4"><font face="Helvetica" size="6.0">[[ o.line_ids==[] and removeParentNode('para') ]]</font>[[ formatLang(get_bysal_total()) ]] [[ (company.currency_id and company.currency_id.symbol) or '' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P4">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="terp_default_0.30cmspace">
|
||||
|
@ -262,7 +337,7 @@
|
|||
<blockTable colWidths="269.0,269.0" style="Table7">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details">Yours Sincerely</para>
|
||||
<para style="terp_default_9">Yours Sincerely</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details">
|
||||
|
@ -272,7 +347,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details">For [[ company.name ]]</para>
|
||||
<para style="terp_default_9">For [[ company.name ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details">
|
||||
|
@ -282,7 +357,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details">
|
||||
<para style="terp_default_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
|
@ -294,7 +369,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details">
|
||||
<para style="terp_default_9">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
|
@ -306,7 +381,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details">Authorized Signature</para>
|
||||
<para style="terp_default_9">Authorized Signature</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_tblheader_Details">
|
||||
|
|
Loading…
Reference in New Issue