private void PintaTablaDimensionSerie(DocumentBuilder docBuilder, String valor, DocumentoInstanciaXbrlDto instancia, IndiceReporteDTO rolAExportar, ReporteXBRLDTO estructuraReporte, ConceptoReporteDTO concepto) { docBuilder.Writeln(); // var listaConseptosReportes = estructuraReporte.Hipercubos; foreach (var dato in estructuraReporte.Hipercubos) { var variable = dato; string[] d = variable.Key.Split(new string[] { "Table" }, StringSplitOptions.None); string conceptoHipercuboTable = (d[0]); if (conceptoHipercuboTable == valor && !Evaluador.Contains(variable.Key)) { ConceptoReporteDTO primerConcepto = null; if (!estructuraReporte.Roles.ContainsKey(rolAExportar.Rol)) { throw new IndexOutOfRangeException("No existe el rol [" + rolAExportar.Rol + "] dentro del listado de roles del reporte."); } if (estructuraReporte.Roles.ContainsKey(rolAExportar.Rol)) { if (!concepto.Abstracto) { primerConcepto = concepto; break; } } var hipercubo = variable; Table tablaActual = docBuilder.StartTable(); Color colorTitulo = Color.FromArgb(ColorTituloTabla[0], ColorTituloTabla[1], ColorTituloTabla[2]); docBuilder.ParagraphFormat.SpaceAfter = 0; docBuilder.ParagraphFormat.SpaceBefore = 2; //docBuilder.InsertCell(); // docBuilder.EndRow(); docBuilder.CellFormat.Shading.BackgroundPatternColor = colorTitulo; docBuilder.Font.Color = Color.White; docBuilder.Font.Size = TamanioLetraContenidoTabla; docBuilder.InsertCell(); docBuilder.CellFormat.Shading.BackgroundPatternColor = colorTitulo; docBuilder.CellFormat.PreferredWidth = PreferredWidth.Auto; docBuilder.Font.Color = Color.White; establecerFuenteTituloCampo(docBuilder); docBuilder.Font.Size = TamanioLetraTituloTabla; docBuilder.Write("Serie [Eje]"); docBuilder.CellFormat.HorizontalMerge = CellMerge.None; if (hipercubo.Value.Titulos.Count > 0) { for (var indexTitulo = 0; indexTitulo < hipercubo.Value.Titulos.Count; indexTitulo++) { var titulo = hipercubo.Value.Titulos[indexTitulo]; docBuilder.InsertCell(); docBuilder.Write(titulo); } docBuilder.EndRow(); } establecerFuenteTituloCampo(docBuilder); docBuilder.Font.Size = TamanioLetraTituloTabla; int fila = 0; if (concepto.Abstracto) { fila = +1; for (int iCell = 0; iCell < fila; iCell++) { docBuilder.InsertCell(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; } } if (concepto.Abstracto) { docBuilder.Bold = true; docBuilder.Font.Color = Color.White; docBuilder.CellFormat.Shading.BackgroundPatternColor = colorTitulo; docBuilder.ParagraphFormat.LeftIndent = (concepto.Tabuladores < 0 ? concepto.Tabuladores : 0); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; docBuilder.Write(concepto.Valor); docBuilder.InsertCell(); docBuilder.EndRow(); // tituloAbstracto.Add(concepto.Valor); } else { docBuilder.Bold = false; } docBuilder.CellFormat.Shading.BackgroundPatternColor = Color.White; docBuilder.CellFormat.PreferredWidth = PreferredWidth.Auto; docBuilder.Font.Color = Color.Black; docBuilder.Bold = false; foreach (var idConcepto in hipercubo.Value.Hechos.Keys) { var matrizPlantillaContexto = hipercubo.Value.Hechos[idConcepto]; docBuilder.InsertCell(); var nombreConcepto = DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, idConcepto, "es", ReporteXBRLUtil.ETIQUETA_DEFAULT); docBuilder.Write(nombreConcepto); ConceptoHiper.Add(idConcepto); foreach (var idPlantillaContexto in matrizPlantillaContexto.Keys) { docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; var listaHechos = matrizPlantillaContexto[idPlantillaContexto]; for (var indexHecho = 0; indexHecho < listaHechos.Length; indexHecho++) { var hecho = listaHechos[indexHecho]; var valorHecho = hecho.Valor; docBuilder.InsertCell(); if (hecho.NoEsNumerico) { docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; } else { docBuilder.CellFormat.WrapText = false; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; } if ((hecho != null && !String.IsNullOrWhiteSpace(hecho.Valor)) && instancia.Taxonomia.ConceptosPorId.ContainsKey(hecho.IdConcepto)) { var conceptoHecho = instancia.Taxonomia.ConceptosPorId[hecho.IdConcepto]; if (conceptoHecho.TipoDato.Contains(TIPO_DATO_TEXT_BLOCK)) { WordUtil.InsertHtml(docBuilder, hecho.IdConcepto + ":" + hecho.Id, PARRAFO_HTML_NOTAS_Texblock + valorHecho + "</p>", false, true); //docBuilder.InsertHtml(PARRAFO_HTML_NOTAS_Texblock + limpiarBloqueTexto(valorHecho) + "</p>", true); } else { docBuilder.Writeln(valorHecho); } } } } docBuilder.EndRow(); } establecerBordesGrisesTabla(tablaActual); docBuilder.EndTable(); docBuilder.Writeln(); docBuilder.Writeln(); Evaluador.Add(variable.Key); break; } } }
public static IList <DesgloseDeCreditosReporteDto> generarContenidoDeReporte(DocumentoInstanciaXbrlDto documentoInstancia, ReporteXBRLDTO reporteXBRLDTO, int ContadorNotasAlPie, out int outContadorNotasAlPie) { IList <DesgloseDeCreditosReporteDto> contenido = new List <DesgloseDeCreditosReporteDto>(); var idioma = reporteXBRLDTO.Lenguaje; contadorTMP = ContadorNotasAlPie; String[] estructuraDelReporte = new String[] { "ifrs_mx-cor_20141205_BancariosSinopsis", "ifrs_mx-cor_20141205_ComercioExteriorBancarios", "ifrs_mx-cor_20141205_ConGarantiaBancarios", "ifrs_mx-cor_20141205_BancaComercial", "ifrs_mx-cor_20141205_OtrosBancarios", "ifrs_mx-cor_20141205_TotalBancarios", "ifrs_mx-cor_20141205_BursatilesYColocacionesPrivadasSinopsis", "ifrs_mx-cor_20141205_BursatilesListadasEnBolsaQuirografarios", "ifrs_mx-cor_20141205_BursatilesListadasEnBolsaConGarantia", "ifrs_mx-cor_20141205_ColocacionesPrivadasQuirografarios", "ifrs_mx-cor_20141205_ColocacionesPrivadasConGarantia", "ifrs_mx-cor_20141205_TotalBursatilesListadasEnBolsaYColocacionesPrivadas", "ifrs_mx-cor_20141205_OtrosPasivosCirculantesYNoCirculantesConCostoSinopsis", "ifrs_mx-cor_20141205_OtrosPasivosCirculantesYNoCirculantesConCosto", "ifrs_mx-cor_20141205_TotalOtrosPasivosCirculantesYNoCirculantesConCosto", "ifrs_mx-cor_20141205_ProveedoresSinopsis", "ifrs_mx-cor_20141205_Proveedores", "ifrs_mx-cor_20141205_TotalProveedores", "ifrs_mx-cor_20141205_OtrosPasivosCirculantesYNoCirculantesSinCostoSinopsis", "ifrs_mx-cor_20141205_OtrosPasivosCirculantesYNoCirculantesSinCosto", "ifrs_mx-cor_20141205_TotalOtrosPasivosCirculantesYNoCirculantesSinCosto", "ifrs_mx-cor_20141205_TotalDeCreditos" }; List <HechoDto> hechos = new List <HechoDto>(); List <String> idsHechos = new List <String>(); IList <String> idHechosPorConcepto = null; foreach (String idConcepto in estructuraDelReporte) { if (!idConcepto.EndsWith("Sinopsis")) { if (documentoInstancia.HechosPorIdConcepto.ContainsKey(idConcepto)) { idHechosPorConcepto = documentoInstancia.HechosPorIdConcepto[idConcepto]; idsHechos.AddRange(idHechosPorConcepto); } } } if (documentoInstancia.HechosPorIdConcepto.ContainsKey("ifrs_mx-cor_20141205_InstitucionExtranjeraSiNo")) { idHechosPorConcepto = documentoInstancia.HechosPorIdConcepto["ifrs_mx-cor_20141205_InstitucionExtranjeraSiNo"]; idsHechos.AddRange(idHechosPorConcepto); } if (documentoInstancia.HechosPorIdConcepto.ContainsKey("ifrs_mx-cor_20141205_FechaDeFirmaContrato")) { idHechosPorConcepto = documentoInstancia.HechosPorIdConcepto["ifrs_mx-cor_20141205_FechaDeFirmaContrato"]; idsHechos.AddRange(idHechosPorConcepto); } if (documentoInstancia.HechosPorIdConcepto.ContainsKey("ifrs_mx-cor_20141205_FechaDeVencimiento")) { idHechosPorConcepto = documentoInstancia.HechosPorIdConcepto["ifrs_mx-cor_20141205_FechaDeVencimiento"]; idsHechos.AddRange(idHechosPorConcepto); } if (documentoInstancia.HechosPorIdConcepto.ContainsKey("ifrs_mx-cor_20141205_TasaDeInteresYOSobretasa")) { idHechosPorConcepto = documentoInstancia.HechosPorIdConcepto["ifrs_mx-cor_20141205_TasaDeInteresYOSobretasa"]; idsHechos.AddRange(idHechosPorConcepto); } IDictionary <String, List <String> > institucionesPorConcepto = new Dictionary <String, List <String> >(); IDictionary <String, IDictionary <String, DesgloseDeCreditosReporteDto> > detalleDtoPorConcepto = new Dictionary <String, IDictionary <String, DesgloseDeCreditosReporteDto> >(); foreach (String idHecho in idsHechos) { if (!documentoInstancia.HechosPorId.ContainsKey(idHecho)) { LogUtil.Error("Se solicitia un hecho que no existe en el documento {idHecho:[" + idHecho + "]}"); continue; } var hecho = documentoInstancia.HechosPorId[idHecho]; if (!documentoInstancia.ContextosPorId.ContainsKey(hecho.IdContexto)) { LogUtil.Error("No existe el contexto definido para el hecho {idHecho:[" + idHecho + "], idContexto:[" + hecho.IdContexto + "]}"); continue; } var contexto = documentoInstancia.ContextosPorId[hecho.IdContexto]; IDictionary <String, DesgloseDeCreditosReporteDto> detalleDtoPorInstitucion = null; if (!detalleDtoPorConcepto.ContainsKey(hecho.IdConcepto)) { detalleDtoPorInstitucion = new Dictionary <String, DesgloseDeCreditosReporteDto>(); detalleDtoPorConcepto.Add(hecho.IdConcepto, detalleDtoPorInstitucion); } else { detalleDtoPorInstitucion = detalleDtoPorConcepto[hecho.IdConcepto]; } hechos.Add(hecho); String idMiembroEjeDenominacion = ""; String idMiembroEjeIntervaloTiempo = ""; String miembroTipificado = ""; foreach (DimensionInfoDto dimensionInfo in contexto.ValoresDimension) { if (dimensionInfo.IdDimension.Equals("ifrs_mx-cor_20141205_InstitucionEje")) { miembroTipificado = dimensionInfo.ElementoMiembroTipificado; if (!detalleDtoPorInstitucion.ContainsKey(miembroTipificado)) { DesgloseDeCreditosReporteDto detalleInstitucionDto = new DesgloseDeCreditosReporteDto(); detalleInstitucionDto.Titulo = ReporteXBRLUtil.eliminaEtiquetas(miembroTipificado); detalleDtoPorInstitucion.Add(miembroTipificado, detalleInstitucionDto); } if (!institucionesPorConcepto.ContainsKey(miembroTipificado)) { List <String> idsConceptos = new List <String>(); idsConceptos.Add(hecho.IdConcepto); institucionesPorConcepto.Add(miembroTipificado, idsConceptos); } else { if (!institucionesPorConcepto[miembroTipificado].Contains(hecho.IdConcepto)) { institucionesPorConcepto[miembroTipificado].Add(hecho.IdConcepto); } } } } foreach (DimensionInfoDto dimensionInfo in contexto.ValoresDimension) { if (dimensionInfo.Explicita) { if (dimensionInfo.IdDimension.Equals("ifrs_mx-cor_20141205_DenominacionEje")) { idMiembroEjeDenominacion = dimensionInfo.IdItemMiembro; } else if (dimensionInfo.IdDimension.Equals("ifrs_mx-cor_20141205_IntervaloDeTiempoEje")) { idMiembroEjeIntervaloTiempo = dimensionInfo.IdItemMiembro; } } } if (hecho.IdConcepto.Equals("ifrs_mx-cor_20141205_InstitucionExtranjeraSiNo")) { if (idMiembroEjeDenominacion.Equals("ifrs_mx-cor_20141205_TotalMonedasMiembro") && idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_TotalIntervalosMiembro")) { if (institucionesPorConcepto.ContainsKey(miembroTipificado)) { foreach (String idConcepto in institucionesPorConcepto[miembroTipificado]) { var intitucionExtranejraAux = CommonConstants.CADENAS_VERDADERAS.Contains(hecho.Valor.Trim().ToLower()); detalleDtoPorConcepto[idConcepto][miembroTipificado].InstitucionExtranjera = new HechoReporteDTO(); detalleDtoPorConcepto[idConcepto][miembroTipificado].InstitucionExtranjera.Valor = intitucionExtranejraAux.ToString().ToLower(); obtenerNotasAlPie(hecho, detalleDtoPorConcepto[idConcepto][miembroTipificado].InstitucionExtranjera, reporteXBRLDTO); } } } } else if (hecho.IdConcepto.Equals("ifrs_mx-cor_20141205_FechaDeFirmaContrato")) { if (idMiembroEjeDenominacion.Equals("ifrs_mx-cor_20141205_TotalMonedasMiembro") && idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_TotalIntervalosMiembro")) { if (institucionesPorConcepto.ContainsKey(miembroTipificado)) { foreach (String idConcepto in institucionesPorConcepto[miembroTipificado]) { detalleDtoPorConcepto[idConcepto][miembroTipificado].FechaFirmaContrato = new HechoReporteDTO(); detalleDtoPorConcepto[idConcepto][miembroTipificado].FechaFirmaContrato.Valor = hecho.Valor; obtenerNotasAlPie(hecho, detalleDtoPorConcepto[idConcepto][miembroTipificado].FechaFirmaContrato, reporteXBRLDTO); } } } } else if (hecho.IdConcepto.Equals("ifrs_mx-cor_20141205_FechaDeVencimiento")) { if (idMiembroEjeDenominacion.Equals("ifrs_mx-cor_20141205_TotalMonedasMiembro") && idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_TotalIntervalosMiembro")) { if (institucionesPorConcepto.ContainsKey(miembroTipificado)) { foreach (String idConcepto in institucionesPorConcepto[miembroTipificado]) { detalleDtoPorConcepto[idConcepto][miembroTipificado].FechaVencimiento = new HechoReporteDTO(); detalleDtoPorConcepto[idConcepto][miembroTipificado].FechaVencimiento.Valor = hecho.Valor; obtenerNotasAlPie(hecho, detalleDtoPorConcepto[idConcepto][miembroTipificado].FechaVencimiento, reporteXBRLDTO); } } } } else if (hecho.IdConcepto.Equals("ifrs_mx-cor_20141205_TasaDeInteresYOSobretasa")) { if (idMiembroEjeDenominacion.Equals("ifrs_mx-cor_20141205_TotalMonedasMiembro") && idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_TotalIntervalosMiembro")) { if (institucionesPorConcepto.ContainsKey(miembroTipificado)) { foreach (String idConcepto in institucionesPorConcepto[miembroTipificado]) { detalleDtoPorConcepto[idConcepto][miembroTipificado].TasaInteres = new HechoReporteDTO(); detalleDtoPorConcepto[idConcepto][miembroTipificado].TasaInteres.Valor = hecho.Valor; obtenerNotasAlPie(hecho, detalleDtoPorConcepto[idConcepto][miembroTipificado].TasaInteres, reporteXBRLDTO); } } } } else { if (detalleDtoPorConcepto.ContainsKey(hecho.IdConcepto) && detalleDtoPorConcepto[hecho.IdConcepto].ContainsKey(miembroTipificado)) { var elementoTipificadoPorConcepto = detalleDtoPorConcepto[hecho.IdConcepto][miembroTipificado]; if (idMiembroEjeDenominacion.Equals("ifrs_mx-cor_20141205_MonedaNacionalMiembro")) { if (idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_AnoActualMiembro")) { elementoTipificadoPorConcepto.MonedaNacionalAnioActual = new HechoReporteDTO(); elementoTipificadoPorConcepto.MonedaNacionalAnioActual.ValorNumerico = hecho.ValorNumerico; elementoTipificadoPorConcepto.MonedaNacionalAnioActual.ValorFormateado = ReporteXBRLUtil.formatoDecimal(hecho.ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); obtenerNotasAlPie(hecho, elementoTipificadoPorConcepto.MonedaNacionalAnioActual, reporteXBRLDTO); } else if (idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_Hasta1AnoMiembro")) { elementoTipificadoPorConcepto.MonedaNacionalUnAnio = new HechoReporteDTO(); elementoTipificadoPorConcepto.MonedaNacionalUnAnio.ValorNumerico = hecho.ValorNumerico; elementoTipificadoPorConcepto.MonedaNacionalUnAnio.ValorFormateado = ReporteXBRLUtil.formatoDecimal(hecho.ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); obtenerNotasAlPie(hecho, elementoTipificadoPorConcepto.MonedaNacionalUnAnio, reporteXBRLDTO); } else if (idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_Hasta2AnosMiembro")) { elementoTipificadoPorConcepto.MonedaNacionalDosAnio = new HechoReporteDTO(); elementoTipificadoPorConcepto.MonedaNacionalDosAnio.ValorNumerico = hecho.ValorNumerico; elementoTipificadoPorConcepto.MonedaNacionalDosAnio.ValorFormateado = ReporteXBRLUtil.formatoDecimal(hecho.ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); obtenerNotasAlPie(hecho, elementoTipificadoPorConcepto.MonedaNacionalDosAnio, reporteXBRLDTO); } else if (idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_Hasta3AnosMiembro")) { elementoTipificadoPorConcepto.MonedaNacionalTresAnio = new HechoReporteDTO(); elementoTipificadoPorConcepto.MonedaNacionalTresAnio.ValorNumerico = hecho.ValorNumerico; elementoTipificadoPorConcepto.MonedaNacionalTresAnio.ValorFormateado = ReporteXBRLUtil.formatoDecimal(hecho.ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); obtenerNotasAlPie(hecho, elementoTipificadoPorConcepto.MonedaNacionalTresAnio, reporteXBRLDTO); } else if (idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_Hasta4AnosMiembro")) { elementoTipificadoPorConcepto.MonedaNacionalCuatroAnio = new HechoReporteDTO(); elementoTipificadoPorConcepto.MonedaNacionalCuatroAnio.ValorNumerico = hecho.ValorNumerico; elementoTipificadoPorConcepto.MonedaNacionalCuatroAnio.ValorFormateado = ReporteXBRLUtil.formatoDecimal(hecho.ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); obtenerNotasAlPie(hecho, elementoTipificadoPorConcepto.MonedaNacionalCuatroAnio, reporteXBRLDTO); } else if (idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_Hasta5AnosOMasMiembro")) { elementoTipificadoPorConcepto.MonedaNacionalCincoMasAnio = new HechoReporteDTO(); elementoTipificadoPorConcepto.MonedaNacionalCincoMasAnio.ValorNumerico = hecho.ValorNumerico; elementoTipificadoPorConcepto.MonedaNacionalCincoMasAnio.ValorFormateado = ReporteXBRLUtil.formatoDecimal(hecho.ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); obtenerNotasAlPie(hecho, elementoTipificadoPorConcepto.MonedaNacionalCincoMasAnio, reporteXBRLDTO); } } else if (idMiembroEjeDenominacion.Equals("ifrs_mx-cor_20141205_MonedaExtranjeraMiembro")) { if (idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_AnoActualMiembro")) { elementoTipificadoPorConcepto.MonedaExtranjeraAnioActual = new HechoReporteDTO(); elementoTipificadoPorConcepto.MonedaExtranjeraAnioActual.ValorNumerico = hecho.ValorNumerico; elementoTipificadoPorConcepto.MonedaExtranjeraAnioActual.ValorFormateado = ReporteXBRLUtil.formatoDecimal(hecho.ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); obtenerNotasAlPie(hecho, elementoTipificadoPorConcepto.MonedaExtranjeraAnioActual, reporteXBRLDTO); } else if (idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_Hasta1AnoMiembro")) { elementoTipificadoPorConcepto.MonedaExtranjeraUnAnio = new HechoReporteDTO(); elementoTipificadoPorConcepto.MonedaExtranjeraUnAnio.ValorNumerico = hecho.ValorNumerico; elementoTipificadoPorConcepto.MonedaExtranjeraUnAnio.ValorFormateado = ReporteXBRLUtil.formatoDecimal(hecho.ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); obtenerNotasAlPie(hecho, elementoTipificadoPorConcepto.MonedaExtranjeraUnAnio, reporteXBRLDTO); } else if (idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_Hasta2AnosMiembro")) { elementoTipificadoPorConcepto.MonedaExtranjeraDosAnio = new HechoReporteDTO(); elementoTipificadoPorConcepto.MonedaExtranjeraDosAnio.ValorNumerico = hecho.ValorNumerico; elementoTipificadoPorConcepto.MonedaExtranjeraDosAnio.ValorFormateado = ReporteXBRLUtil.formatoDecimal(hecho.ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); obtenerNotasAlPie(hecho, elementoTipificadoPorConcepto.MonedaExtranjeraDosAnio, reporteXBRLDTO); } else if (idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_Hasta3AnosMiembro")) { elementoTipificadoPorConcepto.MonedaExtranjeraTresAnio = new HechoReporteDTO(); elementoTipificadoPorConcepto.MonedaExtranjeraTresAnio.ValorNumerico = hecho.ValorNumerico; elementoTipificadoPorConcepto.MonedaExtranjeraTresAnio.ValorFormateado = ReporteXBRLUtil.formatoDecimal(hecho.ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); obtenerNotasAlPie(hecho, elementoTipificadoPorConcepto.MonedaExtranjeraTresAnio, reporteXBRLDTO); } else if (idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_Hasta4AnosMiembro")) { elementoTipificadoPorConcepto.MonedaExtranjeraCuatroAnio = new HechoReporteDTO(); elementoTipificadoPorConcepto.MonedaExtranjeraCuatroAnio.ValorNumerico = hecho.ValorNumerico; elementoTipificadoPorConcepto.MonedaExtranjeraCuatroAnio.ValorFormateado = ReporteXBRLUtil.formatoDecimal(hecho.ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); obtenerNotasAlPie(hecho, elementoTipificadoPorConcepto.MonedaExtranjeraCuatroAnio, reporteXBRLDTO); } else if (idMiembroEjeIntervaloTiempo.Equals("ifrs_mx-cor_20141205_Hasta5AnosOMasMiembro")) { elementoTipificadoPorConcepto.MonedaExtranjeraCincoMasAnio = new HechoReporteDTO(); elementoTipificadoPorConcepto.MonedaExtranjeraCincoMasAnio.ValorNumerico = hecho.ValorNumerico; elementoTipificadoPorConcepto.MonedaExtranjeraCincoMasAnio.ValorFormateado = ReporteXBRLUtil.formatoDecimal(hecho.ValorNumerico, ReporteXBRLUtil.FORMATO_CANTIDADES_MONETARIAS); obtenerNotasAlPie(hecho, elementoTipificadoPorConcepto.MonedaExtranjeraCincoMasAnio, reporteXBRLDTO); } } } else { LogUtil.Error("No se encontro el elemento detalleDtoPorConcepto: {IdConcepto:[" + hecho.IdConcepto + "], miembroTipificado:[" + miembroTipificado + "]}"); } } } foreach (String idConcepto in estructuraDelReporte) { if (idConcepto.EndsWith("Sinopsis")) { DesgloseDeCreditosReporteDto detalleDto = new DesgloseDeCreditosReporteDto(); detalleDto.Titulo = DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(documentoInstancia.Taxonomia, idConcepto, idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT); detalleDto.TituloAbstracto = true; contenido.Add(detalleDto); } else { DesgloseDeCreditosReporteDto detalleDto = new DesgloseDeCreditosReporteDto(); detalleDto.Titulo = DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(documentoInstancia.Taxonomia, idConcepto, idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT); detalleDto.TituloAbstracto = true; contenido.Add(detalleDto); DesgloseDeCreditosReporteDto detalleTotalDto = null; if (detalleDtoPorConcepto.ContainsKey(idConcepto)) { foreach (String miembroInstitucion in detalleDtoPorConcepto[idConcepto].Keys) { if (detalleDtoPorConcepto[idConcepto][miembroInstitucion].Titulo.Equals("TOTAL")) { detalleTotalDto = detalleDtoPorConcepto[idConcepto][miembroInstitucion]; } else { contenido.Add(detalleDtoPorConcepto[idConcepto][miembroInstitucion]); } } } if (detalleTotalDto != null) { detalleTotalDto.Total = true; contenido.Add(detalleTotalDto); } } } outContadorNotasAlPie = contadorTMP; contadorTMP = 0; return(contenido); }
private void PintaTablaDimensionExplicita(DocumentBuilder docBuilder, String valor, DocumentoInstanciaXbrlDto instancia, IndiceReporteDTO rolAExportar, ReporteXBRLDTO estructuraReporte) { docBuilder.Writeln(); foreach (var dato in estructuraReporte.Hipercubos) { if (dato.Value.Hechos.Count > 0) { var variable = dato; // modificaciones en la condicion para obtner un hipercubo exlicito string[] d = variable.Key.Split(new string[] { "Table" }, StringSplitOptions.None); string conceptoHipercuboTable = (d[0]); if (conceptoHipercuboTable == valor && !Evaluador.Contains(variable.Key)) { var hipercubo = variable; docBuilder.InsertBreak(BreakType.PageBreak); Table tablaActual = docBuilder.StartTable(); Color colorTitulo = Color.FromArgb(ColorTituloTabla[0], ColorTituloTabla[1], ColorTituloTabla[2]); docBuilder.ParagraphFormat.SpaceAfter = 0; docBuilder.ParagraphFormat.SpaceBefore = 2; //docBuilder.InsertCell(); // docBuilder.EndRow(); // Formatos de celdas que le da el color de fondo de los titulos de la tabla que se crea docBuilder.CellFormat.Shading.BackgroundPatternColor = colorTitulo; docBuilder.Font.Color = Color.White; docBuilder.Font.Size = TamanioLetraContenidoTabla; // docBuilder.InsertCell(); foreach (var idConcepto in hipercubo.Value.Hechos.Keys) { var matrizPlantillaContexto = hipercubo.Value.Hechos[idConcepto]; docBuilder.InsertCell(); var nombreConcepto = DesgloseDeCreditosHelper .obtenerEtiquetaDeConcepto(instancia.Taxonomia, idConcepto, "es", ReporteXBRLUtil.ETIQUETA_DEFAULT); docBuilder.Write(nombreConcepto); } docBuilder.EndRow(); docBuilder.CellFormat.Shading.BackgroundPatternColor = Color.White; docBuilder.CellFormat.PreferredWidth = PreferredWidth.Auto; docBuilder.Font.Color = Color.Black; var cantidadCeldasVacias = hipercubo.Value.Hechos.Count - 1; if (hipercubo.Value.Hechos.Count == 0) { return; } foreach (var idPlantillaContexto in hipercubo.Value.Utileria.configuracion.PlantillasContextos.Keys) { var plantilla = hipercubo.Value.Utileria.configuracion.PlantillasContextos[idPlantillaContexto]; var miembroPlantilla = plantilla.ValoresDimension[0]; var nombreMiembro = DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, miembroPlantilla.IdItemMiembro, "es", ReporteXBRLUtil.ETIQUETA_DEFAULT); /* docBuilder.CellFormat.Shading.BackgroundPatternColor = Color.LightGray; * docBuilder.CellFormat.PreferredWidth = PreferredWidth.Auto; * docBuilder.Font.Color = Color.Black;*/ docBuilder.CellFormat.Shading.BackgroundPatternColor = colorTitulo; docBuilder.Font.Color = Color.White; docBuilder.Font.Size = TamanioLetraContenidoTabla; docBuilder.InsertCell(); docBuilder.Write(nombreMiembro); if (cantidadCeldasVacias > 0) { for (var indexMiembro = 0; indexMiembro < cantidadCeldasVacias; indexMiembro++) { docBuilder.InsertCell(); docBuilder.Write(String.Empty); } docBuilder.EndRow(); } var countType = 0; docBuilder.CellFormat.Shading.BackgroundPatternColor = Color.White; docBuilder.CellFormat.PreferredWidth = PreferredWidth.Auto; docBuilder.Font.Color = Color.Black; docBuilder.Bold = false; foreach (var idConcepto in hipercubo.Value.Hechos.Keys) { var matrizPlantillaContexto = hipercubo.Value.Hechos[idConcepto]; if (matrizPlantillaContexto.ContainsKey(idPlantillaContexto)) { countType = matrizPlantillaContexto[idPlantillaContexto].Length; } else { LogUtil.Error("No se encontro la definición para la plantilla de contexto:" + idPlantillaContexto); } break; } Boolean dimensiones = false; for (var indexType = 0; indexType < countType; indexType++) { if (indexType > 0) { dimensiones = true; } docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; foreach (var idConcepto in hipercubo.Value.Hechos.Keys) { var matrizPlantillaContexto = hipercubo.Value.Hechos[idConcepto]; ConceptoHiper.Add(idConcepto); var listaHechos = matrizPlantillaContexto[idPlantillaContexto]; if (listaHechos != null) { var hecho = listaHechos[indexType]; var valorHecho = hecho.Valor; if (dimensiones) { docBuilder.EndRow(); docBuilder.InsertCell(); dimensiones = false; } else { docBuilder.InsertCell(); } if (hecho.NoEsNumerico) { docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; } else { docBuilder.CellFormat.WrapText = false; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; } if ((hecho != null && !String.IsNullOrWhiteSpace(hecho.Valor))) { docBuilder.Write(valorHecho); } } } } docBuilder.RowFormat.AllowBreakAcrossPages = true; docBuilder.RowFormat.HeadingFormat = false; if (countType > 0) { docBuilder.EndRow(); } } establecerBordesGrisesTabla(tablaActual); docBuilder.EndTable(); docBuilder.Writeln(); Evaluador.Add(variable.Key); } } } }
override public void exportarRolAWord(DocumentBuilder docBuilder, DocumentoInstanciaXbrlDto instancia, IndiceReporteDTO rolAExportar, ReporteXBRLDTO estructuraReporte) { docBuilder.CurrentSection.PageSetup.Orientation = Orientation.Landscape; docBuilder.CurrentSection.PageSetup.PaperSize = PaperSize.Legal; docBuilder.CurrentSection.PageSetup.LeftMargin = 10; docBuilder.CurrentSection.PageSetup.RightMargin = 10; Color colorTitulo = Color.FromArgb(ColorTituloTabla[0], ColorTituloTabla[1], ColorTituloTabla[2]); escribirEncabezado(docBuilder, instancia, estructuraReporte, true); imprimirTituloRol(docBuilder, rolAExportar); Table tablaDesglose = docBuilder.StartTable(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center; establecerFuenteTituloCampo(docBuilder); docBuilder.Font.Size = TamanioLetraReporteDesglose; docBuilder.ParagraphFormat.SpaceAfter = 0; docBuilder.ParagraphFormat.SpaceBefore = 2; 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; var idioma = estructuraReporte.Lenguaje; docBuilder.CellFormat.VerticalMerge = CellMerge.First; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_InstitucionEje", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.First; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_InstitucionExtranjeraSiNo", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.First; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_FechaDeFirmaContrato", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.First; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_FechaDeVencimiento", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.First; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_TasaDeInteresYOSobretasa", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.First; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_DenominacionEje", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.EndRow(); docBuilder.InsertCell(); docBuilder.RowFormat.HeadingFormat = true; docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.First; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_MonedaNacionalMiembro", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.First; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_MonedaExtranjeraMiembro", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.EndRow(); docBuilder.InsertCell(); docBuilder.RowFormat.HeadingFormat = true; docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.First; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_IntervaloDeTiempoEje", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.First; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_IntervaloDeTiempoEje", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.EndRow(); docBuilder.InsertCell(); docBuilder.RowFormat.HeadingFormat = true; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.Previous; docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_AnoActualMiembro", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_Hasta1AnoMiembro", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_Hasta2AnosMiembro", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_Hasta3AnosMiembro", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_Hasta4AnosMiembro", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_Hasta5AnosOMasMiembro", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_AnoActualMiembro", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_Hasta1AnoMiembro", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_Hasta2AnosMiembro", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_Hasta3AnosMiembro", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_Hasta4AnosMiembro", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.InsertCell(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center; docBuilder.CellFormat.VerticalMerge = CellMerge.None; docBuilder.Write(DesgloseDeCreditosHelper.obtenerEtiquetaDeConcepto(instancia.Taxonomia, "ifrs_mx-cor_20141205_Hasta5AnosOMasMiembro", idioma, ReporteXBRLUtil.ETIQUETA_DEFAULT)); docBuilder.EndRow(); foreach (DesgloseDeCreditosReporteDto dto in estructuraReporte.DesgloseCreditos) { docBuilder.InsertCell(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; docBuilder.RowFormat.HeadingFormat = false; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.TituloAbstracto) { docBuilder.Font.Color = Color.White; docBuilder.CellFormat.Shading.BackgroundPatternColor = colorTitulo; docBuilder.Write(dto.Titulo); for (int i = 0; i < 16; i++) { docBuilder.InsertCell(); docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; docBuilder.CellFormat.Shading.BackgroundPatternColor = colorTitulo; docBuilder.Font.Color = Color.White; if (i == 0) { docBuilder.CellFormat.HorizontalMerge = CellMerge.First; docBuilder.CellFormat.VerticalMerge = CellMerge.None; } else { docBuilder.CellFormat.HorizontalMerge = CellMerge.Previous; docBuilder.CellFormat.VerticalMerge = CellMerge.None; } } } else { docBuilder.CellFormat.Shading.BackgroundPatternColor = Color.White; docBuilder.Font.Color = Color.Black; docBuilder.Write(dto.Titulo); docBuilder.InsertCell(); docBuilder.Font.Color = Color.Black; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left; docBuilder.CellFormat.Shading.BackgroundPatternColor = Color.White; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.InstitucionExtranjera != null) { docBuilder.Write(Boolean.Parse(dto.InstitucionExtranjera.Valor) ? "SI" : "NO"); escribirLinkNotaAlPie(docBuilder, dto.InstitucionExtranjera, estructuraReporte); } docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.FechaFirmaContrato != null && dto.FechaFirmaContrato.Valor != null && DateReporteUtil.obtenerFecha(dto.FechaFirmaContrato.Valor) != default(DateTime)) { docBuilder.Write(DateUtil.ToFormatString(DateReporteUtil.obtenerFecha(dto.FechaFirmaContrato.Valor), ReporteXBRLUtil.FORMATO_FECHA_YYYY_MM_DD)); escribirLinkNotaAlPie(docBuilder, dto.FechaFirmaContrato, estructuraReporte); } docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.FechaVencimiento != null && dto.FechaVencimiento.Valor != null && DateReporteUtil.obtenerFecha(dto.FechaVencimiento.Valor) != default(DateTime)) { docBuilder.Write(DateUtil.ToFormatString(DateReporteUtil.obtenerFecha(dto.FechaVencimiento.Valor), ReporteXBRLUtil.FORMATO_FECHA_YYYY_MM_DD)); escribirLinkNotaAlPie(docBuilder, dto.FechaVencimiento, estructuraReporte); } docBuilder.InsertCell(); docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.TasaInteres != null && dto.TasaInteres.Valor != null) { docBuilder.Write(dto.TasaInteres.Valor); escribirLinkNotaAlPie(docBuilder, dto.TasaInteres, estructuraReporte); } docBuilder.InsertCell(); docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.MonedaNacionalAnioActual != null && dto.MonedaNacionalAnioActual.ValorFormateado != null) { escribirLinkNotaAlPie(docBuilder, dto.MonedaNacionalAnioActual, estructuraReporte); docBuilder.Write(dto.MonedaNacionalAnioActual.ValorFormateado); } docBuilder.InsertCell(); docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.MonedaNacionalUnAnio != null && dto.MonedaNacionalUnAnio.ValorFormateado != null) { escribirLinkNotaAlPie(docBuilder, dto.MonedaNacionalUnAnio, estructuraReporte); docBuilder.Write(dto.MonedaNacionalUnAnio.ValorFormateado); } docBuilder.InsertCell(); docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.MonedaNacionalDosAnio != null && dto.MonedaNacionalDosAnio.ValorFormateado != null) { escribirLinkNotaAlPie(docBuilder, dto.MonedaNacionalDosAnio, estructuraReporte); docBuilder.Write(dto.MonedaNacionalDosAnio.ValorFormateado); } docBuilder.InsertCell(); docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.MonedaNacionalTresAnio != null && dto.MonedaNacionalTresAnio.ValorFormateado != null) { escribirLinkNotaAlPie(docBuilder, dto.MonedaNacionalTresAnio, estructuraReporte); docBuilder.Write(dto.MonedaNacionalTresAnio.ValorFormateado); } docBuilder.InsertCell(); docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.MonedaNacionalCuatroAnio != null && dto.MonedaNacionalCuatroAnio.ValorFormateado != null) { escribirLinkNotaAlPie(docBuilder, dto.MonedaNacionalCuatroAnio, estructuraReporte); docBuilder.Write(dto.MonedaNacionalCuatroAnio.ValorFormateado); } docBuilder.InsertCell(); docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.MonedaNacionalCincoMasAnio != null && dto.MonedaNacionalCincoMasAnio.ValorFormateado != null) { escribirLinkNotaAlPie(docBuilder, dto.MonedaNacionalCincoMasAnio, estructuraReporte); docBuilder.Write(dto.MonedaNacionalCincoMasAnio.ValorFormateado); } docBuilder.InsertCell(); docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.MonedaExtranjeraAnioActual != null && dto.MonedaExtranjeraAnioActual.ValorFormateado != null) { escribirLinkNotaAlPie(docBuilder, dto.MonedaExtranjeraAnioActual, estructuraReporte); docBuilder.Write(dto.MonedaExtranjeraAnioActual.ValorFormateado); } docBuilder.InsertCell(); docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.MonedaExtranjeraUnAnio != null && dto.MonedaExtranjeraUnAnio.ValorFormateado != null) { escribirLinkNotaAlPie(docBuilder, dto.MonedaExtranjeraUnAnio, estructuraReporte); docBuilder.Write(dto.MonedaExtranjeraUnAnio.ValorFormateado); } docBuilder.InsertCell(); docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.MonedaExtranjeraDosAnio != null && dto.MonedaExtranjeraDosAnio.ValorFormateado != null) { escribirLinkNotaAlPie(docBuilder, dto.MonedaExtranjeraDosAnio, estructuraReporte); docBuilder.Write(dto.MonedaExtranjeraDosAnio.ValorFormateado); } docBuilder.InsertCell(); docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.MonedaExtranjeraTresAnio != null && dto.MonedaExtranjeraTresAnio.ValorFormateado != null) { escribirLinkNotaAlPie(docBuilder, dto.MonedaExtranjeraTresAnio, estructuraReporte); docBuilder.Write(dto.MonedaExtranjeraTresAnio.ValorFormateado); } docBuilder.InsertCell(); docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.MonedaExtranjeraCuatroAnio != null && dto.MonedaExtranjeraCuatroAnio.ValorFormateado != null) { escribirLinkNotaAlPie(docBuilder, dto.MonedaExtranjeraCuatroAnio, estructuraReporte); docBuilder.Write(dto.MonedaExtranjeraCuatroAnio.ValorFormateado); } docBuilder.InsertCell(); docBuilder.CellFormat.WrapText = true; docBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Right; docBuilder.CellFormat.HorizontalMerge = CellMerge.None; docBuilder.CellFormat.VerticalMerge = CellMerge.None; if (dto.MonedaExtranjeraCincoMasAnio != null && dto.MonedaExtranjeraCincoMasAnio.ValorFormateado != null) { escribirLinkNotaAlPie(docBuilder, dto.MonedaExtranjeraCincoMasAnio, estructuraReporte); docBuilder.Write(dto.MonedaExtranjeraCincoMasAnio.ValorFormateado); } } docBuilder.EndRow(); } establecerBordesGrisesTabla(tablaDesglose); docBuilder.EndTable(); }