private void CargarCombos() { try { txtEstablecimiento.Text = param.InfoSucursal.Su_CodigoEstablecimiento; tb_sis_Documento_Tipo_Talonario_Bus busTalonario = new tb_sis_Documento_Tipo_Talonario_Bus(); var Talonario = busTalonario.GetInfoRetElectronico(param.IdEmpresa); txtEstablecimiento.Text = Talonario.Establecimiento; txtPuntoEmision.Text = Talonario.PuntoEmision; lst_codigoSRI = bus_codigoSRI.Get_List_codigo_SRI_IvaRet(param.IdEmpresa); cmbCodigoSRI.DataSource = lst_codigoSRI; } catch (Exception) { throw; } }
private void GetInfo() { try { tb_sis_Documento_Tipo_Talonario_Bus busTalonario = new tb_sis_Documento_Tipo_Talonario_Bus(); var Talonario = busTalonario.GetInfoRetElectronico(param.IdEmpresa); txtTipo.Focus(); info.ret_Fecha = deRetFecha.DateTime.Date; info.ret_CodDocumentoTipo = "RETEN"; info.ret_Establecimiento = Talonario.Establecimiento; info.ret_PuntoEmision = Talonario.PuntoEmision; info.lstRetencion = new List <cp_XML_Documento_Retencion_Info>(blst); } catch (Exception) { } }
private void btnDigitalizar_Click(object sender, EventArgs e) { try { txtRutaXml.Focus(); gvDetalle.MoveNext(); tb_sis_Documento_Tipo_Talonario_Bus busTalonario = new tb_sis_Documento_Tipo_Talonario_Bus(); var Talonario = busTalonario.GetInfoRetElectronico(param.IdEmpresa); if (Talonario == null) { MessageBox.Show("Para crear retenciones automáticas el sistema necesita un talonario electrónico", param.Nombre_sistema, MessageBoxButtons.OK); return; } bool GenerarXML = true; foreach (var item in blst) { item.IdEmpresa = param.IdEmpresa; if (item.Tipo == "FACTURA") { item.ret_Establecimiento = param.InfoSucursal.Su_CodigoEstablecimiento; item.ret_PuntoEmision = Talonario.PuntoEmision; if (item.lstRetencion == null || item.lstRetencion.Count == 0) { item.lstRetencion = new List <cp_XML_Documento_Retencion_Info>(); var lstDet = ListaCodigoProveedor.Where(q => q.pe_cedulRuc == item.emi_Ruc).ToList(); if (lstDet.Count > 0) { foreach (var Detalle in lstDet) { item.lstRetencion.Add(new cp_XML_Documento_Retencion_Info { re_tipoRet = Detalle.re_tipo, re_baseRetencion = Math.Round(Convert.ToDouble(Detalle.re_tipo == "IVA" ? item.ValorIVA : (item.Subtotal0 + item.SubtotalIVA)), 2, MidpointRounding.AwayFromZero), IdCodigo_SRI = Detalle.IdCodigo_SRI, re_Codigo_impuesto = Detalle.re_Codigo_impuesto, re_Porcen_retencion = Detalle.re_Porcen_retencion, re_valor_retencion = Math.Round(Math.Round(Convert.ToDouble(Detalle.re_tipo == "IVA" ? item.ValorIVA : (item.Subtotal0 + item.SubtotalIVA)), 2, MidpointRounding.AwayFromZero) * (Detalle.re_Porcen_retencion / 100), 2, MidpointRounding.AwayFromZero) }); } } else { var ListaDet = bus_codigoProveedor.GetList(param.IdEmpresa, item.emi_Ruc); if (ListaDet.Count > 0) { ListaCodigoProveedor.AddRange(ListaDet); foreach (var Detalle in ListaDet) { item.lstRetencion.Add(new cp_XML_Documento_Retencion_Info { re_tipoRet = Detalle.re_tipo, re_baseRetencion = Math.Round(Convert.ToDouble(Detalle.re_tipo == "IVA" ? item.ValorIVA : (item.Subtotal0 + item.SubtotalIVA)), 2, MidpointRounding.AwayFromZero), IdCodigo_SRI = Detalle.IdCodigo_SRI, re_Codigo_impuesto = Detalle.re_Codigo_impuesto, re_Porcen_retencion = Detalle.re_Porcen_retencion, re_valor_retencion = Math.Round(Math.Round(Convert.ToDouble(Detalle.re_tipo == "IVA" ? item.ValorIVA : (item.Subtotal0 + item.SubtotalIVA)), 2, MidpointRounding.AwayFromZero) * (Detalle.re_Porcen_retencion / 100), 2, MidpointRounding.AwayFromZero) }); } } } } } item.IdUsuario = param.IdUsuario; if (bus_xml.GuardarDB(item, ref GenerarXML)) { string MensajeError = string.Empty; if (GenerarXML && !bus_xml.Generacion_xml_SRI(item.IdEmpresa, item.IdDocumento, ref MensajeError)) { MessageBox.Show("No se ha podido generar el XML de la retención del documento " + item.Comprobante + " de " + item.RazonSocial, param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } if (item.SeContabiliza) { if (item.IdDocumento != 0 && !bus_xml.GenerarOG(item.IdEmpresa, item.IdDocumento, param.IdUsuario)) { MessageBox.Show("No se ha podido contabilizar el documento " + item.Comprobante + " de " + item.RazonSocial, param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } } item.Imagen = 2; } gcDetalle.Refresh(); gcDetalle.RefreshDataSource(); gcDetalle.DataSource = blst; MessageBox.Show("Registros digitalizados exitósamente", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } catch (Exception ex) { MessageBox.Show(ex.Message, param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error); } }