Ir para conteúdo
  • Cadastre-se

dev botao

Erro no GetPathEvento


ricardopdv
  • Este tópico foi criado há 2571 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

A função GetPathEvento (unit ACBrNFeConfiguracoes)

TArquivosConfNFe.GetPathEvento(tipoEvento: TpcnTpEvento; CNPJ: String; Data: TDateTime): String;

Esta retornando o path diferente do que é gravado no envio do evento.

No envio do evento não esta acrescentando o diretório 'Evento' ao gravar o retorno. 

Já na função, ela inclui. 

Alterei aqui para funcionar retirando o diretório 'Evento' de dentro da função, ja que não achei a função que grava o evento.

  //Dir := GetPath(FPathEvento, 'Evento', CNPJ, Data);
  Dir := GetPath(FPathEvento, '', CNPJ, Data);

Estou usando aqui a configuração de AdicionarLiteral e só estou mudando o PathSalvar.

Ricardo Oliveira

BrPDV Comércio e Serviços Eireli.

www.brpdv.com.br

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Não compreendi o seu post...

Você fala que a pasta 'Evento' não é criada, mas sugere a remoção de 'evento' do parâmetro Literal ?

Por favor especifique com mais detalhes, qual a sua configuração e  o problema encontrado...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Oi Daniel, 

O que eu quis dizer é que na hora de enviar o evento, o ACBr não cria a pasta evento ele cria a estrutura do diretório assim : 

%MeuPath%\CNPJ\YYYYMM\CCe 

E o GetPathEvento assim : 

%MeuPath%\CNPJ\YYYYMM\Evento\CCe 

Ricardo Oliveira

BrPDV Comércio e Serviços Eireli.

www.brpdv.com.br

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Mas lendo os fontes, dá a entender que isso é justamente o desejado...

Vou pedir a opinião dos outros desenvolvedores sobre esse assunto 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia a todos,

Daniel, acredito que o problema esteja nas propriedades PathCCe e PathEvento.

No meu entendimento as propriedades PathCCe e PathCan devem ser removidas e ficar somente PathEvento uma vez que o cancelamento e a CC-e são eventos.

Ao utilizar o PathEvento é criado uma pasta Evento e dentro desta temos as pastas CCe e Cancelamento sendo assim vamos continuar tendo os XMLs referentes ao evento CC-e separados de outros eventos.

Dentro da pasta Eventos temos ainda as pastas EPEC, Confirmacao, Ciencia, Desconhecimento e NaoRealizada, todos são eventos vinculados a NF-e, sendo que os últimos 4 se referem a manifestação do destinatário.

Esses 5 últimos sitados não possuem path específicos para eles, ou seja o path deles é o PathEvento.

Volto a recomendar uma padronização, ou seja, remova os PathCCe e PathCan e deixe tudo no PathEvento.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Italo,

Acho que faz sentido...

Como faríamos com as aplicações existentes ? Quebra de código ? (não seria muito problema pois é simples corrigir)

Pode exemplificar como ficaria a pasta Evento com todos os Eventos funcionando ?

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Oi Daniel, 

O problema em si acredito que não seja em qual pasta gravar e sim a consistência de gravação/leitura entre as funções.

Ter ou não a pasta evento no path não é a questão já que o ACBr cria as pastas automaticamente.

Ricardo Oliveira

BrPDV Comércio e Serviços Eireli.

www.brpdv.com.br

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Novamente não compreendo... Estamos falando de gravação apenas, é tudo que essa rotina faz...   o que vc quer dizer com " consistência de gravação/leitura " ??

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Daniel,

Caso opte pela minha sugestão, vai sim ter quebra de código como se trata de um Refactoring isso foi discutindo entre nós que isso iria acontecer e não vejo essa alteração como traumática.

Da forma que hoje esta implementado o PathEvento e o GetPathEvento já prevê todos os eventos: 

%MeuPath%
  \CNPJ
   \YYYYMM
    \Evento
     \CCe
     \Cancelamento
     \EPEC
     \Confirmacao
     \Ciencia
     \Desconhecimento
     \NaoRealizada

Acredito que o problema que o Ricardo se refere é: no momento de gravar o XML do evento o componente se baseia no PathCCe ou PathCan dependendo do evento.

E ao tentar ler o XML o componente se baseia no PathEvento.

Se eliminarmos as propriedades PathCCe e PathCan e consequentemente o GetPathCCe e GetPathCan, teremos que realizar as correções a fim de no momento de salvar a solicitação, o retorno e o XML de compartilhamento do evento levando em conta o PathEvento.

Os componentes ACBrCTe e ACBrMDFe já trabalham desta forma.

 

  • Curtir 3
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Exatamente o que o Italo falou. Estão sendo considerados path's diferentes. 

