Follow-Up
Moderador: Moderadores
-
paulosanchomr
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 18 Mar 2013 17:37
- Localização: são paulo
Follow-Up
bom dia!
Estou com um problema urgente e não sei como resolver, já andei pesquisando mas ainda não encontrei nada parecido, por esse motivo estou solicitando a vossa ajuda com toda vossa experiencia de programação .
É o seguinte, tenho uma base de dados com um cadastro de vendas e preciso do seguinte.
criar um sistema de fallow-up para ver todas as alterações e anexar um arquivo por exemplo um mail ao cadastro para salvar as informações passadas do cliente como prova.
Desde já agradeço a atenção e disponibilidade de todos.
Paulo
Estou com um problema urgente e não sei como resolver, já andei pesquisando mas ainda não encontrei nada parecido, por esse motivo estou solicitando a vossa ajuda com toda vossa experiencia de programação .
É o seguinte, tenho uma base de dados com um cadastro de vendas e preciso do seguinte.
criar um sistema de fallow-up para ver todas as alterações e anexar um arquivo por exemplo um mail ao cadastro para salvar as informações passadas do cliente como prova.
Desde já agradeço a atenção e disponibilidade de todos.
Paulo
Paulo Rodrigues
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Follow-Up
Olá!
Seja bem-vindo ao fórum Paulo!
Poderia ser mais específico?
Creio que você saiba o que é desenvolvimento de sistemas e o quanto são importantes os mínimos detalhes.
Seja bem-vindo ao fórum Paulo!
Poderia ser mais específico?
Em que formato está a tua base de dados? Este follow-up seria uma auditoria para gravar log de tudo o que foi alterado nesta base de dados? Você quer anexar um arquivo: onde? que tipo de arquivo? esse e-mail a que se refere é um endereço de e-mail? ou o texto de uma mensagem de e-mail?paulosanchomr escreveu:criar um sistema de fallow-up para ver todas as alterações e anexar um arquivo por exemplo um mail ao cadastro para salvar as informações passadas do cliente como prova.
Creio que você saiba o que é desenvolvimento de sistemas e o quanto são importantes os mínimos detalhes.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
paulosanchomr
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 18 Mar 2013 17:37
- Localização: são paulo
Follow-Up
Obrigado pelas boas vindas.
a minha base de dados esta em formato DBF Indexado em formado CDX.
o follow-up seria isso mesmo que você falou seria uma auditoria para gravar log de tudo o que foi alterado nesta base de dados.
quanto ao anexo seria o arquivo de mensangem, ou por exemplo anexar outro arquivo em pdf ou doc. para abrir quando eu consultar o cadastro de cliente.
ficar tipo um historico de tudo
a minha base de dados esta em formato DBF Indexado em formado CDX.
o follow-up seria isso mesmo que você falou seria uma auditoria para gravar log de tudo o que foi alterado nesta base de dados.
quanto ao anexo seria o arquivo de mensangem, ou por exemplo anexar outro arquivo em pdf ou doc. para abrir quando eu consultar o cadastro de cliente.
ficar tipo um historico de tudo
Paulo Rodrigues
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Follow-Up
Olá!
Bem, conseguimos avançar um pouco.
O que você deseja é fácil fazer. É só implementar uma rotina que grave o log em todos os programas que atualizam as tabelas que você quer auditar. Só precisamos de mais detalhes. Mais dúvidas:
- é uma tabela apenas ou várias?
- você vai gravar estes logs em alguma outra tabela. Já tem o layout? Já sabe como vai gravar, por exemplo, vai gravar imagem anterior e imagem alterada dos registros, vai gravar apenas o que foi alterado? Com certeza vai gravar a data/hora/autor da alteração. Os programas que fazem manutenção nessa(s) tabela(s) "sabem" quem está logado?
-
Bem, conseguimos avançar um pouco.
O que você deseja é fácil fazer. É só implementar uma rotina que grave o log em todos os programas que atualizam as tabelas que você quer auditar. Só precisamos de mais detalhes. Mais dúvidas:
- é uma tabela apenas ou várias?
- você vai gravar estes logs em alguma outra tabela. Já tem o layout? Já sabe como vai gravar, por exemplo, vai gravar imagem anterior e imagem alterada dos registros, vai gravar apenas o que foi alterado? Com certeza vai gravar a data/hora/autor da alteração. Os programas que fazem manutenção nessa(s) tabela(s) "sabem" quem está logado?
-
Isso ainda não está claro: anexar onde? Ou quer dizer gravar um arquivo em alguma pasta? Ou seria gravar um registro com o log da alteração? Poderia dar um exemplo do formato desejado?paulosanchomr escreveu:quanto ao anexo seria o arquivo de mensangem, ou por exemplo anexar outro arquivo em pdf ou doc. para abrir quando eu consultar o cadastro de cliente.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
paulosanchomr
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 18 Mar 2013 17:37
- Localização: são paulo
Follow-Up
Olá
antes de mais nada quero agradecer a colaboração e rapidez.
para entrar no programa usamos senha por atendente,eu uso uma tabela de vendas com os dados abaixo, preciso de saber o que foi apenas alterado através desse log gravando em outra tabela para mais tarde caso o cliente reclame de alguma anomalia eu conseguir puxar o histórico de todas as alterações e ainda não tenho um layout.
Sobre anexar arquivo ao cadastro o que eu desejo é tipo o outlook que permite anexar um arquivo para enviar no mail.
TABELA DE VENDA
abraço
antes de mais nada quero agradecer a colaboração e rapidez.
para entrar no programa usamos senha por atendente,eu uso uma tabela de vendas com os dados abaixo, preciso de saber o que foi apenas alterado através desse log gravando em outra tabela para mais tarde caso o cliente reclame de alguma anomalia eu conseguir puxar o histórico de todas as alterações e ainda não tenho um layout.
Sobre anexar arquivo ao cadastro o que eu desejo é tipo o outlook que permite anexar um arquivo para enviar no mail.
TABELA DE VENDA
Código: Selecionar todos
aadd(a_dbf,{'codigo','n',06,0})
aadd(a_dbf,{'cod_excur','c',15,0})
aadd(a_dbf,{'d_saida','d',08,0})
aadd(a_dbf,{'n_reserva','c',10,0})
aadd(a_dbf,{'cod_vend','n',06,0})
aadd(a_dbf,{'nome_vend','c',30,0})
aadd(a_dbf,{'recibo','c',10,0})
aadd(a_dbf,{'cliente','c',30,0})
aadd(a_dbf,{'valor','n',10,2})
aadd(a_dbf,{'contactos','m',10,0})
aadd(a_dbf,{'alteracao','m',10,0})
aadd(a_dbf,{'obs','m',10,0})
aadd(a_dbf,{'tipo_pag','n',03,0})
aadd(a_dbf,{'caixa','n',03,0})
aadd(a_dbf,{'data_pag','d',08,0})
aadd(a_dbf,{'d_criacao','d',08,0})
aadd(a_dbf,{'usuario','c',30,0})
aadd(a_dbf,{'voos','m',10,0})
aadd(a_dbf,{'contratosn','c',01,0})
aadd(a_dbf,{'pag_sn','c',01,0})
aadd(a_dbf,{'vouchersn','c',01,0})
aadd(a_dbf,{'porte_dsn','c',01,0})
aadd(a_dbf,{'cancelado','c',01,0})
Editado pela última vez por Pablo César em 19 Mar 2013 18:41, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Paulo Rodrigues
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Follow-Up
Amiguinho,
Analise minha idéia de como implementar auditoria de registros de forma indolor.
Voce coloca o trecho acima no inicio do primeiro .PRG de seu aplicativo e estes comandos passam a trabalhar de forma tunada, ou seja, vão fazer o mesmo de antes mas irão passar antes pela função de marcação de auditoria.
A função de auditoria captura o nome do usuario em uma variável publica e dependendo da ação executada no correr do uso de aplicativo irá marcar o que foi feito.
Crie o arquivo de .LOG com a seguinte estrutura:
Analise minha idéia de como implementar auditoria de registros de forma indolor.
Código: Selecionar todos
#command APPEND BLANK => dbNetAppend( 0 ) ; dbCommitLog('I', PROCNAME() )
#command APPEND BLANK <n> => dbNetAppend( <n> )
#command APPEND TO <(file)> => AppendToFile( <(file)> )
#command APPEND REG FROM <(file)> => AppendFromFile( <(file)> )
#command PACK => __dbPack() ; dbCommitLog('E', PROCNAME())
#command ZAP => __dbZap() ; dbCommitLog('E', PROCNAME())
#command COMMIT => dbUnlock() ; dbCommitAll()
#command SKIP 0 => dbUnlock() ; dbCommitAll()
#command REGLOCK => dbNetRegLock( 0 ) ; dbCommitLog('M', PROCNAME())
#command REGLOCK <n> => dbNetRegLock( <n> ) ; dbCommitLog('M', PROCNAME())
#command FILELOCK => dbNetFileLock( 0 ) ; dbCommitLog('M', PROCNAME())
#command FILELOCK <n> => dbNetFileLock( <n> ) ; dbCommitLog('M', PROCNAME())
#command DELETE => dbNetRegLock(0); dbDelete() ; dbCommitLog('E', PROCNAME())
#define LOG_USER
Código: Selecionar todos
FUNCTION dbCommitLog( LOG_TIPO )
#ifdef LOG_USER // Habilito se for decidido usar auditoria de usuario
LOG_AREA := SELECT()
USE NF.LOG NEW ALIAS NFLOG
dbNetAppend( 0 )
NFLOG->IDLOG := RECCO()+1
NFLOG->DATA := DATE()
NFLOG->HORA := TIME()
NFLOG->USUARIO := M->USUARIO
IF LOG_TIPO = 'I'
NFLOG->ACAO := 'INCLUSAO'
ELSEIF LOG_TIPO = 'E'
NFLOG->ACAO := 'EXCLUSAO'
ELSEIF LOG_TIPO = 'M'
NFLOG->ACAO := 'MANUTENCAO'
ENDIF
NFLOG->MODULO := PROCNAME()
dbUnlock()
dbCommitAll()
USE
SELECT( LOG_AREA )
#endif
RETURN .T.
Crie o arquivo de .LOG com a seguinte estrutura:
Código: Selecionar todos
IDLOG - Numerico de 5
DATA - Data de 8
HORA - Caracter de 8
USUARIO - Caracter de 20
ACAO - Caracter de 20
MODULO - Caracter de 20
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
paulosanchomr
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 18 Mar 2013 17:37
- Localização: são paulo
Follow-Up
Obrigado pela sua prontidão
Irei fazer como indica e assim que terminar informo o resultado.
abraço
Irei fazer como indica e assim que terminar informo o resultado.
abraço
Paulo Rodrigues