private void frmVisorSUNAT_Load(object sender, EventArgs e) { try { clsEntityDeclarant declarante = new clsEntityDeclarant().cs_pxObtenerUnoPorId(new clsBaseConfiguracion().Cs_pr_Declarant_Id); clsEntitySummaryDocuments rd = new clsEntitySummaryDocuments().cs_fxObtenerUnoPorId(this.id); txtDocumento.Text = rd.Cs_tag_ID; txtFechaemision.Text = rd.Cs_tag_IssueDate; txtRazonsocial.Text = declarante.Cs_pr_RazonSocial; txtRuc.Text = declarante.Cs_pr_Ruc; } catch (Exception ex) { clsBaseMensaje.cs_pxMsg("Error visor Sunat", "Error al cargar el formulario"); clsBaseLog.cs_pxRegistarAdd("frmVisorSUNAT_Load" + ex.ToString()); } /* * rbtEnvío.Checked = true; * txtDocumentotipo.Text = clsBaseUtil.cs_fxComprobantesElectronicos_descripcion(cabecera.Invoice_InvoiceTypeCode); * txtRuc.Text = cabecera.AccountingSupplierParty_CustomerAssignedAccountID; * txtFechaemision.Text = cabecera.Invoice_IssueDate; * txtRazonsocial.Text = cabecera.AccountingCustomerParty_Party_PartyLegalEntity_RegistrationName; * txtSerienumero.Text = cabecera.Invoice_ID; * if (cabecera.comprobante_xml_envio.Length<=0) * { * rbtRecepción.Enabled = false; * btnDescargarXML_Recepción.Enabled = false; * }*/ }
//Metodo de cargar de comprobantes electronicaos en la grilla principal. private void cs_pxCargarDgvComprobanteselectronicos(string tipo, string estadocomprobantescc, string estadocomprobantesunat, string fechainicio, string fechafin) { //Limpiar la grilla. dgComprobantes.ItemsSource = null; dgComprobantes.Items.Clear(); //Obtener los registros de boletas. registros = new clsEntityDocument(localDB).cs_pxObtenerFiltroPrincipal(tipo, estadocomprobantesunat, estadocomprobantescc, fechainicio, fechafin, "'03','07','08'", true); lista_reporte = new List <ReporteDocumento>(); //lista_reporte = new ObservableCollection<Reporte>(); //Recorrer los registros para rellenar la grilla. if (registros != null) { foreach (var item in registros) { itemRow = new ReporteDocumento(); itemRow.Id = item.Cs_pr_Document_Id; itemRow.Tipo = item.Cs_tag_InvoiceTypeCode; itemRow.SerieNumero = item.Cs_tag_ID; itemRow.FechaEmision = item.Cs_tag_IssueDate; itemRow.FechaEnvio = item.comprobante_fechaenviodocumento; itemRow.Ruc = item.Cs_tag_AccountingCustomerParty_CustomerAssignedAccountID; itemRow.RazonSocial = item.Cs_tag_AccountingCustomerParty_Party_PartyLegalEntity_RegistrationName; itemRow.Comentario = item.Cs_pr_ComentarioSUNAT; itemRow.ComunicacionBaja = item.Cs_pr_ComunicacionBaja; itemRow.ResumenDiario = item.Cs_pr_Resumendiario; itemRow.DocumentoReferencia = item.Cs_tag_BillingReference_DocumentTypeCode; itemRow.TipoTexto = clsBaseUtil.cs_fxComprobantesElectronicos_descripcion(item.Cs_tag_InvoiceTypeCode); itemRow.EstadoSCC = clsBaseUtil.cs_fxComprobantesEstadosSCC_descripcion(Convert.ToInt16(item.Cs_pr_EstadoSCC)).ToUpper(); if (item.Cs_pr_Resumendiario != "") { resumen = new clsEntitySummaryDocuments(localDB).cs_fxObtenerUnoPorId(item.Cs_pr_Resumendiario); if (resumen != null) { /*Cambiado para que se muestre el estado del comprobante y ya no del resumen diario*/ //itemRow.EstadoSunat = clsBaseUtil.cs_fxComprobantesEstadosSUNAT_descripcion(Convert.ToInt16(resumen.Cs_pr_EstadoSUNAT)).ToUpper(); itemRow.EstadoSunat = clsBaseUtil.cs_fxComprobantesEstadosSUNAT_descripcion(Convert.ToInt16(item.Cs_pr_EstadoSUNAT)).ToUpper(); itemRow.ResumenDiarioTexto = resumen.Cs_tag_ID; itemRow.ResumenDiarioFechaEnvio = resumen.Cs_tag_IssueDate; itemRow.ResumenDiarioTicket = resumen.Cs_pr_Ticket; } else { itemRow.EstadoSunat = clsBaseUtil.cs_fxComprobantesEstadosSUNAT_descripcion(Convert.ToInt16(item.Cs_pr_EstadoSUNAT)).ToUpper(); } } else { itemRow.EstadoSunat = clsBaseUtil.cs_fxComprobantesEstadosSUNAT_descripcion(Convert.ToInt16(item.Cs_pr_EstadoSUNAT)).ToUpper(); } itemRow.fechadebaja = item.Cs_tag_FechaDeBaja; lista_reporte.Add(itemRow); } } dgComprobantes.ItemsSource = lista_reporte; }
private void btnSustituir_Click(object sender, EventArgs e) { string no_procesados = String.Empty; string resumenes_exito = String.Empty; if (dgvResumendiario.Rows.Count > 0) { int count = 0; foreach (DataGridViewRow row in dgvResumendiario.Rows) { if ((bool)row.Cells[1].Value == true) { /* if(row.Cells[11].ToString() == "0") * {*/ count++; /* }*/ /*else * { * no_procesados += row.Cells[2].ToString(); * }*/ } } if (no_procesados != "") { MessageBox.Show("Los siguientes resumenes no pueden ser sustituidos o rectificados ya que no fueron enviados a SUNAT"); } if (count > 0) { if (MessageBox.Show("¿Está seguro que desea sustituir/rectificar los resumenes seleccionados?\n Los documentos asociados seran liberados y podra volverlos a agregar a resumen diario.", "¿Está seguro?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { foreach (DataGridViewRow row in dgvResumendiario.Rows) { if ((bool)row.Cells[1].Value == true) { bool exito = new clsEntitySummaryDocuments().cs_pxLiberarSustitutorioDocumento(row.Cells[0].Value.ToString()); if (exito) { resumenes_exito += row.Cells[2].Value.ToString() + "\n"; } } } if (resumenes_exito != "") { MessageBox.Show("Los siguientes resumenes fueron liberados con exito:\n" + resumenes_exito); } cs_pxCargarDgvResumenesFecha(dtpFechaInicio.Value.ToString("yyyy-MM-dd"), dtpFechaFin.Value.ToString("yyyy-MM-dd")); } } } }
/// <summary> /// Genera un Resumen diario de boletas y sus NC y ND asociadas. /// </summary> /// <param name="Id">Id del resumen diario.</param> /// <returns>NombreTributo del archivo generado.</returns> public string cs_pxGenerarResumenRC(string Id) { string archivo_nombre_XML = string.Empty, archivo_nombre_ZIP = string.Empty, archivo_nombre_directorio = string.Empty; try { clsEntitySummaryDocuments SummaryDocuments = new clsEntitySummaryDocuments(localDB).cs_fxObtenerUnoPorId(Id); if (SummaryDocuments.Cs_pr_EstadoSUNAT != "1") { string fila = string.Empty; fila = new clsNegocioCEResumenDiario(localDB).cs_pxGenerarXMLAString(Id); #region Genera el nombre de archivo archivo_nombre_XML = declarante.Cs_pr_Ruc + "-" + "RC" + "-" + DateTime.Now.ToString("yyyy-MM-dd").Replace("-", "") + "-" + SummaryDocuments.Cs_tag_ID.Split('-')[2].Trim().ToString() + ".xml"; archivo_nombre_ZIP = declarante.Cs_pr_Ruc + "-" + "RC" + "-" + DateTime.Now.ToString("yyyy-MM-dd").Replace("-", "") + "-" + SummaryDocuments.Cs_tag_ID.Split('-')[2].Trim().ToString() + ".zip"; archivo_nombre_directorio = declarante.Cs_pr_Ruc + "-" + "RC" + "-" + DateTime.Now.ToString("yyyy-MM-dd").Replace("-", "") + "-" + SummaryDocuments.Cs_tag_ID.Split('-')[2].Trim().ToString(); string documento_ruta = new clsBaseConfiguracion().cs_prRutadocumentosenvio + "/", documento_ruta_nombre = documento_ruta + archivo_nombre_directorio + "\\" + archivo_nombre_XML; if (File.Exists(documento_ruta_nombre)) { File.Delete(documento_ruta_nombre); } if (Directory.Exists(documento_ruta + archivo_nombre_directorio)) { var dir = new DirectoryInfo(documento_ruta + archivo_nombre_directorio); dir.Attributes = dir.Attributes & ~FileAttributes.ReadOnly; dir.Delete(true); } if (!Directory.Exists(documento_ruta + archivo_nombre_directorio)) { Directory.CreateDirectory(documento_ruta + archivo_nombre_directorio); } if (!File.Exists(documento_ruta_nombre)) { File.Create(documento_ruta_nombre).Close(); } //StreamWriter sw1 = new StreamWriter(documento_ruta_nombre); sw1.WriteLine(fila); sw1.Close(); fila = string.Empty; StreamWriter sw1 = new StreamWriter(File.Open(documento_ruta_nombre, FileMode.OpenOrCreate), Encoding.GetEncoding("ISO-8859-1")); sw1.WriteLine(fila); sw1.Close(); fila = string.Empty; DirectoryInfo x = new DirectoryInfo(documento_ruta + archivo_nombre_directorio); cs_prComprimirZIP(x); #endregion } return(archivo_nombre_ZIP); } catch (Exception ex) { clsBaseLog.cs_pxRegistarAdd("clsNegocioCE cs_pxGenerarResumenRC" + ex.ToString()); return(null); } }
private void btnLiberar_Click(object sender, RoutedEventArgs e) { string no_procesados = String.Empty; string resumenes_exito = String.Empty; string resumenes_rechazo = string.Empty; try { List <string> seleccionados = new List <string>(); foreach (var item in lista_reporte) { //Si estan seleccionados if (item.Check == true) { seleccionados.Add(item.Id); } } if (seleccionados.Count > 0) { if (System.Windows.Forms.MessageBox.Show("¿Está seguro que desea complementar los resumenes seleccionados?\n Los documentos asociados seran" + " liberados y podra volverlos a agregar a resumen diario.", "¿Está seguro?", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Information) == System.Windows.Forms.DialogResult.Yes) { foreach (var item in lista_reporte) { //Si estan seleccionados if (item.Check == true) { //Cristhian|07/02/2018|FEICONT2-588 /*Se agrega una validación para no liberar los resumenes diarios que han sido aceptados por la SUNAT*/ /*INICIO MODIFICACIóN*/ /*Se verifica que el codigo de sunat no sea 0 o 5 (Que es para consultar ticket)*/ if (item.EstadoSunatCodigo != "0" && item.EstadoSunatCodigo != "5") { bool exito = new clsEntitySummaryDocuments(localDB).cs_pxLiberarSustitutorioDocumento(item.Id); if (exito) { resumenes_exito += item.Archivo + "\n"; } } /*Caso contrario ya tiene el estado de rechazado o pendiente, y ya no se puede librerar*/ else { /*Se anota el código del resumen diario que no fue liberado*/ resumenes_rechazo += item.Archivo + "\n"; } /*para eliminar los items del sumary document*/ if (item.EstadoSunatCodigo == "2") { new clsEntitySummaryDocuments(localDB).cs_pxEliminarDocumento(item.Id, true); } /*FIN MODIFICACIóN*/ } } if (resumenes_exito != "") { System.Windows.Forms.MessageBox.Show("Los siguientes resumenes fueron liberados con exito:\n" + resumenes_exito); } //Cristhian|07/02/2018|FEICONT2-588 /*Se envia mensaje de rechazo*/ /*NUEVO INICIO*/ /*Si se tiene algun resumen diario que no fue liberado, entonces se muestra el mensaje*/ if (resumenes_rechazo != "") { System.Windows.Forms.MessageBox.Show("Los siguientes resumenes no fueron liberados:\n" + resumenes_rechazo + "Por que estan en proceso o fueron aceptados por SUNAT \n"); } /*NUEVO FIN*/ refrescarGrilla(); } } else { System.Windows.Forms.MessageBox.Show("Seleccione al menos un item"); } }catch (Exception ex) { clsBaseLog.cs_pxRegistarAdd("liberarRD " + ex.ToString()); } }
private void frmResumendiarioOpciones_Load(object sender, EventArgs e) { try { clsEntityDeclarant declarante = new clsEntityDeclarant().cs_pxObtenerUnoPorId(new clsBaseConfiguracion().Cs_pr_Declarant_Id); clsEntitySummaryDocuments rd = new clsEntitySummaryDocuments().cs_fxObtenerUnoPorId(id_resumendiario); txtDocumento.Text = rd.Cs_tag_ID; txtFechaemision.Text = rd.Cs_tag_IssueDate; txtRazonsocial.Text = declarante.Cs_pr_RazonSocial; txtRuc.Text = declarante.Cs_pr_Ruc; dgvComprobanteselectronicos.Rows.Clear(); List <List <string> > registros = new clsEntityDocument().cs_pxObtenerPorResumenDiario(id_resumendiario); int numero_orden = 0; foreach (var item in registros) { numero_orden++; dgvComprobanteselectronicos.Rows.Add( item[0].ToString().Trim(), //ID false, numero_orden.ToString(), //ID clsBaseUtil.cs_fxComprobantesElectronicos_descripcion(item[3].Trim()), //Comprobantes item[28].Trim(), //Estado SCC item[27].Trim(), //Estado SUNAT item[1].ToString().Trim(), //Serie - número item[2].ToString().Trim(), //Fecha de emisión item[21].ToString().Trim(), //Ruc item[23].ToString().Trim(), //Razón social item[28].ToString().Trim(), //Razón social item[27].ToString().Trim(), //Razón social item[35].ToString().Trim(), //Fecha de envío item[32].ToString().Trim(), //Comentario de sunat item[33].ToString().Trim() //Incluido en resumen diario ); } foreach (DataGridViewRow row in dgvComprobanteselectronicos.Rows) { switch (row.Cells[10].Value.ToString()) { case "1": row.Cells[4].Style.ForeColor = Color.Red; //Pendiente (errores) Seleccionar.ReadOnly = false; break; case "2": row.Cells[4].Style.ForeColor = Color.RoyalBlue; //Pendiente (correcto) break; case "0": row.Cells[4].Style.ForeColor = Color.Green; //Enviado break; } row.Cells[4].Value = clsBaseUtil.cs_fxComprobantesEstadosSCC_descripcion(Convert.ToInt16(row.Cells[10].Value)).ToUpper(); switch (row.Cells[11].Value.ToString()) { case "0": row.Cells[5].Style.ForeColor = Color.Green; //Aceptado break; case "1": row.Cells[5].Style.ForeColor = Color.Brown; //Rechazado break; case "2": row.Cells[5].Style.ForeColor = Color.Red; //Sin respuesta break; case "3": row.Cells[5].Style.ForeColor = Color.Salmon; //Anulado break; } row.Cells[5].Value = clsBaseUtil.cs_fxComprobantesEstadosSUNAT_descripcion(Convert.ToInt16(row.Cells[11].Value)).ToUpper(); } } catch (Exception ex) { MessageBox.Show("Error al cargar items.Revise archivo de errores"); clsBaseLog.cs_pxRegistarAdd("frmResumendiarioOpciones_Load " + ex.ToString()); } }
private void cs_pxCargarDgvResumenesFecha(string fechainicio, string fechafin) { dgvResumendiario.Rows.Clear(); try { List <List <string> > registros = new clsEntitySummaryDocuments().cs_fxObtenerResumenesPorRangoFecha(fechainicio, fechafin); foreach (var item in registros) { string fecha_de_envío = string.Empty; /*if (item[9].Trim() == "2")//verifica estado sunat si es sin estado * { * fecha_de_envío = DateTime.Now.ToString("yyyy-MM-dd"); * } * else * {*/ fecha_de_envío = item[3].Trim(); //reference date dia de lso docuemtnos dentro del resumen. //} dgvResumendiario.Rows.Add( item[0].ToString().Trim(), //id false, //checkbox item[1].Trim(), //tag id item[2].Trim(), //tag reference date fecha_de_envío, item[7], //ticket "", "", item[10].ToString().Trim(), //comentario sunat cell 8 item[13].ToString().Trim(), //excepcion sunat cell- 9 item[8].ToString().Trim(), //estado scc cell - 10 item[9].ToString().Trim() //estado sunat cell - 11 ); } foreach (DataGridViewRow row in dgvResumendiario.Rows) { //para estado SCC switch (row.Cells[10].Value.ToString()) { case "1": row.Cells[6].Style.ForeColor = Color.Red; //Pendiente (errores) Seleccionar.ReadOnly = false; break; case "2": row.Cells[6].Style.ForeColor = Color.RoyalBlue; //Pendiente (correcto) break; case "0": row.Cells[6].Style.ForeColor = Color.Green; //Enviado break; } row.Cells[6].Value = clsBaseUtil.cs_fxComprobantesEstadosSCC_descripcion(Convert.ToInt16(row.Cells[10].Value)).ToUpper(); switch (row.Cells[11].Value.ToString()) { case "0": row.Cells[7].Style.ForeColor = Color.Green; //Aceptado break; case "1": row.Cells[7].Style.ForeColor = Color.Brown; //Rechazado break; case "2": row.Cells[7].Style.ForeColor = Color.Red; //Sin respuesta break; case "3": row.Cells[7].Style.ForeColor = Color.Salmon; //Anulado break; case "4": row.Cells[7].Style.ForeColor = Color.Blue; //En proceso //desde sunat break; case "5": row.Cells[7].Style.ForeColor = Color.Green; //Ticket a consultar break; } row.Cells[7].Value = clsBaseUtil.cs_fxComprobantesEstadosSUNAT_descripcion(Convert.ToInt16(row.Cells[11].Value)).ToUpper(); } } catch (Exception ex) { clsBaseLog.cs_pxRegistarAdd("cs_pxCargarDgvResumenesFecha" + ex.Message.ToString()); } }