コード例 #1
0
        public override void obtenerValoresIniciales(DocumentoInstanciaXbrlDto instancia)
        {
            String claveCotizacion = ReporteXBRLUtil.obtenerValorHecho(reporteXBRLDTO.PrefijoTaxonomia + ReportConstants.NOMBRE_CONCEPTO_EMISORA, instancia);
            String moneda = ReporteXBRLUtil.obtenerValorMoneda(instancia);
            String fechaReporte = obtenerFechaReporteAnual(instancia);

            reporteXBRLDTO.ClaveCotizacion = claveCotizacion;
            reporteXBRLDTO.Moneda = moneda;
            reporteXBRLDTO.FechaReporte = fechaReporte;
        }
コード例 #2
0
        ///
        /// (non-Javadoc)
        /// @see com.bmv.spread.xbrl.reportes.builder.ReporteBuilder#obtenerValoresIniciales(com.hh.xbrl.abax.viewer.application.dto.DocumentoInstanciaXbrlDto)
        ////
        public override void obtenerValoresIniciales(DocumentoInstanciaXbrlDto instancia)
        {
            String nombreReporte = ReporteXBRLUtil.NOMBRE_REPORTE_FIDU;

            String  claveCotizacion = ReporteXBRLUtil.obtenerValorHecho(reporteXBRLDTO.PrefijoTaxonomia + ReportConstants.NOMBRE_CONCEPTO_EMISORA, instancia);
            String  fechaReporte    = ReporteXBRLUtil.obtenerValorHecho(ReportConstants.ID_FECHA_CIERRE_REPORTE_2014, instancia);
            String  anio            = fechaReporte.Substring(0, fechaReporte.IndexOf("-"));
            String  trimestre       = ReporteXBRLUtil.obtenerValorHecho(reporteXBRLDTO.PrefijoTaxonomia + ReportConstants.NOMBRE_CONCEPTO_NUMERO_TRIMESTRE, instancia);
            String  moneda          = ReporteXBRLUtil.obtenerValorMoneda(instancia);
            Boolean consolidado     = false;
            String  fideicomiso     = ReporteXBRLUtil.obtenerValorHecho(reporteXBRLDTO.PrefijoTaxonomia + ReportConstants.NOMBRE_CONCEPTO_NUMERO_FIDEICOMISO, instancia);
            String  fechaCreacion   = DateTime.Now.ToString(ReporteXBRLUtil.FORMATO_FECHA_CREACION);

            if (reporteXBRLDTO.Taxonomia.Equals(ReportConstants.CLAVE_CCD))
            {
                consolidado = ReporteXBRLUtil.obtenerValorHecho(ReportConstants.NOMBRE_CONCEPTO_CCD_CONSOLIDADO, instancia).ToUpper().Trim().Equals(ReportConstants.VALOR_SI) ||
                              ReporteXBRLUtil.obtenerValorHecho(ReportConstants.NOMBRE_CONCEPTO_CCD_CONSOLIDADO, instancia).ToLower().Trim().Equals(ReportConstants.VALOR_SI_TRUE) ||
                              ReporteXBRLUtil.obtenerValorHecho(ReportConstants.NOMBRE_CONCEPTO_CCD_CONSOLIDADO, instancia).ToLower().Trim().Equals(ReportConstants.VALOR_SI_2) ? true : false;

                reporteXBRLDTO.AplicaConsolidado = true;
            }
            else
            {
                reporteXBRLDTO.AplicaConsolidado = false;
            }

            reporteXBRLDTO.ClaveCotizacion = claveCotizacion;
            reporteXBRLDTO.FechaReporte    = fechaReporte;
            reporteXBRLDTO.RazonSocial     = ReporteXBRLUtil.obtenerValorHecho(ReportConstants.ID_NOMBRE_RAZON_SOCIAL, instancia);
            reporteXBRLDTO.Anio            = anio;
            reporteXBRLDTO.Trimestre       = trimestre;
            reporteXBRLDTO.Moneda          = moneda;
            reporteXBRLDTO.Consolidado     = consolidado;
            reporteXBRLDTO.Fideicomiso     = fideicomiso;
            reporteXBRLDTO.FechaCreacion   = fechaCreacion;

            if (claveCotizacion != null && fechaReporte != null && trimestre != null && moneda != null && consolidado != null)
            {
                nombreReporte = nombreReporte.
                                Replace(ReporteXBRLUtil.CLAVE_COTIZACION, claveCotizacion).
                                Replace(ReporteXBRLUtil.ANIO, anio).
                                Replace(ReporteXBRLUtil.TRIMESTRE, trimestre).
                                Replace(ReporteXBRLUtil.MONEDA, moneda).
                                Replace(ReporteXBRLUtil.CONSOLIDACION, (consolidado ? ReporteXBRLUtil.CONSOLIDADO : ReporteXBRLUtil.NO_CONSOLIDADO)).
                                Replace(ReporteXBRLUtil.FIDEICOMISO, fideicomiso).
                                Replace(ReporteXBRLUtil.FECHA_CREACION, fechaCreacion);

                reporteXBRLDTO.NombreReporte = nombreReporte;
            }
        }
