~akretion-team/openerp.pt-br-localiz/demo-data

« back to all changes in this revision

Viewing changes to l10n_br_account/account_invoice.py

  • Committer: renatonlima at gmail
  • Date: 2011-11-14 17:46:47 UTC
  • Revision ID: renatonlima@gmail.com-20111114174647-lykv90jewbhefs2c
l10n_br_account: alterada a visão dos dados adicionais da nota fiscal de entrada e saida, resolvido métodos onchange da localização, l10n_br_delivery: criado menu para veiculos, otimizada a visão de veiculos, l10n_brs: Adicionada a pasta test dos modulos da localização para implementação de testes

Show diffs side-by-side

added added

removed removed

Lines of Context:
1650
1650
        result = {'fiscal_operation_id': False, 'fiscal_document_id': False, 'document_serie_id': False}
1651
1651
 
1652
1652
        obj_rule = self.pool.get('account.fiscal.position.rule')
1653
 
        fiscal_result = obj_rule.fiscal_position_map(cr, uid, partner_id, partner_invoice_id, company_id, fiscal_operation_category_id, context={'use_domain': ('use_invoice','=',True)})
 
1653
        fiscal_result = obj_rule.fiscal_position_map(cr, uid, partner_id, partner_invoice_id, company_id, fiscal_operation_category_id, context={'use_domain': ('use_invoice','=',True)})   
1654
1654
 
1655
1655
        result.update(fiscal_result)
1656
1656
 
1665
1665
                raise osv.except_osv(_('Nenhuma série de documento fiscal !'),_("Empresa não tem uma série de documento fiscal cadastrada: '%s', você deve informar uma série no cadastro de empresas") % (obj_company.name,))
1666
1666
            else:
1667
1667
                result['document_serie_id'] = document_serie_id[0].id
1668
 
                
 
1668
 
1669
1669
            for inv in self.browse(cr,uid,ids):
1670
1670
                for line in inv.invoice_line:
1671
 
                    line.cfop_id = obj_foperation.cfop_id.id
 
1671
                        line.cfop_id = obj_foperation.cfop_id.id
1672
1672
 
1673
1673
        return result
1674
1674
 
1712
1712
 
1713
1713
        result['value'].update(fiscal_data)
1714
1714
       
1715
 
        return result  
1716
 
 
1717
 
    def onchange_cfop_id(self, cr, uid, ids, cfop_id):
 
1715
        return result
1718
1716
    
1719
 
        if not cfop_id:
1720
 
            return False
1721
 
        
1722
 
        for inv in self.browse(cr, uid, ids):    
1723
 
            for inv_line in inv.invoice_line:
1724
 
                self.pool.get('account.invoice.line').write(cr, uid, inv_line.id, {'cfop_id': inv.fiscal_operation_id.cfop_id.id})
1725
 
            
1726
 
        return {'value': {'cfop_id': cfop_id}}
 
1717
    def onchange_fiscal_operation_id(self, cr, uid, ids, partner_address_id=False, partner_id=False, company_id=False, fiscal_operation_category_id=False, fiscal_operation_id=False):
 
1718
 
 
1719
        result = {'value': {} }
 
1720
 
 
1721
        if not company_id or not fiscal_operation_category_id:
 
1722
            return result
 
1723
 
 
1724
        fiscal_data = self._fiscal_position_map(cr, uid, ids, partner_id, partner_address_id, company_id, fiscal_operation_category_id)
 
1725
        result['value'].update(fiscal_data)
 
1726
       
 
1727
        if fiscal_operation_id:
 
1728
            obj_fiscal_position = self.pool.get('account.fiscal.position').browse(cr, uid, fiscal_operation_id)
 
1729
            if not fiscal_operation_id == obj_fiscal_position.fiscal_operation_id.id:
 
1730
                obj_foperation = self.pool.get('l10n_br_account.fiscal.operation').browse(cr, uid, fiscal_operation_id)
 
1731
        else:
 
1732
            obj_foperation = self.pool.get('l10n_br_account.fiscal.operation').browse(cr, uid, result['value']['fiscal_operation_id'])
 
1733
            result['value']['fiscal_position'] = False
 
1734
            result['fiscal_document_id'] = False
 
1735
            result['document_serie_id'] = False
 
1736
            del result['value']['fiscal_operation_id']            
 
1737
 
 
1738
        for inv in self.browse(cr,uid,ids):
 
1739
            for line in inv.invoice_line:
 
1740
                    line.cfop_id = obj_foperation.cfop_id.id
 
1741
 
 
1742
        return result
 
1743
 
 
1744
    #REMOVE
 
1745
    #def onchange_cfop_id(self, cr, uid, ids, cfop_id):
 
1746
    #
 
1747
    #    if not cfop_id:
 
1748
    #        return False
 
1749
    #    
 
1750
    #    for inv in self.browse(cr, uid, ids):    
 
1751
    #        for inv_line in inv.invoice_line:
 
1752
    #            self.pool.get('account.invoice.line').write(cr, uid, inv_line.id, {'cfop_id': inv.fiscal_operation_id.cfop_id.id})
 
1753
    #        
 
1754
    #    return {'value': {'cfop_id': cfop_id}}
1727
1755
 
1728
1756
account_invoice()
1729
1757
 
2103
2131
 
2104
2132
        return result
2105
2133
 
 
2134
    #def onchange_fiscal_operation_id(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=False, fiscal_operation_id=False):
 
2135
    #
 
2136
    #    result = {'value': {'cfop_id': False}}
 
2137
    #    print context
 
2138
    #    
 
2139
    #    if not fiscal_operation_id:
 
2140
    #        return result
 
2141
   # 
 
2142
   #     result['value']['cfop_id'] = self.pool.get('l10n_br_account.fiscal.operation').read(cr, uid, [fiscal_operation_id], ['cfop_id'])[0]['cfop_id']
 
2143
   # 
 
2144
   #     return result
 
2145
 
2106
2146
    def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=False, fiscal_operation_category_id=False, fiscal_operation_id=False):
2107
2147
 
2108
2148
        result = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context, company_id)
2116
2156
 
2117
2157
            result['value']['fiscal_operation_category_id'] = fiscal_operation_category_id
2118
2158
            
2119
 
            if fiscal_operation_id:
2120
 
                result['value']['fiscal_operation_id'] = fiscal_operation_id
2121
 
                result['value']['cfop_id'] = self.pool.get('l10n_br_account.fiscal.operation').read(cr, uid, [fiscal_operation_id], ['cfop_id'])[0]['cfop_id']
 
2159
        if fiscal_operation_id:
 
2160
            result['value']['fiscal_operation_id'] = fiscal_operation_id
 
2161
            result['value']['cfop_id'] = self.pool.get('l10n_br_account.fiscal.operation').read(cr, uid, [fiscal_operation_id], ['cfop_id'])[0]['cfop_id']
2122
2162
            
2123
2163
            return result
2124
2164
 
2125
2165
        fiscal_data = self._fiscal_position_map(cr, uid, ids, partner_id, address_invoice_id, company_id, fiscal_operation_category_id)
2126
2166
        
2127
2167
        result['value'].update(fiscal_data)
2128
 
            
 
2168
 
2129
2169
        return result
2130
2170
 
2131
2171
account_invoice_line()
2132
2172
 
2133
 
 
2134
2173
class account_invoice_tax(osv.osv):
2135
2174
    _inherit = "account.invoice.tax"
2136
2175
    _description = "Invoice Tax"