feat: base de bancos (recursos de pagos recibidos y efectuados, acción Cancel, menú Bancos, tabla con ventana de selección)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-16 13:23:27 -05:00
1 parent 08977741de
commit 369be317ab
13 files changed
+304 -10

No files matched your search

+17 -6
View File
@@ -15,13 +15,19 @@ export interface SlResource {
write: RequiredPath | null;
/** Colecciones permitidas en `$expand` (por defecto ninguna). */
expand?: string[];
/** Acciones sobre un registro (`POST Entidad(clave)/Accion`) que se pueden invocar, p. ej. `Cancel`. Requieren el permiso de escritura. */
actions?: readonly string[];
}
const document = (name: string, path: RequiredPath): SlResource => ({
/**
* Documento de marketing o de pagos. `alsoRead` suma pantallas que solo pueden consultarlo (los pagos leen las
* facturas pendientes del socio sin poder modificarlas).
*/
const document = (name: string, path: RequiredPath, alsoRead: RequiredPath = []): SlResource => ({
name,
key: 'number',
methods: ['GET', 'POST', 'PATCH'],
read: path,
read: [path, alsoRead].flat(),
write: path,
});
@@ -51,18 +57,18 @@ export const SL_RESOURCES: readonly SlResource[] = [
document('Orders', '/ventas/ordenes'),
document('DeliveryNotes', '/ventas/entrega'),
// Boletas (`DocumentSubType = bod_Bill`) y facturas de reserva (`ReserveInvoice = tYES`) son facturas: mismo recurso, cuatro pantallas.
document('Invoices', ['/ventas/facturas', '/ventas/boletas', '/ventas/facturas-reserva', '/ventas/boletas-reserva']),
document('Invoices', ['/ventas/facturas', '/ventas/boletas', '/ventas/facturas-reserva', '/ventas/boletas-reserva'], '/bancos/pagos-recibidos'),
document('Returns', '/ventas/devoluciones'),
document('CreditNotes', '/ventas/notas-credito'),
document('CreditNotes', '/ventas/notas-credito', '/bancos/pagos-recibidos'),
// Compras
document('PurchaseRequests', '/compras/solicitudes'),
document('PurchaseQuotations', '/compras/ofertas'),
document('PurchaseOrders', '/compras/ordenes'),
document('PurchaseDeliveryNotes', '/compras/recepcion'),
document('PurchaseInvoices', '/compras/facturas'),
document('PurchaseInvoices', '/compras/facturas', '/bancos/pagos-efectuados'),
document('PurchaseReturns', '/compras/devoluciones'),
document('PurchaseCreditNotes', '/compras/notas-credito'),
document('PurchaseCreditNotes', '/compras/notas-credito', '/bancos/pagos-efectuados'),
// Inventario
document('StockTransfers', '/inventario/transferencias'),
@@ -70,6 +76,10 @@ export const SL_RESOURCES: readonly SlResource[] = [
document('InventoryGenEntries', '/inventario/entradas'),
document('InventoryGenExits', '/inventario/salidas'),
// Bancos: pagos recibidos y efectuados. Se pueden anular (`Cancel`) pero no modificar.
{ ...document('IncomingPayments', '/bancos/pagos-recibidos'), methods: ['GET', 'POST'], actions: ['Cancel'] },
{ ...document('VendorPayments', '/bancos/pagos-efectuados'), methods: ['GET', 'POST'], actions: ['Cancel'] },
// Maestros (consulta para cualquier sesión; escritura según el módulo)
catalog('BusinessPartners', 'string', ['/socios/clientes', '/socios/proveedores']),
catalog('Items', 'string', '/inventario/articulos'),
@@ -84,6 +94,7 @@ export const SL_RESOURCES: readonly SlResource[] = [
// Grupos de los maestros (para elegirlos y filtrar las listas de clientes, proveedores y artículos).
catalog('BusinessPartnerGroups', 'number'),
catalog('ItemGroups', 'number'),
catalog('Banks', 'string'),
// Dimensiones, proyectos y cuentas de los documentos (para elegirlos en cabecera y líneas).
// Indicadores de los documentos (tabla OIDC; en la localización chilena, el tipo de documento: 33 factura, 39 boleta).
catalog('FactoringIndicators', 'string'),