feat(web): serie, indicador y proyecto en la cabecera; dimensiones, proyecto, cuenta, referencia base y precio con IVA en el detalle

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-16 11:07:38 -05:00
1 parent 9f003ee4bf
commit f66ef108cf
22 files changed
+698 -100

No files matched your search

@@ -9,37 +9,42 @@ import {
today,
warehouseColumn,
} from '../document-layouts';
import type { GridColumn } from '../../../shared/grid/grid.types';
import { ANALYTIC_COLUMNS, lineFieldsOf } from '../line-columns';
/** Solicitud de compra: solicitante (usuario de SAP), fecha requerida y, por línea, proveedor sugerido. */
export const purchaseRequestLayout: DocumentLayout = {
lines: { key: 'DocumentLines', fields: ['ItemCode', 'ItemDescription', 'Quantity', 'UoMEntry', 'WarehouseCode', 'LineVendor'], base: false },
header: { left: [FIELDS.requester], right: [FIELDS.docNum, FIELDS.docDate, FIELDS.requiredDate] },
footer: commentsOnly,
columns: [
itemColumn,
descriptionColumn,
quantityColumn,
warehouseColumn,
{
key: 'LineVendor',
title: 'Proveedor',
width: '130px',
mono: true,
lookup: {
config: {
title: 'Proveedores',
resource: 'BusinessPartners',
baseFilter: `CardType eq 'cSupplier'`,
orderby: 'CardCode',
columns: [
{ key: 'CardCode', title: 'Código', width: '130px', mono: true },
{ key: 'CardName', title: 'Nombre' },
],
},
apply: (bp, line) => ({ ...line, LineVendor: bp['CardCode'] }),
const purchaseRequestColumns: readonly GridColumn[] = [
itemColumn,
descriptionColumn,
quantityColumn,
warehouseColumn,
{
key: 'LineVendor',
title: 'Proveedor',
width: '130px',
mono: true,
lookup: {
config: {
title: 'Proveedores',
resource: 'BusinessPartners',
baseFilter: `CardType eq 'cSupplier'`,
orderby: 'CardCode',
columns: [
{ key: 'CardCode', title: 'Código', width: '130px', mono: true },
{ key: 'CardName', title: 'Nombre' },
],
},
apply: (bp, line) => ({ ...line, LineVendor: bp['CardCode'] }),
},
],
},
...ANALYTIC_COLUMNS,
];
export const purchaseRequestLayout: DocumentLayout = {
lines: { key: 'DocumentLines', fields: [...lineFieldsOf(purchaseRequestColumns), 'UoMEntry'], base: false },
header: { left: [FIELDS.requester, FIELDS.indicator, FIELDS.project], right: [FIELDS.docNumber, FIELDS.docDate, FIELDS.requiredDate] },
footer: commentsOnly,
columns: purchaseRequestColumns,
newHeader: () => ({ DocDate: today(), RequriedDate: today() }),
newLine: blankLine,
// El solicitante es un usuario de SAP (`ReqType` 12).