![](https://www.projetoacbr.com.br/forum/uploads/set_resources_37/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
bnobre
-
Total de ítens
1.459 -
Registro em
-
Última visita
-
Days Won
4
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por bnobre
-
-
Sim, se refere.
Apaguei a pasta ACBRNFe em C:\ACBR\Exemplos\ACBrDFe\. Após isso cliquei com o botão direito sobre a pasta C:\ACBR\Exemplos\ACBrDFe\ e escolhi SVN Update.
Ele baixou os arquivos novamente, mas o problema persiste.
-
Olá a todos,
Italo... Estou tentando efetuar o passo 3 estudando o projeto de exemplo do ACBR, mas sempre que tento compilar o projeto recebo o erro "WARNING: Duplicate resources(s)" e não consigo executá-lo. Tentei atualizar o componente agora, revisão 10481, mas o problema ainda persiste.
Uso o Delphi 7.
-
-
Olá a todos,
Através da função ACBrNFe1.SSL.SelecionarCertificado, por exemplo, conseguimos selecionar o certificado a ser usado. Existe alguma função que retorne a data de validade do certificado que o cliente está utilizando?
Isso é importante para avisar o mesmo sobre a proximidade de sua expiração.
Desde já agradeço a atenção
-
Pra mim que nunca criei um arquivo em memória, o único segredo é como fazê-lo. :-/
Será que poderia me mostrar um exemplo?
Eu costumo criar arquivos TXT usando o seguinte código: http://www.planetadelphi.com.br/dica/6704/lendo-e-escrevendo-no-txt
Desde já agradeço a atenção
-
Aé... só isso? Crio um txt comum e salvo como XML? É assim que vocês tratam?
-
Mas como criar um arquivo XML?
-
Entendi Italo... Grato
A questão é que não faço a menor idéia de como montar o passo 4. Poderia me indicar aonde acho algum exemplo?
-
Olá Italo... Conforme disse quase 24 horas depois, finalmente, ambas as notas apareceram canceladas. Creio ter ocorrido um atraso na SEFAZ em anunciar o cancelamento.
Pois bem, agora preciso tratar esse tipo de problema para ocorrências futuras... Como consulto se a nota realmente foi cancelada e como recuperar o XML do cancelamento?
-
Olá a todos,
Hoje em um de meus clientes ocorreram os erros 12002 em duas tentativas de cancelamentos de 2 notas. Após isso ao tentar cancelar as mesmas só recebo: "Rejeição: Duplicidade de Evento"
Visualizo a nota na SEFAZ e a mesma se encontra ainda AUTORIZADA. Copiei o certificado para a minha máquina e também tentei cancelar, mesma coisa. Tenho apenas 24 horas para resolver isso... Alguém poderia me dar uma luz?
Desde já agradeço a atenção de todos
-
Agora, Juliomar Marchetti disse:
01/12 será liberado o ambiente de produção antes disso nem adianta tentar enviar!
Nossa, lamentável isso.
-
Olá a todos,
Como sabem a NT2015/002 foi prorrogada para dia 01/12. Até ai tudo bem, mas alguém sabe se já é possível implantar as mudanças para se antecipar a data oficial ou teremos que atualizar todos os clientes de uma vez no dia 01/12?
Desde já agradeço a atenção
-
Eu nem sabia que tinha, que legal.
Qual seria ela Régys? Ela arredonda perfeitamente?
-
Olá a todos,
Agradeço pelas dicas. Fiz como recomendaram e a princípio a nota que estavam dando o problema calculou certo, vou atualizar nos clientes e ver o dia a dia.
Mas me surgiu outra dúvida, conforme informei no início desse tópico, a função SimpleRoundTo não funcionou corretamente em seu objetivo de fazer o arredondamento aritmético, uso o Delphi 7. No seguinte tópico (http://www.projetoacbr.com.br/forum/topic/4964-spedpiscofins-arredondamento/) o EMBarbosa afirma que essa função tem problemas.
Não posso usar o RoundTo para arredondar pois ele efetua o "arredondamento de banqueiro". Estou usando uma função que achei na internet http://gustavohinterholz.blogspot.com.br/2011/11/funcao-de-arredondamento.html
A questão é... Vocês também possuem esses problemas com arredondamento? Que funções vocês usam para esse fim?
-
Agora aconteceu outra coisa interessante no valor resultante da linha " (dtm_banco.z_formulas.Fields[0].AsFloat + dtm_banco.z_formulas.Fields[2].AsFloat + dtm_banco.z_formulas.Fields[3].AsFloat) / 100 * dtm_banco.z_nfcevendas_itensvl_total.AsFloat; ", exemplo 0.105.
Em outro teste que fiz, o vTotTrib NÃO MAIS arredondou sozinho para 0.11, dessa vez ficando em 0.10. Que loucura.
-
Analisando uma nota com o tal problema, observei onde ocorre o erro.
Exemplo, o valor resultante da linha " (dtm_banco.z_formulas.Fields[0].AsFloat + dtm_banco.z_formulas.Fields[2].AsFloat + dtm_banco.z_formulas.Fields[3].AsFloat) / 100 * dtm_banco.z_nfcevendas_itensvl_total.AsFloat; " é 0.105.
O vTotTrib arredonda sozinho (não sei como) para 0.11 (que é o correto), enquanto que o RoundTo arredonda para 0.10. Olhando em http://www.devmedia.com.br/rotinas-de-arredondamento-round-roundto-simpleroundto-setroundmode-e-getroundmode/21114, observei que o RoundTo faz o arredondamento de banqueiro e por isso tem esse comportamento estranho (hora arredonda pra cima, hora arredonda para baixo).
Não sei como o vTotTrib arredonda sozinho certo, mas ao ler o texto do link eu tentei usar o SimpleRoundTo, mas ao contrário do que estava escrito, não fez o arredondamento aritmético que aprendemos na escolha, continuando com 0.10.
Como vocês fazem em suas aplicações para arredondar isso certo? Porque o vTotTrib arredonda certo sem comandos adicionais?
-
Olá a todos,
Estou com um problema chato em meu aplicativo na hora de calcular a tag <vTotTrib> dentro de <total>.
Vira e mexe, quando tem muitos itens na nota, essa tag acaba dando um valor 2 ou 3 centavos menor que o total dos tributos de cada item somados, o que me remete ao erro: Rejeicao: Total do Valor Aproximado dos Tributos difere do somatorio dos itens
Pois bem... No inicio eu fazia assim:
with Imposto do
begin- vTotTrib := RoundTo((dtm_banco.z_formulas.Fields[0].AsFloat + dtm_banco.z_formulas.Fields[2].AsFloat + dtm_banco.z_formulas.Fields[3].AsFloat)/100,-2)* dtm_banco.z_nfcevendas_itensvl_total.AsFloat;
- total_tributos := total_tributos + vTotTrib; //variavel do tipo Double
E esse erro acontecia direto, ao analisar o resultado dessas linhas, observei que o vTotTrib recebia corretamente arredondando para 2 casas decimais, exemplo o número 1,567 era recebido como 11,57... Mas por algum motivo a variável "total_tributos" recebia o valor 1,567, ocasionando em diferenças de mais de 0,01 com muitos itens e rejeição posterior.
Sem saber porque isso ocorria, tentei uma nova abordagem, e estou fazendo assim agora:
- vTotTrib := (dtm_banco.z_formulas.Fields[0].AsFloat + dtm_banco.z_formulas.Fields[2].AsFloat + dtm_banco.z_formulas.Fields[3].AsFloat) / 100 * dtm_banco.z_nfcevendas_itensvl_total.AsFloat;
- total_tributos := RoundTo(total_tributos + vTotTrib,-2);
Se observarem, tirei o RoundTo da primeira linha. Fiz isso porque observei que usando ele ou não, por algum motivo, sempre recebo o valor arredondado para 2 casas decimais, CREIO que isso seja feito internamente pelo componente.
Na linha debaixo, forcei arredondar para duas casas, já que ele não recebia o valor arredondado. Com isso fiquei na expectativa de os valores passarem a bater certo, o que realmente ocorreu em testes que realizei reproduzindo notas das quais tive tal problema.
Isso diminuiu drasticamente a ocorrência desse erro, mas não o eliminou totalmente. Ainda ocorre com notas onde possuem muitos itens, onde ele simplesmente soma menos do que deveria.
Procurei explicar detalhadamente o problema para que algum amigo possa me indicar como o mesmo faz em seu aplicativo.
Desde já agradeço a atenção
-
Olá Antônio, tudo bom?
Não sei se contribui, mas eu estava com o mesmo problema que você após uma atualização no componente, apesar de eu instalar pelo ACBRInstall.
A falta desse pacote 'frce' no meu caso, ocorreu porque o Fortes versão 4 agora usa um instalador que tem esse pacote e creio que os DANFEs do ACBR estão sendo desenvolvidos sobre o mesmo. Resolvi removendo o Fortes e o reinstalando com a última versão disponível no site, a qual possui o instalador que mencionei.
Abraços
-
1
-
-
Régys... Estava repassando o vídeo aqui na minha mente e relembrei sobre a questão de aumentar o tempo do Timeout, que na DLL da daruma são 10 s por padrão. Você,assim como eu, usa o envio SINCRONO em suas NFC-es, mas não tem o problema de BURACO NEGRO que ocorre comigo.
Portanto surgiu a seguinte dúvida: Aumentar o tempo de timeout pode minimizar tal problema? Se sim, como ajustar isso no componente e qual tempo você usa em suas aplicações?
-
Para os que passarem por essa mesma problemática de Nota Autorizada Sem Retorno, segue abaixo a solução:
-
Entendi. Mas em que categoria entra o 12029, falha de internet ou timeout (buraco negro)?
-
Eu prefiro tratar os codigos de retorno:
(pos('12007 - ', E.Message.ToUpper) > 0) or // erro de conexão
(pos('12002 - ', E.Message.ToUpper) > 0) or // timeout
(pos('12029 - ', E.Message.ToUpper) > 0) or // limite de tempo de conexão
(pos('ERRO NAO CATALOGADO', E.Message.ToUpper) > 0) then // erros de tratamento do webserviceAcho que por aqui matamos.
Para fechar bem Régys...
Sei que o 12002 é do timeout, pois sempre que tenho essa problemática, é com esse código. Pela leitura de suas descrições acima, o 12007 seria o de falha de internet. Estou certo?
E em que categoria entra o 12029, falha de internet ou timeout (buraco negro)?
-
Mas se entendi bem, o xml que ficou no banco tem a chave de acesso diferente da que está autorizada na sefaz, neste caso não atualiza. Correto?
Não tem porque eu MANUALMENTE atualizo a chave e o XML depois que consulto a nota e checo que ela foi emitida ONLINE
-
Acho que "matei" o problema através do vídeo https://www.youtube.com/watch?v=znVzIe8T4PE. E a solução é mais uma questão de não observar o óbvio do que pode ser feito.
Se observarem o vídeo e trazerem a nossa realidade do ACBR, a contingência só pode acontecer através de 2 motivos:
1 - Falta de internet
2 - Timeout (ou o tal BURACO NEGRO citado no vídeo)
No caso da falta da internet é fácil, emite em contingência e pronto. Pois temos a certeza que a nota não foi autorizada.
No caso do Timeout, não sabemos o que aconteceu. O problema está no tratamento que damos a ela, pois nós emitimos ela em contingência, entregamos para o cliente e REZAMOS para que ela realmente não tenha sido autorizada. O que o Claudenir faz no vídeo é uma grande "sacada". Como ele não sabe o que aconteceu, ele pula o número e já emite direto em contingência, para ter certeza que essa nota realmente não foi autorizada. Aí depois ele checa o que aconteceu com a anterior, se autorizou então CANCELA, se não, INUTILIZA. Pronto.
Cliente com chave certa, QR Code certo, além de nossa aplicação está com a base certa.
Acho que fechamos a problemática.
Agora surgiu outra... Como diferenciar o erro se é de internet ou de timeout (BURACO NEGRO)?
-
3
-
NFC-e não cancela
em NFe/NFCe - Nota Fiscal Eletrônica
Postado
Olá Italo... Com sua dica parou de dar o problema no projeto ao compilar, agora voltando ao assunto do cancelamento...
Estava analisando as respostas obtidas no projeto de exemplo do ACBR ao consultar a NFC-e cancelada pela chave, e comparando as mesmas com um arquivo "*-procEventoNFe.xml" gerado normalmente pelo componente ACBR.
Ao observar o arquivo "*-procEventoNFe.xml" gerado normalmente, vi que ele é todo formado pela tag <procEventoNFe>, exceto apenas pela primeira linha do mesmo, que sempre vem com o conteúdo "<?xml version="1.0" encoding="UTF-8"?>".
Essa tag <procEventoNFe> também existe na resposta da consulta pela chave, seja no campo RESPOSTAS ou no campo RETORNO COMPLETO WS, e seu conteúdo a princípio é idêntico a mesma tag no arquivo "*-procEventoNFe.xml" gerado normalmente.
Isso me gerou algumas dúvidas:
1º - Realmente o arquivo "*-procEventoNFe.xml" sempre é formado na primeira linha com "<?xml version="1.0" encoding="UTF-8"?>" e o restante com a tag <procEventoNFe>?
2º - Se a resposta da primeira pergunta for SIM, o conteúdo da tag <procEventoNFe> do retorno dado pela consulta (nas guias mencionadas) sempre será igual ao conteúdo da tag <procEventoNFe> do arquivo "*-procEventoNFe.xml" gerado normalmente?
3º - Se sim para a primeira e segunda pergunta, suponho que para criar o arquivo "*-procEventoNFe.xml" basta apenas gerar um XML em que seu conteúdo na primeira linha tenha o texto "<?xml version="1.0" encoding="UTF-8"?>" e o restante tenha a tag <procEventoNFe> obtida pela consulta, sem a necessidade de utilizar o arquivo "*-ped-eve.xml" como mencionou anteriormente... Estou certo?
4º - Por fim, se sim para todas as perguntas anteriores... Como obtenho somente o texto da tag <procEventoNFe> do retorno da consulta?
Desde já agradeço a atenção sempre dada