fix(web): el precio de una línea nueva queda vacío para que SAP aplique la lista de precios
Probado contra SBODemoCL: crear y actualizar órdenes de venta y de compra, reemplazo de líneas y 412 por conflicto. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
6978fed6fb
commit
4b35aa6bfd
4 files changed
+14
-5
No files matched your search
@@ -1,4 +1,5 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
import { newDocumentLine } from './line-columns';
|
||||
import {
|
||||
computeTotals,
|
||||
createPayload,
|
||||
@@ -85,6 +86,11 @@ describe('createPayload', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('un precio sin escribir no se envía: SAP aplica la lista de precios', () => {
|
||||
const body = createPayload({ CardCode: 'C1' }, [{ ...newDocumentLine(), ItemCode: 'A1' }]);
|
||||
expect(body['DocumentLines']).toEqual([{ ItemCode: 'A1', Quantity: 1, DiscountPercent: 0 }]);
|
||||
});
|
||||
|
||||
it('isBlankLine', () => {
|
||||
expect(isBlankLine({ ItemCode: '' })).toBe(true);
|
||||
expect(isBlankLine({ ItemCode: 'A1' })).toBe(false);
|
||||
|
||||
@@ -52,7 +52,7 @@ describe('columnas estándar de línea', () => {
|
||||
|
||||
describe('línea nueva y "catálogo completo"', () => {
|
||||
it('la línea nueva trae cantidad 1 y total 0', () => {
|
||||
expect(newDocumentLine()).toMatchObject({ Quantity: 1, Price: 0, LineTotal: 0, ItemCode: '' });
|
||||
expect(newDocumentLine()).toMatchObject({ Quantity: 1, Price: null, LineTotal: 0, ItemCode: '' });
|
||||
});
|
||||
|
||||
it('cada artículo elegido se convierte en una línea nueva', () => {
|
||||
|
||||
@@ -12,13 +12,16 @@ export function recalcLine(line: GridLine): GridLine {
|
||||
return { ...line, LineTotal: round2(total) };
|
||||
}
|
||||
|
||||
/** Línea nueva con los valores por defecto de un documento. */
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
export const newDocumentLine = (): GridLine => ({
|
||||
ItemCode: '',
|
||||
ItemDescription: '',
|
||||
Quantity: 1,
|
||||
WarehouseCode: '',
|
||||
Price: 0,
|
||||
Price: null,
|
||||
DiscountPercent: 0,
|
||||
TaxCode: '',
|
||||
LineTotal: 0,
|
||||
|
||||
Reference in new issue
Block a user