diff --git a/source/app/controllers/util.py b/source/app/controllers/util.py index 0948cd8..021d2b3 100644 --- a/source/app/controllers/util.py +++ b/source/app/controllers/util.py @@ -293,7 +293,8 @@ def get_sat_productos(key): def now(): - return datetime.datetime.now().replace(microsecond=0) + n = datetime.datetime.now().replace(microsecond=0) + return n def today(): @@ -1125,6 +1126,7 @@ class LIBO(object): return def _cfdipays(self, data): + VERSION2 = '2.0' version = data['Version'] related = data.pop('related', []) @@ -1158,7 +1160,8 @@ class LIBO(object): cell_1 = self._set_cell('{doc.uuid}', uuid) cell_2 = self._set_cell('{doc.serie}', serie) cell_3 = self._set_cell('{doc.folio}', folio) - cell_4 = self._set_cell('{doc.metodopago}', metodo_pago) + if version != VERSION2: + cell_4 = self._set_cell('{doc.metodopago}', metodo_pago) cell_5 = self._set_cell('{doc.moneda}', moneda) cell_6 = self._set_cell('{doc.parcialidad}', parcialidad) cell_7 = self._set_cell('{doc.saldoanterior}', saldo_anterior, value=True) @@ -1168,7 +1171,8 @@ class LIBO(object): col1.append((uuid,)) col2.append((serie,)) col3.append((folio,)) - col4.append((metodo_pago,)) + if version != VERSION2: + col4.append((metodo_pago,)) col5.append((moneda,)) col6.append((parcialidad,)) col7.append((float(saldo_anterior),)) @@ -1194,8 +1198,9 @@ class LIBO(object): target2 = self._sheet.getCellRangeByPosition(col, row1, col, row2) col = cell_3.getCellAddress().Column target3 = self._sheet.getCellRangeByPosition(col, row1, col, row2) - col = cell_4.getCellAddress().Column - target4 = self._sheet.getCellRangeByPosition(col, row1, col, row2) + if version != VERSION2: + col = cell_4.getCellAddress().Column + target4 = self._sheet.getCellRangeByPosition(col, row1, col, row2) col = cell_5.getCellAddress().Column target5 = self._sheet.getCellRangeByPosition(col, row1, col, row2) col = cell_6.getCellAddress().Column @@ -1210,7 +1215,8 @@ class LIBO(object): target1.setFormulaArray(tuple(col1)) target2.setDataArray(tuple(col2)) target3.setFormulaArray(tuple(col3)) - target4.setDataArray(tuple(col4)) + if version != VERSION2: + target4.setDataArray(tuple(col4)) target5.setDataArray(tuple(col5)) target6.setDataArray(tuple(col6)) target7.setDataArray(tuple(col7)) @@ -2140,15 +2146,16 @@ def _get_info_pays_2(node): def _cfdipays(doc, data, version): - #todo: Obtener versiĆ³n de complemento - if version == '4.0': - pre_pays = PRE_DEFAULT['PAGOS']['PRE'] + pre_pays = PRE_DEFAULT['PAGOS']['PRE'] + path = f"{PRE[version]}Complemento/{pre_pays}Pagos" + node = doc.find(path) + if node is None: + pre_pays = PRE['PAGOS']['1.0'] path = f"{PRE[version]}Complemento/{pre_pays}Pagos" node = doc.find(path) - else: - node = doc.find('{}Complemento/{}Pagos'.format(PRE[version], PRE['pagos'])) if node is None: + log.error('Node pays not found...') return {} if version == '4.0': @@ -2299,7 +2306,7 @@ def upload_file(rfc, opt, file_obj): ext = tmp[-1].lower() versions = ('_3.2.ods', - '_3.3.ods', '_3.3_cn_1.2.ods', '_3.3_ccp_2.0.ods', '_3.3.json', + '_3.3.ods', '_3.3_cd_1.1.ods', '_3.3_cn_1.2.ods', '_3.3_ccp_2.0.ods', '_3.3.json', '_4.0.ods', '_4.0_cn_1.2.ods', '_4.0_cp_2.0.ods', diff --git a/source/templates/plantilla_pagos_4.0_2.0.ods b/source/templates/plantilla_pagos_4.0_2.0.ods index 07b2528..a22a495 100644 Binary files a/source/templates/plantilla_pagos_4.0_2.0.ods and b/source/templates/plantilla_pagos_4.0_2.0.ods differ