private string getPlantillas(string sPSN, string sCliente, string sNumeroPlantilla)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            #region Plantillas
            sb.Append("<table id='tblPlantillas' class='texto MA' style='width:480px;'>");
            sb.Append("    <colgroup>");
            sb.Append("        <col style='width:25px;' />");
            sb.Append("        <col style='width:65px;' />");
            sb.Append("        <col style='width:210px;' />");
            sb.Append("        <col style='width:200px;' />");
            sb.Append("        <col style='width:200px;' />");
            sb.Append("        <col style='width:200px;' />");
            sb.Append("        <col style='width:40px;' />");
            sb.Append("    </colgroup>");
            sb.Append("<tbody>");

            SqlDataReader dr = PLANTILLAORDENFAC.CatalogoADM(null, (sCliente == "") ? null : (int?)int.Parse(sCliente), (sPSN == "") ? null : (int?)int.Parse(sPSN), (sNumeroPlantilla == "") ? null : (int?)int.Parse(sNumeroPlantilla));

            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["t629_idplantillaof"].ToString() + "' ");
                sb.Append("estado='" + dr["t629_estado"].ToString() + "' ");
                sb.Append("onclick='ms(this)' ondblclick='mdPlantilla(this.id)' ");
                sb.Append("style='height:22px;' onmouseover='TTip(event)'>");
                sb.Append("<td style='padding-left: 2px;'><img src='../../../images/imgEstPlan" + dr["t629_estado"].ToString() + ".gif'></td>");
                sb.Append("<td style='text-align:right; padding-right:10px;'>" + int.Parse(dr["t629_idplantillaof"].ToString()).ToString("#,###") + "</td>");
                sb.Append("<td><nobr class='NBR W200'>" + dr["t629_denominacion"].ToString() + "</nobr></td>");
                sb.Append("<td><nobr class='NBR W190'>" + dr["t302_denominacion"].ToString() + " (" + dr["NIF"].ToString() + ")</nobr></td>");
                sb.Append("<td><nobr class='NBR W190'>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + " - " + dr["t301_denominacion"].ToString() + "</nobr></td>");
                sb.Append("<td><nobr class='NBR W190'>" + dr["Autor"].ToString() + "</nobr></td>");
                sb.Append("<td><input type='checkbox' style='vertical-align:middle;cursor:pointer;' ");
                if (dr["t629_estado"].ToString() == "B")
                {
                    sb.Append("disabled ");
                }
                sb.Append("/></td>");
                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();

            sb.Append("</tbody>");
            sb.Append("</table>");
            #endregion

            return(sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener las plantillas.", ex));
        }
    }
