def _calculate(self, cr, uid, ids, field_names, arg, context=None): res = super(hr_payslip, self)._calculate(cr, uid, ids,field_names,context) for case in self.browse(cr,uid,ids): res[case.id]['total_pay'] = res[case.id]['other_pay'] + res[case.id]['net'] if res[case.id]['total_pay'] >= 0 : res[case.id]['amt_words'] = ' Rupees ' + amount_to_text_softapps._100000000_to_text(int(round(res[case.id]['total_pay']))) + ' Only' return res
def _amt_in_words(self, cr, uid, ids, fields_name, args, context): res={} untax_amt = tax = total = 0 txt=' Rupees ' for case in self.browse(cr, uid, ids): for line in case.invoice_line: untax_amt += line.price_subtotal for ln in line.invoice_line_tax_id: tax += (line.price_subtotal * ln.amount) total = untax_amt + tax txt += amount_to_text_softapps._100000000_to_text(int(round(total))) txt += ' Only' res[case.id]=txt return res
def print_Handling(self, cr, uid, ids, context =None ): inv_vals = {} inv_line_vals = {} if not context: context={} rep_obj = self.pool.get('ir.actions.report.xml') picking_obj = self.pool.get('stock.picking.out') mv_obj = self.pool.get('stock.move') inv_obj = self.pool.get('account.invoice') journal_obj = self.pool.get('account.journal') inv_ln_obj = self.pool.get('account.invoice.line') qty = 0 unit_price = freight_amt =0 line_price=0 list={} inv_ids=context.get('active_ids',[]) qty_txt='' res={} res1={} data = {} data2 ={} cur_qtxt='' cur_txt='' amt='' amt_txt='' attachment_obj = self.pool.get('ir.attachment') cust=[] freight_amt_txt = '' for case in self.browse(cr, uid, ids): for inv in inv_obj.browse(cr,uid,inv_ids): unit_price=case.product_rate+case.freight_rate # if inv.product_rate and case.freight_rate: # unit_price=inv.product_rate+case.freight_rate # if inv.freight_rate and case.product_rate: # unit_price=inv.freight_rate+case. product_rate cr.execute("select id from res_partner where lower(name) like 'i.t.c%'") cust=[x[0] for x in cr.fetchall()] for line in inv.invoice_line: line_price=line.price_unit if not unit_price>line_price: # inv_obj.write(cr,uid,[inv.id],{'product_rate':case.product_rate,'freight_rate' :case.freight_rate}) cr.execute("update account_invoice set product_rate=%s where id=%s",(case.product_rate,inv.id,)) cr.execute("update account_invoice set freight_rate=%s where id=%s",(case.freight_rate,inv.id,)) else: raise osv.except_osv(_('Warning'),_('Enter the Valid Amount')) if case.product_order: cr.execute("update account_invoice set product_order=%s where id=%s",(case.product_order,inv.id,)) if case.handling_order: cr.execute("update account_invoice set handling_order=%s where id=%s",(case.handling_order,inv.id,)) if inv.partner_id.id in cust: if unit_price>0: qty=+(line.quantity) if qty>0: qty_txt = amount_to_text_softapps._100000000_to_text(int(round(qty))) freight_amt=qty*case.freight_rate amt = qty*case.product_rate if amt>0: freight_amt_txt = amount_to_text_softapps._100000000_to_text(int(round(freight_amt))) amt_txt = amount_to_text_softapps._100000000_to_text(int(round(amt))) if not unit_price>line_price: # inv_obj.write(cr,uid,[inv.id],{'product_rate':case.product_rate,'freight_rate' :case.freight_rate}) cr.execute("update account_invoice set product_rate=%s where id=%s",(case.product_rate,inv.id,)) cr.execute("update account_invoice set freight_rate=%s where id=%s",(case.freight_rate,inv.id,)) cr.execute("update account_invoice set amt_txt=%s where id=%s",(amt_txt,inv.id,)) cr.execute("update account_invoice set amt_txt_freight=%s where id=%s",(freight_amt_txt,inv.id,)) print "product_rate",inv.product_rate print "freight_rate",inv.freight_rate context.update({'product_rate':case.product_rate,'freight_rate' :case.freight_rate}) res = rep_obj.pentaho_report_action(cr, uid, 'Handling Invoice For ITC', inv_ids,None,None) else: res = rep_obj.pentaho_report_action(cr, uid, 'Transport Invoice', inv_ids,None,None) return res
def print_Transport(self, cr, uid, ids, context =None ): inv_vals = {} inv_line_vals = {} if not context: context={} rep_obj = self.pool.get('ir.actions.report.xml') picking_obj = self.pool.get('stock.picking.out') mv_obj = self.pool.get('stock.move') inv_obj = self.pool.get('account.invoice') journal_obj = self.pool.get('account.journal') inv_ln_obj = self.pool.get('account.invoice.line') qty = 0 unit_price=0 line_price=0 list={} inv_ids=context.get('active_ids',[]) qty_txt='' res={} res1={} data = {} data2 ={} cur_qtxt='' cur_txt='' amt='' amt_txt='' attachment_obj = self.pool.get('ir.attachment') for case in self.browse(cr, uid, ids): for inv in inv_obj.browse(cr,uid,inv_ids): cur_qtxt=case.qty_txt cur_txt=case.amt_txt unit_price=case.product_rate+case.freight_rate if inv.product_rate and case.freight_rate: unit_price=inv.product_rate+case.freight_rate if inv.freight_rate and case.product_rate: unit_price=inv.freight_rate+case. product_rate if unit_price>0: for line in inv.invoice_line: line_price=line.price_unit qty=+(line.quantity) if qty>0: qty_txt = amount_to_text_softapps._100000000_to_text(int(round(qty))) amt=qty*case.product_rate if amt>0: amt_txt = amount_to_text_softapps._100000000_to_text(int(round(amt))) if not unit_price>line_price: # inv_obj.write(cr,uid,[inv.id],{'product_rate':case.product_rate,'freight_rate' :case.freight_rate}) cr.execute("update account_invoice set product_rate=%s where id=%s",(case.product_rate,inv.id,)) cr.execute("update account_invoice set freight_rate=%s where id=%s",(case.freight_rate,inv.id,)) # cr.execute("update account_invoice set qty_txt=%s where id=%s",(qty_txt,inv.id,)) cr.execute("update account_invoice set amt_txt=%s where id=%s",(amt_txt,inv.id,)) print "product_rate",inv.product_rate print "freight_rate",inv.freight_rate context.update({'product_rate':case.product_rate,'freight_rate' :case.freight_rate}) res = rep_obj.pentaho_report_action(cr, uid, 'Transport Invoice For ITC', inv_ids,None,None) else: raise osv.except_osv(_('Warning'),_('Enter the Valid Amount')) # cr.execute("update account_invoice set qty_txt=%s where id=%s",(cur_qtxt,inv.id,)) # cr.execute("update account_invoice set amt_txt=%s where id=%s",(cur_txt,inv.id,)) return res