Ir para conteúdo
  • Cadastre-se

Gabriel Franciscon

Membros
  • Total de ítens

    100
  • Registro em

  • Última visita

4 Seguidores

Últimos Visitantes

1.544 visualizações

Gabriel Franciscon's Achievements

  1. Olá pessoal! tudo bem? Na unidade ACBrPIXPSPMercadoPago (Fontes\ACBrPIXCD) está dando uses em "Dialogs". Porém não está sendo utilizado para nada... Seria possível remover esse uses desnecessário? ACBrPIXPSPMercadoPago.pas
  2. Olá pessoal! tudo bem? Na unidade ACBrNFSeXDANFSeFPDFClass (Fontes\ACBrDFe\ACBrNFSeX\DANFSE\FPDF) está dando uses em "Forms". Porém não está sendo utilizado para nada... Seria possível remover esse uses desnecessário? ACBrNFSeXDANFSeFPDFClass.pas
  3. Opa! Após a atualização no primeiro computador. O sistema rodará os scritps. Esses scripts estão dentro Instalador do InstallShield. Por tanto ao concluir a instalação é criado uma pasta contendo todos os scripts necessários. E após o usuário abrir o programa e informar o login os scripts daquela pasta são executados (através do componente do FireDac - FDScript). Após rodar os scripts no banco os demais computadores mostra uma mensagem informando que é necessário realizar um atualização... Aí o instalador com o update é rodado e quando o usuário abrir o sistema nesses outros PC's, não será executado nenhum script pois dentro do banco de dados tem uma tabela que guarda a versão do banco. e antes de rodar eu verifico se a versão do executável é compatível com a versão do banco
  4. Não é correto usar um número sequencial e sim um número randômico de 8 dígitos. Pois pode acontecer que o seu número sequencial seja um dos números inválidos. Aconselho utilizar a função mencionada no tópico do Ítalo GerarCodigoDFe e armazenando esse código junto a nota fiscal no seu banco de dados.
  5. Já tentou passar 0 (zero) para o parâmetro NSU? Informando zero retorna todos os NSU's dos últimos 90 dias. Exemplo: DistribuicaoDFePorUltNSU(41, '12345678000100', '0') Outra dica importante é verificar o ambiente nas configurações do ACBr (homologação - produção) para cada ambiente há uma sequencia diferente de NSU.
  6. Boa tarde, Quando o fornecedor emite uma nota fiscal, essa nota é enviada para SEFAZ do estado e a mesma se encarrega de enviar para o ambiente nacional*. Feito isso, o ambiente nacional criará um NSU com o resumo dessa nota fiscal e disponibiliza através do Web-Service de DistribuicaoDFe. O seu software irá localizar esse resumo através do método DistribuicaoDFePorUltNSU. Com o resumo em mãos seu software irá realizar a manifestação do destinatário... Ao fazer isso, o ambiente nacional irá criar um novo NSU, agora com a nota completa. E novamente você executará o método DistribuicaoDFePorUltNSU ou DistribuicaoDFePorChaveNFe. *O tempo entre a SEFAZ do estado enviar a nota e o Ambiente Nacional receber e disponibilizar varia muito... Aqui no Paraná vejo um média de 2 horas. mas já vi relatos aqui no fórum que pode levar até 24 horas. Vou deixar um tópico abaixo que detalha melhor o funcionamento:
  7. Infelizmente a versão oficial dos schemas disponibilizados não permite a visualização do status atual da manifestação. Porém... Se observarmos o software gratuito da SEFAZ, percebemos que ao "baixar" uma nota já vem o status atual da manifestação. Mesmo se a manifestação do destinatário tenha sido realizada em outro software. Isso acontece pois o software gratuito utiliza uma versão mais recente dos schemas (v.135). Nessa versão existe uma tag chamada: cSitConf. (se olhar a nota técnica até existe a menção dessa tag) Mas como essa não é uma versão oficial, digo, disponibilizada pela SEFAZ. Creio que ACBr não irá utilizar. De qualquer forma vou deixar aqui o link para download desses schemas. Com uma simples alteração na unit pcnRetDistDFeInt você adiciona uma nova property e na sequencia pode ler o valor desse campo. Nessa versão infelizmente o método DistribuicaoDFePorChaveNFe não funciona. (Mas é possível contornar isso alterando algumas linhas) --Se for DistribuicaoDFePorChaveNFe utiliza 1.02 caso contrário, utiliza a 1.35 v1.35.zip
  8. Exatamente... Pois aí você terá todas as informações que são necessárias para gerar a mesma chave de acesso novamente
  9. Você deve armazenar o cNF no seu banco de dados. Dessa forma se precisar gerar a chave novamente, você utiliza o mesmo cNF da primeira vez.
  10. Isso acontece pois você está passando para o campo cNF o mesmo valor de nNF. De uma olhada para mais detalhes:
  11. A manifestação é feita pelo destinatário da nota fiscal. E a SEFAZ não envia uma informação se foi realizado a manifestação ou não para o destinatário. Apenas para o emitente. Pois entende-se que como o destinatário realizou a manifestação. O mesmo não precisa saber, pois foi ele mesmo quem fez. Ou seja, quando o seu cliente realizar a manifestação você deverá armazenar essa informação. E como citado acima o método DistribuicaoDFePorChaveNFe só retorna informação caso a nota em questão já tiver um registro de manifestação vinculado a ela.
  12. O ideal seria utilizar o método DistribuicaoDFePorUltNSU. Pois o método DistribuicaoDFePorChaveNFe retorna informações apenas se a nota já estiver com um registro de manifestação pelo destinatário. Então na teoria ficaria assim DistribuicaoDFePorUltNSU (trará: Nota resumida, Nota completa, Eventos resumido e Eventos completo) Realizar a manifestação Executar o método DistribuicaoDFePorUltNSU novamente (ou o DistribuicaoDFePorChaveNFe)
  13. Realizar a manifestação do destinatário apenas com a Ciência e não concluir posteriormente pode sim acarretar em algum tipo de multa... A manifestação do destinatário está "amarrada" ao DistribuiçãoDFe. Porém os objetivos são diferentes... Então a ideia de "só baixar o XML" não funciona muito já que seu cliente se torna obrigado a realizar a manifestação. Aqui eu trato da seguinte maneira: Aplicativo configurado para realizar a manifestação do destinatário automaticamente com a Ciência da operação ao encontrar um novo documento. Usuário realiza o recebimento de mercadorias no sistema: Disparo a Confirmação da operação Desconhecimento ou Operação não realizada fica por conta do usuário. Caso fique notas sem a "conclusão" da manifestação por parte do destinatário, alerto o mesmo através de notificações.
  14. Como você não mencionou a mensagem exata de erro que está dando, vou dar outra sugestão; Limpar o componente antes de criar um evento. (Se tiver uma nota fiscal carregada no ACBr e você tentar criar um evento, terá a mensagem abaixo) Por tanto, certifique-se de limpar as notas fiscais e eventos que estão previamente carregados no ACBr. with ACBrNFe1 do begin NotasFiscais.Clear; EventoNFe.Evento.Clear; with EventoNFe.Evento.New do begin InfEvento.cOrgao := 91; //91 - Ambiente Nacional. No caso de evento de manifestação, sempre será 91 InfEvento.chNFe := ''; //Chave de acesso da NFe InfEvento.CNPJ := ''; //CNPJ da empresa que está emitindo o evento (o mesmo do certificado digital) InfEvento.dhEvento := now; //Data do evento InfEvento.tpEvento := ''; //teManifDestCiencia, teManifDestConfirmacao, teManifDestOperNaoRealizada, teManifDestDesconhecimento InfEvento.detEvento.xJust := ''; //Justificativa, caso seja desconhecimento ou op não realizada end; EnviarEvento(IdLote); end;
  15. Se a mensagem for: Evento registrado mas não vinculado a NF-e Pode significar que: A chave de acesso pertence a uma nota fiscal emitida no ambiente de homologação e o evento está sendo enviando em produção (ou vise-versa) A chave de acesso está incorreta. Lembrando ainda que o campo CNPJ é o CNPJ da empresa que está enviando o Evento, no caso o mesmo do certificado digital. E uma observação, dependendo da sua versão do Delphi, considere substituir o método .add para .new. Visto que o add é um método depreciado e que em versões futuras da Embarcadero será descontinuado.
×
×
  • 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.