private void dtgOrdenRetiro_ItemCommand_1(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { try { Session["OrdenRetiroID"] = e.Item.Cells[0].Text.ToString(); IOrdenRetiro orden = OrdenRetiroFactory.GetOrdenRetiroFactory(); orden.OrdenRetiroID = Utiles.Validaciones.obtieneEntero(e.Item.Cells[0].Text.ToString()); orden.Consultar(); //controlar que la solicitud de retiro ya haya sido controlada ISolicitudRetiro solicitud = SolicitudRetiroFactory.GetSolicitudRetiroFactory(); solicitud.SolicitudRetiroID = orden.SolicitudRetiroID; solicitud.Consultar(); if (solicitud.EstadoSolicitudID == (int)NegociosSisPackInterface.SisPack.EstadoSolicitud.Controlada || solicitud.EstadoSolicitudID == (int)NegociosSisPackInterface.SisPack.EstadoSolicitud.ControladaWeb) //esta en estado controlada { //controlar que no haya sido ya emitida if (orden.Estado == "Generada") { Response.Redirect("OrdenRetiro.aspx?Llamador=OrdenRetiroConsul&index=0"); } else { throw new Exception("La Orden de Retiro ya ha sido emitida."); } } else { throw new Exception("La solicitud de retiro no ha sido controlada aún."); } } catch (Exception ex) { ((ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message); } }
private void BindGrid(int currentPage) { try { IOrdenRetiro orden = OrdenRetiroFactory.GetOrdenRetiroFactory(); AdministrarGrillas.Configurar(dtgOrdenRetiro, "OrdenRetiroID", CantidadOpciones, true, false); dtgOrdenRetiro.CurrentPageIndex = currentPage; //ver si hace falta agregar parametros de busqueda orden.SolicitudRetiroID = Utiles.Validaciones.obtieneEntero(txtSolicitudRetiroID.Text); //orden.AgenciaID=usuario.AgenciaID; //la agencia conectada orden.NumeroOrden = txtNumOrden.Text; if (ddlModEntrega.SelectedItem.Text != "Todas") { orden.ModalidadEntregaID = Utiles.Validaciones.obtieneEntero(ddlModEntrega.SelectedValue); } else { orden.ModalidadEntregaID = 0; } if (ddlUnidadVenta.SelectedItem.Text != "Todas") { orden.UnidadVentaID = Utiles.Validaciones.obtieneEntero(ddlUnidadVenta.SelectedValue); } else { orden.UnidadVentaID = 0; } orden.RemitoClienteNro = txtNroRemito.Text; dtgOrdenRetiro.DataSource = orden.GetOrdenRetiroDataSet(); dtgOrdenRetiro.DataBind(); } catch (Exception ex) { ((ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message); } }
public List <datos> ValidaOrdenes(string nombrep, string AgenciaConcet) { var persons = new List <datos>(); //elimina las llaves string prueba1 = nombrep.Replace("}", " "); string prueba = prueba1.Replace("{", " "); //elimina los puntos string datos = prueba.Replace(":", " "); DsHojaRutaRepartidorOrdenes.DatosCBDataTable dso = new DsHojaRutaRepartidorOrdenes.DatosCBDataTable(); string[] separadas; string[] CadaLinea; separadas = datos.Split('$'); int tamaño = separadas.Count(); for (int i = 0; i < separadas.Count(); i++) { CadaLinea = separadas[i].Split(new string[] { ",\"" }, StringSplitOptions.None); string ConceptoOrdenID = CadaLinea[0].Replace("OrdenRetiroConceptoFacturacion", " "); if (ConceptoOrdenID != "") { string OrdenRetiro = CadaLinea[1].Replace("ordenRetiro", " "); string OrdenRetiroBien = OrdenRetiro.ToString().Replace('"', ' ').Trim(); string descripcion = CadaLinea[2].Replace("descripProducto", " "); string descripcionBien = descripcion.ToString().Replace('"', ' ').Trim(); string importe = CadaLinea[3].Replace("Importe", " "); string importeBien = importe.ToString().Replace('"', ' ').Trim(); string cb = CadaLinea[4].Replace("CB", " "); string cbBien = cb.ToString().Replace('"', ' ').Trim(); string ConceptoOrdenIDBien = ConceptoOrdenID.ToString().Replace('"', ' ').Trim(); dso.AddDatosCBRow(OrdenRetiroBien, descripcionBien, importeBien, cbBien, ConceptoOrdenIDBien); } } try { foreach (DsHojaRutaRepartidorOrdenes.DatosCBRow drr in dso.Rows) { if (drr.CodigoBarras != "0") { ICodigoBarras cb2 = CodigoBarrasFactory.GetCodigoBarras(); string NroCodigo = cb2.GetDatosByOrdenRetiroConceptoFacturacion(Convert.ToInt32(drr.OrdenRetiroConceptoFacturacion)); if (NroCodigo != drr.CodigoBarras) { int conceptoid = 0; int clienteid = 0; int uv = 0; IOrdenRetiro or = OrdenRetiroFactory.GetOrdenRetiroFactory(); DsOrdenRetiro dsor = new DsOrdenRetiro(); or.OrdenRetiroID = Convert.ToInt32(drr.OrdenRetiroID); dsor = or.ClienteCorporativoinOR(); foreach (DsOrdenRetiro.DatosOrdenCBRow drror in dsor.DatosOrdenCB) { clienteid = drror.IsClienteIDNull() ? 0 : Convert.ToInt32(drror.ClienteID); uv = drror.IsUnidadVentaIDNull() ? 0 : Convert.ToInt32(drror.UnidadVentaID); conceptoid = drror.IsConceptoFacturacionIDNull() ? 0 : Convert.ToInt32(drror.ConceptoFacturacionID); } ICodigoBarras cb = CodigoBarrasFactory.GetCodigoBarras(); if (clienteid == 0)//el codigo de barra tiene que salir de la agencia { cb.ConceptoFacturacionID = conceptoid; cb.AgenciaID = Convert.ToInt32(AgenciaConcet); cb.OrdenRetiroID = Convert.ToInt32(drr.OrdenRetiroID); cb.UnidadVentaID = uv; if (cb.ValidaCBbyAgenciaID(drr.CodigoBarras) == 0) { throw new Exception(" Codigo de barra " + drr.CodigoBarras + " inválido"); } } else { //tiene que sacar del stock del del cliente corporativo cb.ConceptoFacturacionID = conceptoid; cb.ClienteID = Convert.ToInt32(clienteid); cb.OrdenRetiroID = Convert.ToInt32(drr.OrdenRetiroID); cb.UnidadVentaID = uv; if (cb.ValidaCBbyClienteID(drr.CodigoBarras) == 0) { throw new Exception(" Codigo de barra " + drr.CodigoBarras + " inválido"); } } } } else { throw new Exception("Debe ingresar un Código de Barras."); } datos person = new datos { OrdenRetiroConceptoFacturacion = Convert.ToInt32(drr.OrdenRetiroConceptoFacturacion), ordenRetiro = Convert.ToInt32(drr.OrdenRetiroID), descripProducto = drr.Descripcion, Importe = Convert.ToDouble(drr.ImporteConcepto), CB = drr.CodigoBarras }; persons.Add(person); } } catch (Exception ex) { string mensaje = ex.Message; if (mensaje.Trim() == "Codigo de barra <INPUT style= WIDTH 96% id=1_ class= editable inline-edit-cell ui-widget-content ui-corner-all role=textbox name= rowid= 1 > inválido") { throw new Exception("Guardar cambios antes de validar."); } else { throw new Exception(ex.Message); } // if(mensaje="" } return(persons); }
public List <datos> GuardarOrdenes(string nombrep, string AgenciaConcet) { var persons = new List <datos>(); //elimina las llaves string prueba1 = nombrep.Replace("}", " "); string prueba = prueba1.Replace("{", " "); //elimina los puntos string datos = prueba.Replace(":", " "); DsHojaRutaRepartidorOrdenes.DatosCBDataTable dso = new DsHojaRutaRepartidorOrdenes.DatosCBDataTable(); string[] separadas; string[] CadaLinea; separadas = datos.Split('$'); int tamaño = separadas.Count(); for (int i = 0; i < separadas.Count(); i++) { CadaLinea = separadas[i].Split(','); string ConceptoOrdenID = CadaLinea[0].Replace("OrdenRetiroConceptoFacturacion", " "); if (ConceptoOrdenID != "") { string OrdenRetiro = CadaLinea[1].Replace("ordenRetiro", " "); string OrdenRetiroBien = OrdenRetiro.ToString().Replace('"', ' ').Trim(); string descripcion = CadaLinea[2].Replace("descripProducto", " "); string descripcionBien = descripcion.ToString().Replace('"', ' ').Trim(); string importe = CadaLinea[3].Replace("Importe", " "); string importeBien = importe.ToString().Replace('"', ' ').Trim(); string cb = CadaLinea[4].Replace("CB", " "); string cbBien = cb.ToString().Replace('"', ' ').Trim(); string ConceptoOrdenIDBien = ConceptoOrdenID.ToString().Replace('"', ' ').Trim(); dso.AddDatosCBRow(OrdenRetiroBien, descripcionBien, importeBien, cbBien, ConceptoOrdenIDBien); } } foreach (DsHojaRutaRepartidorOrdenes.DatosCBRow drr in dso.Rows) { ICodigoBarras cb = CodigoBarrasFactory.GetCodigoBarras(); string NroCodigo = cb.GetDatosByOrdenRetiroConceptoFacturacion(Convert.ToInt32(drr.OrdenRetiroConceptoFacturacion)); if (NroCodigo != drr.CodigoBarras)//quiere decir que se realizaron modificaciones en el numero de los CB //Se tiene que dar de baja el que tenia anteriormente y usar el que estan cargando. { int conceptoid = 0; int clienteid = 0; int uv = 0; IOrdenRetiro or = OrdenRetiroFactory.GetOrdenRetiroFactory(); DsOrdenRetiro dsor = new DsOrdenRetiro(); or.OrdenRetiroID = Convert.ToInt32(drr.OrdenRetiroID); dsor = or.ClienteCorporativoinOR(); foreach (DsOrdenRetiro.DatosOrdenCBRow drror in dsor.DatosOrdenCB) { clienteid = drror.IsClienteIDNull() ? 0 : Convert.ToInt32(drror.ClienteID); uv = drror.IsUnidadVentaIDNull() ? 0 : Convert.ToInt32(drror.UnidadVentaID); conceptoid = drror.IsConceptoFacturacionIDNull() ? 0 : Convert.ToInt32(drror.ConceptoFacturacionID); } if (clienteid == 0)//el codigo de barra tiene que salir de la agencia { cb.ConceptoFacturacionID = conceptoid; cb.AgenciaID = Convert.ToInt32(AgenciaConcet); cb.OrdenRetiroID = Convert.ToInt32(drr.OrdenRetiroID); cb.UnidadVentaID = uv; cb.ClienteID = 0; //pasa primero el cb viejo y despues el nuevo if (cb.CambiaEstadoCBOrdenRetiro(NroCodigo, drr.CodigoBarras, drr.OrdenRetiroConceptoFacturacion) == false) { throw new Exception("Codigo de barra" + drr.CodigoBarras + " inválido"); } } else {//tiene que descontar del cliente corporativo cb.ConceptoFacturacionID = conceptoid; cb.ClienteID = Convert.ToInt32(clienteid); cb.OrdenRetiroID = Convert.ToInt32(drr.OrdenRetiroID); cb.UnidadVentaID = uv; cb.AgenciaID = 0; if (cb.CambiaEstadoCBOrdenRetiro(NroCodigo, drr.CodigoBarras, drr.OrdenRetiroConceptoFacturacion) == false) { throw new Exception("Codigo de barra " + drr.CodigoBarras + " inválido"); } } } datos person = new datos { OrdenRetiroConceptoFacturacion = Convert.ToInt32(drr.OrdenRetiroConceptoFacturacion), ordenRetiro = Convert.ToInt32(drr.OrdenRetiroID), descripProducto = drr.Descripcion, Importe = Convert.ToDouble(drr.ImporteConcepto), CB = drr.CodigoBarras }; persons.Add(person); } return(persons); }
/**Realiza los controles correspondientes sobre el codigo de barra de la orden de retiro y si * pasa los controles abre la pantalla de la orden de retiro * para saber si es una orden de retiro el codigo debe comenzar con 7 * modelo de codigo de barra = 70010915000010 * 7-(orden retiro) 001-(cant bultos) 0915- (codigo cliente corporativo) 000010- (numero orden) * */ private bool verificarControles() { try { if ((txtCodBarraOrden.Text.Length != 0) && (txtCodBarraOrden.Text.Length == 14)) //tiene que tener 14 caracteres el codigo { if (verificarOrdenRetiro()) //es orden de retiro, comienza con 7 { //nroOrdenRetiro=Utiles.Validaciones.obtieneEntero(txtCodBarraOrden.Text.Substring(8,6)); //extraigo el nro de orden y consulto los datos de la orden nroOrdenR = txtCodBarraOrden.Text; nroCliente = Utiles.Validaciones.obtieneEntero(txtCodBarraOrden.Text.Substring(4, 4)); IOrdenRetiro orden = OrdenRetiroFactory.GetOrdenRetiroFactory(); orden.NumeroOrden = nroOrdenR; // nroOrdenRetiro.ToString(); orden.Consultar(nroCliente); if (orden.OrdenRetiroID != 0) { //es una orden de retiro correcta if (orden.Estado == "Generada") { Session["SolicitudRetiroID"] = orden.SolicitudRetiroID; Session["OrdenRetiroID"] = orden.OrdenRetiroID; //consulto los datos de la solicitud de retiro ISolicitudRetiro solicitud = SolicitudRetiroFactory.GetSolicitudRetiroFactory(); solicitud.SolicitudRetiroID = orden.SolicitudRetiroID; solicitud.Consultar(); Session ["NumeroSolicitud"] = solicitud.NumeroSolicitud; lblNroSolicitud.Text = solicitud.NumeroSolicitud.ToString(); cantBultosTotal = orden.Bultos; if (verificarCantidadBultosEnCodigo(orden.Bultos)) { //el codigo de barra tiene bien puesto la cantidad de bultos if (solicitud.EstadoSolicitudID == 4) { //la solicitud de retiro esta en estado controlada if (verificarCantidadBultos(orden.Bultos)) { //ha ingresado tantos codigos de barra como la cantidad de bultos if (verificarCliente(nroCliente)) { //la nueva orden es del mismo cliente cantBultosIngresado = 0; //le dejo seguir para que abra la orden de retiro return(true); } else { cantBultosIngresado = 0; throw new Exception("La orden de retiro ingresada no corresponde al mismo cliente."); } } else { throw new Exception("La cantidad de bultos ingresada no es correcta. Ingrese tantos códigos de barra como bultos tiene la orden de retiro."); } } else { cantBultosIngresado = 0; lblNroSolicitudRetiro.Visible = true; lblNroSolicitud.Visible = true; throw new Exception("La solicitud de retiro " + solicitud.NumeroSolicitud + " no ha sido controlada aún."); } } else { cantBultosIngresado = 0; throw new Exception("La cantidad de bultos indicada en el código no coincide con la cantidad de bultos de la orden de retiro."); } } else if (orden.Estado == "Emitida") { cantBultosIngresado = 0; throw new Exception("La Orden de Retiro ya ha sido emitida."); } else { cantBultosIngresado = 0; throw new Exception("La Orden de Retiro no tiene el estado correcto para emitir la guía."); } } else { cantBultosIngresado = 0; throw new Exception("El código de barra ingresado no es correcto, verifique número de orden, cliente y cantidad de bultos."); } } else { cantBultosIngresado = 0; throw new Exception("El código ingresado no corresponde con una órden de retiro."); } } else { cantBultosIngresado = 0; throw new Exception("Debe ingresar un código de barras correcto."); } } catch (Exception ex) { ((ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message); return(false); } }
//DsOrdenRetiroImprimir.DatosRow dsoRdenes; #region Page_Load private void Page_Load(object sender, System.EventArgs e) { //TextWriterTraceListener myListener = new TextWriterTraceListener("TextWriterOutput2.log", "myListener"); //myListener.WriteLine("Inicia Load de Imprimirguiablanco.aspx."); DsGuiaFacturaImpresion ds = (DsGuiaFacturaImpresion)Session["DatosGuia"]; //DsOrdenRetiroImprimir dsoRdenes = (DsOrdenRetiroImprimir)Session["imprimirOrden"]; DsHojaRutaRepartidor dsoRdenes = (DsHojaRutaRepartidor)Session["imprimirOrden"]; DsOrdenRetiroImprimir.DatosRow dsOrdenR; int cantCopias = 0; string nombreArchivo = ""; //SFE. Codigo barras AFIP string nombreArchivoCBAFIP = ""; Boolean EsReImpresion = false; bool esFacturaRemito = false; Boolean EsFacturaConceptoFacturacion = false; string textoDorso = ""; bool esGuiaRendicion = false; string tipoGuia = ""; // Obtengo el texto del dorso de la guía //IGuiaDorso guiaDorso = GuiaDorsoFactory.GetGuiaDorso(); //guiaDorso.UnidadNegocioID = UnidadNegocioID; //guiaDorso.Consultar(); //string textoDorso = guiaDorso.Texto; // Obtengo el texto del dorso de la guía por la empresa de facturacion IGuia guia = GuiaFactory.GetGuia(); if (ds != null) { double pesototal50 = ds.Datos[0].PesoTotal != null ? ds.Datos[0].PesoTotal : 0; // ds.Datos[0].; double pesoButlos50 = ds.Datos[0].PesoBulto != null ? ds.Datos[0].PesoBulto : 0; string canBul = ds.Datos[0].IsCantidadBultosTotalNull()?"0": ds.Datos[0].CantidadBultosTotal.ToString(); string remito = ds.Datos[0].IsRemitoClienteNroNull() ? "0" : ds.Datos[0].RemitoClienteNro.ToString(); string DomicilioRem = ds.Datos[0].IsDireccionRemitenteNull()?"N/A": ds.Datos[0].DireccionRemitente.ToString(); string remi = ds.Datos[0].IsNombreRemitenteNull() ? "" : ds.Datos[0].NombreRemitente.ToString(); if (remi == "") { remi = ds.Datos[0].IsNombreEmpresaRemitenteNull() ? "" : ds.Datos[0].NombreEmpresaRemitente.ToString(); } string doc = ds.Datos[0].IsCUITEmpresaNull() ? "" : ds.Datos[0].CUITEmpresa.ToString(); if (pesototal50 > 50 || pesoButlos50 > 50)//mayor a 50 { System.Web.UI.Control impresion; impresion = Page.LoadControl("uc/ImprimirDeclaracionJuradaEV.ascx"); GuiaDominio gd = new GuiaDominio(); string text = gd.getTextoDorso(0).ToString(); textoDorso = text; /* inicio declaracion jurada*/ //string existeDJ = gd.GetDeclaracionJurada(ds.Datos[0].GuiaID).ToString(); //if (existeDJ == "")//es para que no re imprima la declaracion jurada que se emitio // //FQuiroga 26/11 //{ // //declaracion jurada // if (ds.Datos[0].EsFleteCobrar == true && remito == "0") // {//si es un fpd y pesa mas de 50 y no tiene remito // //tiene que gaurda el numero de declaracion jurada // string DJ = gd.GuiaDCINS(ds.Datos[0].GuiaID).ToString(); // LlenarControlDJ(impresion, remi, DomicilioRem, pesototal50, canBul, doc, DJ); // phImpresion.Controls.Add(impresion); // // hago un salto de página // LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>"); // // no hace salto de página para la última hoja... // phImpresion.Controls.Add(lt); // } // if ((ds.Datos[0].TipoGuia == "B" || ds.Datos[0].TipoGuia == "A") && remito == "0") // {//eventuales sin remito // string DJ = gd.GuiaDCINS(ds.Datos[0].GuiaID).ToString(); //tiene que guardar declaracion // LlenarControlDJ(impresion, remi, DomicilioRem, pesototal50, canBul, doc, DJ); // phImpresion.Controls.Add(impresion); // // hago un salto de página // LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>"); // // no hace salto de página para la última hoja... // phImpresion.Controls.Add(lt); // } //} /* fin declaracion jurada*/ } else { //34 y35 bultos IEmpresaFacturacion empresa = EmpresaFacturacionFactory.GetEmpresaFacturacion(); try { empresa.EmpresaFacturacionID = ds.Datos[0].EmpresaFacturacionID; } catch (Exception) { throw new Exception("No se configuró la empresa de facturacion para la agencia emisora de la guia."); } empresa.Consultar(); textoDorso = empresa.Texto; } // SFE: Imprimir la leyenda "Guia Rendicion" y el Nro de Rendicion si es Guia de Rendicion // IGuia guia = GuiaFactory.GetGuia(); guia.GuiaID = ds.Datos[0].GuiaID; guia.ConsultarCompletoByGuiaID(); //if (ds.Datos.Rows[0].IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion //if (|| (ds.Datos.Rows[0].IsNull("EsFacturaConceptoFacturacion") == false && Convert.ToBoolean( ds.Datos.Rows[0]["EsFacturaConceptoFacturacion"] Boolean _esFacturaConceptoFacturacion = false; try { _esFacturaConceptoFacturacion = Convert.ToBoolean(ds.Datos.Rows[0]["EsFacturaConceptoFacturacion"]); } catch { _esFacturaConceptoFacturacion = false; } esGuiaRendicion = false; string nroRendicionGuia = ""; if (_esFacturaConceptoFacturacion == false) { guia.GuiaID = ds.Datos[0].GuiaID; guia.ConsultarCompletoByGuiaID(); if (guia.ClasificacionGuiaID == NegociosSisPackInterface.SisPack.ClasificacionGuia.Rendicion) { esGuiaRendicion = true; nroRendicionGuia = guia.GetNroRendicionGuia(); if (nroRendicionGuia != "") { nroRendicionGuia = "Nro de Rendición: " + nroRendicionGuia; } ds.Datos[0].Observaciones = nroRendicionGuia; } // SFE: Imprimir la leyenda "Guia Rendicion" y el Nro de Rendicion si es Guia de Rendicion } } if (dsoRdenes != null) { IEmpresaFacturacion empresa = EmpresaFacturacionFactory.GetEmpresaFacturacion(); empresa.EmpresaFacturacionID = 1;// Convert.ToInt32(dsoRdenes.Ordenes.Rows.Datos[0].EmpresaFacturacion.ToString()); empresa.Consultar(); textoDorso = empresa.Texto; //cargo las ordenes de retiro DsOrdenRetiroImprimir dsOrdenes2 = new DsOrdenRetiroImprimir(); IOrdenRetiro ordenes = OrdenRetiroFactory.GetOrdenRetiroFactory(); string todas = ""; foreach (DsHojaRutaRepartidor.OrdenesRow dsss in dsoRdenes.Ordenes.Rows) { if (todas == "") { todas = dsss.OrdenRetiroID; } else { todas = todas + "," + dsss.OrdenRetiroID; } } dsOrdenes2 = ordenes.GetOrdenRetiroPrint(todas); foreach (DsOrdenRetiroImprimir.DatosRow drOrd in dsOrdenes2.Datos) { System.Web.UI.Control impresion; impresion = Page.LoadControl("uc/ImprimirOrdenRetiro.ascx"); LlenarControlOrdenes(drOrd, impresion, nombreArchivo); phImpresion.Controls.Add(impresion); // hago un salto de página LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>"); // no hace salto de página para la última hoja... phImpresion.Controls.Add(lt); } } //if (dsConcepto != null) { // try // { // _esFacturaConceptoFacturacion = Convert.ToBoolean(dsoRdenes.Datos.Rows[0]["EsFacturaConceptoFacturacion"]); // } // catch // { // _esFacturaConceptoFacturacion = false; // } // foreach (DsGuiaFacturaImpresion.DatosRow drCon in dsConcepto.Datos.Rows) // { // System.Web.UI.Control impresion; // impresion = Page.LoadControl("uc/ImprimirGuiaBlanco.ascx"); // LlenarControl(drCon, impresion, nombreArchivo); // phImpresion.Controls.Add(impresion); // // hago un salto de página // LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>"); // // no hace salto de página para la última hoja... // phImpresion.Controls.Add(lt); // if (drCon.IsEsFacturaConceptoFacturacionNull() == false && drCon.EsFacturaConceptoFacturacion) // { // EsFacturaConceptoFacturacion = true; // // Se trata de una factura de un concepto de facturación. // // 16/10/2013. Se solicito que si se trata de un concepto de facturacion se impriman la cantidad de cuerpos que se definen en el ABM de conceptos de facturacion. // IConceptoFacturacion concepto = ConceptoFacturacionFactory.GetConceptoFacturacion(); // concepto.GetOne(148); // if (concepto.CantCuerposImprGuia > 0) // { // cantCopias = concepto.CantCuerposImprGuia ?? 0; // } // else // { // IFactura factura = FacturaFactory.GetFactura(); // cantCopias = factura.GetCantCuerposImprFacturaRemito(); // factura = null; // } // } // } //} // }Cargo los comprobantes if (ds != null) { int ComprobanteActual = 1; foreach (DsGuiaFacturaImpresion.DatosRow dr in ds.Datos.Rows) { // Reviso si se paso la cantidad de copias a imprimir o hay que obtenerlo de los parametros if (Request.QueryString["CantCopias"] == "" || Request.QueryString["CantCopias"] == null) { // No se paso la cantidad de copias a imprimir. // Obtengo de los parámetros generales cuántas copias del cuerpo se deben imprimir en la agencia origen /* VSA 01-09-2009 Permitir parametrizar la cantidad de copias a imprimir para la guía */ // Reviso si se trata de una guía o factura if (dr.IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion) { EsFacturaConceptoFacturacion = true; // Se trata de una factura de un concepto de facturación. // 16/10/2013. Se solicito que si se trata de un concepto de facturacion se impriman la cantidad de cuerpos que se definen en el ABM de conceptos de facturacion. IConceptoFacturacion concepto = ConceptoFacturacionFactory.GetConceptoFacturacion(); concepto.GetOne(dr.ConceptoFacturacionID); if (concepto.CantCuerposImprGuia > 0) { cantCopias = concepto.CantCuerposImprGuia ?? 0; } else { IFactura factura = FacturaFactory.GetFactura(); cantCopias = factura.GetCantCuerposImprFacturaRemito(); factura = null; } } else if (dr.IsEsFacturaRemitoNull() || dr.EsFacturaRemito == false) { // Se trata de una guía // Verifico si en el campo "CantidadCopiasImprimir" viene asignada la cantidad de copias, si es asi, es porque se llamo desde la Hoja de Ruta del Repartidor y se esta reimprimiendo una guia desde ese modulo // Si no se debe buscar en la base la cantidad de copias a imprimir. if (((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).IsCantidadCopiasImprimirNull()) { // Debo buscar en la base la cantidad de copias a imprimir. IGuia cantAImprGuia = GuiaFactory.GetGuia(); cantAImprGuia.GuiaID = ((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).GuiaID; cantAImprGuia.UnidadNegocioID = UnidadNegocioID; cantCopias = cantAImprGuia.GetCantCuerposImprGuia(); cantAImprGuia = null; } else { //Viene asignada la cantidad de copias, se llamo desde la Hoja de Ruta del Repartidor y se esta reimprimiendo una guia desde ese modulo try { cantCopias = ((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).CantidadCopiasImprimir; } catch { cantCopias = 1; } } esFacturaRemito = false; } else { // Se trata de una factura IFactura factura = FacturaFactory.GetFactura(); cantCopias = factura.GetCantCuerposImprFacturaRemito(); factura = null; esFacturaRemito = true; } } else { // Si se paso la cantidad de copias a imprimir cantCopias = Utiles.Validaciones.obtieneEntero(Request.QueryString["CantCopias"]); EsReImpresion = true; // Reviso si se trata de una guía o factura if (dr.IsEsFacturaRemitoNull() || dr.EsFacturaRemito == false) { esFacturaRemito = false; } else if (dr.IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion) { // Se trata de una factura de un concepto de facturación EsFacturaConceptoFacturacion = true; } else { esFacturaRemito = true; } if (dr.IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion) { // Se trata de una factura de un concepto de facturación EsFacturaConceptoFacturacion = true; } } //} // Cargo las copias del comprobante que se esta procesando for (int i = 0; i < cantCopias; i++) { System.Web.UI.Control impresion; if (guia.ClasificacionGuiaID == NegociosSisPackInterface.SisPack.ClasificacionGuia.UnidadLogistica) { impresion = Page.LoadControl("uc/ImprimirGuiaUnidadLogistica.ascx"); } else { impresion = Page.LoadControl("uc/ImprimirGuiaBlanco.ascx"); } LlenarControl(dr, impresion, nombreArchivo); // cargo el control de impresión... impresion.ID = "ImpreBlanco" + i.ToString(); // Creo la imagen del CB if (i == 0) { nombreArchivo = CrearImagenCB(((IGuiaImpresion)impresion).TipoGuia, ((IGuiaImpresion)impresion).NroSucursal, ((IGuiaImpresion)impresion).NroGuia); // SFE: Codigo Barras AFIP nombreArchivoCBAFIP = CrearImagenCBAFIP(((IGuiaImpresion)impresion).TipoGuia, ((IGuiaImpresion)impresion).NroSucursal, ((IGuiaImpresion)impresion).NumeroCAI, ((IGuiaImpresion)impresion).FechaVencimientoCAI); } // Termino de cargar los datos ((IGuiaImpresion)impresion).RutaCodigoBarras = nombreArchivo + "-" + this.AgenciaConectadaID.ToString(); // SFE: Codigo Barras AFIP. ((IGuiaImpresion)impresion).RutaCodigoBarrasAFIP = nombreArchivoCBAFIP + "-" + this.AgenciaConectadaID.ToString(); if (EsReImpresion == false) { ((IGuiaImpresion)impresion).DescripcionFormulario = ObtenerDescripcion(i + 1, EsFacturaConceptoFacturacion); ((IGuiaImpresion)impresion).EsReimpresion = false; } else { ((IGuiaImpresion)impresion).DescripcionFormulario = ObtenerDescripcion(3, EsFacturaConceptoFacturacion); ((IGuiaImpresion)impresion).EsReimpresion = true; } ((IGuiaImpresion)impresion).TextoDorso = textoDorso; ((IGuiaImpresion)impresion).EsGuiaRendicion = esGuiaRendicion; ((IGuiaImpresion)impresion).EsFacturaRemito = esFacturaRemito; ((IGuiaImpresion)impresion).EsFacturaConceptoFacturacion = EsFacturaConceptoFacturacion; phImpresion.Controls.Add(impresion); // hago un salto de página //tipoGuia = dr.IsTipoGuiaNull() ? "" : dr.TipoGuia; //System.Web.HttpBrowserCapabilities browser = Request.Browser; //string name = browser.Browser; //float version = (float)(browser.MajorVersion + browser.MinorVersion); //if ((name != "Chrome" && version >= 8) && (name != "Firefox" && version >= 8) && (name == "IE" && version > 8) && (tipoGuia == "R")) //{ LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>"); // no hace salto de página para la última hoja... if (i + 1 < cantCopias || ComprobanteActual < ds.Datos.Rows.Count) { phImpresion.Controls.Add(lt); } //} } ComprobanteActual++; } //myListener.WriteLine("Finaliza Load de Imprimirguiablanco.aspx."); //myListener.Flush(); } }