- Primeros pasos
- Instalación y configuración
- Requisitos de hardware y software
- Acerca de las Licencias de Precios Unificados
- Acerca de las Licencias Flexibles
- Activar Studio
- Actualizar Studio
- Parámetros de la línea de comandos
- Aplicaciones y tecnologías compatibles
- Habilitación de Gmail para actividades de correo electrónico
- Deshabilitar la telemetría
- Studio Executables
- Proyectos de automatización
- Dependencias
- Tipos de flujos de trabajo
- Flujo de control
- Comparación de archivos
- Mejores prácticas de automatización
- Integración del control de código fuente
- Depuración
- Registro
- La herramienta de diagnóstico
- Analizador de flujo de trabajo
- Acerca del analizador de flujo de trabajo
- ST-NMG-001: convención sobre nombres de variables
- ST-NMG-002: convención de nombres de argumentos
- ST-NMG-004: duplicación de nombres de visualización
- ST-NMG-005: anulación de variables
- ST-NMG-006: argumentos de anulación de variables
- ST-NMG-008: longitud variable excedida
- ST-NMG-009: variables de datos prefijados
- ST-NMG-011: argumentos de prefijo Datatable
- ST-NMG-012: valores predeterminados de los argumentos
- ST-NMG-016: longitud del argumento excedida
- ST-NMG-017: el nombre de la clase coincide con el espacio de nombres predeterminado
- ST-DBP-002: recuento de Argumentos elevado
- ST-DBP-003: bloque de Catch vacío
- ST-DBP-007: múltiples capas de diagramas de flujo
- ST-DPB-010: varias instancias de [flujo de trabajo] o [caso de prueba]
- ST-DBP-020: propiedades de salida no definidas
- ST-DBP-021: tiempo de espera codificado
- ST-DBP-023: flujo de trabajo vacío
- ST-DBP-024: comprobación de actividad de persistencia
- ST-DBP-025: requisito previo para la serialización de variables
- ST-DBP-027: mejor práctica de persistencia
- ST-DBP-028: requisito de serialización de argumentos
- ST-USG-005 - Propiedades de la actividad codificadas
- ST-USG-009: variables no utilizadas
- ST-USG-010: dependencias sin utilizar
- ST-USG-014: restricciones de los paquetes
- ST-USG-017: modificador de parámetro no válido
- ST-USG-020: mensajes de registro mínimos
- ST-USG-024: guardado sin usar para más adelante
- ST-USG-025: uso incorrecto de los valores guardados
- ST-USG-026: restricciones de actividad
- ST-USG-027: paquetes necesarios
- ST-USG-028: Restringir la invocación de plantillas de archivo
- ST-USG-032 - Etiquetas obligatorias
- ST-USG-034 - URL Automation Hub
- Variables
- Argumentos
- Espacios de nombres importados
- Automatizaciones codificadas
- Introducción
- Registrar servicios personalizados
- Contextos Antes y Después
- Generando código
- Generar casos de prueba codificados a partir de casos de prueba manuales
- Integración de OpenAI con los flujos de trabajo codificados
- Solicita un préstamo con UiBank
- Generación de colas con flujos de trabajo codificados y API de Orchestrator
- Utilizar proyectos de biblioteca importados en automatizaciones codificadas
- Uso de la autenticación de dos factores dentro de automatizaciones codificadas
- Conectar a MongoDB Atlas con automatizaciones codificadas
- Solución de problemas
- Automatización atendida basada en desencadenadores
- Repo. de objetos
- La herramienta ScreenScrapeJavaSupport
- Extensiones
- Acerca de las extensiones
- Herramienta SetupExtensions
- UiPathRemoteRuntime.exe no se está ejecutando en la sesión remota
- UiPath Remote Runtime impide que la sesión de Citrix pueda cerrarse
- UiPath Remote Runtime provoca una fuga de memoria
- Las versiones del paquete UiPath.UIAutomation.Activities y UiPath Remote Runtime no coinciden
- La extensión de UiPath necesaria no está instalada en la máquina remota
- Configuración de la resolución de la pantalla
- Políticas de grupo
- No se puede comunicar con el navegador
- La extensión de Chrome se elimina automáticamente
- Es posible que la extensión se haya dañado
- Comprueba si la extensión para Chrome está instalada y habilitada
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Habilitar el acceso a las URL de archivos y el modo de incógnito
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- Lista de extensiones para Chrome
- Extensión de Chrome en Mac
- Políticas de grupo
- No se puede comunicar con el navegador
- La extensión de Edge se elimina automáticamente
- Es posible que la extensión se haya dañado
- Check if the Extension for Microsoft Edge is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and InPrivate mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- Lista de extensiones para Edge
- Extensión para Safari
- Extensión para Amazon WorkSpaces
- Complemento SAP Solution Manager
- Add-in de Excel
- Pruebas de Studio
- Solución de problemas
- Acerca de la resolución de problemas
- Errores de compilación del ensamblado
- Compatibilidad y limitaciones de Microsoft App-V
- Solución de problemas de Internet Explorer x64
- Problemas de Microsoft Office
- Identificación de elementos de la interfaz de usuario en PDF con opciones de accesibilidad
- Reparar Soporte Active Accessibility
- Validation of large Windows-legacy projects takes longer than expected
Visor de código bajo, la extensión de Studio que representa los flujos de trabajo C# codificados como un lienzo visual de código bajo junto con el código fuente.
El Visor de código bajo es una extensión de Studio que representa un flujo de trabajo codificado, un archivo .cs cuya clase se deriva de CodedWorkflow, como un flujo de trabajo visual de código bajo junto a su código fuente, la forma en que el diseñador RPA clásico muestra un automatización.
Está dirigido a desarrolladores que escriben flujos de trabajo codificados y desean una vista visual limpia y legible de su automatización sin salir del código C#.
El visor de código bajo está en vista previa. Se distribuye como una extensión de Visual Studio Code (VS Code) en el mercado Open VSX y requiere la última versión de Studio. Puedes instalarlo desde el panel Extensiones en Studio.
Qué hace el espectador
El visor proporciona dos vistas sincronizadas de un flujo de trabajo codificado, las mantiene sincronizadas con el código fuente y obtiene su paleta de actividades de tu proyecto.
Vista de flujo de trabajo
Un árbol al estilo de Studio que cubre todo el archivo. Cada método obtiene una sección con sus variables y una fila por declaración, con contenedores anidados para if, foreach, try y construcciones similares.
Vista de gráfico
Un diagrama de flujo del método de entrada del flujo de trabajo: el método marcado como [Workflow] o Execute. Las condiciones y los conmutadores se convierten en nodos de decisión que se distribuyen por rama, los bucles obtienen bordes de iteración y finalización, y las llamadas a tus propios métodos aparecen como bloques Invoke únicos. El gráfico refleja la forma de tu método de entrada.
Seguir el origen en ambos sentidos
Al mover el cursor en el editor se selecciona el bloque correspondiente, y al seleccionar un bloque se salta a su línea. Las ediciones de propiedades realizadas en el panel se vuelven a escribir en C# con ediciones mínimas, por lo que se conservan los comentarios y el formato.
La paleta de actividades
Cuando el visor se ejecuta dentro de Studio, el conjunto de actividades, junto con sus editores de propiedades, nombres para mostrar e iconos, se activa desde los paquetes a los que hace referencia tu proyecto. En VS Code simple, sin Studio, las llamadas de servicio se siguen renderizando como tarjetas, pero con etiquetas genéricas y sin metadatos de propiedades enriquecidos.
Cómo lee el espectador tu código
El lienzo se crea declaración por declaración. Cada declaración se asigna a un bloque dedicado o recurre a un bloque de código sin formato. Las declaraciones consecutivas no reconocidas se fusionan en una sola tarjeta de bloque de código, por lo que una ejecución de código no compatible se colapsa en un cuadro opaco.
El visor nunca reescribe el código que no has tocado: cualquier cosa que no reconozca se muestra palabra por palabra en una tarjeta de Bloqueo de código y los viajes de ida y vuelta sin cambios. Nada de lo que escribes se pierde, pero cuanto más código cae en bloques de código, menos se muestra en el lienzo.
Construcciones representadas como bloques
| Escribes | Obtienes |
|---|---|
system.GetAsset(...), excel.ReadRange(...), otras llamadas de servicio | Tarjeta de actividad con icono, nombre para mostrar, propiedades editables y salida escrita |
Log(...), Delay(...), throw ... | Tarjetas de actividad integradas (Mensaje de registro, Retraso, Lanzamiento) |
var x = <expr>;, int x = 0;, x = <expr>; | Asignar tarjeta ("a variable" y "valor") |
count++;, count += 5; | Incrementar o decrementar tarjeta |
if / else if / else | Contenedor de ramas; rombo de decisión con bordes verdaderos y falsos en el gráfico |
foreach, for, while, do ... while | Contenedor de bucles; nodo de bucle con un borde posterior de iteración en el gráfico |
try / catch / finally | Pruebe el contenedor con una ruta de error |
switch Declaración | Cambiar el contenedor con un brazo de caso por rama; en el gráfico, una decisión con un borde etiquetado por caso |
using (...) { }, lock (...) { } | Marco de ámbito |
return <expr>;, throw <expr>; | Devolver fila o Lanzar tarjeta; en el gráfico, ambos terminan la ruta |
MyHelper(...) (método en el mismo archivo) | Invocar bloque; selecciónalo para abrir el asistente |
Helpers.Method(...) (clase en otro archivo) | Invocar bloque con navegación entre archivos |
workflows.MyWorkflow(...) | Invocar tarjeta de flujo de trabajo con insignias de argumento de entrada y salida |
#region Name ... #endregion | Grupo contraíble con nombre en ambas vistas |
Construcciones que recurren a un bloque de código
| Construir | Por qué limita el lienzo |
|---|---|
Lambdas en el nivel de declaración (rows.ForEach(r => ...)) y lógica dentro de lambdas | El cuerpo lambda es invisible para el lienzo |
Funciones locales (void Helper() { ... } dentro de un método) | Todo el cuerpo de la función se incorpora al bloque de código |
Declaraciones sin inicializador (string name;) | Se renderiza como una fila de bloque de código |
Declaraciones multivariables (int a = 1, b = 2;) | Se renderiza como una fila de bloque de código |
using var x = ...; (formulario de declaración) | Se renderiza como una fila de bloque de código y las llamadas en x pierden el reconocimiento de actividad |
arr[i] = value;, total *= 2;, msg += suffix; | Se renderiza como una fila de bloque de código |
Para mantener la mayor parte posible de tu flujo de trabajo en el lienzo, consulta Escribir flujos de trabajo codificados compatibles con el lienzo.