private async void CrearXmlBajas() { try { vFechaXml = "RA-" + Convert.ToString(DtpFechaEnvio.Value.Year); vFechaXml += Modfunc.Derecha("0" + Convert.ToString(DtpFechaEnvio.Value.Month), 2); vFechaXml += Modfunc.Derecha("0" + Convert.ToString(DtpFechaEnvio.Value.Day), 2); vFechaXml += "-002"; OpenInvoicePeru.Comun.Dto.Modelos.ComunicacionBaja ComunicacionBaja = new Comun.Dto.Modelos.ComunicacionBaja(); ComunicacionBaja.IdDocumento = vFechaXml; ComunicacionBaja.FechaEmision = DtpFechaEnvio.Value.ToString(FormatoFecha); ComunicacionBaja.FechaReferencia = DtpFecha.Value.ToString(FormatoFecha); ComunicacionBaja.Emisor = CrearEmisor(DtEmpresa); ComunicacionBaja.Bajas = new List <OpenInvoicePeru.Comun.Dto.Modelos.DocumentoBaja>(); for (int i3 = 0; i3 <= DtDocumentos.Rows.Count - 1; i3++) { OpenInvoicePeru.Comun.Dto.Modelos.DocumentoBaja DocumentoBajasItem = new OpenInvoicePeru.Comun.Dto.Modelos.DocumentoBaja(); DocumentoBajasItem.Id = i3 + 1; DocumentoBajasItem.Correlativo = Convert.ToString(DtDocumentos.Rows[i3]["NumeroDocumento"]); DocumentoBajasItem.TipoDocumento = Convert.ToString(DtDocumentos.Rows[i3]["TipoDocumento"]); DocumentoBajasItem.Serie = Convert.ToString(DtDocumentos.Rows[i3]["SerieDocumento"]); DocumentoBajasItem.MotivoBaja = "Anulación por otro tipo de documento"; ComunicacionBaja.Bajas.Add(DocumentoBajasItem); } string _metodoApi = "api/GenerarComunicacionBaja"; var response = await _client.PostAsJsonAsync(_metodoApi, ComunicacionBaja); var respuesta = await response.Content.ReadAsAsync <DocumentoResponse>(); if (!respuesta.Exito) { throw new ApplicationException(respuesta.MensajeError); } String vRutaXml = Convert.ToString(DtEmpresa.Rows[0]["CarpetaEnviosXml"]); RutaArchivo = ComunicacionBaja.IdDocumento; // RutaArchivo = Convert.ToString(DtEmpresa.Rows[0]["EmpresaRuc"]) + "-" + ComunicacionBaja.IdDocumento; RutaArchivo = Path.Combine(vRutaXml, $"{RutaArchivo}.xml"); File.WriteAllBytes(RutaArchivo, Convert.FromBase64String(respuesta.TramaXmlSinFirma)); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void BntGenerar_Click(object sender, EventArgs e) { Int32 vTotales = new Int32(); SQL = " SELECT Establecimiento_id,Fechadocumento,b.*,Letras=[dbo].fn_NumeroEnLetra(TotalImporteVenta,'01') "; SQL += " FROM dbo.FE_DocumentosElectronicosCab a "; SQL += " INNER join FE_DocumentosElectronicosDet b ON a.empresacodigo = b.empresacodigo "; SQL += " AND a.documentoselectronicos_id = b.documentoselectronicos_id "; SQL += " WHERE a.Empresacodigo='" + Ctr_AyuEmpresa.Codigo + "' AND fechadocumento = '" + DtpFecha.Text + "'"; if (vTipoDoc == "RC" || vTipoDoc == "CC") { SQL = " SELECT Item=IdentificadorEnvio+1,Establecimiento_id,Fechadocumento,b.*,Letras=[dbo].fn_NumeroEnLetra(TotalImporteVenta,'01') "; SQL += " FROM dbo.FE_ResumenDiarioDocumentosCab a "; SQL += " INNER join FE_ResumenDiarioDocumentosDet b ON a.empresacodigo = b.empresacodigo "; SQL += " AND a.Resumendiario_id = b.Resumendiario_id "; SQL += " WHERE a.Empresacodigo='" + Ctr_AyuEmpresa.Codigo + "' AND fechadocumento = '" + DtpFecha.Text + "'"; if (vTipoDoc == "CC") { SQL += " AND tipodocumento<>'03' "; } else { SQL += " AND tipodocumento='03' "; } } else if (vTipoDoc == "RA") { SQL = " SELECT Item=IdentificadorEnvio+1,Establecimiento_id,Fechadocumento,b.* "; SQL += " FROM dbo.FE_ComunicacionBajaCab a "; SQL += " INNER join FE_ComunicacionBajaDet b ON a.empresacodigo = b.empresacodigo "; SQL += " AND a.ComunicacionBaja_id = b.ComunicacionBaja_id "; SQL += " WHERE a.Empresacodigo='" + Ctr_AyuEmpresa.Codigo + "' AND fechadocumento = '" + DtpFecha.Text + "'"; } else { SQL += "AND TipoDocumento='" + vTipoDoc + "'"; } SQL += " AND a.EstadoAnulado=0 AND b.EstadoAnulado=0 "; DtDocumentos = Modfunc.ConsultarTabla(SQL, VGCnxSqlE); DgvConsulta.DataSource = DtDocumentos; txtNroReg.Text = Convert.ToString(DtDocumentos.Rows.Count); if (DtDocumentos.Rows.Count > 0) { txtVtas.Text = Convert.ToString(Modfunc.Totalventas(DtDocumentos)); } txtResult.Text = ""; // txtResult.Text = "Proceso de generacion de factura/boletas XML "+"\n"; try { if (DtDocumentos.Rows.Count > 0) { // Creacion de directorio empresa vRutaXml = Convert.ToString(DtEmpresa.Rows[0]["CarpetaEnviosXml"]); vRutaArchivoXML = Ctr_AyuEmpresa.Codigo; vRutaArchivoXML = Modfunc.CreacionDirectorio(vRutaXml, vRutaArchivoXML); // Creacion de directorio de facturas electronicas // Creacion de directorio año vRutaXml = vRutaArchivoXML; vRutaArchivoXML = Convert.ToString(DtpFecha.Value.Year); vRutaArchivoXML = Modfunc.CreacionDirectorio(vRutaXml, vRutaArchivoXML); // Creacion de directorio mes vRutaXml = vRutaArchivoXML; vRutaArchivoXML = Modfunc.DesMes(Modfunc.Derecha("0" + Convert.ToString(DtpFecha.Value.Month), 2)); vRutaArchivoXML = Modfunc.CreacionDirectorio(vRutaXml, vRutaArchivoXML); // Creacion de directorio XML vRutaXml = vRutaArchivoXML; vRutaCdr = vRutaXml; vRutaArchivoXML = "XML"; vRutaXml = Modfunc.CreacionDirectorio(vRutaXml, vRutaArchivoXML); vRutaArchivoXML = "CDR"; vRutaCdr = Modfunc.CreacionDirectorio(vRutaCdr, vRutaArchivoXML); } switch (vTipoDoc) { case "RA": CrearXmlBajas(); break; case "RC": CrearXmlResumen2(); break; case "CC": CrearXmlResumen2(); break; default: for (int ii = 0; ii <= DtDocumentos.Rows.Count - 1; ii++) { CrearXmlFact(ii); } break; } BntSunat.Visible = true; BntGenerar.Visible = false; } catch (Exception ex) { MessageBox.Show(ex.Message); } }