Sistema de Parámetros de ejecución. Descripción | Corporate

Modificado el Lun, 21 Jul, 2025 a 1:46 P. M.


INFORME: PARÁMETROS DE EJECUCIÓN EN DELPHI CORPORATE



INTRODUCCIÓN


Este documento describe el sistema de parámetros de ejecución utilizado en la aplicación Delphi Corporate, su estructura, mecanismos de almacenamiento, registro y consulta. También resume los principales parámetros implementados y sus casos de uso más comunes.


Importante: Encontrará mayor detalle de los parámetros aquí resumidos, en los artículos:


Datos del documento:



1. DEFINICIÓN Y PROPÓSITO


Los parámetros de ejecución son valores configurables que permiten modificar el comportamiento de la aplicación sin necesidad de cambiar el código fuente. Funcionan como interruptores que habilitan o deshabilitan funcionalidades específicas o modifican el comportamiento de ciertos procesos en tiempo de ejecución.



2. ESTRUCTURA DE ALMACENAMIENTO


Los parámetros de ejecución se almacenan en una estructura jerárquica:


2.1. Nivel de Sesión

  • El objeto Sesion mantiene un diccionario de parámetros (ParametrosEjecucion) que es del tipo IObjDict
  • Accesible mediante: Sesion(WorkSpace).ParametrosEjecucion

   

2.2. Nivel de Aplicación

  • La aplicación AppCalipso tiene sus parámetros en AppCalipso.Parametros.EJECUCION (tipo IDiccionario).
  • Este diccionario se sincroniza con el nivel de Sesión para mantener consistencia.


2.3. Catálogo de Parámetros

  • Existe un catálogo central (CatalogoParametrosEjecucion) que contiene todos los parámetros predefinidos.
  • Cada parámetro tiene una descripción asociada que explica su función y valores posibles.



3. MECANISMO DE REGISTRO


3.1. Inicialización

  • Al crear el objeto Sesión, se inicializa el registrador de parámetros (FParametroEjecucionRegister).
  • Este registrador es una instancia de TParametroEjecucionRegister.


3.2. Registro Predefinido

  • En el archivo ParametroEjecucionRegister.pas, el método RegisterAllParametro registra todos los parámetros del sistema.
  • Cada parámetro se registra mediante: RegisterParametro('NOMBREPARAMETRO', 'Descripción del parámetro').
  • Los parámetros quedan almacenados en el catálogo central.


3.3. Registro Dinámico

  • Se pueden agregar parámetros en tiempo de ejecución mediante la función AgregarParametroEjecucion.
  • Estos parámetros se agregan a la sesión actual y, opcionalmente, al catálogo central.




4. FUNCIONES DE ACCESO


El sistema proporciona tres funciones principales para acceder a los parámetros:


4.1. ParametroEjecucion

  • Firma: function ParametroEjecucion(aClave, aValor: string; aWorkspace: IWorkspace; aAppCalipso: IAppCalipso): boolean;
  • Propósito: Verifica si un parámetro existe con un valor específico.
  • Uso común: Para habilitar/deshabilitar funcionalidades según la configuración.


4.2. ParametroEjecucion2

  • Firma: function ParametroEjecucion2(aClave, aValor: string; aWorkspace: IWorkspace): boolean;
  • Propósito: Versión simplificada que no requiere el parámetro AppCalipso.
  • Uso común: Alternativa más sencilla cuando no se tiene acceso a AppCalipso.


4.3. ParametroEjecucionValor

  • Firma: function ParametroEjecucionValor(aClave: string; aWorkspace: IWorkspace; aAppCalipso: IAppCalipso): string;
  • Propósito: Obtiene el valor actual de un parámetro específico.
  • Uso común: Para recuperar valores variables o configuraciones complejas.



5. FLUJO DE CONSULTA


5.1. Inicio de Consulta

  • El código llama a una de las funciones (ParametroEjecucion, ParametroEjecucion2, ParametroEjecucionValor).
  • Se pasa el nombre del parámetro y, en el caso de ParametroEjecucion, el valor a comparar.


