Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin
Composition Setup
import.css=/download/attachments/327912/newLayout.css
Portuguese

Pagetitle
Modelo2 - Formulário para cadastro
Modelo2 - Formulário para cadastro

Função: Modelo2 - Formulário para cadastro
Versões: Microsiga Protheus 8.11 , Protheus 10
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:
Exibe formulário para cadastro contendo: uma enchoice, uma getdados e uma área que pode ser utilizada para apresentar totalizadores ou outros dados mais reelevantes.
Programa Fonte:
MATXATU.PRW
Sintaxe:

Modelo2 - Formulário para cadastro ( cTitulo [ aC ] [ aR ] [ aGd ] [ nOp ] [ cLinhaOk ] [ cTudoOk ]aGetsD [ bF4 ] [ cIniCpos ] [ nMax ] [ aCordW ] [ lDelGetD ] [ lMaximazed ] [ aButtons ] )

Retorno:
    ()
Observações

Parâmetros

aC

  • aC[n,1] = Nome da Variável Ex.:"cCliente"
  • aC[n,2] = Array com coordenadas do Get [x,y], em Windows estão em PIXEL
  • aC[n,3] = Titulo do Campo
  • aC[n,4] = Picture
  • aC[n,5] = Validação
  • aC[n,6] = F3
  • aC[n,7] = Se campo é editavel .T. se não .F.

aR

  • aR[n,1] = Nome da Variável Ex.:"cCliente"
  • aR[n,2] = Array com coordenadas do Get [x,y], em Windows estão em PIXEL
  • aR[n,3] = Titulo do Campo
  • aR[n,4] = Picture
  • aR[n,5] = Validação
  • aR[n,6] = F3
  • aR[n,7] = Se campo é editavel .T. se não .F.
Exemplos
#include "protheus.ch"User Function Md2()nOpcx:=3//+-----------------------------------------------+//¦ Montando aHeader para a Getdados              ¦//+-----------------------------------------------+dbSelectArea("Sx3")dbSetOrder(1)dbSeek("SX5")nUsado:=0aHeader:={}While !Eof() .And. (x3_arquivo == "SX5")    IF X3USO(x3_usado) .AND. cNivel >= x3_nivel        nUsado:=nUsado+1        AADD(aHeader,{ TRIM(x3_titulo),x3_campo,;           x3_picture,x3_tamanho,x3_decimal,;           "ExecBlock('Md2valid',.f.,.f.)",x3_usado,;           x3_tipo, x3_arquivo, x3_context } )    Endif    dbSkip()End//+-----------------------------------------------+//¦ Montando aCols para a GetDados                ¦//+-----------------------------------------------+aCols:=Array(1,nUsado+1)dbSelectArea("Sx3")dbSeek("SX5")nUsado:=0While !Eof() .And. (x3_arquivo == "SX5")    IF X3USO(x3_usado) .AND. cNivel >= x3_nivel        nUsado:=nUsado+1        IF nOpcx == 3           IF x3_tipo == "C"             aCOLS[1][nUsado] := SPACE(x3_tamanho)                Elseif x3_tipo == "N"                    aCOLS[1][nUsado] := 0                Elseif x3_tipo == "D"                    aCOLS[1][nUsado] := dDataBase                Elseif x3_tipo == "M"                    aCOLS[1][nUsado] := ""                Else                    aCOLS[1][nUsado] := .F.                Endif            Endif        Endif   dbSkip()EndaCOLS[1][nUsado+1] := .F.//+----------------------------------------------+//¦ Variaveis do Cabecalho do Modelo 2           ¦//+----------------------------------------------+cCliente:=Space(6)cLoja   :=Space(2)dData   :=Date()//+----------------------------------------------+//¦ Variaveis do Rodape do Modelo 2//+----------------------------------------------+nLinGetD:=0//+----------------------------------------------+//¦ Titulo da Janela                             ¦//+----------------------------------------------+cTitulo:="TESTE DE MODELO2"//+----------------------------------------------+//¦ Array com descricao dos campos do Cabecalho  ¦//+----------------------------------------------+aC:={}#IFDEF WINDOWS AADD(aC,{"cCliente" ,{15,10} ,"Cod. do Cliente","@!",'ExecBlock("MD2VLCLI",.F.,.F.)',"SA1",}) AADD(aC,{"cLoja"    ,{15,200},"Loja","@!",,,}) AADD(aC,{"dData"    ,{27,10} ,"Data de Emissao",,,,})#ELSE AADD(aC,{"cCliente" ,{6,5} ,"Cod. do Cliente","@!",'ExecBlock("MD2VLCLI",.F.,.F.)',"SA1",}) AADD(aC,{"cLoja"    ,{6,40},"Loja","@!",,,}) AADD(aC,{"dData"    ,{7,5} ,"Data de Emissao",,,,})#ENDIF//+-------------------------------------------------+//¦ Array com descricao dos campos do Rodape        ¦//+-------------------------------------------------+aR:={}#IFDEF WINDOWS AADD(aR,{"nLinGetD" ,{120,10},"Linha na GetDados", "@E 999",,,.F.})#ELSE AADD(aR,{"nLinGetD" ,{19,05},"Linha na GetDados","@E 999",,,.F.})#ENDIF//+------------------------------------------------+//¦ Array com coordenadas da GetDados no modelo2   ¦//+------------------------------------------------+#IFDEF WINDOWS    aCGD:={44,5,118,315}#ELSE    aCGD:={10,04,15,73}#ENDIF//+----------------------------------------------+//¦ Validacoes na GetDados da Modelo 2           ¦//+----------------------------------------------+cLinhaOk := "ExecBlock('Md2LinOk',.f.,.f.)"cTudoOk  := "ExecBlock('Md2TudOk',.f.,.f.)"//+----------------------------------------------+//¦ Chamada da Modelo2                           ¦//+----------------------------------------------+// lRet = .t. se confirmou// lRet = .f. se canceloulRet:=Modelo2(cTitulo,aC,aR,aCGD,nOpcx,cLinhaOk,cTudoOk)Return
Parâmetros:
NomeTipoDescriçãoDefaultObrigatórioReferência
cTituloCaracterTitulo da janelaX
aCVetorArray com os campos do cabeçalho
aRVetorArray com os campos do rodapé
aGdVetorArray com as posições para edição dos itens (GETDADOS)
nOpNuméricoModo de operação (3 ou 4 altera e inclui itens, 6 altera mas não inclui itens, qualquer outro número só visualiza os itens)3
cLinhaOkCaracterFunção para validação da linha.
cTudoOkCaracterFunção para validação na confirmação.
aGetsDVetorArray com gets editáveisX
bF4Bloco de códigobloco de código para tecla F4
cIniCposCaracterString com nome dos campos que devem ser inicializados ao teclar seta para baixo.
nMaxNuméricoQuantidade Máxima de ítens da GetDados
aCordWVetorCoordenadas para montagem da dialog
lDelGetDLógicoDetermina se as linas da GetDados podem ser deletadas ou não.T.
lMaximazedLógicoSe a tela virá Maximizada
aButtonsVetorArray com botões do usuário