Actualizar CLAUDE.md y README.md: git y remoto, version 2.1.7.0, appsettings fuera de git, logs, pendientes

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-14 19:17:14 -05:00
1 parent d0118d1848
commit 23f1a3df44
2 files changed
+76 -10

No files matched your search

+41 -7
View File
@@ -3,10 +3,24 @@
API de integración WMS ↔ SAP Business One, **ASP.NET Core 3.1**. Para
build/publish/despliegue en IIS ver [`README.md`](./README.md).
Esta carpeta (`backend_octubre`) es **el proyecto vigente**. Antes existía
una copia paralela, `ITCA_API_SAP_WMS`, con la funcionalidad nueva portada
Esta carpeta (`ITCA_API_SAP_WMS`, antes `backend_octubre`) es **el proyecto
vigente**. Antes existía una copia paralela con la funcionalidad nueva portada
desde la reescritura Python; se portó aquí y esa copia quedó **archivada en un
comprimido (versión antigua)**. No hay `git` en esta carpeta.
comprimido (versión antigua)**.
## Versión y control de versiones
- **Versión actual: 2.1.7.0** (`Net.Business.Services.csproj`: `Version`,
`AssemblyVersion`, `FileVersion`). Cada versión tiene su commit; al publicar
se sube la versión (ver `publicar.ps1`).
- **Git**: rama `main`, remoto `origin` =
`http://100.68.242.27:30000/george/itca_api_sap_wms.git` (HTTP sin cifrar,
red interna; confirmar que el repositorio sea **privado**). Etiqueta
`v2.1.7.0` = último estado antes de la limpieza de código.
- `appsettings.json` y `appsettings.*.json` están en `.gitignore` (solo se
versiona `appsettings.example.json`); las credenciales no están en el
historial (verificado con `git log -S`).
- Los publish (`dist/`, zip del escritorio) no se versionan.
## Qué se portó desde `ITCA_API_SAP_WMS` (2026-10-05)
@@ -130,10 +144,21 @@ Picking, columna `HORA` en `B_Log`. Lo que **no** se trajo: `Chatbots` y
- `ValidarCertificado` acepta cualquier certificado TLS (siempre `true`).
- `HelperDB.SET(string query)` ejecuta SQL arbitrario; hoy sin llamadores
(candidato a borrar).
- `appsettings.json` versionado en texto plano con credenciales reales
(SAP Service Layer, **HANA `B1ADMIN`**, semilla JWT). Rotar la contraseña de
`B1ADMIN` (estuvo en el código fuente) y evaluar un usuario HANA de mínimos
permisos.
- `appsettings.json` (fuera de git, en `.gitignore`) contiene credenciales
reales en texto plano (SAP Service Layer, **HANA `B1ADMIN`**, semilla JWT).
Rotar la contraseña de `B1ADMIN` (estuvo en el código fuente) y evaluar un
usuario HANA de mínimos permisos.
- Los logs (`B_Log` y `HelperLogServiceLayer`) escriben en el esquema fijo
`ITC_WMS_SAP` (`ITCA_LOG_INTEGRACION`), no en `LocalData.Schema`; si la tabla
está en otro esquema el `INSERT` falla. `B_Log.Add` no tiene `try/catch`, así
que un fallo del log puede devolver 500 tras haber creado el documento en SAP.
- Código sin uso (limpieza prevista en 2.1.8.0): `CancelAsyncSBA`,
`DeleteAsyncSBA`, `Logout`, `ValidarCertificado`, `HelperDB.SET`; 11
propiedades de `RepositoryWrapper` que ningún controller usa
(`CreditNotes`, `InvoiceRepository`, `ReturnRequest`, `StockTransfer`, etc.);
`TotalDetalle_Parcial` y `var _Invoice` (bloque PICKING) en
`PickingRepository`; `SerieOrigen` en `ReciboRepository`; el `if` vacío tras
`StockTransfer` en Picking (un fallo de la transferencia se ignora).
## Despliegue
@@ -152,3 +177,12 @@ usa `processPath=".\ITCA_API_SAP_WMS.exe"`; el del código fuente apunta a
- Verificar que existan en el esquema del sitio los procedimientos `ITCA_*`
y las tablas `@ITCA_PROWMS`, `@SYP_MOTIVOS`, `@SYP_NUMDOC`.
- Decidir si se corrigen los bugs de la lista de arriba.
- Validar con contabilidad la serie de NC de boletas (`BC10`) en Recibo y si ya
hay NC de boletas emitidas con `FC10` antes de la 2.1.7.0.
- Recibo (Devolución) no genera transferencias por almacén destino: nunca llena
`U_ITC_ALMDES` en las líneas de la NC.
- Confirmar en QA el log de errores del Service Layer (provocar un rechazo y
ver la fila con `PROCESO = 'ServiceLayer Error'`) y el esquema de la tabla de
log en cada servidor.
- Confirmar el repositorio remoto como privado; hacer la limpieza de código en
una rama aparte (2.1.8.0) partiendo de la etiqueta `v2.1.7.0`.