Você está na página 1de 9

MsGetDados Colapse ALL Expand ALL

Classe: MsGetDados
Objeto tipo lista com uma ou mais colunas para cadastramento de dados.

Hierarquia Construtores New


New
Contrutor da Classe MsGetDados

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

Function SUPERDEL()ApMsgStop("SUPERDEL")Return .T. User Function FIELDOK()ApMsgStop("FIELDOK")Return .T.

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

cTudoOk lActive lCanEditLine lChgField lDeleta lEditLine lEmpty

Caracter Lgico Lgico Lgico Lgico Lgico Lgico

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

nMax nOpc oBrowse oWnd

Numrico Numrico Objeto Objeto

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

Vetor com informaes das colunas no formato:


Elemento 1 2 3 4 5 6 7 8 9 Contedo Ttulo Campo Picture Tamanho Decimal Validao Reservado Tipo Reservado

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

Você também pode gostar