fix(web): ventas y compras envían la unidad de medida del artículo (UoMEntry)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-14 16:05:25 -05:00
1 parent 0d5a3074c8
commit d3ab97cd2e
7 files changed
+71 -20

No files matched your search

@@ -17,13 +17,13 @@ export function recalcLine(line: GridLine): GridLine {
* usuario no lo escribe no se envía y SAP aplica la lista de precios del socio de negocio.
*/
/**
* Unidad de medida de un artículo con grupo de unidades, para las líneas de compra e inventario: la de
* compra por defecto o, si no tiene, la de inventario. Sin ella SAP rechaza el documento ("specify a
* Unidad de medida de un artículo con grupo de unidades, para las líneas de un documento: la de
* compra (o de venta) por defecto o, si no tiene, la de inventario. Sin ella SAP rechaza el documento ("specify a
* UoM code"); y a un artículo de unidad manual (sin grupo) SAP no admite ponérsela.
*/
export function uomEntryOf(item: Record<string, unknown>): number | undefined {
export function uomEntryOf(item: Record<string, unknown>, side: 'purchase' | 'sales' = 'purchase'): number | undefined {
if (!(Number(item['UoMGroupEntry']) > 0)) return undefined;
for (const key of ['DefaultPurchasingUoMEntry', 'InventoryUoMEntry']) {
for (const key of [side === 'sales' ? 'DefaultSalesUoMEntry' : 'DefaultPurchasingUoMEntry', 'InventoryUoMEntry']) {
const entry = Number(item[key]);
if (entry > 0) return entry;
}
@@ -58,7 +58,7 @@ export const DOCUMENT_LINE_COLUMNS: readonly GridColumn[] = [
title: 'Artículos',
resource: 'Items',
orderby: 'ItemCode',
extraFields: ['UoMGroupEntry', 'DefaultPurchasingUoMEntry', 'InventoryUoMEntry'],
extraFields: ['UoMGroupEntry', 'DefaultPurchasingUoMEntry', 'DefaultSalesUoMEntry', 'InventoryUoMEntry'],
columns: [
{ key: 'ItemCode', title: 'Código', width: '150px', mono: true },
{ key: 'ItemName', title: 'Descripción' },