Documentos de Académico
Documentos de Profesional
Documentos de Cultura
as
begin
SET NOCOUNT ON
declare @Idp NUMERIC, @Cod varchar(20), @Nombre varchar(100)
declare @saldo NUMERIC, @pc numeric(18,2), @pr_prom numeric(18,2), @Total numeric(18,2)
create table #Datos (
codigo varchar(20), producto varchar(100), stock numeric, puc numeric(18,2),
ppp numeric(18,2), total numeric(18,2)
)
set @saldo=0
declare C_Prod Cursor for
select pk_id_producto, codigo, descripcion from in_productos
where estado='A' ORDER BY CODIGO
open C_Prod
fetch next from C_Prod into @Idp, @Cod, @Nombre
while @@fetch_Status <>-1
begin
--busca saldo de cada producto
select
@saldo=SUM(case when tipo=1 then CANTIDAD else (CANTIDAD * (-1)) end)
from VW_MOVIMIENTOS
where FK_ID_PRODUCTO=@Idp
--
set @saldo=ISNULL(@saldo,0)
--ltimo precio de compra
select top 1
@pc=(BASE_IMPONIBLE/CANTIDAD),
@pr_prom=ISNULL(pp,0)
from VW_MOVIMIENTOS
where FK_ID_PRODUCTO=@Idp and tipo=1
order by FECHA desc
--set
set @pc =ISNULL(@pc,0)
set @pr_prom =ISNULL(@pr_prom,0)
--cacula total
if @PP=1
set @Total=@saldo*@pr_prom
else
set @Total=@saldo*@pc