feat(web): formularios de inventario y solicitudes de compra (entradas, salidas, transferencias, solicitudes de traslado)
Configuración declarativa en document-layouts.ts; las líneas de las transferencias van en StockTransferLines y las de compra/inventario llevan UoMEntry si el artículo tiene grupo de unidades. Probado contra SBODemoCL (solicitud de compra 2, solicitud de traslado 472, entrada 155). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
45c0ca536e
commit
155d18fce4
13 files changed
+550
-46
No files matched your search
@@ -16,6 +16,20 @@ export function recalcLine(line: GridLine): GridLine {
|
||||
* Línea nueva con los valores por defecto de un documento. El precio queda vacío (no 0): si el
|
||||
* 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
|
||||
* 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 {
|
||||
if (!(Number(item['UoMGroupEntry']) > 0)) return undefined;
|
||||
for (const key of ['DefaultPurchasingUoMEntry', 'InventoryUoMEntry']) {
|
||||
const entry = Number(item[key]);
|
||||
if (entry > 0) return entry;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
export const newDocumentLine = (): GridLine => ({
|
||||
ItemCode: '',
|
||||
ItemDescription: '',
|
||||
@@ -44,6 +58,7 @@ export const DOCUMENT_LINE_COLUMNS: readonly GridColumn[] = [
|
||||
title: 'Artículos',
|
||||
resource: 'Items',
|
||||
orderby: 'ItemCode',
|
||||
extraFields: ['UoMGroupEntry', 'DefaultPurchasingUoMEntry', 'InventoryUoMEntry'],
|
||||
columns: [
|
||||
{ key: 'ItemCode', title: 'Código', width: '150px', mono: true },
|
||||
{ key: 'ItemName', title: 'Descripción' },
|
||||
|
||||
Reference in new issue
Block a user