From 7efdcce11379fef13dc6d246a6b45ae2e78404f4 Mon Sep 17 00:00:00 2001 From: "dot.gcalle" Date: Tue, 20 Oct 2026 16:29:12 -0300 Subject: [PATCH] Agregar README.md Co-Authored-By: Claude Opus 5.5 --- README.md | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..6296002 --- /dev/null +++ b/README.md @@ -0,0 +1,72 @@ +# Devolución a Proveedores + +Aplicación web (Angular + NestJS) para SAP Business One que genera **Devoluciones de mercancías** +(ORPD) enlazadas a sus **Entradas de mercancías por compra** (OPDN), a partir de un listado de +artículos y cantidades pegado desde Excel. Reemplaza al addon .NET anterior. + +## Cómo funciona + +1. **Pegar**: ItemCode + cantidad desde Excel. Se valida contra la **Consignación** del almacén elegido. +2. **Procesar**: asignación FIFO contra las líneas abiertas de Entradas de mercancías del almacén, + ordenadas por fecha. El usuario marca qué líneas devolver. +3. **Crear devoluciones**: agrupa las líneas marcadas por proveedor y crea una Devolución por lote + (11 líneas por defecto). +4. **Descargar PDF**: pide al web service de BES el PDF de la Guía de despacho (DTE 52) de cada + Devolución, con opción de unirlos en uno. + +Cada ejecución (planificación) se guarda en el UDO `LIB_ODEV`. Solo puede haber una planificación +abierta a la vez; se cierra a mano. + +## Requisitos + +- Node.js 22 LTS o superior. +- SAP Business One con **Service Layer** (`/b1s/v1`), base **HANA** (producción) o **MSSQL** (pruebas). +- El usuario de SAP inicia sesión en la web; sus credenciales no se guardan en la configuración. + +## Estructura + +``` +libs/shared/ @dp/shared tipos y lógica de dominio (parseo de Excel, FIFO) +apps/api/ NestJS API REST (/api) sobre el Service Layer; en producción sirve también la web +apps/web/ Angular interfaz +scripts/ publicar.mjs arma la carpeta de despliegue en release/ +deploy/windows/ instalación como servicio de Windows (NSSM) +``` + +## Puesta en marcha (desarrollo) + +```sh +npm install +cp apps/api/.env.example apps/api/.env # completar SL_URL, SL_COMPANY_DB y DB_TYPE +npm run dev:api # API NestJS (puerto PORT del .env) +npm run dev:web # Angular en http://localhost:4215 (proxy /api → API) +``` + +Variables principales del `.env`: `PORT`, `SL_URL`, `SL_COMPANY_DB`, `SL_REJECT_UNAUTHORIZED`, +`DB_TYPE` (`HANA`/`MSSQL`) y `COOKIE_SECURE`. Para producción con HTTPS: `HTTPS_PFX_PATH` y +`HTTPS_PFX_PASSPHRASE` (o `HTTPS_KEY_PATH`/`HTTPS_CERT_PATH`) y `HTTP_REDIRECT_PORT`. +Ver `apps/api/.env.example`. + +En el primer ingreso, **Configuración → Metadatos → Reconstruir** crea las tablas, los campos y +el UDO necesarios en SAP. + +## Pruebas y compilación + +```sh +npm test # shared + api + web +npm run test:e2e -w api +npm run lint -w api +npm run build +``` + +## Versiones y despliegue + +La versión es el `version` del `package.json` raíz (SemVer); cada release lleva un tag `vX.Y.Z`. + +```sh +npm run version:parche # o version:menor / version:mayor +npm run publicar # genera release/devolucion-proveedores/ +``` + +La aplicación se instala en Windows como un único servicio (NSSM) con HTTPS directo en Node. +Guía completa: [`deploy/windows/DEPLOY.md`](deploy/windows/DEPLOY.md).