GeorgeandClaude Sonnet 5.5 68caf401a7 refactor(web): filas de formulario con varios controles combinables
El mockup muestra que una fila es etiqueta + uno o varios controles en la
misma línea (Cliente = input + "...", Canal / Zona = dos mitades, Serie +
Número = 72 px + resto, select + número + botón) y que la cabecera tiene a
lo sumo 2 columnas. Los campos de un solo control no lo permitían.

- Controles sin etiqueta combinables dentro de sbo-field: sbo-input,
  sbo-textarea, sbo-number, sbo-date, sbo-select y el botón .sbo-btn;
  ocupan el espacio sobrante o un width fijo.
- El primer control de la fila toma el id de la etiqueta (claimId); los
  demás se nombran con ariaLabel. El error de la fila marca todos sus
  controles (aria-invalid / aria-describedby).
- Los campos con etiqueta (sbo-text-field, sbo-number-field, ...,
  sbo-lookup-field) pasan a ser atajos de un solo control con la misma API.
- CSS global: .sbo-group y .sbo-btn reemplazan a .sbo-pick/.sbo-pair.
- CLAUDE.md apunta al mockup renombrado (tools/oferta_venta.html).
- Verificado en Chrome contra SAP real, con una cabecera que reproduce las
  filas compuestas del mockup.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 19:49:16 -05:00

basic-erp

ERP base para SAP Business One sobre NestJS + Angular (TypeScript en ambos lados).

apps/api         NestJS (proxy Service Layer, auth, permisos)
apps/web         Angular (componentes reutilizables)
libs/sap-types   Tipos compartidos
tools/           Mockups y pruebas

Requisitos: Node 22+ y npm 11+ (npm 10 falla al resolver las dependencias de Nest 12: npx npm@11 install).

npm install          # instala todos los workspaces y compila libs/sap-types
npm run dev:api      # http://localhost:3000/api/health
npm run dev:web      # http://localhost:4200
npm test             # libs + api + web

Configuración del backend: apps/api/.env (ver apps/api/.env.example).

S
Description
No description provided
Readme
3.5 MiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 89.5%
HTML 8.7%
CSS 1.8%