feat(web): «Campos» también en pagos, asientos y filas con varios controles; no se muestran las columnas internas
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
6ad824c6c1
commit
8ba845cc23
14 files changed
+132
-56
No files matched your search
@@ -592,3 +592,42 @@ export const hasPartnerData = (layout: DocumentLayout): boolean => allFields(lay
|
||||
export const hasCurrency = (layout: DocumentLayout): boolean => allFields(layout).some((f) => f.type === 'currency');
|
||||
|
||||
export const hasFolio = (layout: DocumentLayout): boolean => allFields(layout).some((f) => f.type === 'folio' || (f.type === 'group' && f.cells.some((c) => c.key === 'FolioNumber')));
|
||||
|
||||
/**
|
||||
* Nombre(s) del campo de SAP de una fila del formulario, para «Campos» y la ayuda del cursor: el de un campo sencillo, o
|
||||
* todos los de una fila con varios controles (`FolioPrefixString · FolioNumber`).
|
||||
*/
|
||||
export function fieldDbName(f: HeaderField): string | undefined {
|
||||
switch (f.type) {
|
||||
case 'folio':
|
||||
return `${f.prefixKey} · ${f.numberKey}`;
|
||||
case 'group':
|
||||
return f.cells.map((c) => c.key).join(' · ');
|
||||
case 'series':
|
||||
return 'Series · DocNum';
|
||||
case 'currency':
|
||||
return 'DocCurrency · DocRate';
|
||||
case 'rounding':
|
||||
return 'Rounding · RoundingDiffAmount';
|
||||
case 'expenses':
|
||||
return 'DocumentAdditionalExpenses';
|
||||
case 'computed':
|
||||
return COMPUTED_DB_NAMES[f.source];
|
||||
default:
|
||||
return 'key' in f ? f.key : undefined;
|
||||
}
|
||||
}
|
||||
|
||||
const COMPUTED_DB_NAMES: Readonly<Record<ComputedSource, string>> = {
|
||||
docNum: 'DocNum',
|
||||
partnerName: 'CardName',
|
||||
partnerTaxId: 'FederalTaxID',
|
||||
subtotal: 'Σ líneas',
|
||||
expenses: 'Σ DocumentAdditionalExpenses',
|
||||
tax: 'VatSum',
|
||||
total: 'DocTotal',
|
||||
downPayment: 'DownPaymentAmount',
|
||||
applied: 'PaidToDate',
|
||||
balance: 'DocTotal − PaidToDate',
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user