Eran tres copias (94% a 97% iguales). Se verifico con un servidor simulado
que el resultado es identico al anterior en reintento por 401, 204 sin cuerpo,
rechazo y log de errores. PatchAsyncSBA no se toca.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
El mismo bloque (~100 lineas) estaba copiado en Picking DESPACHO, Picking PICKING
y Recibo. Ahora los tres llaman al mismo metodo. Sin cambios de comportamiento
(la referencia de la NC en la transferencia se asigna una vez antes de las lineas
en vez de dentro del ciclo de articulos).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Quedan HelperStock.GetConsolidado y CreditNotesRepository.UpdateCreateCreditNotes,
que son los que usan Picking, Inventario y Recibo. Sin cambios de comportamiento.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sin cambios de comportamiento. Comentarios en Picking, Recibo,
ConnectionServiceLayer, CreditNotesRepository, InvoiceRepository y
RepositoryWrapper.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- ConnectionServiceLayer: ValidarCertificado, Logout, CancelAsyncSBA, DeleteAsyncSBA y throw inalcanzable en PatchAsyncSBA
- HelperDB (SET ejecutaba SQL arbitrario, sin llamadores)
- RepositoryWrapper/IRepositoryWrapper: 11 propiedades que ningun controller usa
- PickingRepository: TotalDetalle_Parcial y _Invoice sin uso; ReciboRepository: SerieOrigen sin uso
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Se mueve de CreditNotesRepository a ConnectionServiceLayer (PostAsync,
PatchAsyncSBA, PatchNoContentAsync) con un hook asignado en Startup.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Si la linea de la factura viene de una Entrega (BaseType 15) los lotes se
toman de la linea de la Entrega (BaseLine); si no, de la linea de la factura
(LineNum). Se valida que los lotes cubran la cantidad y se devuelve un error
claro por linea en vez del error generico de SAP.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
PostReOpen deserializaba el cuerpo vacio del 204 a null y fallaba al marcar
Exito, devolviendo "La Factura no se puede reabrir" aunque SAP la reabria.
Picking ahora agrega el mensaje real de SAP a ese error.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
DESPACHO y PICKING vuelven a generar nota de crédito sin depender de
Notificacion. Documentada la regla Proceso + Notificacion.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Se elimina la lectura previa del documento y la validación de existencia
de línea; cada línea se manda con Rate = 0.0 (request validado en SAP).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- AssemblyVersion/FileVersion 2.0.0.0 (Version 2.0.0); Swagger toma la versión del ensamblado
- publicar.ps1: genera el publish y dist/ITCA_API_SAP_WMS_v<version>.zip sin appsettings
- Net.Data y Net.Business.Services aceptan -p:HanaDll=<ruta> para compilar fuera de Windows
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>