{"id":666,"date":"2026-04-20T10:51:08","date_gmt":"2026-04-20T13:51:08","guid":{"rendered":"https:\/\/wiki.gobiernoriocuarto.gob.ar\/?p=666"},"modified":"2026-04-21T08:38:21","modified_gmt":"2026-04-21T11:38:21","slug":"%f0%9f%93%84-uso-de-filtros-custom-en-exportaciones-excel-genexus-work-with-plus","status":"publish","type":"post","link":"https:\/\/wiki.gobiernoriocuarto.gob.ar\/?p=666","title":{"rendered":"\ud83d\udcc4 Uso de Filtros Custom en Exportaciones Excel (GeneXus + Work With Plus)"},"content":{"rendered":"<h2>\ud83e\udde9 Problema<\/h2>\n<p class=\"isSelectedEnd\">Al trabajar con exportaciones a Excel\/PDF generadas por el patr\u00f3n <strong>Work With Plus (WWP)<\/strong> en GeneXus, se detect\u00f3 el siguiente comportamiento:<\/p>\n<ul data-spread=\"false\">\n<li>\u2705 Los filtros est\u00e1ndar del grid (los del pattern) se aplican correctamente en el Excel.<\/li>\n<li>\u274c Los filtros personalizados (custom) creados manualmente <strong>no se aplican en el export<\/strong>.<\/li>\n<\/ul>\n<p class=\"isSelectedEnd\">Esto genera inconsistencias entre:<\/p>\n<ul data-spread=\"false\">\n<li>Lo que el usuario ve en pantalla<\/li>\n<li>Lo que realmente se exporta<\/li>\n<\/ul>\n<div>\n<hr \/>\n<\/div>\n<h2>\ud83d\udd0d Causa ra\u00edz<\/h2>\n<p class=\"isSelectedEnd\">El problema ocurre porque:<\/p>\n<ul data-spread=\"false\">\n<li>Los filtros est\u00e1ndar se guardan autom\u00e1ticamente en el <strong>GridState<\/strong> y se reutilizan en el procedimiento de exportaci\u00f3n mediante el Data Selector.<\/li>\n<li>Los filtros personalizados <strong>NO forman parte del GridState<\/strong>.<\/li>\n<li>Aunque se guarden en <code dir=\"ltr\">Session<\/code>, <strong>no se est\u00e1n cargando en el procedimiento de exportaci\u00f3n<\/strong>.<\/li>\n<\/ul>\n<p class=\"isSelectedEnd\">\ud83d\udc49 Resultado: en el export, las variables de filtros custom est\u00e1n vac\u00edas.<\/p>\n<div>\n<hr \/>\n<\/div>\n<h2>\u26a0\ufe0f Ejemplo del problema<\/h2>\n<p class=\"isSelectedEnd\">En el Web Panel:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">&amp;Session.Set(!\"CUSTOM_FILTER_PERARS\", &amp;PERARS)<\/code><\/pre>\n<p class=\"isSelectedEnd\">Pero en el Procedure (<code dir=\"ltr\">VAuMAeWWExport<\/code>):<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">\/\/ Nunca se recupera el valor\r\n&amp;PERARS = ''  \/\/ vac\u00edo<\/code><\/pre>\n<p class=\"isSelectedEnd\">Entonces esta condici\u00f3n:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">Where upper(PERARS) like '%' + upper(&amp;PERARS) + '%'\r\nwhen Trim(&amp;PERARS) &lt;&gt; ''<\/code><\/pre>\n<p class=\"isSelectedEnd\">\ud83d\udc49 <strong>NO se ejecuta<\/strong><\/p>\n<div>\n<hr \/>\n<\/div>\n<h2>\u2705 Soluci\u00f3n<\/h2>\n<h3>\u2714 Paso 1: Guardar filtros custom en Session\u00a0<\/h3>\n<p>Esto debe ir en el evento de llamada al procedimiento Export\/ExportReport, <strong>previo al c\u00f3digo generado por WWPlus<\/strong><\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">&amp;Session.Set(!\"CUSTOM_FILTER_PERARS\", &amp;PERARS)\r\n&amp;Session.Set(!\"CUSTOM_FILTER_PFINOM\", &amp;PFINOM)\r\n&amp;Session.Set(!\"CUSTOM_FILTER_CALDESSCOR\", &amp;CalDesCor)\r\n&amp;Session.Set(!\"CUSTOM_FILTER_VAUPTAENV\", &amp;VauPtaEnv.ToString())\r\n&amp;Session.Set(!\"CUSTOM_FILTER_IDBIEN\", &amp;IdBien.ToString())\r\n&amp;Session.Set(!\"CUSTOM_FILTER_VAUNROMOT\", &amp;VauNroMot)<\/code><\/pre>\n<div>\n<hr \/>\n<\/div>\n<h3>\u2714 Paso 2: Recuperar filtros en el Procedure de Export<\/h3>\n<p class=\"isSelectedEnd\">Agregar en el <strong><code dir=\"ltr\">LoadGridState<\/code> <\/strong>de la transacci\u00f3n a modificar y en los <strong>Procedure<\/strong> de <strong><code dir=\"ltr\">Export<\/code><\/strong>y <strong><code dir=\"ltr\">ExportReport<\/code><\/strong>(este c\u00f3digo debe ir al final, por debajo del creado por WWPlus):<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">&amp;PERARS    = &amp;Session.Get(!\"CUSTOM_FILTER_PERARS\")\r\n&amp;PFINOM    = &amp;Session.Get(!\"CUSTOM_FILTER_PFINOM\")\r\n&amp;CalDesCor = &amp;Session.Get(!\"CUSTOM_FILTER_CALDESSCOR\")\r\n&amp;VauPtaEnv = Val(&amp;Session.Get(!\"CUSTOM_FILTER_VAUPTAENV\"))\r\n&amp;IdBien    = Val(&amp;Session.Get(!\"CUSTOM_FILTER_IDBIEN\"))\r\n&amp;VauNroMot = &amp;Session.Get(!\"CUSTOM_FILTER_VAUNROMOT\")<\/code><\/pre>\n<div>\n<hr \/>\n<\/div>\n<p class=\"isSelectedEnd\">\ud83d\udccc Nota importante<\/p>\n<p>Esta soluci\u00f3n se basa en la transacci\u00f3n <strong>VAuMAe<\/strong>, incluyendo sus procedimientos <strong>Export<\/strong> y <strong>ExportReport<\/strong>.<\/p>\n<pre dir=\"ltr\">\u00a0<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\ud83e\udde9 Problema Al trabajar con exportaciones a Excel\/PDF generadas por el patr\u00f3n Work With Plus (WWP) en GeneXus, se detect\u00f3 el siguiente comportamiento: \u2705 Los filtros est\u00e1ndar del grid (los del pattern) se aplican correctamente en el Excel. \u274c Los filtros personalizados (custom) creados manualmente no se aplican en el export. Esto genera inconsistencias entre: [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":667,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-666","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-docs"],"_links":{"self":[{"href":"https:\/\/wiki.gobiernoriocuarto.gob.ar\/index.php?rest_route=\/wp\/v2\/posts\/666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiki.gobiernoriocuarto.gob.ar\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wiki.gobiernoriocuarto.gob.ar\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wiki.gobiernoriocuarto.gob.ar\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/wiki.gobiernoriocuarto.gob.ar\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=666"}],"version-history":[{"count":1,"href":"https:\/\/wiki.gobiernoriocuarto.gob.ar\/index.php?rest_route=\/wp\/v2\/posts\/666\/revisions"}],"predecessor-version":[{"id":668,"href":"https:\/\/wiki.gobiernoriocuarto.gob.ar\/index.php?rest_route=\/wp\/v2\/posts\/666\/revisions\/668"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wiki.gobiernoriocuarto.gob.ar\/index.php?rest_route=\/wp\/v2\/media\/667"}],"wp:attachment":[{"href":"https:\/\/wiki.gobiernoriocuarto.gob.ar\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiki.gobiernoriocuarto.gob.ar\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiki.gobiernoriocuarto.gob.ar\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}