Exemplo n.º 1
0
 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;
     }
 }
Exemplo n.º 2
0
        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)
            {
            }
        }
Exemplo n.º 3
0
        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);
            }
        }