Bem Vindo Visitante Lista de Usuários

 Todos os Fórums
  ADVPL

Enviar para a impressoraImprimir   

Subject MsNewGetDados
Mensagem do Enviar e-mail Abrir o Perfil do usuário RUBENS.SIM RUBENS.SIM em 8/2/2011 as 17:08 hs
Local: sp   Registrada: 12/24/2010  Postagem: 45
BOA TARDE PESSOAL,

ESTOU FAZENDO UMA MsNewGetDados, MAS OS CAMPOS QUE APARECEM NO ACOLS NAO ESTAO IGUAIS NO SX3

EXEMPLO NAO CONSIGO FAZER NO ACOLS O CAMPO SER UM COMBOBOX, TODOS OS CAMPOS ESTAO APARECENDO COMO SE FOSSEM CAMPOS COM CONSULTA (f3) AO EDITAR ELES APARECEM O DESENHO DA LUPA .

ALGUEM PODE ME AJUDAR? SEGUE ABAIXO O FONTE.

While !Eof() .And. SX3->X3_ARQUIVO == cAliasE
     If !(SX3->X3_CAMPO $ "Z9_FILIAL") .And. cNivel >= SX3->X3_NIVEL .And.     X3Uso(SX3->X3_USADO)
           
          AADD(aCpoEnch,SX3->X3_CAMPO)
     EndIf
     DbSkip()
End

aAlterEnch := aClone(aCpoEnch)

DbSelectArea("SX3")
DbSetOrder(1)
MsSeek(cAliasGD)

While !Eof() .And. SX3->X3_ARQUIVO == cAliasGD
     If !(AllTrim(SX3->X3_CAMPO) $ "Z8_FILIAL") .And. X3Uso(SX3->X3_USADO).And. cNivel >= SX3->X3_NIVEL
          AADD(aCpoGDa,SX3->X3_CAMPO)
     EndIf
     DbSkip()
End

aAlterGDa := aClone(aCpoGDa)

nUsado:=0
dbSelectArea("SX3")
dbSeek("SZ8")
aHeader:={}
While !Eof().And.(x3_arquivo=="SZ8")
     If X3USO(x3_usado).And.cNivel>=x3_nivel //.AND. if(nOpc==2,!(AllTrim(SX3->X3_CAMPO)$"Z8_VALORTO"),.T.)
          nUsado++
          Aadd(aHeader,{ trim(x3_titulo), x3_campo, x3_picture,;
          x3_tamanho, x3_decimal, x3_valid, x3_usado, x3_tipo, x3_arquivo,;
          x3_context, x3_nivel, x3_relacao, trim(x3_inibrw) } )
          
     Endif
     dbSkip()
End

If nOpc==3 // Incluir
     aCols:={Array(nUsado+1)}
     aCols[1,nUsado+1]:=.F.
     For nX:=1 to nUsado
          
          IF alltrim(aHeader[nX,2]) == "Z8_ITEM"
               aCols[1,nX]:= "0001"
          ELSE
               aCols[1,nX]:=CriaVar(aHeader[nX,2],.t.,"c")
          ENDIF
          
     Next
Else
     aCols:={}
     dbSelectArea("SZ8")
     dbgotop()
     // dbSetOrder(1)
     //dbSeek(xFilial()+SZ9->Z9_NUM)
     While !eof()
          if SZ8->Z8_NUM==SZ9->Z9_NUM
               AADD(aCols,Array(nUsado+1))
               For nX:=1 to nUsado
                    aCols[Len(aCols),nX]:=FieldGet(FieldPos(aHeader[nX,2]))
               Next
               aCols[Len(aCols),nUsado+1]:=.F.
          endif
          dbSkip()
     Enddo
Endif

oDlg := MSDIALOG():New(000,000,800,1100, cCadastro,,,,,,,,,.T.)

RegToMemory("SZ9", If(nOpc==3,.T.,.F.))

oEnch := MsMGet():New(cAliasE,nReg,nOpc,/*aCRA*/,/*cLetra*/, /*cTexto*/,;
aCpoEnch,aPos, aAlterEnch, nModelo, /*nColMens*/, /*cMensagem*/,;
cTudoOk,oDlg,lF3, lMemoria,lColumn,caTela,lNoFolder,lProperty)

oGetD:= MsNewGetDados():New(nSuperior,nEsquerda,nInferior,nDireita, nOpc,;
cLinOk,cTudoOk,cIniCpos,aAlterGDa,nFreeze,nMax,cFieldOk, cSuperDel,;
cDelOk, oDLG, aHeader, aCols)

Mensagem do Enviar e-mail Abrir o Perfil do usuário GDN GDN em 8/3/2011 as 16:33 hs
Local: SP   Registrada: 7/4/2006  Postagem: 499
Voce deve estar usando/preenchendo apenas o campo X3_F3, para consulta padrao.

Para campos tipo ComboBox vc deve preencher o campo X3_CBOX, informando por exemplo:

X3_TIPO com Char 1
X3_CBOX com 1=Sim;2=Nao;3=Talvez

Dentro do SX3 tem varios exemplo do proprio sistema.

Abco

GDN - Consultoria

Mensagem do Enviar e-mail Abrir o Perfil do usuário LBRITO LBRITO em 8/4/2011 as 09:44 hs
Local: SP   Registrada: 4/20/2007  Postagem: 14
Meu caro
Tente carregar o aHeader na seguinte ordem :

Aadd( aHeader , {;
                           SX3->X3_TITULO ,;
                           SX3->X3_CAMPO   ,;
                           SX3->X3_PICTURE ,;
                           SX3->X3_TAMANHO ,;
                           SX3->X3_DECIMAL ,;
                           SX3->X3_VALID   ,;
                           SX3->X3_USADO   ,;
                           SX3->X3_TIPO    ,;
                           SX3->X3_F3      ,;
                           SX3->X3_CBOX    ;
                         }

Mensagem do Enviar e-mail Abrir o Perfil do usuário JALBERTO JALBERTO em 11/23/2017 as 13:40 hs
Local: RS   Registrada: 8/20/2009  Postagem: 90
LBRITO,

Perfeita a tua resposta !

Eu precisava colocar um combo no MsNewGetDados() e funcionou apenas configurando os campos do aHeader nessa mesma ordem.

Obrigado

Jorge Alberto

Para participar do Fórum você precisa efetuar login primeiro
Caso você não esteja registrado registre-se para participar do fórum

 Mudar para Fórum