5.2. Delegación


Estas funciones delegan la consulta al objeto Sesion:

  • Sesion(aWorkspace).ParametroEjecucion(aClave, aValor).
  • Sesion(aWorkspace).GetParametroEjecucion(aClave)


5.3. Verificación

  • El objeto Sesion verifica si el parámetro existe en su diccionario ParametrosEjecucion.
  • Si existe, compara el valor (en el caso de ParametroEjecucion) o retorna el valor (en el caso de ParametroEjecucionValor).




6. SINCRONIZACIÓN


El sistema mantiene la consistencia de los parámetros mediante:

  • El método SincronizarParametrosEjecucion que asegura que los parámetros a nivel de sesión estén sincronizados con los parámetros a nivel de aplicación.
  • Cuando se agregan nuevos parámetros, se actualizan ambos niveles.



7. PARÁMETROS PRINCIPALES


El sistema incluye más de 100 parámetros predefinidos. Algunos de los más relevantes incluyen:


7.1. Configuración de Módulos

  • ABASTECIMIENTOYEXTRACCION: Si es "S" agrega funcionalidades relacionadas con el módulo de Abastecimiento.
  • TAREASGENERALES: Si es "S" activa el módulo de Tareas Generales.
  • COMPONENTESCOSTO: Si es "S" agrega la definición de componente de costo en productos y servicios.


7.2. Comportamiento de Transacciones

  • INTERRUMPIRRELACIONAUTO: Controla la ejecución de relaciones automáticas entre transacciones.
  • TRANSACCIONDELGADA: Si es "S" agrega un atributo layout con el atributo "TDDEF".
  • NOVALIDARLIMITEFECHATRANSACCION: En "S" desactiva la validación de límite de 5 años sobre fecha de transacción.


7.3. Configuración de Inventario

  • SINVALUACIONENELINGRESO: Si es "S" el ingreso no tiene valuación.
  • SINVALUACIONENELEGRESO: Si es "S" el egreso no tiene valuación.
  • SINVALUACIONENTRANSFERENCIA: Si es "S" la transferencia no tiene valuación.


7.4. Configuración de Compromisos de Pago

  • CPSINTOLERANCIA: Si es "S" desactiva la tolerancia para cancelar los compromisos de pago.
  • BORRADOCP: Si es "S" permite eliminar el compromiso de pago (con restricciones).
  • AUTOCORRECCIONCP: Si es "S" permite auto corregir los compromisos de pago.


7.5. Parámetros de Depuración y Sistema

  • COOKIESLOG: Si es "S" genera log de cookies y de depuración.
  • TRACKINGOBJECT: Si es "S" activa seguimiento de la historia de objetos.
  • DEBUGDELETE: Para depuración de operaciones de borrado.




8. CONSIDERACIONES Y BUENAS PRÁCTICAS


8.1. Nomenclatura

  • Usar nombres en MAYÚSCULAS para los parámetros.
  • Utilizar nombres descriptivos que indiquen su propósito.
  • No usar espacios ni caracteres especiales.


8.2. Documentación

  • Agregar una descripción clara y detallada al registrar un parámetro.
  • Documentar los valores posibles y su significado.
  • Mantener actualizado el catálogo de parámetros.


8.3. Valores Recomendados

  • Para parámetros tipo interruptor, usar "S" para activar y "N" para desactivar.
  • Para valores numéricos, documentar rangos válidos y unidades.
  • Para múltiples opciones, documentar todas las posibilidades.





CONCLUSIÓN


El sistema de parámetros de ejecución de Corporate proporciona un mecanismo flexible para configurar y personalizar el comportamiento de la aplicación sin modificar el código fuente. Esto facilita la adaptación del software a diferentes necesidades y entornos, así como la resolución de problemas específicos mediante configuración.


La estructura jerárquica, junto con el catálogo central de parámetros, garantiza una gestión ordenada y consistente de estas configuraciones, mientras que las funciones de acceso proporcionan una interfaz clara y sencilla para consultar y utilizar estos parámetros en toda la aplicación.




¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo