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
configuracionscripts [2020/12/02 14:59] – creado scantorconfiguracionscripts [2024/03/05 15:41] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
-====== Configuración de Scripts ======+====== Configuración de scripts ====== 
 + 
 +La funcionalidad de scripts se usa para realizar validaciones o llamar a servicios web simples de tipo GET que ejecutan algún tipo de tarea en un sistema externo a Be Aware 360. 
 + 
 +Estos scripts son utilizados como tipo de tareas en las [[configuracionlistachequeo#Configuración de listas de chequeo|listas de chequeo]]. 
 + 
 +**Nota:** Los scripts que se usan para las listas de chequeo corresponden a métodos de solo lectura (no ejecutan acción "save"), por lo que si en el script se ejecuta alguna función que modifique el objeto Caso (update), este no se aplicará. 
 + 
 +Los scripts se realizan en lenguaje JavaScript. 
 + 
 +Dentro de los scripts se pueden consultar campos de otros objetos de negocio, como son: 
 + 
 +  * **Caso:** Todas las variables de Caso. 
 +  * **Contacto:** Todas las variables de Contacto. Corresponde al Contacto relacionado al Caso. 
 +  * **Cuenta:** Todas las variables de Cuenta. Corresponde a la Cuenta relacionada al Caso. 
 +  * **Usuario:** Todas las variables de Usuario. Corresponde al Usuario asignado al Caso. 
 + 
 +**Nota:** Al realizar llamados a la URL de tipo GET es importante usar dos funciones para reemplazar los espacios y los caracteres especiales, dado que Be Aware no los soporta: 
 + 
 +  * La función **encodeURI(var)** permite utilizar espacios y otros caracteres como ''{}'' ''()'' en un mensaje sin necesidad de modificarlos por su código ASCII correspondiente. Por ejemplo, colocar %20 en lugar de espacio. 
 +  * La función **variable.replace** reemplaza los caracteres especiales que no son soportados en una URL por los que sí son soportados. Por ejemplo, utilizarlo para reemplazar ñ por n, á por a, etc. 
 + 
 +**Ejemplo de código:** 
 + 
 +El siguiente código hace un llamado a un servicio web que envía un mensaje de SMS: 
 + 
 +<code java> 
 +function execute(caso,stage,contacto,usuario,cuenta,service){ 
 + var jsonResult = {}; 
 + var telefono = contacto.fono[0]; 
 + if(telefono == null){ 
 + jsonResult.CODE = 200; 
 + }else{ 
 + if(telefono.substring(0,1) == "+"){ 
 + telefono = telefono.substring(1,telefono.length); 
 +
 + var sms = "Estimado(a) "+contacto.NOMBRE+", hemos registrado tu caso con el número "+caso.REFNUM; 
 + var sms = sms.replace(/á/gi,"a"); 
 + var sms = sms.replace(/é/gi,"e"); 
 + var sms = sms.replace(/í/gi,"i"); 
 + var sms = sms.replace(/ó/gi,"o"); 
 + var sms = sms.replace(/ú/gi,"u"); 
 + var sms = sms.replace(/ñ/gi,"n"); 
 + var uri = "https://urlget.com/envio-sms?subscriber="+telefono+"&mensaje="+sms; 
 + var urlService = encodeURI(uri); 
 + var salidaStr = service.executeService(urlService,null); 
 + var salidaJSON = salidaStr; 
 + if(salidaJSON == "OK_REQUEST"){ 
 + jsonResult.MESSAGE = 'MENSAJE SMS ENVIADO CON ÉXITO'+salidaJSON; 
 + jsonResult.CODE = 200; 
 + }else{ 
 + jsonResult.MESSAGE = 'ERROR DE ENVÍO SMS. REVISE EL NÚMERO DE CELULAR '+telefono+' '+salidaJSON; 
 + jsonResult.CODE = 500; 
 +
 +
 + return jsonResult; 
 +
 +</code> 
 +===== Crear un script ===== 
 + 
 +Para crear un script, realice los siguientes pasos: 
 + 
 +  - Navegue a **Proceso** > **Script**. 
 +  - El sistema lista todos los scripts que se han creado en la herramienta. 
 +  - Clic en el botón **Crear** ubicado en la parte superior derecha de la pantalla. 
 +  - Ingrese el nombre con el que se identificará el script en el campo **Nombre**. 
 +  - Ingrese el código del script en lenguaje //JavaScript// en el campo **Script**. 
 +    - Para utilizar algún campo de un objeto, por ejemplo //Caso//, se debe utilizar de la siguiente forma: ''caso.nombreCampo''. Ejemplo: ''caso.REFNUM''
 +    - Para utilizar los custom fields de un objeto, por ejemplo //Caso//, se debe utilizar de la siguiente forma: ''caso.CF.nombreCustomField''. Ejemplo: ''caso.CF.nombre''
 +    - La función debe respectar el orden de los objetos: 
 +      - <code>function execute(caso, stage, contacto, usuario, cuenta, service){}</code> 
 +  - Clic en el botón **Guardar** ubicado en la parte superior derecha de la pantalla. 
 + 
 +===== Modificar un script ===== 
 + 
 +Para modificar un script, realice los siguientes pasos: 
 + 
 +  - Navegue a **Proceso** > **Script**. 
 +  - El sistema lista todos los scripts que se han creado en la herramienta. 
 +  - Clic en el botón **Modificar** ubicado al final del registro script que desea modificar. 
 +  - Modifique el nombre con el que se identificará el script en el campo **Nombre**. 
 +  - Modifique el código del script en lenguaje javascript en el campo **Script**. 
 +    - Para utilizar algún campo de un objeto, por ejemplo //Caso//, se debe utilizar de la siguiente forma: ''caso.nombreCampo''. Ejemplo: ''caso.REFNUM''
 +    - Para utilizar los custom fields de un objeto, por ejemplo //Caso//, se debe utilizar de la siguiente forma: ''caso.CF.nombreCustomField''. Ejemplo: ''caso.CF.nombre''
 +    - La función debe respectar el orden de los objetos: 
 +      - <code>function execute(caso, stage, contacto, usuario, cuenta, service){}</code> 
 +  - Clic en el botón **Guardar** ubicado en la parte superior derecha de la pantalla. 
 + 
 +===== Eliminar un script ===== 
 + 
 +Para eliminar un script, realice los siguientes pasos: 
 + 
 +  - Navegue a **Proceso** > **Script**. 
 +  - El sistema lista todos los scripts que se han creado en la herramienta. 
 +  - Clic en el botón **Eliminar** ubicado al final del registro de script que desea eliminar. 
 +  - Clic nuevamente en el botón **Eliminar** para confirmar la eliminación del registro. 
 + 
 +===== Variables para utilizar en un script ===== 
 + 
 +==== Uso de las variables ==== 
 + 
 +  * Para usar las variables según los objetos, se utiliza la nomenclatura ''{objeto}.{variable}''.  
 +    * Por ejemplo: 
 +      * **Caso:** caso.REFNUM  
 +      * **Contacto:** contacto.NOMBRE  
 +      * **Usuario:** usuario.USER  
 +      * **Cuenta:** cuenta.RAZONSOCIAL 
 +  * Para utilizar los campos personalizados, se utiliza la nomenclatura ''{objeto}.CF.{nombrecampopersonalizado}''.  
 +    * Por ejemplo: 
 +      * **Caso:** caso.CF.nombre  
 +      * **Contacto:** contacto.CF.fechainicio 
 +  * Las variables de correo corresponde a un arreglo de 3 valores. Para utilizar esta variable, se utiliza de la siguiente manera: 
 +    * **Primer email:** contacto.email[0]  
 +    * **Segundo email:** contacto.email[1]  
 +    * **Tercer email:** contacto.email[2] 
 +  * Las variables de teléfono (fono) corresponde a un arreglo de 3 valores. Para utilizar esta variable, se utiliza de la siguiente manera: 
 +    * **Primer teléfono:** contacto.fono[0]  
 +    * **Segundo teléfono:** contacto.fono[1]  
 +    * **Tercer teléfono:** contacto.fono[2] 
 + 
 +==== Variables aceptadas para objeto Caso ==== 
 + 
 +Las variables corresponden a los valores del **Caso** desde donde se ejecuta el script. 
 + 
 +  * ID  
 +  * IDESTADO  
 +  * REFNUM  
 +  * IDESTADODESC  
 +  * IDCONTACTO  
 +  * IDCUENTA  
 +  * IDCUENTADESC  
 +  * IDCONTACTODESC  
 +  * IDPRIORIDAD  
 +  * IDPRIORIDADDESC  
 +  * IDPRIORIDADCOLOR  
 +  * IDUSUARIOASIGNADO  
 +  * IDUSUARIOASIGNADODESC  
 +  * IDTIPO  
 +  * IDTIPODESC  
 +  * IDSUBTIPO  
 +  * IDSUBTIPODESC  
 +  * IDSLA  
 +  * CF  
 +  * ORIGEN  
 +  * IDSLADESC  
 +  * IDPRODUCTO  
 +  * IDPRODUCTODESC  
 +  * IDSTAGEACTUAL  
 +  * IDSTAGEACTUALDESC  
 +  * IDWORKFLOW  
 +  * IDWORKFLOWDESC  
 +  * ASUNTO  
 +  * FECHACREACION  
 +  * IDUSUARIOCREACION  
 +  * IDUSUARIOCREACIONDESC  
 +  * FECHAMODIFICACION  
 +  * IDUSUARIOMODIFICACION  
 +  * IDUSUARIOMODIFICACIONDESC  
 +  * DESTACADO  
 +  * DUEDATE  
 +  * PRIMERPASO  
 +  * FINGRESO  
 +  * SLAVALUE  
 +  * PORCENTAJE  
 +  * FINALIZADO  
 +  * SISTEMAEXTERNO  
 +  * IDINTERACCION  
 +  * FECHAMODIFICACION  
 +  * FECHAREAPERTURA 
 + 
 +==== Variables aceptadas para objeto Contacto ==== 
 + 
 +Las variables corresponden a los valores del **Contacto asociado al Caso** desde donde se ejecuta el script: 
 + 
 +  * NOMBRE  
 +  * APELLIDO  
 +  * IDENTIFICADOR  
 +  * CARGO  
 +  * TITULO  
 +  * DIRECCION  
 +  * IDCUENTA  
 +  * IDCUENTADESC  
 +  * IDTIPO  
 +  * IDSLA  
 +  * CF  
 +  * FECHANACIMIENTO  
 +  * PASS  
 +  * FACEBOOK  
 +  * TWITTER  
 +  * INSTAGRAM  
 +  * EMAILCP  
 +  * email  
 +  * fono  
 +  * COMPANY  
 +  * fonocp  
 +  * GRUPOSKILLS  
 +  * GRUPOCUENTAS  
 +  * GRUPOCUENTAS  
 +  * FECHACREACION  
 +  * FECHAMODIFICACION  
 +  * ORIGIN 
 + 
 +==== Variables aceptadas para objeto Usuario ==== 
 + 
 +Las variables corresponden a los valores del **Usuario asignado al Caso** desde donde se ejecuta el script: 
 + 
 +  * NOMBRE 
 +  * APELLIDO  
 +  * USER  
 +  * ISOPAIS  
 +  * CF  
 +  * PASS  
 +  * EMAIL  
 +  * IDEMPRESA  
 +  * IDEMPRESADESC  
 +  * IDROL  
 +  * IDROLDESC  
 +  * IDPERMISO  
 +  * IDPERMISODESC  
 +  * IDUSUARIO  
 +  * ACCESO  
 +  * IDGRUPO  
 +  * IDGRUPODESC  
 +  * AVATAR  
 +  * PORTADA  
 +  * CANTIDADCASOS  
 +  * MULTISESSION  
 +  * NOTIFICACIONACTIVA  
 +  * TIMEZONE  
 +  * LANGUAGE  
 +  * FECHACREACION  
 +  * FECHAMODIFICACION  
 +  * GRUPOSKILLS  
 +  * ESTADO  
 +  * LATITUD  
 +  * LONGITUD  
 +  * FECHAPOSICION 
 + 
 +==== Variables aceptadas para objeto Cuenta ==== 
 + 
 +Las variables corresponden a los valores de la **Cuenta asociada al Caso** desde donde se ejecuta el script: 
 + 
 +  * IDENTIFICADOR  
 +  * RAZONSOCIAL  
 +  * GIRO  
 +  * DIRECCION  
 +  * TELEFONO  
 +  * CORREO  
 +  * IDSLA  
 +  * IDSLADESC  
 +  * IDREPRESENTANTE  
 +  * IDREPRESENTANTEDESC  
 +  * GRUPOCONTACTOS  
 +  * FACEBOOK  
 +  * INSTAGRAM  
 +  * PAGINAWEB  
 +  * TWITTER  
 +  * XPOS  
 +  * YPOS  
 +  * ISOPAIS  
 +  * FECHACREACION  
 +  * FECHAMODIFICACION  
 +  * CF  
 +  * GRUPOCONTACTOS