Utilizamos Cookies de terceros para generar estadísticas de audiencia y mostrar publicidad personalizada analizando tu navegación. Si sigues navegando estarás aceptando su uso. Más información X
PortadaForo AyudaTutoriales
Inicio Respuestas Problemas

Ayuda con stored procedure del sql server amarrado a crystal report

carissimo
- 18/05/2013 20:11:53 - Pregunta nº.: 71.408

Servidor IBM

hola buenos dias, tengo un problema con el stored procedure en sql server, espero me puedan ayudar, falta mas consistencia al stored, lo que no se en que esta.tengo un reporte en crystal reporte que se llama kardex en unidades fisicas, donde solo se visualiza los movimientos de los artículos sin sus costo, el problema está en que sólo visualiza los artículos que han tenido movimientos de ingreso y salida en un mes determinado, no se como hacer para que también visualizen los articulos que no han tenido movimiento de ingreso y salida, pero que tienen saldo en el mes determinado que estoy especificando, como ejemplo les menciono que en el mes de febrero hay 1266 articulos que no han tenido movimiento de ingreso y salida, pero tienen saldo y no se visualizan en el reporte, y eso es muy importante que se visualize para su presentación ante la sunat.

adjunto el stored procedure para que lo revisen, den su opinión y me ayuden.

set ansi_nulls on
set quoted_identifier on
go



alter procedure [dbo].[sp_rptsumariamovimientos_sunat]
@vchrano char(4),
@vchrmesdesde char(2),
@vchrmeshasta char(2),
@vchrusaalmacen char(1), /* ''s'' , ''n'' */
@vchralmacendesde char(2),
@vchralmacenhasta char(2),
@vvchwhearticulos varchar(255),
@vchrflagreintegrotributario char(1)

as
begin

declare
@slchrmensajeerror char(60),
@s1 varchar(1755),
@s2 varchar(1755),
@s3 varchar(1955),
@s4 varchar(1255),
@s5 varchar(1255),
@s6 varchar(1455),
@s7 varchar(1455),
@s8 varchar(1455),
@w1 varchar(2455),
@w2 varchar(2455),
@xcodartmin char(15),
@xempresa varchar(50),
@xmesdesde varchar(20),
@xmeshasta varchar(20),
@vchrsaldo char(1),
@xchrcodart char(15),
@xchrcodartgen char(15),
@xchrcodtransac char(3),
@xchrpuntoguia char(3),
@xchrnumguia char(7),
@xstkmanant numeric(15,2),
@xsaldocantidad numeric(15,6),
@xsalantvalorn numeric(15,2),
@xsalantvalore numeric(15,2),
@xentrada numeric(15,2),
@xsalida numeric(15,2),
@xvalentradamn numeric(15,2),
@xvalsalidamn numeric(15,2),
@xvalentradame numeric(15,2),
@xvalsalidame numeric(15,2),
@xsaldocantmov numeric(15,6),
@xsaldovalnmov numeric(15,2),
@xsaldovalemov numeric(15,2),
@xsw char(1),
@xflastant char(1),
@xchrnumitemguia char(4),
@xvchdireccionempresa varchar(100),
@xchrrucempresa varchar(20)

set nocount on

select @vchrsaldo= 's'

select @xempresa = vchnombreempresa,
@xchrrucempresa = chrrucempresa,
@xvchdireccionempresa = vchdireccionempresa
from parametros

select @xmesdesde = ''
select @xmeshasta = ''

