Escolar Documentos
Profissional Documentos
Cultura Documentos
Classe: MsGetDados
Objeto tipo lista com uma ou mais colunas para cadastramento de dados.
Sintaxe
MsGetDados(): New ( < nTop>, < nLeft>, < nBottom>, < nRight>, < nOpc>, [ cLinhaOk], [ cTudoOk], [ cIniCpos], [ lDeleta], [ aAlter], [ nFreeze], [ lEmpty], [ nMax], [ cFieldOk], [ cSuperDel], [ uPar], [ cDelOk], [ oWnd], [ lUseFreeze], [ cTela] ) --> oGetDados
Parmetros
Nome nTop Tipo Numrico Descrio Distncia entre a MsGetDados e a extremidade superior do objeto que a contm. Distncia entre a MsGetDados e a extremidade esquerda do objeto que a contm. Distncia entre a MsGetDados e a extremidade inferior do objeto que a contm. Obrigatrio X Referncia
nLeft
Numrico
nBottom
Numrico
nRight
Numrico
Distncia entre a MsGetDados e o extremidade direita do objeto que a contm. Posio do elemento do vetor aRotina que a MsGetDados usar como referncia. Funo executada para validar o contexto da linha atual do aCols. Funo executada para validar o contexto geral da MsGetDados (todo aCols). Nome dos campos do tipo caracter que utilizaro incremento automtico. Este parametro deve ser no formato +++.... Habilita deletar linhas do aCols. Valor padro falso. Vetor com os campos que podero ser alterados. Quantidade de colunas que sero apresentadas de forma fixa durante a navegao horizontal, iniciando da esquerda para direita. Habilita validao da primeira coluna do aCols para que esta no possa ser vazia. Valor padro falso.
nOpc
Numrico
cLinhaOk
Caracter
cTudoOk
Caracter
cIniCpos
Caracter
lDeleta
Lgico
aAlter
Vetor
nFreeze
Qualquer
lEmpty
Lgico
nMax
Numrico
Nmero mximo de linhas permitidas. Valor padro 99. Funo executada na validao do campo. Funo executada quando pressionada as teclas +. Parmetro reservado Funo executada para validar a excluso de uma linha do aCols. Objeto no qual a MsGetDados ser criada. Determina se as colunas podero ser fixadas durante a navegao horizontal. Valor padro falso. Parmetro reservado
cFieldOk
Caracter
cSuperDel
Caracter
uPar cDelOk
Vetor Caracter
oWnd
Objeto
lUseFreeze
Lgico
cTela
Caracter
Retorno
oGetDados() Objeto da classe MsGetDados
Exemplos #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))F or 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
Mtodos Disable
Disable
Desabilita o objeto da MsGetDados.
Sintaxe
MsGetDados(): Disable ( ) -->
Enable
Enable
Habilita o objeto da MsGetDados.
Sintaxe
MsGetDados(): Enable ( ) -->
ForceRefresh
ForceRefresh
Atualiza a MsGetDados com o aCols e posiciona na primeira linha.
Sintaxe
MsGetDados(): ForceRefresh ( ) -->
Hide
Hide
Inibe a MsGetDados.
Sintaxe
MsGetDados(): Hide ( ) -->
SetEditLine
SetEditLine
Mtodo que habilita/desabilita o modo de edio por linha.
Sintaxe
MsGetDados(): SetEditLine ( < lSet> ) -->
Parmetros
Nome lSet Tipo Lgico Descrio Se verdadeiro permite executar o modo de edio por linha. Obrigatrio X Referncia
Show
Show
Exibe a MsGetDados.
Sintaxe
MsGetDados(): Show ( ) -->
Propriedade
Propriedade aAlter aEdit aInfo aPosCol Descrio Vetor com nome dos campos que podero ser editados. Parmetro reservado. Vetor para controle interno da classe. Vetor utilizado para identificar colunas de preencimento obrigatrio no formato:[1] Ttulo[2] Coluna Codeblock que ser executado no ON INIT da janela da edio por clula. Tipo Vetor Vetor Vetor Vetor
bBeforeEdit
Bloco de cdigo
cClassName cDelOk
Indentifica a classe como "MSGETDADOS". Expresso com retorno lgico executada para validar a deleo da linha. Expresso com retorno lgico executada para validar a edio junto com as validaes do Dicionrio de Campos (SX3). Nome dos campos do tipo caracter que utilizaro incremento automtico. Expresso com retorno lgico executada para validar a navegao entre as linhas. Expresso com retorno lgico executada ao utilizar as teclas Ctrl+Del. Expresso com retorno lgico para validao geral das linhas. Determina que o objeto est habilitado. Determina se o modo de edio por linha pode ser habilitado. Verdadeiro quando o campo posicionado foi editado Verdadeiro se deleo de linhas esta habilitado. Determina se o objeto utiliza o modo de edio por linha. Verdadeiro se esta habilitado verificao se a primeira coluna est vazia. Verdadeiro para utilizar Consula Padro informada no aHeader e falso para utilizar do Dicionrio de Campos (SX3). Verdadeiro quando algum campo foi editado. Identifica que foi criada uma nova linha.
Caracter Caracter
cFieldOk
Caracter
cIniCPos
Caracter
cLinhaOk
Caracter
cSuperDel
Caracter
lF3Header
Lgico
lModified lNewLine
Lgico Lgico
nFreeze
Quantidade de colunas que sero apresentadas de forma fixa durante a navegao horizontal, iniciando da esquerda para direita. Controla o nmero mximo de linhas que podem ser criadas. Determina o tipo de evento que est sendo executado. Objeto da MsGetDados Objeto onde a MsGetDados ser criada.
Numrico
Observaes
A MsGetDados precisa que sejam declaradas as variveis abaixo sendo tipo Private:
- aRotina
Vetor com as rotinas que sero executadas na MBrowse e que definira o tipo de operao que esta sendo executada (incluso, alterao, excluso, visualizao, pesquisa, ...) no formato:
Elemento 1 2 3 4 5
Contedo Ttulo Rotina Reservado Operao (1 - pesquisa; 2 - visualizao; 3 incluso; 4 - alterao; 5 - excluso) Acesso relacionado a rotina, se esta posio no for informada nenhum acesso ser validado
- aHeader
10
Reservado
- aCols
Vetor com as linhas a serem editadas. As colunas devem ser construdas com base no aHeader mais uma ultima com valor lgico que determina se a linha foi excluda.
- lRefresh
Varivel tipo lgica para uso reservado. A MsGetDados cria a varivel publica n que indica qual a linha posicionada do aCols. As funes passadas como parmetro para a MsGetDados (cLinhaOk, cTudoOk, ...) no podero ser declaradas como Static Function. A consulta padro, validao do usurio e gatilhos estaro habilitados se o campo estiver cadastrado no Dicionrio de Dados (SX3/SX7) e apresentar estas opes disponveis.
Abrangncia Protheus 10