Una pestaña por sitio (ICAVE, TIMSA, EIT, LCT, Querétaro): lo que hay, lo que va en camino y lo que falta del kit para instalar. Movimientos con sitio, envío/recepción, origen «fuera». Lote 2026-10-23_inventario-sitios. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016X4CAujMuib2tDqt9JRg6X
48 lines
3.7 KiB
Markdown
48 lines
3.7 KiB
Markdown
---
|
|
title: "Inventario"
|
|
description: "Material por sitio: lo que hay en cada puerto y en Querétaro, lo que va en camino y lo que falta para instalar."
|
|
template: tablero.html
|
|
hide:
|
|
- toc
|
|
---
|
|
|
|
<link rel="stylesheet" href="/tableros/inventario.css">
|
|
|
|
<div class="tb tb-inventario tb-inv">
|
|
<header class="tb-cab">
|
|
<div class="tb-cab__t"><h1>Inventario</h1><span class="meta" id="meta">Cargando…</span></div>
|
|
<div class="tb-cab__acc"><a class="boton sec" id="inv-a-ins" href="/tableros/instalaciones/"><svg class="i" viewBox="0 0 24 24" aria-hidden="true"><path d="M3.5 15.5V9.8l2.3-3.3h6.7v9M12.5 9.5h4.2l3.8 3.4v2.6M6.5 18.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM16.5 18.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM8.5 16.5h6"/></svg>Instalaciones</a><a class="boton sec" href="/inventario/"><svg class="i" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 4.5h11a3 3 0 0 1 3 3v12.5H8a3 3 0 0 1-3-3zM5 17a3 3 0 0 1 3-3h11"/></svg>Política de inventario</a></div>
|
|
</header>
|
|
|
|
<details class="info tb-como">
|
|
<summary>Cómo se usa</summary>
|
|
<ol>
|
|
<li><b>Una pestaña por sitio</b> (ICAVE, TIMSA, EIT, LCT y Querétaro): lo que hay ahí, lo que va en camino y, para el material de instalación, cuánto falta para instalar las unidades que pongas arriba. <b>Todo</b> es el inventario completo, con el total y dónde está cada cosa.</li>
|
|
<li>El <b>stock no se escribe a mano</b>: es la suma de los movimientos de cada sitio. Llegó material → <b>Entrada</b> en ese sitio. Se instaló, se usó o se dio de baja → <b>Salida</b>, con la unidad o el acta como referencia. Contaste y no cuadra → <b>Conteo físico</b>: lo que hay en el sitio queda exactamente en ese número.</li>
|
|
<li>Material que va de un sitio a otro → <b>Envío</b>: sale del sitio de origen y queda <b>en camino</b>. Cuando llega, quien lo recibe abre la pestaña de su sitio y le da <b>Recibir</b> con lo que llegó de verdad. Una compra que viene en camino, o material que salió de un puerto antes de contarlo, es un envío que sale de <b>«Proveedor o fuera del inventario»</b>.</li>
|
|
<li><b>Kit de instalación</b>: en <b>Editar</b>, «Por instalación» dice cuánto lleva una unidad instalada (un gabinete, dos antenas LTE…). Con eso cada sitio dice qué falta.</li>
|
|
<li>Toca el <b>código</b> para ver los movimientos de ese ítem: quién, cuándo, dónde, cuánto y por qué. <b>Alerta</b> (rojo) = el total está por debajo del mínimo.</li>
|
|
<li><b>Nuevo ítem</b> solo para cosas que se cuentan; lo de la instalación (soportes, tornillería, cable de potencia) va con categoría <b>Instalación</b>. <b>Exportar CSV</b> baja la tabla con una columna por sitio. Nada se borra: si un ítem ya no aplica, ponle «(obsoleto)» en la descripción.</li>
|
|
</ol>
|
|
</details>
|
|
|
|
<nav class="inv-tabs" id="inv-tabs" aria-label="Sitio"></nav>
|
|
|
|
<div class="acciones">
|
|
<select id="fCat"><option value="">Todas las categorías</option></select>
|
|
<select id="fVer"><option value="">Aplica a: todas</option></select>
|
|
<label><input type="checkbox" id="fAlerta" style="width:auto"> solo alertas</label>
|
|
<input type="search" id="fBuscar" placeholder="Buscar código o descripción…" style="flex:1;min-width:150px">
|
|
<button id="bMov"><svg class="i" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 5v14M5 12h14"/></svg>Movimiento</button>
|
|
<button id="bNuevo" class="sec"><svg class="i" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 5v14M5 12h14"/></svg>Nuevo ítem</button>
|
|
<a href="/api/inventario/export.csv" class="boton sec"><svg class="i" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 4v11M7.5 10.5 12 15l4.5-4.5M5 20h14"/></svg>Exportar CSV</a>
|
|
<span class="cnt" id="cnt"></span>
|
|
</div>
|
|
<div class="msg" id="aviso"></div>
|
|
<div id="cont"></div>
|
|
|
|
<dialog id="dlg"></dialog>
|
|
</div>
|
|
|
|
<script src="/tableros/inventario.js"></script>
|