Mata461; Mata460A; Mata460Mark

Producto:

Microsiga Protheus®

Ocurrencia:

Mata461; Mata460A; Mata460Mark

Paso a paso:

Referente a una modificación en el Punto de entrada M460MARK, que no está trayendo más los filtros de la tabla SC9.

Verificamos que en la versión 11 después de una corrección en una falla encontrada en las clases y funciones de  browse no se puede más sobreponer un filtro nativo sin utilizar el browse para ello.

En este caso, la rutina MATA461 utiliza la función FilBrowse() para rehacer el filtro, lo cual acaba no manteniendo el filtro cuando se activa el punto de entrada.

Este error fue identificado por el llamado TGMEUX, donde recibimos el siguiente feedback del equipo de Framework:

 "Si el browse tuviera un filtro nativo (creado por ejemplo por el FilBrowse), es imposible cambiar el filtro por fuera (utilizando el SET FILTER TO directo en la tabla, por ejemplo). Lo correcto es utilizar el browse para realizar los filtros, de esta manera todo el control del filtro es responsabilidad exclusiva del browse."

Con esta modificación, en la versión 11, en algunos momentos del fuente, para utilizarse el filtro, tiene que realizarse de la siguiente manera:

**************************************************

User Function MBrwSA1() 

Local cAlias := "SA1" 


cFiltra := "A1_FILIAL = '"+xFilial("SA1")+"'"+" AND A1_EST = 'SP'"


 cCadastro := "Registro de clientes"

 aRotina := {} 


cCadastro := "Liberación de títulos del Cuentas por pagar "


aRotina := {{"Pesquisar" ,"PesqBrw" ,0,1},; 

            {"Visualizar" ,"AxVisual",0,2},;

              {"Incluir" ,"AxInclui",0,3},; 

              {"Modificar", "AxAltera",0,4},;

              {"PruebaSuc", "U_Testefil()",0,2}} 

              

DbSelectArea("SA1")

mBrowse(6,1,22,75,cAlias,,,,,,,,,,,,,,cFiltra) 

Return 


User function Testefil() 

Local oBrowse := GetMBrowse()

Local cFiltro2 := "SA1->A1_EST == 'PI'"

oBrowse:SetFilterDefault(cFiltro2)

Return()

**************************************************


Conforme se explicó, para el incidente del punto de entrada M460MARK en la versión 11, debe crear una nueva query en la tabla SC9, antes de realizar su tratamiento.

A continuación, se muestra un ejemplo para obtener las informaciones que pueden ayudar en el filtro do punto de entrada, en este caso, utilizo las informaciones del pergunte MT461A que también se utiliza para realizar el filtro del Browse en la rutina estándar.

 **************************************************

USER FUNCTION M460MARK

Local lRet := MSGYESNO("M460MARK")

Pergunte("MT461A",.F.)

//Ahora visualizará los parámetros necesarios para el filtro

//Por ejemplo: MV_PAR11 -> 21/03/2013

Return lRet

**************************************************

Este artículo está publicado nen el byYou, por medio del siguiente enlace:

https://totvs.byyou.com/artigos?space=ntecnologia&app_ByYouSocialArticle_articleId=799185250