-
Total de ítens
954 -
Registro em
-
Última visita
-
Days Won
5
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Valdir Dill postou
-
Bom dia, Fiz alguns testes e estou tendo um probleminha com a nova opção de cache. Não sei se de repente falta eu configurar/tratar algo... No primeiro teste, ou seja, quando o arquivo de cache (ACBrIBGE.txt) ainda não existe, consulto cidades (ACBrIBGE1.BuscarPorNome) de mais de uma UF sem fechar a aplicação. Ele vai me trazendo os resultados tudo certinho e também vai incluindo/salvando a lista das cidades de todas as UFs consultadas no arquivo de cache. Porém, se, ao iniciar uma nova consulta, já existir o ACBrIBGE.txt e, na lista do arquivo não existir a UF que vou consultar, aí dá erro "UF XX não encontrada". Obrigado!
- 15 replies
-
- ibge
- refactoring
-
(e 1 mais)
Tags:
-
Problema Impressao Iff Adic NFCe Fortes Report
Valdir Dill replied to Valdir Dill's tópico in NFe/NFCe - Nota Fiscal Eletrônica
É no danfe impresso com Fast Report mesmo. Eu abri o tópico como Fortes, mas eu havia me enganado. Na minha segunda intervenção coloquei que o problema já não era no Fortes. Da forma que ficou o tópico, realmente gera confusão. Peço desculpas por isso. Resumindo: na minha aplicação, coloco os tributos na <infcpl> do XML. Quando vou imprimir o Danfe com Fast, ele imprime essa tag <infcpl> corretamente. Mas, também imprime os tributos por conta no campo próprio para isso. Essa impressão estaria correta se eu não tivesse setado ACBrNFeDANFEFR1.imprimirTributos := false, entende? O que ocorre é na impressão com o Fast a "imprimirTributos = false" não surte efeito. No Fortes isso já não ocorre, ou seja, está ok. Obrigado. -
Problema Impressao Iff Adic NFCe Fortes Report
Valdir Dill replied to Valdir Dill's tópico in NFe/NFCe - Nota Fiscal Eletrônica
Bom dia, Discordo. Seria desperdício de papel. Ainda assim se fosse imprimir, deveria fazer tudo numa banda. Acredito que meu problema do ACBrNFeDANFEFR1.imprimirTributos = false não surtir efeito pode estar relacionado à versão do meu Fast Report, não sei. Se alguém tiver alguma dica para pelo menos confirmar isso, agradeço. Obrigado! -
Problema Impressao Iff Adic NFCe Fortes Report
Valdir Dill replied to Valdir Dill's tópico in NFe/NFCe - Nota Fiscal Eletrônica
Boa tarde, Fiz uma atualização completa dos fontes e, aparentemente resolveu. Só que agora ocorre outro problema. Como eu disse, ao gerar o XML, coloco os valores dos tributos na <infcpl>. Com isso consigo controlar exatamente o que eu quero que seja impresso nesse texto. Os componentes de impressão (tanto Fortes, como Fast) têm a propriedade .imprimirTributo, certo? O problema é que no Fast, mesmo setando false para essa propriedade, o componente imprime os tributos. Aí, meu danfe acaba ficando duas vezes com os tributos impressos (uma pelo componente e outra pela impressão da <infcpl>). Com o Fortes isso já não ocorre, ou seja, se coloco imprimirTributos = false, ele não imprime. Tem como corrigir isso? Obrigado! -
Problema Impressao Iff Adic NFCe Fortes Report
Valdir Dill replied to Valdir Dill's tópico in NFe/NFCe - Nota Fiscal Eletrônica
Verificando melhor, o problema não é no Fortes e sim no Fast -> ACBrNFeDANFEFR. -
Problema Impressao Iff Adic NFCe Fortes Report
um tópico no fórum postou Valdir Dill NFe/NFCe - Nota Fiscal Eletrônica
Boa tarde, Estou tendo problemas de impressão do danfe NFCe com ACBrNFeDANFCeFortes. Eu coloco os valores dos tributos na <infCpl> . Até semana passada estava ok. De repente começou a imprimir tudo à esquerda como se a quantidade de colunas parar esse campo tivesse sido diminuída. Obs.: não acontece com todas as impressoras. Uma das que o problema ocorre é Bematech 4200. Estou anexando também o XML. Alguma dica ? Obrigado. 41180275699942000109650010000107241331700310-NFe.xml -
Atualização de Nota
Valdir Dill replied to Valdir Dill's tópico in NFe/NFCe - Nota Fiscal Eletrônica
Boa tarde, Fiz um teste com essa sua sugestão, mas ao que parece, ACBrNFe1.WebServices.Consulta.protNFe.digVal e ACBrNFe1.NotasFiscais.Items[0].NFe.signature.DigestValue não têm a mesma informação. O primeiro traz o digVal do protocolo final da nota na SEFAZ. Enquanto que o segundo traz o digestValue do meu XML. E essas duas informações não serão iguais. Pelo menos nos arquivos que tenho aqui, não são Obrigado. -
Bom dia, Que tal essa função? function GetIBGE(VUF, VCidade : String) : String; Var VConteudo : TStringList; I : Integer; VAcbrIBGE : TACBRIBGE; Const VURLBase = 'https://cidades.ibge.gov.br/brasil/'; begin VConteudo := TStringList.Create; VAcbrIBGE := TACBRIBGE.Create(nil); try VCidade := TiraAcentos(VCidade); VCidade := StringReplace(VCidade, ' ', '-', [rfReplaceAll]); //troca espaços por hífen para não dar erro no site na url final. VAcbrIBGE.HTTPGet(VURLBase + lowerCase(VUF) + '/' + lowerCase(VCidade) + '/panorama'); VConteudo.text := VAcbrIBGE.RespHTTP.Text; for I := 0 to VConteudo.Count-1 do begin if (trim(VConteudo[ i ] ) = 'Código do Município') and (pos('class="topo__valor">', VConteudo[I+2]) > 0) then result := trim(VConteudo[I+3]); end; finally freeAndNil(VConteudo); freeAndNil(VAcbrIBGE); end; end; Obs.: aceito sugestões para melhorar. Abraços!
-
Boa noite, Vou postar nesse tópico porque acho que tem relação. Estou com o "Erro: Falha ao localizar o nó de Assinatura". Estou usando o seguinte trio e o certificado é A3 com cartão. AcbrNFe1.Configuracoes.Geral.SSLCryptLib := cryWinCrypt; AcbrNFe1.Configuracoes.Geral.SSLHttpLib := httpWinHttp; AcbrNFe1.Configuracoes.Geral.SSLXmlSignLib := xsLibXml2; O erro acontece quando compila a seguinte rotina: if (SignNode = nil) then //esta é a linha 557 da ACBrDFeXsLibXml2.pas. A sentença dessa linha é verdadeira, o que dispara o except abaixo. raise EACBrDFeException.Create(cErrFindSignNode); Alguma sugestão? Obrigado!
-
Perfeito, mudei para mapeamento e deu tudo certo. Obrigado pela dica Daniel.
-
Boa tarde, Estou testando a seguinte configuração: AcbrNFe1.Configuracoes.Geral.SSLCryptLib := cryWinCrypt; AcbrNFe1.Configuracoes.Geral.SSLHttpLib := httpWinHttp; AcbrNFe1.Configuracoes.Geral.SSLXmlSignLib := xsLibXml2; Está funcionando beleza, desde que os schemas estejam na mesma máquina onde está rodando o sistema. Como eu tenho a pasta \Schemas centralizada no computador servidor e todas as demais máquinas buscam os schemas nesse servidor, aí dá o erro abaixo if (schema = nil) then begin MsgErro := ACBrStr('Erro: Schema inválido'); <-- ocorre esse erro. Esta é a linha 366 da ACBrDFeXsLibXml2.pas Exit; end; O path dos schemas fica assim \\SERVIDOR\NomeCompartilhamento\Schemas\NFe\. O erro ocorre quando ele vai buscar o arquivo nfe_v3.10.xsd (string final = \\SERVIDOR\NomeCompartilhamento\Schemas\NFe\ nfe_v3.10.xsd). Verifiquei a pasta no servidor está tudo certo, compartilhada e acessível pela rede. Inclusive acessei e copiei esse arquivo nfe_v3.10.xsd vai rede, ou seja, a rede está dando acesso normal ao arquivo. A mesma rotina, porém colocando o path do schemas = C:\MeuSistema\Schemas\NFe\, aí tudo certo, sem erro. O problema na verdade ocorre na instrução schema := xmlSchemaParse(parser_ctxt) (linha 362 da ACBrDFeXsLibXml2.pas). Mas essa instrução não consigo debugar. O que poderia ser? Alguma dica? Obrigado
-
Boa tarde, Não sei se vai ser de ajuda para os responsáveis pelos ajustes, mas, provisoriamente, estou fazendo assim para meus usuários terem um acesso mais rápido ao código. procedure AbreSiteIBGEConsulCodigo(VCidade, VUF : String); Var VLink : String; Const VURL = 'https://cidades.ibge.gov.br/brasil/'; begin VCidade := StringReplace(VCidade, ' ', '-', [rfReplaceAll]); //troca espaços por hífen para não dar erro no site na url final. VLink := VURL + lowerCase(VUF) + '/' + lowerCase(VCidade) + '/panorama'; HlinkNavigateString(nil, PChar(VLink)); end; Abraços.
-
Bom dia, Agradeço a dica, mas essa seria a parte de popular o Acbr depois que o certificado já está gravado no banco de dados. Minha dúvida seria mais relacionada a parte de alimentar o banco de dados, ou seja, colocar o certificado no banco de dados. Eu abro o arquivo .pfx do certificado normal, como se fosse um .txt, por exemplo? E aí jogo esse conteúdo no campo da tabela do meu BD? Não precisa fazer alguma decodificação? Vi alguns artigos falando em codificação base64, mas não achei nada muito esclarecedor. Se puder me dar alguma dica nessa parte... Obrigado!
-
Boa tarde, Obrigado Daniel. Eu não visto o vídeo. Muito bom. Realmente ajudou bastante. O vídeo também mostrou algo que eu ainda não conhecia e achei interessante. É a opção para guardar o certificado no banco de dados e depois alimentar a propriedade SSL.DadosPFX do componente. Aí veio uma dúvida: como eu capturo os dados do arquivo .pfx para uma string para popular o campo do banco de dados? Poderia me dar uma dica de como fazer isso? Obrigado.
-
Bom dia, Então, no caso, quando eu for utilizar AcbrNFe1.Configuracoes.Geral.SSLLib = libWinCrypt, o ideal é que eu tenha também AcbrNFe1.Configuracoes.Geral.SSLXmlSignLib = xsLibXml2, seria isso? Se positivo, não seria interessante o próprio componente já fazer isso automaticamente, ou seja, quando eu atribuir SSLLib = libWinCrypt, o componente já mudar também SSLXmlSignLib = xsLibXml2 ? Fiz um teste e, ao setar SSLLib = libWinCrypt, o componente seta automaticamente SSLXmlSignLib = xsMsXml. Obrigado!
-
Recuperar XML de CCe
Valdir Dill replied to Valdir Dill's tópico in NFe/NFCe - Nota Fiscal Eletrônica
Boa tarde Italo, Sim, gerou. Envio em anexo. Obrigado! 41180205520100000162550010000025351942580032-NFeDFe.xml -
Boa tarde, Não sei se é possível fazer o que eu preciso, mas vou relatar a situação e, quem puder, me ajude, por favor. Analisei alguns posts aqui que falam sobre essa questão, mas nenhum traz esclarecimentos completos. É o seguinte: o que eu preciso é recuperar (fazer donwload) de um arquivo de uma CCe enviada pelo meu sistema. Sim, quando se envia o evento, dá para já salvar o arquivo. O sistema faz isso. Mas volta e meia aparece um usuário que perde esse arquivo e precisa recuperar depois. Tentei fazer assim: procedure RecuperaXMLCCe(VChaveNFe : String); Var I : Integer; begin ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.NotasFiscais.LoadFromFile('C:\XMLs\' + VChaveNFe +'-NFe.xml'); ACBrNFe1.Consultar; for I := 0 to ACBrNFe1.WebServices.Consulta.procEventoNFe.Count-1 do if DMCompon.ACBrNFeCuringa.WebServices.Consulta.procEventoNFe.Items.RetEventoNFe.InfEvento.tpEvento = teCCe then begin ACBrNFe1.NotasFiscais.LoadFromString(ACBrNFe1.WebServices.Consulta.procEventoNFe.Items.RetEventoNFe.XML); ACBrNFe1.NotasFiscais.GravarXML('C:\XMLs\CCe_' + I.ToString + '.xml'); end; end; Essa rotina acima até gera um XML (estou enviando em anexo) com algumas informações da nota. Mas não é um XML de CCe. Alguma dica? Obrigado! CCe_1.xml
-
Atualização de Nota
Valdir Dill replied to Valdir Dill's tópico in NFe/NFCe - Nota Fiscal Eletrônica
Bom dia, Perfeito Italo. Suas ponderações e sugestões são 100% corretas e me serão muito úteis. Mestre é mestre, hehe! Obrigado. Na verdade eu utilizo código aleatório, mas deixo o Acbr gerar esse código, pois na geração da nota seto -> Ide.cNF := -1. Mas não faço o controle cruzado de cNF da venda com cNF da nota. Vou seguir sua sugestão e fazer isso a partir de agora. Dessa forma creio que eliminarei totalmente a possibilidade do usuário criar esse problema novamente. Obrigado. -
Atualização de Nota
Valdir Dill replied to Valdir Dill's tópico in NFe/NFCe - Nota Fiscal Eletrônica
Certo Italo, é isso mesmo, ou seja, consigo obter esses três dados dessa consulta a posteriore e atualizo o meu BD e gravo o protocolo no XML original, tudo tranquilo. Fica tudo certo. Mas veja bem o que um usuário fez esta semana: ele emitiu uma nota (número 10) no banco de dados com valor de R$ 100,00. Antes de emitir essa nota, ele fez uma copia do BD onde a última nota emitida era a de nr 9. Aí emitiu a nota 10 tudo certo. Então ele pegou aquela cópia do BD, substituiu o arquivo na pasta do sistema e acessou o sistema e fez uma nota com valor de R$ 1.500,00. Ao iniciar a essa nota, o sistema, corretamente a iniciou com númeror 10. Porém, ao tentar enviar a nota 10, ocorreu rejeição de duplicidade, pois essa nota tinha sido enviada com o outro banco de dados. Quando isso ocorre, a orientação é ele fazer essa consulta que mencionei na abertura deste post, para atualizar a situação da nota no sistema. Ao fazer isso, a SEFAZ retorna cstat, situaçao e data da nota. O que o meu sistema faz? Atualiza a situação dessa nota no sistema como autorizada e imprime um Danfe no valor de R$ 1.500,00, enquanto que a nota 10, lá na SEFAZ está com valor de R$ 100,00. Entendeu a sacanagem que o cara conseguiu fazer? Por isso, se tiver como eu capturar o valor que a nota autorizada está lá na SEFAZ, aí eu comparo com essa nota consigo impedir essa esperteza do usuário. Obrigado. -
Boa tarde, Não sei se isso é muito comum, mas, às vezes ocorre de se tentar enviar uma nota eletrônica e o processo de envio e recebimento da resposta não finalizar por completo, ou seja, o XML é transmitido, mas o retorno da SEFAZ com o protocolo da nota não chega. Nesses casos é preciso realizar uma nova conexão para consultar a nota e ver se ela está autorizada, certo? Eu procedo assim no meu sistema: ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.NotasFiscais.LoadFromFile(VArqXML); ACBrNFe1.Consultar; if ACBrNFe1.WebServices.Consulta.cstat = 100 then begin meuDataSet.FieldByName('SITUACAO').AsString := 'Autorizada'; meuDataSet.FieldByName('PROTOCOLO').AsString := ACBrNFe1.WebServices.Consulta.protNFe.nProt; meuDataSet.FieldByName('DHEMI').AsDateTime := ACBrNFe1.WebServices.Consulta.protNFe.dhRecbto; end; Minha dúvida é a seguinte: pelos .cStat, .protNFe.nProt e protNFe.dhRecbto eu consigo verificar se a nota foi autorizada, o protocolo de autorização e data de autorização. Até aí tudo certo. Mas tem como eu verificar o valor em R$ que essa nota lá no servidor para eu conferir e só liberar essa nota no meu sistema como autorizada se o valor registrado no sistema é o mesmo retornado pela servidor da receita? Obrigado!
-
Então, na sua opinião, 09 não é liquidação e sim apenas baixa? Obrigado
-
Bom dia, O retorno código 09 - toRetornoBaixaSimples - Bancoob - é de fato uma liquidação do título pelo pagador ou é apenas baixa? Segundo um cliente, o banco alega que esse retorno é de boleto baixado por decurso de prazo. Como identificar isso, ou seja, quando saber quando um título é de fato liquidado ou apenas baixado? Obrigado!
-
Boa tarde, Marcos, me desculpe minha "carona" no teu tópico, pois o que eu preciso é um pouco fora da questão enunciada no teu tópico. Preciso é de uma consultoria para me ajudar a rever/finalizar o código relativo à implementação do TEF em meu sistema. Já tentei com dois consultores cadastrados aqui no ACBr, mas tá difícil. Acho que são muito ocupados, não sei. Mas o fato é que começamos os diálogos e depois fico meio que falando sozinho (sem o devido retorno). Então, se algum participante do fórum, com bons conhecimentos em TEF / ACBrTEFD estiver disposto a me ajudar com essa análise, por favor, me contate em pv. Abraços!
-
Sicoob - Arquivo Remessa CNAB 240 (Atualizado Julho/2017)
Valdir Dill replied to Paulo Nichio's tópico in ACBrBoleto
Captei a mensagem mestre... Testado e aprovado. Obrigado!