コード例 #3
0
        public override void obtenerValoresIniciales(DocumentoInstanciaXbrlDto instancia)
        {
            String claveCotizacion = ReporteXBRLUtil.obtenerValorHecho(reporteXBRLDTO.PrefijoTaxonomia + ReportConstants.NOMBRE_CONCEPTO_EMISORA, instancia);
            String fideicomiso     = ReporteXBRLUtil.obtenerValorHecho(ReportConstants.CONCEPTO_ANNEXT_NUMERO_FIDEICOMISO, instancia);
            String fechaReporte    = obtenerFechaAnexoT(instancia);
            String razonSocial     = ReporteXBRLUtil.obtenerValorHecho(ReportConstants.CONCEPTO_ANNEXT_RAZON_SOCIAL, instancia);
            String series          = ReporteXBRLUtil.obtenerValorHecho(ReportConstants.CONCEPTO_ANNEXT_SERIES, instancia);
            String moneda          = ReporteXBRLUtil.obtenerValorMoneda(instancia);

            reporteXBRLDTO.ClaveCotizacion = claveCotizacion;
            reporteXBRLDTO.Fideicomiso     = fideicomiso;
            reporteXBRLDTO.FechaReporte    = fechaReporte;
            reporteXBRLDTO.RazonSocial     = razonSocial;
            reporteXBRLDTO.Series          = series;
            reporteXBRLDTO.Moneda          = moneda;
        }
コード例 #4
0
        /**
         * Elimina del listado de roles 510 o 520 dependiendo de la bande que indica
         * si se va a usar el estado de flujo de efectivo por método indirecto o no
         * @param instancia documento de instancia procesado.
         */
        private void quitarRolesNoUsadosDeEstadoDeFlujoDeEfectivo(DocumentoInstanciaXbrlDto instancia)
        {
            if (!reporteXBRLDTO.PrefijoTaxonomia.Equals(ReportConstants.PREFIJO_ID_TRAC))
            {
                //Si existe la bandera CashFlowStatementForInderectMethod se elige si se elimina 510 o 520
                String idCashFlowIndirect = reporteXBRLDTO.PrefijoTaxonomia + "CashFlowStatementForInderectMethod";

                String indicadorCashFlowIndirect = ReporteXBRLUtil.obtenerValorHecho(idCashFlowIndirect, instancia);
                if (indicadorCashFlowIndirect != null)
                {
                    IndiceReporteDTO indiceEliminar = null;
                    String           rolEliminar    = null;
                    if ("SI".Equals(indicadorCashFlowIndirect))
                    {
                        //Se usa 520, elimina 510
                        rolEliminar = "510000";
                    }
                    else
                    {
                        //Se usa 510, elimina 520
                        rolEliminar = "520000";
                    }

                    foreach (IndiceReporteDTO indiceActual in reporteXBRLDTO.Indices)
                    {
                        if (indiceActual.Rol.Contains(rolEliminar))
                        {
                            indiceEliminar = indiceActual;
                            break;
                        }
                    }

                    if (indiceEliminar != null)
                    {
                        reporteXBRLDTO.Indices.Remove(indiceEliminar);
                        reporteXBRLDTO.Roles.Remove(indiceEliminar.Rol);

                        int index = Array.BinarySearch(reporteXBRLDTO.NombresHojas, indiceEliminar.Rol);
                        if (index >= 0)
                        {
                            reporteXBRLDTO.NombresHojas = reporteXBRLDTO.NombresHojas.Where((val, i) => i != index).ToArray();
                        }
                    }
                }
            }
        }
