Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
ada:habilitacion_nomina_electronica [2024/05/02 19:19] 192.168.177.46 |
ada:habilitacion_nomina_electronica [2024/10/09 19:59] (actual) 192.168.175.167 |
||
---|---|---|---|
Línea 5: | Línea 5: | ||
** base de datos centralizada ** | ** base de datos centralizada ** | ||
- | * ** //db104//** | + | * ** //db104_ADA//** |
db104_ADA = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.140.101)(PORT = 1521)) (CONNECT_DATA = SERVER = DEDICATED) (SERVICE_NAME = db104))) | db104_ADA = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.140.101)(PORT = 1521)) (CONNECT_DATA = SERVER = DEDICATED) (SERVICE_NAME = db104))) | ||
Línea 27: | Línea 27: | ||
Con el siguiente **UPDATE** se va realizar la actualización de la configuración de la base datos, se ingresa el nit del la empresa a realiza el set de pruebas sin digito de verificación. | Con el siguiente **UPDATE** se va realizar la actualización de la configuración de la base datos, se ingresa el nit del la empresa a realiza el set de pruebas sin digito de verificación. | ||
El tipo de ambiente siempre es 2 | El tipo de ambiente siempre es 2 | ||
+ | |||
+ | Tener presente que siempre para nomina electrónica el nombre debe de ser {cliente}_NE_PROD con el fin de identificar el servicio de nómina y facturación. ejemplo FALVA_NE_PROD | ||
<code> | <code> | ||
Línea 291: | Línea 293: | ||
==== Paso 7==== | ==== Paso 7==== | ||
- | Se debe liquidar una nómina y marcarla como aprobada | + | Se deben borrar los registros de las dos tablas que tienen la sentencia **DELETE** y actualizar el periodo 202401 a estado borrador con el **UPDATE** |
- | Se toma el numero de la nomina que genero el sistema y se ejecuta | + | En caso de que en la tabla NE_PERIODOS_GENERADOS no exista el periodo 202401 se ejecuta el insert |
- | + | ||
- | En la DB101 existe un tipo de liquidación denominado **NOMINA ELECTRONICA TEST** favor liquidar en esa nomina. | + | |
<code> | <code> | ||
- | UPDATE NOMINA.MOVIMIENTOS_NOMINA | + | DELETE FROM NOMINA.NE_WS_INFORME_ERROR |
- | SET SC_ESTADO = 'A' | + | |
- | WHERE KA_NL_DCTO_NOMINA = 10292 --Reemplazar por el numero de nomina liquidada | + | |
; | ; | ||
- | Commit; | + | DELETE FROM NOMINA.NE_ENVIADOS_WS |
+ | ; | ||
+ | UPDATE NOMINA.NE_PERIODOS_GENERADOS | ||
+ | SET ESTADO = 'B' | ||
+ | WHERE PERIODO = 202401 | ||
+ | ; | ||
+ | COMMIT | ||
+ | ; | ||
+ | --El insert solo se debe ejecutar si en NE_PERIODOS_GENERADOS no esta el periodo 202401 | ||
+ | INSERT INTO NOMINA.NE_PERIODOS_GENERADOS (ID, | ||
+ | PERIODO, | ||
+ | ANO, | ||
+ | MES, | ||
+ | FECHA_INICIAL, | ||
+ | FECHA_FINAL, | ||
+ | TIPO_ARCHIVO, | ||
+ | ESTADO, | ||
+ | CODIGO_MEMPRESA, | ||
+ | FECHA_REGISTRO, | ||
+ | USUARIO_REGISTRO) | ||
+ | VALUES (2, | ||
+ | '202401', | ||
+ | 2024, | ||
+ | 1, | ||
+ | TO_DATE ('01/01/2024', 'DD/MM/YYYY'), | ||
+ | TO_DATE ('31/01/2024', 'DD/MM/YYYY'), | ||
+ | 1, | ||
+ | 'B', | ||
+ | '9999999999', | ||
+ | SYSDATE, | ||
+ | 'NOMINA') | ||
+ | ; | ||
+ | COMMIT | ||
</code> | </code> | ||
- | ==== Paso 8 ==== | + | ==== paso 8 ==== |
+ | |||
+ | En la base de datos existe una nómina liquidada en el periodo 202401 con el número de nómina 10628 con el tipo liquidación denominado **NOMINA ELECTRONICA TEST** la cual tiene 11 empleados, la nómina está en estado aprobada ya que lo requiere el proceso para poder que se visualice en las vistas de envió. | ||
+ | |||
+ | para validar que la nómina si este correcta ejecutar la consulta y debe retomar datos de los empleados y conceptos | ||
+ | |||
+ | <code> | ||
+ | SELECT MT.CODIGO_TERCERO, | ||
+ | MT.NIT AS NUMERO_DOCUMENTO, | ||
+ | MT.NOMBRE AS NOMBRE, | ||
+ | TL.SS_TIPO_LIQUIDACION AS TIPO_LIQUIDACION, | ||
+ | MN.KA_NL_DCTO_NOMINA AS NUMERO_NOMINA, | ||
+ | CPTO.SS_CODIGO AS CODIGO_CONCEPTO, | ||
+ | CPTO.SS_CONCEPTO AS DESCRIPCION_CONCEPTO, | ||
+ | NETC.TIPO, | ||
+ | NETC.DESCRIPCION AS DESCRIPCION_TIPO_CONCEPTO, | ||
+ | CPTO.SC_SIGNO AS SIGNO, | ||
+ | SUM (ROUND (MNCC.ND_VALOR)) AS VALOR | ||
+ | FROM NOMINA.MOVIMIENTOS_NOMINA MN, | ||
+ | NOMINA.MOVIMIENTOS_NOMINA_DETALLE MND, | ||
+ | NOMINA.CONCEPTOS CPTO, | ||
+ | NOMINA.MAESTRO_TERCEROS MT, | ||
+ | NOMINA.TIPOS_LIQUIDACIONES TL, | ||
+ | NOMINA.NE_TIPOS_CONCEPTO NETC, | ||
+ | NOMINA.NE_CONCEPTOS_RELACION NECR, | ||
+ | NOMINA.EMPLEADOS E, | ||
+ | NOMINA.MOVIMIENTOS_NOMINA_CCOSTO MNCC | ||
+ | WHERE MN.KA_NL_MOVIMIENTO = MND.KA_NL_MOVIMIENTO | ||
+ | AND MND.KA_NL_MOVIMIENTO_NOMINA = MNCC.KA_NL_MOVIMIENTO_DETALLE | ||
+ | AND MN.SC_ESTADO = 'A' | ||
+ | AND CPTO.KA_NL_CONCEPTO = MND.KA_NL_CONCEPTO | ||
+ | AND MN.KA_NL_TERCERO = MT.CODIGO_TERCERO | ||
+ | AND MN.KA_NL_TIPO_LIQUIDACION = TL.KA_NL_TIPO_LIQUIDACION | ||
+ | AND MN.KA_NL_TERCERO = E.KA_NL_TERCERO | ||
+ | AND TO_CHAR (MN.DD_DESDE, 'yyyymm') = 202401 | ||
+ | AND MND.KA_NL_CONCEPTO = NECR.CONCEPTO_ID(+) | ||
+ | AND NECR.TIPO_CONCEPTO_ID = NETC.ID(+) | ||
+ | AND MN.KA_NL_TERCERO NOT IN | ||
+ | (SELECT CODIGO_EMPLEADO | ||
+ | FROM NOMINA.NE_ENVIADOS_WS | ||
+ | WHERE PERIODO = 202401 AND TIPO_ARCHIVO = 1 AND ERROR = 0) | ||
+ | GROUP BY MT.CODIGO_TERCERO, | ||
+ | MT.NIT, | ||
+ | MT.NOMBRE, | ||
+ | TL.SS_TIPO_LIQUIDACION, | ||
+ | MN.KA_NL_DCTO_NOMINA, | ||
+ | CPTO.SS_CODIGO, | ||
+ | CPTO.SS_CONCEPTO, | ||
+ | NETC.TIPO, | ||
+ | NETC.DESCRIPCION, | ||
+ | CPTO.SC_SIGNO | ||
+ | ORDER BY MT.NIT | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== Paso 9 ==== | ||
+ | |||
+ | Cuando se esté realizando el envió y se generan errores se deben consultar en la siguiente tabla la cual tiene la descripción del error generado por el envió. | ||
+ | |||
+ | <code> | ||
+ | SELECT * FROM NOMINA.NE_WS_INFORME_ERROR | ||
+ | </code> | ||
- | Cuando se esté realizando el envió y se generan errores en los documentos enviados se debe eliminar los errores. | + | Después de validado los errores se deben eliminar para poder continuar con el proceso. |
- | 1. inicialmente validar que el periodo que se esta enviando exista en la siguiente tabla | + | 1. inicialmente validar que el periodo que se está enviando exista en la siguiente tabla |
<code> | <code> | ||
Línea 448: | Línea 539: | ||
/ | / | ||
</code> | </code> | ||
+ | |||
+ | |||
+ | ==== Paso 10 envió - Nomina de ajuste==== | ||
+ | |||
+ | Para enviar la nómina de ajuste (Eliminar un registro el cual ya esta en al Dian) | ||
+ | |||
+ | - En la Pestaña de nomina de ajuste se debe seleccionar el periodo para el cual corresponde el ajuste | ||
+ | - Se da en VALIDAR para cargar los registros correspondientes a los envíos | ||
+ | - En el tipo de nota se debe seleccionar eliminar a los registros que corresponda. | ||
+ | - Se debe ejecutar los dos update con los datos que solicita el query en la base de datos con el periodo que corresponda. | ||
+ | - En la ventana del modulo de nomina se hace el ultimo paso que es enviar los registros. | ||
+ | |||
+ | |||
+ | {{ :ada:sicoferp:nomina_electronica.png?direct&600 |}} | ||
+ | |||
+ | |||
+ | <code> | ||
+ | UPDATE NOMINA.NE_PERIODOS_GENERADOS | ||
+ | SET TIPO_ARCHIVO = 2 , ESTADO = 'B' | ||
+ | WHERE PERIODO = | ||
+ | /*Ingrese el periodo correspondiente al ajuste*/ | ||
+ | </code> | ||
+ | |||
+ | |||
+ | <code> | ||
+ | UPDATE NOMINA.NE_ENVIADOS_WS | ||
+ | SET TIPO_ARCHIVO = 2 , TIPO_NOTA = 2 | ||
+ | WHERE PERIODO = /*Ingrese el periodo correspondiente al ajuste*/ | ||
+ | AND CODIGO_TERCERO = /*Ingrese el codigo del empleado del cual se va realizar la eliminacion del registro en la dian*/ | ||
+ | </code> | ||
+ | |||
+ | Después de enviados los registros se debe restablecer los registros modificados con el siguiente update | ||
+ | |||
+ | <code> | ||
+ | UPDATE NOMINA.NE_ENVIADOS_WS | ||
+ | SET TIPO_ARCHIVO = 1 , TIPO_NOTA = 9 | ||
+ | WHERE PERIODO = /*Ingrese el periodo correspondiente al ajuste*/ | ||
+ | AND CODIGO_TERCERO = /*Ingrese el codigo del empleado del cual se va realizar la eliminacion del registro en la dian*/ | ||
+ | AND TIPO_XML = 102 | ||
+ | </code> | ||
+ | |||
+ | |||
+ | <code> | ||
+ | UPDATE NOMINA.NE_PERIODOS_GENERADOS | ||
+ | SET TIPO_ARCHIVO = 1 , ESTADO = 'T' | ||
+ | WHERE PERIODO = /*Ingrese el periodo correspondiente al ajuste*/ | ||
+ | </code> | ||
+ | |||
+ | |||
+ |