miércoles, 24 de octubre de 2018

Columna Acumulador - SQL Transact


SELECT         AsientoContableDetalle.IDAsientoContable,
 AsientoContable.FechaContabilizacion,
 AsientoContable.IDOrigen ,
 AsientoContableDetalle.CodigoCuentaContable ,
 AsientoContableDetalle.CuentaContable  , 
 AsientoContableDetalle.Glosa,
 AsientoContableDetalle.Debe ,
 AsientoContableDetalle.Haber ,
 AsientoContableDetalle.DebeMN ,
 AsientoContableDetalle.HaberMN ,
 AsientoContableDetalle.DebeME ,
 AsientoContableDetalle.HaberME ,
 isnull(Cp.id,0)IDComprobante ,
 pagina.Descripcion pagina ,
 Cp.NumeroDocumentoLegal  ,



  (     
  select   
     
  Sum(       
 
/* CASE ComprobanteB.EntradaInventario
when 1 then       
((UnidadB.Factor *B.Factor )* B.CantidadComprobanteDetalle)         
when 0 then       
 ((UnidadB.Factor *B.Factor )* (B.CantidadComprobanteDetalle)*-1 )       
end*/

(AsientoContableDetalleB.Debe -  AsientoContableDetalleB.Haber)

)   
     

FROM            CONTABILIDAD.AsientoContableDetalle AsientoContableDetalleB INNER JOIN
                         CONTABILIDAD.AsientoContable AsientoContableB ON AsientoContableDetalleB.IDAsientoContable =
AsientoContableB.ID
 left join MAESTROS.COMPROBANTE CpB on CpB.ID = AsientoContableB.IDOrigen 
 left join MAESTROS.MAE_TIPODOCUMENTO TDB on TDB.tipDoc_nCodigoTipoDocumento = CpB.tipDoc_nCodigoTipoDocumento
 left join Seguridad.view_pagina_listar paginaB on PaginaB.ID = TDB.IDPaginaAsociada
         
 left join Maestro.Estado EstadoB on EstadoB.ID =  AsientoContableB.IDEstado
   
  where AsientoContableDetalleB.CodigoCuentaContable = AsientoContableDetalle.CodigoCuentaContable 
             and AsientoContableDetalleB.ID <= AsientoContableDetalle.ID   
AND EstadoB.Anulado= 0
-- Order by AsientoContableB.FechaContabilizacion asc
     
    ) SaldoAculumado


 
FROM            CONTABILIDAD.AsientoContableDetalle AsientoContableDetalle INNER JOIN
                         CONTABILIDAD.AsientoContable ON AsientoContableDetalle.IDAsientoContable = CONTABILIDAD.AsientoContable.ID
 left join MAESTROS.COMPROBANTE Cp on Cp.ID = CONTABILIDAD.AsientoContable.IDOrigen 
 left join MAESTROS.MAE_TIPODOCUMENTO TD on TD.tipDoc_nCodigoTipoDocumento = Cp.tipDoc_nCodigoTipoDocumento
 left join Seguridad.view_pagina_listar pagina on Pagina.ID = TD.IDPaginaAsociada
 left join Maestro.Estado Estado on Estado.ID =  AsientoContable.IDEstado

 where
 AsientoContableDetalle.CodigoCuentaContable = @CodigoCuenta and
 Estado.Anulado= 0
  Order by CONTABILIDAD.AsientoContable.FechaContabilizacion asc

INCLUIR VALORES CONCATENADOS GRIDVIEW

             



 <asp:TemplateField HeaderText="NumeroDocumento">
       

        <HeaderStyle Font-Size="Smaller" /><ItemTemplate>
           
            <input id="btnVerDetalleCodigoAlterno"                 
                onclick='<%# @" fn_MostrarDocumentoOrigen(""" +  Eval("ID").ToString() + " | " + Eval("Pagina").ToString() + @""");"   %>'
               
                src="Images/Enviar.gif" style="width: 18px; height: 18px;" type="image" /><asp:TextBox ID="txtCodigoAlterno" runat="server" Enabled="false" onfocus="this.select();"
                Text='<%# Eval("NumeroDocumento")%>'
                ToolTip='<%# Eval("NumeroDocumento")%>'
                Width="60%">
                                                </asp:TextBox></ItemTemplate><ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="32%" /></asp:TemplateField>

miércoles, 17 de octubre de 2018

asp.net timeout expired al invocar Store procedure

Estuve mas de 2 dias viendo este extraño mensaje de error que me salia, esta demas decir que probe agregandole tiempo al SQLCommand, modificando web config y demas, entonces se me vino el foco darle un recompile a mi store procedure, y esto si me funciono, si nada de funciona y te sigue saliendo el mensaje de timeout expired, muy probablemente esta sea la solucion.


EXEC sp_recompile 'proc_name'


Slds

miércoles, 12 de septiembre de 2018

Listado de tabla ANSI

chr(33) = !chr(34) = “chr(35) = #chr(36) = $chr(37) = %chr(38) = &
chr(39) = ‘chr(40) = (chr(41) = )chr(42) = *chr(43) = +chr(44) = ,
chr(45) = –chr(46) = .chr(47) = /chr(48) = 0chr(49) = 1chr(50) = 2
chr(51) = 3chr(52) = 4chr(53) = 5chr(54) = 6chr(55) = 7chr(56) = 8
chr(57) = 9chr(58) = :chr(59) = ;chr(60) = <chr(61) = =chr(62) = >
chr(63) = ?chr(64) = @chr(65) = Achr(66) = Bchr(67) = Cchr(68) = D
chr(69) = Echr(70) = Fchr(71) = Gchr(72) = Hchr(73) = Ichr(74) = J
chr(75) = Kchr(76) = Lchr(77) = Mchr(78) = Nchr(79) = Ochr(80) = P
chr(81) = Qchr(82) = Rchr(83) = Schr(84) = Tchr(85) = Uchr(86) = V
chr(87) = Wchr(88) = Xchr(89) = Ychr(90) = Zchr(91) = [chr(92) = \
chr(93) = ]chr(94) = ^chr(95) = _chr(96) = `chr(97) = achr(98) = b
chr(99) = cchr(100) = dchr(101) = echr(102) = fchr(103) = gchr(104) = h
chr(105) = ichr(106) = jchr(107) = kchr(108) = lchr(109) = mchr(110) = n
chr(111) = ochr(112) = pchr(113) = qchr(114) = rchr(115) = schr(116) = t
chr(117) = uchr(118) = vchr(119) = wchr(120) = xchr(121) = ychr(122) = z
chr(123) = {chr(124) = |chr(125) = }chr(126) = ~chr(127) = chr(128) = €
chr(129) =�chr(130) = ‚chr(131) = ƒchr(132) = „chr(133) = …chr(134) = †
chr(135) = ‡chr(136) = ˆchr(137) = ‰chr(138) = Šchr(139) = ‹chr(140) = Œ
chr(141) = �chr(142) = Žchr(143) = �chr(144) = �chr(145) = ‘chr(146) = ’
chr(147) = “chr(148) = ”chr(149) = •chr(150) = –chr(151) = —chr(152) = ˜
chr(153) = ™chr(154) = šchr(155) = ›chr(156) = œchr(157) = �chr(158) = ž
chr(159) = Ÿchr(160) =chr(161) = ¡chr(162) = ¢chr(163) = £chr(164) = ¤
chr(165) = ¥chr(166) = ¦chr(167) = §chr(168) = ¨chr(169) = ©chr(170) = ª
chr(171) = «chr(172) = ¬chr(173) = ­­chr(174) = ®chr(175) = ¯chr(176) = °
chr(177) = ±chr(178) = ²chr(179) = ³chr(180) = ´chr(181) = µchr(182) = ¶
chr(183) = ·chr(184) = ¸chr(185) = ¹chr(186) = ºchr(187) = »chr(188) = ¼
chr(189) = ½chr(190) = ¾chr(191) = ¿chr(192) = Àchr(193) = Áchr(194) = Â
chr(195) = Ãchr(196) = Ächr(197) = Åchr(198) = Æchr(199) = Çchr(200) = È
chr(201) = Échr(202) = Êchr(203) = Ëchr(204) = Ìchr(205) = Íchr(206) = Î
chr(207) = Ïchr(208) = Ðchr(209) = Ñchr(210) = Òchr(211) = Óchr(212) = Ô
chr(213) = Õchr(214) = Öchr(215) = ×chr(216) = Øchr(217) = Ùchr(218) = Ú
chr(219) = Ûchr(220) = Üchr(221) = Ýchr(222) = Þchr(223) = ßchr(224) = à
chr(225) = áchr(226) = âchr(227) = ãchr(228) = ächr(229) = åchr(230) = æ
chr(231) = çchr(232) = èchr(233) = échr(234) = êchr(235) = ëchr(236) = ì
chr(237) = íchr(238) = îchr(239) = ïchr(240) = ðchr(241) = ñchr(242) = ò
chr(243) = óchr(244) = ôchr(245) = õchr(246) = öchr(247) = ÷chr(248) = ø
chr(249) = ùchr(250) = úchr(251) = ûchr(252) = üchr(253) = ýchr(254) = þ

lunes, 3 de septiembre de 2018

Se ha detectado una configuración de ASP.NET que no se aplica en el modo de canalización gestionada integrada. o An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.

Cuando tengamos este problema

An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.

o
Se ha detectado una configuración de ASP.NET que no se aplica en el modo de canalización gestionada integrada. 


Agregamos en el web.config lo siguiente.

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
  </system.webServer>



</system.net>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
  </system.webServer>
</configuration>

jueves, 23 de agosto de 2018

Generar ultimos dias de fecha por periodo SQL

 alter proc Pa_ConsistenciaCuotaMantenimiento_Generar --5219, '01/01/2019' , '01/01/2019'
 @IDSocioNegocio int =5219   ,
 @FechaEmisionInicio datetime     ,
 @FechaEmisionFinal datetime   

 as

 declare @IDListaPrecio  int = 0
 declare @IDMoneda  int = 0

select  @IDListaPrecio   =  isnull(IDListaPrecio,0) from MAESTROS.MAE_CLIENTES WHERE CLI_NCODIGOCLIENTE = @IDSocioNegocio

select  @IDMoneda = isnull(IDMoneda,0)  FROM ventas.vent_listaprecioscabecera where listPrecios_nCodigoListaPrecios = @IDListaPrecio 

declare @IDProducto int = 0

select @IDProducto = isnull(pro_nCodigoProducto,0) from produccion.pro_productos where cuotamantenimiento = 1


declare @Importe decimal(18,6) = 0

SELECT  @Importe  = isnull(listPreciosDet_nPreciosListaPrecios,0) FROM Ventas.vent_listapreciosdetalle where listPrecios_nCodigoListaPrecios = @IDListaPrecio   and pro_nCodigoProducto = @IDProducto

select  @Importe  , @IDProducto  ,  @IDMoneda  , @IDListaPrecio 
 
declare @Fechas table
(
 FechaEmisionInicio  datetime    ,
 FechaEmisionFinal  datetime 
)

-- insert into @Fechas values(@FechaEmisionInicio ,  @FechaEmisionFinal)
 

--select * from [MAESTROS].[Anio] where cast( codigo as int)  between year(@FechaEmisionInicio) and year(@FechaEmisionFinal )

 declare @ini datetime = @FechaEmisionInicio
declare @fin datetime = @FechaEmisionFinal

 declare @begdate as datetime
declare @enddate as datetime
declare @diff as int

declare @T_Fecha Table
(
Periodo varchar(10),
Annio int  ,
Mes int  ,
Fecha datetime ,
Importe decimal(18,6) ,
Feriado bit
)

set @begdate = (select cast( @ini as datetime)  )
set @enddate = (select cast(@fin as datetime)  )
set @diff = datediff(day, @begdate ,@enddate)

declare @FechaFinal datetime 

while (@begdate <= @enddate) --insertar el registro hasta que fecha inicio y fin sean iguales
begin


SELECT @FechaFinal =CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,@begdate))),DATEADD(mm,1,@begdate)),103) 

--select  cast ( @begdate as date ) Fecha1,cast( @FechaFinal as date) Fecha2

if( cast ( @begdate as date ) = cast( @FechaFinal as date) )
begin
     insert into @T_Fecha  values( ( cast( year(@begdate) as varchar)+ '-' + RIGHT( '00' + cast( month(@begdate) AS varchar), 2)  ) ,
year(@begdate),
month(@begdate),  @begdate, @Importe, 0)
end


  --insert into Calendario values( ( cast( year(@begdate) as varchar)+ '-' + RIGHT( '00' + cast( month(@begdate) AS varchar), 2)  ) , year(@begdate), month(@begdate),  @begdate , 0)
 set @begdate = dateadd(day,1,@begdate) --vamos incrementando los días
end


select * from @T_Fecha