Funcao para retornar o titulo do botao no aRotina

Alguém saber alguma função que retorne o titulo do botão clicado no aRotina? Exemplo: Aqueles campos INCLUIR / ALTERAR/ EXCLUIR que definimos no ADD OPTION aRotina Title 'Processar' Action 'VIEWDEF.TESTE001' OPERATION 3 ACCESS 0.

o método oModel:GetOperation() retorna o numero mas eu preciso do Nome do botao, pois tem vários botões com o mesmo número (4 por exemplo).

Adriano, o que você deseja fazer?

Eu precisaria tratar o campo clicado para dar determinados tratamentos que são específicos de cada botão. Ou seja, O botao “Aprovar” possui 4 no retorno do GetOperation porém antes de abrir a tela, tenho que fazer algumas validações. Já o botão “Processar” também possui o GetOperation igual a 4 e os tratamentos sao outros. Entende? Por isso queria saber o botão clicado.

Adriano,

Não existe nenhuma função que retorne o título.

Obrigado pela ajuda Daniel!!!

Bom dia, Adriano!

Dependendo de como estiver as suas chamadas no MenuDef, você pode fazer isso diretamente dentro de uma User Function.

Por exemplo: digamos que eu possua dois botões com operação 4, e irei fazer tratativas diferentes para cada um deles. Pra isso, crio uma User Function e passo um parâmetro pra ela:


Add Option aRotina Title 'Aprovar'   Action 'U_FINA23UP(.T.)' Operation 4 Access 0
Add Option aRotina Title 'Processar' Action 'U_FINA23UP(.F.)' Operation 4 Access 0

Dentro da função, eu realizo tratativas de acordo com o parâmetro da função:


User Function FINA23UP(lAprv)
Local lRet    := .T.
Default lAprv := .F.

    If(lAprv .and. ZE1->ZE1_STATUS == '2')

        lRet := .F.
        Help(,,'Ação Inválida',,'O status do documento não permite a aprovação.',1,0,,,,,,{''})

    ElseIf(!lAprv .and. ZE1->ZE1_STATUS == '1')

        lRet := .F.
        Help(,,'Ação Inválida',,'O status do documento não permite o processamento.',1,0,,,,,,{''})

    EndIf

    If(lRet)

        FwExecView('Título da View', 'ELFINA23', 4)

    EndIf

Return

Obrigado pela ajuda Giordano! Essa dica me ajudou perfeitamente!!!