domingo, 23 de diciembre de 2012

Obtener fecha de inicio y fecha de termino SQL SERVER



Hay algunos casos en la que nuestra necesidad es obtener la primera fecha del mes y la fecha final, una manera sencilla de hacer esto es de la siguiente manera

Declare @Fecha datetime = GETDATE() - 1

SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@Fecha)-1),@Fecha),105) As PrimerDiaMes

SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,@Fecha))),DATEADD(mm,1,@Fecha)),105) As UltimoDiaMes



Saludos

miércoles, 19 de diciembre de 2012

"BBDN is undefined" BusyBox

Cuando usamos el control BusyBox de manera local nos funciona perfectamente, pero cuando lo publicamos en IIS, nos suele salir este error en script "BBDN is undefined", la solucion es configurar nuestro control de la siguiente manera:


 <busyboxdotnet:BusyBox ID="BusyBox1" runat="server" CompressScripts="False"
        GZipCompression="False" Image="GreenBar"
        Text="Proceso ejecutandose, espere un momento" Title="Espere por favor"
        ShowBusyBox="Custom" IncludeScriptsInPage="True" />



De esta manera no tendriamos problemas....

Saludos

viernes, 7 de diciembre de 2012

GROUP BY LINQ TO OBJECT II

Buenas , en esta ocasion veremos otro ejemplo como realizar un group by con linq , lo realize por un requerimiento personalizado, espero les ayude,

//Pre Linq
                for (int i = 1; i < _xCadenaValoresListaPrecios.Length - 1; i++)
                {
                    _xArrayProductoUnidad = _xCadenaValoresListaPrecios[i].Split(_xCaracter[1]);
                    _xFiltroValorProductoUnidad = _xArrayProductoUnidad[0].Split(_xCaracter[0]);

                    if (filtroEscala == _xFiltroValorProductoUnidad[0])
                    {

                        oListaString.Add(_xFiltroValorProductoUnidad[1].ToString() + "|" + _xFiltroValorProductoUnidad[2].ToString());
                    }
                }

                //Realizamos un Group By con Linq
                var oLinqGroupBy = oListaString.GroupBy(item => item)
                                     .Select(group => new
                                     {
                                         group.Key,
                                         Count = group.Count()
                                     });

                #region Escala

                foreach (var oString in oLinqGroupBy)
                {

                    CatalogoProductoUnidad oCatalogoProductoUnidad = (CatalogoProductoUnidad)itemCatalogoProducto.CrearObjeto("CatalogoProductoUnidad");
                    oCatalogoProductoUnidad.PrecioPorActualizar = true;
                    string[] _xArrayValoresUnidad;

                    _xArrayValoresUnidad = oString.Key.Split('|');

                    if (_xArrayValoresUnidad[1].Equals("1")) _xArrayValoresUnidad[1] = "true";
                    if (_xArrayValoresUnidad[1].Equals("0")) _xArrayValoresUnidad[1] = "false";

                    oCatalogoProductoUnidad.ProductoUnidad = (ProductoUnidad)XMLHelper.CargarxCampoUnico("ProductoUnidad", "Abreviacion", _xArrayValoresUnidad[0].ToString());
                    oCatalogoProductoUnidad.UnidadPorDefectoEnVenta = Convert.ToBoolean(_xArrayValoresUnidad[1]);


                    string[] _xArrayListaPrecios;
                    string[] _xFiltroValor;

                    for (int j = 1; j < _xCadenaValoresListaPrecios.Length - 1; j++)
                    {
                        CatalogoProductoEscala oCatalogoProductoEscala = (CatalogoProductoEscala)oCatalogoProductoUnidad.CrearObjeto("CatalogoProductoEscala");

                        _xArrayListaPrecios = _xCadenaValoresListaPrecios[j].Split(_xCaracter[1]);
                        _xFiltroValor = _xArrayListaPrecios[0].Split(_xCaracter[0]);

                        //Si encuentra productos iguales obtiene sus escalas
                        if (filtroEscala == _xFiltroValor[0] && _xFiltroValor[1] == _xArrayValoresUnidad[0].ToString())
                        {
                            oCatalogoProductoEscala.Desde = Convert.ToInt32(_xFiltroValor[3]); //Desde
                            oCatalogoProductoEscala.Hasta = Convert.ToInt32(_xFiltroValor[4]); //Hasta
                            oCatalogoProductoEscala.PrecioConImpuesto = Convert.ToDecimal(_xFiltroValor[5]); //PrecioConImpuesto
                            oCatalogoProductoEscala.PrecioSinImpuesto = Convert.ToDecimal(_xFiltroValor[6]); //PrecioSinImpuesto
                            oCatalogoProductoEscala.MargenGanancia = Convert.ToDecimal(_xFiltroValor[7]); //MargenGanancia
                            oCatalogoProductoEscala.PorcentajeMargenGanancia = Convert.ToDecimal(_xFiltroValor[8]); //PorcentajeMargenGanancia
                            oCatalogoProductoEscala.PorcentajeDescuentoA = Convert.ToDecimal(_xFiltroValor[9]); //PorcentajeDescuentoA
                            oCatalogoProductoEscala.PorcentajeDescuentoB = Convert.ToDecimal(_xFiltroValor[10]); //PorcentajeDescuentoB
                            oCatalogoProductoEscala.MontoDescuentoA = Convert.ToDecimal(_xFiltroValor[11]); //MontoDescuentoA
                            oCatalogoProductoEscala.MontoDescuentoB = Convert.ToDecimal(_xFiltroValor[12]); //MontoDescuentoB
                            oCatalogoProductoEscala.PrecioEspecialConImpuesto = Convert.ToDecimal(_xFiltroValor[13]); //PrecioEspecialConImpuesto
                            oCatalogoProductoEscala.CostoProducto = oCatalogoProductoEscala.CatalogoProductoUnidad.CatalogoProducto.ProductoServicio.CostoPromedio;
                            oCatalogoProductoUnidad.CatalogoProductoEscala.Agregar(oCatalogoProductoEscala);
                        }                      
                    }

                    //itemCatalogoProducto.CatalogoProductoUnidad.Agregar(oCatalogoProductoUnidad, oCatalogoProductoUnidad.ProductoUnidad.ID);

                    itemCatalogoProducto.CatalogoProductoUnidad.Agregar(oCatalogoProductoUnidad);

                    //}
               


Saludos


martes, 4 de diciembre de 2012

DOS UNIQUE EN UNA SOLA TABLE


EN ESTA OCASION VAMOS A CREAR DOS UNIQUE PARA UNA TABLA,

ALTER TABLE Ventas.CatalogoProducto
ADD CONSTRAINT UQ_CatalogoProducto_Double UNIQUE( IDListaCatalogoProductos, IDProductoServicio)

Saludos

jueves, 29 de noviembre de 2012

"Error en tiempo de ejecución de Microsoft JScript: 'BBDN' no está definido" busyboxdotnet

Cuando trabajamos con el control busyboxdotnet, se nos puede presentar el diguiente error :

"Error en tiempo de ejecución de Microsoft JScript: 'BBDN' no está definido" , este error se puede solucionar configurando el control de la siguiente manera:

<busyboxdotnet:BusyBox ID="BusyBox1" runat="server" CompressScripts="False"
        GZipCompression="False" Image="GreenBar"
        Text="Proceso ejecutandose, espere un momento" Title="Espere por favor" />


Saludos

lunes, 26 de noviembre de 2012

OBTENER LOS ESQUEMAS DE UNA BASE DE DATOS MS SQL SERVER

HAY OCASIONES EN LA QUE DESEAMOS OBTENER LOS ESQUEMAS DE NUESTRA BASE DE DATOS, CON ESTA SIMPLE CONSULTA OBTENEMOS LOS ESQUEMAS DE NUESTRA BASE DE DATOS:

SELECT DISTINCT TABLE_SCHEMA FROM Information_Schema.COLUMNS


NOS VEMOS

sábado, 27 de octubre de 2012

Error :Tiempo de espera AsyncPostBackTimeout


 Cuando tenemos consultas que requerir de por los menos 5 minutos y estamos trabajando con controles AJAX, nos suele salir un error de tiempo de espera,esto se debe a que ASP, por defecto lo maneja en 90 segundos , debemos de cambiarlo explicitamente para que tenga mas tiempo, lo realizamos de la siguiente manera


<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="800" ScriptMode="Release">
    </asp:ScriptManager>




Saludos