× Linguagem de Programação ADVPL

Perguntas MSGetDados

Mais
10 anos 10 meses atrás #19709 por henry.charriere
MSGetDados foi criado por henry.charriere
Pessoal, Bom dia!

Sei que esse componente MSGetDados é um grid editável. Gostaria de saber se tem como eu passar um array para ele. Assim seria preenchidos automaticamente.


Atc,
Henry

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 10 meses atrás #19710 por kanaamlrr
Respondido por kanaamlrr no tópico MSGetDados
Henry,
Como ele é baseado no aHeader e aCols, basta você preencher o aCols com a informação que deseja.
Na hora que ele for exibido já virá com as informações passadas preenchidas na tela.
Abraço!

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 10 meses atrás #19717 por henry.charriere
Respondido por henry.charriere no tópico MSGetDados
Kanaãm, Bom dia!

Preciso de uma ajuda sua, tenho esse código, mas não estou conseguindo popular o grid nem a pau!

Me ajuda?

Static Function FMonTodo()
****************************************************************************************************************************************************
* Montagem da tela de apontamentos.
*
*
************************

Local oSay1,oSay2,oSay3,oSay4,oSay5
Local oGet,oGet1,oGet2,oGet3,oGet4,oGet5
Local oFont22 := TFont():New("Arial",,22,.T.)
Local oFont18 := TFont():New("Arial",,18,.T.)
Local nOpc := 3
Local oButton1,oButton2
Local aPopArray :={}
Local aDadosGrid :={}
Private oDlgTodos
Private aHeader := {}
Private aCols := {}
Private cGet1 := Space(09)
Private cGet2 := Space(09)
Private cGet3 := Space(10)
Private dGet4 := StoD("")
Private cGet5 := Space(60)
Private cAlmox:= ""




dbSelectArea("SX3")
dbSetOrder(1)
dbSeek("SZ0")
While X3_ARQUIVO == "SZ0" .And. !Eof()
If X3USO(SX3->X3_USADO) .And. cNivel >= SX3->X3_NIVEL .And. AllTrim(X3_CAMPO) $ "Z0_PRODUTO/Z0_DESCRI/Z0_TIPO/Z0_QUANT/Z0_UM/Z0_QTSEG/Z0_SEGUM"
Aadd(aHeader,{ TRIM(X3Titulo()),;
SX3->X3_CAMPO ,;
SX3->X3_PICTURE ,;
SX3->X3_TAMANHO ,;
SX3->X3_DECIMAL ,;
SX3->X3_VLDUSER ,;
SX3->X3_USADO ,;
SX3->X3_TIPO ,;
SX3->X3_ARQUIVO ,;
SX3->X3_CONTEXT })
EndIf
dbSkip()
Enddo


aCols := {Array(Len(aHeader) + 1)}
For nXi := 1 to Len(aHeader)
aCols[1,nXi] := CriaVar(aHeader[nXi,2])
Next nXi
aCols[1,Len(aHeader)+1] := .F.

oSay3 := 300

DEFINE DIALOG oDlgTodos TITLE OemToAnsi("Apontamento Automático da Produção G03 ") FROM 0,180 TO 550,1200 PIXEL

TGroup():New(005,005,50,505,,oDlgTodos,CLR_HBLUE,,.T.)


oSay3:= tSay():New(30,10,{|| "Local :"},oDlgTodos,,oFont22,,,,.T.,CLR_HRED,CLR_RED,500,10)

@ 30,050 MSGET oGet2 VAR cGet2 SIZE 40,10 Of oDlgTodos PIXEL PICTURE "@!" F3 "CTT" Valid NaoVazio()

oSay4:= tSay():New(30,100,{|| Posicione("CTT",1,xFilial("CTT")+cGet2,"CTT_DESC01") + " Almoxarifado : " + Posicione("CTT",1,xFilial("CTT")+cGet2,"CTT_ZALMOX") },oDlgTodos,,oFont22,,,,.T.,CLR_RED,CLR_RED,500,10)

oSay5:= tSay():New(60,10,{||"No. Docto : "},oDlgTodos,,oFont18,,,,.T.,CLR_BLUE,CLR_RED,50,10)

TGroup():New(055,005,080,505,,oDlgTodos,CLR_HBLUE,,.T.)

@ 60,50 MSGET oGet3 VAR cGet3 SIZE 40,10 Of oDlgTodos PIXEL PICTURE "@!"

oSay6:= tSay():New(60,150,{||"Data : " + dtoc(dDatabase)},oDlgTodos,,oFont18,,,,.T.,CLR_BLUE,CLR_RED,50,10)

oSay7:= tSay():New(60,250,{||"Observação : "},oDlgTodos,,oFont18,,,,.T.,CLR_BLUE,CLR_RED,50,10)

@ 60,300 MSGET oGet5 VAR cGet5 SIZE 160,10 Of oDlgTodos PIXEL PICTURE "@!"

oGet := MSGetDados():New(100, 010, 240, 500,nOpc,"AllwaysTrue","AllwaysTrue","",.T.,,,,300)


TGroup():New(090,005,250,505,,oDlgTodos,CLR_HBLUE,,.T.)

oButton1:=tButton():New(260,380,"&Produzir",oDlgTodos,{||Processa({||GetFile(oDlgTodos)},"Aguarde...","Processando...")},50,10,,,,.T.)

//oButton2:=tButton():New(260,455,"&Cancelar",oDlgTodos,{||oDlgTodos:End()},50,10,,,,.T.)

ACTIVATE DIALOG oDlgTodos CENTERED

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 10 meses atrás #19719 por kanaamlrr
Respondido por kanaamlrr no tópico MSGetDados
Vamos supor que seu aHeader tenha a seguinte estrutura:

DOC | Serie | Cliente | Loja | Valor

você deverá adicionar linhas no seu aCols da seguinite forma:


aAdd(aCols,{<DOC>,<SERIE>,<CLIENTE>,<LOJA>,<VALOR>,.F.})

Dessa forma, o aCols irá receber os valores que você deseja e o .F. marca o registro como não deletado.
basicamente isso.
Faz um teste e posta ai se deu certo.
abraço!

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.084 segundos
Joomla templates by a4joomla