if @vchrmesdesde = '00'
select @xmesdesde = 'apertura'
else if @vchrmesdesde = '01'
select @xmesdesde = 'enero'
else if @vchrmesdesde = '02'
select @xmesdesde = 'febrero'
else if @vchrmesdesde = '03'
select @xmesdesde = 'marzo'
else if @vchrmesdesde = '04'
select @xmesdesde = 'abril'
else if @vchrmesdesde = '05'
select @xmesdesde = 'mayo'
else if @vchrmesdesde = '06'
select @xmesdesde = 'junio'
else if @vchrmesdesde = '07'
select @xmesdesde = 'julio'
else if @vchrmesdesde = '08'
select @xmesdesde = 'agosto'
else if @vchrmesdesde = '09'
select @xmesdesde = 'setiembre'
else if @vchrmesdesde = '10'
select @xmesdesde = 'octubre'
else if @vchrmesdesde = '11'
select @xmesdesde = 'noviembre'
else if @vchrmesdesde = '12'
select @xmesdesde = 'diciembre'
else if @vchrmesdesde = '13'
select @xmesdesde = 'cierre'

if @vchrmeshasta = '00'
select @xmeshasta = 'apertura'
else if @vchrmeshasta = '01'
select @xmeshasta = 'enero'
else if @vchrmeshasta = '02'
select @xmeshasta = 'febrero'
else if @vchrmeshasta = '03'
select @xmeshasta = 'marzo'
else if @vchrmeshasta = '04'
select @xmeshasta = 'abril'
else if @vchrmeshasta = '05'
select @xmeshasta = 'mayo'
else if @vchrmeshasta = '06'
select @xmeshasta = 'junio'
else if @vchrmeshasta = '07'
select @xmeshasta = 'julio'
else if @vchrmeshasta = '08'
select @xmeshasta = 'agosto'
else if @vchrmeshasta = '09'
select @xmeshasta = 'setiembre'
else if @vchrmeshasta = '10'
select @xmeshasta = 'octubre'
else if @vchrmeshasta = '11'
select @xmeshasta = 'noviembre'
else if @vchrmeshasta = '12'
select @xmeshasta = 'diciembre'
else if @vchrmeshasta = '13'
select @xmeshasta = 'cierre'


create table [dbo].[#temporpt] (
[chrnumitemguia] [char] (4) null ,
[chrcodart] [char] (15) null ,
[chrdesartc] [varchar] (55) null ,
[chrcodtransac] [char] (3) null ,
[chrpuntoguia] [char] (3) null ,
[chrnumguia] [char] (7) null ,
[chrcodalmaini] [char] (2) null ,
[chrdocumento] [varchar] (10) null ,
[chrcoddoc] [char] (2) null ,
[chrpuntofact] [char] (3) null ,
[chrnumfact][char] (7) null,
[chrtipope][char] (2) null,
[chrunidadsunat][char] (2) null,
[chrctacte] [char] (13) null ,
[chrcodtransact] [char] (3) null ,
[chrnumguiat] [char] (7) null ,
[dia] [varchar] (2) null ,
[chrmodelo] [char] (10) null ,
[chrcodlinea] [char] (10) null ,
[chrunidad] [char] (3) null ,
[datfchguia] [datetime] null ,
[mes] [varchar] (2) null ,
[chrlote] [varchar] (20) null ,
[entrada] [numeric](15, 6) null ,
[salida] [numeric](15, 6) null ,
[saldocantidad] [numeric](15, 6) null ,
[saldovalorn] [numeric](15, 2) null ,
[saldovalore] [numeric](15, 2) null ,
[numpreinvn] [numeric](15, 6) null ,
[numvalinvn] [numeric](15, 2) null ,
[numpreinve] [numeric](15, 6) null ,
[numvalinve] [numeric](15, 2) null ,
[valentradamn] [numeric](15, 2) null ,
[valsalidamn] [numeric](15, 2) null ,
[valentradame] [numeric](15, 2) null ,
[valsalidame] [numeric](15, 2) null ,
[entradatransf] [varchar] (21) null ,
[salidatransf] [varchar] (21) null ,
[empresa] [varchar] (50) null ,
[rucempresa] [varchar] (20) null ,
[direccionempresa] [varchar] (100) null ,
[mesdesde] [varchar] (10) null ,
[meshasta] [varchar] (10) null ,
[anio] [varchar] (4) null ,
[chrdeseleparametroc] [varchar] (10) null ,
[pidesolc] [char] (1) null ,
[numref] [varchar] (30) null ,
[numsolc] [char] (7) null ,
[stkmanant] [numeric](16, 6) null ,
[prcprmna] [numeric](16, 6) null ,
[prcprmea] [numeric](16, 6) null ,
[valinvna] [numeric](16, 2) null ,
[valinvea] [numeric](16, 2) null ,
[stkman] [numeric](16, 6) null ,
[prcprmn] [numeric](16, 6) null ,
[prcprme] [numeric](16, 6) null ,
[valinvn] [numeric](16, 2) null ,
[valinve] [numeric](16, 2) null
) on [primary]

