private void btnRegistrar_Click(object sender, System.EventArgs e) { try { // Valido los datos if (ValidarDatosRegistrar() == true) { // Los datos son válidos DsDatosGenerarFactura dsDatosGenFactura; // Reviso si hay datos de facturas en memoria if (Session[NombreClaveObjSession] != null) { dsDatosGenFactura = (DsDatosGenerarFactura)Session[NombreClaveObjSession]; } else { dsDatosGenFactura = new DsDatosGenerarFactura(); } // Reviso si la guía que se esta procesando ya ha sido guardada en el dataset if (Validaciones.obtieneEntero(dsDatosGenFactura.Datos.Compute("count(guiaid)", "GuiaID = " + GuiaId.ToString()).ToString()) > 0) { // La guía ya ha sido guardada en el dataset. La elimino del dataset dsDatosGenFactura.Datos.RemoveDatosRow(((DsDatosGenerarFactura.DatosRow[])dsDatosGenFactura.Datos.Select("GuiaID = " + GuiaId))[0]); } // Registro en el dataset los datos para facturar la guía int tipoCliente = 0; // Cargo los datos a registrar if (DatosDestinatario.EsClienteCorporativo) { tipoCliente = (int)NegociosSisPackInterface.SisPack.TipoCliente.Corporativo; } else { tipoCliente = (int)NegociosSisPackInterface.SisPack.TipoCliente.Eventual; } IDatosDomicilio domDest = (IDatosDomicilio)(DatosDestinatario.FindControl("Domicilio" + DatosDestinatario.ID)); dsDatosGenFactura.Datos.AddDatosRow(GuiaId, tipoCliente, DatosDestinatario.ClienteID, (int)DatosDestinatario.CondicionIVA, (int)DatosDestinatario.TipoDoc, DatosDestinatario.ClienteNumero, DatosDestinatario.Nombre, DatosDestinatario.Apellido, DatosDestinatario.NroCuit, domDest.DomicilioID, domDest.Calle, domDest.CalleNro, domDest.Depto, domDest.LocalidadID, domDest.Telefono, domDest.Fax, ddlTipoFactura.SelectedValue, Validaciones.obtieneEntero(txtNroSucursalFactura.Text), Validaciones.obtieneEntero(txtNroFactura.Text), false); // Guardo los datos del dataset en memoria Session[NombreClaveObjSession] = dsDatosGenFactura; // Cargo el script para cerrar la ventana, informando que los datos se registraron en memoria StringBuilder script = new StringBuilder(); script.Append("<script type=\"text/javascript\">\n"); script.Append("DatosRegistrados();\n"); script.Append("</script>"); Page.RegisterStartupScript("DatosRegistrados", script.ToString()); } } catch (Exception ex) { ManejaErrores(ex); } }
private IFactura CargarDatosFactura(int GuiaID) { try { DsDatosGenerarFactura dsDatosFacturasAGenerar; if (Session["DatosFacturasARealizarConformacionMasivaCB"] != null) { dsDatosFacturasAGenerar = (DsDatosGenerarFactura)Session["DatosFacturasARealizarConformacionMasivaCB"]; } else { dsDatosFacturasAGenerar = new DsDatosGenerarFactura(); } // Genero la factura IFactura oFactura = FacturaFactory.GetFactura(); // Busco los datos para registrar la factura DsDatosGenerarFactura.DatosRow drDatosFac = ((DsDatosGenerarFactura.DatosRow[])dsDatosFacturasAGenerar.Datos.Select("guiaid = " + GuiaID.ToString()))[0]; // Cargo los datos de la factura a registrar // Reviso cual es el tipo de cliente al cual se le va a facturar el remito if (drDatosFac.TipoDeCliente == (int)NegociosSisPackInterface.SisPack.TipoCliente.Corporativo) { // Se le va a facturar a un cliente coorporativo oFactura.ClienteID = drDatosFac.ClienteID; oFactura.ClienteEventualID = 0; } else { // Se le va a facturar a un cliente eventual. Reviso si el cliente esta registrado. // if (drDatosFac.ClienteID == 0) // { // El cliente no esta registrado. Lo registro IClienteEventual datosClienteEventual = ClienteEventualFactory.GetClienteEventual(); datosClienteEventual.Nombre = drDatosFac.Nombre; datosClienteEventual.Apellido = drDatosFac.Apellido; datosClienteEventual.CondicionIva = (NegociosSisPackInterface.SisPack.CondicionIva)drDatosFac.CondicionIVAID; datosClienteEventual.NroCuit = drDatosFac.CUIT; datosClienteEventual.TipoDocumento = (NegociosSisPackInterface.SisPack.TipoDocumento)drDatosFac.TipoDocumento; datosClienteEventual.NroDocumento = Utiles.Validaciones.obtieneEntero(drDatosFac.NumeroCliente); // Indico que el cliente eventual tiene cargado un domicilio datosClienteEventual.TieneDomicilio = true; // Cargo los datos del domicilio datosClienteEventual.Domicilio.DomicilioID = drDatosFac.DomicilioID; datosClienteEventual.Domicilio.Calle = drDatosFac.Calle; datosClienteEventual.Domicilio.CalleNro = drDatosFac.CalleNro; datosClienteEventual.Domicilio.Depto = drDatosFac.Departamento; datosClienteEventual.Domicilio.Telefono = drDatosFac.Telefono; datosClienteEventual.Domicilio.Fax = drDatosFac.Fax; datosClienteEventual.Domicilio.Localidad.LocalidadID = drDatosFac.LocalidadID; datosClienteEventual.Domicilio.EsEventual = "1"; // Reviso si tengo que guardar el domicilio del cliente if (datosClienteEventual.Domicilio.DomicilioID == 0 && datosClienteEventual.Domicilio.Calle != "") { // Tengo que guardarlo datosClienteEventual.Domicilio.Guardar(); } oFactura.ClienteID = 0; oFactura.ClienteEventualID = drDatosFac.ClienteID; oFactura.ClienteEventual = datosClienteEventual; // datosClienteEventual.Guardar(); // drDatosFac.ClienteID = datosClienteEventual.ClienteEventualID; // } } // Reviso si el cliente de la factura es un cliente coorporativo if (oFactura.ClienteID != 0) { // Es un cliente coorporativo. Busco sus datos fiscales ICliente datosCliente = ClienteFactory.GetCliente(); datosCliente.ClienteID = oFactura.ClienteID; datosCliente.Consultar(); // Cargo los datos fiscales del cliente oFactura.CondicionIVAAgentePago = (int)datosCliente.CondicionIva; oFactura.NroCUITAgentePago = datosCliente.NroCuit; } // Reviso si el cliente de la factura es un cliente eventual registrado else if (oFactura.ClienteEventualID != 0) { // Se trata de un cliente eventual registrado. Busco sus datos fiscales IClienteEventual datosClienteEventual = ClienteEventualFactory.GetClienteEventual(); datosClienteEventual.ClienteEventualID = oFactura.ClienteEventualID; datosClienteEventual.Consultar(); // Cargo los datos fiscales del cliente oFactura.CondicionIVAAgentePago = (int)datosClienteEventual.CondicionIva; oFactura.NroCUITAgentePago = datosClienteEventual.NroCuit; } else { // Se trata de un cliente eventual // Cargo los datos fiscales del cliente oFactura.CondicionIVAAgentePago = (int)oFactura.ClienteEventual.CondicionIva; oFactura.NroCUITAgentePago = oFactura.ClienteEventual.NroCuit; } // Devuelvo los datos return(oFactura); } catch (Exception ex) { // Reviso cual es el motivo de la excepción if (ex.Message.IndexOf(" ya esta facturado", 0) > 0 || ex.Message.IndexOf("información del CAI para el tipo de guía") > 0) { // La exepción fue por que el remito ya estaba facturado throw ex; } else { throw new Exception("Error al generar las facturas de los remitos"); } } }
private void butConfirmar_Click(object sender, System.EventArgs e) { usuario = (IUsuarios)Session["usuario"]; bool ok = true; Hashtable hGuias = new Hashtable(); // Guías que no se pueden recibir, porque son de ag. no automatizadas o no existen Hashtable hGuiasNR = new Hashtable(); // Guías que no están en condiciones de ser conformadas Hashtable hGuiasIncompletas = new Hashtable(); // Guías que se pueden recibir, pero no se completaron los datos (valor declarado, bultos y agencias) Hashtable hRemitosFaltaIngresarDatos = new Hashtable(); // Remitos que no se pueden conformar por que le falta ingresar los datos para facturar DsFacturaImpresion.DatosRow drFac; Hashtable hGuiasSinCompletar = new Hashtable(); // Guías que pertenecen a la HRepartidor original pero que no se ingresaron en la conformacion/observacion masiva. Hashtable hGuiasIngresadas = new Hashtable(); // Guías que se ingresaron, lo utilizo para hacer una validacion al final // Busco los datos de la agencia IAgencia datosAgencia = AgenciaFactory.GetAgencia(); datosAgencia.AgenciaID = usuario.AgenciaID; datosAgencia.Consultar(); DsDatosGenerarFactura dsDatosFacturasAGenerar; if (Session["DatosFacturasARealizarConformacionMasivaCB"] != null) { dsDatosFacturasAGenerar = (DsDatosGenerarFactura)Session["DatosFacturasARealizarConformacionMasivaCB"]; } else { dsDatosFacturasAGenerar = new DsDatosGenerarFactura(); } DsFacturaImpresion dsFAImprimir = new DsFacturaImpresion(); DsDetalleHojaRutaRepartidor dsDetalle = new DsDetalleHojaRutaRepartidor(); DsHojaRutaRepartidor dsHR = (DsHojaRutaRepartidor)Session["dsHojaRutaRepartidor"]; if (Session["DsDetalleHojaRutaRepartidor"] != null) { dsDetalle = (DsDetalleHojaRutaRepartidor)Session["DsDetalleHojaRutaRepartidor"]; } if (Session["hGuiasIngresadas"] != null) { hGuiasIngresadas = (Hashtable)Session["hGuiasIngresadas"]; } int cant = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndex.Text); for (int i = 0; i < cant; i++) { string txt = "txt" + i; string obs = "Obs" + i.ToString() + "$txtObservacionID"; string obsCodigo = "Obs" + i.ToString() + "$txtCodigo"; string obsDescrip = "Obs" + i.ToString() + "$txtObsDescrip"; string ddl = "ddl" + i.ToString(); string nroGuia = Request.Form[txt].ToString(); string observacionID = Request.Form[obs].ToString(); string sObsCodigo = Request.Form[obsCodigo].ToString(); string sObsDescrip = Request.Form[obsDescrip].ToString(); // Lógica para recibir (y observar) guías string tGuia = ""; tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1)); string nroSucursal = nroGuia.Substring(1, 4); string nGuia = nroGuia.Substring(5); IGuia oGuia = GuiaFactory.GetGuia(); oGuia.NroGuia = Utiles.Validaciones.obtieneEntero(nGuia); oGuia.NroSucursalGuia = nroSucursal; oGuia.TipoGuia = tGuia; oGuia.Consultar(); oGuia.EsRecepcion = 1; oGuia.UnidadNegocioID = this.UnidadNegocioID; oGuia.UsuarioID = usuario.UsuarioID; IGuiaFactura oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura(); oGuiaFactura.UsuarioID = usuario.UsuarioID; // si la guía existe en el sistema, verifco si está en condiciones de conformarse y si es así la conformo if (oGuia.GuiaID > 0) { //SFE: 22/08/2012. Guardo las guias ingresadas para al final del foreach realizar una validacion. hGuiasIngresadas.Add(oGuia.GuiaID, nroSucursal + "-" + nGuia + "-" + tGuia); // Reviso si la guía esta en condiciones de ser conformada (tanto por que tiene los estados necesarios // en la cabecera de la guía o en los estados historicos) if (EsConformable(oGuia)) { // Reviso si se trata de un remito por un flete pago en destino y si es asi, si esta o no facturado if (tGuia == "R" && oGuia.GuiaTieneFPD() && oGuia.RemitoEstaFacturado() == false) { // Se trata de un remito. // Reviso si tengo que observar la guía o conformarla if (Utiles.Validaciones.obtieneEntero(observacionID) > 0) { // tengo que observar la guía oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); } // Tengo que conformar la guía // Reviso si la agencia es autoimpresora if (datosAgencia.TipoImpresionGuiaId == (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa) { // la agencia no es autoimpresora. marco como que no se puede conformar la guía hGuiasNR.Add(oGuia.GuiaID, nroSucursal + "-" + nGuia + "-" + tGuia); } else { // La agencia es autoimpresora // Reviso si se ingreso la información para facturar el remito if (Validaciones.obtieneEntero(dsDatosFacturasAGenerar.Datos.Compute("count(guiaid)", "guiaid=" + oGuia.GuiaID.ToString()).ToString()) == 0) { dsDatosFacturasAGenerar.Datos.Select("guiaid =" + oGuia.GuiaID.ToString()); // No se ingreso la información de la factura. if (hRemitosFaltaIngresarDatos.ContainsKey(oGuia.GuiaID) == false) { hRemitosFaltaIngresarDatos.Add(oGuia.GuiaID, nroGuia);//Validaciones.obtieneEntero(nroSucursal).ToString("0000") + " - " + Validaciones.obtieneEntero(nroGuia).ToString("00000000") + "-" + tGuia); ok = false; } } else { // Si se ingreso la información de la factura ((IGuia)oGuiaFactura).GuiaID = oGuia.GuiaID; ((IGuia)oGuiaFactura).UsuarioID = usuario.UsuarioID; // Cargo la información para realizar la factura IFactura oFactura = CargarDatosFactura(((IGuia)oGuiaFactura).GuiaID); ((IGuia)oGuiaFactura).OFactura = oFactura; DsDetalleHojaRutaRepartidor.DatosRow dr = (DsDetalleHojaRutaRepartidor.DatosRow)dsDetalle.Datos.NewRow(); dr.GuiaID = oGuia.GuiaID; dr.ObservacionID = oGuia.ObservacionID; dr.Observaciones = sObsDescrip; dsDetalle.Datos.AddDatosRow(dr); dsDetalle.Datos.AcceptChanges(); } } } else { // Se trata de una guía normal o de un remito de un cliente coorporativo. No de un remito por Flete pago en destino. O el remito ya esta facturado ((IGuia)oGuiaFactura).GuiaID = oGuia.GuiaID; IParametroUNegocio paramAdm = ParametroUNegocioFactory.GetParametroUNegocio(); paramAdm.Parametro = NegociosSisPackInterface.SisPack.Parametro.AgenciaDeAdministracion; paramAdm.UnidadNegocioID = this.UnidadNegocioID; paramAdm.Consultar(); int agAdm = Utiles.Validaciones.obtieneEntero(paramAdm.ValorString); paramAdm = null; // Si la agencia conectada es igual a la agencia de destino, le permito conformar if ((this.AgenciaConectadaID == oGuia.AgenciaDestinoID || ((this.AgenciaConectadaID != oGuia.AgenciaDestinoID || this.AgenciaConectadaID == agAdm) && oGuia.EstadoSentidoViaje == (int)NegociosSisPackInterface.SisPack.ValorEstadoSentidoViaje.Devolucion) || (this.EsGuiaDeAgenciaRedespachoReferenciada(oGuia)) || (this.EsGuiaDePuntoRecepcionReferenciado(oGuia)))) { oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); DsDetalleHojaRutaRepartidor.DatosRow dr = (DsDetalleHojaRutaRepartidor.DatosRow)dsDetalle.Datos.NewRow(); //DsDetalleHojaRutaRepartidor.DatosRow dr = (DsDetalleHojaRutaRepartidor.DatosRow)dsDetalle.Datos.NewRow(); dr.GuiaID = oGuia.GuiaID; dr.ObservacionID = oGuia.ObservacionID; dr.Observaciones = sObsDescrip; dsDetalle.Datos.AddDatosRow(dr); dsDetalle.Datos.AcceptChanges(); } else { // No se puede conformar... string guia = nroSucursal + "-" + nGuia + "-" + tGuia; if (!hGuiasNR.ContainsKey(oGuia.GuiaID)) { hGuiasNR.Add(oGuia.GuiaID, guia); // SFE ok = false; } } } } // fin if EsConformable else { // La guía no existe... no se puede conformar... string guia = nroSucursal + "-" + nGuia + "-" + tGuia; if (!hGuiasNR.ContainsKey(oGuia.GuiaID)) { hGuiasNR.Add(oGuia.GuiaID, guia); } ok = false; } } else { // La guía no existe... no se puede conformar... string guia = nroSucursal + "-" + nGuia + "-" + tGuia; if (!hGuiasNR.ContainsKey(oGuia.GuiaID)) { hGuiasNR.Add(oGuia.GuiaID, guia); } ok = false; } } // fin for //SFE: 22/08/2012. Recorro el detalle de las guias que componen la Hoja de Ruta del Repartidor foreach (DsHojaRutaRepartidor.GuiasRow item in dsHR.Guias) { //SFE: 22/08/2012. Valido que las guias que se ingresaron se correspondan y esten todas con las guias de la HRepartidor // Es decir verifico que en el HashTable de guias ingresadas exista el item que compone la HR, sino existe la coloco en el Hash de guias sin completar para mostrarla nuevamente. if (hGuiasIngresadas.ContainsKey(item.GuiaID) == false) { ok = false; hGuiasSinCompletar.Add(item.GuiaID, item.NroCompletoGuia); } } //SFE: 22/08/2012. Fin // Este dsDetalle contiene las guias ingresadas y que pertenecen a la HRepartidor, va a servir para marcarlas en la pagina de atras (la que llama). Session["DsDetalleHojaRutaRepartidor"] = dsDetalle; Session["GuiasNR"] = hGuiasNR; Session["hRemitosFaltaIngresarDatos"] = hRemitosFaltaIngresarDatos; Session["hGuiasSinCompletar"] = hGuiasSinCompletar; Session["hGuiasIngresadas"] = hGuiasIngresadas; StringBuilder scriptRedirect = new StringBuilder(); if (ok) { Session["GuiasDefectuosas"] = null; Session["hGuiasIngresadas"] = null; Session["hGuiasSinCompletar"] = null; StringBuilder scriptFinal = new StringBuilder(); scriptFinal.Append("<script type=\"text/javascript\">\n"); scriptFinal.Append("window.close();\n"); scriptFinal.Append("</script>"); Page.RegisterStartupScript("DatosRegistrados", scriptFinal.ToString()); } else { if (hGuiasIncompletas != null && hGuiasIncompletas.Count > 0) { hGuias = hGuiasIncompletas; } this.txtGuiasDefectuosas.Text = "1"; Session["GuiasDefectuosas"] = hGuias;; Hashtable hGuiasNr = new Hashtable(); if (Session["GuiasNR"] != null) { hGuiasNr = (Hashtable)Session["GuiasNR"]; if (hGuiasNr.Count > 0) { MostrarGuiasNoConformables(hGuiasNr); } } else { this.lblMensaje.Visible = false; } if (Session["hRemitosFaltaIngresarDatos"] != null && ((Hashtable)Session["hRemitosFaltaIngresarDatos"]).Count > 0) { // Si hay remitos que no se conformaron por falta de ingreso de datos. Muetro el mensaje de error y vuelvo a cargar los datos de estos remitos MostrarRemitosSinConformarPorFaltaDatos(); } if (Session["hGuiasSinCompletar"] != null && ((Hashtable)Session["hGuiasSinCompletar"]).Count > 0) { // Si hay guias que pertenecen a la HRepartidor y no se ingresaron. Muetro el mensaje de error y vuelvo a cargar los datos de estos remitos MostrarGuiasNoIngresadas(); } } }
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()); } }