Estou reutilizando a tabela SM2, onde eu acrescendo apenas um campo. Porem, ao criar a tela com o MBROWSE ele traz todos os campos com o "Browse" ativo.
A minha questão é, existe alguma forma de eu escolher a dedo quais colunas irão aparecer, sem ser utilizando tabela temporária? Pois eu verifiquei na documentação do próprio TDN que existem alguns parâmetros reservados, então quem sabe alguém não conheça alguma utilidade diferente para eles.
É mais por curiosidade mesmo, pois não vejo problema em utilizar tabela temporária.
Bom dia Patrick, você está criando um browse com o alias da SM2, é isso?
Bom dia Daniel, sim, exatamente.
Boa tarde Patrick,
A função MBrowse não vai te dar essa opção de não exibir a coluna, pois ela vai validar o SX3 conforme o alias informado.
Você pode alterar a opção de browse desse campo no SX3 pelo configurador ou criar o browse de forma manual, instanciando a classe, sentando alias, colunas etc.
Boa tarde,
Você pode utilizar a função FwMBrowser e no método SetFields ou SetColumns passar os campos que você quer apresentar.
Boa tarde!
Você pode utilizar o método SetOnlyFields da classe FwMBrowse para exibir apenas as colunas que deseja. Exemplo:
oBrowse := FwMBrowse():New()
oBrowse:SetAlias('SA3')
oBrowse:SetOnlyFields({'A3_COD','A3_NOME'})
oBrowse:SetDescription('Associação de Vendedores a Municípios')
oBrowse:Activate()
Funciona, porem tem 1 problema, os campos que eu quero colocar, 1 tem o X3_BROWSE==“S”, porem o outro não, pois qual era a ideia, não mostrar esse campo personalizado em nenhum outro lugar, apenas nessa nova tela. Sera que se eu usar o SetFields que o Ruann Carlos comentou funciona?
Boa tarde, Patrick! Nesse caso, acredito que o método SetFields irá lhe atender.
Usando o SetFields e após o SetOnlyFields funcionou perfeitamente. Obrigado pessoal
Patrick, como você resolveu com o SetFields e SetOnlyFields? Aqui tenho campos marcados por padrão para serem exibidos no Browse e outros não. Eu gostaria de definir quais efetivamente eu quero exibir.