Agregar Cotización Web (UDO) para cliente Aberio
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f58f4292c3
commit
cdd4ffaff8
20 files changed
+1277
-17
No files matched your search
@@ -101,6 +101,49 @@ async def get_udf_valid_values(table_name: str, field_name: str):
|
||||
}
|
||||
|
||||
|
||||
@router.get("/api/PriceLists")
|
||||
async def get_price_lists():
|
||||
"""
|
||||
Listas de precio de SAP, normalizadas a {Code, Name} (PriceListNo /
|
||||
PriceListName) para poder reusar el hook useSapCatalog del frontend
|
||||
igual que con las tablas de usuario y los UDF.
|
||||
"""
|
||||
sap_params = {
|
||||
"$select": "PriceListNo,PriceListName",
|
||||
"$top": 200,
|
||||
}
|
||||
|
||||
response = forward_to_sapb1(
|
||||
method="GET",
|
||||
endpoint_path="PriceLists",
|
||||
params=sap_params,
|
||||
).json()
|
||||
|
||||
return {
|
||||
"value": [
|
||||
{"Code": pl["PriceListNo"], "Name": pl["PriceListName"]}
|
||||
for pl in response.get("value", [])
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
@router.get("/api/CompanyService/DefaultWarehouse")
|
||||
async def get_default_warehouse():
|
||||
"""
|
||||
Almacén por defecto de la compañía (CompanyService_GetAdminInfo es un
|
||||
FunctionImport de Service Layer que, pese al nombre "Get", solo se
|
||||
invoca por POST). Se normaliza a un único campo para que el frontend no
|
||||
tenga que conocer el resto de AdminInfo.
|
||||
"""
|
||||
response = forward_to_sapb1(
|
||||
method="POST",
|
||||
endpoint_path="CompanyService_GetAdminInfo",
|
||||
json_data={},
|
||||
).json()
|
||||
|
||||
return {"DefaultWarehouse": response.get("DefaultWarehouse")}
|
||||
|
||||
|
||||
@router.get("/api/ItemGroups")
|
||||
async def get_item_groups():
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
from core.crud_router import make_crud_router
|
||||
|
||||
# CRUD genérico del objeto de usuario (UDO) "CotizacionWEB": documento propio
|
||||
# (cabecera @OQUT + detalle @UQT1) con la misma forma que cualquier
|
||||
# documento estándar de SAP expuesto por Service Layer (StockTransferLines,
|
||||
# DocumentLines, etc. son el mismo patrón): un array anidado, acá llamado
|
||||
# "QUT1Collection". El backend no transforma nada, el frontend arma el JSON
|
||||
# completo (campos U_* de la cabecera + QUT1Collection) y lo manda tal cual.
|
||||
router = make_crud_router(
|
||||
"CotizacionWEB",
|
||||
tags=["Cotización Web"],
|
||||
key_field="DocEntry",
|
||||
supports_orderby=True,
|
||||
)
|
||||
Reference in new issue
Block a user