From 9d2ba65f3f85776a572063145b68b29a5db08e66 Mon Sep 17 00:00:00 2001 From: Mabejoyb Date: Fri, 24 Apr 2026 11:40:06 -0300 Subject: [PATCH] Script que extrae datos de cliente_datos en alta_contacto_odoo y que compara los numeros de documento, de la base de datos y del extraido de cliente_datos. Retorna documentos_iguales = 1 cuando son iguales. --- verificacion_contacto_odoo.py | 50 +++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 verificacion_contacto_odoo.py diff --git a/verificacion_contacto_odoo.py b/verificacion_contacto_odoo.py new file mode 100644 index 0000000..8b4a6b3 --- /dev/null +++ b/verificacion_contacto_odoo.py @@ -0,0 +1,50 @@ +try: + texto_completo = """{cliente_datos}""" + ci_base = """{numero_documento}""" + digitos = "0123456789" + + # Extraer la parte del documento desde cliente_datos + if ":" in texto_completo: + parte_doc = texto_completo.split(":")[-1] + else: + parte_doc = texto_completo + + # Sacar número desde Odoo, dejando dígitos y guion + cliente_num = "" + for c in parte_doc: + if c in digitos or c == "-": + cliente_num += c + + # Sacar solo dígitos desde DB + db_num = "" + for c in ci_base: + if c in digitos: + db_num += c + + # Limpiar guion del documento de Odoo + cliente_limpio = cliente_num.replace("-", "") + db_limpio = db_num + + print("Odoo raw:", cliente_num, "len:", len(cliente_limpio)) + print("DB raw:", ci_base, "len:", len(db_limpio)) + + # LÓGICA CORREGIDA: + # Si Odoo tiene un dígito más que DB, se asume que el último es dígito verificador + if len(cliente_limpio) == len(db_limpio) + 1: + cliente_match = cliente_limpio[:-1] + else: + cliente_match = cliente_limpio + + iguales = (cliente_match == db_limpio) + + print("Odoo limpio:", cliente_limpio) + print("Odoo match:", cliente_match) + print("DB match:", db_limpio) + print("FINAL Match:", iguales) + + # Resultado de comparación + SetVar("documentos_iguales", "1" if iguales else "0") + +except Exception as e: + SetVar("documentos_iguales", "0") + print("ERROR:", str(e)) \ No newline at end of file