コード例 #5
0
        /// <summary>
        /// (non-Javadoc)
        /// </summary>
        ///  @see com.bmv.spread.xbrl.reportes.builder.ReporteBuilder#obtenerValoresIniciales(com.hh.xbrl.abax.viewer.application.dto.DocumentoInstanciaXbrlDto)
        public override void obtenerValoresIniciales(DocumentoInstanciaXbrlDto instancia)
        {
            String nombreReporte = ReporteXBRLUtil.NOMBRE_REPORTE_IFRS;

            String  claveCotizacion   = ReporteXBRLUtil.obtenerValorHecho(ReportConstants.ID_CLAVE_COTIZACION_2014, instancia);
            String  fechaReporte      = ReporteXBRLUtil.obtenerValorHecho(ReportConstants.ID_FECHA_CIERRE_REPORTE_2014, instancia);
            String  anio              = fechaReporte.Substring(0, fechaReporte.IndexOf("-"));
            String  trimestre         = ReporteXBRLUtil.obtenerValorHecho(ReportConstants.ID_TRIMESTRE_REPORTADO, instancia);
            String  moneda            = ReporteXBRLUtil.obtenerValorMoneda(instancia);
            String  fechaCreacion     = DateUtil.ToFormatString(DateTime.Now, ReporteXBRLUtil.FORMATO_FECHA_CREACION);
            String  stringConsolidado = ReporteXBRLUtil.obtenerValorHecho(ReportConstants.ID_CUENTA_CONSOLIDADO, instancia);
            Boolean consolidado       = false;

            Boolean.TryParse(stringConsolidado, out consolidado);

            reporteXBRLDTO.AplicaConsolidado = true;
            reporteXBRLDTO.ClaveCotizacion   = claveCotizacion;
            reporteXBRLDTO.RazonSocial       = ReporteXBRLUtil.obtenerValorHecho(ReportConstants.ID_NOMBRE_RAZON_SOCIAL, instancia);
            reporteXBRLDTO.FechaReporte      = fechaReporte;
            reporteXBRLDTO.Anio          = anio;
            reporteXBRLDTO.Trimestre     = trimestre;
            reporteXBRLDTO.Moneda        = moneda;
            reporteXBRLDTO.Consolidado   = consolidado;
            reporteXBRLDTO.FechaCreacion = fechaCreacion;

            if (claveCotizacion != null && fechaReporte != null && trimestre != null && moneda != null && consolidado != null)
            {
                nombreReporte = nombreReporte.
                                Replace(ReporteXBRLUtil.CLAVE_COTIZACION, claveCotizacion).
                                Replace(ReporteXBRLUtil.ANIO, anio).
                                Replace(ReporteXBRLUtil.TRIMESTRE, trimestre).
                                Replace(ReporteXBRLUtil.MONEDA, moneda).
                                Replace(ReporteXBRLUtil.CONSOLIDACION, (consolidado ? ReporteXBRLUtil.CONSOLIDADO : ReporteXBRLUtil.NO_CONSOLIDADO)).
                                Replace(ReporteXBRLUtil.FECHA_CREACION, fechaCreacion);

                reporteXBRLDTO.NombreReporte = nombreReporte;
            }
        }
コード例 #6
0
        public override void obtenerValoresIniciales(Viewer.Application.Dto.DocumentoInstanciaXbrlDto instancia)
        {
            String nombreReporte = ReporteXBRLUtil.NOMBRE_REPORTE_EVENTO_RELEVANTE;

            String claveCotizacion = ReporteXBRLUtil.obtenerValorHecho("rel_ev_Ticker", instancia);
            String razonSocial     = ReporteXBRLUtil.obtenerValorHecho("rel_ev_BusinessName", instancia);
            String fechaReporte    = ReporteXBRLUtil.obtenerValorHecho("rel_ev_Date", instancia);
            String fechaCreacion   = DateUtil.ToFormatString(DateTime.Now, ReporteXBRLUtil.FORMATO_FECHA_CREACION);

            if (String.IsNullOrEmpty(claveCotizacion))
            {
                claveCotizacion = ReporteXBRLUtil.obtenerValorHecho("rel_news_Ticker", instancia);
            }
            if (String.IsNullOrEmpty(razonSocial))
            {
                razonSocial = ReporteXBRLUtil.obtenerValorHecho("rel_news_BusinessName", instancia);
            }
            if (String.IsNullOrEmpty(fechaReporte))
            {
                fechaReporte = ReporteXBRLUtil.obtenerValorHecho("rel_news_Date", instancia);
            }

            reporteXBRLDTO.ClaveCotizacion = claveCotizacion;
            reporteXBRLDTO.RazonSocial     = razonSocial;
            reporteXBRLDTO.FechaReporte    = fechaReporte;

            reporteXBRLDTO.FechaCreacion = fechaCreacion;

            if (claveCotizacion != null && fechaReporte != null)
            {
                nombreReporte = nombreReporte.
                                Replace(ReporteXBRLUtil.CLAVE_COTIZACION, claveCotizacion).
                                Replace(ReporteXBRLUtil.FECHA_CREACION, fechaCreacion).Replace(ReporteXBRLUtil.FECHA, fechaReporte);

                reporteXBRLDTO.NombreReporte = nombreReporte;
            }
        }
