1650
1650
result = {'fiscal_operation_id': False, 'fiscal_document_id': False, 'document_serie_id': False}
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)})
1655
1655
result.update(fiscal_result)
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,))
1667
1667
result['document_serie_id'] = document_serie_id[0].id
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
1713
1713
result['value'].update(fiscal_data)
1717
def onchange_cfop_id(self, cr, uid, ids, cfop_id):
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})
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):
1719
result = {'value': {} }
1721
if not company_id or not fiscal_operation_category_id:
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)
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)
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']
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
1745
#def onchange_cfop_id(self, cr, uid, ids, cfop_id):
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})
1754
# return {'value': {'cfop_id': cfop_id}}
1728
1756
account_invoice()
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):
2136
# result = {'value': {'cfop_id': False}}
2139
# if not fiscal_operation_id:
2142
# result['value']['cfop_id'] = self.pool.get('l10n_br_account.fiscal.operation').read(cr, uid, [fiscal_operation_id], ['cfop_id'])[0]['cfop_id']
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):
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)
2117
2157
result['value']['fiscal_operation_category_id'] = fiscal_operation_category_id
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']
2125
2165
fiscal_data = self._fiscal_position_map(cr, uid, ids, partner_id, address_invoice_id, company_id, fiscal_operation_category_id)
2127
2167
result['value'].update(fiscal_data)
2131
2171
account_invoice_line()
2134
2173
class account_invoice_tax(osv.osv):
2135
2174
_inherit = "account.invoice.tax"
2136
2175
_description = "Invoice Tax"