====== Fábrica - Integraciones: Supertabla ====== Esta sección esta dedicada al proceso de generación de documentos por medio de la interface Supertabla. ===== ¿Que es la Supertabla? ===== Es una interface en base de datos que permite la elaboración masiva de documentos financieros en SICOF ERP. ===== Historial de Versiones ===== A continuación se lista el historial de versiones para la rama principal de desarrollo la cual aplica para todos los clientes menos el cliente [[#Lotería de Medellín|Lotería de Medellín]]. Esta rama esta registrada en el siguiente repositorio [[http://adacsc.co:1443/svn/repository/ADA/SICOF/Documentos/Desarrollos/PowerBuilder/ScriptsDB/Branches/App/Financiero/22%20SUPERTABLA/Version%202.0 |SVN]]. ^Fecha ^Versión ^Estado ^Notas de Versión^ |01/10/2021|2.4.5.1|Vigente|que se asigne por defecto el usuario para el campo TESORE01.COMPROBANTE_DE_EGRESO.CODIGO_USUARIO_APRUEBA_CONFI| |07/09/2021|2.4.5|Obsoleta|Se expone configuración de CXC FE en los tipos comerciales| |29/04/2021|2.4.4a|Obsoleta|Integración FE| |27/03/2021|2.4.4|Obsoleta|Se incluye control de gestión de PAC| |29/01/2021|2.4.3|Obsoleta|Se cambia la obtención de la vigencia a la fecha de presupuesto| |27/03/2021|2.4.2|Obsoleta|Control de estado de documento en las cuentas por cobrar| |27/03/2021|2.4.1|Obsoleta|Commit por corrección proceso de registro det_asientos_documento en la relación de |19/10/2020|2.1.2|Obsoleta|Proceso de Generación CE 03 e Impresión de Cheques| |19/10/2020|2.1.1|Obsoleta|Proceso de Generación CE 03 e Impresión de Cheques| ==== Versión Lotería de Medellín ==== Actualmente existe una implementación especifica para el cliente Lotería de Medellín en el siguiente repositorio [[http://adacsc.co:1443/svn/repository/ADA/SICOF/Documentos/Desarrollos/PowerBuilder/ScriptsDB/Branches/App/Financiero/22%20SUPERTABLA/Version%202.0/ConfigClienteBENEDAN |SVN]]. Este escenario se presenta porque el cliente requiere que la funcionalidad se ejecute los más optimizada posible en el backend de base de datos descartando nuevas implementaciones como: * Validaciones * Controles en los procesos * Implementación de Logs ^Fecha ^Versión ^Estado ^Notas de Versión^ |23/04/2021|1.1|Vigente|Tunnig| ==== Nota Importante ==== Sólo las actualizaciones de estructuras como ALTER de Tablas, Triggers y nuevas funciones o precedimientos se deben sincronizar en la dos versiones (Estandar y Lotería de Medellín). Sin embargo, por ningún motivo se debe actualziar el paquete SFCOMERCIAL.PCK_CAUSACION sin los ajustes adaptados a cada versión ya que sin incompatibles. ===== Modelo de Datos ===== [[ada:howto:sicoferp:factory:interface:interfacemodelodatos|Modelo de Datos]] {{ :ada:howto:sicoferp:factory:diagramersupertabla.png?600 |}} ===== API Interface en la Base de Datos ===== La supertabla hace uso de paquetes, procedimientos y funciones para la generación de documentos financieros los cuales se listan a continuación. ==== Consideraciones ==== Antes de empezar tenga presente las siguientes consideraciones: * El alcance del API dependerá del modo de ejecución utilizado por lo tanto es posible que algunas funciones o procedimientos no se utilicen en la mayoria de procesos. * El registro en la tabla SFCOMERCIAL.DET_COMERCIAL_DOCUMENTOS sólo se llenará cuando se utilicen los [[#Modo de Ejecución Implícito|Modo de Ejecución Implícito]] y [[#Modo de Ejecución Explícito|Modo de Ejecución Explícito]] * Para comprensión del API se definen los siguientes códigos de representación para los modos de ejecución: **I:Implícito, E:Explícito, S:Especifico**. Estos códigos se utilizarán en la columna **MODOS** en la siguiente tabla. ==== SFCOMERCIAL.PCK_CAUSACION ==== Este es el paquete principal del API que soporta la interface contiene la mayoria de los procedimientos y funciones que realizan las generaciones de documentos financieros. ^TIPO((Tipo de elemento Función o Procedimiento)) ^NOMBRE((Nombre del Elemento)) ^MODOS((Modos de ejecución en los cuales es utilizado el elemento)) ^COMMENTS((Descripción de la funcionalidad del elemento))^ |PROCEDURE|SP_GENERE_PLANTILLA|E/I/S|Procedimiento para la causacion contable, recibe como parametro de salida el codigo del asiento y como parametros de entrada la descripcion, el codigo comercial, el usuario que registra, el consecutivo registrado en mae_comercial y el tipo de asiento que indica si es contrasiento a o no. Se adiciona el Plan Contable para el soporte de multiples planes contables.| |PROCEDURE|SP_PLANTILLA_CAUSACION_DEB|E/I/S|Procedimiento que se encarga de realizar la causación débito de la plantilla| |PROCEDURE|SP_PLANTILLA_CAUSACION_CRE|E/I/S|Procedimiento que se encarga de realizar la causación crédito de la plantilla| |PROCEDURE|SP_PLANTILLA_CAUSACION_CRERET|E/I/S|Procedimiento que se encarga de realizar la causación de la retención| |PROCEDURE|SP_PLANTILLA_CAUSACION_CRECON|E/I/S|Procedimiento que se encarga de realizar la causación de la retención contratista Art. 383| |PROCEDURE|SP_INSERTE_TEMP_DET_ASIENTO|E/I/S|Procedimiento para el registro de las cuentas con su valor debito o credito, recibe como parametro de salida el codigo de la cuenta contable, y como parametros de entrada el valor, el tercero, el centro de costos, el tipo de operacion (debito/credito), el tipo de cuenta(por pagar/por cobrar), el codigo del banco, el numero de documento referencia y el codigo de la plantilla| |PROCEDURE|SP_INSERTE_TEMP_DET_ASIENTO|E/I/S|Sobrecarga para soportar version estandar| |PROCEDURE|SP_INSERTE_TEMP_ASIENTO|E/I/S|Procedimiento para la generacion de aaientos contables, recibe como parametro de salida el codigo del asiento y como parametros de entrada la descripcion, el codigo comercial, el usuario que registra, el consecutivo registrado en mae_comercial y el tipo comercial registrado en mae_comercial| |PROCEDURE|SP_GENERE_ASIENTO|E/I/S|Procedimiento para la causacion contable, recibe como parametro de salida el codigo del asiento y como parametros de entrada la descripcion, el usuario que registra, el numero del documento, el codigo del concepto y tipo contable| |FUNCTION|FN_UPD_CPCOBRAR_FE|E/I/S|Proceso que prepara la cuenta por cobrar para procesos de factura electrónica| |PROCEDURE|SP_INSERTE_TEMP_CPCOBRAR|E/I|Procedimiento para insertar los conceptos y terceros con los cuales se van a generar las cuentas por cobrar, recibe como parametro de salida el codigo de la cuenta por cobrar(fectura) y como parametros de entrada el codigo comercial, el codigo del usuario que registra, la descripcion y el consecutivo registrado en mae_comercial| |PROCEDURE|SP_GENERE_CPCOBRAR|E/I/S|Procedimiento para la generacion de la cuenta por cobrar(factura), recibe como parametro de salida el codigo de la cuenta por cobrar y el codigo del documento y como parametros de entrada la descripcion, el usuario que registra| |PROCEDURE|SP_APRUEBE_CPCOBRAR|E/I/S|Procedimiento para la aprobacion de la orden factura. Recibe como parametro de salida el codigo de la cuenta por cobrar y como parametro de entrada el numero de factura| |PROCEDURE|SP_ANULE_CPCOBRAR|E/I/S|Este procedimiento anula una factura y recibe como parametros de entrada un consecutivo de documento, una descripción, la fecha de afectación, el usuario que anula la factura, el numero de factura a anular y como parametro de salida el codigo interno de la factura| |PROCEDURE|SP_ANULE_CEGRESO|E/I/S|Este procedimiento anula una factura y recibe como parametros de entrada un consecutivo de documento, una descripción, la fecha de afectación, el usuario que anula la factura, el numero de factura a anular y como parametro de salida el codigo interno de la factura| |PROCEDURE|SP_APRUEBE_DISPONIBILIDAD|E/I/S|Procedimiento para la aprobacion de disponibilidades y afectacion de rubros en presupuesto. Recibe como parametro de salida código de la disponibilidad| |PROCEDURE|SP_APRUEBE_COMPROMISO|E/I/S|Procedimiento para la aprobacion de compromisos y afectacion de disponibilidades y rubros en presupuesto Recive como parametro de salida codigo del compromiso| |PROCEDURE|SP_APRUEBE_OPAGO|E/I/S|Procedimiento para la aprobacion de la orden de pago y afectacion de compromisos. Recibe como parametro de salida codigo de la orden de pago| |PROCEDURE|SP_INSERTE_TEMP_CEGRESO|E/I|Procedimiento para la generacion de comprobantes de egreso, recibe como parametro de salida el codigo del comprobante de egreso y como parametros de entrada la descripcion, el codigo comercial, el usuario que registra, el consecutivo registrado en mae_comercial y el tipo comercial registrado en mae_comercial| |PROCEDURE|SP_GENERE_CEGRESO_03|E/I/S|Procedimiento para la generacion del comprobante de egreso sin afectación presupuestal, recibe como parametro de salida el codigo del comprobante de eegreso y como parametros de entrada el usuario que registra el proceso| |PROCEDURE|SP_GENERE_CEGRESO|E/I/S|Procedimiento para la generacion del comprobante de egreso,recibe como parametro de salida el codigo del comprobante de eegreso y como parametros de entrada el codigo de la orden de pago y el usuario que registra| |FUNCTION|F_FIND_HOMOLOGACION|E/I/S|Devuelve la cuenta homologada| |FUNCTION|F_AFECTACION_INGRESOS|E/I/S|Realiza la afectación de ingresos| |FUNCTION|F_SALDOS_BANCOS|E/I/S|Realiza la actualización de saldos de bancos| |PROCEDURE|SP_IMPRESION_CHEQUE|E/I/S|Procedimiento que realiza el pago de tesoreria| |FUNCTION|F_IMCH00_INIT_PARAM|E/I/S|Inicializar los parametros para el proceso de impresion de cheques| |PROCEDURE|SP_IMCH00_INIT_PARAM|E/I/S|Incializar los parametros general para lanzar cargas de supertabla| |FUNCTION|F_IMCH01_VAL_PUC_BANCO|E/I/S|Realizar la validación del PUC de Bancos| |FUNCTION|F_IMCH02_VAL_BANCO|E/I/S|Realiza las validaciones del banco| |FUNCTION|F_IMCH03_UPD_CE|E/I/S|Actualiza el movimento del comprobante de egreso que agrupa con los movimientos que tiene cada comprobante del detalle| |FUNCTION|F_IMCH04_UPD_CE_NOMINA|E/I/S|Actualiza el movimento del comprobante de egreso que agrupa con los movimientos que tiene cada comprobante del detalle| |FUNCTION|F_IMCH05_DESC_OP|E/I/S|Devuelve el texto para la descripción del Pago| |FUNCTION|F_IMCH06_GET_VALOR_CXP|E/I/S|Función que devuelve el saldo de los asientos asociados al egreso menor o igual a la fecha consultada| |FUNCTION|F_IMCH07_SET_ASIGNE_CXP|E/I/S|Procesar la asignación de cuentas por pagar| |FUNCTION|F_IMCH08_TOTAL_DOC_PUC|E/I/S|Devuelve el total por PUC| |FUNCTION|F_IMCH09_VAL_EMBARGO_BANCO|E/I/S|Valida si hay embargos| |FUNCTION|F_IMCH10_CUENTA_CCOSTOS|E/I/S|Valida si la cuenta aplica pocentro de costos| |FUNCTION|F_IMCH11_AFECTE_RUBROS|E/I/S|Realiza la afectación del rubro del egreso| |FUNCTION|F_IMCH12_UPD_DATE_CE_NOMINA|E/I/S|Actualiza la fecha en los egresos de nómina| |FUNCTION|F_IMCH13_UPD_CE_EFECTUA_PAGO|E/I/S|Actualiza la afectación del rubro del egreso| |FUNCTION|F_IMCH14_UPD_CE_EFECTUA_ANTICI|E/I/S|Esta funcion registra lo reecepcionado en tesoreria que son las equivalentes a la generacion de las cuentas por pagar en tesoreria| |FUNCTION|F_IMCH15_UPD_PROCESO_PRESUPUES|E/I/S|Realiza la afectación presupuestal de la generacion de las cuentas por pagar en tesoreria| |FUNCTION|F_IMCH16_UPD_INSERTE_RUBRO|E/I/S|Valida que el rubro se encuentre en el periodo que se va a actualizar si no se inserta| |FUNCTION|F_IMCH17_SALDOS_CUENTAS_PPTO|E/I/S|Actualiza los saldos de presupuesto| |FUNCTION|F_IMCH18_CAMBIA_ESTADO_CE|E/I/S|Cambia el estado del egreso| |PROCEDURE|SP_INSERTE_TEMP_CINGRESO|E/I|Procedimiento para la generacion de comprobantes de ingreso, recibe como parametro de salida el codigo del comprobante de ingreso y como parametros de entrada la descripcion, el codigo comercial, el usuario que registra, el consecutivo registrado en mae_comercial y el tipo comercial registrado en mae_comercial| |PROCEDURE|SP_GENERE_CINGRESO|E/I/S|Procedimiento para la generacion del comprobante de ingreso, recibe como parametro de salida el codigo del comprobante de ingreso y como parametros de entrada el codigo del tercero, la descripcion y el usuario que registra| |PROCEDURE|SP_GENERE_REMISION_OP|E/I/S|Procedimiento que se encarga de generar la remisión de la Orden de Pago| |PROCEDURE|SP_INSERTE_TEMP_OPAGO|E/I/S|Procedimiento para la generacion de ordenes de pago, recibe como parametro de salida el codigo de la orden de pago y como parametros de entrada la descripcion, el codigo comercial, el usuario que registra, el consecutivo registrado en mae_comercial y el tipo comercial registrado en mae_comercial| |PROCEDURE|SP_RECEPCIONE_PEDIDO|E/I/S|Procedimiento para la generacion causacion contable, recibe como parametro de salida el codigo del documento y como parametros de entrada la descripcion, el usuario que registra, el consecutivo registrado en mae_comercial y el codigo del tercero| |FUNCTION|F_GET_LOGMSG|E/I/S|Devuelve el estado de la variable de mensajes de log de procesos| |FUNCTION|F_UPDATE_DESC_DOC|E/I/S|Actualiza la descripcion de los documentos hijo del documento generado| |FUNCTION|F_MSG|E/I/S|Función de registro de mensajes| |PROCEDURE|P_MSG|S|Procedimiento de registro de mensajes| |PROCEDURE|P_CLEAR_MSG|S|Limpiar el array de mensajes| |PROCEDURE|P_CLEAR_TMP_TABLE|S|Limpiar las tablas temporales| |PROCEDURE|P_INIT_CONSTANTES|S|Limpiar las tablas temporales| |PROCEDURE|P_BULK_MESSAGE_LOGGER|S|Registra en bloque los mensajes generados en un proceso| |PROCEDURE|F_IS_CONTROLAR_CONSECUTIVO|S|Función que valida la badera de control de consecutivo| |PROCEDURE|F_REG_COD_INTER_CARGA|S|Registra el código comercial del documento procesado| |PROCEDURE|F_UPD_CONSEC_CARGA|S|Actualiza con los codigos internos de la carga con los consecutivos siguientes en la configuración| |PROCEDURE|F_GET_LOG_MENSAJE|S|Devuelve la variable global de mensajes| ===== Modos de Ejecución ===== La interfaz supertabla permite ejecutarse de 3 formas las cuales han sido denominadas modos de ejecución y a continuación se listan: ==== Modo de Ejecución Implícito ==== Este es el modo tradicional de consumo. Es el utilizado por los usuarios del módulo de tesorería de SICOF ERP desde la opción TESORERIA/INTERFACE/Carga de Archivos, para la generación de documentos financieros. En este modo el usuario configura un archivo de texto el cual es generado de acuerdo al tipo de proceso que se va a ejecutar. ==== Modo de Ejecución Explícito ==== Este es el modo recomendado para las integraciones entre sistemas que afecten el módulo financiero SICOF ERP. Este proceso es similar al [[#Modo de Ejecución Implícito|Modo de Ejecución Implícito]] sin embargo en este modo no se genera un archivo, sino que se realizan inserciones en las tablas [[#SFCOMERCIAL.DET_COMERCIAL|SFCOMERCIAL.DET_COMERCIAL]] y [[#SFCOMERCIAL.MAE_COMERCIAL|SFCOMERCIAL.MAE_COMERCIAL]] pero se mantienen las mismas reglas de configuración de las tablas [[#SFCOMERCIAL.MAE_CONCEPTOS_COMERCIAL|SFCOMERCIAL.MAE_CONCEPTOS_COMERCIAL]] y [[#SFCOMERCIAL.TIPOS_COMERCIAL|SFCOMERCIAL.TIPOS_COMERCIAL]]. El resultado esperado es el mismo del modo anteior. ==== Modo de Ejecución Específico ==== Este modo de ejecución es utilizado para procesos avanzados y requiere dominio interno sobre los flujos de procesos de generación de documentos, este modo de ejecución es más rápido ya que no utiliza las configuraciones de los modos anteriores si embargo tampo almacena logs ni registros de eejcución. Solo es recomendado para procesos donde la generación de documentos es generada por procesos previamente definidos que no requieren intervención del usuario. ==== Tabla de referencia de los modos de ejecución ==== La siguiente tabla presenta las diferencias entre los modos de ejecución y otras conseideraciones que deben ser analizadas al momento de utilizar la interfaz supertabla: ^Modo de Ejecución^Implícito^Explícito^Específico^Notas^ ^Configuración de Conceptos|X|X|N/A|[[#SFCOMERCIAL.MAE_CONCEPTOS_COMERCIAL|SFCOMERCIAL.MAE_CONCEPTOS_COMERCIAL]] | ^Log de Documentos generados|X|X|N/A|[[#SFCOMERCIAL.DET_COMERCIAL_DOCUMENTOS|SFCOMERCIAL.DET_COMERCIAL_DOCUMENTOS]] | ^Utilizado en Integraciones|N/A|X|X|Puede ser utilizado por otras aplicaciones.| ^Log de Procesos|X|X|X|[[#SFCOMERCIAL.DET_COMERCIAL_LOG|SFCOMERCIAL.DET_COMERCIAL_LOG]] | ^Log de Carga|X|X|X|Almacena logs de errores del sistema| ===== Alcance ===== La supertabla soporta para generación de los siguientes documentos financieros: ^Presupuesto^Tipo Documento^ |Gastos|Disponibilidad| |Gastos|Compromiso| |Gastos|Orden de Pago| |Gastos|Recepción de Pedidos| |Gastos|Comprobante de Egreso con Afectación Presupuestal| |Gastos|Comprobante de Egreso sin Afectación Presupuestal| |Gastos|Remisión de Pago| |Gastos|Causación Contable| |Ingresos|Cuenta por Cobrar| |Ingresos|Comprobante de Ingreso| ===== Documentos/Instructivos para Usuarios ===== [[ada:howto:sicoferp:factory:interface:interfacedocumentoguiausuario|Documentos/Instructivos para Usuarios]] ===== Limitaciones ===== La interfaz de supertabla al ser una funcionalidad soportada actualmente en la base de datos presenta las siguientes limitaciones que deben ser consideradas: ===== Guía de Uso para Integraciones ===== Para utilizar la interfaz de supertabla puede utilizar los siguientes pasos como referencia para implementaciones en los modos de ejecución [[#Modo de Ejecución Implícito|Implícito]] y [[#Modo de Ejecución Implícito|Explícito]] - Identificar los documentos que va a generar la integración - Identificar el modo de ejeucción que va a ser utilizado - Identificar las configuraciones, según el modo de ejecución elegido - Generar las estructuras que almacenarán los datos de la carga que generará el proceso - Generar las estructuras de soporte para almacenar logs. Esto es necesario para poder ientificar que carga se está generando. [[ada:howto:sicoferp:factory|←Volver atras]]