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ão | P10 R1.4 |
Sintaxe
FWExecView([ cTitulo ], <cPrograma >, [ nOperation ], /*[ oDlg ]*/, [ bCloseOnOK ], [ bOk ], [ nPercReducao ], [ aEnableButtons ], [ bCancel ], [ cOperatId ], [ cToolBar ], [ oModelAct ])-> nValor
Descrição
Função que apresenta uma janela exibindo o View (FWFormView) de um determinado programa-fonte.
Parâmetros
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
cTitulo | Caracteres | Titulo da janela | "" | ||
cPrograma | Caracteres | Nome do programa-fonte | X | ||
nOperation | Numérico | Indica o código de operação ( Inclusão, alteração ou exclusão ) | MODEL_OPERATION_VIEW | ||
oDlg | Objeto | Parâmetro descontinuado - Compatibilidade | |||
bCloseOnOK | Bloco de Código | Bloco 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. | |||
bOk | Bloco de Código | Bloco de validação do botão OK. Se o bloco retornar .T., executa o OK do MVC, do contrário não. | |||
nPercReducao | Numé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 | ||
aEnableButtons | Array | Botões que serão habilitados na janela. Verifique as observações para maiores informações. | NIL | ||
bCancel | Bloco de Código | Bloco de validação do botão Cancelar. Se o bloco retornar .T., executa o Cancelar do MVC, do contrário não. | |||
cOperatId | Caracteres | Identificador 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. | "" | ||
cToolBar | Caracteres | Indica o relacionamento com os botões da tela (FormBar) | "" | ||
oModelAct | Objeto | Model 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 as array 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
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas
5 Comentários
Denison Soares De Franca Nascimento
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
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.
Denison Soares De Franca Nascimento
Oi, Juliana! Obrigado pelo esclarecimento! =)
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
Daniel Mendes De Melo Sousa
Uma é função e a outra é classe, a função utiliza a classe internamente.