public override void crearParametrosReporte(DocumentoInstanciaXbrlDto instancia) { String[] idConceptosMiembro = new String[] { "annext_SerieTypedAxis", "annext_TimeIntervalAxis", "annext_LessThan1MonthOrLessThan30DaysMember", "annext_Between31And60DaysOrBetween1AndUpTo2MonthsMember", "annext_Between61And90DaysOrBetween2AndUpTo3MonthsMember", "annext_Between91And120DaysOr3ToUpTo4MonthsMember", "annext_Between121And150DaysOrFrom4To5MonthsMember", "annext_Between151And180DaysOrBetween5AndUpTo6MonthsMember", "annext_MoreThan180DaysOrMoreThan6MonthsMember", "annext_InJudicialProcessMember", "annext_ExtensionMember", "annext_TotalMember", }; IDictionary <Object, Object> parametrosReporte = new Dictionary <Object, Object>(); foreach (String idConcepto in idConceptosMiembro) { parametrosReporte.Add((idConcepto + "_HEADER"), ReporteXBRLUtil.obtenerEtiquetaConcepto(idioma, null, idConcepto, instancia)); } reporteXBRLDTO.ParametrosReporte = parametrosReporte; }
public void ExportarDatosDeHojaExcel(ISheet hojaAExportar, ISheet hojaPlantilla, DocumentoInstanciaXbrlDto instancia, string rol, IDefinicionPlantillaXbrl plantillaDocumento, String idioma) { int numeroRenglonActual = RENGLON_INICIO_DATOS; EscribirValorPrimerHecho(instancia, "rel_ev_Ticker", hojaAExportar, numeroRenglonActual++, COLUMNA_DATOS); EscribirValorPrimerHecho(instancia, "rel_ev_Date", hojaAExportar, numeroRenglonActual++, COLUMNA_DATOS); EscribirValorPrimerHecho(instancia, "rel_ev_BusinessName", hojaAExportar, numeroRenglonActual++, COLUMNA_DATOS); EscribirValorPrimerHecho(instancia, "rel_ev_Place", hojaAExportar, numeroRenglonActual++, COLUMNA_DATOS); EscribirValorPrimerHecho(instancia, "rel_ev_Subject", hojaAExportar, numeroRenglonActual++, COLUMNA_DATOS); if (!instancia.EspacioNombresPrincipal.Contains("fondos")) { EscribirValorPrimerHecho(instancia, "rel_ev_ForeignMarket", hojaAExportar, numeroRenglonActual++, COLUMNA_DATOS); } var descTipoEvento = ""; if (instancia.HechosPorIdConcepto.ContainsKey("rel_ev_RelevantEventContent")) { var listaHechosId = instancia.HechosPorIdConcepto["rel_ev_RelevantEventContent"]; if (listaHechosId.Count > 0) { var hechoContenido = instancia.HechosPorId[listaHechosId[0]]; var contexto = instancia.ContextosPorId[hechoContenido.IdContexto]; if (contexto.ValoresDimension != null && contexto.ValoresDimension.Count > 0) { descTipoEvento = ReporteXBRLUtil.obtenerEtiquetaConcepto(idioma, null, contexto.ValoresDimension[0].IdItemMiembro, instancia); } } } ExcelUtil.AsignarValorCelda(hojaAExportar, numeroRenglonActual++, COLUMNA_DATOS, descTipoEvento, CellType.String, null); EscribirValorPrimerHecho(instancia, "rel_ev_RelevantEventContent", hojaAExportar, numeroRenglonActual++, COLUMNA_DATOS); }
public override void escribirEncabezado(DocumentBuilder docBuilder, DocumentoInstanciaXbrlDto instancia, ReporteXBRLDTO estructuraReporte, bool imprimirFooter) { var etiquetaReporte = ReporteXBRLUtil.obtenerEtiquetaConcepto(estructuraReporte.Lenguaje, null, "rel_news_RelevantEventReportAbstract", instancia); var claveEntidad = ReporteXBRLUtil.obtenerValorHechoDefault("rel_news_Ticker", instancia, ""); var etiquetaFecha = ReporteXBRLUtil.obtenerEtiquetaConcepto(estructuraReporte.Lenguaje, null, "rel_news_Date", instancia); var fechaReporte = ReporteXBRLUtil.obtenerValorHechoDefault("rel_news_Date", instancia, ""); var ETIQUETA_DE = estructuraReporte.ObtenValorEtiquetaReporte("ETIQUETA_DE"); Section seccion = docBuilder.CurrentSection; seccion.PageSetup.DifferentFirstPageHeaderFooter = false; seccion.HeadersFooters.LinkToPrevious(false); seccion.HeadersFooters.Clear(); docBuilder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary); Table tablaHead = docBuilder.StartTable(); docBuilder.ParagraphFormat.SpaceAfter = 0; docBuilder.ParagraphFormat.SpaceBefore = 0; docBuilder.CellFormat.ClearFormatting(); ///Fila de año y trimestre docBuilder.InsertCell(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; docBuilder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(70); docBuilder.Font.Color = Color.Gray; docBuilder.Font.Bold = false; docBuilder.Font.Size = 9; docBuilder.Write(etiquetaReporte + " - " + claveEntidad); docBuilder.Font.Color = Color.Black; docBuilder.EndRow(); docBuilder.InsertCell(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; docBuilder.Font.Color = Color.Gray; docBuilder.Font.Size = 8; docBuilder.Write(etiquetaFecha + " - " + fechaReporte); tablaHead.PreferredWidth = PreferredWidth.FromPercent(100); tablaHead.SetBorders(LineStyle.None, 0, Color.White); docBuilder.EndTable(); docBuilder.MoveToHeaderFooter(HeaderFooterType.FooterPrimary); var leyendaReportes = System.Configuration.ConfigurationManager.AppSettings.Get("LeyendaReportes"); if (!String.IsNullOrEmpty(leyendaReportes)) { Table tablaPie = docBuilder.StartTable(); docBuilder.InsertCell(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; docBuilder.Write(leyendaReportes); docBuilder.InsertCell(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; docBuilder.InsertField("PAGE", ""); docBuilder.Write(" " + ETIQUETA_DE + " "); docBuilder.InsertField("NUMPAGES", ""); tablaPie.SetBorders(LineStyle.None, 0, Color.Black); docBuilder.EndTable(); } else { docBuilder.InsertField("PAGE", ""); docBuilder.Write(" " + ETIQUETA_DE + " "); docBuilder.InsertField("NUMPAGES", ""); docBuilder.CurrentParagraph.ParagraphFormat.Alignment = ParagraphAlignment.Right; } docBuilder.MoveToDocumentEnd(); }
public override void exportarRolAWord(DocumentBuilder docBuilder, DocumentoInstanciaXbrlDto instancia, IndiceReporteDTO rolAExportar, ReporteXBRLDTO estructuraReporte) { //estructuraReporte.ConceptosReportePorRol[""][0].Hechos[""].Valor foreach (HeaderFooter head in docBuilder.Document.FirstSection.HeadersFooters) { head.Range.Replace("${label_rel_ev_RelevantEventReportAbstract}", ReporteXBRLUtil.obtenerEtiquetaConcepto(estructuraReporte.Lenguaje, null, "rel_ev_RelevantEventReportAbstract", instancia), false, false); head.Range.Replace("${label_rel_ev_Date}", ReporteXBRLUtil.obtenerEtiquetaConcepto(estructuraReporte.Lenguaje, null, "rel_ev_Date", instancia), false, false); head.Range.Replace("${rel_ev_Date}", ReporteXBRLUtil.obtenerValorHechoDefault("rel_ev_Date", instancia, ""), false, false); head.Range.Replace("${rel_ev_BusinessName}", ReporteXBRLUtil.obtenerValorHechoDefault("rel_ev_BusinessName", instancia, ""), false, false); } docBuilder.Document.FirstSection.Range.Replace("${label_rel_ev_Ticker}", ReporteXBRLUtil.obtenerEtiquetaConcepto(estructuraReporte.Lenguaje, null, "rel_ev_Ticker", instancia), false, false); docBuilder.Document.FirstSection.Range.Replace("${rel_ev_Ticker}", ReporteXBRLUtil.obtenerValorHechoDefault("rel_ev_Ticker", instancia, ""), false, false); docBuilder.Document.FirstSection.Range.Replace("${label_rel_ev_BusinessName}", ReporteXBRLUtil.obtenerEtiquetaConcepto(estructuraReporte.Lenguaje, null, "rel_ev_BusinessName", instancia), false, false); docBuilder.Document.FirstSection.Range.Replace("${rel_ev_BusinessName}", ReporteXBRLUtil.obtenerValorHechoDefault("rel_ev_BusinessName", instancia, ""), false, false); docBuilder.Document.FirstSection.Range.Replace("${label_rel_ev_Place}", ReporteXBRLUtil.obtenerEtiquetaConcepto(estructuraReporte.Lenguaje, null, "rel_ev_Place", instancia), false, false); docBuilder.Document.FirstSection.Range.Replace("${rel_ev_Place}", ReporteXBRLUtil.obtenerValorHechoDefault("rel_ev_Place", instancia, ""), false, false); docBuilder.Document.FirstSection.Range.Replace("${label_rel_ev_ForeignMarket}", ReporteXBRLUtil.obtenerEtiquetaConcepto(estructuraReporte.Lenguaje, null, "rel_ev_ForeignMarket", instancia), false, false); docBuilder.Document.FirstSection.Range.Replace("${rel_ev_ForeignMarket}", ReporteXBRLUtil.obtenerValorHechoDefault("rel_ev_ForeignMarket", instancia, ""), false, false); docBuilder.Document.FirstSection.Range.Replace("${label_rel_ev_RelevantEventTypesAxis}", ReporteXBRLUtil.obtenerEtiquetaConcepto(estructuraReporte.Lenguaje, null, "rel_ev_RelevantEventTypesAxis", instancia), false, false); string descTipoEvento = String.Empty; if (instancia.HechosPorIdConcepto.ContainsKey("rel_ev_RelevantEventContent")) { var listaHechosId = instancia.HechosPorIdConcepto["rel_ev_RelevantEventContent"]; if (listaHechosId.Count > 0) { var hechoContenido = instancia.HechosPorId[listaHechosId[0]]; var contexto = instancia.ContextosPorId[hechoContenido.IdContexto]; if (contexto.ValoresDimension != null && contexto.ValoresDimension.Count > 0) { descTipoEvento = ReporteXBRLUtil.obtenerEtiquetaConcepto(estructuraReporte.Lenguaje, null, contexto.ValoresDimension[0].IdItemMiembro, instancia); } } } docBuilder.Document.FirstSection.Range.Replace("${rel_ev_RelevantEventTypesAxis}", descTipoEvento, false, false); docBuilder.Document.FirstSection.Range.Replace("${label_rel_ev_Subject}", ReporteXBRLUtil.obtenerEtiquetaConcepto(estructuraReporte.Lenguaje, null, "rel_ev_Subject", instancia), false, false); docBuilder.Document.FirstSection.Range.Replace("${rel_ev_Subject}", ReporteXBRLUtil.obtenerValorHechoDefault("rel_ev_Subject", instancia, ""), false, false); docBuilder.Document.FirstSection.Range.Replace("${label_rel_ev_RelevantEventContent}", ReporteXBRLUtil.obtenerEtiquetaConcepto(estructuraReporte.Lenguaje, null, "rel_ev_RelevantEventContent", instancia), false, false); docBuilder.MoveToSection(0); docBuilder.MoveToDocumentEnd(); foreach (var rol in estructuraReporte.ConceptosReportePorRol.Keys) { var concepto = estructuraReporte.ConceptosReportePorRol[rol].FirstOrDefault(x => x.IdConcepto == "rel_ev_RelevantEventContent"); if (concepto != null) { escribirValorHecho(docBuilder, estructuraReporte, concepto.Hechos["trim_actual"], concepto); } } docBuilder.MoveToDocumentEnd(); /* * foreach (var rol in estructuraReporte.ConceptosReportePorRol.Keys) * { * var concepto = estructuraReporte.ConceptosReportePorRol[rol].FirstOrDefault(x => x.IdConcepto == "rel_ev_AttachedDocumentPdf"); * if (concepto != null) * { * //escribirConceptoEnTablaNota(docBuilder, estructuraReporte, concepto.Hechos["trim_actual"], concepto); * * escribirValorHecho(docBuilder, estructuraReporte, concepto.Hechos["trim_actual"], concepto); * } * } */ }
/// /// (non-Javadoc) /// @see com.bmv.spread.xbrl.reportes.builder.ReporteBuilder#crearParametrosReporte(com.hh.xbrl.abax.viewer.application.dto.DocumentoInstanciaXbrlDto) //// public override void crearParametrosReporte(DocumentoInstanciaXbrlDto instancia) { base.crearParametrosReporte(instancia); String[] idConceptosMiembro = new String[] { "ifrs-full_ComponentsOfEquityAxis", "ifrs-full_IssuedCapitalMember", "ifrs-full_RetainedEarningsMember", "ifrs-full_OtherReservesMember", "ifrs-full_EquityAttributableToOwnersOfParentMember", "ifrs-full_NoncontrollingInterestsMember", "ifrs-full_EquityMember", "mx_ccd_OtherComprehensiveIncomeMember", "mx_deuda_OtherComprehensiveIncomeMember" }; IDictionary <Object, Object> parametrosReporte = reporteXBRLDTO.ParametrosReporte; foreach (String idConcepto in idConceptosMiembro) { if (idConcepto.StartsWith("ifrs") || idConcepto.StartsWith(reporteXBRLDTO.PrefijoTaxonomia)) { parametrosReporte.Add(ReporteXBRLUtil.HEADER.Replace(ReporteXBRLUtil.TITULO, idConcepto), ReporteXBRLUtil.obtenerEtiquetaConcepto(idioma, null, idConcepto, instancia)); } } reporteXBRLDTO.ParametrosReporte = parametrosReporte; }
/// <summary> /// (non-Javadoc) /// </summary> /// @see com.bmv.spread.xbrl.reportes.builder.ReporteBuilder#crearParametrosReporte(com.hh.xbrl.abax.viewer.application.dto.DocumentoInstanciaXbrlDto) public override void crearParametrosReporte(DocumentoInstanciaXbrlDto instancia) { base.crearParametrosReporte(instancia); String[] idConceptosMiembro = new String[] { "ifrs-full_ComponentsOfEquityAxis", "ifrs-full_IssuedCapitalMember", "ifrs-full_SharePremiumMember", "ifrs-full_TreasurySharesMember", "ifrs-full_RetainedEarningsMember", "ifrs-full_RevaluationSurplusMember", "ifrs-full_ReserveOfExchangeDifferencesOnTranslationMember", "ifrs-full_ReserveOfCashFlowHedgesMember", "ifrs-full_ReserveOfGainsAndLossesOnHedgingInstrumentsThatHedgeInvestmentsInEquityInstrumentsMember", "ifrs-full_ReserveOfChangeInValueOfTimeValueOfOptionsMember", "ifrs-full_ReserveOfChangeInValueOfForwardElementsOfForwardContractsMember", "ifrs-full_ReserveOfChangeInValueOfForeignCurrencyBasisSpreadsMember", "ifrs-full_ReserveOfGainsAndLossesOnFinancialAssetsMeasuredAtFairValueThroughOtherComprehensiveIncomeMember", "ifrs-full_ReserveOfGainsAndLossesOnRemeasuringAvailableforsaleFinancialAssetsMember", "ifrs-full_ReserveOfSharebasedPaymentsMember", "ifrs-full_ReserveOfRemeasurementsOfDefinedBenefitPlansMember", "ifrs-full_AmountRecognisedInOtherComprehensiveIncomeAndAccumulatedInEquityRelatingToNoncurrentAssetsOrDisposalGroupsHeldForSaleMember", "ifrs-full_ReserveOfGainsAndLossesFromInvestmentsInEquityInstrumentsMember", "ifrs-full_ReserveOfChangeInFairValueOfFinancialLiabilityAttributableToChangeInCreditRiskOfLiabilityMember", "ifrs-full_ReserveForCatastropheMember", "ifrs-full_ReserveForEqualisationMember", "ifrs-full_ReserveOfDiscretionaryParticipationFeaturesMember", "ifrs_mx-cor_20141205_OtrosResultadosIntegralesMiembro", "ifrs-full_OtherReservesMember", "ifrs-full_EquityAttributableToOwnersOfParentMember", "ifrs-full_NoncontrollingInterestsMember", "ifrs-full_EquityMember", "ifrs_mx-cor_20141205_MonedasEje", "ifrs_mx-cor_20141205_DolaresMiembro", "ifrs_mx-cor_20141205_DolaresContravalorPesosMiembro", "ifrs_mx-cor_20141205_OtrasMonedasContravalorDolaresMiembro", "ifrs_mx-cor_20141205_OtrasMonedasContravalorPesosMiembro", "ifrs_mx-cor_20141205_TotalDePesosMiembro", "ifrs_mx-cor_20141205_InstitucionEje", "ifrs_mx-cor_20141205_InstitucionExtranjeraSiNo", "ifrs_mx-cor_20141205_FechaDeFirmaContrato", "ifrs_mx-cor_20141205_FechaDeVencimiento", "ifrs_mx-cor_20141205_TasaDeInteresYOSobretasa", "ifrs_mx-cor_20141205_DenominacionEje", "ifrs_mx-cor_20141205_MonedaNacionalMiembro", "ifrs_mx-cor_20141205_IntervaloDeTiempoEje", "ifrs_mx-cor_20141205_MonedaExtranjeraMiembro", "ifrs_mx-cor_20141205_AnoActualMiembro", "ifrs_mx-cor_20141205_Hasta1AnoMiembro", "ifrs_mx-cor_20141205_Hasta2AnosMiembro", "ifrs_mx-cor_20141205_Hasta3AnosMiembro", "ifrs_mx-cor_20141205_Hasta4AnosMiembro", "ifrs_mx-cor_20141205_Hasta5AnosOMasMiembro", "ifrs_mx-cor_20141205_PrincipalesProductosOLineaDeProductosPartidas", "ifrs_mx-cor_20141205_TipoDeIngresoEje", "ifrs_mx-cor_20141205_PrincipalesMarcasEje", "ifrs_mx-cor_20141205_PrincipalesProductosOLineaDeProductosEje", "ifrs_mx-cor_20141205_IngresosNacionalesMiembro", "ifrs_mx-cor_20141205_IngresosPorExportacionMiembro", "ifrs_mx-cor_20141205_IngresosDeSubsidiariasEnElExtranjeroMiembro", "ifrs_mx-cor_20141205_IngresosTotalesMiembro" }; IDictionary <Object, Object> parametrosReporte = reporteXBRLDTO.ParametrosReporte; foreach (String idConcepto in idConceptosMiembro) { parametrosReporte.Add((idConcepto + "_HEADER"), ReporteXBRLUtil.obtenerEtiquetaConcepto(idioma, null, idConcepto, instancia)); } reporteXBRLDTO.ParametrosReporte = parametrosReporte; }
private void escribirTablaSerie(DocumentBuilder docBuilder, ReporteXBRLDTO estructuraReporte, DocumentoInstanciaXbrlDto instancia, HipercuboReporteDTO hipercubo) { docBuilder.Font.Size = TamanioLetraTituloTabla; docBuilder.Writeln(); Table tablaDesglose = docBuilder.StartTable(); docBuilder.CellFormat.Shading.BackgroundPatternColor = Color.FromArgb(ColorTituloTabla[0], ColorTituloTabla[1], ColorTituloTabla[2]); docBuilder.ParagraphFormat.SpaceAfter = 0; docBuilder.ParagraphFormat.SpaceBefore = 2; docBuilder.InsertCell(); docBuilder.CellFormat.PreferredWidth = PreferredWidth.Auto; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; docBuilder.Font.Name = TipoLetraTituloConcepto; docBuilder.Font.Bold = TituloConceptoNegrita; docBuilder.Font.Size = TamanioLetraTituloTabla; docBuilder.Font.Color = Color.White; docBuilder.Write((String)estructuraReporte.ParametrosReporte["annext_SerieTypedAxis_HEADER"]); for (var indexTitulo = 0; indexTitulo < hipercubo.Titulos.Count; indexTitulo++) { docBuilder.CellFormat.PreferredWidth = PreferredWidth.FromPoints(AnchoPreferidoColumnaTitulos); var titulo = hipercubo.Titulos[indexTitulo]; docBuilder.InsertCell(); docBuilder.Write(titulo); } docBuilder.EndRow(); docBuilder.CellFormat.Shading.BackgroundPatternColor = Color.White; docBuilder.CellFormat.PreferredWidth = PreferredWidth.FromPoints(AnchoPreferidoColumnaDatos); docBuilder.Font.Size = TamanioLetraContenidoTabla; docBuilder.Font.Color = Color.Black; foreach (var idConcepto in hipercubo.Hechos.Keys) { var matrizPlantillaContexto = hipercubo.Hechos[idConcepto]; docBuilder.InsertCell(); var nombreConcepto = ReporteXBRLUtil.obtenerEtiquetaConcepto(estructuraReporte.Lenguaje, ReporteXBRLUtil.ETIQUETA_DEFAULT, idConcepto, instancia); docBuilder.Font.Name = TipoLetraTituloConcepto; docBuilder.Font.Bold = false; docBuilder.Font.Size = TamanioLetraContenidoTabla; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; docBuilder.Write(nombreConcepto); foreach (var idPlantillaContexto in matrizPlantillaContexto.Keys) { var listaHechos = matrizPlantillaContexto[idPlantillaContexto]; for (var indexHecho = 0; indexHecho < listaHechos.Length; indexHecho++) { var hecho = listaHechos[indexHecho]; var valorHecho = ReporteXBRLUtil.formatoDecimal(hecho.ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); docBuilder.InsertCell(); docBuilder.Font.Name = TipoLetraTextos; docBuilder.Font.Bold = false; docBuilder.Font.Size = TamanioLetraContenidoTabla; docBuilder.ParagraphFormat.LeftIndent = 0; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; docBuilder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center; docBuilder.Write(valorHecho); } } docBuilder.EndRow(); } docBuilder.EndTable(); docBuilder.Writeln(); }
/// <summary> /// Imprime la sección correspondiente a los títulos de los elementos primarios enviados como parámetro, a 2 renglones /// </summary> /// <param name="p"></param> /// <param name="docBuilder"></param> /// <param name="instancia"></param> private void ImprimirTitulosGrupoPasivo(string[] elementosPrimarios, DocumentBuilder docBuilder, Viewer.Application.Dto.DocumentoInstanciaXbrlDto instancia, String idioma) { Color colorTitulo = Color.FromArgb(ColorTituloTabla[0], ColorTituloTabla[1], ColorTituloTabla[2]); var primerElementoSubtabla = true; foreach (var idElemento in elementosPrimarios) { docBuilder.InsertCell(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center; docBuilder.RowFormat.HeadingFormat = true; docBuilder.CellFormat.Shading.BackgroundPatternColor = colorTitulo; docBuilder.CellFormat.PreferredWidth = PreferredWidth.Auto; docBuilder.Font.Color = Color.White; docBuilder.CellFormat.VerticalMerge = CellMerge.First; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.Write(ReporteXBRLUtil.obtenerEtiquetaConcepto(idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT, idElemento, instancia)); if (idElemento == ImportadorExportadorRol815100Bmv2014._idConceptoSubtabla) { //Subtabla va mezclada if (primerElementoSubtabla) { docBuilder.CellFormat.HorizontalMerge = CellMerge.First; docBuilder.CellFormat.VerticalMerge = CellMerge.None; primerElementoSubtabla = false; docBuilder.Write(ReporteXBRLUtil.obtenerEtiquetaConcepto(idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT, ImportadorExportadorRol815100Bmv2014._idDimensionIntervalo, instancia)); } else { docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; } } } docBuilder.EndRow(); var iMiembroSubtabla = 0; foreach (var idElemento in elementosPrimarios) { docBuilder.InsertCell(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center; docBuilder.RowFormat.HeadingFormat = true; docBuilder.CellFormat.Shading.BackgroundPatternColor = colorTitulo; docBuilder.CellFormat.PreferredWidth = PreferredWidth.Auto; docBuilder.Font.Color = Color.White; docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; if (idElemento == ImportadorExportadorRol815100Bmv2014._idConceptoSubtabla) { //Subtabla va mezclada docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(ReporteXBRLUtil.obtenerEtiquetaConcepto(idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT, ImportadorExportadorRol815100Bmv2014._miembrosIntervaloDeTiempo[iMiembroSubtabla++], instancia)); } } docBuilder.EndRow(); }
/// <summary> /// Imprime el contenido de un grupo de hechos de tipo pasivo, ya sea un crédito o un renglón total /// </summary> private void ImprimirGrupoTipoPasivo(string idTipoPasivo, string[] elementosPrimarios, DocumentBuilder docBuilder, Viewer.Application.Dto.DocumentoInstanciaXbrlDto instancia, String idioma, Dto.ReporteXBRLDTO estructuraReporte) { var hechosDeTipoPasivo = ObtenerHechosPorDimensionYMiembro(instancia, null, ImportadorExportadorRol815100Bmv2014._idDimensionTipoPasivo, idTipoPasivo); if (ImportadorExportadorRol815100Bmv2014._miembrosTipoPasivoTotales.Contains(idTipoPasivo)) { docBuilder.InsertCell(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; docBuilder.RowFormat.HeadingFormat = false; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.CellFormat.Shading.BackgroundPatternColor = Color.White; docBuilder.Font.Color = Color.Black; docBuilder.Write(ReporteXBRLUtil.obtenerEtiquetaConcepto(idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT, idTipoPasivo, instancia)); var iSubMiembro = 0; for (int iElemento = 1; iElemento < elementosPrimarios.Length; iElemento++) { docBuilder.InsertCell(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; docBuilder.RowFormat.HeadingFormat = false; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.CellFormat.Shading.BackgroundPatternColor = Color.White; docBuilder.Font.Color = Color.Black; if (ImportadorExportadorRol815100Bmv2014._elementosPrimariosTotal.Contains(elementosPrimarios[iElemento])) { var listaHechos = ObtenerHechosPorElementoPrimarioYSecuencia(instancia, hechosDeTipoPasivo, elementosPrimarios[iElemento], null); if (elementosPrimarios[iElemento] == ImportadorExportadorRol815100Bmv2014._idConceptoSubtabla) { listaHechos = FiltrarHechosPorDimensionYMiembro(instancia, listaHechos, ImportadorExportadorRol815100Bmv2014._idDimensionIntervalo, ImportadorExportadorRol815100Bmv2014._miembrosIntervaloDeTiempo[iSubMiembro++]); } if (listaHechos != null && listaHechos.Count > 0) { if (!String.IsNullOrEmpty(listaHechos[0].Valor)) { if (listaHechos[0].EsNumerico) { var valorHecho = ReporteXBRLUtil.formatoDecimal(listaHechos[0].ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); EscribirLinkNotaAlPie(docBuilder, listaHechos[0], estructuraReporte); docBuilder.Write(valorHecho); } else { EscribirLinkNotaAlPie(docBuilder, listaHechos[0], estructuraReporte); docBuilder.Write(listaHechos[0].Valor); } } } } } docBuilder.EndRow(); } else { var secuenciasEnHechos = OrganizarHechosPorSecuencia(instancia, hechosDeTipoPasivo); if (secuenciasEnHechos.Count > 0) { foreach (var secuencia in secuenciasEnHechos.Keys) { int iMiembroSubtabla = 0; foreach (var elementoPrimario in elementosPrimarios) { docBuilder.InsertCell(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; docBuilder.RowFormat.HeadingFormat = false; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.CellFormat.Shading.BackgroundPatternColor = Color.White; docBuilder.Font.Color = Color.Black; IList <HechoDto> listaHechos = null; if (elementoPrimario.Equals(ImportadorExportadorRol815100Bmv2014._idConceptoSubtabla)) { listaHechos = ObtenerHechosPorElementoPrimarioYSecuencia(instancia, secuenciasEnHechos[secuencia], elementoPrimario, null); listaHechos = FiltrarHechosPorDimensionYMiembro(instancia, listaHechos, ImportadorExportadorRol815100Bmv2014._idDimensionIntervalo, ImportadorExportadorRol815100Bmv2014._miembrosIntervaloDeTiempo[iMiembroSubtabla++]); } else { listaHechos = ObtenerHechosPorElementoPrimarioYSecuencia(instancia, secuenciasEnHechos[secuencia], elementoPrimario, null); } if (listaHechos != null && listaHechos.Count > 0) { if (!String.IsNullOrEmpty(listaHechos[0].Valor)) { if (listaHechos[0].EsNumerico) { var valorHecho = ReporteXBRLUtil.formatoDecimal(listaHechos[0].ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); EscribirLinkNotaAlPie(docBuilder, listaHechos[0], estructuraReporte); docBuilder.Write(valorHecho); } else { EscribirLinkNotaAlPie(docBuilder, listaHechos[0], estructuraReporte); docBuilder.Write(listaHechos[0].Valor); } } } } docBuilder.EndRow(); } } } }