×
Linguagem de Programação ADVPL
Perguntas MSGetDados
- henry.charriere
- Autor do Tópico
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 492
- Obrigados Recebidos: 0
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
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.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
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!
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.
- henry.charriere
- Autor do Tópico
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 492
- Obrigados Recebidos: 0
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
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.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
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!
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