private IList <ConceptoReporteDTO> llenarRol301100(IList <ConceptoReporteDTO> conceptos, DocumentoInstanciaXbrlDto instancia)
        {
            foreach (ConceptoReporteDTO concepto in conceptos)
            {
                HechoReporteDTO hechoReporte = null;
                llenarConcepto(concepto, instancia);
                if (concepto.Abstracto)
                {
                    continue;
                }
                if (!concepto.Hechos.ContainsKey("periodo_actual"))
                {
                    IList <String> hechos;
                    if (!instancia.HechosPorIdConcepto.TryGetValue(concepto.IdConcepto, out hechos))
                    {
                        continue;
                    }

                    if (hechos != null)
                    {
                        foreach (String idHecho in hechos)
                        {
                            String fecha = null;

                            HechoDto    hecho    = instancia.HechosPorId[idHecho];
                            ContextoDto contexto = instancia.ContextosPorId[hecho.IdContexto];

                            if (contexto.ContieneInformacionDimensional)
                            {
                                //log.info(hecho.Valor);

                                if (contexto.Periodo.Tipo == PeriodoDto.Instante)
                                {
                                    fecha = DateReporteUtil.formatoFechaEstandar(contexto.Periodo.FechaInstante);

                                    if ((fecha.Equals(reporteXBRLDTO.PeriodosReporte["periodo_actual"])) &&
                                        concepto.Hechos.ContainsKey(contexto.ValoresDimension[0].IdItemMiembro))
                                    {
                                        hechoReporte = concepto.Hechos[contexto.ValoresDimension[0].IdItemMiembro];
                                        llenarHecho(concepto, hecho, hechoReporte);
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    hechoReporte = concepto.Hechos["periodo_actual"];
                    obtenerHecho(concepto, hechoReporte, instancia);
                }
            }

            return(conceptos);
        }
        private IList <ConceptoReporteDTO> llenarRol800003(IList <ConceptoReporteDTO> conceptos, DocumentoInstanciaXbrlDto instancia)
        {
            foreach (ConceptoReporteDTO concepto  in  conceptos)
            {
                HechoReporteDTO hechoReporte = null;

                llenarConcepto(concepto, instancia);

                IDictionary <String, HechoReporteDTO> hechosReporte = concepto.Hechos;

                if (!concepto.Abstracto && hechosReporte != null)
                {
                    if (hechosReporte.ContainsKey("cierre_trim_actual"))
                    {
                        hechoReporte       = hechosReporte["cierre_trim_actual"];
                        hechoReporte.Valor = ReporteXBRLUtil.obtenerValorHecho(concepto.IdConcepto, instancia);
                    }
                    else
                    {
                        IList <String> hechos;
                        if (!instancia.HechosPorIdConcepto.TryGetValue(concepto.IdConcepto, out hechos))
                        {
                            //var detalleError = CreaDetalleError(instancia, "No fue posible obtener el listado de hechos para el concepto \"" + concepto.IdConcepto + "\".");
                            //detalleError.Add("ConceptoError", concepto);
                            //LogUtil.Error(detalleError);
                            continue;
                        }

                        if (hechos != null)
                        {
                            foreach (String idHecho  in  hechos)
                            {
                                String fecha = null;

                                HechoDto    hecho;
                                ContextoDto contexto;

                                if (instancia.HechosPorId.TryGetValue(idHecho, out hecho) &&
                                    instancia.ContextosPorId.TryGetValue(hecho.IdContexto, out contexto) &&
                                    contexto.ContieneInformacionDimensional)
                                {
                                    //log.info(hecho.Valor);
                                    if (contexto.Periodo.Tipo == PeriodoDto.Instante)
                                    {
                                        fecha = DateReporteUtil.formatoFechaEstandar(contexto.Periodo.FechaInstante);
                                        String fechaCierrreTrimestreActual;
                                        String idItemMiembroContexto = contexto.ValoresDimension[0].IdItemMiembro;
                                        if (reporteXBRLDTO.PeriodosReporte.TryGetValue("cierre_trim_actual", out fechaCierrreTrimestreActual) &&
                                            fecha.Equals(fechaCierrreTrimestreActual) &&
                                            concepto.Hechos.TryGetValue(idItemMiembroContexto, out hechoReporte))
                                        {
                                            llenarHecho(concepto, hecho, hechoReporte);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            return(conceptos);
        }