Para los casos donde tienda nos reporta que genero una devolucion correspondiente a un servicio de instalacion y que el folio negativo se genero en ceros como se aprecia en la siguiente imagen.

Para el caso anterios se tiene el siguiente WA como mitigacion.
Lo primero que tenemos que hacer es identificar el numero de orden de la venta y el de la orden de devolucion y los capturamos en el siguiente query, posteriormente descomentarizamos las del update y ejecutamos en la tienda que nos este reportando el incidente.
/*WA Folios en ceros */
declare @OrdenVenta int = 949894 --Orden Venta
declare @OrdenDev int = 953197 --Orden Devolucion
select 'instsol', * from instsol where OrderNO IN (@OrdenVenta,@OrdenDev)
/*Corrige instsoldet del folio negativo*/
--UPDATE b
--SET b.InstPrice = a.InstPrice,
-- b.InstCost = a.InstCost
--FROM instsoldet a
--INNER JOIN instsoldet b
-- ON a.ServhdrID = a.ServhdrID
-- AND a.ServiceID = b.ServiceID
--WHERE a.solicID IN (select solicID from instsol where orderno =@OrdenVenta)--Orden venta
--AND a.Quantity <> 0
--AND b.solicID IN (select solicID from instsol where orderno = @OrdenDev)
--AND b.Quantity <> 0
select 'InstSolDet', * from InstSolDet WITH (NOLOCK) where solicID IN (select solicID from instsol where OrderNO IN (@OrdenVenta,@OrdenDev))
Una vez realizado el paso anterior hemos corregido la tabla instsoldet del folio por negativo, este WA solo corrige folios de devoluciones que se hicieron relacionado al mismo servicio de la venta original como se aprecia en la siguiente imagen.

Lo que sigue es corregir la tabla instsol del folio negativo, por lo que aplicaremos el siguiente update capturando como dato de entrada el numero de orden de devolucion.
DECLARE @OrdenDev int = 953197 --Orden devolucion.
--UPDATE instsol
--SET Total = subquery.Total,
-- InstPrice = subquery.InstPrice,
-- InstCost = subquery.InstCost
--FROM instsol
--INNER JOIN (SELECT
-- [a1].solicID,
-- SUM([b1].InstPrice * [b1].Quantity) AS Total,
-- SUM([b1].InstPrice * [b1].Quantity) AS InstPrice,
-- SUM([b1].InstCost * [b1].Quantity) AS InstCost
--FROM instsol [a1]
--INNER JOIN instsoldet [b1]
-- ON [a1].solicID = [b1].solicID
-- AND [a1].ServhdrID = [b1].ServhdrID
--WHERE [a1].solicID IN (SELECT
-- solicID
--FROM instsol
--WHERE orderno = @OrdenDev)
--GROUP BY [a1].solicID) AS subquery
-- ON instsol.solicID = subquery.solicID
--WHERE instsol.solicID IN (SELECT
-- solicID
--FROM instsol
--WHERE orderno = @OrdenDev)
En la siguiente imagen se obserba que ya quedo corregido el folio a nivel instsol, por ultimo llamamos al usuario para informar de la correccion. El ticket queda en el *servicio :Gestión de Tiendas (SMS) CI afectado : SMS – Instalaciones
