Abaixo esta um PRG de um relatorio simples de cadastro. Minha duvida é com relacao ao arquivo temporario que eu crio no relatorio. Depois de finalizado o relatorio, esse DBF temporario é apagado. Pergunto: E quando estiver apagando esse arquivo, e um outro usuario estiver usando em outro tipo de relatorio ? porque em todos os relatorios eu crio com o mesmo nome (arqtemp.dbf).
Código: Selecionar todos
tecli:= SaveScreen(5, 6, 20, 75)
use clientes alias clie shar new
set index to ind_cod, ind_emp
set order to 2
centra(2, "®¯ RELATORIO ORDEM VENDEDOR ®¯")
nomepro()
mens("Digite o Codigo a ser Impresso! | <ESC> Sai")
do while (.T.)
select clie
private m_cod1:= 0, m_cod2:= 0, pag:= 0
SetColor("gr+/b", "n/gr+")
@ 23, 13 say " "
te0012()
do while (.T.)
mens("Digite o Codigo a ser Impresso! | <ESC> Sai")
cor(6)
setcursor(1)
m_cod1:= 1
m_cod2:= 9999
setcursor(2)
@ 11, 48 get m_cod1 picture "9999" valid m_cod1 > 0
@ 12, 48 get m_cod2 picture "9999" valid m_cod2 > 0
read
if (m_cod2 < m_cod1)
mens("Codigo Final menor que Inicial! | <ENTER> Retorna")
tone(900, 9)
InKey(0)
loop
endif
exit
enddo
if (LastKey() == 27)
close databases
return
endif
*******************
erase arqtemp.dbf
copy to arqtemp.dbf for co1 >= m_cod1 .AND. co1 <= m_cod2
use arqtemp alias temp new
******************
if (LastRec() == 0)
mens("Vendedor nao Cadastrado!")
tone(900, 9)
InKey(6)
erase arqtemp.dbf
close databases
return
endif
confirma("Relatorio","Clientes")
cresp:= Space(1)
@ 23, 78 get Cresp picture "@!" valid cresp $ "SN"
read
****************
if (cresp = "N")
close databases
erase arqtemp.dbf
return
******************************
else
if (LastKey() == 27)
close databases
return
endif
endif
impress()
goto top
mens("Aguarde IMPRIMINDO Relatorio de Cliente...")
set device to printer
setprc(0, 0)
do while (.T.)
pag++
@ 00,00 say chr(15)
@ PRow() + 1, 0 say "DATA..: " + DToC(Date())
@ PRow(), 0 say "DATA..: " + DToC(Date())
@ PRow(), 40 say "RELATORIO POR REPRESENTANTE - De: a "
@ PRow(), 40 say "RELATORIO POR REPRESENTANTE - De: a "
@ PRow(), 76 say strzero(m_cod1, 4, 0)
@ PRow(), 76 say strzero(m_cod1, 4, 0)
@ PRow(), 83 say strzero(m_cod2, 4, 0)
@ PRow(), 83 say strzero(m_cod2, 4, 0)
@ PRow(), 122 say "PAG..: " + strzero(pag, 3, 0)
@ PRow(), 122 say "PAG..: " + strzero(pag, 3, 0)
empresa(3)
@ PRow() + 1, 0 say Replicate("-", 133)
@ PRow(), 0 say Replicate("-", 133)
@ PRow() + 1, 0 say "CODIGO NOME/ENDERECO BAIRRO/CIDADE CEP /UF FONE/FAX CGC/Ins.Estadual"
@ PRow(), 0 say "CODIGO NOME/ENDERECO BAIRRO/CIDADE CEP /UF FONE/FAX CGC/Ins.Estadual"
@ PRow() + 1, 0 say Replicate("-", 133)
@ PRow(), 0 say Replicate("-", 133)
do while (!EOF() .AND. PRow() <= 59)
@ PRow() + 1, 1 say strzero(cod, 4, 0)
@ PRow(), 7 say emp
@ PRow(), 48 say bai
@ PRow(), 74 say cep
@ PRow(), 91 say fon
@ PRow(), 108 say cgc
@ PRow() + 1, 7 say end
@ PRow(), 48 say cid
@ PRow(), 85 say est
@ PRow(), 91 say fax
@ PRow(), 108 say ins
@ PRow() + 1, 0 say Replicate("-", 133)
skip
enddo
eject
@ 0, 0 say ""
***********************
if (EOF())
set device to screen
[b]close databases
erase arqtemp.dbf
return
endif
*******************
enddo
enddo
(5, 6, 20, 75, restscreen:= tecli)
return





