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). | ||