Função: FWExecView


Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Nível de Acesso:Nível 1 (Acesso Clientes)
Idiomas:Português, Inglês, Espanhol
VersãoP10 R1.4


Sintaxe
FWExecView([ cTitulo ], <cPrograma >, [ nOperation ], /*[ oDlg ]*/, [ bCloseOnOK ], [ bOk ], [ nPercReducao ], [ aEnableButtons ], [ bCancel ], [ cOperatId ], [ cToolBar ], [ oModelAct ])-> nValor

Descrição
Funcao que apresenta uma janela exibindo o View(FWFormView) de um determinado programa-fonte.


Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cTituloCaracteresTitulo da janela""

cProgramaCaracteresNome do programa-fonte
X
nOperationNuméricoIndica o código de operação ( Inclusão, alteração ou exclusão )MODEL_OPERATION_VIEW

oDlgObjetoParâmetro descontinuado - Compatibilidade


bCloseOnOKBloco de CódigoBloco de validação do fechamento da janela. O bloco recebe como parametro o objeto da View e deve retonar um lógico.
Se retornar .T. a janela é fechada após cliar no botão OK e o botão "Salvar e Criar Novo" não será exibido em inclusões ou alterações, do contrário será mantida aberta.



bOkBloco de CódigoBloco de validação do botão OK. Se o bloco retornar .T., executa o OK do MVC, do contrário não.


nPercReducaoNumérico

Reduz a janela em nPercReducao/100 do tamanho da janela Owner.

Obs. Na operação de exclusão o percentual de redução não tem efeito, pois a janela de exclusão do MVC possui um layout diferenciado 

que não permite reduzir o tamanho da janela.

0

aEnableButtonsArrayBotões que serão habilitados na janela. Verifique as observações para maiores informações.NIL

bCancelBloco de CódigoBloco de validação do botão Cancelar. Se o bloco retornar .T., executa o Cancelar do MVC, do contrário não.


cOperatIdCaracteresIdentificador da opção do menu, usado em conjunto com o MenuDef para saber qual a opção escolhida.
O parametro é usado quando existe, por exemplo, mais de uma opção 4 no menu.
""

cToolBarCaracteresIndica o relacionamento com os botões da tela (FormBar)""

oModelActObjetoModel que será usado pelo View. Quando esse parametro é informado, o View não cria um novo model, ele usa o model que foi enviado.
Desconsiderando inclusive a operação informada no 3o parametro, o que vale é o que está no model. Importante, nesse caso o model
já deve estar ativo.
NIL


 

Retorno
nValor Retorna 0 caso clicado em OK e 1 em Cancelar.

Exemplo

Exemplo de uso com o aEnableButtons para alterar o nome dos botões cancelar e confirmar e desabilitar as opções Copiar, Recortar e Colar.

Static Function testeExecView()
Local aButtons := {{.F.,Nil},{.F.,Nil},{.F.,Nil},{.T.,Nil},{.T.,Nil},{.T.,Nil},{.T.,"Salvar"},{.T.,"Cancelar"},{.T.,Nil},{.T.,Nil},{.T.,Nil},{.T.,Nil},{.T.,Nil},{.T.,Nil}}
FWExecView('Inclusao por FWExecView','COMP011_MVC', MODEL_OPERATION_INSERT, , { || .T. }, , ,aButtons )
Return

Observações

VERSAO 11
O array aEnableButtons tem por padrão 14 posições:
1 - Copiar
2 - Recortar
3 - Colar
4 - Calculadora
5 - Spool
6 - Imprimir
7 - Confirmar
8 - Cancelar
9 - WalkTrhough
10 - Ambiente
11 - Mashup
12 - Help
13 - Formulário HTML
14 - ECM

Para cada posição existe um array no seguinte formato:
{.T., NIL}
O valor lógico indica se o botão deve ser habilitado e o Valor NIL é somente para compatilização.

Os únicos itens onde o array é diferente são o Cancelar e o Confirmar, pois eles permitem modificar o título do botão.
{.T., "Confirmar"}
{.T., "Cancelar"}

VERSAO 10
O array aEnableButtons tem por padrão 8 posições:
1 - Copiar
2 - Cortar
3 - Colar
4 - Calculadora
5 - Spool
6 - WalkTrhough
7 - Ambiente
8 - Mashup
  • Sem rótulos

5 Comentários

  1. Prezados,

    Vi em um código que o dev passou ao 6º parâmetro (bOk) uma função na qual fazia referência ao modelo de dados com o método DiffuseVoid(). Alguém sabe exatamente o que isso faz?
    Obrigado,

    Denison

  2. Usuário desconhecido (juliane.venteu)

    Oi Denison!

    O método DiffuseVoid torna o submodelo e todos os seus filhos inválidos, forçando os controles de validação para falso.

    É um método utilizado internamente pelo MVC, não é recomendado o uso na regra de negócio e por esse motivo ele não é documentado.

    1. Oi, Juliana! Obrigado pelo esclarecimento! =)

  3. Usuário desconhecido (everson.almeida)

    Boa tarde,

    Quais são as diferenças?

    Everson Da Costa Almeida, [01/06/2022 14:49]
    https://tdn.totvs.com/display/framework/FWViewExec

    Everson Da Costa Almeida, [01/06/2022 14:49]
    https://tdn.totvs.com/display/framework/FWExecView

    1. Uma é função e a outra é classe, a função utiliza a classe internamente.