Problemas com Browse Array
Enviado: 04 Out 2011 12:03
Bom dia Amiguinhos,
Estou com um problema em um sistema que estou fazendo para demonstrar dados de vendas.
Pego todo o conteúdo dos arquivos de dados e passa para uma array que posteriormente é mostrado em um browse. Entretanto, está ocorrendo o seguinte, só mostra o último conteúdo da última array.
Exemplo:
oDados=ASORT(vDados,,, {|x,y| x[4] < y[4]} ) - Aqui estou colocando em ordem de datas. Mostrando somente este dados fuciona blz. Ai pensei, vamos melhorar as informações e crei
cDados=ASORT(vDados,,, {|x,y| x[6] < y[6]} ) - Aqui estou colocando em ordem alfabética de cliente. Fiz outro browse para mostrar este conteúdo, como podem ver no fonte abaixo. Mais a partir do momento que eu executo outro ASORT, o conteúdo da variável oDados também muda, passar ser igual o conteúdo da variável cDados. Não estou entendendo o porque.
Fiz um @ get para mostrar o conteúdo das variáveis antes de montar o browse, e para minha surpreza só de executar o segundo ASORT já muda o conteúdo.
Se alguém puder me dar uma luz, ficarei grato.
Sds,
Júlo
Estou com um problema em um sistema que estou fazendo para demonstrar dados de vendas.
Pego todo o conteúdo dos arquivos de dados e passa para uma array que posteriormente é mostrado em um browse. Entretanto, está ocorrendo o seguinte, só mostra o último conteúdo da última array.
Exemplo:
oDados=ASORT(vDados,,, {|x,y| x[4] < y[4]} ) - Aqui estou colocando em ordem de datas. Mostrando somente este dados fuciona blz. Ai pensei, vamos melhorar as informações e crei
cDados=ASORT(vDados,,, {|x,y| x[6] < y[6]} ) - Aqui estou colocando em ordem alfabética de cliente. Fiz outro browse para mostrar este conteúdo, como podem ver no fonte abaixo. Mais a partir do momento que eu executo outro ASORT, o conteúdo da variável oDados também muda, passar ser igual o conteúdo da variável cDados. Não estou entendendo o porque.
Fiz um @ get para mostrar o conteúdo das variáveis antes de montar o browse, e para minha surpreza só de executar o segundo ASORT já muda o conteúdo.
Código: Selecionar todos
oDados=ASORT(vDados,,, {|x,y| x[4] < y[4] } )
cDados=ASORT(vDados,,, {|a,c| a[6] < c[6] } )
iDados=ASORT(vDados,,,{|x,y| x[7] < y[7] } )
oItens=ASORT(vItens,,, {|x,y| x[3] > y[3] } )
PREPARE FONT oFont NAME "Arial" WIDTH 0 HEIGHT -12 WEIGHT 400
INIT DIALOG oDlg TITLE "Form1" ;
AT 0,130 SIZE 1098,718 NOEXIT ;
STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+WS_SIZEBOX+DS_CENTER
Thisform := oDlg
@ 5,0 GROUPBOX oGroup2 CAPTION "" SIZE 1087,88 ;
STYLE BS_LEFT
@ 27,25 SAY oLabel1 CAPTION "RCA" SIZE 80,21
@ 13,55 SAY oLabel2 CAPTION "Período" SIZE 80,21
@ 186,55 SAY oLabel3 CAPTION "Ate" SIZE 80,21
@ 89,19 GET oCodigo VAR vCodigo PICTURE "999" SIZE 46,24 STYLE WS_DISABLED
@ 155,19 GET oNome VAR vNome SIZE 578,24 STYLE WS_DISABLED
@ 89,53 GET DATEPICKER oDat1 VAR vDat1 SIZE 98,24 STYLE WS_DISABLED
@ 232,53 GET DATEPICKER oDat2 VAR vDat2 SIZE 98,24 STYLE WS_DISABLED
@ 2,94 TAB oPage1 ITEMS {} SIZE 1089,616 ;
STYLE 0 +1;
FONT oFont
BEGIN PAGE 'Venda/Emissao' OF oPage1
@ 3,31 BROWSE oBrowse1 ARRAY SIZE 1075,492 ;
FONT oFont;
OF oPage1;
STYLE WS_VSCROLL + WS_HSCROLL MULTISELECT
oBrowse1:aArray := oDados
CREATEARLIST(oBrowse1, oDados)
oBrowse1:aColumns[1]:heading:="*"
oBrowse1:aColumns[2]:heading:="Nota Fiscal"
oBrowse1:aColumns[3]:heading:="Serie"
oBrowse1:aColumns[4]:heading:="Emissao"
oBrowse1:aColumns[5]:heading:="Cliente"
oBrowse1:aColumns[6]:heading:="Nome Cliente"
oBrowse1:aColumns[7]:heading:="Cidade"
oBrowse1:aColumns[8]:heading:="Valor Produtos"
oBrowse1:aColumns[9]:heading:="Valor Total"
oBrowse1:aColumns[8]:picture:="@R 99,999,999.99"
oBrowse1:acolumns[9]:picture:="@R 99,999,999.99"
oBrowse1:aColumns[8]:nJuslin:=DT_RIGHT
oBrowse1:acolumns[9]:nJuslin:=DT_RIGHT
END PAGE OF oPage1
BEGIN PAGE 'Vendas/Cliente' OF oPage1
@ 3,31 BROWSE oBrowse3 ARRAY SIZE 1075,492 ;
FONT oFont;
OF oPage1;
STYLE WS_VSCROLL + WS_HSCROLL MULTISELECT
oBrowse3:aArray := cDados )
CREATEARLIST(oBrowse3, cDados ) )
oBrowse3:aColumns[1]:heading:="*"
oBrowse3:aColumns[2]:heading:="Nota Fiscal"
oBrowse3:aColumns[3]:heading:="Serie"
oBrowse3:aColumns[4]:heading:="Emissao"
oBrowse3:aColumns[5]:heading:="Cliente"
oBrowse3:aColumns[6]:heading:="Nome Cliente"
oBrowse3:aColumns[7]:heading:="Cidade"
oBrowse3:aColumns[8]:heading:="Valor Produtos"
oBrowse3:aColumns[9]:heading:="Valor Total"
oBrowse3:aColumns[8]:picture:="@R 99,999,999.99"
oBrowse3:acolumns[9]:picture:="@R 99,999,999.99"
oBrowse3:aColumns[8]:nJuslin:=DT_RIGHT
oBrowse3:acolumns[9]:nJuslin:=DT_RIGHT
END PAGE OF oPage1
BEGIN PAGE 'Vendas/Cidade' OF oPage1
@ 3,31 BROWSE oBrowse4 ARRAY SIZE 1075,492 ;
FONT oFont;
STYLE WS_VSCROLL + WS_HSCROLL MULTISELECT
oBrowse4:aArray := iDados
CREATEARLIST(oBrowse4, iDados)
oBrowse4:aColumns[1]:heading:="*"
oBrowse4:aColumns[2]:heading:="Nota Fiscal"
oBrowse4:aColumns[3]:heading:="Serie"
oBrowse4:aColumns[4]:heading:="Emissao"
oBrowse4:aColumns[5]:heading:="Cliente"
oBrowse4:aColumns[6]:heading:="Nome Cliente"
oBrowse4:aColumns[7]:heading:="Cidade"
oBrowse4:aColumns[8]:heading:="Valor Produtos"
oBrowse4:aColumns[9]:heading:="Valor Total"
oBrowse4:aColumns[8]:picture:="@R 99,999,999.99"
oBrowse4:acolumns[9]:picture:="@R 99,999,999.99"
oBrowse4:aColumns[8]:nJuslin:=DT_RIGHT
oBrowse4:acolumns[9]:nJuslin:=DT_RIGHT
END PAGE OF oPage1
BEGIN PAGE 'Resumo Produtos' OF oPage1
@ 3,31 BROWSE oBrowse2 ARRAY SIZE 700,492 ;
FONT oFont;
STYLE WS_VSCROLL + WS_HSCROLL MULTISELECT
oBrowse2:aArray := oItens
CREATEARLIST(oBrowse2, oItens)
oBrowse2:aColumns[1]:heading:="Codigo"
oBrowse2:aColumns[2]:heading:="Descricao"
oBrowse2:aColumns[3]:heading:="Quantidade"
*oBrowse1:aColumns[9]:picture:="@R 99,999,999.99"
*oBrowse1:acolumns[10]:picture:="@R 99,999,999.99"
oBrowse2:aColumns[3]:nJuslin:=DT_RIGHT
*oBrowse1:acolumns[8]:nJuslin:=DT_RIGHT
END PAGE OF oPage1
BEGIN PAGE 'Resumo Grupos' OF oPage1
END PAGE OF oPage1
BEGIN PAGE 'Resumo Cidades' OF oPage1
END PAGE OF oPage1
ACTIVATE DIALOG oDlg
RETURN oDlg:lresult
RETURN
Sds,
Júlo