Ir al contenido

Find Data Row

Tipo: find-row  ·  Paquete: DataTable Activities v1.0.5  ·  Salida: DataRow

Devuelve la primera fila de una DataTable que cumple una o varias condiciones, o null si ninguna coincide. No modifica la tabla.

Las condiciones se construyen visualmente con el editor de condiciones — el mismo de Filter DataTable: cada condición es columna / operador / valor, y se combinan con lógica AND u OR. La actividad recorre las filas en orden y se detiene en la primera que cumple.

  • Columna: por nombre (sin distinguir mayúsculas) o por posición contando desde 0.
  • Valor: se compara tal como lo escribes; no se evalúa como expresión.
  • Operadores: equals, not-equals, contains, starts-with, ends-with, greater-than, less-than, greater-or-equal, less-or-equal, is-empty, is-not-empty. Las comparaciones de texto no distinguen mayúsculas y los operadores de mayor/menor exigen números. El detalle de cada uno está en Filter DataTable › Operadores.

La fila devuelta sigue ligada a su tabla: si la modificas con Set Cell o Update Data Row, cambia la tabla.

ParámetroTipoPor defectoDescripción
tableDataTable—La DataTable donde buscar, ej. clientes.
conditionsobject—Condiciones de coincidencia (columna · operador · valor) con lógica AND/OR, como { logic, items }.

Ninguno.

Devuelve la primera DataRow que coincide, o null si ninguna lo hace (también con una tabla sin filas).

MensajeCausa y solución
'table' debe ser una DataTable.table no evalúa a una DataTable. Revisa la variable.
Se requiere al menos una condición.El editor de condiciones está vacío. Agrega al menos una.
No se encontró la columna '…'. Columnas disponibles: ….La columna de una condición no existe; el mensaje lista las reales.
El índice de columna … está fuera de rango (la tabla tiene … columna(s)).La posición de columna indicada no existe.
Value '…' is not numeric.Un operador numérico encontró una celda no numérica o vacía. Antepón is-not-empty sobre esa columna con AND.

Buscar la primera factura vencida de un cliente y avisar:

Find Data Row table = facturas conditions: Cliente equals "Comercial Andina" AND Estado equals "Vencida" → output: factura
If condition = factura != null
├─ then:
│ Get Cell row = factura column = "Numero" → output: numero
│ Log message = "Factura vencida: " + str(numero)
└─ else:
Log message = "Ninguna factura coincide"
  • Filter DataTable — quedarte con todas las filas que coinciden (no solo la primera).
  • Get Data Row — obtener una fila por índice en vez de por condición.
  • Get Cell — leer una celda de la fila encontrada.