Aptli

Recursos

Los recursos representan tipos de artículos de trabajo, materiales, equipo o labor que pueden ser rastreados en inventario o consumidos durante operaciones de campo.

Tipos de Recursos

Materiales y Consumibles

  • Artículos físicos rastreados por volumen/cantidad
  • Ejemplos: cable (metros), conducto (pies), soportes de montaje (unidades)
  • Agotados a través de consumo de campo
  • Reabastecidos a través de recepciones

Equipo

  • Artículos reutilizables con cantidades limitadas
  • Ejemplos: escaleras, montacargas, equipo de prueba
  • Transferidos entre sitios, no consumidos
  • Devueltos después de uso

Labor

  • Esfuerzo de trabajo rastreado por horas o tareas
  • Ejemplos: horas de electricista, tareas de instalación
  • Usados en requisitos de recursos de tarea
  • Rastreados en reportes pero no inventario físico

Campos de Recursos

Información Básica

  • Nombre - Nombre descriptivo (ej. "Cable de Red Cat6")
  • Categoría - Agrupación para filtrado (ej. "Cableado", "Hardware")
  • UOM Predeterminado - Unidad estándar de medida (ej. "metros", "unidades", "horas")
  • Descripción - Especificaciones detalladas o notas

Control de Inventario

  • Es Consumible - Verdadero para artículos agotados por uso (materiales)
  • Requiere Protección - Verdadero para inventario restringido (pickup de código QR requerido)
  • Nivel Mínimo de Stock - Umbral de alerta para inventario bajo
  • Costo Estándar - Precio predeterminado por unidad (para presupuestación)

Conversiones - Arreglo embebido para conversiones de unidad y desgloses compuestos

Conversiones de Recursos

Tipos de Conversión:

Conversión de Unidad               Desglose Compuesto
     ↓                              ↓
Mismo Recurso              Diferentes Recursos
1 ft → 0.3048 m           1 Kit → Múltiples Artículos
resource: null            resource: [IDs...]
     ↓                              ↓
Cable (pies)              Kit de Puerta → Puerta
     ↓                         ↓       Tornillos
Cable (metros)                ↓       Adhesivo
                              └────→ Cinta Métrica

Página de detalle de recurso mostrando configuración de conversiones de unidad y desglose compuesto

Las conversiones manejan dos escenarios en una estructura unificada:

Conversiones de Unidad (Mismo Recurso)

Convertir entre unidades de medida para el mismo recurso.

Ejemplo: Conversión de longitud de cable

Recurso: "Cable de Red Cat6"
Conversión: {
  sourceVolume: 1,
  sourceUom: "pies",
  outputs: [{
    resource: null,        // null = mismo recurso
    volume: 0.3048,
    uom: "metros"
  }]
}

Desgloses Compuestos (Múltiples Recursos)

Desglosar kits ensamblados en materiales componentes.

Ejemplo: Desglose de kit de instalación

Recurso: "Kit de Instalación de Puerta"
Conversión: {
  sourceVolume: 1,
  sourceUom: "unidades",
  outputs: [
    { resource: tape_measure_id, volume: 1, uom: "unidades" },
    { resource: mounting_screws_id, volume: 12, uom: "unidades" },
    { resource: adhesive_id, volume: 0.5, uom: "liters" }
  ]
}

Puntos Clave:

  • resource: null indica conversión de unidad de mismo recurso
  • resource no nulo indica desglose compuesto a diferentes materiales
  • Múltiples salidas soportadas (una fuente → muchos objetivos)
  • Embebido en recurso para rendimiento (no búsquedas separadas)

Recursos Protegidos

Los recursos cuentan con un indicador Recogida Abierta que controla el modo de autorización para los escaneos de código QR:

  • Desactivado (predeterminado — protegido): El código QR está vinculado al usuario. Solo la persona a quien se emitió el código (o el personal con el permiso canFacilitatePickups) puede escanearlo. La identidad se verifica en cada escaneo.
  • Activado (recogida abierta): El código QR es un comprobante transferible. Miguel puede recibir el código y entregárselo a Juan; Juan lo escanea y la transacción registra a Juan como el recogedor real. No se verifica identidad: cualquier escaneo válido descuenta el stock.

