La respuesta acertada es: Si pero no se recomienda. y no te damos ninguna garantía de que no tengas problemas luego de hacerlo. Pero si aun asi deseas intentarlo este es el script que hemos probado para este proceso.
Si decides hacer uso de este script, deberás reprocesar el inventario y la cartera.
En la siguiente imagen te mostramos los datos que debes ajustar, Señalado en rojo @ItemOrigen, este será el item que vamos a consolidar en otro, señalado en verde @ItemDestino, en este item se consolidará todo el movimiento de @ItemOrigen, solo reemplaza en ambos casos el 0 (cero) por el identificador del item apropiado según tus necesidades.
--INICIO SCRIPT CONSOLIDAR
begin transaction ConsolidarItem
declare @ItemOrigen numeric
, @ItemDestino numeric
, @StrdescipcionConcepto char(254)
, @Numidprecio numeric
set @ItemOrigen = 10210
set @ItemDestino = 10212
select @Numidprecio = Numidprecio
from Merlin_ListaPreciosdetalle
where NumIdConcepto = @ItemDestino
select @StrdescipcionConcepto = StrDescripcionConcepto
from Merlin_ConceptosFacturacion
where NumIdConcepto = @ItemDestino
update Merlin_Movimientos
set NumIdConcepto = @ItemDestino
, NumIdprecio = @Numidprecio
, StrObservacionConcepto = @StrdescipcionConcepto
where NumIdConcepto = @ItemOrigen
if @@error != 0 begin
rollback transaction ConsolidarItem
end else begin
update Merlin_MovimientosCxC
set NumIdConcepto = @ItemDestino
where NumIdConcepto = @ItemOrigen
if @@error != 0 begin
rollback transaction ConsolidarItem
end else begin
update Merlin_Movimientos_Novedades
set NumIdConcepto = @ItemDestino
, StrObservacionConcepto = @StrdescipcionConcepto
, NumIdprecio = @Numidprecio
where NumIdConcepto = @ItemOrigen
if @@error != 0 begin
rollback transaction ConsolidarItem
end else begin
update Merlin_Movimientos_Pedidos
set NumIdConcepto = @ItemDestino
, StrObservacionConcepto = @StrdescipcionConcepto
, NumIdprecio = @Numidprecio
where NumIdConcepto = @ItemOrigen
if @@error != 0 begin
rollback transaction ConsolidarItem
end else begin
delete from Merlin_INV_MaestroInventarios
where NumIdConcepto = @ItemOrigen
delete from Merlin_Inv_HistoricoInventario
where NumIdConcepto = @ItemOrigen
if @@error != 0 begin
rollback transaction ConsolidarItem
end else begin
delete from ParadigmaN_Cartera_Saldos
where NumIdConcepto = @ItemOrigen
if @@error != 0 begin
rollback transaction ConsolidarItem
end else begin
delete from merlin_ListaPreciosDetalle_Activa
where NumIdConcepto = @ItemOrigen
if @@error != 0 begin
rollback transaction ConsolidarItem
end else begin
print 'Borrar Lista precios '
update Merlin_Movimientos set NumIdprecio = @Numidprecio
where NumIdConcepto = @ItemDestino
and NumIdprecio in (select NumIdprecio from Merlin_ListaPreciosdetalle where NumIdConcepto = @ItemOrigen)
update Merlin_Movimientos_Novedades set NumIdprecio = @Numidprecio
where NumIdConcepto = @ItemDestino
and NumIdprecio in (select NumIdprecio from Merlin_ListaPreciosdetalle where NumIdConcepto = @ItemOrigen)
update Merlin_Movimientos_Pedidos set NumIdprecio = @Numidprecio
where NumIdConcepto = @ItemDestino
and NumIdprecio in (select NumIdprecio from Merlin_ListaPreciosdetalle where NumIdConcepto = @ItemOrigen)
delete from Merlin_ListaPreciosdetalle
where NumIdConcepto = @ItemOrigen
if @@error != 0 begin
rollback transaction ConsolidarItem
end else begin
commit transaction ConsolidarItem
end
end
end
end
end
end
end
end
--FIN SCRIPT CONSOLIDAR
No se ofrece garantía sobre este script ni el proceso de ejecución, usted asume todos los riesgos si decide ejecutarlo, por favor haga una copia de seguridad antes de proceder. si tiene dudas o requiere asesoría, por favor comuníquese con soporte técnico.