override public void exportarRolAWord(DocumentBuilder docBuilder, DocumentoInstanciaXbrlDto instancia, IndiceReporteDTO rolAExportar, ReporteXBRLDTO estructuraReporte) { IList <ConceptoReporteDTO> listaConceptos = estructuraReporte.Roles[rolAExportar.Rol]; String prefijoIdTaxo = ReporteXBRLUtil.obtenerIdPrefijoDeTaxonomia(instancia); String numTrimestre = obtenerValorNoNumerico(instancia, prefijoIdTaxo + ID_NUM_TRIMESTRE); String espacioNombresCCD = "http://www.cnbv.gob.mx/2015-06-30/ccd/full_ifrs_ccd_entry_point_2016-08-22"; docBuilder.CurrentSection.PageSetup.Orientation = Orientation.Portrait; docBuilder.CurrentSection.PageSetup.PaperSize = PaperSize.Letter; escribirEncabezado(docBuilder, instancia, estructuraReporte, true); imprimirTituloRol(docBuilder, rolAExportar); Table tablaActual = docBuilder.StartTable(); docBuilder.ParagraphFormat.SpaceAfter = 5; docBuilder.ParagraphFormat.SpaceBefore = 5; escribirADosColumnasConceptoValor(docBuilder, ID_NAME_OF_ENTITY, rolAExportar, estructuraReporte); escribirADosColumnasConceptoValor(docBuilder, prefijoIdTaxo + ID_CLAVE_COTIZACION, rolAExportar, estructuraReporte); escribirADosColumnasConceptoValor(docBuilder, ID_EXPLICACION_EN_EL_CAMBIO, rolAExportar, estructuraReporte); escribirADosColumnasConceptoValor(docBuilder, ID_DESCRIPCION_NATURALEZA, rolAExportar, estructuraReporte); escribirADosColumnasConceptoValor(docBuilder, ID_DATE_OF_END, rolAExportar, estructuraReporte); escribirADosColumnasConceptoValor(docBuilder, ID_PERIODO_CUBIERTO, rolAExportar, estructuraReporte); escribirADosColumnasConceptoValor(docBuilder, ID_MONEDA_PRESENTACION, rolAExportar, estructuraReporte); escribirADosColumnasConceptoValor(docBuilder, ID_GRADO_REDONDEO, rolAExportar, estructuraReporte); if (instancia.Taxonomia.ConceptosPorId.ContainsKey(prefijoIdTaxo + ID_ESTADOS_CONSOLIDADOS)) { escribirADosColumnasConceptoValor(docBuilder, prefijoIdTaxo + ID_ESTADOS_CONSOLIDADOS, rolAExportar, estructuraReporte); } escribirADosColumnasConceptoValor(docBuilder, prefijoIdTaxo + ID_FIDEICOMISO_AVAL_GARANTE, rolAExportar, estructuraReporte); escribirADosColumnasConceptoValor(docBuilder, prefijoIdTaxo + ID_NUM_FIDEICOMISO, rolAExportar, estructuraReporte); if (instancia.Taxonomia.ConceptosPorId.ContainsKey(prefijoIdTaxo + ID_FLUJO_EFECTIVO_METODO_INDIRECTO)) { escribirADosColumnasConceptoValor(docBuilder, prefijoIdTaxo + ID_FLUJO_EFECTIVO_METODO_INDIRECTO, rolAExportar, estructuraReporte); } escribirADosColumnasConceptoValor(docBuilder, prefijoIdTaxo + ID_NUM_TRIMESTRE, rolAExportar, estructuraReporte); if (instancia.EspacioNombresPrincipal.Contains(espacioNombresCCD)) { escribirADosColumnasConceptoValor(docBuilder, ID_REQUIERE_ANEXO_AA, rolAExportar, estructuraReporte); } if (TRIM_4D.Equals(numTrimestre)) { escribirADosColumnasConceptoValor(docBuilder, prefijoIdTaxo + ID_FECHA_DE_OPINION, rolAExportar, estructuraReporte); } tablaActual.SetBorders(LineStyle.None, 0, Color.Black); tablaActual.SetBorder(BorderType.Horizontal, LineStyle.Single, .75, Color.DarkGray, true); tablaActual.SetBorder(BorderType.Bottom, LineStyle.Single, .75, Color.DarkGray, true); docBuilder.EndTable(); docBuilder.InsertParagraph(); escribirConceptoEnTablaNota(docBuilder, estructuraReporte, ID_INFO_A_REVELAR_SOBRE_INFO_GENERAL, listaConceptos); if (TRIM_4D.Equals(numTrimestre)) { foreach (String idConcepto in ID_CONCEPTOS_4D) { escribirConceptoEnTablaNota(docBuilder, estructuraReporte, prefijoIdTaxo + idConcepto, listaConceptos); } } //Reemplazar variables String consolidado = obtenerValorNoNumerico(instancia, prefijoIdTaxo + ID_ESTADOS_CONSOLIDADOS); String razonSocial = obtenerValorNoNumerico(instancia, ID_NAME_OF_ENTITY); if (consolidado != null) { if (CommonConstants.CADENAS_VERDADERAS.Contains(consolidado.ToLower().Trim())) { consolidado = "Consolidado"; } else { consolidado = "No consolidado"; } } else { consolidado = String.Empty; } docBuilder.Document.Range.Replace("#" + VARIABLE_CVE_COTIZACION, estructuraReporte.ClaveCotizacion, false, false); docBuilder.Document.Range.Replace("#" + VARIABLE_TRIMESTRE, numTrimestre, false, false); docBuilder.Document.Range.Replace("#" + VARIABLE_ANIO, estructuraReporte.Anio, false, false); docBuilder.Document.Range.Replace("#" + VARIABLE_RAZON_SOCIAL, razonSocial, false, false); docBuilder.Document.Range.Replace("#" + VARIABLE_CONSOLIDADO, consolidado, false, false); estructuraReporte.RazonSocial = razonSocial; estructuraReporte.IndicadorConsolidado = consolidado; }