Versión 141855#
Se ha lanzado una nueva versión de Sherpa Orchestrator: Versión 141855.
1. En el Constructor de Acciones (Form Designer), en la pantalla de Acciones (Actions), se ha introducido un nuevo tipo de widget — HTML/JavaScript, que permite implementar elementos de interfaz personalizados con apariencia y comportamiento únicos.
Por ejemplo, si se completa la ventana de configuración del elemento:
Entonces en la pantalla de Acciones (Actions) aparecerá lo siguiente:
A continuación se presenta un ejemplo con elementos de control añadidos (por ejemplo, radio y select) y el atributo name, para seleccionar entre opciones y realizar el procesamiento según el valor seleccionado:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<title>Selección de opción</title>
</head>
<body>
<h2>Seleccione una opción</h2>
<!-- Botones de radio con el mismo atributo name -->
<label>
<input type="radio" name="variant" value="1" checked /> Opción 1
</label>
<label>
<input type="radio" name="variant" value="2" /> Opción 2
</label>
<h3>Ingrese su nombre</h3>
<input type="text" id="userNameInput" placeholder="Su nombre" />
<button id="showGreeting">Mostrar saludo</button>
<div id="greetingArea" style="margin-top:20px; font-weight: bold;"></div>
<script>
// Opciones de plantillas
const templates = {
'1': '<p>Opción 1: ¡Hola, {{ user_name }}! Esta es la primera opción.</p>',
'2': '<p>Opción 2: ¡Hola, {{ user_name }}! Esta es la segunda opción.</p>'
};
document.getElementById('showGreeting').addEventListener('click', () => {
// Obtenemos la opción seleccionada por el atributo name
const selectedRadio = document.querySelector('input[name="variant"]:checked');
const variant = selectedRadio ? selectedRadio.value : '1';
// Obtenemos el nombre del Usuario
const userName = document.getElementById('userNameInput').value.trim() || 'usuario';
// Elegimos la plantilla según la opción
const template = templates[variant];
// Reemplazamos el placeholder
const html = template.replace('{{ user_name }}', userName);
// Insertamos el resultado
document.getElementById('greetingArea').innerHTML = html;
});
</script>
</body>
</html>
Al ejecutar este código, podrá alternar entre las opciones de salida del mensaje:
El código que escriba en este campo puede modificar la apariencia de la interfaz del Orquestador. Utilice esta funcionalidad con precaución para evitar efectos no deseados.
Para indicar o vincular una propiedad de objeto en HTML se utiliza la sintaxis de dobles llaves con espacio: {{ property }}. La condición obligatoria para todos los elementos de control de entrada (input, radio, checkbox, select), relacionados con objetos anidados, es que el atributo name coincida con el nombre de la clave.
2. En la pantalla de Auditoría (Audit) se ha añadido una nueva columna “Object GUID”, que muestra el GUID del objeto mencionado en el registro.
Al hacer clic en este campo en la fila correspondiente de la tabla de Auditoría (Audit), se puede acceder a la pantalla del objeto mencionado, donde será destacado:
3. Además, ahora todas las acciones realizadas a través de la API también se registran en Auditoría (Audit).
4. En todas las tablas en las pantallas del Orquestador se ha cambiado el formato de visualización de la hora a <dd-mm-yyyy 00:00:00>, lo que mejora la legibilidad de la información y hace que trabajar con los datos sea más simple y comprensible para el Usuario.
Por ejemplo,
5. En la pantalla de Disparadores (Triggers), al crear y editar Disparadores, se ha añadido la configuración "Máximo número de ejecuciones por mes" (Max monthly runs), que permite limitar el número de activaciones del Disparador en un mes. Por ejemplo, si se establece 1 en el campo, al aplicar la opción de programación "Cada N-ésimo día del mes", el Disparador se activará una vez y solo en el día N especificado.
6. Se ha añadido un registro opcional del historial de estados de los Robots. Para ello, en la configuración (backend/config/config.ini) es necesario añadir el parámetro: robot_status_logging=1.
La tabla de Registros está disponible en: su-dirección-orquestador/main/robot-status-logs.
7. En la pantalla de Licencias (Licenses), en la configuración de licencias, las opciones "Denegar la ejecución de código C#, VB, Python y PowerShell en scripts" (Deny C#, VB, Python and PowerShell code execution within process) y "Forzar el registro en todos los bloques" (Force logging in all blocks) ahora también están disponibles para el modo Unattended.
8. En la pantalla de Trabajos (Jobs), se ha añadido una columna "Último mensaje" (Last message) en la tabla, que muestra el último mensaje del Robot que está ejecutando dicho Trabajo.
9. Se han realizado múltiples mejoras que aumentan la seguridad del sistema.