Error: EMP2024- Error Contabilización factura de venta:
Estructura incorrecta , El numero de dígitos de la cuenta no corresponde con la estructura contable
At procedure VALIDE ESTRUCTURA , line 29, col 5
At procedure VALIDE NIVEL , line 9, col 3
At procedure CUENTA AFECTABLE
Diagnóstico: Una de las cuentas que esta intentando mover el comprobante contable tiene una longitud que no es valida con respecto a la tabla de ESTRUCTURAS del PUC
Solución:
1. Se debe identificar las cuentas que maneja el comprobante contable
para esto, se debe ejecutar el IBEXPERT y se debe a correr el procedimiento CONTABIL_FACTURA, el procedimiento pregunta dos parametros:
a. IDDOC: (id del documento: Este se encuentra en la tabla FACTURAS en el campo FACT_ID), puede correr la siguiente sentencia para identificarlo de manera mas ágil:
Select * from Facturas where Fact_numero = 'XXXXXXXX' and pref_pre = 'XXXX';
En donde solo se debe reemplazar el numero de factura y el prefijo
Ejemplo:
Select * from Facturas where Fact_numero = '00001384' and pref_pre = '0022C';
b. IDINTER (Id de la interfaz: Este se encuentra en la tabla INTERFAZ_VENTAS en el campo INVE_ID, filtrando el campo TIDO_COD con el numero 31 (que es el numero de documento interno para las facturas de venta) y el campo PREF_PRE indicando el prefijo que quiere buscar, para el ejemplo '002C'.
una vez teniendo los datos:
FACT_ID e INVE_ID
Se puede correr el procedimiento CONTABIL_FACTURA
2. Se debe hacer un select en la tabla CONTABILIZACION_DET
El procedimiento que se acaba de correr (CONTABIL_FACTURA), arroja como resultado el ID CONTABLE en el campo IDC, el cual se debe tener en cuenta para el siguiente paso. Se debe copiar el dato.
Por sql se debe correr el siguiente select, para saber la longitud de las cuentas que mueve el comprobante :
SELECT CNDE_CUENTA, CHAR_LENGTH(CNDE_CUENTA) FROM CONTABILIZACION_DET where CNTB_ID = XXXX
En donde solo se debe reemplazar el campo CNTB_ID
Ejemplo:
SELECT CNDE_CUENTA, CHAR_LENGTH(CNDE_CUENTA) FROM CONTABILIZACION_DET where CNTB_ID = 871052;
3. Modificar la cuenta e la tabla CONTABIL_ARTICULO
Al identificar el código de la cuenta contable, posterior vamos a la tabla CONTABIL_ARTICULOS seleccionando el articulo que genera error y buscando cual es el campo de la cuenta.
Puede usar la siguiente sentencia:
select * from CONTABIL_ARTICULO_niif where arti_cod = 'XXXXX';
En donde solo se debe reemplazar el campo Arti_cod con el código del articulo de la factura de venta
Ejemplo:
select * from CONTABIL_ARTICULO_niif where arti_cod = '00133';
Si es una sola cuenta de un solo producto específico se puede modificar directamente en la tabla y dar "comit" para que grabe los cambios.
Si son varios artículos, puede empelar la siguiente sentencia, para eliminar los espacios hacia la derecha
UPDATE contabil_articulo SET COAR_CTACONSV = TRIM (COAR_CTACONSV)