if @vchrusaalmacen = 'n'
begin
select @s1 = 'insert into #temporpt select dg.chrnumitemguia,'
--select @s1 = 'select dg.chrnumitemguia,'
select @s1 = @s1 + ' dg.chrcodart, dg.chrdesartc , cg.chrcodtransac, cg.chrpuntoguia, cg.chrnumguia, '
select @s1 = @s1 + ' cg.chrcodalmaini, cg.chrdocumento, '
select @s1 = @s1 + ' cg.chrcoddoc, cg.chrpuntofact, cg.chrnumfact, sr.chrcodeleparametrosunat, '
select @s1 = @s1 + ' (select x.chrcodigoregistrosunat from registrostablasgenerales x'
select @s1 = @s1 + ' where x.chrcodtabla = ''i04'' and x.chrcodigoregistro = dg.chrunidad) chrunidadsunat, '
select @s1 = @s1 + ' cg.chrctacte, cg.chrcodtransact, cg.chrnumguiat, '
select @s1 = @s1 + ' right(rtrim(ltrim(''0'' + convert(char(2), datepart(day, cg.datfchguia)))), 2) dia,'
select @s1 = @s1 + ' dg.chrmodelo, dg.chrcodlinea, dg.chrunidad, cg.datfchguia, '
select @s2 = ' right(rtrim(ltrim(''0'' + convert(char(2), datepart(month, cg.datfchguia)))), 2) mes, '
select @s2 = @s2 + ' chrlote , '
select @s2 = @s2 + ' case left(ltrim(rtrim(cg.chrcodtransac)) , 1) when ''e'' then numcantidad else 0 end entrada, '
select @s3 = ' case left(ltrim(rtrim(cg.chrcodtransac)) , 1) when ''s'' then numcantidad else 0 end salida, '

select @s3 = @s3 + 'convert(numeric(15,6),''0'') saldocantidad, '
select @s3 = @s3 + 'convert(numeric(15,2),''0'') saldovalorn, '
select @s3 = @s3 + 'convert(numeric(15,2),''0'') saldovalore, '

select @s3 = @s3 + ' numpreinvn , numvalinvn , numpreinve , numvalinve, '
select @s3 = @s3 + ' case left(ltrim(rtrim(cg.chrcodtransac)) , 1) when ''e'' then numvalinvn else 0 end valentradamn, '
select @s3 = @s3 + ' case left(ltrim(rtrim(cg.chrcodtransac)) , 1) when ''s'' then numvalinvn else 0 end valsalidamn, '
select @s3 = @s3 + ' case left(ltrim(rtrim(cg.chrcodtransac)) , 1) when ''e'' then numvalinve else 0 end valentradame, '
select @s3 = @s3 + ' case left(ltrim(rtrim(cg.chrcodtransac)) , 1) when ''s'' then numvalinve else 0 end valsalidame, '

