private bool Anular() { try { IAgencia oAgencia = AgenciaFactory.GetAgencia(); oAgencia.AgenciaID = this.AgenciaConectadaID; IParametroUNegocio param = ParametroUNegocioFactory.GetParametroUNegocio(); param.Parametro = NegociosSisPackInterface.SisPack.Parametro.AgenciaDeAdministracion; param.UnidadNegocioID = this.UnidadNegocioID; param.Consultar(); int agAdm = Utiles.Validaciones.obtieneEntero(param.ValorString); /* Verónica: La anulación la debe realizar la agencia de origen */ /*SFE: 12/04/2011. Anulacion de Facturas a Terminal desde Administracion. Se agrega la condicion de controlar si la agencia Conectada es Administracion*/ if (this.AgenciaConectadaID == Convert.ToInt32(this.txtAgenciaID.Text) || this.AgenciaConectadaID == agAdm) { bool bOk = false; IFactura factura = FacturaFactory.GetFactura(); factura.FacturaID = Convert.ToInt32(this.txtFacturaID.Text.Trim()); factura.TipoGuia = this.txtTipoGuia.Text.Trim(); factura.TipoImpresionGuiaID = Convert.ToInt32(this.txtTipoImpresionGuiaID.Text.Trim()); factura.AgenciaID = Convert.ToInt32(this.txtAgenciaID.Text.Trim()); factura.ClasificacionFacturaID = Convert.ToInt32(this.txtClasificacionFacturaID.Text.Trim()); factura.GuiaID = Utiles.Validaciones.obtieneEntero(this.txtGuiaID.Text.Trim()); factura.FechaEmision = Convert.ToDateTime(Utiles.Validaciones.obtieneFecha(txtFecha.Text)); factura.ObservacionIDGuia = Convert.ToInt32(Observacion1.ObservacionID); factura.UnidadNegocioID = UnidadNegocioID; factura.EliminarEstadosConformacion = true; bOk = factura.Anular(this.txtObservaciones.Text, this.usuario, this.AgenciaConectadaID); //esto es porque si se anula la factura y esta factura esta asociada a una guia que es subia a una HRR //se conforma y se agrega una observacion en la HRR if (factura.CambiarHRRFactAnulada(Convert.ToInt32(Utiles.Validaciones.obtieneEntero(this.txtGuiaID.Text.Trim()))) == 1) { factura.CambiaEstadoHRRFactAnulada(Convert.ToInt32(Utiles.Validaciones.obtieneEntero(this.txtGuiaID.Text.Trim()))); } //////////**********************************************************************************************************************////////// DsFactura ds; if (this.radioTipo.Checked) { ds = BuscarPorTipo(); } else { ds = BuscarPorCodigo(); } IClienteEventual ev = ClienteEventualFactory.GetClienteEventual(); if (ds.Tables[0].Rows[0]["ClienteEventualID"] != null) { ev.ClienteEventualID = int.Parse(ds.Tables[0].Rows[0]["ClienteEventualID"].ToString()); ev.Consultar(); } if (ds.Tables[0].Rows[0]["TipoGuia"].ToString() == "A" || ds.Tables[0].Rows[0]["TipoGuia"].ToString() == "B") { try { // La validación del número de guía debe realizarse sólo si el modo de impresión no es "Autoimpresor" IAgencia agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = this.AgenciaConectadaID; agencia.Consultar(); //ws = Session["WSFactElect"] as SisPack.WSFEL.FEService; //if (ws == null) //{ // // create the proxy // //MyService = new localhost.MyDemo(); // ws = new SisPack.WSFEL.FEService(); // // create a container for the SessionID cookie // ws.CookieContainer = new CookieContainer(); // ws.Inicializar(long.Parse(CUITExpress), NombreCertificadoExpress, Ambiente); // //ws.Inicializar(long.Parse(CUITCargas), NombreCertificadoCargas, Ambiente); // // store it in Session for next usage // Session["WSFactElect"] = ws; //} string referencia = string.Empty; try { //string sError = string.Empty; //DateTime sVencimientoCae = new DateTime(); //Detalles detalle = new Detalles(); int puntoVta = int.Parse(ds.Tables[0].Rows[0]["NroSucursalGuia"].ToString()); int tipoCbe = 6; int tipoDocumento = 96; long numeroDocumento = 30414121; int tipoConcepto = 2; double totalConcepto = 0; double neto = double.Parse(ds.Tables[0].Rows[0]["ImporteNeto"].ToString()); double exento = 0; double totalTributos = 0; double totalIva = double.Parse(ds.Tables[0].Rows[0]["ImporteIVA"].ToString()); double total = neto + totalIva; int tipoIva = 5; long nroFactura = 0; if (ds.Tables[0].Rows[0]["TipoGuia"].ToString() == "A") { tipoCbe = 3; //Nota de Crédito A numeroDocumento = long.Parse(ev.NroCuit); if ((int)ev.TipoDocumentoCuit == 5) { tipoDocumento = 80; //CUIT } else if ((int)ev.TipoDocumentoCuit == 6) { tipoDocumento = 86; //CUIL } else { tipoDocumento = 91; //91 } } else { tipoCbe = 8; //Nota de Crédito B numeroDocumento = long.Parse(ev.NroDocumento.ToString()); if ((int)ev.TipoDocumento == 1) { tipoDocumento = 96; //DNI } else if ((int)ev.TipoDocumento == 2) { tipoDocumento = 90; //LC } else if ((int)ev.TipoDocumento == 3) { tipoDocumento = 89; //LE } else if ((int)ev.TipoDocumento == 4) { tipoDocumento = 94; //Pasaporte } else if ((int)ev.TipoDocumento == 6) { tipoDocumento = 86; //CUIL } else { tipoDocumento = 91; //91 } } if (totalIva == 0) { tipoIva = 3; //Iva 0 } IAFIP afip = AFIPFactory.GetAFIP(); string fechaFE = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00"); //detalle.Ivas.AddIvasRow(tipoIva, neto, totalIva); string NumeroCAE = string.Empty; if (ds.Tables[0].Rows[0]["EmpresaFacturacionID"].ToString() == "1") { //nroFactura = ws.ObtieneUltimoNroCbte(puntoVta, tipoCbe, long.Parse(CUITExpress)) + 1; //NumeroCAE = ws.ObtenerCAE(1, 1, puntoVta, tipoCbe, tipoConcepto, tipoDocumento, numeroDocumento, nroFactura, nroFactura, fechaFE, // total, totalConcepto, neto, exento, totalTributos, totalIva, fechaFE, fechaFE, fechaFE, "PES", 1, detalle, ref sError, ref sVencimientoCae, long.Parse(CUITExpress)); if (afip.ObtieneUltimoNroCbte(puntoVta, tipoCbe, long.Parse(CUITExpress), NombreCertificadoExpress, Ambiente)) { nroFactura = afip.NumeroFactura; if (afip.ObtenerCAE(puntoVta, tipoCbe, long.Parse(CUITExpress), NombreCertificadoExpress, Ambiente, tipoConcepto, tipoDocumento, numeroDocumento, nroFactura, fechaFE, total, totalConcepto, neto, exento, totalTributos, totalIva, tipoIva)) { NumeroCAE = afip.NumeroCAE; } } } else { //nroFactura = ws.ObtieneUltimoNroCbte(puntoVta, tipoCbe, long.Parse(CUITCargas)) + 1; //NumeroCAE = ws.ObtenerCAE(1, 1, puntoVta, tipoCbe, tipoConcepto, tipoDocumento, numeroDocumento, nroFactura, nroFactura, fechaFE, // total, totalConcepto, neto, exento, totalTributos, totalIva, fechaFE, fechaFE, fechaFE, "PES", 1, detalle, ref sError, ref sVencimientoCae, long.Parse(CUITCargas)); } //if (sError.Contains("10016-El número o fecha del comprobante no se corresponde con el próximo a autorizar.")) if (afip.errorCAE.Contains("10016-El número o fecha del comprobante no se corresponde con el próximo a autorizar.")) { //verifico nuevamente por si alguien estaba usando ese numero if (ds.Tables[0].Rows[0]["EmpresaFacturacionID"].ToString() == "1") { //nroFactura = ws.ObtieneUltimoNroCbte(puntoVta, tipoCbe, long.Parse(CUITExpress)) + 1; //NumeroCAE = ws.ObtenerCAE(1, 1, puntoVta, tipoCbe, tipoConcepto, tipoDocumento, numeroDocumento, nroFactura, nroFactura, fechaFE, // total, totalConcepto, neto, exento, totalTributos, totalIva, fechaFE, fechaFE, fechaFE, "PES", 1, detalle, ref sError, ref sVencimientoCae, long.Parse(CUITExpress)); if (afip.ObtieneUltimoNroCbte(puntoVta, tipoCbe, long.Parse(CUITExpress), NombreCertificadoExpress, Ambiente)) { nroFactura = afip.NumeroFactura; if (afip.ObtenerCAE(puntoVta, tipoCbe, long.Parse(CUITExpress), NombreCertificadoExpress, Ambiente, tipoConcepto, tipoDocumento, numeroDocumento, nroFactura, fechaFE, total, totalConcepto, neto, exento, totalTributos, totalIva, tipoIva)) { NumeroCAE = afip.NumeroCAE; } } } else { //nroFactura = ws.ObtieneUltimoNroCbte(puntoVta, tipoCbe, long.Parse(CUITCargas)) + 1; //NumeroCAE = ws.ObtenerCAE(1, 1, puntoVta, tipoCbe, tipoConcepto, tipoDocumento, numeroDocumento, nroFactura, nroFactura, fechaFE, // total, totalConcepto, neto, exento, totalTributos, totalIva, fechaFE, fechaFE, fechaFE, "PES", 1, detalle, ref sError, ref sVencimientoCae, long.Parse(CUITCargas)); } } else if (afip.errorCAE != string.Empty) { using (System.IO.StreamWriter archivo = System.IO.File.AppendText(@"C:\log\LogFactura.log")) { archivo.WriteLine("AnularFactura.aspx.cs linea 753-------------------------------------------------------------------------------------"); archivo.WriteLine("--------------------------------------------------------------------------------------"); } } if (NumeroCAE != null && NumeroCAE != string.Empty) { ComprobanteElectronico ce = new ComprobanteElectronico(); ce.PuntoVenta = puntoVta.ToString(); ce.TipoComprobanteFEID = tipoCbe; ce.TipoConceptoFEID = tipoConcepto; ce.TipoDocumentoFEID = tipoDocumento; ce.NumeroDocumento = numeroDocumento.ToString(); ce.NumeroFactura = nroFactura.ToString(); ce.FechaFE = DateTime.Now; ce.Total = total; ce.TotalConcepto = totalConcepto; ce.Neto = neto; ce.Exento = exento; ce.TotalTributos = totalTributos; ce.TotalIVA = totalIva; ce.FechaVencimientoCae = afip.fechaCAE; ce.NumeroCae = NumeroCAE; ce.EmpresaFacturacionID = int.Parse(ds.Tables[0].Rows[0]["EmpresaFacturacionID"].ToString()); IoC.GetObjectDominio <IComprobanteElectronicoDominio>().Guardar(ce); } //datet.FechaCae = sVencimientoCae; //admGuiaO.FechaVencimientoCAI = sVencimientoCae; //admGuiaO.NroGuia = int.Parse(nroFactura.ToString()); } catch (Exception ex) { using (System.IO.StreamWriter archivo = System.IO.File.AppendText(@"C:\log\LogFactura.log")) { archivo.WriteLine("AnularFactura.aspx.cs linea 786-------------------------------------------------------------------------------------"); archivo.WriteLine(ex.Message); archivo.WriteLine("--------------------------------------------------------------------------------------"); } ex = new Exception("Error al crear la nota de credito para asociar a la factura. " + ex.Message); throw ex; } //Session["AdmGuia"] = admGuiaO; //this.txtNroGuia.Text = admGuiaO.NroGuia.ToString(); // GuardarFactura(agencia.TipoImpresionGuiaId, (int)NegociosSisPackInterface.SisPack.TipoValidacionEmision.CAE); } catch (Exception ex) { oAgencia = null; ex = new Exception("Error al crear la nota de credito para asociar a la factura. No se puede conectar con el WS de la AFIP" + ex.Message); throw ex; } } /////////************************************************************************************************************************////// factura = null; oAgencia = null; return(bOk); } else { oAgencia = null; Exception ex = new Exception("Solo la agencia emisora puede anular la factura."); throw ex; } } catch (Exception ex) { throw 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 dtgClientes_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { if (e.CommandName == "Select") { /*int indice = e.Item.DataSetIndex; * if(this.txtAgenciaID.Text!="") * this.BindGridPorAgencia(); * else * BindGrid(); * * DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[]) dtgClientes.DataSource; * if (drLista == null) * return; * * if (drLista.Length == 0) * return; * * //AQUI VER el tema del INDICE!! si es el indice de la coleccion o del dataset!! * DsClientesGuia.DatosRow dr = drLista[indice]; * if (dr == null) * return; */ int clienteID; string tipoDoc; string codigo; //string nombreCompleto = dr.NombreCompleto; string nombre; string apellido; string calle; string calleNro; string telefono; string telCodArea; string fax; string localidadID; string provinciaID; //VSA: Modificación desarrollo Código postales int codigoPostalID; string localidadDescrip; string provinciaDescrip; string strLocalidades; string codPostal; string depto; string condicionIVA; string cuit; string tipoCliente; string condicionPago; string strProducto; string strTEntrega; string strServicio; string strModEntrega; int domicilioID; //VSA: Modificación desarrollo Código postales if (this.txtTipoCliConsul.Text == "0" || this.txtTipoCliConsul.Text == "") // || this.tipoCliConsul == "") { IClienteEventual clienteEven = ClienteEventualFactory.GetClienteEventual(); clienteEven.ClienteEventualID = Utiles.Validaciones.obtieneEntero(dtgClientes.DataKeys[(int)e.Item.ItemIndex].ToString()); clienteEven.Consultar(); clienteID = clienteEven.ClienteEventualID; tipoDoc = ((int)clienteEven.TipoDocumento).ToString(); codigo = clienteEven.NroDocumento.ToString(); //string nombreCompleto = dr.NombreCompleto; nombre = clienteEven.Nombre; apellido = clienteEven.Apellido; calle = clienteEven.Domicilio.Calle; calleNro = clienteEven.Domicilio.CalleNro; telefono = clienteEven.Domicilio.Telefono; telCodArea = clienteEven.Domicilio.TelCodArea; fax = clienteEven.Domicilio.Fax; localidadID = clienteEven.Domicilio.Localidad.LocalidadID.ToString(); domicilioID = clienteEven.Domicilio.DomicilioID; ILocalidad localidad = LocalidadFactory.GetLocalidad(); localidad.LocalidadID = Utiles.Validaciones.obtieneEntero(localidadID); localidad.Consultar(); provinciaID = localidad.Provincia.ProvinciaID.ToString(); provinciaDescrip = localidad.Provincia.ProvinciaDescrip; localidadDescrip = localidad.LocalidadDescrip; codigoPostalID = clienteEven.Domicilio.OCodigoPostal.CodigoPostalID; if (codigoPostalID > 0) { codPostal = clienteEven.Domicilio.OCodigoPostal.CodigoPostalNro; } else { codPostal = localidad.CodigoPostal; } /* * int clienteID = dr.ClienteID; * string tipoDoc= dr.IsTipoDocNull()?"":dr.TipoDoc.ToString(); * string codigo = dr.IsCodigoNull() ? "" : dr.Codigo; * //string nombreCompleto = dr.NombreCompleto; * string nombre=dr.IsNombreNull()? "" : dr.Nombre; * string apellido=dr.IsApellidoNull()? "":dr.Apellido; * string calle =dr.IsCalleNull()? "":dr.Calle; * string calleNro =dr.IsCalleNroNull()? "":dr.CalleNro; * string telefono=dr.IsTelefonoNull()? "":dr.Telefono; * string fax=dr.IsFaxNull()? "":dr.Fax; * string provinciaID =dr.IsProvinciaIDNull()?"":dr.ProvinciaID.ToString(); * string localidadID =dr.IsLocalidadIDNull()?"":dr.LocalidadID.ToString(); */ //EXTRA //string localidadDescrip = dr.IsLocalidadNull()?"":dr.Localidad; strLocalidades = ""; if (this.txtTipoCliConsul.Text == "1") { strLocalidades = localidadID + "," + localidadDescrip + ";"; } else { strLocalidades = string.Empty; // SFE: Desarrollo de Codigos Postales. se comenta la carga de estas localidades //strLocalidades = LlenarCombos.LlenarStringLocalidades(Convert.ToInt32(provinciaID)); } //EXTRA depto = clienteEven.Domicilio.Depto; condicionIVA = ((int)clienteEven.CondicionIva).ToString(); cuit = clienteEven.NroCuit; tipoCliente = "False"; // si es eventual!!! condicionPago = "Contado"; strProducto = ""; strTEntrega = ""; strServicio = ""; strModEntrega = ""; } else //corporativos { ICliente cliente = ClienteFactory.GetCliente(); cliente.ClienteID = Utiles.Validaciones.obtieneEntero(dtgClientes.DataKeys[(int)e.Item.ItemIndex].ToString()); cliente.Consultar(); Session["ClienteCorp.ClienteID"] = cliente.ClienteID; clienteID = cliente.ClienteID; tipoDoc = ((int)cliente.TipoDocumento).ToString(); codigo = cliente.Codigo; //string nombreCompleto = dr.NombreCompleto; nombre = cliente.RazonSocial; apellido = cliente.RazonSocial; /*SFE: Implementacion Codigos Postales. Buscar el domicilio del cliente en la tabla GuiaFacturaCorporativo.*/ DsClientesGuia dsC = new DsClientesGuia(); DsClientesGuia dsD = new DsClientesGuia(); IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes(); string agenciaID = Request.QueryString["AgenciaID"]; DsClientesGuia.DatosRow drC = null; DsClientesGuia.DatosRow drD = null; if (agenciaID != null && agenciaID.Length > 0) { /*Es para remitente. Tiene como paramentro agenciaID*/ dsC = clientes.GetClientesCorpDomicilio(cliente.ClienteID, AgenciaConectadaID, (int)NegociosSisPackInterface.SisPack.TipoAgenteGuia.Remitente); if (dsC.Datos.Count > 0) { drC = (DsClientesGuia.DatosRow)dsC.Tables[0].Rows[0]; calle = drC.IsCalleNull() ? "" : drC.Calle; calleNro = drC.IsCalleNroNull() ? "" : drC.CalleNro; telefono = drC.IsTelefonoNull() ? "" : drC.Telefono; telCodArea = drC.IsTelCodAreaNull() ? "" : drC.TelCodArea; localidadID = drC.LocalidadID.ToString(); depto = drC.IsDeptoNull() ? "" : drC.Depto; fax = drC.IsFaxNull() ? "" : drC.Fax; domicilioID = drC.IsDomicilioIDNull() ? 0 : drC.DomicilioID; codigoPostalID = drC.IsCodigoPostalIDNull() ? 0 : drC.CodigoPostalID; codPostal = drC.IsCodPostalNull() ? "" : drC.CodPostal; Session["DsClientesGuiaRem"] = drC; } /*SFE: Implementacion Codigos Postales. Buscar el domicilio del cliente en la tabla GuiaFacturaCorporativo.*/ else { calle = cliente.DomicilioComercial.Calle; calleNro = cliente.DomicilioComercial.CalleNro; telefono = cliente.DomicilioComercial.Telefono; telCodArea = cliente.DomicilioComercial.TelCodArea; fax = cliente.DomicilioComercial.Fax; localidadID = cliente.DomicilioComercial.Localidad.LocalidadID.ToString(); depto = cliente.DomicilioComercial.Depto; domicilioID = cliente.DomicilioComercial.DomicilioID; //VSA: Modificación desarrollo Código postales codigoPostalID = cliente.DomicilioComercial.OCodigoPostal.CodigoPostalID; if (cliente.DomicilioComercial.OCodigoPostal.CodigoPostalID > 0) { codPostal = cliente.DomicilioComercial.OCodigoPostal.CodigoPostalNro; } else { codPostal = cliente.DomicilioComercial.Localidad.CodigoPostal; } } ILocalidad localidad = LocalidadFactory.GetLocalidad(); localidad.LocalidadID = Utiles.Validaciones.obtieneEntero(localidadID); localidad.Consultar(); provinciaID = localidad.Provincia.ProvinciaID.ToString(); localidadDescrip = localidad.LocalidadDescrip; provinciaDescrip = localidad.Provincia.ProvinciaDescrip; } else { /*Si no es para remitente. No tiene como paramentro agenciaID*/ dsD = clientes.GetClientesCorpDomicilio(cliente.ClienteID, AgenciaConectadaID, (int)NegociosSisPackInterface.SisPack.TipoAgenteGuia.Destinatario); if (dsD.Datos.Count > 0) { drD = (DsClientesGuia.DatosRow)dsD.Tables[0].Rows[0]; calle = drD.IsCalleNull() ? "" : drD.Calle; calleNro = drD.IsCalleNroNull() ? "" : drD.CalleNro; telefono = drD.IsTelefonoNull() ? "" : drD.Telefono; telCodArea = drD.IsTelCodAreaNull() ? "" : drD.TelCodArea; localidadID = drD.LocalidadID.ToString(); depto = drD.IsDeptoNull() ? "" : drD.Depto; fax = drD.IsFaxNull() ? "" : drD.Fax; domicilioID = drD.IsDomicilioIDNull() ? 0 : drD.DomicilioID; codigoPostalID = drD.IsCodigoPostalIDNull() ? 0 : drD.CodigoPostalID; codPostal = drD.IsCodPostalNull() ? "" : drD.CodPostal; Session["DsClientesGuiaDes"] = drD; } /*SFE: Implementacion Codigos Postales. Buscar el domicilio del cliente en la tabla GuiaFacturaCorporativo.*/ else { calle = cliente.DomicilioComercial.Calle; calleNro = cliente.DomicilioComercial.CalleNro; telefono = cliente.DomicilioComercial.Telefono; telCodArea = cliente.DomicilioComercial.TelCodArea; fax = cliente.DomicilioComercial.Fax; localidadID = cliente.DomicilioComercial.Localidad.LocalidadID.ToString(); depto = cliente.DomicilioComercial.Depto; domicilioID = cliente.DomicilioComercial.DomicilioID; //VSA: Modificación desarrollo Código postales codigoPostalID = cliente.DomicilioComercial.OCodigoPostal.CodigoPostalID; if (cliente.DomicilioComercial.OCodigoPostal.CodigoPostalID > 0) { codPostal = cliente.DomicilioComercial.OCodigoPostal.CodigoPostalNro; } else { codPostal = cliente.DomicilioComercial.Localidad.CodigoPostal; } } ILocalidad localidad = LocalidadFactory.GetLocalidad(); localidad.LocalidadID = Utiles.Validaciones.obtieneEntero(localidadID); localidad.Consultar(); provinciaID = localidad.Provincia.ProvinciaID.ToString(); localidadDescrip = localidad.LocalidadDescrip; provinciaDescrip = localidad.Provincia.ProvinciaDescrip; } //codPostal = localidad.CodigoPostal; //EXTRA //string localidadDescrip = dr.IsLocalidadNull()?"":dr.Localidad; strLocalidades = ""; if (this.txtTipoCliConsul.Text == "1") { strLocalidades = localidadID + "," + localidadDescrip + ";"; } else { // SFE: Desarrollo de codigos postales, se comenta el llenado de este txt //strLocalidades = LlenarCombos.LlenarStringLocalidades(Convert.ToInt32(provinciaID)); strLocalidades = string.Empty; } //EXTRA condicionIVA = ((int)cliente.CondicionIva).ToString(); cuit = cliente.NroCuit; tipoCliente = "True"; // es corporativo condicionPago = cliente.CondicionPago.ToString(); strProducto = ""; strTEntrega = ""; strServicio = ""; strModEntrega = ""; } /* * string depto=dr.IsDeptoNull()? "":dr.Depto.ToString(); * string condicionIVA= dr.IsCondicionIvaIDNull()?"":dr.CondicionIvaID.ToString(); * string cuit=dr.IsNroCUITNull()?"":dr.NroCUIT; * string tipoCliente=dr.TipoCliente.ToString(); * string condicionPago=dr.IsCondicionPagoDescripNull()?"":dr.CondicionPagoDescrip; * string strProducto = ""; * string strTEntrega = ""; * string strServicio = ""; * string strModEntrega = "";*/ if (this.txtAgenciaID.Text != "" && this.txtTipoCliConsul.Text == "1") //Se trata de un cliente corporativo { string agenciaID = this.txtAgenciaID.Text; agenciaFiltro = AgenciaFactory.GetAgencia(); agenciaFiltro.AgenciaID = Convert.ToInt32(agenciaID); agenciaFiltro.ConsultarBasico(); this.ObtenerUVentaOrigenByCliente(clienteID, ref strProducto, ref strTEntrega, ref strServicio, ref strModEntrega); } StringBuilder scriptString = new StringBuilder(); scriptString.Append("<script language='javascript'>\n"); scriptString.Append("window.dialogArguments.ClienteID = '" + clienteID.ToString() + "';\n"); scriptString.Append("window.dialogArguments.TipoDoc = '" + tipoDoc + "';\n"); scriptString.Append("window.dialogArguments.Codigo = '" + codigo + "';\n"); scriptString.Append("window.dialogArguments.Nombre = '" + nombre + "';\n"); scriptString.Append("window.dialogArguments.Apellido = '" + apellido + "';\n"); scriptString.Append("window.dialogArguments.Calle = '" + calle + "';\n"); scriptString.Append("window.dialogArguments.CalleNro = '" + calleNro + "';\n"); scriptString.Append("window.dialogArguments.Telefono = '" + telefono + "';\n"); scriptString.Append("window.dialogArguments.Fax = '" + fax + "';\n"); scriptString.Append("window.dialogArguments.Localidad = '" + localidadDescrip + "';\n"); scriptString.Append("window.dialogArguments.LocalidadID = '" + localidadID + "';\n"); scriptString.Append("window.dialogArguments.StrLocalidades = '" + strLocalidades + "';\n"); scriptString.Append("window.dialogArguments.Provincia = '" + provinciaDescrip + "';\n"); scriptString.Append("window.dialogArguments.ProvinciaID = '" + provinciaID + "';\n"); scriptString.Append("window.dialogArguments.CodPostal = '" + codPostal + "';\n"); scriptString.Append("window.dialogArguments.Depto = '" + depto + "';\n"); scriptString.Append("window.dialogArguments.CondicionIVA = '" + condicionIVA + "';\n"); scriptString.Append("window.dialogArguments.CondicionPago = '" + condicionPago + "';\n"); scriptString.Append("window.dialogArguments.Cuit = '" + cuit + "';\n"); scriptString.Append("window.dialogArguments.TipoCliente = '" + tipoCliente + "';\n"); scriptString.Append("window.dialogArguments.Producto = '" + strProducto + "';\n"); scriptString.Append("window.dialogArguments.TEntrega = '" + strTEntrega + "';\n"); scriptString.Append("window.dialogArguments.Servicio = '" + strServicio + "';\n"); scriptString.Append("window.dialogArguments.ModEntrega = '" + strModEntrega + "';\n"); scriptString.Append("window.dialogArguments.TelCodArea = '" + telCodArea + "';\n"); scriptString.Append("window.dialogArguments.DomicilioID = '" + domicilioID + "';\n"); scriptString.Append("window.dialogArguments.CodigoPostalID = '" + codigoPostalID.ToString() + "';\n"); scriptString.Append("window.returnValue = true;\n"); scriptString.Append("window.close();\n"); scriptString.Append("</script>"); Page.RegisterClientScriptBlock("scriptModalCliente", scriptString.ToString()); } }