feat(web): las extensiones de cliente pueden ocultar campos y columnas y dejarlos de solo lectura (documentos y maestros)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-16 11:14:52 -05:00
1 parent f077a61d08
commit 8dc4a8eaab
20 files changed
+374 -38

No files matched your search

@@ -5,6 +5,10 @@ import type { ScreenExtensions } from '../screen-extensions';
* vacío: el proyecto base solo lleva campos estándar de SAP. La rama `cliente/<nombre>` lo completa
* con campos estándar adicionales o de usuario (`U_*`) y no toca ningún otro archivo.
*
* Además de agregar, puede ocultar (`hideHeaderFields`, `hideLineColumns`, `hideListColumns`) y dejar de solo
* lectura (`readOnlyHeaderFields`, `readOnlyLineColumns`: se ven pero no se editan; su valor sigue enviándose).
* Un nombre que no exista, o ocultar lo obligatorio, lanza un error al arrancar.
*
* Ejemplo (los campos son de ejemplo):
*
* '/ventas/facturas': {
@@ -12,6 +16,11 @@ import type { ScreenExtensions } from '../screen-extensions';
* lineColumns: [{ key: 'U_Lote', title: 'Lote', width: '90px' }],
* listColumns: [{ key: 'U_Obra', title: 'Obra', searchable: true }],
* },
* '/ventas/facturas': {
* hideLineColumns: ['CostingCode2', 'CostingCode3', 'CostingCode4', 'CostingCode5'], // solo quiere la dimensión 1
* readOnlyLineColumns: ['ProjectCode'], // el proyecto se ve pero no se edita
* hideHeaderFields: ['Indicator'],
* },
* '/ventas/ordenes': {
* headerLeft: [
* { type: 'select', key: 'U_Canal', label: 'Canal', options: [{ value: 'W', label: 'Web' }, { value: 'T', label: 'Tienda' }] },