From 80a65cbc6225058898ecc1ee7931d81bac42e02b Mon Sep 17 00:00:00 2001 From: George Date: Mon, 19 Oct 2026 12:31:31 -0500 Subject: [PATCH] =?UTF-8?q?feat(web):=20las=20listas=20de=20documentos=20d?= =?UTF-8?q?e=20ventas=20y=20compras=20muestran=20el=20tipo=20(Art=C3=ADcul?= =?UTF-8?q?o=20/=20Servicio)=20y=20lo=20ofrecen=20como=20filtro?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 5.5 --- .../src/app/features/documents/screen-kit.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/apps/web/src/app/features/documents/screen-kit.ts b/apps/web/src/app/features/documents/screen-kit.ts index fa95a4a..495c0e6 100644 --- a/apps/web/src/app/features/documents/screen-kit.ts +++ b/apps/web/src/app/features/documents/screen-kit.ts @@ -107,6 +107,22 @@ export const statusFilter: ListFilter = { { value: 'bost_Close', label: 'Cerrado' }, ], }; +/** Tipo del documento: de artículos o de servicio (`DocType`). */ +export const docTypeColumn: ListColumn = { + key: 'DocType', + title: 'Tipo', + width: '90px', + format: (r) => (r['DocType'] === 'dDocument_Service' ? 'Servicio' : r['DocType'] === 'dDocument_Items' ? 'Artículo' : ''), +}; +export const docTypeFilter: ListFilter = { + type: 'select', + key: 'DocType', + label: 'Tipo', + options: [ + { value: 'dDocument_Items', label: 'Artículo' }, + { value: 'dDocument_Service', label: 'Servicio' }, + ], +}; export const dateFilter: ListFilter = { type: 'date', key: 'DocDate', label: 'Fecha contab.' }; export const currencyFilter: ListFilter = { type: 'multi', @@ -168,6 +184,7 @@ export const marketing = ( columns: [ docNum, statusColumn, + docTypeColumn, ...(extras.columns ?? []), { key: 'CardCode', title: partner, width: '130px', mono: true, searchable: true }, { key: 'CardName', title: 'Nombre' }, @@ -175,7 +192,7 @@ export const marketing = ( { key: 'DocDueDate', title: 'Fecha venc.', type: 'date', align: 'center', width: '115px' }, { key: 'DocTotal', title: 'Total', align: 'right', width: '140px', format: documentTotal }, ], - filters: [statusFilter, currencyFilter, dateFilter], + filters: [statusFilter, docTypeFilter, currencyFilter, dateFilter], }); export const inventory = (