--select @s4 = ' case when left(ltrim(rtrim(cg.chrcodtransac)) , 1) = ''e'' and not (datalength(ltrim(rtrim(cg.chrcodtransact))) is null or datalength(ltrim(rtrim(cg.chrcodtransact))) = 0) then convert(varchar(21), numcantidad) else '' '' end entradatransf, '
--select @s5 = ' case when left(ltrim(rtrim(cg.chrcodtransac)) , 1) = ''s'' and not (datalength(ltrim(rtrim(cg.chrcodtransact))) is null or datalength(ltrim(rtrim(cg.chrcodtransact))) = 0) then convert(varchar(21), numcantidad) else '' '' end salidatransf, '
select @s4 = ' case when left(ltrim(rtrim(cg.chrcodtransac)) , 1) = ''e'' and isnull(dg.chrestransf,''n'') = ''s'' then convert(varchar(21), numcantidad) else '' '' end entradatransf, '
select @s5 = ' case when left(ltrim(rtrim(cg.chrcodtransac)) , 1) = ''s'' and isnull(dg.chrestransf,''n'') = ''s'' then convert(varchar(21), numcantidad) else '' '' end salidatransf, '
select @s6 = '''' + @xempresa + ''' empresa, '
select @s6 = @s6 + ' ''' + @xchrrucempresa + ''' rucempresa, '
select @s6 = @s6 + ' ''' + @xvchdireccionempresa + ''' direccionempresa, '
select @s6 = @s6 + ' ''' + @xmesdesde + ''' mesdesde, ''' + @xmeshasta + ''' meshasta, ''' + @vchrano +''' anio, sr.chrdeseleparametroc,'
select @s6 = @s6 + ' sr.chrpidesolc pidesolc , cg.chrnumref numref , cg.chrnumsolc numsolc , '
select @s7 = ' case when sgi.chrmes = ''' + @vchrmesdesde + ''' then sgi.numstockmanoant else 0 end stkmanant, '
select @s7 = @s7 + ' case when sgi.chrmes = ''' + @vchrmesdesde + ''' then sgi.numprecioprommna else 0 end prcprmna, '
select @s7 = @s7 + ' case when sgi.chrmes = ''' + @vchrmesdesde + ''' then sgi.numprecioprommea else 0 end prcprmea, '
select @s7 = @s7 + ' case when sgi.chrmes = ''' + @vchrmesdesde + ''' then sgi.numvalorinvmna else 0 end valinvna, '
select @s7 = @s7 + ' case when sgi.chrmes = ''' + @vchrmesdesde + ''' then sgi.numvalorinvmea else 0 end valinvea, '

select @s8 = ' case when sg.chrmes = ''' + @vchrmeshasta + ''' then sg.numstockmano else 0 end stkman, '
select @s8 = @s8 + ' case when sg.chrmes = ''' + @vchrmeshasta + ''' then sg.numprecioprommn else 0 end prcprmn, '
select @s8 = @s8 + ' case when sg.chrmes = ''' + @vchrmeshasta + ''' then sg.numpreciopromme else 0 end prcprme, '
select @s8 = @s8 + ' case when sg.chrmes = ''' + @vchrmeshasta + ''' then sg.numvalorinvmn else 0 end valinvn, '
select @s8 = @s8 + ' case when sg.chrmes = ''' + @vchrmeshasta + ''' then sg.numvalorinvme else 0 end valinve '

if @vchrsaldo= 's'
begin
--select @w1 = ' into #temporpt '
select @w1 = ' '
select @w1 = @w1 + ' from detalle_guias dg '
select @w1 = @w1 + ' left outer join cabecera_guias cg '
select @w1 = @w1 + ' on dg.chrcodtransac = cg.chrcodtransac '
select @w1 = @w1 + ' and dg.chrpuntoguia = cg.chrpuntoguia '
select @w1 = @w1 + ' and dg.chrnumguia = cg.chrnumguia '
select @w1 = @w1 + ' left outer join stock_general sgi '
select @w1 = @w1 + ' on sgi.chrano = ''' + @vchrano + ''' '
select @w1 = @w1 + ' and sgi.chrmes = ''' + @vchrmesdesde + ''' '
select @w1 = @w1 + ' and sgi.chrcodart = dg.chrcodart '
select @w1 = @w1 + ' left outer join stock_general sg '
select @w1 = @w1 + ' on sg.chrano = ''' + @vchrano + ''' '
select @w1 = @w1 + ' and sg.chrmes = ''' + @vchrmeshasta + ''' '
select @w1 = @w1 + ' and sg.chrcodart = dg.chrcodart '
select @w1 = @w1 + ' left outer join secuenciasgenerales sr '
select @w1 = @w1 + ' on sr.chrcodeleparametro=cg.chrcodtransac '
select @w1 = @w1 + ' and sr.chrcodtabparametro=''i01'' '
select @w1 = @w1 + ' left outer join articulos ar '
select @w1 = @w1 + ' on dg.chrcodart = ar.chrcodart '
select @w1 = @w1 + ' and dg.chrcodlinea = ar.chrcodlinea '
select @w1 = @w1 + ' where '

select @w1 = @w1 + ' cg.chrano = ''' + @vchrano + ''' '
select @w1 = @w1 + ' and (cg.chrmes >= ''' + @vchrmesdesde + ''' and cg.chrmes = ''' + @vchrcodartdesde + ''' and dg.chrcodart = ''' + @vchrmesdesde + ''' and cg.chrmes = ''' + @vchralmacendesde + ''' '
if datalength(ltrim(rtrim(@vchralmacenhasta))) is null or datalength(ltrim(rtrim(@vchralmacenhasta))) = 0
select @w2 = @w2 + ' '
else
select @w2 = @w2 + ' and cg.chrcodalmaini

Temas relacionados:

Botón Print Report viewer de Crystal Reports no hace nada
El equipo de desarrollo windos xp 32 bits, el equipo donde corre la aplicacion windows 7 de 64 bits. hola mi Nombre es Wilson miren tengo un problema, les cuento un poco, desrrolle mi aplicacion en windows xp y funciona perfecto en windows xp claro, la aplicacion tiene ya funcionando unos 2 años, y compraron nuevos equipos hasta hoy cada que compraban un equipo nuevo les digo que pongan windows xp correcto. pero ahora el dueño de la empresa dijo yo ya no quiero mis equipos nuevos con windows xp si no que tengan windows 7 hasta ahi bien. ...
Ayuda con acer crystal webcam 1.0.1904
Windows 7. Acer Aspire 4250 Por estarle moviendo a las propiedades de el icono de acer crystal webcam le cambie cosas de la opción \"destino\" y ahora ya no quiere abrir la camara, ayuda que puedo hacer, se puede reparar o tengo que descargar de nuevo? tengo una Acer Aspire 4250 Urge ...
Ayuda!!!!!!!!!!!!!!!! con windows server 2003
WINDOWS SERVER 2003 lo que necesito saber es si hay otra manera de compartir carpeta con un usuario .miren me explico.digamos que un administrador crea una carpeta con un archivo de texto dentro.este administrador ha creado un usuario al cual le ha dado permiso para iniciar sesión .entonces lo que el administrador quiere es que este usuario pueda ver ,modificar el archivo de texto que esta dentro de la carpeta creada cuando este inicie sesión con su cuenta.(por supuesto que esto se lograría a través de una carpeta compartida dándole permiso...
Es posible instalar terminal server 2008 en un sistema operativo server 2003
Windows 7 (6.1) 32b, Chrome 24.0 ser puede hacer o tiene que tener su mismo sistema. ...
Report del Memtest
Windos XP P IV 2 gb Hola buenos dias, necesito saber donde puedo ver el report de cuando se pasa el memtest tanto bajo windows como desde CD. Lo deje pasando y ahora necesito una prueba de uqe pasó el test bien. Gracias ...
Subir

Foros:


Foro ADSL

Foro Android

Foro Antivirus

Foro Comunidad

Foro Consolas

Foro Debate

Foro Facebook

Foro Hardware

Foro Hotmail

Foro iPad
Foro iPhone

Foro Juegos

Foro Linux

Foro Móviles

Foro Opiniones

Foro Tablet

Foro Whatsapp

Foro Windows

Foro Windows 7

Foro Windows 8
InicioSecciones
^ SubirAviso legal
Política Privacidad
Configurarequipos14 Mayo 2024