コード例 #7
0
        public static IList <IngresosProductoReporteDto> generaContenidoReporte(DocumentoInstanciaXbrlDto documentoInstancia, ReporteXBRLDTO reporteXBRLDTO, int ContadorNotasAlPie, out int outContadorNotasAlPie)
        {
            contadorTMP = ContadorNotasAlPie;

            IDictionary <String, IDictionary <String, IngresosProductoReporteDto> > marcas = new Dictionary <String, IDictionary <String, IngresosProductoReporteDto> >();

            IList <IngresosProductoReporteDto> contenido = null;

            IngresosProductoReporteDto total = new IngresosProductoReporteDto();

            total.Total = true;
            total.PrincipalesProductos = tituloRenglonTotal;

            String finPeriodo    = ReporteXBRLUtil.obtenerValorHecho(ReportConstants.ID_FECHA_CIERRE_REPORTE_2014, documentoInstancia);
            String inicioPeriodo = DateReporteUtil.obtenerPeriodos(finPeriodo)["acum_anio_actual"].Split(new String[] { "_" }, StringSplitOptions.None)[0];

            var dateInicioPeriodo = DateReporteUtil.obtenerFecha(inicioPeriodo);
            var dateFinPeriodo    = DateReporteUtil.obtenerFecha(finPeriodo);

            foreach (ContextoDto contexto in documentoInstancia.ContextosPorId.Values)
            {
                if (contexto.Periodo.Tipo == PeriodoDto.Instante)
                {
                    if (!contexto.Periodo.FechaInstante.Equals(dateFinPeriodo))
                    {
                        continue;
                    }
                }
                else
                {
                    if (!contexto.Periodo.FechaInicio.Equals(dateInicioPeriodo) || !contexto.Periodo.FechaFin.Equals(dateFinPeriodo))
                    {
                        continue;
                    }
                }

                if (contexto.ValoresDimension != null && contexto.ValoresDimension.Count() > 0)
                {
                    DimensionInfoDto dimensionMarca    = obtenerPrimero(contexto.ValoresDimension, IdDimensionMarcas);
                    DimensionInfoDto dimensionProducto = obtenerPrimero(contexto.ValoresDimension, IdDimensionProductos);

                    if (dimensionMarca != null && dimensionProducto != null)
                    {
                        String   marca     = obtenerNombreMarcaProducto(dimensionMarca.ElementoMiembroTipificado).Trim();
                        String   producto  = obtenerNombreMarcaProducto(dimensionProducto.ElementoMiembroTipificado).Trim();
                        String   idMiembro = obtenerIdItemMiembro(contexto.ValoresDimension);
                        HechoDto hecho     = documentoInstancia.HechosPorId[documentoInstancia.HechosPorIdContexto[contexto.Id][0]];

                        if (marca.Equals(todasLasMarcas) && producto.Equals(todosLosProductos))
                        {
                            actualizarIngresosProducto(total, producto, idMiembro, hecho, reporteXBRLDTO);
                        }
                        else
                        {
                            actualizarHechosProducto(marcas, marca, producto, idMiembro, hecho, reporteXBRLDTO);
                        }
                    }
                }
            }

            contenido = crearIngresosProducto(marcas);
            contenido.Add(total);

            outContadorNotasAlPie = contadorTMP;
            contadorTMP           = 0;

            return(contenido);
        }
コード例 #8
0
        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);
        }