[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:
Mustufa Rangwala (OpenERP) 2012-07-16 18:34:32 +05:30
commit b52efe5f85
4 changed files with 126 additions and 31 deletions

View File

@ -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()

View File

@ -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"/>

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)
@ -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:

View File

@ -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">