La recogida abierta es adecuada para consumibles de bajo valor o situaciones en las que la identidad exacta del recogedor no es operacionalmente relevante. La recogida protegida es adecuada para materiales de alto valor o con trazabilidad requerida, donde importa la cadena de custodia.

Cuando la protección está activa, el escaneo valida:

  1. El código de autorización y su expiración
  2. El escáner es el destinatario autorizado (protegido) O el código es un comprobante válido (abierto)
  3. El escáner cuenta con el permiso canFacilitatePickups (anulación del personal, solo en modo protegido)
  4. Disponibilidad de stock en el sitio de origen

Casos de uso del modo protegido:

  • Equipo de alto valor
  • Materiales controlados (requieren trazabilidad)
  • Artículos con requisitos regulatorios

Creando Recursos

Acceso Requerido: Derecho de administrador resourcesCreate

Página de recursos mostrando lista de recursos definidos con categorías y unidades de medida predeterminadas

Flujo de Trabajo Común:

  1. Navegar a administración → Recursos
  2. Hacer clic en "Agregar Recurso"
  3. Llenar información básica (nombre, categoría, UOM predeterminado)
  4. Establecer banderas de control de inventario (consumible, protegido)
  5. Agregar conversiones si necesarias (conversiones de unidad o desgloses de kit)
  6. Guardar

Mejores Prácticas:

  • Usar convenciones de nomenclatura consistentes (ej. "Cable Cat6" no "cable de red cat 6")
  • Establecer niveles realistas de stock mínimo para consumibles
  • Agregar conversiones temprano (más difícil retroajustar después de que artículos de stock existen)
  • Agrupar recursos relacionados con campo de categoría

Visibilidad de Demanda y Oferta

La página de recursos puede mostrar dos columnas agregadas junto a cada entrada del catálogo:

  • Demanda — volumen total de este recurso declarado en todas las entradas resources[] de tareas activas. Indica cuánto se necesita para el trabajo de campo planificado.
  • Oferta — volumen total en todos los artículos de stock activos para este recurso. Indica cuánto está físicamente disponible en todos los sitios.

Para cargar estas columnas, haga clic en Obtener demanda/oferta en la barra de filtros. El sistema lee cada recurso visible en la tabla en ese momento y consulta en paralelo las colecciones de tareas y artículos de stock. Un indicador de carga en el botón muestra el progreso mientras la solicitud está en curso.

¿Por qué se carga a demanda y no siempre?

Agregar datos de todo el conjunto de tareas y artículos de stock en cada carga de página resultaría costoso a medida que los datos crecen. La carga a demanda permite ver las cifras cuando realmente se necesitan — planificación de capacidad, verificaciones previas a un proyecto, reuniones de adquisición — sin ralentizar la navegación habitual.

Detalle del artículo de stock:

La página de detalle de un artículo de stock muestra automáticamente la Demanda total y la Oferta total del recurso al que pertenece ese artículo, sin requerir una obtención manual. Al estar ya consultando un artículo específico, la consulta es liviana (un solo ID de recurso).

Interpretación de la brecha:

Si la Demanda supera la Oferta, el área de adquisiciones debe actuar antes de que los equipos de campo puedan retirar materiales. Si la Oferta supera la Demanda, hay margen de reserva, o bien exceso de stock que podría transferirse a otro lugar. Ninguna columna considera materiales reservados o en tránsito; trate la brecha como una señal de investigación, no como un bloqueo definitivo.

Uso de Recursos

Los recursos aparecen en:

  • Tareas - Materiales/labor requeridos para trabajo (soporte multi-recurso)
  • Artículos de Stock - Inventario físico del recurso en sitios
  • Transacciones - Registros de movimiento y consumo
  • Reportes - Consumo real durante trabajo de campo
  • Asignaciones - Objetivos de recursos (metas, no reservas)

Los recursos NO reservan inventario - definen qué puede ser rastreado. Los artículos de stock representan inventario físico real.