Mostrar CFDI relacionados en PDF
This commit is contained in:
parent
a9dcc07427
commit
a5f8b62929
|
@ -864,8 +864,17 @@ def get_qr(data):
|
||||||
return path
|
return path
|
||||||
|
|
||||||
|
|
||||||
def _comprobante(values, options):
|
def _get_relacionados(doc, version):
|
||||||
data = CaseInsensitiveDict(values)
|
node = doc.find('{}CfdiRelacionados'.format(PRE[version]))
|
||||||
|
if node is None:
|
||||||
|
return ''
|
||||||
|
|
||||||
|
uuids = ['UUID: {}'.format(n.attrib['UUID']) for n in node.getchildren()]
|
||||||
|
return '\n'.join(uuids)
|
||||||
|
|
||||||
|
|
||||||
|
def _comprobante(doc, options):
|
||||||
|
data = CaseInsensitiveDict(doc.attrib.copy())
|
||||||
del data['certificado']
|
del data['certificado']
|
||||||
|
|
||||||
data['totalenletras'] = to_letters(float(data['total']), data['moneda'])
|
data['totalenletras'] = to_letters(float(data['total']), data['moneda'])
|
||||||
|
@ -884,6 +893,8 @@ def _comprobante(values, options):
|
||||||
data['condicionesdepago'] = \
|
data['condicionesdepago'] = \
|
||||||
'Condiciones de pago: {}'.format(data['condicionesdepago'])
|
'Condiciones de pago: {}'.format(data['condicionesdepago'])
|
||||||
data['moneda'] = options['moneda']
|
data['moneda'] = options['moneda']
|
||||||
|
data['tiporelacion'] = options.get('tiporelacion', '')
|
||||||
|
data['relacionados'] = _get_relacionados(doc, data['version'])
|
||||||
else:
|
else:
|
||||||
fields = {
|
fields = {
|
||||||
'formaDePago': 'Forma de Pago: {}\n',
|
'formaDePago': 'Forma de Pago: {}\n',
|
||||||
|
@ -1052,7 +1063,7 @@ def _timbre(doc, version, values):
|
||||||
def get_data_from_xml(invoice, values):
|
def get_data_from_xml(invoice, values):
|
||||||
data = {'cancelada': invoice.cancelada}
|
data = {'cancelada': invoice.cancelada}
|
||||||
doc = parse_xml(invoice.xml)
|
doc = parse_xml(invoice.xml)
|
||||||
data['comprobante'] = _comprobante(doc.attrib.copy(), values)
|
data['comprobante'] = _comprobante(doc, values)
|
||||||
version = data['comprobante']['version']
|
version = data['comprobante']['version']
|
||||||
data['emisor'] = _emisor(doc, version, values)
|
data['emisor'] = _emisor(doc, version, values)
|
||||||
data['receptor'] = _receptor(doc, version, values)
|
data['receptor'] = _receptor(doc, version, values)
|
||||||
|
|
|
@ -1309,6 +1309,12 @@ class Facturas(BaseModel):
|
||||||
obj = SATMonedas.get(SATMonedas.key==invoice.moneda)
|
obj = SATMonedas.get(SATMonedas.key==invoice.moneda)
|
||||||
values['moneda'] = str(obj)
|
values['moneda'] = str(obj)
|
||||||
|
|
||||||
|
if invoice.tipo_relacion:
|
||||||
|
obj = SATTipoRelacion.get(SATTipoRelacion.key==invoice.tipo_relacion)
|
||||||
|
values['tiporelacion'] = str(obj)
|
||||||
|
|
||||||
|
print ('\nTR', invoice.tipo_relacion)
|
||||||
|
|
||||||
return values
|
return values
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
Loading…
Reference in New Issue