× Linguagem de Programação ADVPL

Perguntas MarkBrow

Mais
10 anos 2 meses atrás #24989 por Jafreal
MarkBrow foi criado por Jafreal
Sras e Srs

Criei uma função com MarkBrow para ler um arquivo SZ4. Até ai tudo bem ele é filtrado por parametro de data. O programa traz tudo certo até ai tudo bem, mas o meu usuário quer que apareça no rodape desse MarkBrow a soma de uma deteminada coluna que contem o valor em reais.

Pergunta: Tem como imprimir na tela,no rodadpé esse valor?

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 2 meses atrás #24997 por admin
Respondido por admin no tópico MarkBrow
Te Aconselho a usuar o listbox ao invez do markbrow.

segue um exemplo:


#INCLUDE "PROTHEUS.CH"
#INCLUDE "rwmake.ch"
#INCLUDE "TopConn.ch"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ ChkEndereco ºAutor ³Luiz Albertoº Data ³ 03/09/14 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³ Efetua Busca de Enderecos de Entrega º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ Funcao Principal º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDATA ³ ANALISTA ³ MOTIVO º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±º ³ ³ º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function ChkEnd(cCodCli,cLojCli,cIdEnd)
Local aArea := GetArea()
Local oEnderec5
Local lRet := .t.
Private oTTC
Private oEnds := {}
Private aEnds := {}
Private oOk := LoadBitmap(GetResources(),"LBTIK")
Private oNo := LoadBitmap(GetResources(),"LBNO")


cQuery := " SELECT R_E_C_N_O_ REG "
cQuery += " FROM " + RetSqlName("SZQ") + " SZQ (NOLOCK) "
cQuery += " WHERE "
cQuery += " ZQ_FILIAL = '" + xFilial("SZQ") + "' "
cQuery += " AND SZQ.D_E_L_E_T_ = '' "
cQuery += " AND SZQ.ZQ_CLIENTE+SZQ.ZQ_LOJA = '" + cCodCli + cLojCli + "' "
cQuery += " AND SZQ.ZQ_ATIVO <> 'N' "
cQuery += " ORDER BY ZQ_SEQ " //

TCQUERY cQuery NEW ALIAS "CHK1"

Count To nReg

dbSelectArea("CHK1")
dbGoTop()
ProcRegua(nReg)

cSel := ''
While CHK1->(!Eof())
IncProc("Localizando Endereços Entrega...")

SZQ->(dbGoto(CHK1->REG))

cSel := '2'

AAdd(aEnds,{oNo,;
cSel,;
SZQ->ZQ_ENDENT,;
SZQ->ZQ_COMPL,;
SZQ->ZQ_BAIRROE,;
SZQ->ZQ_MUNE,;
SZQ->ZQ_ESTE,;
SZQ->ZQ_CEPE,;
SZQ->ZQ_HORENT,;
SZQ->(Recno())})


CHK1->(dbSkip(1))
Enddo
CHK1->(dbCloseArea())
RestArea(aArea)


If Empty(Len(aEnds))
M->C5_IDEND := ''
RestArea(aArea)
Return lRet
Endif

lOk:=.f.

DEFINE MSDIALOG oEnderec5 TITLE "Seleção Endereços de Entrega" FROM 000, 000 TO 250, 820 COLORS 0, 16777215 PIXEL Style DS_MODALFRAME
oEnderec5:lEscClose := .F. //Não permite sair ao usuario se precionar o ESC

@ 010, 005 LISTBOX oEnds Fields HEADER '',"Endereço","Complemento","Bairro",'Cidade',"UF",'CEP','Horario Entreg' SIZE 400, 080 OF oEnderec5 PIXEL ColSizes 50,50

oEnds:SetArray(aEnds)
oEnds:bLine := {|| { Iif(aEnds[oEnds:nAt,2]=="1",oOk,oNo),;
aEnds[oEnds:nAt,3],;
aEnds[oEnds:nAt,4],;
aEnds[oEnds:nAt,5],;
aEnds[oEnds:nAt,6],;
aEnds[oEnds:nAt,7],;
aEnds[oEnds:nAt,8],;
aEnds[oEnds:nAt,9]}}

// Só Habilita a Marcacao se For Pagamento, se For Estorno já trará os Chques Marcados
oEnds:bLDblClick := {||Processa({||dblCChkDsc(oEnds:nAt)})}

@ 100, 005 BUTTON oBotaoCnf PROMPT "&Confirma" ACTION (lOk:=.t.,Close(oEnderec5)) SIZE 080, 010 OF oEnderec5 PIXEL
@ 100, 105 BUTTON oBotaoSai PROMPT "&Voltar" ACTION (lOk:=.f.,Close(oEnderec5)) SIZE 080, 010 OF oEnderec5 PIXEL

ACTIVATE MSDIALOG oEnderec5 CENTERED //ON INIT EnchoiceBar(oRcp,{||If(oGet:Tud_oOk(),_nOpca:=1,_nOpca:=0)},{||oRcp:End()})

If lOk
For nEnder := 1 To Len(aEnds)
If aEnds[nEnder,2] == '1'
SZQ->(dbGoTo(aEnds[nEnder,10]))
M->C5_IDEND := SZQ->ZQ_IDEND
Exit
Endif
Next
If !Empty(M->C5_IDEND)
lRet := .t.
Else
lRet := .f.
Endif
Else
If Empty(M->C5_IDEND)
lRet := .f.
Else
lRet := .t.
Endif
Endif

RestArea(aArea)
Return lRet

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Funcao ³ DblClick³ Autor ³ Luiz Alberto ³ Data ³ 06/12/11 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descricao ³ Funcao Responsavel pelo Double Click Tela Rotas ³±±
±±³ | ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
Static Function dblCChkDsc(nPos)
Local aArea := GetArea()

If aEnds[nPos,2]=="1"
aEnds[nPos,2]:="2"
Else
aEnds[nPos,2]:="1"
Endif
oEnds:SetArray(aEnds)
oEnds:bLine := {|| { Iif(aEnds[oEnds:nAt,2]=="1",oOk,oNo),;
aEnds[oEnds:nAt,3],;
aEnds[oEnds:nAt,4],;
aEnds[oEnds:nAt,5],;
aEnds[oEnds:nAt,6],;
aEnds[oEnds:nAt,7],;
aEnds[oEnds:nAt,8],;
aEnds[oEnds:nAt,9]}}
oEnds:Refresh()
Return .t.

Por favor Acessar ou Registrar para participar da conversa.

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