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>
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>