Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
Portuguese | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Classe: MsGetDados
|
Nome | Tipo | Descrição | Obrigatório | Referência |
nTop | Numérico | Distância entre a MsGetDados e a extremidade superior do objeto que a contém. | X | |
nLeft | Numérico | Distância entre a MsGetDados e a extremidade esquerda do objeto que a contém. | X | |
nBottom | Numérico | Distância entre a MsGetDados e a extremidade inferior do objeto que a contém. | X | |
nRight | Numérico | Distância entre a MsGetDados e o extremidade direita do objeto que a contém. | X | |
nOpc | Numérico | Posição do elemento do vetor aRotina que a MsGetDados usará como referência. | X | |
cLinhaOk | Caracter | Função executada para validar o contexto da linha atual do aCols. | ||
cTudoOk | Caracter | Função executada para validar o contexto geral da MsGetDados (todo aCols). | ||
cIniCpos | Caracter | Nome dos campos do tipo caracter que utilizarão incremento automático. Este parametro deve ser no formato “+++...”. | ||
lDeleta | Lógico | Habilita deletar linhas do aCols. Valor padrão falso. | ||
aAlter | Vetor | Vetor com os campos que poderão ser alterados. | ||
nFreeze | Qualquer | Quantidade de colunas que serão apresentadas de forma fixa durante a navegação horizontal, iniciando da esquerda para direita. | ||
lEmpty | Lógico | Habilita validação da primeira coluna do aCols para que esta não possa ser vazia. Valor padrão falso. | ||
nMax | Numérico | Número máximo de linhas permitidas. Valor padrão 99. | ||
cFieldOk | Caracter | Função executada na validação do campo. | ||
cSuperDel | Caracter | Função executada quando pressionada as teclas +. | ||
uPar | Vetor | Parâmetro reservado | ||
cDelOk | Caracter | Função executada para validar a exclusão de uma linha do aCols. | ||
oWnd | Objeto | Objeto no qual a MsGetDados será criada. | ||
lUseFreeze | Lógico | Determina se as colunas poderão ser fixadas durante a navegação horizontal. Valor padrão falso. | ||
cTela | Caracter | Parâmetro reservado |
- oGetDados()
- Objeto da classe MsGetDados
#include "protheus.ch"User Function Exemplo()Local nILocal oDlgLocal oGetDadosLocal nUsado := 0Private lRefresh := .T.Private aHeader := {}Private aCols := {}Private aRotina := {{"Pesquisar", "AxPesqui", 0, 1},; {"Visualizar", "AxVisual", 0, 2},; {"Incluir", "AxInclui", 0, 3},; {"Alterar", "AxAltera", 0, 4},; {"Excluir", "AxDeleta", 0, 5}}DbSelectArea("SX3")DbSetOrder(1)DbSeek("SA1")While !Eof() .and. SX3->X3_ARQUIVO == "SA1"If X3Uso(SX3->X3_USADO) .and. cNivel >= SX3->X3_NIVEL nUsado++ Aadd(aHeader,{Trim(X3Titulo()),; SX3->X3_CAMPO,; SX3->X3_PICTURE,; SX3->X3_TAMANHO,; SX3->X3_DECIMAL,; SX3->X3_VALID,; "",; SX3->X3_TIPO,; "",; "" })EndIfDbSkip()EndAadd(aCols,Array(nUsado+1))For nI := 1 To nUsado aCols[1][nI] := CriaVar(aHeader[nI][2])NextaCols[1][nUsado+1] := .F.DEFINE MSDIALOG oDlg TITLE "Exemplo" FROM 00,00 TO 300,400 PIXELoGetDados := MsGetDados():New(05, 05, 145, 195, 4, "U_LINHAOK", "U_TUDOOK", "+A1_COD", .T., {"A1_NOME"}, , .F., 200, "U_FIELDOK", "U_SUPERDEL", , "U_DELOK", oDlg)ACTIVATE MSDIALOG oDlg CENTEREDReturn User Function LINHAOK()ApMsgStop("LINHAOK")Return .T. User Function TUDOOK()ApMsgStop("LINHAOK")Return .T. User Function DELOK()ApMsgStop("DELOK")Return .T. User Function SUPERDEL()ApMsgStop("SUPERDEL")Return .T. User Function FIELDOK()ApMsgStop("FIELDOK")Return .T.
ForceRefresh
Atualiza a MsGetDados com o aCols e posiciona na primeira linha.
MsGetDados(): ForceRefresh ( ) -->
SetEditLine
Método que habilita/desabilita o modo de edição por linha.
MsGetDados(): SetEditLine ( < lSet> ) -->
Nome | Tipo | Descrição | Obrigatório | Referência |
lSet | Lógico | Se verdadeiro permite executar o modo de edição por linha. | X |
Propriedade | Descrição | Tipo |
aAlter | Vetor com nome dos campos que poderão ser editados. | Vetor |
aEdit | Parâmetro reservado. | Vetor |
aInfo | Vetor para controle interno da classe. | Vetor |
aPosCol | Vetor utilizado para identificar colunas de preencimento obrigatório no formato:[1] Título[2] Coluna | Vetor |
bBeforeEdit | Codeblock que será executado no ON INIT da janela da edição por célula. | Bloco de código |
cClassName | Indentifica a classe como "MSGETDADOS". | Caracter |
cDelOk | Expressão com retorno lógico executada para validar a deleção da linha. | Caracter |
cFieldOk | Expressão com retorno lógico executada para validar a edição junto com as validações do Dicionário de Campos (SX3). | Caracter |
cIniCPos | Nome dos campos do tipo caracter que utilizarão incremento automático. | Caracter |
cLinhaOk | Expressão com retorno lógico executada para validar a navegação entre as linhas. | Caracter |
cSuperDel | Expressão com retorno lógico executada ao utilizar as teclas Ctrl+Del. | Caracter |
cTudoOk | Expressão com retorno lógico para validação geral das linhas. | Caracter |
lActive | Determina que o objeto está habilitado. | Lógico |
lCanEditLine | Determina se o modo de edição por linha pode ser habilitado. | Lógico |
lChgField | Verdadeiro quando o campo posicionado foi editado | Lógico |
lDeleta | Verdadeiro se deleção de linhas esta habilitado. | Lógico |
lEditLine | Determina se o objeto utiliza o modo de edição por linha. | Lógico |
lEmpty | Verdadeiro se esta habilitado verificação se a primeira coluna está vazia. | Lógico |
lF3Header | Verdadeiro para utilizar Consula Padrão informada no aHeader e falso para utilizar do Dicionário de Campos (SX3). | Lógico |
lModified | Verdadeiro quando algum campo foi editado. | Lógico |
lNewLine | Identifica que foi criada uma nova linha. | Lógico |
nFreeze | Quantidade de colunas que serão apresentadas de forma fixa durante a navegação horizontal, iniciando da esquerda para direita. | Numérico |
nMax | Controla o número máximo de linhas que podem ser criadas. | Numérico |
nOpc | Determina o tipo de evento que está sendo executado. | Numérico |
oBrowse | Objeto da MsGetDados | Objeto |
oWnd | Objeto onde a MsGetDados será criada. | Objeto |
A MsGetDados precisa que sejam declaradas as variáveis abaixo sendo tipo Private:
- aRotina
Vetor com as rotinas que serão executadas na MBrowse e que definira o tipo de operação que esta sendo executada (inclusão, alteração, exclusão, visualização, pesquisa, ...) no formato:
Elemento Conteúdo 1 Título 2 Rotina 3 Reservado 4 Operação (1 - pesquisa; 2 - visualização; 3 - inclusão; 4 - alteração; 5 - exclusão) 5 Acesso relacionado a rotina, se esta posição não for informada nenhum acesso será validado
- aHeader
Vetor com informações das colunas no formato:
Elemento | Conteúdo |
1 | Título |
2 | Campo |
3 | Picture |
4 | Tamanho |
5 | Decimal |
6 | Validação |
7 | Reservado |
8 | Tipo |
9 | Reservado |
10 | Reservado |
- aCols
Vetor com as linhas a serem editadas. As colunas devem ser construídas com base no aHeader mais uma ultima com valor lógico que determina se a linha foi excluída.
- lRefresh
Variável tipo lógica para uso reservado.
A MsGetDados cria a variável publica n que indica qual a linha posicionada do aCols.
As funções passadas como parâmetro para a MsGetDados (cLinhaOk, cTudoOk, ...) não poderão ser declaradas como Static Function.
A consulta padrão, validação do usuário e gatilhos estarão habilitados se o campo estiver cadastrado no Dicionário de Dados (SX3/SX7) e apresentar estas opções disponíveis.
Protheus 10
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas