jueves, 25 de octubre de 2012

Denegado el acceso al archivo del informe. Es posible que esté abierto en otro programa.

¿Les a parecido este mensaje  una vez publicado su proyecto web en el servidor IIS "Denegado el acceso al archivo del informe. Es posible que esté abierto en otro programa."?

     Para corregir este detalle necesitamos darlos los permisos de escritura sobre la carpeta Temp, que es donde se crea este archivo por default antes de mostrarse en nuestra pagina, y la carpeta se encuentra en C:\Windows\, solo basta con darle los permisos al usuario de IIS_IUSRS.

Saludos cordiales!

miércoles, 24 de octubre de 2012

Crear reporte con Sap Crystal Reports



El día de hoy les traigo la forma de crear un reporte con Sap Crystal Reports desde c#, que es una muy buena herramienta con los controles mejorados y muy vistosos. Pero vallamos al grano como siempre.
Desde nuestro Visual Studio en nuestro proyecto previamente creado, agregamos un nuevo archivo de tipo de datos, el cual será nuestro DataSet, el cual contendrá la estructura de nuestra tabla de BD que vamos a utilizar. Una vez abierto el diseñador agregamos una TablaAdapter con el clic derecho de nuestro mouse o desde el cuadro de herramientas (Imagen 1), una vez agregada la TablaAdapter, procedemos a configurar nuestra conexión a BD, o bien seleccionamos la que se esté utilizando en el proyecto.


Imagen 1.

viernes, 19 de octubre de 2012

Abrir un archivo (Excel, Word, PDF, Etc.) desde aspx


Les traigo otro código para asp.net, que es como poder abrir un archivo desde c# .net, básicamente es abrir, por que anteriormente con el IE6 lo mostraba en la misma pagina como la hace Google con cierto archivos, ahora en las nuevas versiones de IE7 en adelante  lo da como descarga de archivo.
Vamos a nuestro cometido.
Para poder realizar este proceso, es necesario contar con la ruta del archivo y las siguientes referencias a nuestro proyecto:

Abrir ventana emergente con javascript y ajax desde c#


     Anteriormente publique un articulo llamado Abrir popup con JavaScript donde se abre el popup utilizando javascript, con la función ya incrustada desde el lado del cliente. Existen otras formas de poder realizar esto, una es escribir el código directo en una variable y ejecutarlo con un response.write desde nuestra pagina aspx.cs o aspx.vb, dependiendo del lenguaje.
Pues bien ahora les traigo otra forma de lograrlo, dentro de una pagina que tiene controles Ajax, si han utilizado Ajax en sus paginas web, habrán notado que no se lleva muy bien con los scripts de javascript. Para ello existe una solución de realizar el cometido.
Una pagina que utiliza Ajax, necesita de un ScriptManager, esto nos impide ejecutar los códigos de Ajax, y si lo hacemos desde un response.write, se ejecuta la acción pero la pagina se desconfigura. Para ello existe la siguiente solución.
Dentro de la clase ScriptManager, viene un método llamado RegisterClientScriptBlock, con el cual podemos ejecutar nuestro window.open.
String Clientscript = "window.open(‘pagina.aspx')";
ScriptManager.RegisterClientScriptBlock(this, this.GetType(),"newWindow", Clientscript, true);


Como podrán darse cuenta si han ejecutado un response.write con la función de abrir una ventana lleva antes del window.open la instrucción de que es script
 <script type="text/javascript"><script>, en este caso ya no lo lleva, ya que se especifica en el RegisterClientScriptBlock que es una nueva ventana con el texto "newWindow".
Con este sencillo comando se ejecuta nuestro script y no habrá problema con la pagina de que se llegue a cuatrapear.

Otra forma de abrir una nueva ventana, sin necesidad de utilizar el response.write y la página no tiene Ajax es con el ClientScript

String Clientscript = "<script>window.open('pagina.aspx"')</script>";
Me.ClientScript.RegisterStartupScript(this.GetType(), "WOpen", Clientscript,  true);

Se podrán dar cuenta que es similar pero aquí se ejecuta dentro del cliente, y es el mismo efecto, no afecta para nada la pagina, como lo aria un response.write y la instrucción es diferente al abrir la ventana en vez de "newWindow" ahora es "WOpen"


Sin mas por el momento espero les halla sigo util, ya saben si tienen dudas o comentarios no duden en publicarlo.


Saludos cordiales!

jueves, 18 de octubre de 2012

Crear excel desde asp, web, c#

             Después de hace tiempo sin publicar nada, por fin me llego la inspiración, mentira jeje, eh tenido algo de trabajo, y  adquiriendo nuevos conocimientos de los cuales estoy gusto a compartir con ustedes, pues bien vamos al grano.

¿Se han topado con la necesidad de crear un Excel desde web? si es así, supongo que han probado con interop la vendita herramienta que nos da Microsoft, que si bien le e utilizado en varias ocasiones en aplicaciones de escritorio mas que nada, donde no existe ningún problema, pues bien al querer hacerlo nos topamos con muchos problemas de seguridad y configuración que no nos lo permiten, bueno a mi en lo personal eh tratado de echar a andar esa herramienta en un server 2008 sin éxito.