private void butImprimir_Click(object sender, System.EventArgs e) { try { IGuia oGuia = GuiaFactory.GetGuia(); IFactura oFactura = FacturaFactory.GetFactura(); DsGuias ds = new DsGuias(); DsFactura dsFacturas = null; DsGuiaFacturaImpresion dsFacturaImpresion; IAgencia agencia = null; int tipoImpresionGuiaID = 0; int puedeReimprimir = 0; /*if(this.rbCodigo.Checked) * ds = oGuia.GetGuiasOneByCodigoBarra(this.txtCodigoBarra.Text.Trim()); */ if (this.rbCodigo.Checked) { try { oGuia.TipoGuia = NegociosSisPackInterface.SisPack.TipoGuia(this.txtCodigoBarra.Text.Substring(0, 1).Trim()).Trim(); if (oGuia.TipoGuia.Equals("")) { throw new Exception("Errores.Invalidos.CodigoBarrasLongitud"); } oGuia.NroSucursalGuia = this.txtCodigoBarra.Text.Substring(1, 4); oGuia.NroGuia = Convert.ToInt32(this.txtCodigoBarra.Text.Substring(5)); } catch (Exception) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se ha ingresado un nro. de guía correcto."); return; } } else if (this.rbTipo.Checked) { oGuia.TipoGuia = this.ddlTipoGuia.SelectedValue; oGuia.NroSucursalGuia = this.txtNroSucursal.Text.Trim().Equals("") ? "0" : this.txtNroSucursal.Text.Trim(); oGuia.NroGuia = this.txtNroGuia.Text.Trim().Equals("") ? 0 : Convert.ToInt32(this.txtNroGuia.Text.Trim()); } else { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se ha ingresado el nro. de guía ha reimprimir."); return; } ds = oGuia.GetGuiaOneDataSet(); if (ds.Datos.Count == 0) { oFactura.TipoGuia = oGuia.TipoGuia; oFactura.NroSucursalGuia = oGuia.NroSucursalGuia; oFactura.NroGuia = oGuia.NroGuia; dsFacturas = oFactura.GetByNroFactura(); } if (ds.Datos.Count > 0) { DsGuias.DatosRow dr = (DsGuias.DatosRow)ds.Datos.Rows[0]; this.txtGuiaID.Text = dr.GuiaID.ToString(); puedeReimprimir = oGuia.VerificarReImpresion(dr.GuiaID, this.usuario.AgenciaID); if (puedeReimprimir == 1) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir una guia FPD en el destino."); return; } else if (puedeReimprimir == 2) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir la guia ya que no esta en la agencia."); return; } else { oGuia.RegistrarReImpresion(this.usuario.UsuarioID, this.usuario.AgenciaID, dr.GuiaID); } /* Traer datos de impresión. */ agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = dr.AgenciaOrigenID; agencia.ConsultarBasico(); dr = null; /* Traer los datos de la guía para la impresión. */ IAdministrarGuias oAdminGuia = AdministrarGuiasFactory.GetAdministrarGuias(); oAdminGuia.GuiaID = Convert.ToInt32(this.txtGuiaID.Text.Trim()); dsFacturaImpresion = oAdminGuia.GetDataSetImpresionByGuiaID(); oAdminGuia = null; // 20/12/2013. Consulto (seteo) el tipo de impresion segun la agencia y la empresa de facturacion tipoImpresionGuiaID = Convert.IsDBNull(dsFacturaImpresion.Datos[0].TipoImpresionGuiaID) ? 0 : dsFacturaImpresion.Datos[0].TipoImpresionGuiaID; Session["DatosGuia"] = dsFacturaImpresion; /*************************************************/ } else if (ds.Datos.Count == 0) { if (dsFacturas.Datos.Count > 0) { DsFactura.DatosRow drFac = (DsFactura.DatosRow)dsFacturas.Datos.Rows[0]; //this.txtGuiaID.Text = drFac.GuiaID.ToString(); /* Traer datos de impresión. */ agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = drFac.AgenciaID; agencia.ConsultarBasico(); /* Traer los datos de la factura para la impresión. */ oFactura.FacturaID = drFac.FacturaID; // Reviso si se trata de una factura de concepto de facturación o de una factura que cancela un remito pendiente if (dsFacturas.Datos[0].ClasificacionFacturaID == (Int32)NegociosSisPackInterface.SisPack.ClasificacionFactura.ConceptoFacturacion) { // Se trata de una factura de concepto de facturación dsFacturaImpresion = ToDsGuiaFacturaConceptoImpresion(oFactura.GetFacturaConceptoImpresionByFacturaID()); tipoImpresionGuiaID = Convert.IsDBNull(dsFacturaImpresion.Datos[0].TipoImpresionGuiaID) ? 0 : dsFacturaImpresion.Datos[0].TipoImpresionGuiaID; Session["DatosGuia"] = dsFacturaImpresion; } else { // Se trata de una factura de un flete pago en destino, entrega o un remito de cta cte dsFacturaImpresion = ToDsGuiaFacturaImpresion(drFac.AgenciaID, oFactura.GetFacturaImpresionByFacturaID()); // 20/12/2013. Consulto (seteo) el tipo de impresion segun la agencia y la empresa de facturacion tipoImpresionGuiaID = Convert.IsDBNull(dsFacturaImpresion.Datos[0].TipoImpresionGuiaID) ? 0 : dsFacturaImpresion.Datos[0].TipoImpresionGuiaID; Session["DatosGuia"] = dsFacturaImpresion; } drFac = null; /*************************************************/ } else { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se encuentra la guía / factura ingresada."); return; } } // Se comenta la siguiente linea para el desarrollo de integracion de SisPack-Delfos. El tipo de impresion depende de la empresa y la agencia. Esto estaba al 20/12/2013 //int tipoImpresionGuiaID = Convert.IsDBNull(agencia.TipoImpresionGuiaId) ? 0 : agencia.TipoImpresionGuiaId; // Si es Unidad de Logistica, imprimir el comprobante como Autoimpresor_EnBlanco if (oGuia.TipoGuia == "X") { tipoImpresionGuiaID = (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.Autoimpresor_EnBlanco; } if (tipoImpresionGuiaID == 0) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir la guía ingresada. El tipo de impresión no está definido."); return; } if (tipoImpresionGuiaID == (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir una guía pre-impresa."); return; } string implementacion = System.Configuration.ConfigurationSettings.AppSettings["Implementacion"].ToString(); string paginaImpresion = agencia.GetPaginaImpresion(tipoImpresionGuiaID, implementacion); if (paginaImpresion.Trim().Equals("")) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir la guía ingresada. La página de impresión no está definida."); return; } agencia = null; /*****************************/ string scriptString = "<script language='javascript'>\n"; scriptString += " window.showModalDialog('"+ paginaImpresion + "?CantCopias=" + this.txtCantCopias.Text.Trim() + "','Reimprimiendo Guía...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');"; scriptString += " window.location.href = 'ReImprimirGuiaDestino.aspx';\n"; scriptString += " </script>\n"; Page.RegisterStartupScript("scriptImpresion", scriptString); oGuia = null; oFactura = null; dsFacturaImpresion = null; ds = null; dsFacturas = null; } catch (Exception ex) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message); } }
private void butBuscar_Click(object sender, System.EventArgs e) { try { DsGuias ds; DsFactura dsFactura; ds = BuscarPorTipo(); if (ds.Datos.Count == 0) { dsFactura = BuscarFacturaPorTipo(); if (dsFactura.Datos.Count > 0) { DsFactura.DatosRow drFac = (DsFactura.DatosRow)dsFactura.Datos.Rows[0]; if (drFac.AgenciaID != 0) { IAgencia agenciaOrigen = AgenciaFactory.GetAgencia(); agenciaOrigen.AgenciaID = drFac.AgenciaID; if (agenciaOrigen.Consultar()) { this.txtAgenciaOrigenID.Text = agenciaOrigen.AgenciaID.ToString(); this.txtAgenciaOrigenDescrip.Text = agenciaOrigen.RazonSocial; this.txtSucursalAgenciaOrigen.Text = agenciaOrigen.SucursalDGI; } } this.txtFacturaID.Text = drFac.FacturaID.ToString(); this.txtGuiaID.Text = drFac.GuiaID.ToString(); IGuiaFactura guiaFactura = GuiaFacturaFactory.GetGuiaFactura(); ((IGuia)guiaFactura).GuiaID = drFac.GuiaID; DsGuiasFacturas dsGuiaFactura = guiaFactura.GetGuiaFacturaOneDataSet(); if (dsGuiaFactura.Datos.Count > 0) { DsGuiasFacturas.DatosRow drGuiaFactura = (DsGuiasFacturas.DatosRow)dsGuiaFactura.Datos.Rows[0]; this.txtCantidadBultos.Text = drGuiaFactura.CantidadBultosTotal.ToString(); this.txtVolumenDeclarado.Text = drGuiaFactura.ValorDeclaradoTotal.ToString(); } } else { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La guía ingresada no existe en el sistema"); } } else { DsGuias.DatosRow[] drLista = (DsGuias.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID); DsGuias.DatosRow dr = drLista[0]; if (dr.AgenciaOrigenID != 0) { IAgencia agenciaOrigen = AgenciaFactory.GetAgencia(); agenciaOrigen.AgenciaID = dr.AgenciaOrigenID; if (agenciaOrigen.Consultar()) { this.txtAgenciaOrigenID.Text = agenciaOrigen.AgenciaID.ToString(); this.txtAgenciaOrigenDescrip.Text = agenciaOrigen.RazonSocial; this.txtSucursalAgenciaOrigen.Text = agenciaOrigen.SucursalDGI; } } if (dr.IsAgenciaDestinoIDNull()) { IPuntoRecepcion punto = PuntoRecepcionFactory.GetPuntoRecepcion(); punto.PuntoRecepcionID = dr.PuntoRecepcionID; if (punto.Consultar()) { this.lblAgenciaDestino.Text = this.TraducirTexto("Etiquetas.PuntoRecepcion"); this.txtSucursalAgenciaDestino.Text = punto.RazonSocial; this.txtAgenciaDestinoDescrip.Visible = false; } } else { IAgencia agenciaDestino = AgenciaFactory.GetAgencia(); agenciaDestino.AgenciaID = dr.AgenciaDestinoID; this.lblAgenciaDestino.Text = this.TraducirTexto("Etiquetas.AgenciaDestino"); if (agenciaDestino.Consultar()) { this.txtAgenciaDestinoID.Text = agenciaDestino.AgenciaID.ToString(); this.txtAgenciaDestinoDescrip.Text = agenciaDestino.RazonSocial; this.txtSucursalAgenciaDestino.Text = agenciaDestino.SucursalDGI; } } this.txtGuiaID.Text = dr.GuiaID.ToString(); this.txtCantidadBultos.Text = dr.CantidadBultosTotal.ToString(); this.txtVolumenDeclarado.Text = dr.ValorDeclaradoTotal.ToString(); } this.tblComprobante.Visible = true; this.butConfirmar.Enabled = true; this.BindGrilla(); this.BindGrillaComprobantes(); this.butConfirmar.Enabled = true; } catch (Exception ex) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message); } }
private void ImprimirGuia(int GuiaID, NegociosSisPackInterface.SisPack.ClasificacionGuia ClasificacionGuia) { try { IGuia oGuia = GuiaFactory.GetGuia(); IFactura oFactura = FacturaFactory.GetFactura(); DsGuias ds = new DsGuias(); DsFactura dsFacturas = null; DsGuiaFacturaImpresion dsFacturaImpresion; IAgencia agencia = null; oGuia.GuiaID = GuiaID; if (ClasificacionGuia == NegociosSisPackInterface.SisPack.ClasificacionGuia.Remito) { ds = oGuia.GetGuiaOneDataSet(); } else if (ClasificacionGuia == NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { oFactura.FacturaID = GuiaID; dsFacturas = oFactura.GetFacturaByFacturaID(GuiaID); } if (ds.Datos.Count > 0) { DsGuias.DatosRow dr = (DsGuias.DatosRow)ds.Datos.Rows[0]; /* Traer datos de impresión. */ agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = dr.AgenciaOrigenID; agencia.ConsultarBasico(); dr = null; /* Traer los datos de la guía para la impresión. */ IAdministrarGuias oAdminGuia = AdministrarGuiasFactory.GetAdministrarGuias(); oAdminGuia.GuiaID = GuiaID; dsFacturaImpresion = oAdminGuia.GetDataSetImpresionByGuiaID(); oAdminGuia = null; Session["DatosGuia"] = dsFacturaImpresion; /*************************************************/ } else if (ds.Datos.Count == 0) { if (dsFacturas.Datos.Count > 0) { DsFactura.DatosRow drFac = (DsFactura.DatosRow)dsFacturas.Datos.Rows[0]; //this.txtGuiaID.Text = drFac.GuiaID.ToString(); /* Traer datos de impresión. */ agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = drFac.AgenciaID; agencia.ConsultarBasico(); /* Traer los datos de la factura para la impresión. */ oFactura.FacturaID = drFac.FacturaID; // Reviso si se trata de una factura de concepto de facturación o de una factura que cancela un remito pendiente if (dsFacturas.Datos[0].ClasificacionFacturaID == (Int32)NegociosSisPackInterface.SisPack.ClasificacionFactura.ConceptoFacturacion) { // Se trata de una factura de concepto de facturación Session["DatosGuia"] = ToDsGuiaFacturaConceptoImpresion(oFactura.GetFacturaConceptoImpresionByFacturaID()); } else { // Se trata de una factura de un flete pago en destino, entrega o un remito de cta cte dsFacturaImpresion = ToDsGuiaFacturaImpresion(drFac.AgenciaID, oFactura.GetFacturaImpresionByFacturaID()); Session["DatosGuia"] = dsFacturaImpresion; } drFac = null; /*************************************************/ } else { return; } } int tipoImpresionGuiaID = Convert.IsDBNull(agencia.TipoImpresionGuiaId) ? 0 : agencia.TipoImpresionGuiaId; if (tipoImpresionGuiaID == 0) { return; } if (tipoImpresionGuiaID == (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa) { return; } string implementacion = System.Configuration.ConfigurationSettings.AppSettings["Implementacion"].ToString(); string paginaImpresion = agencia.GetPaginaImpresion(tipoImpresionGuiaID, implementacion); if (paginaImpresion.Trim().Equals("")) { return; } agencia = null; /*****************************/ ImprimirGuiaBlanco(); oGuia = null; oFactura = null; dsFacturaImpresion = null; ds = null; dsFacturas = null; } catch (Exception ex) { } }
private void butBuscar_Click(object sender, System.EventArgs e) { try { DsFactura ds; if (this.radioTipo.Checked) { ds = BuscarPorTipo(); } else { ds = BuscarPorCodigo(); } if (ds != null) { this.butBuscar.Enabled = true; IFactura factura = FacturaFactory.GetFactura(); DsFactura.DatosRow[] drLista = (DsFactura.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID); int total = drLista.Length; if (total > 0) { DsFactura.DatosRow dr = drLista[0]; if (dr.EstadoFacturaID == (int)NegociosSisPackInterface.SisPack.EstadoFactura.Anulada) { /* La factura ya ha sido anulada */ Page.RegisterStartupScript("NoAnular", GenerarJavaScripts.MostrarMensaje("La factura se encuentra anulada.")); this.butConfirmar.Enabled = false; return; } if (dr.AgenciaID != 0) { IAgencia agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = dr.AgenciaID; if (agencia.Consultar()) { this.txtAgenciaID.Text = agencia.AgenciaID.ToString(); this.txtAgencia.Text = agencia.RazonSocial.Trim(); } agencia = null; } // Permitir anulacion de facturas de conceptos facturables. this.txtGuiaID.Text = dr.IsGuiaIDNull() ? "" : dr.GuiaID.ToString(); this.txtFecha.Text = dr.FechaEmision.ToShortDateString().Trim(); this.txtImporte.Text = Utiles.Formatos.Importe(dr.ImporteNeto + dr.ImporteIVA); this.txtTipoImpresionGuiaID.Text = dr.IsTipoImpresionGuiaIDNull()? "0": dr.TipoImpresionGuiaID.ToString().Trim(); this.txtFacturaID.Text = dr.FacturaID.ToString().Trim(); this.txtClasificacionFactura.Text = dr.ClasificacionFactura.Trim(); this.txtClasificacionFacturaID.Text = dr.ClasificacionFacturaID.ToString().Trim(); this.butConfirmar.Enabled = true; this.butBuscar.Enabled = false; this.radioTipo.Enabled = false; this.radioCodigo.Enabled = false; dr = null; } else { string script = "<script language='javascript'>\n"; script += "alert('No se encontro la factura.');\n"; script += "</script>"; Page.RegisterStartupScript("scriptError", script); } factura = null; drLista = null; } } catch (Exception ex) { butBuscar.Enabled = false; string mensaje = ex.Message; try { mensaje = this.TraducirTexto(ex.Message); if (mensaje == "" || mensaje == null) { mensaje = ex.Message; } } catch (Exception) { mensaje = ex.Message; } ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje); } }