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:howto:sicoferp:factory:sicoferpscriptsdb:fe:fase3:reconstructiondocuments [2021/03/29 15:23] administraidor |
ada:howto:sicoferp:factory:sicoferpscriptsdb:fe:fase3:reconstructiondocuments [2021/06/04 17:47] (actual) 192.168.177.29 [Paso 3 - Implantación/Fabrica] |
||
---|---|---|---|
Línea 119: | Línea 119: | ||
==== Paso 3 - Implantación/Fabrica ==== | ==== Paso 3 - Implantación/Fabrica ==== | ||
- | Actualizar el consecutivo y prefijo de la numeración que corresponde al documentos en la cxc (Se debe preparar el script). | + | Actualizar el consecutivo y prefijo de la numeración que corresponde al documentos en la cxc (Se debe preparar el script) **9998a Actualizar Datos de Consumo DIAN (Reconstucción CXC Aprobación).sql**. |
+ | |||
+ | <code sql> | ||
+ | DECLARE | ||
+ | --============================================================================== | ||
+ | -- Fecha: 7:15 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co | ||
+ | -- Variables de control | ||
+ | --============================================================================== | ||
+ | ERROR_FE EXCEPTION; | ||
+ | PRAGMA EXCEPTION_INIT(ERROR_FE, -20999); | ||
+ | |||
+ | GCVN_ERROR_NUMBER CONSTANT NUMBER := -20999; | ||
+ | lva_msg VARCHAR2(2048) default null; | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 7:15 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co | ||
+ | -- Variables de procesos | ||
+ | --============================================================================== | ||
+ | lva_CODIGO_CPCOBRAR NUMBER DEFAULT NULL; | ||
+ | lva_CONSECUTIVO_DIAN NUMBER DEFAULT NULL; | ||
+ | lva_PREFIJO_DIAN VARCHAR2(256) DEFAULT NULL; | ||
+ | lva_CODIGO_USUARIO NUMBER DEFAULT NULL; | ||
+ | lva_FECHA_APROBACION DATE DEFAULT NULL; | ||
+ | |||
+ | BEGIN | ||
+ | --============================================================================== | ||
+ | -- Fecha: 12:11 p. m. sábado, 21 de noviembre de 2020 - carlos.torres@ada.co | ||
+ | -- Captura de parametros de configuración del cliente | ||
+ | --============================================================================== | ||
+ | ROLLBACK; | ||
+ | lva_msg := 'Captura de parametros de configuración del cliente'; | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 12:55 p. m. sábado, 21 de noviembre de 2020 - carlos.torres@ada.co | ||
+ | -- El codigo de la Cuenta por Cobrar, este identificador puede obtenerse al revisar el log | ||
+ | -- de documentos enviados: | ||
+ | -- Ejemplo:en el siguiente log | ||
+ | -- http://10.1.20.84:3123/ADAFETEST/webresources/pst/ef/VIVA_TEST/9999999999/BTW/InvoideType/19778/1473924/0 | ||
+ | -- el numero 19778 representa el codigo interno de la factura | ||
+ | --============================================================================== | ||
+ | lva_CODIGO_CPCOBRAR := NULL; --REQUERIDO: código de la cuenta por cobrar | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 8:01 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co | ||
+ | -- Codigo interno de cuenta por cobrar se refiere al campo | ||
+ | -- codigo_cpcobrar de PRESUP01.MAE_CUENTAS_POR_COBRAR | ||
+ | --============================================================================== | ||
+ | lva_CONSECUTIVO_DIAN := NULL; --REQUERIDO: consecutivo de la CXC | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 8:08 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co | ||
+ | -- Prefijo de la resolución del consecutivo de la aprobación | ||
+ | --============================================================================== | ||
+ | lva_PREFIJO_DIAN := NULL; --Prefijo de la numeración (Solo si la resolución lo requiere) | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 10:37 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co | ||
+ | -- Codigo del usuario SICOF ERP con el cuál debe quedar el proceso | ||
+ | -- Este usuario se puede identificar por el login filtrandolo | ||
+ | -- en la tabla presup01.usuario campo login con el código de aplicacion 1 | ||
+ | --============================================================================== | ||
+ | lva_CODIGO_USUARIO := NULL; --REQUERIDO: Usuario SICOF Login codigo usuario tabla PRSUP01.USUARIOS | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 10:38 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co | ||
+ | -- Fecha de aprobación con la cual se va a aprobar la factura | ||
+ | -- debe tener el siguiente formato: TO_DATE('24/11/2020 17:27:16', 'dd/mm/yyyy HH24:MI:SS'); | ||
+ | --============================================================================== | ||
+ | lva_FECHA_APROBACION := NULL; --REQUERIDO: Ejemplo TO_DATE('24/11/2020 17:27:16', 'dd/mm/yyyy HH24:MI:SS'); | ||
+ | |||
+ | --****************************************************************************** | ||
+ | --****************************************************************************** | ||
+ | -- NO MODIFICAR EL CODIGO FUENTE A PARTIR DE ACA | ||
+ | --****************************************************************************** | ||
+ | --****************************************************************************** | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 7:17 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co | ||
+ | -- Validaciones de control | ||
+ | --============================================================================== | ||
+ | lva_msg := 'Validaciones de control'; | ||
+ | |||
+ | if lva_CODIGO_CPCOBRAR is null then | ||
+ | lva_msg := 'No se ha definido el codigo interno del documento (factura) en la configuración'; | ||
+ | RAISE ERROR_FE; | ||
+ | END IF; | ||
+ | |||
+ | if lva_CONSECUTIVO_DIAN is null then | ||
+ | lva_msg := 'No se ha definido el consecutivo del documento (factura) en la configuración'; | ||
+ | RAISE ERROR_FE; | ||
+ | END IF; | ||
+ | |||
+ | if lva_CODIGO_USUARIO is null then | ||
+ | lva_msg := 'No se ha definido el codigo del usuario aprobador'; | ||
+ | RAISE ERROR_FE; | ||
+ | end if; | ||
+ | |||
+ | if lva_FECHA_APROBACION is null then | ||
+ | lva_msg := 'No se ha definido la fecha de aprobación del documento'; | ||
+ | RAISE ERROR_FE; | ||
+ | end if; | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 8:12 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co | ||
+ | -- Actualizar encabezado de la factura | ||
+ | --============================================================================== | ||
+ | lva_msg := 'Actualizar encabezado de la factura'; | ||
+ | UPDATE PRESUP01.MAE_CUENTAS_POR_COBRAR U | ||
+ | SET U.ENVIO_DIAN = 'S', | ||
+ | U.CONSECUTIVO = lva_CONSECUTIVO_DIAN, | ||
+ | U.PREFIJO_DIAN = lva_PREFIJO_DIAN, | ||
+ | U.CODIGO_USUARIO_APRUEBA = lva_CODIGO_USUARIO, | ||
+ | U.FECHA_APROBACION = lva_FECHA_APROBACION | ||
+ | WHERE U.CODIGO_CPCOBRAR = lva_CODIGO_CPCOBRAR; | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 10:42 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co | ||
+ | -- Actualizar Consecutivo en la causación | ||
+ | --============================================================================== | ||
+ | lva_msg := 'Actualizar Consecutivo en la causación'; | ||
+ | UPDATE PRESUP01.MAESTRO_ASIENTO_CONTABLE U | ||
+ | SET U.NUMERO_DOCUMENTO = lva_CONSECUTIVO_DIAN, | ||
+ | U.IDENTIFICACION_FACTURA = lva_CONSECUTIVO_DIAN, | ||
+ | U.PREFIJO_DOCUMENTO = lva_PREFIJO_DIAN | ||
+ | WHERE U.CODIGO_ASIENTO IN | ||
+ | ( | ||
+ | select t.codigo_asiento | ||
+ | from presup01.det_asientos_documento t | ||
+ | where t.codigo_documento in (select t.codigo_documento from PRESUP01.MAE_CUENTAS_POR_COBRAR t where T.CODIGO_CPCOBRAR = lva_CODIGO_CPCOBRAR) | ||
+ | ); | ||
+ | COMMIT; | ||
+ | EXCEPTION WHEN OTHERS THEN | ||
+ | dbms_output.put_line(SQLCODE || ' - ' || SQLERRM || ' - msg: ' || lva_msg); | ||
+ | ROLLBACK; | ||
+ | SICOF.PCK_UTILIDADES.P_REGISTER_ERROR(SQLCODE, lva_msg, 'ERROR: ' || SQLERRM || dbms_utility.format_error_backtrace, 'BLOQUE ANONIMO'); | ||
+ | raise_application_error(GCVN_ERROR_NUMBER,lva_msg); | ||
+ | END; | ||
+ | </code> | ||
==== Paso 4 - Implantación ==== | ==== Paso 4 - Implantación ==== | ||
+ | Ejecutar scripts **9998c Actualizar Datos de Consumo DIAN (Reconstrucción CXC Referencia CUFE).sql** Se debe generar la referencia CUFE la cual es utilizada para procesos de modificación de la factura (Notas Débito/Crédito). Este script se debe preparar por lo que el consultor debe proveer la información del documento reconstruido. | ||
+ | |||
+ | <code sql> | ||
+ | DECLARE | ||
+ | --============================================================================== | ||
+ | -- Fecha: 7:15 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co | ||
+ | -- Variables de control | ||
+ | --============================================================================== | ||
+ | ERROR_FE EXCEPTION; | ||
+ | PRAGMA EXCEPTION_INIT(ERROR_FE, -20999); | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 8:00 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co | ||
+ | -- Constantes | ||
+ | --============================================================================== | ||
+ | GCVN_ERROR_NUMBER CONSTANT NUMBER := -20999; | ||
+ | GCVA_INVOICE_TYPE CONSTANT VARCHAR2(256) := 'InvoiceType'; | ||
+ | | ||
+ | lva_msg VARCHAR2(2048) DEFAULT NULL; | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 7:15 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co | ||
+ | -- Variables de procesos | ||
+ | --============================================================================== | ||
+ | lva_CODIGO_CLIENTE VARCHAR2(256) DEFAULT NULL; | ||
+ | lva_COD_PST VARCHAR2(256) DEFAULT NULL; | ||
+ | lva_CODIGO_MEMPRESA VARCHAR2(256) DEFAULT '9999999999'; | ||
+ | lvn_COD_DOCUMENTO NUMBER; | ||
+ | lvn_CONSECUTIVO NUMBER; | ||
+ | lva_CUFE VARCHAR2(256) DEFAULT NULL; | ||
+ | lva_FECHA_FORMAT VARCHAR2(256) DEFAULT NULL; | ||
+ | lva_PREFIJO VARCHAR2(256) DEFAULT NULL; | ||
+ | BEGIN | ||
+ | --============================================================================== | ||
+ | -- Fecha: 12:11 p. m. sábado, 21 de noviembre de 2020 - carlos.torres@ada.co | ||
+ | -- Captura de parametros de configuración del cliente | ||
+ | --============================================================================== | ||
+ | ROLLBACK; | ||
+ | lva_msg := 'Captura de parametros de configuración del cliente'; | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 12:55 p. m. sábado, 21 de noviembre de 2020 - carlos.torres@ada.co | ||
+ | -- El codigo del cliente por lo generar se refiere al nombrede cliente sin espacios acompañado del contexto de ejecución | ||
+ | -- Ejemplo para el cliente ADA en el ambiente de producción seria ADA_PROD | ||
+ | -- Ejemplo para el cliente ADA en el ambiente de pruebas seria ADA_TEST | ||
+ | --============================================================================== | ||
+ | lva_CODIGO_CLIENTE := NULL;--REQUERIDO: código del cliente con el contexto (TEST o PROD) | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 7:20 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co | ||
+ | -- El código del PST es una codificación interna que se le denota al cliente | ||
+ | -- del servicio web que realizará el envio de documentos para los PST internos | ||
+ | -- este código será ADA para los PST Externos este codigo será un acronimo | ||
+ | -- del nombre del proveedor externo EJ (BytheWave = BTW, Tecnofactor = TNF) | ||
+ | --============================================================================== | ||
+ | lva_COD_PST := 'ADA';--REQUERIDO: código del pst | ||
+ | | ||
+ | --============================================================================== | ||
+ | -- Fecha: 7:58 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co | ||
+ | -- Código de la empresa (Multiempresa). Si es uniempresa por defecto es '9999999999' | ||
+ | --============================================================================== | ||
+ | lva_CODIGO_MEMPRESA := '9999999999'; | ||
+ | | ||
+ | --============================================================================== | ||
+ | -- Fecha: 8:01 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co | ||
+ | -- Codigo interno de cuenta por cobrar se refiere al campo | ||
+ | -- codigo_cpcobrar de PRESUP01.MAE_CUENTAS_POR_COBRAR | ||
+ | --============================================================================== | ||
+ | lvn_COD_DOCUMENTO := NULL; --REQUERIDO: codigo interno de la CXC | ||
+ | | ||
+ | --============================================================================== | ||
+ | -- Fecha: 8:03 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co | ||
+ | -- Consecutivo generado en la aprobación de envio a la DIAN | ||
+ | -- represente el campo consecutivo de PRESUP01.MAE_CUENTAS_POR_COBRAR | ||
+ | --============================================================================== | ||
+ | lvn_CONSECUTIVO := NULL; --REQUERIDO: consecutivo de la CXC | ||
+ | | ||
+ | --============================================================================== | ||
+ | -- Fecha: 8:05 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co | ||
+ | -- CUFE: Código Único de Factura electrónica generado en el proceso de aprobación de la DIAN | ||
+ | --============================================================================== | ||
+ | lva_CUFE := NULL; --REQUERIDO: CUFE de la factura | ||
+ | | ||
+ | --============================================================================== | ||
+ | -- Fecha: 8:06 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co | ||
+ | -- Fecha de aprobación de la factura debe registrarse en formato | ||
+ | -- TO_CHAR('YYYY-MM-DD') y refresenta el campo fecha_aprobación de PRESUP01.MAE_CUENTAS_POR_COBRAR | ||
+ | -- Ejemplo: 2020-12-31 | ||
+ | --============================================================================== | ||
+ | lva_FECHA_FORMAT := NULL; --REQUERIDO: Fecha Aprobación en formato TO_CHAR('YYYY-MM-DD') | ||
+ | | ||
+ | --============================================================================== | ||
+ | -- Fecha: 8:08 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co | ||
+ | -- Prefijo de la resolución del consecutivo de la aprobación | ||
+ | --============================================================================== | ||
+ | lva_PREFIJO := NULL; | ||
+ | |||
+ | --****************************************************************************** | ||
+ | --****************************************************************************** | ||
+ | -- NO MODIFICAR EL CODIGO FUENTE A PARTIR DE ACA | ||
+ | --****************************************************************************** | ||
+ | --****************************************************************************** | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 7:17 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co | ||
+ | -- Validaciones de control | ||
+ | --============================================================================== | ||
+ | lva_msg := 'Validaciones de control'; | ||
+ | |||
+ | IF lva_CODIGO_CLIENTE IS NULL THEN | ||
+ | lva_msg := 'No se ha definido el codigo del cliente en la configuración'; | ||
+ | RAISE ERROR_FE; | ||
+ | END IF; | ||
+ | |||
+ | IF lva_COD_PST IS NULL THEN | ||
+ | lva_msg := 'No se ha definido el codigo del pst en la configuración'; | ||
+ | RAISE ERROR_FE; | ||
+ | END IF; | ||
+ | | ||
+ | lva_CODIGO_MEMPRESA := NVL(lva_CODIGO_MEMPRESA, '9999999999'); | ||
+ | | ||
+ | IF lvn_COD_DOCUMENTO IS NULL THEN | ||
+ | lva_msg := 'No se ha definido el codigo interno del documento (factura) en la configuración'; | ||
+ | RAISE ERROR_FE; | ||
+ | END IF; | ||
+ | | ||
+ | IF lvn_CONSECUTIVO IS NULL THEN | ||
+ | lva_msg := 'No se ha definido el consecutivo del documento (factura) en la configuración'; | ||
+ | RAISE ERROR_FE; | ||
+ | END IF; | ||
+ | | ||
+ | IF lva_CUFE IS NULL THEN | ||
+ | lva_msg := 'No se ha definido el CUFE del documento (factura) en la configuración'; | ||
+ | RAISE ERROR_FE; | ||
+ | END IF; | ||
+ | | ||
+ | IF lva_FECHA_FORMAT IS NULL THEN | ||
+ | lva_msg := 'No se ha definido la fecha formateada del documento (factura) en la configuración'; | ||
+ | RAISE ERROR_FE; | ||
+ | END IF; | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 10:59 a. m. martes, 29 de septiembre de 2020 - carlos.torres@ada.co | ||
+ | -- Insertar el registro de referencia sino existe | ||
+ | --============================================================================== | ||
+ | lva_msg := 'Insertar el registro de referencia sino existe'; | ||
+ | |||
+ | --============================================================================== | ||
+ | -- Fecha: 8:12 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co | ||
+ | -- Insetar el registro | ||
+ | --============================================================================== | ||
+ | INSERT INTO PRESUP01.FE_CUFE_DOC_CXC_ND_NC ( | ||
+ | COD_CLIENTE, CODIGO_MEMPRESA, INVOICE_TYPE, | ||
+ | COD_DOCUMENTO, CONSECUTIVO, CONSECUTIVO_REF, | ||
+ | CUFE, FECHA_FORMAT, PST, | ||
+ | FECHA_REGISTRO, PREFIJO, XML_DIAN) | ||
+ | SELECT lva_CODIGO_CLIENTE, lva_CODIGO_MEMPRESA, GCVA_INVOICE_TYPE, | ||
+ | lvn_COD_DOCUMENTO, lvn_CONSECUTIVO, 0, | ||
+ | lva_CUFE, lva_FECHA_FORMAT, lva_COD_PST, | ||
+ | SYSDATE, lva_PREFIJO, NULL | ||
+ | FROM DUAL | ||
+ | WHERE NOT EXISTS ( | ||
+ | SELECT 1 | ||
+ | FROM PRESUP01.FE_CUFE_DOC_CXC_ND_NC | ||
+ | WHERE COD_CLIENTE = lva_CODIGO_CLIENTE | ||
+ | AND PST = lva_COD_PST | ||
+ | AND CODIGO_MEMPRESA = lva_CODIGO_MEMPRESA | ||
+ | AND INVOICE_TYPE = GCVA_INVOICE_TYPE | ||
+ | AND COD_DOCUMENTO = lvn_COD_DOCUMENTO | ||
+ | AND CONSECUTIVO = lvn_CONSECUTIVO | ||
+ | ); | ||
+ | COMMIT; | ||
+ | EXCEPTION WHEN OTHERS THEN | ||
+ | dbms_output.put_line(SQLCODE || ' - ' || SQLERRM || ' - msg: ' || lva_msg); | ||
+ | ROLLBACK; | ||
+ | SICOF.PCK_UTILIDADES.P_REGISTER_ERROR(SQLCODE, lva_msg, 'ERROR: ' || SQLERRM || dbms_utility.format_error_backtrace, 'BLOQUE ANONIMO'); | ||
+ | raise_application_error(GCVN_ERROR_NUMBER,lva_msg); | ||
+ | END; | ||
+ | </code> | ||
+ | |||
+ | ==== Paso 5 - Implantación ==== | ||
Activar constante: **0000a Activar Edición de Numeración.sql** | Activar constante: **0000a Activar Edición de Numeración.sql** | ||
Línea 135: | Línea 453: | ||
</code> | </code> | ||
- | ==== Paso 5 - Consultor ==== | + | ==== Paso 6 - Consultor ==== |
Actualizar el consecutivo consumido en el proceso (Desde la opción de Administración de Tipos de Documentos). | Actualizar el consecutivo consumido en el proceso (Desde la opción de Administración de Tipos de Documentos). | ||
- | ==== Paso 6 - Implantación ==== | + | ==== Paso 7 - Implantación ==== |
Inactivar constante: **0000a Inactivar Edición de Numeración.sql** | Inactivar constante: **0000a Inactivar Edición de Numeración.sql** | ||
Línea 152: | Línea 470: | ||
</code> | </code> | ||
- | ==== Paso 7 - Consultor ==== | + | ==== Paso 8 - Consultor ==== |
Recomendación: Verificar documento procesado y saldos contables. | Recomendación: Verificar documento procesado y saldos contables. | ||
- | ==== Paso 8 - Implantación ==== | + | ==== Paso 9 - Implantación ==== |
Activar Constante: **0000d Activar el Envío de Documentos.sql** (Se debe preparar el script). | Activar Constante: **0000d Activar el Envío de Documentos.sql** (Se debe preparar el script). | ||