private void BindGrid(int currentPage) { try { IGuiaPasajeACtaCte solicitud = GuiaPasajeACtaCteFactory.GetGuiaPasajeACtaCte(); AdministrarGrillas.Configurar(dtgPasaje, "GuiaPasajeACtaCteID", CantidadOpciones, true, false); dtgPasaje.CurrentPageIndex = currentPage; if (busqCliente.RazonSocial != "") { solicitud.ClienteIDNuevo = Utiles.Validaciones.obtieneEntero(busqCliente.ClienteID); } else { solicitud.ClienteIDNuevo = 0; } solicitud.AgenciaID = usuario.AgenciaID; //la agencia conectada DateTime fDesde, fHasta; fDesde = txtFechaDesde.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(txtFechaDesde.Text) : new DateTime(1901, 01, 01); fHasta = txtFechaHasta.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(txtFechaHasta.Text) : new DateTime(2900, 01, 01); dtgPasaje.DataSource = solicitud.GetPasajesPendientes(chSinImprimir.Checked, fDesde, fHasta); dtgPasaje.DataBind(); //Session["DsSolicitudRetiro"] = dtgPasaje.DataSource; } catch (Exception ex) { ((SisPacK.ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message); } }
private void CargarDatosCliente() { // Cargo los datos del destinatario, que son los datos que inicialmente se van a utilizar para cargar la factura IAdministrarClientes datosDest = AdministrarClientesFactory.GetAdministrarClientes(); IDatosDomicilio DomicilioDestinatario = (IDatosDomicilio)DatosDestinatario.FindControl("Domicilio" + DatosDestinatario.ID); DsDatosGenerarFactura dsDatosGenFactura; // Reviso si hay datos de facturas en memoria if (Session[NombreClaveObjSession] != null) { dsDatosGenFactura = (DsDatosGenerarFactura)Session[NombreClaveObjSession]; } else { dsDatosGenFactura = new DsDatosGenerarFactura(); } // Reviso si ya se ingresaron los datos para el remito DsDatosGenerarFactura.DatosRow datosFacCargados; if (Validaciones.obtieneEntero(dsDatosGenFactura.Datos.Compute("count(guiaid)", "GuiaID = " + GuiaID.ToString()).ToString()) > 0) { // Ya se ingresaron los datos para el remito. recupero los datos ingresados y los cargo datosFacCargados = (DsDatosGenerarFactura.DatosRow)dsDatosGenFactura.Datos.Select("GuiaID = " + GuiaID.ToString())[0]; // Cargo los datos del destinatario DatosDestinatario.ClienteID = datosFacCargados.IsClienteIDNull()? 0 : Convert.ToInt32(datosFacCargados.ClienteID); DatosDestinatario.EsClienteCorporativo = datosFacCargados.TipoDeCliente == (int)NegociosSisPackInterface.SisPack.TipoCliente.Corporativo ? true : false; DatosDestinatario.Nombre = datosFacCargados.IsNombreNull()? "" : datosFacCargados.Nombre; DatosDestinatario.Apellido = datosFacCargados.IsApellidoNull()?"":datosFacCargados.Apellido; DatosDestinatario.TipoDoc = datosFacCargados.IsTipoDocumentoNull() ? NegociosSisPackInterface.SisPack.TipoDocumento.Ninguno : (NegociosSisPackInterface.SisPack.TipoDocumento)datosFacCargados.TipoDocumento; DatosDestinatario.ClienteNumero = datosFacCargados.IsNumeroClienteNull() ? "" : datosFacCargados.NumeroCliente.ToString(); DatosDestinatario.NroCuit = datosFacCargados.IsCUITNull()? "" : datosFacCargados.CUIT.Trim(); DatosDestinatario.CondicionIVA = datosFacCargados.IsCondicionIVAIDNull() ? NegociosSisPackInterface.SisPack.CondicionIva.ConsumidorFinal : (NegociosSisPackInterface.SisPack.CondicionIva)datosFacCargados.CondicionIVAID; int DomicilioID = datosFacCargados.IsDomicilioIDNull()?0:datosFacCargados.DomicilioID; if (datosFacCargados.IsDomicilioIDNull() == false) { DomicilioDestinatario.DomicilioID = datosFacCargados.DomicilioID; } DomicilioDestinatario.Calle = datosFacCargados.IsCalleNull()?"" : datosFacCargados.Calle; DomicilioDestinatario.CalleNro = datosFacCargados.IsCalleNroNull()?"" : datosFacCargados.CalleNro.ToString(); DomicilioDestinatario.Depto = datosFacCargados.IsDepartamentoNull()? "" :datosFacCargados.Departamento; DomicilioDestinatario.Fax = datosFacCargados.IsFaxNull()?"": datosFacCargados.Fax; DomicilioDestinatario.Telefono = datosFacCargados.IsTelefonoNull()?"": datosFacCargados.Telefono; if (!datosFacCargados.IsLocalidadIDNull()) { DomicilioDestinatario.LocalidadID = datosFacCargados.LocalidadID; ILocalidad localidad = LocalidadFactory.GetLocalidad(); localidad.LocalidadID = datosFacCargados.LocalidadID; localidad.Consultar(); DomicilioDestinatario.ProvinciaID = localidad.Provincia.ProvinciaID; } this.txtEsPasajeACtaCte.Text = datosFacCargados.IsEsPasajeACtaCteNull()? "0": (datosFacCargados.EsPasajeACtaCte ?"1":"0"); } else { // No se han ingresado los datos para el remito DsClientesGuia dsDest; /* VSA: Controlar si el remito original se pasó a cuenta corriente -> Imprimir un nuevo remito no factura. */ IGuiaPasajeACtaCte oDatos = GuiaPasajeACtaCteFactory.GetGuiaPasajeACtaCte(); oDatos.GuiaID = GuiaID; oDatos.Consultar(); if (oDatos.ClienteIDNuevo != 0 && oDatos.ClienteIDAnt == 0) { /* Imprimir remito a cliente corporativo */ this.txtEsPasajeACtaCte.Text = oDatos.ClienteIDNuevo.ToString(); dsDest = datosDest.GetDestinatarioByClienteID(Convert.ToInt32(oDatos.ClienteIDNuevo.ToString())); } else { this.txtEsPasajeACtaCte.Text = "0"; // Obtengo los datos del destinatario y reviso si se encontraron dsDest = datosDest.GetDestinatarioByGuiaID(GuiaID); } if (dsDest == null || dsDest.Datos.Rows.Count == 0) { // Los datos no se encontraron. Salgo del procedimiento return; } DsClientesGuia.DatosRow drDest = (DsClientesGuia.DatosRow)dsDest.Datos.Rows[0]; if (drDest == null) { return; } // Cargo los datos del destinatario DatosDestinatario.ClienteID = drDest.IsClienteIDNull()? 0 : Convert.ToInt32(drDest.ClienteID); DatosDestinatario.EsClienteCorporativo = drDest.TipoCliente; DatosDestinatario.Nombre = drDest.IsNombreNull()? "" : drDest.Nombre; DatosDestinatario.Apellido = drDest.IsApellidoNull()?"":drDest.Apellido; DatosDestinatario.TipoDoc = drDest.IsTipoDocNull() ? NegociosSisPackInterface.SisPack.TipoDocumento.Ninguno : (NegociosSisPackInterface.SisPack.TipoDocumento)drDest.TipoDoc; DatosDestinatario.ClienteNumero = drDest.IsCodigoNull()? "" : drDest.Codigo.ToString(); DatosDestinatario.NroCuit = drDest.IsNroCUITNull()? "" : drDest.NroCUIT.Trim(); DatosDestinatario.CondicionIVA = drDest.IsCondicionIvaIDNull() ? NegociosSisPackInterface.SisPack.CondicionIva.ConsumidorFinal : (NegociosSisPackInterface.SisPack.CondicionIva)drDest.CondicionIvaID; int DomicilioID = drDest.IsDomicilioIDNull()?0:drDest.DomicilioID; DomicilioDestinatario.DomicilioID = drDest.IsDomicilioRetiroEntregaNull() ? DomicilioID : drDest.DomicilioRetiroEntrega; DomicilioDestinatario.Calle = drDest.IsCalleNull()?"" : drDest.Calle; DomicilioDestinatario.CalleNro = drDest.IsCalleNroNull()?"" : drDest.CalleNro.ToString(); DomicilioDestinatario.Depto = drDest.IsDeptoNull()? "" :drDest.Depto; DomicilioDestinatario.Fax = drDest.IsFaxNull()?"": drDest.Fax; DomicilioDestinatario.Telefono = drDest.IsTelefonoNull()?"": drDest.Telefono; if (!drDest.IsProvinciaIDNull()) { DomicilioDestinatario.ProvinciaID = drDest.ProvinciaID; } if (!drDest.IsLocalidadIDNull()) { DomicilioDestinatario.LocalidadID = drDest.LocalidadID; } } // Reviso si el destinatario es un cliente registrado if (DatosDestinatario.ClienteID != 0) { // Es un cliente registrado. Bloqueo los contoles para que no se pueda modificar los datos sin hacer click en el boton limpiar bool esPasaje = (this.txtEsPasajeACtaCte.Text.Equals("0") || this.txtEsPasajeACtaCte.Text.Equals("")) ? false : true; DatosDestinatario.BloquearCtrsCuandoSeleccionaClienteEventual = false; StringBuilder scriptBloquear = new StringBuilder(); scriptBloquear.Append("<Script>"); scriptBloquear.Append("try {"); scriptBloquear.Append("DeshabilitarCtrlDatos" + DatosDestinatario.ClientID + "();"); if (esPasaje) { scriptBloquear.Append("DeshabilitarModDatos" + DatosDestinatario.ClientID + "();"); } scriptBloquear.Append("}"); scriptBloquear.Append("catch (ex) { }"); scriptBloquear.Append("</script>"); Page.RegisterStartupScript("ScriptBloquearControlesCliente", scriptBloquear.ToString()); } }
private string ExportarPDF(DsFacturaImpresion dsFac) { ReportDocument oRD = new ReportDocument(); ExportOptions oExO; DiskFileDestinationOptions oExDo = new DiskFileDestinationOptions(); IGuiaPasajeACtaCte oDatos = GuiaPasajeACtaCteFactory.GetGuiaPasajeACtaCte(); string nombrePDf = string.Empty; foreach (DsFacturaImpresion.DatosRow drFac in dsFac.Datos.Rows) { try { int GuiaID = Utiles.Validaciones.obtieneEntero(Session["GuiaID"].ToString()); nombrePDf = "NotaAutDebACtaCte_" + GuiaID + "_" + this.AgenciaConectadaID + ".pdf"; string sNombrePDF = Server.MapPath(".") + "/ReportesPDF/" + nombrePDf; if (System.IO.File.Exists(sNombrePDF)) { System.IO.File.Delete(sNombrePDF); } //Cargar plantilla oRD.Load(Server.MapPath("." + "/Reportes/NotaAutDebACtaCte.rpt")); DsGuiaFacturaImpresion ds = (DsGuiaFacturaImpresion)Session["DatosGuia"]; DsGuiaFacturaImpresion.DatosRow drComp = (DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]; oRD.SetParameterValue("ClienteNombre", drFac.IsNombreEmpresaDestinatarioNull() ? (drFac.IsNombrePersonaDestinatarioNull() ? "" : drFac.NombrePersonaDestinatario) : drFac.NombreEmpresaDestinatario); oRD.SetParameterValue("ClienteCodigo", drFac.IsCodigoDestinatarioNull() ? "0" : drFac.CodigoDestinatario); oRD.SetParameterValue("NroGuia", drFac.NroSucursalGuia.ToString() + "-" + drFac.NroGuia.ToString()); oRD.SetParameterValue("ImporteGuia", drFac.IsImporteTotalNull() ? "0.00" : drFac.ImporteTotal.ToString()); /* VSA: Obtener los datos del pasaje para emitir la autorización. */ oDatos.GuiaID = GuiaID; oDatos.Consultar(); oRD.SetParameterValue("PersonaSolicitante", oDatos.PersonaSolicitante); oRD.SetParameterValue("Observaciones", oDatos.Observaciones.Equals("") ? "-" : oDatos.Observaciones); //Exportar a PDF oExDo.DiskFileName = sNombrePDF; oExO = oRD.ExportOptions; oExO.ExportDestinationType = ExportDestinationType.DiskFile; oExO.ExportFormatType = ExportFormatType.PortableDocFormat; oExO.DestinationOptions = oExDo; oRD.Export(); oRD.Close(); oRD.Dispose(); return(nombrePDf); } catch (Exception ex) { string mensaje = "Error al generar la nota para autorizar el débito a la cuenta corriente del cliente. " + ex.Message; ((SisPacK.ErrorWeb) this.phErrores.Controls[0]).setMensaje(mensaje); return(""); } finally { oRD.Close(); oRD.Dispose(); } } return(""); }
private void dtgSolicitudRetiro_ItemCommand_1(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { if (e.CommandName == "Imprimir") { try { Session["GuiaPasajeACtaCteID"] = e.Item.Cells[0].Text; Session["GuiaID"] = e.Item.Cells[1].Text; //controlar que no haya sido ya impresa //if (true) //{ #region ImpresionDeComprobantes // Reviso si se registro una factura por un remito IFactura factura = FacturaFactory.GetFactura(); factura.GuiaID = Utiles.Validaciones.obtieneEntero(e.Item.Cells[1].Text); factura.ClasificacionFacturaID = (int)NegociosSisPackInterface.SisPack.ClasificacionFactura.Remito; DsFactura ds = factura.ObtenerFacturaDeRemitoByGuiaID(); if (ds.Datos.Rows.Count > 0) { factura.FacturaID = (int)ds.Datos.Rows[0]["FacturaID"]; } // Reviso si se genero la factura if (factura.FacturaID != 0) { // Si se genero //VSA: Session["DatosGuia"] = ToDsGuiaFacturaImpresion(factura.GetFacturaImpresionByGuiaID()); Session["DatosGuia"] = ToDsGuiaFacturaImpresion(factura.GetFacturaImpresionByFacturaID()); // Seteo la página con la cual se va a imprimir la factura IAgencia agOrigen = AgenciaFactory.GetAgencia(); //agOrigen.AgenciaID = AgenciaConectadaID; IGuia guia = GuiaFactory.GetGuia(); guia.GuiaID = Utiles.Validaciones.obtieneEntero(e.Item.Cells[1].Text); guia.Consultar(); agOrigen.AgenciaID = guia.AgenciaDestinoID; agOrigen.ConsultarBasico(); string pagina = ObtienePaginaImpresion(agOrigen.TipoImpresionGuiaId); agOrigen = null; /* VSA: Controlar si el remito original se pasó a cuenta corriente -> Imprimir un nuevo remito no factura. */ string nombreListado = ExportarPDF(factura.GetFacturaImpresionByFacturaID()); factura = null; // Cargo el script para imprimir el nuevo remito y la nota que se le entregará al cliente string script = "<script language='javascript'>\n"; script += " window.showModalDialog('"+ pagina + "','Imprimiendo Remito...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');"; if (nombreListado != "") { script += "window.open('VerPlanilla.aspx?id=" + nombreListado + "', '', 'width=0,height=0,status=no,scrollbars=yes,resizable=yes');\n"; } script += " </script>\n"; ClientScript.RegisterStartupScript(GetType(), "scriptImprimirNuevoRemito", script); } #endregion /*Actualizar la autorizacion como impresa.*/ IGuiaPasajeACtaCte pasaje = GuiaPasajeACtaCteFactory.GetGuiaPasajeACtaCte(); pasaje.GuiaPasajeACtaCteID = Utiles.Validaciones.obtieneEntero(Session["GuiaPasajeACtaCteID"].ToString()); pasaje.GuardarPasajeImpreso(); BindGrid(0); //} //else //{ // throw new Exception("El pasaje ya ha sido impreso."); //} } catch (Exception ex) { ((SisPacK.ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message); } } }