Introducción
Este artículo tiene por objetivo guiar al usuario en el mantenimiento, soporte e implementación en la plataforma de Calipso ERP. A lo largo del mismo, se responderán las preguntas frecuentes acerca de la aplicación de lenguaje scripting, que ayudarán a utilizar estas herramientas de manera efectiva.
Contenido
Scripting
¿Qué es Scripting en Calipso ERP?
¿Qué lenguajes de scripting se utilizan?
¿Qué limitaciones tiene cada lenguaje?
Lenguaje Vbscript
Lenguaje Jscript
Diferencias entre scripting y librería externa.
¿El scripting desarrollado es compatible para todas las versiones del producto?
¿El scripting desarrollado en el producto, tiene limitaciones?
Puntos de Script
¿Dónde puedo utilizar scripts en Calipso ERP?
Procedimientos Públicos de servidor
System Manager
Editor de Layouts (DAF)
Editor de Script
¿Qué utilidad tiene el editor de scripting en Calipso ERP?
¿Qué tipos de editores existen?
Aplicación COM+
¿Qué es COM+?
¿Cómo es la relación entre COM+ y Calipso ERP?
Relación entre el script y COM.
______________________________________________________________________________________________________
SCRIPTING
En términos generales, el Scripting es un tipo de lenguaje diseñado para integrarse, combinarse y comunicarse con otros lenguajes de programación. Una de sus características es la ausencia del proceso de compilación: se interpreta sin compilarse, directamente desde el código fuente. Esto lo convierte en una herramienta con la que es posible manipular mediante algoritmos -a nivel código- los objetos del framework de la aplicación.
¿Qué es Scripting en Calipso ERP?
En Calipso ERP, esta capacidad del Scripting permite dar soluciones a problemas específicos que no es posible resolver mediante herramientas estándar del sistema y así poder desarrollar modelizaciones más profundas o completas. Ejemplo: Script de Inicio de Procesos o transacciones (pueden agregar funcionalidad a una pantalla de carga de datos); Script de Procesos (validaciones); Script de Eventos con efectos colaterales (ej. Envío de mail), etc.
Es la última alternativa a aplicar cuando es necesario modificar o alterar cualquier funcionamiento no previsto, y el mismo no pueda ser resuelto mediante las herramientas habituales.
¿Qué lenguajes de scripting se utilizan?
El scripting en Calipso ERP, soporta dos tipos de lenguajes:
Vbscript.
Jscript (derivado de Javascript).
¿Qué limitaciones tiene cada lenguaje?
Lenguaje Vbscript
No tiene la capacidad de utilizar parámetros opcionales al declarar una función.
En la actualidad está muy poco difundido y casi en desuso, ya que está restringido solo al ambiente de Windows y el mundo se está moviendo hacia plataformas de código abierto. Supo ser uno de los principales lenguajes, sin embargo, hoy lo utilizan menos del 5% de los programadores.
Lenguaje Jscript
Es derivado de JavaScript, el lenguaje más popular y utilizado en la mayoría de sitios web. Sin embargo, al utilizarse históricamente más el VBScript en Calipso ERP, es probable que se encuentre poca documentación y ejemplos de uso.
Al ser un lenguaje basado en JAVA, tiene limitaciones propias del lenguaje C. Una de las más relevantes es ser case-sensitivo, lo cual demanda mucho cuidado al escribir el script, puesto que diferencia entre mayúsculas y minúsculas. Ejemplo: en estas dos formas de escribir el script, la primera es la correcta, mientras que la segunda -con mayúsculas iniciales- marcaría error:
t.fo.encab <> t.Fo.Encab (error)
Es necesario utilizar como referencia el explorador de clases del editor, para identificar la forma correcta de escritura.
Diferencias entre scripting y librería externa.
Una de las principales diferencias entre el scripting y la librería externa, es el proceso de compilación en cada uno y la posibilidad de modificar o no el código.
En el caso del scripting, el lenguaje es interpretado: eso significa que se escribe dentro del producto, directamente desde el código fuente , y se compila cuando el mismo es chequeado. Esto permite que pueda ser modificado y -como se mencionó anteriormente- a nivel código es posible manipular mediante algoritmos los objetos del framework de la aplicación.
En cambio, las librerías externas son paquetes de código que proporcionan acceso a funcionalidades concretas. A diferencia del scripting, están desarrolladas con un lenguaje de programación compilado por fuera del producto y necesita referenciar la Dll en la Classes del administrador del sistema (/admin). Esto permite empaquetar la modelización, sin posibilidad de alterarse: solo el propietario del código puede modificarlo y, en ese caso, se debe volver a compilar.
¿El script desarrollado es compatible para todas las versiones del producto?
Sí, Calipso ERP procura garantizar que el script desarrollado sea compatible en versiones actuales y futuras. Esto significa que puede no ser compatible con versiones anteriores, en el caso de que se esté utilizando una funcionalidad que no existía antes.
¿El scripting desarrollado en el producto tiene limitaciones?
La respuesta a esta FAQ, es relativa. El scripting desarrollado en este producto, podemos decir que está limitado al SCOPE; es decir, al ambiente de ejecución. En este sentido, no es lo mismo un script de modelización que uno de layout, el funcionamiento de cada uno es diferente. Por ejemplo, desde un script de layout no es posible hacer una invocación
PUNTOS DE SCRIPT
¿Dónde puedo utilizar scripts en Calipso ERP?
Los puntos más importantes donde podemos interactuar con scripting, son:
Procedimientos Públicos (de Servidor)
System Manager
Layout de reportes (DAF)
Procedimientos Públicos de servidor
Ubicación: Administración del Sistema > Herramientas > Modelo/Flujo > Procedimientos Públicos.
Función: es el almacén más importante de scripting en Calipso ERP y actúa como un repositorio de código en formato de scripting. Cabe aclarar que Procedimientos Públicos está disponible tanto en Servidor como en Cliente, refiriéndonos en este caso al primero.
Características:
Este almacén está conformado por módulos, cada uno con un ID, donde se pueden definir funciones y procedimientos.
Deja al scripting en una instancia pública, permitiendo que las funciones y procedimientos puedan ser invocados desde cualquier parte. Para ello, deben ser llamados específicamente, ya que no se ejecutan de forma automática.
Ejemplo: globalchangeform() es una función que se ejecuta siempre que se construye un formulario y todas las invocaciones las hace el framework.
System Manager
Ubicación: se puede acceder a esta herramienta desde cualquier objeto o documento, a través del ícono correspondiente; o, seguir la ruta Administración del Sistema > Herramientas > System Manager, y luego seleccionar el objeto o transacción a modelizar.
Función: permite alterar el funcionamiento del objeto, tanto de representación gráfica como de proceso. Se trata de una de las herramientas que están implícitas en el sistema -ligadas al Objeto- y que se “disparan” a través del mismo, permitiendo personalizar y ajustar el comportamiento y la apariencia del objeto de usuario, según las necesidades específicas de la organización.
Características:
No tiene una ubicación específica, sino que se trata básicamente de scripts que se ejecutan ante un evento, pudiendo aplicarse a formularios, objetos y transacciones (documentos). La edición debe realizarse antes de que estos sean renderizados, dibujados o procesados, respectivamente.
Permite “pararse” en cualquier entidad y editar la metadata, cambiar el caption, etc.
Puede configurarse para que los ajustes sean vistos por el grupo de usuarios; es decir, se puede hacer visible para el groupID.
Editor de Layouts (DAF)
Ubicación: se puede acceder a esta herramienta el toolbar de edición de un layout de impresión.
Función: permite alterar cualquier comportamiento de los objetos que se encuentran dentro del layout de impresión, como por ejemplo:
Secciones
Agrupamientos
Sub-reportes
Campos
Visibilidad
Características:
En el editor se visualiza la sección referente al “evento” de la misma. Por ejemplo, “detail_onformat” significa que se puede crear un script ahí dentro, el cual se ejecutará cada vez que se da formato a la sección de Detalle.
Los objetos como campos, etc, se pueden invocar de manera directa. Por ejemplo, si existe un campo de tipo “Textbox” con Id “cliente”, este campo es expuesto en el scope global con el ID y así se podrían acceder sus métodos/propiedades.
Ejemplo:
function Detail_onformat(){
cliente.caption = "Nombre del cliente"
}
EDITOR DE SCRIPT
¿Qué utilidad tiene el editor de scripting en Calipso ERP?
Entre las utilidades del editor de scripting, se destacan:
Está integrado al cliente de Calipso ERP.
Permite compilar.
Soporta tanto lenguaje Jscript como Vbscript.
Permite explorar:
las clases del motor,
las propiedades de formularios/objetos, etc.
¿Qué tipos de editores existen?
Existen dos tipos de editores de scripting:
Editor externo, que incluye:
VSCode.
Visual Script editor.
Otro.
Editor Calipso ERP, cuyas características son:
Para abrir el editor, seleccionar el lenguaje a editar:

El botón Compilar realiza un control de sintaxis del código (vbscript/jscript).
Una vez compilado, se arma un explorador de miembros (procedimientos/funciones).
El botón Guardar guarda el código en el objeto seleccionado.
APLICACIÓN COM+
¿Qué es COM+?
Por una parte, COM significa Component Object Model y se trata de una tecnología desarrollada por Microsoft en 1993, para los componentes de software introducidos por la propia empresa. Esta plataforma permite la comunicación entre procesos, así como la creación dinámica de objetos, en cualquier lenguaje de programación que soporte dicha tecnología.
COM+ proporciona un conjunto de servicios orientados principalmente al desarrollo de aplicaciones para la capa media de una aplicación (capa de lógica de negocio; las otras dos capas son la de presentación y la de datos), enfocados a proporcionar fiabilidad y escalabilidad para aplicaciones distribuidas de gran escala.
¿Cómo es la relación entre COM+ y Calipso ERP?
Calipso ERP se basa por completo en este paradigma. A través de la tecnología que ofrece COM+, es posible interactuar con los objetos y establecer la comunicación con este modelo que está siendo manipulado, a la vez que crear las librerías externas para que interactúen con las aplicaciones. Por ejemplo, mediante este concepto en server se podría enviar un email.
En conclusión, con el uso de esta tecnología, Calipso ERP resulta un modelo de comunicación de objetos.
Relación entre el script y COM.
Esta relación es directa, ya que los objetos COM son precisamente los objetos que pueden ser manipulados desde el script. En Calipso ERP, el modelo de objetos que es enviado al script es todo el universo posible de ser manipulado.
_______________________________________________________________________________________________
Versión 1.0 Documentación realizada en base a capacitaciones brindadas por Javier Bellini al equipo de Soporte liderado por Maximiliano Rovner. Elaboración y edición: Ludmila Brzozowski. Validación: Javier Beleni.
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo
