Add type Addenda Boveda 01

This commit is contained in:
el Mau 2022-11-01 21:43:41 -06:00
parent 9985fd198c
commit c2544a4a94
1 changed files with 41 additions and 6 deletions

View File

@ -267,11 +267,15 @@ class DictToCfdi():
node_name = f'{{{XMLNS}}}BOVEDAFISCAL'
node = ET.SubElement(self._node_addenda, node_name, schema, nsmap=NSMAP)
# ~ Type 02
for k, v in data.items():
node_name = f'{{{XMLNS}}}{k}'
n = ET.SubElement(node, node_name)
n.text = v
if type_boveda == '01':
for k, v in data.items():
node_name = f'{{{XMLNS}}}{k}'
ET.SubElement(node, node_name, v)
elif type_boveda == '02':
for k, v in data.items():
node_name = f'{{{XMLNS}}}{k}'
n = ET.SubElement(node, node_name)
n.text = v
return
@ -522,7 +526,38 @@ class DataToDict():
def _boveda(self, data):
type_addenda = data[0]
if type_addenda == '02':
if type_addenda == '01':
fields = (
('ImporteLetra', 'importe'),
('UsoCFDI', 'UsoCFDI'),
('MetodosPago', 'MetodoPagoSAT'),
('FormaPago', 'FormaPagoSAT'),
('TipoDoctoElectronico', 'TipoDocumento'),
('BovedaFiscal', 'almacen', 'condicion', 'correoEmisor', 'correoReceptor', 'numeroCliente', 'razonSocialCliente', 'tipo'),
('DireccionEmisor', 'Calle', 'CodigoPostal', 'Colonia', 'Estado', 'Localidad', 'Municipio', 'NoExterior', 'NoInterior', 'Pais', 'Referencia', 'Telefono'),
('DireccionSucursal', 'Calle', 'Ciudad', 'CodigoPostal', 'Colonia', 'Estado', 'Localidad', 'Municipio', 'NoExterior', 'NoInterior', 'Pais', 'Referencia'),
('DireccionReceptor', 'Calle', 'Ciudad', 'CodigoPostal', 'Colonia', 'Delegacion', 'Estado', 'Localidad', 'Municipio', 'NoExterior', 'NoInterior', 'Pais', 'Referencia'),
('DireccionReceptorSucursal', 'Nombre', 'Calle', 'Ciudad', 'CodigoPostal', 'Estado', 'Pais', 'Comentario', 'Dato01', 'Dato02', 'Dato03', 'Dato04', 'Dato05', 'Dato06', 'Dato07', 'Dato08', 'Dato09', 'Dato10'),
('NombreComercial', 'Nombre'),
('ClaveTipoFolio', 'clave'),
('TR', 'transaccion'),
('OrdenCompra', 'folio'),
('NotaDeVenta', 'folio'),
)
boveda = {}
i = 1
for f in fields:
k = f[0]
attr = {}
for a in f[1:]:
try:
attr[a] = data[i]
except IndexError:
log.error('Faltan datos en addenda Boveda')
attr[a] = ''
i += 1
boveda[k] = attr
elif type_addenda == '02':
fields = (
'Razon_Social_destino',
'Calle_Destino',