diff --git a/source/app/controllers/util.py b/source/app/controllers/util.py
index 5b303c6..a8997a0 100644
--- a/source/app/controllers/util.py
+++ b/source/app/controllers/util.py
@@ -830,6 +830,14 @@ class LIBO(object):
self._set_cell('{donataria.%s}' % k, v)
return
+ def _ine(self, data):
+ if not data:
+ return
+
+ for k, v in data.items():
+ self._set_cell('{ine.%s}' % k, v)
+ return
+
def _render(self, data):
self._set_search()
self._es_pre = data.pop('es_pre', False)
@@ -840,6 +848,7 @@ class LIBO(object):
self._totales(data['totales'])
self._timbre(data['timbre'])
self._donataria(data['donataria'])
+ self._ine(data['ine'])
self._cancelado(data['cancelada'])
self._clean()
return
@@ -1124,6 +1133,22 @@ def _donataria(doc, version, fechadof):
return data
+def _ine(doc, version):
+ node = doc.find('{}Complemento/{}INE'.format(PRE[version], PRE['INE']))
+ if node is None:
+ return {}
+
+ values = (
+ ('TipoComite', 'Tipo de Comite: {}'),
+ ('TipoProceso', 'Tipo de Proceso: {}'),
+ ('IdContabilidad', 'ID de Contabilidad: {}'),
+ )
+ data = CaseInsensitiveDict(node.attrib.copy())
+ for k, v in values:
+ data[k] = v.format(data[k])
+ return data
+
+
def get_data_from_xml(invoice, values):
data = {'cancelada': invoice.cancelada, 'donativo': invoice.donativo}
doc = parse_xml(invoice.xml)
@@ -1134,6 +1159,7 @@ def get_data_from_xml(invoice, values):
data['conceptos'] = _conceptos(doc, version)
data['totales'] = _totales(doc, data['comprobante'], version)
data['donataria'] = _donataria(doc, version, values['fechadof'])
+ data['ine'] = _ine(doc, version)
options = {
'rfc_emisor': data['emisor']['rfc'],
diff --git a/source/app/settings.py b/source/app/settings.py
index 51f7e4f..58007ca 100644
--- a/source/app/settings.py
+++ b/source/app/settings.py
@@ -85,6 +85,7 @@ PRE = {
'3.3': '{http://www.sat.gob.mx/cfd/3}',
'TIMBRE': '{http://www.sat.gob.mx/TimbreFiscalDigital}',
'DONATARIA': '{http://www.sat.gob.mx/donat}',
+ 'INE': '{http://www.sat.gob.mx/ine}',
'NOMINA': {
'1.1': '{http://www.sat.gob.mx/nomina}',
'1.2': '{http://www.sat.gob.mx/nomina12}',
diff --git a/source/static/js/controller/invoices.js b/source/static/js/controller/invoices.js
index fa51c75..cd96780 100644
--- a/source/static/js/controller/invoices.js
+++ b/source/static/js/controller/invoices.js
@@ -407,7 +407,7 @@ function save_invoice(data){
success:function(text, data, XmlHttpRequest){
values = data.json();
if(values.ok){
- msg_ok('Factura guardada correctamente. Enviando a timbrar')
+ msg_ok('Factura guardada correctamente
Enviando a timbrar...')
update_grid_invoices(values)
gi.select(values.row['id'], false)
send_timbrar(values.row['id'])
@@ -518,7 +518,7 @@ function guardar_y_timbrar(values){
tipo_relacion = ''
anticipo = false
$$('chk_cfdi_anticipo').setValue(0)
- $$('chk_cfdi_usar_ine').getValue(0)
+ $$('chk_cfdi_usar_ine').setValue(0)
$$('form_invoice').setValues({id_partner: 0, lbl_partner: 'Ninguno'})
$$('multi_invoices').setValue('invoices_home')
@@ -547,6 +547,10 @@ function cmd_timbrar_click(id, e, node){
if(anticipo){
msg += 'La factura es Anticipo
'
}
+ usar_ine = $$('chk_cfdi_usar_ine').getValue()
+ if(usar_ine){
+ msg += 'Estas usando el complemento INE
'
+ }
msg += '¿Estás seguro de timbrar esta factura?'
webix.confirm({