Mejoras genéricas traídas: - core/crud_router.py: el PATCH genérico reenvía cualquier header B1S-* recibido del caller en vez de decidirlo el backend. - routers/catalogs.py: nuevo endpoint /api/Catalogs/UdfValidValues (valores válidos de cualquier UDF vía Service Layer). - routers/batch.py: /api/batch/stock (stock de un lote por almacén) y /api/batch/lot-source-warehouse (resuelve contra HANA de qué almacén salió un lote, repartiendo por origen). - routers/inventory_transfer_requests.py + core/inventory_transfer_requests.py: CRUD genérico de Solicitudes de Transferencia de Inventario. - routers/series.py + core/series.py: series activas de un tipo de documento. - routers/user_tables.py: catálogo Code/Name genérico de tablas de usuario (mapeo USER_TABLES vacío, cada cliente completa el suyo). - routers/reports.py / templates/reports/stickers.html: fix de márgenes/alto de página del reporte de etiquetas. - mini-backend/test/ -> mini-backend/tools/ (rename organizativo). Limpieza de datos de Tagumedica que ya estaban en el commit base de main (anteriores a la branch cliente/tagumedica, no relacionados con el backport): - tools/sap-tagumedica/sl.http: eliminado (tenía CompanyDB y password reales). - tools/ApiGateway/Login.yml: CompanyDB/host/password reemplazados por placeholders. - templates/reports/stickers.html: título hardcodeado "TAGUMEDICA" reemplazado por "EMPRESA". - menu_permissions.json: reemplazado por un ejemplo demo (usuarios/módulos ficticios) en vez de emails reales. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
16 lines
726 B
Python
16 lines
726 B
Python
from core.crud_router import make_crud_router
|
|
from core.inventory_transfer_requests import INVENTORY_TRANSFER_REQUESTS_RESOURCE
|
|
|
|
# CRUD genérico de Solicitudes de Transferencia (list/get/create). El
|
|
# frontend arma acá el JSON completo que espera SAP (StockTransferLines,
|
|
# BatchNumbers, campos U_* de usuario, etc.) y lo manda directo a este
|
|
# endpoint; el backend no valida stock ni transforma nada, es SAP quien
|
|
# rechaza el documento si no hay stock suficiente (ver "Inmovilizar Lotes"
|
|
# en mini-frontend/src/views/inventario/InmovilizarLotesView.tsx).
|
|
router = make_crud_router(
|
|
INVENTORY_TRANSFER_REQUESTS_RESOURCE,
|
|
tags=["Solicitudes de Transferencia"],
|
|
key_field="DocEntry",
|
|
supports_orderby=True,
|
|
)
|