From cd748bb4ef502c743122808545b4862868377afa Mon Sep 17 00:00:00 2001 From: george Date: Mon, 19 Oct 2026 15:41:46 -0500 Subject: [PATCH] =?UTF-8?q?Documentar=20la=20validaci=C3=B3n=20contra=20Co?= =?UTF-8?q?nsignaci=C3=B3n=20en=20CLAUDE.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 5.5 --- CLAUDE.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index b0ae5ee..026d2ac 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -14,7 +14,7 @@ cantidades pegado desde Excel. Cada ejecución se guarda en el UDO `LIB_ODEV` Pasos de la UI (decididos): 1. **Pegar**: ItemCode + cantidad desde Excel (con el botón *Pegar desde el portapapeles* o - `Ctrl/Cmd+V` en el cuadro). Se valida el stock (`OITW.OnHand`) del almacén elegido. No guarda. + `Ctrl/Cmd+V` en el cuadro). Se valida contra la **Consignación** del almacén elegido (ver Decisiones). No guarda. 2. **Procesar**: reemplaza a "Selección" del addon. Asignación FIFO contra líneas abiertas de Entradas de mercancías **del almacén elegido**, ordenadas por `DocDate`. Genera filas Padre (`F`, artículo) y Hijo (`S`, una por Entrada consumida). El usuario marca o desmarca @@ -48,6 +48,12 @@ Pasos de la UI (decididos): para cerrarla a mano). - **Crear devoluciones**: resultado **parcial por documento**. Cada Devolución se crea aparte; las buenas graban `U_TargetType`/`U_TargetEntry`, las fallidas `U_ErrCode`/`U_ErrMsg` y se reintentan. +- **El "stock" que se muestra y valida es la Consignación**, no `OITW.OnHand`: `DP_Stock` (v2) suma + `PDN1.OpenInvQty` de las líneas abiertas de Entradas con `U_DOT_TipoRecepcion = 'C'` del almacén, o sea lo + mismo que consume el FIFO y lo único que se puede devolver. Si el artículo existe sin consignación devuelve 0 + (queda "Sin stock"); si no existe, error. La columna se sigue llamando `OnHand` en la consulta, el modelo y + el UDO (`U_OnHand`); en pantalla y en Excel el encabezado es **Consignación**. Las planificaciones guardadas + antes de la 2.0.0 conservan el valor viejo hasta rehacer el FIFO. - **Consultas SQL** por `SQLQueries` del Service Layer (no hay conexión directa a la BD). La API crea/actualiza `DP_Stock` y `DP_EntradasAbiertas` sola (variante según `DB_TYPE`). El analizador SQL del Service Layer **no admite `FORMAT`** y SAP reescribe el `SqlText`: al cambiar el SQL hay @@ -272,6 +278,8 @@ Reglas: devuelve siempre un JSON (`{abierta: null}`). **Sin verificar:** +- **`DP_Stock` v2** (2026-10-19, versión 2.0.0): suma de Consignación, solo con tests; no se ha ejecutado contra el + Service Layer (ni HANA ni MSSQL). Probar con un pegado real y comparar con la suma de `OpenInvQty`. - **HANA**: el usuario confirmó (2026-10-13) que las consultas `DP_Stock` y `DP_EntradasAbiertas` (con `PDN1.OpenInvQty`, filtro por almacén y parámetros con nombre) **funcionan en HANA** a través del Service Layer. Falta confirmar en HANA el paginado (`$inlinecount`/`odata.count` es de `/b1s/v1`; en