bnobre
-
Total de ítens
1.480 -
Registro em
-
Última visita
-
Days Won
4
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por bnobre
-
-
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
-
Olá flavio80s... Sobre seu comentário:
Por "Assíncrono" eu entendo "Contingência". Estou certo?
Está errado. Segue abaixo:
O método de enviar NFCe Sincrono , é o modo em que ao enviar o XML da Nota, o servidor já retorna a resposta se a nota foi autorizada ou rejeitada na mesma requisição. Neste formato de envio é possível enviar apenas um lote com uma nota.
O método de enviar NFCe Assincrono (EnviarNF) é o modo convencional, igual ao do NFe, onde o usuário envia um lote de NFCe, contendo no máximo 50 notas. Com o lote enviado, o servidor retorna que o lote está em processamento. Para verificar se as notas foram realmente autorizadas é necessário fazer uma consulta de recibo.
Portanto na verdade os mesmos problemas que terei em relação a internet no modo SINCRONO, também terei no modo ASSINCRONO, mas ao meu ver, com uma menor complexidade de tratamento.
Observe, no primeiro (Sincrono) eu envio e já recebo a resposta se deu tudo certo ou não. Se deu algum problema envio em CONTINGÊNCIA (envio offline e imprimir duas vias - Cliente e Estabelecimento) e continuo vendendo.
No segundo (Assincrono) eu tenho que enviar, consultar o recibo e só depois, da mesma forma, checo se deu algum problema e envio em CONTINGÊNCIA e continuo vendendo.
- 2
-
Neste caso eu acho que não tem jeito. Pois se a nota chegou e você não teve retorno e emitiu a nota em contigencia e o cliente saiu com a chave de contigencia, não há o que fazer. Isso só tem como evitar se você trabalhar somente de modo síncrono o que é totalmente o inviável no ponto de venda ou totalmente de modo assincrono o que eu não sei se é permitido. Acho que como a nfce ainda esta engatinhando talvez surja uma maneira de resolver. Hoje não vejo como.
Caro magnosystem, grato pela resposta.
Mais tem um detalhe, eu só trabalho nos PDVs em modo SINCRONO e mesmo assim tenho esse problema, em todos os meus clientes. É relativo, com a internet boa a incidência é menor, mas com a internet ruim (por exemplo o 3G que aqui é péssimo) a incidência é bem maior.
Outro detalhe, assim como o Régys questionou... Porque é inviável trabalhar nos PDVs somente em modo síncrono???
-
Nossa... Não acredito que era só marcar "Ajustar Automaticamente para o Horário de Verão"
-
Consegui contato com eles. Me responderam rapidamente... Segue problema abaixo:
Não, a tag não foi preenchida corretamente.
Essa tag deve conter a data e hora da emissão, seguida do indicador do fuso horário. Para o horário de Brasília, o indicador deve ser “-03:00” no horário normal, e “-02:00” no horário de verão.
A figura abaixo mostra o XML que foi transmitido. Vocês podem ver que o indicador do fuso horário está informado como “-03:00” no horário de verão. É isso que está causando o problema.
Vocês devem corrigir o preenchimento dessa tag, em seu sistema.
Portanto, como corrijo esse indicador do fuso horário?
Aviso Certificado Expirando
em NFe/NFCe - Nota Fiscal Eletrônica
Postado
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