Fix - impuestos locales
This commit is contained in:
parent
964d53dbae
commit
b70fac7872
|
@ -89,6 +89,8 @@ class CFDI(object):
|
|||
return xml
|
||||
|
||||
def _validate(self, datos):
|
||||
print (datos['impuestos']['total_locales_trasladados'])
|
||||
print (datos['impuestos']['total_locales_retenciones'])
|
||||
if datos['impuestos']['total_locales_trasladados'] or \
|
||||
datos['impuestos']['total_locales_retenciones']:
|
||||
self._impuestos_locales = True
|
||||
|
|
|
@ -2197,8 +2197,6 @@ class Facturas(BaseModel):
|
|||
'UsoCFDI': invoice.uso_cfdi,
|
||||
}
|
||||
|
||||
#~ descuento = 0
|
||||
#~ tax_locales = False
|
||||
conceptos = []
|
||||
rows = FacturasDetalle.select().where(FacturasDetalle.factura==invoice)
|
||||
for row in rows:
|
||||
|
@ -2214,7 +2212,6 @@ class Facturas(BaseModel):
|
|||
}
|
||||
if row.descuento:
|
||||
concepto['Descuento'] = FORMAT.format(row.descuento)
|
||||
#~ descuento += row.descuento
|
||||
|
||||
taxes = {}
|
||||
traslados = []
|
||||
|
@ -2225,7 +2222,6 @@ class Facturas(BaseModel):
|
|||
continue
|
||||
|
||||
if impuesto.key == '000':
|
||||
#~ tax_locales = True
|
||||
continue
|
||||
|
||||
base = row.importe - row.descuento
|
||||
|
@ -2271,19 +2267,21 @@ class Facturas(BaseModel):
|
|||
.where(FacturasImpuestos.factura==invoice))
|
||||
for tax in taxes:
|
||||
if tax.impuesto.key == '000':
|
||||
tasa = str(round(tax.impuesto.tasa * 100, 2))
|
||||
simporte = FORMAT.format(tax.importe)
|
||||
if tax.impuesto.tipo == 'T':
|
||||
traslado = {
|
||||
'ImpLocTrasladado': tax.impuesto.name,
|
||||
'TasadeTraslado': str(round(tax.impuesto.tasa, 2)),
|
||||
'Importe': FORMAT.format(tax.importe),
|
||||
'TasadeTraslado': tasa,
|
||||
'Importe': simporte,
|
||||
}
|
||||
locales_trasladados.append(traslado)
|
||||
total_locales_trasladados += tax.importe
|
||||
else:
|
||||
retencion = {
|
||||
'ImpLocRetenido': tax.impuesto.name,
|
||||
'TasadeRetencion': str(round(tax.impuesto.tasa, 2)),
|
||||
'Importe': FORMAT.format(tax.importe),
|
||||
'TasadeRetencion': tasa,
|
||||
'Importe': simporte,
|
||||
}
|
||||
locales_retenciones.append(retencion)
|
||||
total_locales_retenciones += tax.importe
|
||||
|
@ -2309,10 +2307,14 @@ class Facturas(BaseModel):
|
|||
|
||||
impuestos['traslados'] = traslados
|
||||
impuestos['retenciones'] = retenciones
|
||||
impuestos['total_locales_trasladados'] = \
|
||||
FORMAT.format(total_locales_trasladados)
|
||||
impuestos['total_locales_retenciones'] = \
|
||||
FORMAT.format(total_locales_retenciones)
|
||||
impuestos['total_locales_trasladados'] = ''
|
||||
if total_locales_trasladados:
|
||||
impuestos['total_locales_trasladados'] = \
|
||||
FORMAT.format(total_locales_trasladados)
|
||||
impuestos['total_locales_retenciones'] = ''
|
||||
if total_locales_retenciones:
|
||||
impuestos['total_locales_retenciones'] = \
|
||||
FORMAT.format(total_locales_retenciones)
|
||||
impuestos['locales_trasladados'] = locales_trasladados
|
||||
impuestos['locales_retenciones'] = locales_retenciones
|
||||
|
||||
|
|
|
@ -298,7 +298,7 @@ function get_config_values(opt){
|
|||
},
|
||||
success: function(text, data, xhr) {
|
||||
var values = data.json()
|
||||
showvar(values)
|
||||
//~ showvar(values)
|
||||
Object.keys(values).forEach(function(key){
|
||||
$$(key).setValue(values[key])
|
||||
})
|
||||
|
|
|
@ -280,6 +280,19 @@ function validate_invoice(values){
|
|||
}
|
||||
}
|
||||
|
||||
donativo = $$('chk_cfdi_donativo').getValue()
|
||||
if(donativo){
|
||||
query = table_totals.chain().data()
|
||||
for(var t of query){
|
||||
tax = table_taxes.findOne({'id': t.tax})
|
||||
if(tax.tipo != 'E'){
|
||||
msg = 'Los donativos deben de ser exentos'
|
||||
msg_error(msg)
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue