Campos - SCAM
La aplicación SCAM permite la configuración de reglas de negocio, control, tipos de campos y su obligatoriedad por empresa.
Parametrizar nueva restricción
Para parametrizar una nueva restricción, es necesario diligenciar el programa, el tab al cual pertenece el campo (0 para el maestro y para los detalles el RowId de la parametrización del spro), el nombre del campo (con la ayuda del comando Shift + F11), el código del lenguaje (1 Inglés, 2 Español y 5 Portugues).
Nombre: ingresar la etiqueta que se asignará al campo.
Descripción: colocar un texto que se mostrará como ayuda al momento de editar.
Obligatorio: se puede indicar si el campo parametrizado será obligatorio.
ErrorId: se puede colocar un código de un error que se encuentre parametrizado en la opción SERR - Errores.
Condicion: se puede parametrizar (en formato JSON) el tipo de datos que se debe validar en el campo y un conjunto de reglas de negocio como validaciones booleanas.
En el campo “format” se debe indicar el tipo de datos que debe validar la aplicación. Los tipos de datos que serán validados son: integer, number, date, time, datetime, url, email. Si este campo no se indica en el JSON, el sistema toma por defecto el formato de edición del JqGrid.
En el campo “customValidators” se debe agregar una lista de condiciones lógicas que deben ser validadas, estas líneas serán unidas por medio del operador “And” de Javascript (&&), para hacer referencia a el valor que se está almacenado en el campo se debe utilizar la variable “value”.
Si se desea hacer una validación de longitud de una cadena, se deben utilizar las funciones “maxLength(value, N)” y “minLength(value, N)” donde N es la longitud que será validada. Adicionalmente, se pueden validar expresiones regulares por medio de la función “evaluateRegex(pattern, value)” donde pattern es la expresión regular que será validada.
Parametrizar restricciones maestro tipo A y B
En la aplicación BBAN:
El error parametrizado se mostrará al momento de guardar si no se cumple alguna de las condiciones parametrizadas.
Parametrización “alertas en mensajes de control”, en maestros tipo C.
Desde la opción campos SCAM se establece la parametrización en la columna: Tipo, como CONSULTA REQUERIDO según sea el programa. El sistema lanzara un mensaje de control, para que el usuario establezca los filtros de búsqueda.
Realizamos un ejemplo con la opcion TMOV donde los cuatro primeros campos se parametrizan asi:
- programa = TMOV
- tabid = maestro (0), detalle (1) respectivamente.
- fieldid = campo para este ejemplo: date (fecha).
- idioma = 2 (español).
El siguiente paso es parametrizar el mensaje de control o alerta, para que el usuario digite el filtro. este codigos de errores provienen de la opcion SERR
Y el proceso finaliza con la validacion, al entrar al TMOV y al aplicar una consulta general; el sistema enviara un mensaje de control indicando que debe de establecer un fecha como filtro de consulta asi:
Parametrización restricciones maestros tipo C
Ingresamos a la aplicación SCAM y realizamos los cambios deseados.
Validamos en la aplicación correspondiente, que el cambio se haya efectuado satisfactoriamente.
El error parametrizado se mostrará al momento de guardar en caso tal que no se cumpla alguna de las condiciones definidas.
Parametrización detalles opciones tipo B y C
Ingresamos a la aplicación SCAM y realizamos los cambios deseados.
Validamos en la aplicación correspondiente, que el cambio se haya efectuado satisfactoriamente.
El error parametrizado se mostrará al momento de guardar en caso tal que no se cumpla alguna de las condiciones definidas.
Parametrización Zoom
Ingresamos a la aplicación SCAM y realizamos los cambios deseados.
Validamos en la aplicación correspondiente, que el cambio se haya efectuado satisfactoriamente.
El error parametrizado se mostrará al momento de guardar en caso tal que no se cumpla alguna de las condiciones definidas.
Parametrizar Valores por Defectos
Esta nueva funcionalidad permite declarar valores por defecto sobre campos (Listas, Fechas, Flags, etc) de aplicaciones de parametrización básica sin detalle como lo son: BBAN, BCOL. También para aplicaciones de parametrización que contengan detalle, como: BPRO, BTER, BDOC, BUBI, entre otras. Igualmente, para aplicaciones de movimientos o transacciones como lo son: CMOV, TMOV, KMOV, etc.
A continuación veámos algunos ejemplos.
- Configuración en aplicaciones de parametrización con sólo maestro y con maestro y detalle.
En el siguiente ejemplo para la aplicación BBAN - Bancos, definiremos que el campo llamado Bank Code tríaga automáticamente el valor 100. Para ello, consultaremos en el campo ProgramId la aplicación BBAN, seleccionamos el campo que deseamos parametrizar, en este caso Bank Code e ingresamos el valor 100 en la columna Default. Damos click en el botón Guardar para salvar los cambios.
Al crear un nuevo registro en la opción BBAN, traerá el valor 100 en el campo Bank Code.
- Configuración en aplicaciones de movimientos.
En la aplicación GFAC - Facturas, definiremos que al crear un nuevo registro el check QuotaCopayment esté activo. Para ello, igualmente consultamos la aplicación GFAC y seleccionamos el campo a parametrizar, allí en la columna Default digitamos la palabra true.
Al crear un registro en la aplicación GFAC.
- Parametrización en el detalle de aplicaciones de movimientos.
Definiremos que al crear un renglón en el detalle de la aplicación GFAC- Facturas, el campo Quantity tríga automáticamente el número 30.
Al crear un renglón en la aplicación GFAC.
- Parametrización en un Zoom.
Como ejemplo, parametrizaremos que al crear un cliente en la aplicación GFAC, el campo ClientType traíga automáticamente el tipo CÉDULA.
Consultamos por la opción ZGFAC y seleccionamos el nombre del zoom a parametrizar. En el campo Default ingresamos la letra C correspondiente a cédula.
Al crear un nuevo tercero en la aplicación GFAC.
- Parametrización de valores “NULL” para campos tipo fecha.
Desde la opción SCAM, se permite la parametrización de valores ‘null’ por defecto en campos tipo fecha para todos los tipos de aplicaciones de OASISCOM.
Veamos un ejemplo, se parametriza en la opción SCAM un campo donde el valor por defecto sea “NULL”, es decir, el campo se muestre en blanco.
Al abrir la opción donde se encuentra el campo parametrizado debe quedar el campo en blanco.
Anteriormente, la aplicación arrojaba automáticamente la fecha.
Después de realizar la parametrización, al crear un registro el campo aparecerá en blanco sin data.
Mensajes de error en tiempo de edición
Esta funcionalidad permite enseñar mensajes de error en los campos previamente parametrizados, mientras se esté editando un registro y no solamente cuando se de click en el botón Guardar.
Parametrización de Zoom
En el campo Zoom de la opción SCAM se parametrizan los zoom teniendo en cuenta lo siguiente:
1. Existen 4 tipos de Zoom:
- ZoomOneByOne = ‘N’ (Zoom Normal)
- ZoomMultiAdd = ‘M’ (Zoom que adiciona el registro seleccionado – Eje: Zoom DocumentId1 de la opción ACAT)
- ZoomCrud = ‘C’ (Zoom con el crud normal: crear, eliminar y editar – Eje: Zoom LotId de la opción IMOV)
- ZoomAdditive = ‘A’ (Zoom que solo crea el registro – Eje: Zoom “Crear tercero” del GFAC al dar click derecho)
2. El campo donde se parametrizan los zoom es en el campo Zoom del SCAM y este es en lenguaje JSON.
3. Hay que tener en cuenta las 3 variables que recibe el JSON.
- zoomType = ‘N’ o ‘M’ o ‘C’ o ‘A’ segun el caso
- Caption = El Label que aparecera en la lista
- ModelZoom = El nombre del modelo del Zoom.
4. El JSON se hará de la siguiente manera.
[{zoomType:'N',Caption:'ConsultaZoomTest', ModelZoom:'DocumentZoom'}]
5. Si se quiere agregar otro Zoom al mismo campo, se cierra la llave ({}) se pone la coma (,) y se vuelve abrir la llave ({}).
[{zoomType:'N',Caption:'ConsultaZoomTest', ModelZoom:'DocumentZoom'},
{zoomType:'M',Caption:'MultiEventActivityTest',ModelZoom:'EventActivityZoom'}]
Parametrización de zoom en campos de texto
Por medio de la aplicación SCAM se permite la parametrización de zooms desde cualquier campo tipo texto de las aplicaciones.
Primero, debemos identificar en dónde necesitamos crear el zoom, la aplicación, si es en el maestro o en que pestaña del detalle y el nombre del campo.
Seguidamente, realizamos la parametrización en SCAM. Agregamos un nuevo registro y diligenciamos los siguientes campos.
Programa: ingresar el nombre de la aplicación en donde se agregará el zoom.
Tab Id: indicar número de la tabla en donde se agregará el zoom, es decir, si es en el maestro será la tabla 0, en la primera pestaña del detalle será la tabla 1, en la segunda pestaña del detalle será la tabla 2, y así sucesivamente.
Field Id: Ingresamos el nombre del campo. Para conocerlo, nos dirigimos a la aplicación, nos ubicamos en el campo y oprimimos el comando Shift + F11.
Idioma: indicamos el id del idioma en que se visualice la aplicación.
Zoom: ingresamos el código del zoom que se desea agregar.
Finalmente guardamos los cambios. Para visualizar el nuevo zoom, es necesario cerrar sesión y volver a ingresar.
Al validar en la aplicación, vemos que el campo Rol ya cuenta con zoom.
Personalización de reportes por empresa
Personalización, por empresa los reportes – customizables. Se modifica la generación de los reportes para permitir el uso del SCAM (Campos), se valida la ejecución de los reportes y la exportación.
Parametrizacion:
1) En la opción SCAM se puede parametrizar el reporte que se debe mostrar en la opción seleccionada. Se debe parametrizar con el campo CompanyId y el nombre del reporte en el Campo “Template”.
2) Al ingresar al reporte parametrizado se podrá ver el nuevo reporte.
- Tener en cuenta que el reporte debe de estar almacenado en la carpeta de reportes del sitio con el nombre dado el campo “Template” del SCAM.
Templates para reportes
Esta funcionalidad permite la parametrización de un formato de Word para que funcione como template en lugar de un archivo RDLC existente para estas opciones.
En la opción SCAM se debe parametrizar el nombre del Template (Plantilla) y el Query que se va a ejecutar.
El Query debe tener los mismos parametros que tiene el reporte de tipo RDLC.
El campo al cual debe quedar asociado el template siempre debe ser el campo CompanyId.
En los campos Plantilla y QuerySql.
QuerySql:
select Company.CompanyName, Company.CompanyCode, Company.City, getdate() today, ContractPayroll.CompanyId, ContractPayroll.ClientId, Client.ClientName, ExpeditionDocumentDate [ExpeditionDocumentDate], ContractPayroll.[Date], ContractPayroll.[State], ContractPayrollDetail.PlaceId, Place.PlaceName, TypeContract.TypeContractName, ContractPayrollDetail.LocationLaborId, ContractPayrollDetail.TypeSalary, ContractPayrollDetail.Salary, ContractPayrollDetail.Initial, ContractPayrollDetail.Final, ContractPayrollDetail.DeductibleRetention, ContractPayrollDetail.RetentionPercentage, ContractPayrollDetail.[Retention], ContractPayrollDetail.[TypeContractId], ContractPayrollDetail.UpcAdditional, ContractPayrollDetail.ScaleId, GeographicLocation.GeographicLocationName from Company inner join ContractPayroll on Company.CompanyId = ContractPayroll.CompanyId inner join Client on Client.ClientId = ContractPayroll.ClientId and Client.CompanyId =ContractPayroll.CompanyId left join GeographicLocation on GeographicLocation.CompanyId = Client.CompanyId and GeographicLocation.GeographicLocationId = Client.DocumentLocationId inner Join ContractPayrollDetail On ContractPayrollDetail.CompanyId = ContractPayroll.CompanyId and ContractPayrollDetail.NumberId = ContractPayroll.NumberId and ContractPayrollDetail.DocumentId = ContractPayroll.DocumentId and ContractPayrollDetail.LocationId = ContractPayroll.LocationId Inner Join Place On ContractPayrollDetail.CompanyId = Place.CompanyId and ContractPayrollDetail.PlaceId = Place.PlaceId left join TypeContract on TypeContract.CompanyId = ContractPayrollDetail.CompanyId and TypeContract.TypeContractId = ContractPayrollDetail.TypeContractId WHERE ContractPayroll.ClientId=@pvUser and ContractPayroll.CompanyId=@pCompany Order By ContractPayrollDetail.Salary DESC.
El anterior ejemplo es de la aplicación ERRCL - Certificado Laboral en donde el sistema debe completar los campos de acuerdo con el usuario que requiera el certificado laboral.
La plantilla en Word:
Al abrir la opción (en este caso la ERRCL - Certificado Laboral) la aplicación detecta que hay una plantilla parametrizada y completa la información de los marcadores presentes dentro del documento.
Para generar el reporte ERRCL - Certificado Laboral, se debe parametrizar en el SPER - Perfil el tercero de un documento existente en la opción NCNT - Contratos.
#LISTAS Y BLOQUEO DE PARAMETROS POR MEDIO DE SCAM PARA PROCESOS ESPECIALES.
1.- En SPRO, actualmente se parametrizan las listas, valores por defecto y bloque de los campos para procesos especiales, con el nuevo desarrollo, esa parametrización queda igual, pero se le suma la parametrización del SCAM como se explica a continuación:
- La parametrización se divide en 2 partes:
• La primera para las listas del proceso especial, estas listas pueden definirse de 2 formas, la primera mediante una consulta a la base de datos (Query) definida en el campo QUERYSQL del SCAM, la cual debe tener únicamente 3 campos; el valor a enviar como parámetro, el texto a mostrar en la lista, y el nombre del parámetro que tomara estos datos, dicho nombre del parámetro debe ir en minúscula. La segunda forma para definir una lista es utilizando el BCRC, se crea un maestro BCRC con el programid del proceso especial y a dicho maestro se le definen en el detalle todos los datos de los campos que se van a manejar para el proceso especial, es decir, que si en el proceso especial hay 2 campos tipo lista, en el BCRC se definirán los valores que se tomaran en ambos campos. Para el BCRC, la parametrización tomada son los 3 campos del detalle: código, nombre característica y nombre característica 1, los cuales definen el valor a enviar, el nombre en el listado y el nombre del parámetro que tomara el dato.
• La segunda parte de la parametrización en SCAM, es para los bloqueos de campos, Zooms y Valores por defecto, dicha parametrización es por campos independientes, es decir, un registro en el SCAM por cada campos que se requiera parametrizar. En esta definición, simplemente se crea el registro en SCAM con el nombre del campo, igual que como se define en el SPRO, con su valor por defecto, check de habilitación, y nombre del zoom que tomara, de ser requerido.
Luego de hacer la parametrización en SCAM, no se requiere salir de la aplicación para ver los cambios, pues el proceso especial verifica los datos, cuando va a abrir nuevamente la opción.
Solo se requiere salir de la sesión actual, si se realizan cambios en el SPRO.
PARAMETROS EN SCAM PARA EL APEM.
Muestra de la funcionalidad en APEM
Muestra del APEM antes de aplicar la funcionalidad.
Parametrización en el BCRC de la lista cuando no se tiene querysql definido en SCAM.
Parametrización botón tipo consulta genérica desde SCAM.
Se realiza mejora sobre el botón tipo consulta genérica
ARGUMENTO = js_InformationControl
Se muestra parametrización realizada desde el SPRO
Se muestra parametrización en el detalle
Se resalta los campos argumento y datos
Hasta aca la parametrización desde el SPRO.
Nos ubicamos en el SCAM, sobre el mismo programa
TabId: Se indica el Identificador el Tab donde se mostrará el botón.
FieldId: Identificador del botón a crear, se puede colocar el indicador que uno desee.
Idioma: Se recomienda dejar un único lenguaje para este tipo de botones. Descripción: Hace referencia al campo argumento que se tiene en el SPRO. Defecto: Se usa de igual manera que se usa en el SPRO. Condición: Se hace referencia al campo Modelo del SPRO.
ItemChange: Se hace referencia al campo Vista del SPRO. Infocar: Se toma coloca los campos de Argumento y Datos del ProgramDetailDetail en formato JSON.
QuerySQL: Se coloca de igual manera como en el campo del SPRO.
Tipo: Se crea una opción “BOTON.”
Ya configurado nos ubicamos en el VPED.
Vista anterior que se tenía sobre este tipo de botón.
Se tenía una ventana de tipo alerta.
La cual se cerraba automáticamente y no era fácil ver la información.
Actualmente se realiza el cambio sobre la ventana, para que este de manera fija.
Esta ventana realiza paginación en caso se retorne más de un registro.
Si se requiere que soporte alguna imagen, se debe tener en cuenta lo siguiente.
A nivel del query que se parametrice.
Tener como indicador del campo imagen con el siguiente alias.
IMAGE_CONVERT
Actualización Masiva de Datos
Desde la aplicación SCAM - Campos se realiza la parametrización del Botón cuya principal funcionalidad es realizar actualizaciones masivas de datos. En este Ejemplo se realiza la creación del botón en el Programa HREC – Recepción, Nombre Actualiza Recepcion Dos, Tipo botón Actualizar y Plantilla Actualización Masiva.
Se crea otro registro en el SCAM – Campos parametrizando ahora los campos que se deseen actualizar, en el Campo Condición Fecha Inicial y Fecha Final y Tipo Actualización Masiva.
En la Aplicación HREC – Recepción se verifica la funcionalidad, se observa el botón y Nombre de este según lo parametrizado en SCAM – Campos
Se seleccionan los registros que se deseen modificar, seguidamente dar click en el botón Actualiza Recepcion Dos, automáticamente abre el Zoom con los campos a actualizar.
Finalmente, se observa los campos seleccionados con las actualizaciones realizadas en este caso fecha inicial y fecha final.
PODER OCULTAR BOTONES POR SROL QUE SE PARAMETRIZAN POR SCAM
Se realiza el proceso de ocultar botones en la aplicación SCAM, con el botón btnInfo5.
Donde luego se ingresa a la aplicación SROL - Roles y se procede a realizar la parametrización correspondiente para ocultar el botón, en SCAM - Compos se coloco el programa en el cual se quiere ocultar el botón tal como se muestra en la imagen, ejemplo ACON - Contactos, renglón 0, y el campo fielID se agrega el nombre del botón btnInfo5, y se activa el check de invisible.
Donde se evidencia que el botón está oculto
Si se desea visualizar de nuevo el botón, se activa el flag de Invisible, donde luego se podrá visualizar.