Beispiel #2
0
    private string delPlantilla(string sPlantillas)
    {
        string sResul = "";

        #region Abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            string[] aPlantilla = Regex.Split(sPlantillas, "///");
            foreach (string sPlantilla in aPlantilla)
            {
                if (sPlantilla == "")
                {
                    continue;
                }
                PLANTILLAORDENFAC.Delete(tr, int.Parse(sPlantilla));
            }
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al eliminar plantillas", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Beispiel #3
0
    private string crearRemesaPLOF(string sOrdenes, string sAccDoc)
    {
        string sResul = "";

        #region Abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            string[] aOrdenes = Regex.Split(sOrdenes, "///");
            foreach (string sOrden in aOrdenes)
            {
                if (sOrden == "")
                {
                    continue;
                }
                PLANTILLAORDENFAC.CrearDesdeOrden(tr, int.Parse(sOrden), (int)Session["UsuarioActual"], sAccDoc);
            }
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al crear plantillas desde órdenes", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Beispiel #4
0
    private string Grabar(string strDatosCabecera, string strDatosPosiciones)
    {
        string sResul           = "";
        bool   bErrorControlado = false;

        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion
        try
        {
            #region Datos Cabecera
            string[] aDatosCabecera = Regex.Split(strDatosCabecera, "##");
            ///aDatosCabecera[0] = ID Plantilla
            ///aDatosCabecera[1] = ID Cliente Respon.Pago
            ///aDatosCabecera[2] = ID Cliente Destinatario Fra
            ///aDatosCabecera[3] = Referencia del cliente
            ///aDatosCabecera[4] = Condición de pago
            ///aDatosCabecera[5] = Vía de pago
            ///aDatosCabecera[6] = Moneda
            ///aDatosCabecera[7] = Fecha prevista de emisión de fra
            ///aDatosCabecera[8] = // Observaciones Pool
            ///aDatosCabecera[9] = Clave de agrupación
            ///aDatosCabecera[10] = Denominación de la plantilla
            ///aDatosCabecera[11] = Comentarios
            ///aDatosCabecera[12] = Estado
            ///aDatosCabecera[13] = Responsable Comercial
            ///aDatosCabecera[14] = ID proyectosubnodo
            ///aDatosCabecera[15] = ID Organización de ventas
            ///aDatosCabecera[16] = Descuento %
            ///aDatosCabecera[17] = Descuento importe
            ///aDatosCabecera[18] = Fecha diferida
            ///aDatosCabecera[19] = ID Cliente Socilitante
            ///aDatosCabecera[20] = sIDDocuAux
            ///aDatosCabecera[21] = chkIVA

            int      nIdPlantilla      = int.Parse(aDatosCabecera[0]);
            int?     iIdCliSolicitante = (aDatosCabecera[19] == "") ? null : (int?)int.Parse(aDatosCabecera[19]);
            int?     iIdCliResPago     = (aDatosCabecera[1] == "") ? null : (int?)int.Parse(aDatosCabecera[1]);
            int?     iIdCliDesFra      = (aDatosCabecera[2] == "") ? null : (int?)int.Parse(aDatosCabecera[2]);
            string   sRefCli           = Utilidades.unescape(aDatosCabecera[3]);
            string   sCondPago         = aDatosCabecera[4];
            string   sViaPago          = aDatosCabecera[5];
            string   sMoneda           = aDatosCabecera[6];
            DateTime?dFechaPrevEmFra   = (aDatosCabecera[7] == "") ? null : (DateTime?)DateTime.Parse(aDatosCabecera[7]);
            string   sObservPool       = Utilidades.unescape(aDatosCabecera[8]);
            int?     iIDAgrupacion     = (aDatosCabecera[9] == "") ? null : (int?)int.Parse(aDatosCabecera[9]);
            string   sDenominacion     = Utilidades.unescape(aDatosCabecera[10]);
            string   sComentarios      = Utilidades.unescape(aDatosCabecera[11]);
            string   sEstado           = aDatosCabecera[12];
            //int iIdRespComercial = int.Parse(aDatosCabecera[13]);
            int?    nPSN             = (aDatosCabecera[14] == "") ? null : (int?)int.Parse(aDatosCabecera[14]);
            string  sOVSAP           = aDatosCabecera[15];
            float   nDtoPorc         = (aDatosCabecera[16] == "") ? 0 : float.Parse(aDatosCabecera[16]);
            decimal nDtoImporte      = (aDatosCabecera[17] == "") ? 0 : decimal.Parse(aDatosCabecera[17]);
            string  sObservPlantilla = Utilidades.unescape(aDatosCabecera[18]);
            bool    bIVAIncluido     = (aDatosCabecera[21] == "1") ? true : false;
            string  sTextoCabecera   = Utilidades.unescape(aDatosCabecera[22]);

            if (nIdPlantilla == 0)
            {
                nIdPlantilla = PLANTILLAORDENFAC.Insert(tr,
                                                        sDenominacion,
                                                        sEstado,
                                                        (int)Session["UsuarioActual"],
                                                        nPSN,
                                                        iIdCliSolicitante,
                                                        iIdCliResPago,
                                                        iIdCliDesFra,
                                                        sCondPago,
                                                        sViaPago,
                                                        sRefCli,
                                                        dFechaPrevEmFra,
                                                        sMoneda,
                                                        iIDAgrupacion,
                                                        sObservPool,
                                                        sComentarios,
                                                        sOVSAP,
                                                        nDtoPorc,
                                                        nDtoImporte,
                                                        bIVAIncluido,
                                                        sObservPlantilla,
                                                        aDatosCabecera[20],
                                                        sTextoCabecera);
            }
            else //update
            {
                if (sEstado == "T")
                {
                    ///Estas tres comprobaciones no se pueden realizar bajo la transacción
                    ///existente porque acceden a SAP y no podemos realizar transacciones distribuidas.
                    if (iIdCliSolicitante != null && CLIENTE.EstaBloqueadoSAP(null, (int)iIdCliSolicitante))
                    {
                        bErrorControlado = true;
                        throw (new Exception("El cliente solicitante está bloqueado en SAP."));
                    }
                    if (iIdCliResPago != null && CLIENTE.EstaBloqueadoSAP(null, (int)iIdCliResPago))
                    {
                        bErrorControlado = true;
                        throw (new Exception("El cliente responsable de pago está bloqueado en SAP."));
                    }
                    if (iIdCliDesFra != null && CLIENTE.EstaBloqueadoSAP(null, (int)iIdCliDesFra))
                    {
                        bErrorControlado = true;
                        throw (new Exception("El cliente destinatario de factura está bloqueado en SAP."));
                    }
                }

                PLANTILLAORDENFAC.Update(tr,
                                         nIdPlantilla,
                                         sDenominacion,
                                         sEstado,
                                         //(int)Session["UsuarioActual"],
                                         nPSN,
                                         iIdCliSolicitante,
                                         iIdCliResPago,
                                         iIdCliDesFra,
                                         sCondPago,
                                         sViaPago,
                                         sRefCli,
                                         dFechaPrevEmFra,
                                         sMoneda,
                                         iIDAgrupacion,
                                         sObservPool,
                                         sComentarios,
                                         sOVSAP,
                                         nDtoPorc,
                                         nDtoImporte,
                                         bIVAIncluido,
                                         sObservPlantilla, sTextoCabecera);
            }

            #endregion

            #region Datos Posiciones
            string[] aPosiciones = Regex.Split(strDatosPosiciones, "///");
            foreach (string oPosicion in aPosiciones)
            {
                if (oPosicion == "")
                {
                    continue;
                }
                string[] aDatosPosicion = Regex.Split(oPosicion, "##");
                ///aDatosPosicion[0] = opción BD
                ///aDatosPosicion[1] = ID Posición de la plantilla
                ///aDatosPosicion[2] = Concepto de la posición
                ///aDatosPosicion[3] = Descripción de la posición
                ///aDatosPosicion[4] = Unidades
                ///aDatosPosicion[5] = Precio
                ///aDatosPosicion[6] = Descuento %
                ///aDatosPosicion[7] = Descuento importe

                switch (aDatosPosicion[0])
                {
                case "I":
                    int nIDPosicion = PLANTILLAPOSICIONFAC.Insert(tr,
                                                                  nIdPlantilla,
                                                                  Utilidades.unescape(aDatosPosicion[2]),
                                                                  Utilidades.unescape(aDatosPosicion[3]),
                                                                  float.Parse(aDatosPosicion[4]),
                                                                  decimal.Parse(aDatosPosicion[5]),
                                                                  (aDatosPosicion[6] == "") ? 0 : float.Parse(aDatosPosicion[6]),
                                                                  (aDatosPosicion[7] == "") ? 0 : decimal.Parse(aDatosPosicion[7])
                                                                  );
                    break;

                case "U":
                    PLANTILLAPOSICIONFAC.Update(tr,
                                                nIdPlantilla,
                                                int.Parse(aDatosPosicion[1]),
                                                Utilidades.unescape(aDatosPosicion[2]),
                                                Utilidades.unescape(aDatosPosicion[3]),
                                                float.Parse(aDatosPosicion[4]),
                                                decimal.Parse(aDatosPosicion[5]),
                                                (aDatosPosicion[6] == "") ? 0 : float.Parse(aDatosPosicion[6]),
                                                (aDatosPosicion[7] == "") ? 0 : decimal.Parse(aDatosPosicion[7])
                                                );
                    break;

                case "D":
                    PLANTILLAPOSICIONFAC.Delete(tr,
                                                nIdPlantilla,
                                                int.Parse(aDatosPosicion[1])
                                                );
                    break;
                }
            }
            #endregion


            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@" + nIdPlantilla.ToString("#,###");
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);

            if (!bErrorControlado)
            {
                sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos de la orden", ex);
            }
            else
            {
                sResul = "Error@#@Operación rechazada.\n\n" + ex.Message;
            }
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Beispiel #5
0
    private void CargarDatosPlantilla()
    {
        //// Leer Plantilla
        PLANTILLAORDENFAC oPlantilla = PLANTILLAORDENFAC.Select(null, nIdPlantilla);

        txtDenominacion.Text = oPlantilla.t629_denominacion;

        if (oPlantilla.t629_estado == "B")
        {
            rdbEstado.Items[0].Selected = true;
        }
        else
        {
            rdbEstado.Items[1].Selected = true;
        }

        hdnT305IdProy.Text = oPlantilla.t305_idproyectosubnodo.ToString();
        txtNumPE.Text      = (oPlantilla.t301_idproyecto.HasValue) ? ((int)oPlantilla.t301_idproyecto).ToString("#,###") : "";
        txtDesPE.Text      = oPlantilla.t301_denominacion;

        if (oPlantilla.t305_idproyectosubnodo.HasValue && oPlantilla.t302_idcliente_respago.HasValue)
        {
            cboViaPago.DataValueField = "ID";
            cboViaPago.DataTextField  = "DENOMINACION";
            //string sCodExtCliEmpProy = SUPER.DAL.PROYECTOSUBNODO.GetCodigoExternoClienteProyecto(int.Parse(Request.QueryString["sT305IdProy"].ToString()));
            string sCodExtCliEmpProy = SUPER.DAL.PROYECTOSUBNODO.GetCodigoExternoClienteProyecto((int)oPlantilla.t305_idproyectosubnodo);
            //cboViaPago.DataSource = VIAPAGO.Cliente(null, (int)oPlantilla.t305_idproyectosubnodo, (int)oPlantilla.t302_idcliente_respago);
            cboViaPago.DataSource = VIAPAGO.Cliente(null, sCodExtCliEmpProy, (int)oPlantilla.t302_idcliente_respago);
            cboViaPago.DataBind();
            if (cboViaPago.Items.Count != 1)
            {
                cboViaPago.Items.Insert(0, new ListItem("", "0"));
                cboViaPago.SelectedValue = "0";
            }
        }

        hdnIdCliSolicitante.Text = oPlantilla.t302_idcliente_solici.ToString();
        ////txtNIFCliSolicitante.Text = oORDENFAC.NifSolicitante;
        ////txtDesCliSolicitante.Text = oORDENFAC.t302_denominacion_solici;

        hdnIdCliPago.Text      = oPlantilla.t302_idcliente_respago.ToString();
        txtNIFCliPago.Text     = oPlantilla.NifRespPago;
        txtDesCliRespPago.Text = oPlantilla.t302_denominacion_respago;

        hdnIdCliDestFac.Text      = oPlantilla.t302_idcliente_destfact.ToString();
        txtNIFCliDestFac.Text     = oPlantilla.NifDestFra;
        txtDesClienteDestFac.Text = oPlantilla.t302_denominacion_destfact;
        cldDireccion.InnerHtml    = oPlantilla.direccion;

        //hdnIdRespComercial.Text = oORDENFAC.t314_idusuario_respcomercial.ToString();
        //txtRespCom.Text = oORDENFAC.RespComercial;

        //txtEstado.Text = oORDENFAC.des_estado;
        txtRefCli.Text = oPlantilla.t629_refcliente;

        cboCondPago.SelectedValue = oPlantilla.t629_condicionpago.ToString().Trim();
        cboViaPago.SelectedValue  = oPlantilla.t629_viapago.ToString();
        cboMoneda.SelectedValue   = oPlantilla.t629_moneda.ToString();
        cboOV.SelectedValue       = oPlantilla.t621_idovsap;


        //string sToolTip = "";
        //sToolTip = "cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[";

        //sToolTip += "<label style='width:100px;'>Creada</label>" + oORDENFAC.t610_fcreacion.ToString().Substring(0, oORDENFAC.t610_fcreacion.ToString().Length - 3) + "<br>";
        //if (oORDENFAC.t610_ftramitada.HasValue)
        //    sToolTip += "<label style='width:100px;'>Tramitada</label>" + ((DateTime)oORDENFAC.t610_ftramitada).ToString().Substring(0, oORDENFAC.t610_ftramitada.ToString().Length - 3) + "<br>";
        //if (oORDENFAC.t610_fenviada.HasValue)
        //    sToolTip += "<label style='width:100px;'>Enviada</label>" + ((DateTime)oORDENFAC.t610_fenviada).ToString().Substring(0, oORDENFAC.t610_fenviada.ToString().Length - 3) + "<br>";
        ////if (oORDENFAC.t610_ftraspasada.HasValue)
        ////    sToolTip += "<label style='width:100px;'>Tramitada</label>" + ((DateTime)oORDENFAC.t610_ftraspasada).ToString() + "<br>";
        //if (oORDENFAC.t610_frecogida.HasValue)
        //    sToolTip += "<label style='width:100px;'>Recogida</label>" + ((DateTime)oORDENFAC.t610_frecogida).ToString().Substring(0, oORDENFAC.t610_frecogida.ToString().Length - 3) + "<br>";

        //sToolTip += "] hideselects=[off]";
        //cldCronologia.Attributes.Add("title", sToolTip);

        ////txtFecCreacion.Text = oORDENFAC.t610_fcreacion.ToShortDateString();
        ////txtFecTram.Text = (oORDENFAC.t610_ftramitada.HasValue) ? ((DateTime)oORDENFAC.t610_ftramitada).ToShortDateString() : "";
        ////txtFecTras.Text = (oORDENFAC.t610_ftraspasada.HasValue) ? ((DateTime)oORDENFAC.t610_ftraspasada).ToShortDateString() : "";
        ////txtFecEnvio.Text = (oORDENFAC.t610_fenviada.HasValue) ? ((DateTime)oORDENFAC.t610_fenviada).ToShortDateString() : "";
        ////txtFecRecogida.Text = (oORDENFAC.t610_frecogida.HasValue) ? ((DateTime)oORDENFAC.t610_frecogida).ToShortDateString() : "";
        txtFecPrevEmFac.Text = (oPlantilla.t629_fprevemifact.HasValue) ? ((DateTime)oPlantilla.t629_fprevemifact).ToShortDateString() : "";
        //txtFecDiferida.Text = (oORDENFAC.t610_fdiferida.HasValue) ? ((DateTime)oORDENFAC.t610_fdiferida).ToShortDateString() : "";

        //txtDocVentSAP.Text = oORDENFAC.t610_dvsap;
        txtClaveAgru.Text = (oPlantilla.t622_idagrupacion.HasValue) ? ((int)oPlantilla.t622_idagrupacion).ToString("#,###") : "";
        txtClaveAgru.Attributes.Add("title", oPlantilla.t622_denominacion);
        txtComentarios.Text  = oPlantilla.t629_comentario;
        txtObsPool.Text      = oPlantilla.t629_observacionespool;
        txtObsPlantilla.Text = oPlantilla.t629_observacionesplan;
        txtDtoPorc.Text      = (oPlantilla.t629_dto_porcen == 0) ? "" : oPlantilla.t629_dto_porcen.ToString("N");
        txtDtoImporte.Text   = (oPlantilla.t629_dto_importe == 0) ? "" : oPlantilla.t629_dto_importe.ToString("N");
        chkIVA.Checked       = oPlantilla.t629_ivaincluido;
        this.txtCabFact.Text = oPlantilla.t629_textocabecera;
        if (oPlantilla.t302_efactur)
        {
            this.hdnEfactur.Value = "S";
        }
        else
        {
            this.hdnEfactur.Value = "N";
        }
    }
    private string Previsualizar(int t629_idplantillaof)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            decimal dSubtotal = 0;
            decimal dTotal = 0;
            string  sMoneda = "", sFechaFactura = "";

            // Leer Orden

            SqlDataReader dr = PLANTILLAORDENFAC.Previsualizar(t629_idplantillaof);
            if (dr.Read())
            {
                // Completar datos cabecera
                sMoneda = dr["t629_moneda"].ToString();
                sb.Append("<table id='tblCatalogo' align='center' style='width:920px;'>");
                sb.Append("<tr>");
                sb.Append("<td>");

                sb.Append("<table id='tblCabecera' align='left' style='width:900px;'>");
                sb.Append("<colgroup>");
                sb.Append("    <col style='width:500px;' />");
                sb.Append("    <col style='width:400px;' />");
                sb.Append("</colgroup>");

                sb.Append("<tr><td style='vertical-align:middle; padding-left:3px;'><label class='negri W70'>Su pedido: </label>" + HttpUtility.HtmlEncode(dr["t629_refcliente"].ToString()) + "</td>");
                sb.Append("<td style='text-align:right;'>");

                sb.Append("<table border='0' width='100%' cellspacing='0' cellpadding='0'>");
                sb.Append("<tr>");
                sb.Append("<td width='6' height='6' background='../../../../Images/Tabla/7.gif'></td>");
                sb.Append("<td height='6' background='../../../../Images/Tabla/8.gif'></td>");
                sb.Append("<td width='6' height='6' background='../../../../Images/Tabla/9.gif'></td>");
                sb.Append("</tr>");
                sb.Append("<tr>");
                sb.Append("<td width='6' background='../../../../Images/Tabla/4.gif'>&nbsp;</td>");
                sb.Append("<td background='../../../../Images/Tabla/5.gif' style='padding:5px'>");
                sb.Append("<!-- Inicio del contenido propio de la página -->");
                sb.Append("<center>");

                sb.Append("<table style='width:99%;text-align:left' cellpadding='2'>");
                sb.Append("<tr><td><nobr class='NBR W360' onmouseover='TTip(event)'>" + dr["t302_denominacion_destfact"].ToString() + "</nobr></td></tr>");
                sb.Append("<tr><td>" + dr["Direccion"].ToString() + "</td></tr>");
                sb.Append("<tr><td>" + dr["CodPostal"].ToString() + " " + dr["Poblacion"].ToString() + "</td></tr>");
                if (dr["t629_comentario"].ToString() != "")
                {
                    sb.Append("<tr><td>A la AA: " + dr["t629_comentario"].ToString() + "</td></tr>");
                }
                else
                {
                    sb.Append("<tr><td>&nbsp;</td></tr>");
                }
                sb.Append("</table>");

                sb.Append("</center>");
                sb.Append("<!--  Fin del contenido propio de la página -->");
                sb.Append("</td>");
                sb.Append("<td width='6' background='../../../../Images/Tabla/6.gif'>&nbsp;</td>");
                sb.Append("</tr>");
                sb.Append("<tr>");
                sb.Append("<td width='6' height='6' background='../../../../Images/Tabla/1.gif'></td>");
                sb.Append("<td height='6' background='../../../../Images/Tabla/2.gif'></td>");
                sb.Append("<td width='6' height='6' background='../../../../Images/Tabla/3.gif'></td>");
                sb.Append("</tr>");
                sb.Append("</table>");

                sb.Append("</td>");
                sb.Append("</tr>");

                if (dr["t629_fprevemifact"] != DBNull.Value)
                {
                    DateTime dtFecha = DateTime.Parse(dr["t629_fprevemifact"].ToString());
                    string   mes     = dtFecha.Month.ToString();
                    string   dia     = dtFecha.Day.ToString();
                    if (dia.Length == 1)
                    {
                        dia = "0" + dia;
                    }
                    if (mes.Length == 1)
                    {
                        mes = "0" + mes;
                    }
                    sFechaFactura = dia + "." + mes + "." + dtFecha.Year.ToString();
                }
                sb.Append("<tr><td colspan='2'><br>");
                sb.Append(" <table cellpadding='5px' width='100%' align='center'>");
                sb.Append("     <tr>");
                sb.Append("     <td width='15%' class='bordeltb' style='vertical-align:top;'><label class='negri'>N.I.F. cliente</label></br>" + dr["NifDestFra"].ToString() + "</td>");
                sb.Append("     <td width='15%' class='bordeltb' style='vertical-align:top;'><label class='negri'>Fecha factura</label></br>" + sFechaFactura + "</td>");
                sb.Append("     <td width='15%' class='bordeltb' style='vertical-align:top;'><label class='negri'>Código cliente</label></br>" + dr["t302_codigoexterno"].ToString() + "</td>");
                sb.Append("     <td width='55%' class='bordes' style='vertical-align:top;'><label class='negri'>Forma de pago</label></br>" + dr["denominacion_condicionpago"].ToString() + "</td>");
                sb.Append("     </tr>");
                sb.Append(" </table>");
                sb.Append(" </td>");
                sb.Append("</tr>");
                sb.Append("</table>");

                sb.Append(" </td>");
                sb.Append("</tr>");
                sb.Append("<tr>");
                sb.Append("<td><br>");

                sb.Append("<table class='texto' style='width:900px;' cellpadding='5px'>");
                sb.Append("<colgroup>");
                sb.Append("    <col style='width:570px;' />");
                sb.Append("    <col style='width:70px;' />");
                sb.Append("    <col style='width:130px;' />");
                sb.Append("    <col style='width:130px;' />");
                sb.Append("</colgroup>");

                sb.Append("<tr>");
                sb.Append("<td class='bordeltb2' style='padding-left:3px;'><label class='negri'>Concepto</label></td>");
                sb.Append("<td class='bordeltb2' align='right'><label class='negri'>Cantidad</label></td>");
                sb.Append("<td class='bordeltb2' align='right'><label class='negri'>Precio</label></td>");
                sb.Append("<td class='bordes2'   align='right' style='padding-right:28px;'><label class='negri'>Importe</label></br></td>");
                sb.Append("</tr>");
                sb.Append("</table>");

                float   ft629_dto_porcen  = float.Parse(dr["t629_dto_porcen"].ToString());
                decimal dt629_dto_importe = decimal.Parse(dr["t629_dto_importe"].ToString());


                decimal dImporte       = 0;
                string  strTexto       = "";
                string  sIdProyecto    = int.Parse(dr["t301_idproyecto"].ToString()).ToString("###,###");
                string  sTextoCabecera = dr["t629_textocabecera"].ToString();
                sTextoCabecera = sTextoCabecera.Replace(((char)13).ToString() + ((char)10).ToString(), "<br>").Replace((char)34, (char)39);

                sb.Append("<div id='divCatalogo' style='overflow: auto; overflow-x: hidden; width: 917px; height: 350px;'>");
                sb.Append("<table style='width:900px;' cellpadding='5px'>");
                sb.Append("<colgroup>");
                sb.Append("    <col style='width:570px;' />");
                sb.Append("    <col style='width:70px;' />");
                sb.Append("    <col style='width:130px;' />");
                sb.Append("    <col style='width:130px;' />");
                sb.Append("</colgroup>");

                sb.Append("<tr><td style='padding-left:3px;border-left: #5894ae 1px solid;border-right: #5894ae 1px solid;'>Nuestra referencia: " + sIdProyecto + "</td><td style='text-align:right;vertical-align: bottom;border-right: #5894ae 1px solid;'></td><td style='text-align:right;vertical-align: bottom;border-right: #5894ae 1px solid;'></td><td style='text-align:right;vertical-align:bottom;padding-right:28px;border-right: #5894ae 1px solid;'></td></tr>");
                if (sTextoCabecera != "")
                {
                    sb.Append("<tr style='word-wrap: break-word;'><td style='padding-left:3px;border-left: #5894ae 1px solid;border-right: #5894ae 1px solid;'>" + sTextoCabecera + "</td><td style='text-align:right;vertical-align: bottom;border-right: #5894ae 1px solid;'></td><td style='border-right: #5894ae 1px solid;'></td><td style='border-right: #5894ae 1px solid;text-align:right;vertical-align:bottom;padding-right:28px;'></td></tr>");
                }

                // Completar datos de detalle

                dr = PLANTILLAPOSICIONFAC.CatalogoByPlantilla(null, t629_idplantillaof);

                int i = 0;
                while (dr.Read())
                {
                    sb.Append("<tr>");
                    strTexto = (string)dr["t630_descripcion"]; // SUSTITUIMOS RETORNO DE CARRO Y COMILLA DOBLE X COMILLA SIMPLE
                    strTexto = strTexto.Replace(((char)13).ToString() + ((char)10).ToString(), "<br>").Replace((char)34, (char)39);
                    //strTexto = strTexto.Replace(((char)10).ToString(), "<br>").Replace((char)34, (char)39);

                    sb.Append("<td style='padding-left:3px;border-left: #5894ae 1px solid;border-right: #5894ae 1px solid;'>" + strTexto + "</td>");
                    sb.Append("<td style='text-align:right;vertical-align:bottom;border-right: #5894ae 1px solid;'>" + float.Parse(dr["t630_unidades"].ToString()).ToString("N") + "</td>");

                    sb.Append("<td style='text-align:right;vertical-align:bottom;border-right: #5894ae 1px solid;");
                    if (decimal.Parse(dr["t630_preciounitario"].ToString()) < 0)
                    {
                        sb.Append(" color:red;");
                    }
                    sb.Append("'>" + decimal.Parse(dr["t630_preciounitario"].ToString()).ToString("N"));

                    sb.Append("</td>");

                    sb.Append("<td style='text-align:right;vertical-align:bottom;padding-right:28px;border-right: #5894ae 1px solid;'");
                    if (decimal.Parse(dr["importe_sin_dto"].ToString()) < 0)
                    {
                        sb.Append(" color:red;");
                    }
                    sb.Append("'>" + decimal.Parse(dr["importe_sin_dto"].ToString()).ToString("N"));

                    sb.Append("</td>");
                    sb.Append("</tr>");

                    dSubtotal += decimal.Parse(dr["importe_sin_dto"].ToString());
                    dImporte   = 0;

                    if ((float)dr["t630_dto_porcen"] > 0)
                    {
                        sb.Append("<tr style='height:26px'>");
                        sb.Append("<td style='text-align:right; vertical-align:top; border-left: #5894ae 1px solid;border-right: #5894ae 1px solid;'><span style='position:relative;top:-10px'>Descuento (" + float.Parse(dr["t630_dto_porcen"].ToString()).ToString("N") + " %)</span>");
                        sb.Append("</td>");
                        sb.Append("<td style='border-right: #5894ae 1px solid;'>");
                        sb.Append("</td>");

                        sb.Append("<td style='vertical-align:top; text-align:right; border-right: #5894ae 1px solid;");
                        if (decimal.Parse(dr["importe_porcen"].ToString()) < 0)
                        {
                            sb.Append(" color:red;");
                        }
                        sb.Append("'><span style='position:relative;top:-10px'>" + decimal.Parse(dr["importe_porcen"].ToString()).ToString("N"));

                        sb.Append("</span></td>");
                        dImporte = decimal.Parse(dr["importe_porcen"].ToString()) * (-1);

                        sb.Append("<td style='vertical-align:top; text-align:right; padding-right:28px;border-right: #5894ae 1px solid;");
                        if (dImporte < 0)
                        {
                            sb.Append(" color:red;");
                        }
                        sb.Append("'><span style='position:relative;top:-10px'>" + dImporte.ToString("N"));

                        sb.Append("</span></td>");
                        sb.Append("</tr>");
                    }

                    if ((decimal)dr["t630_dto_importe"] > 0)
                    {
                        sb.Append("<tr style='height:25px'>");
                        sb.Append("<td style='vertical-align:top; text-align:right; border-left: #5894ae 1px solid;border-right: #5894ae 1px solid;'><span style='position:relative;top:-10px'>Descuento");
                        sb.Append("</span></td>");
                        sb.Append("<td style='vertical-align:top; border-right: #5894ae 1px solid;'>");
                        sb.Append("</td>");

                        sb.Append("<td style='vertical-align:top; text-align:right; border-right: #5894ae 1px solid;");
                        if (decimal.Parse(dr["t630_dto_importe"].ToString()) < 0)
                        {
                            sb.Append(" color:red");
                        }
                        sb.Append("'><span style='position:relative;top:-10px'>" + decimal.Parse(dr["t630_dto_importe"].ToString()).ToString("N"));

                        sb.Append("</span></td>");
                        dImporte = decimal.Parse(dr["t630_dto_importe"].ToString()) * (-1);

                        sb.Append("<td style='vertical-align:top; text-align:right; padding-right:28px;border-right: #5894ae 1px solid;");
                        if (dImporte < 0)
                        {
                            sb.Append(" color:red;");
                        }
                        sb.Append("'><span style='position:relative;top:-10px'>" + dImporte.ToString("N"));

                        sb.Append("</span></td>");
                        sb.Append("</tr>");
                        i++;
                    }
                    dSubtotal += dImporte;
                }
                while (i < 16)
                {
                    sb.Append("<tr><td style='border-left: #5894ae 1px solid;border-right: #5894ae 1px solid;'>&nbsp;</td><td style='border-right: #5894ae 1px solid;'></td><td style='border-right: #5894ae 1px solid;'></td><td style='border-right: #5894ae 1px solid;'></td></tr>");
                    i++;
                }

                sb.Append("</table>");
                sb.Append("</DIV>");

                dTotal = dSubtotal;

                sb.Append("<table style='width:900px;' cellpadding='0px'>");
                sb.Append("<colgroup>");
                sb.Append("    <col style='width:570px;' />");
                sb.Append("    <col style='width:70px;' />");
                sb.Append("    <col style='width:130px;' />");
                sb.Append("    <col style='width:130px;' />");
                sb.Append("</colgroup>");

                // Cerrar cuerpo

                sb.Append("<tr>");
                sb.Append("<td style='padding-left:3px;' class='bordet'>");
                sb.Append("</td>");
                sb.Append("<td style='text-align:right;' class='bordet'>");
                sb.Append("</td>");
                sb.Append("<td style='text-align:right;' class='bordet'>");
                sb.Append("</td>");
                sb.Append("<td style='text-align:right;' class='bordet'>");
                sb.Append("</td>");
                sb.Append("</tr>");

                // Subtotal

                sb.Append("<tr>");
                sb.Append("<td style='padding-left:3px;padding-top:5px;' >");
                sb.Append("</td>");
                sb.Append("<td style='text-align:right;padding-top:5px;'>");
                sb.Append("</td>");
                sb.Append("<td style='text-align:right;padding-top:5px;' class='bordelr' ><label class='negri'>Subtotal</label>");
                sb.Append("</td>");
                sb.Append("<td style='text-align:right;padding-right:28px;padding-top:5px;' class='bordelr'");
                if (dSubtotal < 0)
                {
                    sb.Append("color:red");
                }
                sb.Append("'>" + dSubtotal.ToString("N"));
                sb.Append("</td>");
                sb.Append("</tr>");

                // Descuento en porcentaje

                if (ft629_dto_porcen > 0)
                {
                    sb.Append("<tr>");
                    sb.Append("<td style='padding-left:3px;padding-top:5px;'>");
                    sb.Append("</td>");
                    sb.Append("<td style='text-align:right;padding-top:5px;'>");
                    sb.Append("</td>");
                    sb.Append("<td style='text-align:right;padding-top:5px;' class='bordelr' ><label class='negri'>Descuento (" + ft629_dto_porcen.ToString("N") + " %)</label>");
                    sb.Append("</td>");

                    decimal dDto = (dSubtotal * decimal.Parse(ft629_dto_porcen.ToString()) / 100) * -1;
                    sb.Append("<td class='bordelr' style='text-align:right;padding-right:28px;padding-top:5px;");
                    if (dDto < 0)
                    {
                        sb.Append("color:red");
                    }
                    sb.Append("'>" + dDto.ToString("N"));
                    sb.Append("</td>");
                    sb.Append("</tr>");
                    dTotal = dTotal + dDto;
                }

                // Descuento en importe

                if (dt629_dto_importe > 0)
                {
                    sb.Append("<tr>");
                    sb.Append("<td style='padding-left:3px;padding-top:5px;'>");
                    sb.Append("</td>");
                    sb.Append("<td style='text-align:right;padding-top:5px;'>");
                    sb.Append("</td>");
                    sb.Append("<td style='text-align:right;padding-top:5px;' class='bordelr' ><label class='negri'>Descuento</label>");
                    sb.Append("</td>");
                    decimal dDto = (dt629_dto_importe * -1);
                    sb.Append("<td class='bordelr' style='text-align:right;padding-right:28px;padding-top:5px;");
                    if (dDto < 0)
                    {
                        sb.Append("color:red");
                    }
                    sb.Append("'>" + dDto.ToString("N"));
                    sb.Append("</td>");
                    sb.Append("</tr>");
                    dTotal = dTotal + dDto;
                }

                // Total
                sb.Append("<tr>");
                sb.Append("<td style='padding-left:3px;padding-top:5px;padding-bottom:5px;'>");
                sb.Append("</td>");
                sb.Append("<td style='text-align:right;padding-top:5px;padding-bottom:5px;'>");
                sb.Append("</td>");
                sb.Append("<td style='text-align:right;padding-top:5px;padding-bottom:5px;' class='bordelrb'><label class='negri'>Total</label>");
                sb.Append("</td>");
                sb.Append("<td class='bordelrb' style='text-align:right;padding-right:5px;padding-top:5px;padding-bottom:5px;'><label ");
                if (dTotal < 0)
                {
                    sb.Append(" style='color:red'");
                }
                sb.Append(">" + dTotal.ToString("N") + "</label> " + sMoneda);
                sb.Append("</td>");
                sb.Append("</tr>");

                sb.Append(" </td>");
                sb.Append("</tr>");
                sb.Append("</table>");
            }
            else
            {
                sErrores = "No se han obtenido los datos de la plantilla de orden de facturación nº: " + t629_idplantillaof.ToString("#,###") + ".";
                return("Error@#@" + sErrores);
            }
            dr.Close();
            dr.Dispose();

            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener las posiciones de una plantilla de orden de facturación.", ex));
        }
    }
Beispiel #7
0
    private string getPlantillasPrivadas(string sPSN, string sCliente)
    {
        StringBuilder sb = new StringBuilder();

        #region Plantillas Privadas
        sb.Append("<table id='tblPlantillasPrivadas' class='texto MAM' style='width:480px;'>");
        sb.Append("    <colgroup>");
        sb.Append("        <col style='width:20px;' />");
        sb.Append("        <col style='width:120px;' />");
        sb.Append("        <col style='width:120px;' />");
        sb.Append("        <col style='width:120px;' />");
        sb.Append("        <col style='width:60px;' />");
        sb.Append("        <col style='width:40px;' />");
        sb.Append("    </colgroup>");
        sb.Append("<tbody>");

        SqlDataReader dr = PLANTILLAORDENFAC.CatalogoPrivadas(null, (int)Session["UsuarioActual"], (sCliente == "") ? null : (int?)int.Parse(sCliente), (sPSN == "") ? null : (int?)int.Parse(sPSN));

        while (dr.Read())
        {
            sb.Append("<tr id='" + dr["t629_idplantillaof"].ToString() + "' ");
            //    sb.Append("bd='' ");
            sb.Append("estado='" + dr["t629_estado"].ToString() + "' ");
            //    sb.Append("valign='top' ");
            sb.Append("onclick='ms(this)' ondblclick='mdPlantilla(this.id)' ");
            if (dr["t629_estado"].ToString() == "P")
            {
                sb.Append("onmousedown='DD(event);' ");
            }
            else
            {
                sb.Append("class='MA' ");
            }
            sb.Append("style='height:22px;' onmouseover='TTip(event)'>");
            sb.Append("<td style='padding-left: 2px;'><img src='../../../../images/imgEstPlan" + dr["t629_estado"].ToString() + ".gif'></td>");
            sb.Append("<td style='padding-left: 2px;'><nobr class='NBR W110'>" + dr["t629_denominacion"].ToString() + "</nobr></td>");
            sb.Append("<td><nobr class='NBR W110'>" + dr["t302_denominacion"].ToString() + " (" + dr["NIF"].ToString() + ")</nobr></td>");
            if (dr["t301_idproyecto"] != DBNull.Value)
            {
                sb.Append("<td><nobr class='NBR W110'>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + " - " + dr["t301_denominacion"].ToString() + "</nobr></td>");
            }
            else
            {
                sb.Append("<td><nobr class='NBR W110'></nobr></td>");
            }
            sb.Append("<td><nobr class='NBR W55'>" + dr["Autor"].ToString() + "</nobr></td>");
            sb.Append("<td style='text-align:center'><input type='checkbox' style='vertical-align:middle;cursor:pointer;' ");
            if (dr["t629_estado"].ToString() == "B")
            {
                sb.Append("disabled ");
            }
            sb.Append("/></td>");
            sb.Append("</tr>");
        }
        dr.Close();
        dr.Dispose();
        sb.Append("</tbody>");
        sb.Append("</table>");

        #endregion

        return(sb.ToString());
    }
Beispiel #8
0
    private string getPlantillas(string sPSN, string sCliente)
    {
        StringBuilder sb = new StringBuilder();
        SqlDataReader dr = null;

        try
        {
            #region Plantillas Privadas
            //sb.Append("<table id='tblPlantillasPrivadas' class='texto MA' style='width:420px; table-layout:fixed;' cellSpacing='0' cellpadding='0' border='0'>");
            //sb.Append("    <colgroup>");
            //sb.Append("        <col style='width:20px;' />");
            //sb.Append("        <col style='width:100px; padding-left: 2px;' />");
            //sb.Append("        <col style='width:100px;' />");
            //sb.Append("        <col style='width:100px;' />");
            //sb.Append("        <col style='width:60px;' />");
            //sb.Append("        <col style='width:40px; text-align:center' />");
            //sb.Append("    </colgroup>");
            //sb.Append("<tbody>");

            //dr = PLANTILLAORDENFAC.CatalogoPrivadas(null, (int)Session["UsuarioActual"], (sCliente == "") ? null : (int?)int.Parse(sCliente), (sPSN == "") ? null : (int?)int.Parse(sPSN));

            //while (dr.Read())
            //{
            //    sb.Append("<tr id='" + dr["t629_idplantillaof"].ToString() + "' ");
            ////    sb.Append("bd='' ");
            //    sb.Append("estado='" + dr["t629_estado"].ToString() + "' ");
            ////    sb.Append("valign='top' ");
            //    sb.Append("onclick='msse(this)' ondblclick='mdPlantilla(this.id)' ");
            //    if (dr["t629_estado"].ToString() == "P")
            //        sb.Append("onmousedown='DD(event);' ");
            //    sb.Append("style='height:20px;'>");
            //    sb.Append("<td><img src='../../../../images/imgEstPlan" + dr["t629_estado"].ToString() + ".gif'></td>");
            //    sb.Append("<td><nobr class='NBR W90'>" + dr["t629_denominacion"].ToString() + "</nobr></td>");
            //    sb.Append("<td><nobr class='NBR W90'>" + dr["NIF"].ToString() + "</nobr></td>");
            //    sb.Append("<td><nobr class='NBR W90'>" + dr["t301_idproyecto"].ToString() + "</nobr></td>");
            //    sb.Append("<td><nobr class='NBR W55'>" + dr["Autor"].ToString() + "</nobr></td>");
            //    sb.Append("<td><input type='checkbox' style='vertical-align:middle;cursor:pointer;' ");
            //    if (dr["t629_estado"].ToString() =="B")
            //        sb.Append("disabled ");
            //    sb.Append("/></td>");
            //    sb.Append("</tr>");
            //}
            //dr.Close();
            ////dr.Dispose();
            //sb.Append("</tbody>");
            //sb.Append("</table>");
            #endregion
            sb.Append(getPlantillasPrivadas(sPSN, sCliente));
            sb.Append("|@|@|");
            #region Plantillas Proyectos
            sb.Append("<table id='tblPlantillasProyectos' class='texto MM' style='width:480px;'>");
            sb.Append("    <colgroup>");
            sb.Append("        <col style='width:20px;' />");
            sb.Append("        <col style='width:120px;' />");
            sb.Append("        <col style='width:120px;' />");
            sb.Append("        <col style='width:120px;' />");
            sb.Append("        <col style='width:60px;' />");
            sb.Append("        <col style='width:40px;' />");
            sb.Append("    </colgroup>");
            sb.Append("<tbody>");

            dr = PLANTILLAORDENFAC.CatalogoProyectos(null, (int)Session["UsuarioActual"], (sCliente == "") ? null : (int?)int.Parse(sCliente), (sPSN == "") ? null : (int?)int.Parse(sPSN));

            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["t629_idplantillaof"].ToString() + "' ");
                //    sb.Append("bd='' ");
                sb.Append("estado='" + dr["t629_estado"].ToString() + "' ");
                //    sb.Append("valign='top' ");
                sb.Append("onclick='ms(this)' ");
                if (dr["t629_estado"].ToString() == "P")
                {
                    sb.Append("onmousedown='DD(event);' ");
                }
                sb.Append("style='height:22px;' onmouseover='TTip(event)'>");
                sb.Append("<td style='padding-left: 2px;'><img src='../../../../images/imgEstPlan" + dr["t629_estado"].ToString() + ".gif'></td>");
                sb.Append("<td style='padding-left: 2px;'><nobr class='NBR W110'>" + dr["t629_denominacion"].ToString() + "</nobr></td>");
                sb.Append("<td><nobr class='NBR W110'>" + dr["t302_denominacion"].ToString() + " (" + dr["NIF"].ToString() + ")</nobr></td>");
                sb.Append("<td><nobr class='NBR W110'>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + " - " + dr["t301_denominacion"].ToString() + "</nobr></td>");
                sb.Append("<td><nobr class='NBR W55'>" + dr["Autor"].ToString() + "</nobr></td>");
                sb.Append("<td style='text-align:center'><input type='checkbox' style='vertical-align:middle;cursor:pointer;' ");
                if (dr["t629_estado"].ToString() == "B")
                {
                    sb.Append("disabled ");
                }
                sb.Append("/></td>");
                sb.Append("</tr>");
            }
            dr.Close();
            //dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");
            #endregion
            sb.Append("|@|@|");
            #region Plantillas Favoritas
            sb.Append("<table id='tblPlantillasFavoritas' class='texto MANO' style='width:420px;' mantenimiento='1'>");
            sb.Append("    <colgroup>");
            sb.Append("        <col style='width:20px;' />");
            sb.Append("        <col style='width:100px;' />");
            sb.Append("        <col style='width:100px;' />");
            sb.Append("        <col style='width:100px;' />");
            sb.Append("        <col style='width:60px;' />");
            sb.Append("        <col style='width:40px;' />");
            sb.Append("    </colgroup>");
            sb.Append("<tbody>");

            dr = PLANTILLAORDENFAC.CatalogoFavoritas(null, (int)Session["UsuarioActual"], (sCliente == "") ? null : (int?)int.Parse(sCliente), (sPSN == "") ? null : (int?)int.Parse(sPSN));

            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["t629_idplantillaof"].ToString() + "' ");
                sb.Append("bd='' ");
                sb.Append("estado='" + dr["t629_estado"].ToString() + "' ");
                //sb.Append("onmousedown='DD(event);' ");
                sb.Append("onclick='ms(this)' ");
                sb.Append("style='height:22px;' onmouseover='TTip(event)'>");
                sb.Append("<td style='padding-left: 2px;'><img src='../../../../images/imgEstPlan" + dr["t629_estado"].ToString() + ".gif'></td>");
                sb.Append("<td style='padding-left: 2px;'><nobr class='NBR W90'>" + dr["t629_denominacion"].ToString() + "</nobr></td>");
                sb.Append("<td><nobr class='NBR W90'>" + dr["t302_denominacion"].ToString() + " (" + dr["NIF"].ToString() + ")</nobr></td>");
                if (dr["t301_idproyecto"] != DBNull.Value)
                {
                    sb.Append("<td><nobr class='NBR W90'>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + " - " + dr["t301_denominacion"].ToString() + "</nobr></td>");
                }
                else
                {
                    sb.Append("<td><nobr class='NBR W90'></nobr></td>");
                }
                sb.Append("<td><nobr class='NBR W55'>" + dr["Autor"].ToString() + "</nobr></td>");
                sb.Append("<td style='text-align:center'><input type='checkbox' style='vertical-align:middle;cursor:pointer;' ");
                if (dr["t629_estado"].ToString() == "B")
                {
                    sb.Append("disabled ");
                }
                sb.Append("/></td>");
                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");
            #endregion

            return(sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener las plantillas.", ex));
        }
    }