Herramientas de usuario

Herramientas del sitio


ada:howto:sicoferp:pb:implements:setupmulti-company

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
ada:howto:sicoferp:pb:implements:setupmulti-company [2021/05/19 12:03]
192.168.177.29 creado
ada:howto:sicoferp:pb:implements:setupmulti-company [2021/05/19 13:40] (actual)
192.168.177.29
Línea 12: Línea 12:
  
 ===== Modelos de Contexto de Empresa SICOF ERP ===== ===== Modelos de Contexto de Empresa SICOF ERP =====
-Existe 2 modelos de empresa soportados en SICOF ERP:+Existe 2 modelos de empresa soportados en SICOF ERP los cuales estan definidos en el siguiente repositorio [[http://​adacsc.co:​1443/​svn/​repository/​ADA/​SICOF/​Documentos/​Desarrollos/​PowerBuilder/​ScriptsDB/​Tags/​App/​Financiero/​25%20ENTORNO%20MULTIEMPRESA 
 +|SVN]]
  
 ==== Modelo Uni-Empresa ==== ==== Modelo Uni-Empresa ====
Línea 25: Línea 26:
   * Unillanos   * Unillanos
  
-Para activar este modelo se deben registrar/​actualizar las [[#​|Constantes Relacionadas]] con los siguientes estados:+Para activar este modelo se deben registrar/​actualizar las [[#​|Constantes Relacionadas]] ​en el siguiente script **0001b CONSTANTES ENTORNO MULTIEMPRESA INACTIVO.sql** ​con los siguientes estados:
  
 <code sql> <code sql>
Línea 63: Línea 64:
   * FINEB   * FINEB
  
-Para activar este modelo se deben registrar/​actualizar las [[#​|Constantes Relacionadas]] con los siguientes estados:+Para activar este modelo se deben registrar/​actualizar las [[#​|Constantes Relacionadas]] ​en el siguiente scripts **0001a CONSTANTES ENTORNO MULTIEMPRESA ACTIVO.sql** ​con los siguientes estados:
  
 <code sql> <code sql>
Línea 98: Línea 99:
  
  
-===== Ejemplo de uso de la Consola ​de Procesos ​===== +===== Modo de Implementación Multiempresa en las Aplicaciones Powerbuilder ===== 
-Se toma como ejemplo ​la implementación ​en la funcionalidad [[ada:sicoferp:financiero:presupuesto:cuentasporpagar:cxpprecierre#​Consola ​de Procesos|Cuentas por Pagar (Pre-cierre)]].+Para implementar el soporte multiempresa en las aplicaciones Powerbuilder debe seguir los siguientes pasos: 
 + 
 +==== Setear contexto de empresa por transacción - Modo separado ==== 
 +Toda sentencia SQL embebida en el código Powerbuilder debe estar precedida por una instrucción de seteo de contexto la cuál se invoca por medio de la clase **n_cst_context** ubicada en la librería **sf00util.pbl** de Objetos SICOF de la siguiente manera: 
 + 
 +<code pl/​sql>​ 
 +//Ejemplo de Referencia:​ 
 +n_cst_context iuo_context 
 +iuo_context = Create n_cst_context 
 +iuo_context.of_sql_embedded_context(ts_transaccion,​ gd_cempresa) 
 +SELECT FORMATO 
 +INTO :​ls_datawindow 
 +FROM DET_FORMATOS_DOCUMENTO 
 +WHERE CODIGO_DOCUMENTO = 14 
 +AND ACTIVO = '​S'​  
 +Using ts_transaccion;​ 
 +</​code>​ 
 + 
 +El modo de implementación anterior puede ser sustituido por un modo centralizado gracias al objeto **guo_app** instancia ​de la clase **n_cst_app** ubicada en la librería **sf00util.pbl** ​de Objetos SICOF la cuál está disponible desde el inicio de sesión:  
 + 
 +<code pl/​sql>​ 
 +//Ejemplo de Referencia:​ 
 +guo_app.of_sql_embedded_context(ats_db) 
 +SELECT CONCEPTO_CONTABLE,​ TIPO_CONTABLE 
 +INTO :​ldb_concepto_contable,​ :​ldb_tipo_contable 
 +FROM PRESUP01.MAE_CUENTAS_POR_COBRAR 
 +WHERE CODIGO_CPCOBRAR ​:​adb_cpcobrar 
 +USING ats_db;​ 
 +</​code>​ 
 + 
 +Este modo de seteo de contexto es el utilizado por los productos:​ 
 + 
 +  * Contabilidad 
 +  * Presupuesto 
 +  * Tesorería 
 +  * Nómina 
 +  * Talento (Pendiente por implementar) 
 + 
 +==== Setear contexto de empresa por transacción - Modo integrado ​==== 
 +Toda sentencia SQL embebida en el código Powerbuilder debe incluir ​la columna **CODIGO_MEMPRESA** ​en su definición ​ de la siguiente manera: 
 + 
 +<code pl/​sql>​ 
 +//Ejemplo de Referencia: 
 +SELECT MAX(PERIODO) 
 +INTO :ls_periodo_cerrado 
 +FROM COMPRAS01.MAE_CIERRE_KARDEX 
 +WHERE codigo_mempresa in(to_char(:gd_cempresa),'​9999999999'​) 
 +AND CERRADO = '​S'​ 
 +Using ts_transaccion;​ 
 +</​code>​ 
 + 
 +Este modo de seteo de contexto es el utilizado por los productos: 
 + 
 +  * Compras 
 + 
 +==== Instrucciones que aplican para el Seteo de contexto de empresa por transacción ==== 
 + 
 +  * SELECT 
 +  * INSERT 
 +  * UPDATE 
 +  * DELETE 
 +  * DECLARE 
 + 
 +El seteo aplica para todas las tablas de configuración/​almacenamiento específico por empresa. Ejemplos: 
 + 
 +  * Asientos Contables 
 +  * Cuentas por Cobrar 
 +  * Comprobantes de Egreso 
 +  * Comprobantes de Ingreso 
 +  * Kardex 
 +  * Empleados 
 + 
 +==== Utilizar API Core de Objetos de acceso a Datos ==== 
 +Todos los objetos de acceso a datos deben heredar de las clases core de Objetos SICOF las cuales son: 
 + 
 +  * uo_datastore 
 +  * uo_datawindow 
 +  * uo_datawindow_dddw 
 +  * uo_datawindow_free 
 +  * uo_datawindow_lista 
 + 
 +Estas clases implementan el seteo de contexto automático. 
 + 
 +===== Consideraciones ===== 
 +  * REQUERIDO: Toda sentencia embebida SQL debe implementar seteo de contexto para las tablas especificas. 
 +  * REQUERIDO: Todo objeto de acceso a datos debe heredar del API Core de Acceso a Datos de Objetos SICOF. 
 +  * RECOMENDADO:​ En cualquier mantenimiento de código se debe hacer revisión del soporte multiempresa. 
 +  * No es necesario implementar seteo de contexto en las tablas generales. 
 + 
 +[[ada:​howto:​sicoferp:​pb:​implements|←Volver atrás]] 
ada/howto/sicoferp/pb/implements/setupmulti-company.1621425824.txt.gz · Última modificación: 2021/05/19 12:03 por 192.168.177.29