Imprimir uma loja ou todas
Enviado: 03 Mai 2005 11:14
Olá,
Estou montando um relatório com base nos dados abaixo :
Se digitar loja='02', será impresso :
Até aqui tudo bem, porém eu gostaria de fazer o seguinte : digitar loja='99' (não tem no banco de dados) e imprimir o somatório de todas as lojas. Assim :
Eu até consegui usando setscope, criando dois índices (loja+codigo)(codigo) e um arquivo temporário (CMV). Mas existem outros 50 relatórios semelhantes e não estava querendo criar dois índices ou arquivos temporários. Tem outro jeito ?
Parte do relatório :
Estou montando um relatório com base nos dados abaixo :
Código: Selecionar todos
loja codigo quantidade
01 00002 10
02 00002 20
03 00002 30
Código: Selecionar todos
loja codigo quantidade
02 00002 20
Código: Selecionar todos
loja codigo quantidade
99 00002 60
Parte do relatório :
Código: Selecionar todos
mloja='99'
mdata := mdataf := date()
@ 15,11 say 'Loja ¦ ' get mloja
@ 16,11 say 'Periodo ¦ ' get mdata
@ 16,col()+1 get mdataf valid lastkey() = K_UP .or. mdataf >= mdata
read
select ep200504
if mloja='99'
sx_settag('L') //ordem de codigo+dtos(data)
sx_setscope(0,qcodigo+dtos(mdata))
sx_setscope(1,qcodigo+dtos(mdataf))
else
sx_settag('D') //ordem de loja+codigo+dtos(data)
sx_setscope(0,mloja+qcodigo+dtos(mdata))
sx_setscope(1,mloja+qcodigo+dtos(mdataf))
endif
go top
do while !eof()
@18,11 say loja+' '+dtoc(data)+' '+nota+' '+codigo
mquant = quant
if mquant > 0
select cmv //arquivo temporário
seek qcodigo
if !found()
adireg(0)
endif
reglock(0)
replace loja with mloja,codigo with qcodigo,quant with mquant
select ep200504
endif
skip
enddo