feat: campos de usuario por su definición en SAP (valores válidos y tabla de usuario enlazada): endpoint sapdb/user-fields y campo udfField en cabeceras de documentos y maestros
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3caf94609d
commit
0629ce4068
17 files changed
+517
-11
No files matched your search
@@ -12,6 +12,19 @@ export type GroupCell =
|
||||
| { kind: 'text'; key: string; label: string; width?: string; maxlength?: number }
|
||||
| { kind: 'lookup'; key: string; label: string; lookup: VhLookup; width?: string };
|
||||
|
||||
/**
|
||||
* Un campo de usuario por su definición en SAP: la tabla (`OBTN`, `OWTQ`…) y el alias sin el `U_` (`SIS_ESTLOT`). Sus valores
|
||||
* válidos o su tabla de usuario enlazada se leen de SAP al abrir la pantalla; no se escriben aquí.
|
||||
*/
|
||||
export const udfField = (table: string, alias: string, label: string, extra: { required?: boolean; missing?: string; readonly?: boolean } = {}): HeaderField => ({
|
||||
type: 'udf',
|
||||
key: `U_${alias}`,
|
||||
label,
|
||||
table,
|
||||
alias,
|
||||
...extra,
|
||||
});
|
||||
|
||||
/** Fila con varios campos juntos, para la cabecera de un documento. */
|
||||
export const fieldGroup = (label: string, cells: readonly GroupCell[]): HeaderField => ({ type: 'group', label, cells });
|
||||
|
||||
@@ -40,6 +53,11 @@ export type HeaderField =
|
||||
/** Campo de código con su ventana de selección (grupo, moneda, lista de precios…). */
|
||||
| { type: 'lookup'; key: string; label: string; lookup: VhLookup; required?: boolean; missing?: string; immutable?: boolean; onPick?: (row: Record<string, unknown>) => Record<string, unknown> }
|
||||
| { type: 'textarea'; key: string; label: string }
|
||||
/**
|
||||
* Campo de usuario (`U_*`) que se pide como lo definió SAP: lista desplegable si tiene valores válidos, ventana de
|
||||
* selección si está enlazado a una tabla de usuario y texto en otro caso (`udfField`).
|
||||
*/
|
||||
| { type: 'udf'; key: string; label: string; table: string; alias: string; required?: boolean; missing?: string; readonly?: boolean }
|
||||
/** Lista de valores válidos (típico de un campo de usuario con valores válidos en SAP). */
|
||||
| { type: 'select'; key: string; label: string; options: readonly { value: string | number; label: string }[]; required?: boolean; missing?: string; immutable?: boolean }
|
||||
/** Abre la lista de almacenes. */
|
||||
|
||||
Reference in new issue
Block a user