A função GetPathEvento realmente é simples.

Estou somente informando o ocorrido para ajudar, pois acho que essa é minha função já que uso o ACBr desde 2010 ou 2011.

Nunca tive problemas com o componente e ja homologuei vários PAF-ECF e utilizo direto para NFe. 

Antes de postar alguma duvida ou comentário procuro sempre usar e abusar dos demos para verificar se o erro não é meu.

Procuro nos post´s se existe solução ( o que na maioria das vezes encontro ).

O problema em si não me incomoda, pois ja resolvi fazendo o que falei.

Só comentei para que outros não tenham o mesmo problema.

  • Curtir 1

Ricardo Oliveira

BrPDV Comércio e Serviços Eireli.

www.brpdv.com.br

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Italo,

Sua analisa parece correta... eu concordo em remover essas propriedades...

Você faz as correções nos fontes ?

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Daniel,

Posso fazer hoje a noite?

Pois em casa tenho o Trunk2 instalado e desta forma posso fazer a alteração e realizar o teste de compilação.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite a todos,

Já esta disponível a alteração.

Removi as propriedades PathCCe e PathCan e por conta alterei o nome da propriedade SalvarCCeCanEvento para SalvarEvento.

Tenho duvida sobre esta última propriedade, no que diz respeito em mantela ou não, pois antes era usada para definir se os XML referentes ao cancelamento e CCe seriam salvos como os demais eventos ou não.

Vou analisar melhor e depois expor a minha conclusão.

Depois de alterado os fontes do componente, compilei o mesmo e por fim a minha aplicação.

O componente esta OK, mas ao compilar a aplicação caso esta se utiliza das propriedades sitadas acima deverá fazer as devidas correções.

Não compilei o programa exemplo, acredito que correções deverão ser feitas nele.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa noite a todos,

Já esta disponível a alteração.

Removi as propriedades PathCCe e PathCan e por conta alterei o nome da propriedade SalvarCCeCanEvento para SalvarEvento.

Tenho duvida sobre esta última propriedade, no que diz respeito em mantela ou não, pois antes era usada para definir se os XML referentes ao cancelamento e CCe seriam salvos como os demais eventos ou não.

Vou analisar melhor e depois expor a minha conclusão.

Depois de alterado os fontes do componente, compilei o mesmo e por fim a minha aplicação.

O componente esta OK, mas ao compilar a aplicação caso esta se utiliza das propriedades sitadas acima deverá fazer as devidas correções.

Não compilei o programa exemplo, acredito que correções deverão ser feitas nele.

Boa noite Ítalo,

Deixa eu ver se entendi. Agora dentro da pasta Evento serão criadas sub-pastas CCe, Cancelamento, etc separadamente?

Grato

Rodrigo Cardilo

Card System Info

[email protected]

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Apliquei as devidas correções em ACBrMonitorPLUS e no Demo do ACBrNFe para Lazarus

Se possível, algum outro commiter, verificar o Demo do ACBrNFe em Delphi

  • Curtir 2
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Cardilo,

Sim, a estrutura de salvar em disco os XMLs referentes aos evento é a mesma tanto no ACBrNFe, quanto no ACBrCTe e ACBrMDFe.

Lembrando que algumas pastas podem não ser criadas uma vez que não existe o tipo de evento para o respectivo documento fiscal.

Por exemplo a pasta CCe (dentro de evento) não será criada no caso do ACBrMDFe uma vez que este não possui Carta de Correção, por outro lado vai ser criado a pasta Encerramento e os outros dois (ACBrNFe e ACBrCTe) não.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Italo,

Testando com o meu sistema e também com o Demo do ACBr, configurei para Salvar em pastas separadas, criar pastas mensais, salvar arquivos de eventos, separar arquivos pelo modelo do documento, mas não esta salvando na pasta eventos separado CCe e Cancelamento e sim todos os eventos juntos em ...\Evento\NFe\201508.

Testei todas as opções no Demo e mesmo assim em nenhuma situação criou a pasta CCe ou Cancelamento.

Um detalhe, não quero usar a opção Separar por CNPJ do Certificado, mas com ela marcada criou uma pasta com o meu CNPJ para as NFes emitidas e outra pasta com o meu CPF para os eventos e mesmo assim não criou as pastas CCe e Cancelamento.

Já fazem horas que estou me batendo e peço ajuda pois esgotei minhas idéias.

Obrigado,

Marcello Cainelli

Doutor Byte Sistemas

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Marcello,

A propriedade: AdicionarLiteral esta com o valor True?

  • Curtir 2
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2571 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.