public RespuestaComunConArchivo2 ConsultarTicketFE(string RutaWS, string usuario, string clave, string RucEmisor, string NroTicket, string IdentificadorArchivo, string CarpetaCdr) { ServicioEnviarComprobanteFE.FEServiceClient ServicioFE = new ServicioEnviarComprobanteFE.FEServiceClient(); ServicioEnviarComprobanteFE.EnviarDocumentoResponse RespuestaSunat = ServicioFE.ObtenerTicket(RutaWS, usuario, clave, RucEmisor, NroTicket, IdentificadorArchivo, CarpetaCdr); RespuestaComunConArchivo2 objrespuesta = new RespuestaComunConArchivo2(); objrespuesta.NombreArchivo = RespuestaSunat.NombreArchivo; objrespuesta.Exito = RespuestaSunat.Exito; objrespuesta.MensajeError = RespuestaSunat.MensajeError; objrespuesta.Pila = RespuestaSunat.Pila; objrespuesta.CodigoRespuesta = RespuestaSunat.CodigoRespuesta; objrespuesta.MensajeRespuesta = RespuestaSunat.MensajeRespuesta; objrespuesta.TramaZipCdr = RespuestaSunat.TramaZipCdr; return(objrespuesta); }
public RespuestaComunConArchivo2 EnviarXMLFE(string RutaWS, string usuario, string clave, string RucEmisor, string TipoDocumento, string IdentificadorArchivo, bool EsResumen, string CarpetaXML, string CarpetaCdr) { ServicioEnviarComprobanteFE.FEServiceClient ServicioFE = new ServicioEnviarComprobanteFE.FEServiceClient(); ServicioEnviarComprobanteFE.RespuestaComunConArchivo2 RespuestaSunat = ServicioFE.EnviarXML(RutaWS, usuario, clave, RucEmisor, TipoDocumento, IdentificadorArchivo, EsResumen, CarpetaXML, CarpetaCdr); RespuestaComunConArchivo2 objrespuesta = new RespuestaComunConArchivo2(); objrespuesta.NombreArchivo = RespuestaSunat.NombreArchivo; objrespuesta.Exito = RespuestaSunat.Exito; objrespuesta.MensajeError = RespuestaSunat.MensajeError; objrespuesta.Pila = RespuestaSunat.Pila; objrespuesta.CodigoRespuesta = RespuestaSunat.CodigoRespuesta; objrespuesta.MensajeRespuesta = RespuestaSunat.MensajeRespuesta; objrespuesta.TramaZipCdr = RespuestaSunat.TramaZipCdr; objrespuesta.NroTicket = RespuestaSunat.NroTicket; return(objrespuesta); }
private void BtnObtenerInformaciónTicket_Click(object sender, EventArgs e) { try { if (TdgProductosFormulados.RowCount > 0) { string NumComprobante = this.TdgProductosFormulados.Columns["NumComprobante"].Value.ToString(); string EstadoSunat = this.TdgProductosFormulados.Columns["EstadoSunat"].Value.ToString(); string TipoSunat = this.TdgProductosFormulados.Columns["TipoSunat"].Value.ToString(); string NroTicket = this.TdgProductosFormulados.Columns["NroTicket"].Value.ToString(); int ComprobanteId = Convert.ToInt32(this.TdgProductosFormulados.Columns["ComprobanteId"].Value.ToString()); NumComprobante = NumComprobante.Replace("RC-", "").Replace("RA-", ""); if ((EstadoSunat == "03" | EstadoSunat == "04" | EstadoSunat == "11" | EstadoSunat == "12") & TipoSunat == "RC" | TipoSunat == "RA") { RespuestaComunConArchivo2 respu = objCL_Comprobante.ConsultarTicketFE(RutaWS, UsuarioSOL, ClaveSol, ruc, NroTicket, NumComprobante, RutaCDRFE); if (respu.Exito) { //borramos los archivos if (TipoSunat == "RC") { System.IO.File.Delete(rutaarchivos + ruc + "-" + TipoSunat + "-" + NumComprobante + ".RDI"); } else if (TipoSunat == "RA") { System.IO.File.Delete(rutaarchivos + ruc + "-" + TipoSunat + "-" + NumComprobante + ".CBA"); } //eliminar de la bd objCL_Comprobante.EliminarFacturadorComprobantes(ruc + "-" + TipoSunat + "-" + NumComprobante, c1cboCia.SelectedValue.ToString()); //borramos las boletas seleccionadas DataTable DT = objCL_Comprobante.ActualizarTicketBaja(ComprobanteId, respu.MensajeRespuesta); foreach (DataRow DR in DT.Rows) { System.IO.File.Delete(rutaarchivos + ruc + "-" + DR["TipoSunat"].ToString() + "-" + DR["Comprobante"].ToString() + ".CAB"); System.IO.File.Delete(rutaarchivos + ruc + "-" + DR["TipoSunat"].ToString() + "-" + DR["Comprobante"].ToString() + ".DET"); System.IO.File.Delete(rutaarchivos + ruc + "-" + DR["TipoSunat"].ToString() + "-" + DR["Comprobante"].ToString() + ".LEY"); System.IO.File.Delete(rutaarchivos + ruc + "-" + DR["TipoSunat"].ToString() + "-" + DR["Comprobante"].ToString() + ".TRI"); //eliminar de la bd objCL_Comprobante.EliminarFacturadorComprobantes(ruc + "-" + DR["TipoSunat"].ToString() + "-" + DR["Comprobante"].ToString(), c1cboCia.SelectedValue.ToString()); } } MessageBox.Show("Se actualizo correctamente la información del ticket", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Information); BtnBuscar_Click(null, null); } else { MessageBox.Show("Solo se puede consultar ticket de resumen y de baja y que ya hayan sido enviados.", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void BtnEnviarFacturaOSE_Click(object sender, EventArgs e) { if (MessageBox.Show("¿Seguro que desea actualizar la infomación?, esta acción no se puede deshacer,\nadicionalmente eliminará los archivos ya aceptados por sunat", "Aviso", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK) { DataSet DS = objCL_Comprobante.ListarEnvioOSE(c1cboCia.SelectedValue.ToString(), Convert.ToDateTime(DtpFechaEnvioOSE.Value.ToShortDateString())); DataTable dt = DS.Tables[0]; foreach (DataRow DR in dt.Rows) { bool esresumen = false; DateTime?fecha = null; bool hayError = false; string mensaje = ""; string numcom = ""; string estadosunat = ""; string NroTicket = null; string rutafirmado = rutaarchivos.Substring(0, rutaarchivos.Length - 5) + "FIRMA"; int td = 0; td = Convert.ToInt16(DR["TipoComprobanteID"]); numcom = DR["NumComprobante"].ToString(); if (DR["TipoSunat"].ToString() == "RC" | DR["TipoSunat"].ToString() == "RA") { esresumen = true; //validamos que se haya generado todos los xml DataTable Dtboletas = objCL_Comprobante.ObtenerComprobantesResumen(Convert.ToInt32(DR["ComprobanteId"])); string listaSinGenerar = ""; foreach (DataRow Drbol in Dtboletas.Rows) { if (File.Exists(rutafirmado + @"\" + ruc + "-" + Drbol["TipoSunat"].ToString() + "-" + Drbol["Comprobante"] + ".xml") == false) { listaSinGenerar = listaSinGenerar + Drbol["TipoSunat"].ToString() + "-" + Drbol["Comprobante"] + ", "; hayError = true; mensaje = "No ha sido generado el XML de la(s) boleta(s) " + listaSinGenerar; } } } if (hayError) { estadosunat = "05"; objCL_Comprobante.ActualizarDesdeFacturadorSunat(c1cboCia.SelectedValue.ToString(), numcom, td, fecha, mensaje, estadosunat, NroTicket); hayError = false; continue; } RespuestaComunConArchivo2 respu = objCL_Comprobante.EnviarXMLFE(RutaWS, UsuarioSOL, ClaveSol, ruc, DR["TipoSunat"].ToString(), DR["Comprobante"].ToString(), esresumen, rutafirmado, RutaCDRFE); //elminamos archivos if (respu.Exito == true) { if (DR["TipoSunat"].ToString() == "01" | DR["TipoSunat"].ToString() == "03") { System.IO.File.Delete(rutaarchivos + ruc + "-" + DR["TipoSunat"].ToString() + "-" + DR["Comprobante"].ToString() + ".CAB"); System.IO.File.Delete(rutaarchivos + ruc + "-" + DR["TipoSunat"].ToString() + "-" + DR["Comprobante"].ToString() + ".DET"); System.IO.File.Delete(rutaarchivos + ruc + "-" + DR["TipoSunat"].ToString() + "-" + DR["Comprobante"].ToString() + ".LEY"); System.IO.File.Delete(rutaarchivos + ruc + "-" + DR["TipoSunat"].ToString() + "-" + DR["Comprobante"].ToString() + ".TRI"); } //tambien de la bd objCL_Comprobante.EliminarFacturadorComprobantes(ruc + "-" + DR["TipoSunat"].ToString() + "-" + DR["Comprobante"].ToString(), c1cboCia.SelectedValue.ToString()); fecha = DateTime.Now; mensaje = respu.MensajeRespuesta; estadosunat = "03"; if (respu.NroTicket != "" & respu.NroTicket != null) { NroTicket = respu.NroTicket; } } else { estadosunat = "05"; mensaje = (respu.MensajeRespuesta == "" | respu.MensajeRespuesta == null) ? respu.MensajeError : respu.MensajeRespuesta; } //actualizamos en bd objCL_Comprobante.ActualizarDesdeFacturadorSunat(c1cboCia.SelectedValue.ToString(), numcom, td, fecha, mensaje, estadosunat, NroTicket); } MessageBox.Show("Se termino de actualizar.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } }