Acionar dois arquivos dbf ao mesmo tempo

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Acionar dois arquivos dbf ao mesmo tempo

Mensagem por Josmar dos Santos »

Ola pessoal, gostaria que vocês observassem essa função.
A idéia e o seguinte: Essa função traz o cliente para uma ordem de serviço, o que eu estou querendo alem de acionar o arquivo de CLIENTE.DBF como consta ai, é também acionar o arquivo do CONTASRECEBER.DBF, ou seja, as vezes o cliente chega para abrir uma ordem de serviço, no momento em que a função trazer o cliente para o arquivo da ORDEM.DBF..mostrar através do ACHOICE OU OUTRA FUNÇÃO SE O CLIENTE DEVE OU NÃO.....se for possível alguém me dar uma idéia, eu agradeceria.....
SEM MAIS AGRADEÇO ..UM ABRAÇO
Josmar


FUNCTION BUSCA_CLI( EDITAR )
IF EDITAR = NIL; EDITAR := .T.; ENDIF
SELE CLIENTES
SET ORDER TO 1
SEEK COD
RETOR_NO := .T.
IF ( EOF() .AND. LASTKEY()
IF EDITAR
EDIT_ARQ( EMPTY( COD ) )
IF LASTKEY() = T_ENTER
COD := CODIGO
ELSE
RETOR_NO := .F.
ENDIF
ENDIF
ENDIF
IF RETOR_NO
NOME := CLIENTE
@ 06, 23 SAY CLIENTE
ENDIF
SELE ORDEM
RETURN RETOR_NO

:-O
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Acionar dois arquivos dbf ao mesmo tempo

Mensagem por Maligno »

Josmar dos Santos escreveu:se for possível alguém me dar uma idéia, eu agradeceria.....
Se bem entendi, seu problema não está em procurar as contas a pagar, mas como mostrar isso pro usuário. Se for isso, há várias formas. Uma delas você mesmo já disse: ACHOICE. Mas você também pode usar um Browser, um campo texto, um simples Alert, etc. Vai depender de como é sua interface. Uma janela pop-up alertando o usuário e informando quantas e/ou quais contas estão em aberto me parece, a princípio, uma idéia boa.

[]'s
Maligno
http://www.buzinello.com/prg
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Mensagem por alaminojunior »

Olá meu caro, em meu sistema uso este metodo sim.
À medida em que vou movendo o ponteiro pelos clientes, o sistema vai pegando o código do mesmo, e fazendo uma consulta pela tabela de contas a receber, se o cliente em questão estiver em atraso com seus débitos, o sistema mostra um alert dizendo quantos dias. Daí é só teclar algo para mostrar as contas do cliente. Parece que fica lento né, mas não fica não.
É uma idéia, espero ter ajudado.
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

dois dbfs

Mensagem por Josmar dos Santos »

Ola pessoal, gostaria dentro do possivel que voces colocassem em codigo fonte de como fazer o mesmo...e claro se possivel..um abraço...
Josmar
:D
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Re: dois dbfs

Mensagem por Josmar dos Santos »

Josmar dos Santos escreveu:Ola pessoal, gostaria dentro do possivel que voces colocassem uma rotina de como fazer o mesmo...e claro se possivel..um abraço...
Josmar
:D
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Mensagem por gvc »

Vc pode mudar o seu fonte para fazer (1) ou (2).
(1) Verifica se o cliente tem divida aberta e informa a existencia.
(2) Verifica a divida e mostra o valor total dela.

if retor_no
nome := cliente
@ 06, 23 say cliente

(1)
if contasreceber->(dbseek(cod))
alert('Existem Dividas Cadastradas')
end
(/1)

(2)
x_valor := 0
contasreceber->(dbseek(cod))
while !contasreceber->(eof()) .and. contasreceber->cod = cod
x_valor += contasreceber->valor
contasreceber->(dbskip())
end

if x_valor > 0
alert('Valor da Divida Atual:' + str(x_valor, 10, 2))
end
(/2)

endif
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

consultar

Mensagem por Josmar dos Santos »

Ok gvc..conforme sua orientação, vou fazer o teste....qualque duvida entrarei em contato contigo...um abraço e obrigado por enquanto
Josmar
:))
Responder