- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- DUVIDA EM RELATORIO
×
Linguagem de Programação ADVPL
Perguntas DUVIDA EM RELATORIO
- vitor kwon
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 13
- Obrigados Recebidos: 0
10 anos 11 meses atrás #19302
por vitor kwon
DUVIDA EM RELATORIO foi criado por vitor kwon
boa tarde, pessoal estou com uma duvida que nao consigo dar continuidade, travei nesta questao, por favor preciso de ajuda dos colaboradores,...estou fazendo um relatorio onde preciso trazer os itens do pedido...os numeros vem corretos, do pedido, do contrato, tudo ok, mas nao consigo trazer todo os itens do pedido, so vem o primeiro item, vem certinho, mas preciso que venha todos os itens....so esta vindo o primeiro item do pedido....agradeco a ajuda..
#INCLUDE "protheus.ch"
/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ RREL01 º Autor ³ VITOR KWON º Data ³ 19/11/2013 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDescricao ³ RELATORIO DE CONTRATOS - SPTF º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ GENERICO º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
User Function REL_PAR2()
Local cDesc1 := "Este programa tem como objetivo imprimir relatorio "
Local cDesc2 := "de acordo com os parametros informados pelo usuario."
Local cDesc3 := "Relatorio de Contratos"
Local cPict := ""
Local cTitulo := "Relatorio de Contratos"
Local aOrd := {"Contratos",""}
Local cTamanho := "M"
Local cNomeprog := "Relatorio Contratos - SPTF"
Local nTipo := 18
Local cPerg := "RREL001"
Local cAlias := "SC5"
Private aReturn := { "Zebrado", 1, "Administracao", 2, 2, 1, "", 1}
PRIVATE lEnd := .f.
Private lAbortPrint := .F.
Private nLastKey := 0
Private m_pag := 01
Private wnrel := "EL01"
dbSelectArea(cAlias)
dbSetOrder(1)
CriaSx1(cPerg)
Pergunte(cPerg,.T.)
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Monta a interface padrao com o usuario... ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
wnrel := SetPrint(cAlias,cNomeProg,cPerg,@cTitulo,cDesc1,cDesc2,cDesc3,.F.,aOrd,.F.,cTamanho,,.T.)
If nLastKey == 27
Return
Endif
SetDefault(aReturn,cAlias)
If nLastKey == 27
Return
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Processamento. RPTSTATUS monta janela com a regua de processamento. ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
RptStatus({|| RunReport(cTitulo,cTamanho,cNomeprog,nTipo,cAlias) },cTitulo)
Return
/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºFun‡„o ³RUNREPORT º Autor ³ AP6 IDE º Data ³ 16/06/07 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDescri‡„o ³ Funcao auxiliar chamada pela RPTSTATUS. A funcao RPTSTATUS º±±
±±º ³ monta a janela com a regua de processamento. º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ Programa principal º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
Static Function RunReport(cTitulo,cTamanho,cNomeprog,nTipo,cAlias)
local aVetor:= {}
local nI := 0
LOCAL aVetor2 := SC6->C6_DESCRI
Local nOrdem := 0
Local nLin := 80
Local cCabec1 := ""
Local cCabec2 := ""
cCabec1 :="Relatorio Contratos"+Space(+"Nota fiscal"+Space(+"Emissão do Pedido"+Space(+"Emissão da nota"+Space(10)//+"Contrato"
cCabec2 :=""
dbSelectArea(cAlias)
nOrdem := aReturn[8]
dbSetOrder(nOrdem)
SetRegua(RecCount())
dbSeek(xFilial(cAlias)+C5_NUM+C5_NOTA,.T.) //posicionar a tabela
While (cAlias)->(!EOF())
DBSELECTAREA("SC6")
DBSETORDER(1)
dbSeek(xFilial(cAlias)+SC5->C5_NUM,.T.)
If MV_PAR01 > SC5->C5_EMISSAO
(cAlias)->( dbSkip())
Loop
EndIf
If MV_PAR02 < SC5->C5_EMISSAO
(cAlias)->( dbSkip() )
Loop
EndIf
If MV_PAR03 > SC6->C6_CONTRAT
(cAlias)->( dbSkip())
Loop
EndIf
If MV_PAR04 < SC6->C6_CONTRAT
(cAlias)->( dbSkip() )
Loop
EndIf
If lAbortPrint
@nLin,00 PSAY "*** CANCELADO PELO OPERADOR ***"
Exit
Endif
nLin++
If nLin > 55
Cabec(cTitulo,cCabec1,cCabec2,cNomeProg,cTamanho,nTipo)
nLin := 8
Endif
@nLin,00 PSAY ("CLIENTE: ")+ SC5->C5_CLIENTE
@nLin,28 PSAY (cAlias)->C5_NOTA
@nLin,46 PSAY DTOC((cAlias)->C5_EMISSAO)
@nLin,71 PSAY DTOC(SC6->C6_ENTREG)
nLin++
@nLin,00 PSAY ("Contrato Numero: ")+SC6->C6_CONTRAT
nLin++
@nLin,00 PSAY ("Pedido de Venda: ")+SC6->C6_NUM
nLin++
@nLin,00 Psay ("ÏTEM")
nLin++
@nLin,00 PSAY SC6->C6_DESCRI
@nLin,00 Psay Replicate("_",150)
(cAlias)->(dbSkip()) // Avanca o ponteiro do registro no arquivo
ENDDO
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Finaliza a execucao do relatorio... ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
SET DEVICE TO SCREEN
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Se impressao em disco, chama o gerenciador de impressao... ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If aReturn[5]==1
dbCommitAll()
SET PRINTER TO
OurSpool(wnrel)
Endif
MS_FLUSH()
RETURN
STATIC FUNCTION CriaSx1(cPerg)
Local aArea := GetArea()
Local aPerg := {}
AADD(aPerg,{ "DATA DE:","","","mv_ch1","D",8,0,0,"G","","mv_par01","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""})
AADD(aPerg,{ "DATA ATE:","","","mv_ch2","D",8,0,0,"G","","mv_par02","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""})
AADD(aPerg,{ "Contrato de:","","","mv_ch3","C",6,0,1,"C","","mv_par03","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""})
AADD(aPerg,{"Contrato ate:","","","mv_ch4","C",6,0,1,"G","","mv_par04","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""})
AjustaSx1(cPerg,aPerg)
RestArea(aArea)
RETURN
#INCLUDE "protheus.ch"
/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ RREL01 º Autor ³ VITOR KWON º Data ³ 19/11/2013 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDescricao ³ RELATORIO DE CONTRATOS - SPTF º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ GENERICO º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
User Function REL_PAR2()
Local cDesc1 := "Este programa tem como objetivo imprimir relatorio "
Local cDesc2 := "de acordo com os parametros informados pelo usuario."
Local cDesc3 := "Relatorio de Contratos"
Local cPict := ""
Local cTitulo := "Relatorio de Contratos"
Local aOrd := {"Contratos",""}
Local cTamanho := "M"
Local cNomeprog := "Relatorio Contratos - SPTF"
Local nTipo := 18
Local cPerg := "RREL001"
Local cAlias := "SC5"
Private aReturn := { "Zebrado", 1, "Administracao", 2, 2, 1, "", 1}
PRIVATE lEnd := .f.
Private lAbortPrint := .F.
Private nLastKey := 0
Private m_pag := 01
Private wnrel := "EL01"
dbSelectArea(cAlias)
dbSetOrder(1)
CriaSx1(cPerg)
Pergunte(cPerg,.T.)
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Monta a interface padrao com o usuario... ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
wnrel := SetPrint(cAlias,cNomeProg,cPerg,@cTitulo,cDesc1,cDesc2,cDesc3,.F.,aOrd,.F.,cTamanho,,.T.)
If nLastKey == 27
Return
Endif
SetDefault(aReturn,cAlias)
If nLastKey == 27
Return
Endif
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Processamento. RPTSTATUS monta janela com a regua de processamento. ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
RptStatus({|| RunReport(cTitulo,cTamanho,cNomeprog,nTipo,cAlias) },cTitulo)
Return
/*/
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºFun‡„o ³RUNREPORT º Autor ³ AP6 IDE º Data ³ 16/06/07 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDescri‡„o ³ Funcao auxiliar chamada pela RPTSTATUS. A funcao RPTSTATUS º±±
±±º ³ monta a janela com a regua de processamento. º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ Programa principal º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
Static Function RunReport(cTitulo,cTamanho,cNomeprog,nTipo,cAlias)
local aVetor:= {}
local nI := 0
LOCAL aVetor2 := SC6->C6_DESCRI
Local nOrdem := 0
Local nLin := 80
Local cCabec1 := ""
Local cCabec2 := ""
cCabec1 :="Relatorio Contratos"+Space(+"Nota fiscal"+Space(+"Emissão do Pedido"+Space(+"Emissão da nota"+Space(10)//+"Contrato"
cCabec2 :=""
dbSelectArea(cAlias)
nOrdem := aReturn[8]
dbSetOrder(nOrdem)
SetRegua(RecCount())
dbSeek(xFilial(cAlias)+C5_NUM+C5_NOTA,.T.) //posicionar a tabela
While (cAlias)->(!EOF())
DBSELECTAREA("SC6")
DBSETORDER(1)
dbSeek(xFilial(cAlias)+SC5->C5_NUM,.T.)
If MV_PAR01 > SC5->C5_EMISSAO
(cAlias)->( dbSkip())
Loop
EndIf
If MV_PAR02 < SC5->C5_EMISSAO
(cAlias)->( dbSkip() )
Loop
EndIf
If MV_PAR03 > SC6->C6_CONTRAT
(cAlias)->( dbSkip())
Loop
EndIf
If MV_PAR04 < SC6->C6_CONTRAT
(cAlias)->( dbSkip() )
Loop
EndIf
If lAbortPrint
@nLin,00 PSAY "*** CANCELADO PELO OPERADOR ***"
Exit
Endif
nLin++
If nLin > 55
Cabec(cTitulo,cCabec1,cCabec2,cNomeProg,cTamanho,nTipo)
nLin := 8
Endif
@nLin,00 PSAY ("CLIENTE: ")+ SC5->C5_CLIENTE
@nLin,28 PSAY (cAlias)->C5_NOTA
@nLin,46 PSAY DTOC((cAlias)->C5_EMISSAO)
@nLin,71 PSAY DTOC(SC6->C6_ENTREG)
nLin++
@nLin,00 PSAY ("Contrato Numero: ")+SC6->C6_CONTRAT
nLin++
@nLin,00 PSAY ("Pedido de Venda: ")+SC6->C6_NUM
nLin++
@nLin,00 Psay ("ÏTEM")
nLin++
@nLin,00 PSAY SC6->C6_DESCRI
@nLin,00 Psay Replicate("_",150)
(cAlias)->(dbSkip()) // Avanca o ponteiro do registro no arquivo
ENDDO
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Finaliza a execucao do relatorio... ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
SET DEVICE TO SCREEN
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Se impressao em disco, chama o gerenciador de impressao... ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If aReturn[5]==1
dbCommitAll()
SET PRINTER TO
OurSpool(wnrel)
Endif
MS_FLUSH()
RETURN
STATIC FUNCTION CriaSx1(cPerg)
Local aArea := GetArea()
Local aPerg := {}
AADD(aPerg,{ "DATA DE:","","","mv_ch1","D",8,0,0,"G","","mv_par01","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""})
AADD(aPerg,{ "DATA ATE:","","","mv_ch2","D",8,0,0,"G","","mv_par02","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""})
AADD(aPerg,{ "Contrato de:","","","mv_ch3","C",6,0,1,"C","","mv_par03","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""})
AADD(aPerg,{"Contrato ate:","","","mv_ch4","C",6,0,1,"G","","mv_par04","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""})
AjustaSx1(cPerg,aPerg)
RestArea(aArea)
RETURN
Por favor Acessar ou Registrar para participar da conversa.
- mbrigagao
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 350
- Obrigados Recebidos: 1
10 anos 11 meses atrás #19303
por mbrigagao
Respondido por mbrigagao no tópico DUVIDA EM RELATORIO
Vitor,
Coloque a impressão dos itens dentro de um Do While, mais ou menos assim.
DBSELECTAREA("SC6")
DBSETORDER(1)
dbSeek(xFilial(cAlias)+SC5->C5_NUM,.T.)
While !EOF() .And. SC6->C6_NUM == SC5->C5_NUM
If MV_PAR01 > SC5->C5_EMISSAO
(cAlias)->( dbSkip())
Loop
EndIf
If MV_PAR02 < SC5->C5_EMISSAO
(cAlias)->( dbSkip() )
Loop
EndIf
......
......
SC6->(dbSkip())
EndDo
Coloque a impressão dos itens dentro de um Do While, mais ou menos assim.
DBSELECTAREA("SC6")
DBSETORDER(1)
dbSeek(xFilial(cAlias)+SC5->C5_NUM,.T.)
While !EOF() .And. SC6->C6_NUM == SC5->C5_NUM
If MV_PAR01 > SC5->C5_EMISSAO
(cAlias)->( dbSkip())
Loop
EndIf
If MV_PAR02 < SC5->C5_EMISSAO
(cAlias)->( dbSkip() )
Loop
EndIf
......
......
SC6->(dbSkip())
EndDo
Por favor Acessar ou Registrar para participar da conversa.
- vitor kwon
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 13
- Obrigados Recebidos: 0
10 anos 11 meses atrás #19336
por vitor kwon
Respondido por vitor kwon no tópico DUVIDA EM RELATORIO
boa tarde marcelo, poxa infelizmente nao funcionou sua dica, mas obrigado pela colaboracao....esta vindo so o primeiro item do pedido, vem certinho so que nao estou conseguindo fazer aparecer todos eles....ja tentei varias formas.. A sua dica ficaria assim, mas nao sei porque nao esta funcinando.....
*
SetRegua(RecCount())
dbSeek(xFilial(cAlias)+C5_NUM+C5_NOTA,.T.) //posicionar a tabela
DBSELECTAREA("SC6")
DBSETORDER(1)
dbSeek(xFilial(cAlias)+SC5->C5_NUM,.T.)
While !EOF() .AND. SC6->C6_NUM == SC5->C5_NUM
If MV_PAR01 > SC5->C5_EMISSAO
(cAlias)->( dbSkip())
Loop
EndIf
If MV_PAR02 < SC5->C5_EMISSAO
(cAlias)->( dbSkip() )
Loop
EndIf
*
*
SetRegua(RecCount())
dbSeek(xFilial(cAlias)+C5_NUM+C5_NOTA,.T.) //posicionar a tabela
DBSELECTAREA("SC6")
DBSETORDER(1)
dbSeek(xFilial(cAlias)+SC5->C5_NUM,.T.)
While !EOF() .AND. SC6->C6_NUM == SC5->C5_NUM
If MV_PAR01 > SC5->C5_EMISSAO
(cAlias)->( dbSkip())
Loop
EndIf
If MV_PAR02 < SC5->C5_EMISSAO
(cAlias)->( dbSkip() )
Loop
EndIf
*
Por favor Acessar ou Registrar para participar da conversa.
- mbrigagao
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 350
- Obrigados Recebidos: 1
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- DUVIDA EM RELATORIO
Tempo para a criação da página:0.096 segundos