Função: RegToMemory - Variáveis de memória
Versões: | Todas |
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: | Espanhol , Inglês |
Descrição:
Esta função inicializa as variáveis de memoria utilizadas pela interfaces modelo 3 ou que contenha o objeto Enchoice/MsSelect.
Programa Fonte:
MATXATU.PRX
Sintaxe:
RegToMemory - Variáveis de memória ( cAlias [ lInc ] [ lDic ] [ lInitPad ] [ cStack ] )
Retorno:
-
()
Exemplos
#include "rwmake.ch" User Function RDMOD3() Local _niaRotina := {{ "Pesquisa","AxPesqui", 0 , 1},; { "Visual","AxVisual", 0 , 2},; { "Inclui","AxInclui", 0 , 3},; { "Altera","AxAltera", 0 , 4, 20 },; { "Exclui","AxDeleta", 0 , 5, 21 }}//+--------------------------------------------------------------+//| Opcoes de acesso para a Modelo 3 |//+--------------------------------------------------------------+cOpcao:="INCLUIR"Do Case Case cOpcao=="INCLUIR"; nOpcE:=3 ; nOpcG:=3 Case cOpcao=="ALTERAR"; nOpcE:=3 ; nOpcG:=3 Case cOpcao=="VISUALIZAR"; nOpcE:=2 ; nOpcG:=2EndCaseDbSelectArea("SC5")DbSetOrder(1)DbGotop()//+--------------------------------------------------------------+//| Cria variaveis M->????? da Enchoice |//+--------------------------------------------------------------+RegToMemory("SC5",(cOpcao=="INCLUIR"))//+--------------------------------------------------------------+//| Cria aHeader e aCols da GetDados |//+--------------------------------------------------------------+nUsado:=0dbSelectArea("SX3")DbSetOrder(1)DbSeek("SC6")aHeader:={}While !Eof().And.(x3_arquivo=="SC6") If Alltrim(x3_campo)=="C6_ITEM" dbSkip() Loop Endif If X3USO(x3_usado).And.cNivel>=x3_nivel nUsado:=nUsado+1 Aadd(aHeader,{ TRIM(x3_titulo), x3_campo, x3_picture,; x3_tamanho, x3_decimal,"AllwaysTrue()",; x3_usado, x3_tipo, x3_arquivo, x3_context } ) Endif dbSkip()EndIf cOpcao=="INCLUIR" aCols:={Array(nUsado+1)} aCols[1,nUsado+1]:=.F. For _ni:=1 to nUsado aCols[1,_ni]:=CriaVar(aHeader[_ni,2]) NextElse aCols:={} dbSelectArea("SC6") dbSetOrder(1) dbSeek(xFilial()+M->C5_NUM) While !eof().and. SC6->C6_NUM == M->C5_NUM AADD(aCols,Array(nUsado+1)) For _ni:=1 to nUsado aCols[Len(aCols),_ni]:=FieldGet(FieldPos(aHeader[_ni,2])) Next aCols[Len(aCols),nUsado+1]:=.F. dbSkip() EndEndifIf Len(aCols)>0 //+--------------------------------------------------------------+ //| Executa a Modelo 3 | //+--------------------------------------------------------------+ cTitulo:="Teste de Modelo3()" cAliasEnchoice:="SC5" cAliasGetD:="SC6" cLinOk:="AllwaysTrue()" cTudOk:="AllwaysTrue()" cFieldOk:="AllwaysTrue()" _lRet:=Modelo3(cTitulo,cAliasEnchoice,cAliasGetD,,cLinOk,cTudOk,nOpcE,nOpcG,cFieldOk) //+--------------------------------------------------------------+ //| Executar processamento | //+--------------------------------------------------------------+ If _lRet Aviso("Modelo3()","Confirmada operacao!",{"Ok"}) EndifEndif Return
Parâmetros:
Nome | Tipo | Descrição | Default | Obrigatório | Referência | ||||||||||||
cAlias | Caracter | Alias da tabela que terá suas variaveis inicializadas. | X | ||||||||||||||
lInc | Lógico | Indica se a inicialização será baseada numa operações de inclusão ( .T. ) ou manutenção ( .F. ). A diferença entre elas é que na operação de inclusão os valores são inicializados vazios e na manutenção com os dados do registro posicionado. | .F. | ||||||||||||||
lDic | Lógico | Indica se a inicialização das variaveis será baseada no dicionário de dados ou apenas nos dados da WorkArea aberta. A diferença entre elas são os campos virtuais que somente são inicializadados com a opção .T. - Dicionário de dados. | .T. | ||||||||||||||
lInitPad | Lógico | Indica se o inicializador padrão do dicionário de dados será executado. Este parametro somente será acionado se o parametro ExpL3 for configurado como .T. - Dicionário de Dados. | .T. | ||||||||||||||
cStack | Qualquer | Parâmetro reservado |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas