-
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
-
Tratar Erro de Certificado que Não Gera Exceção em Tempo de Projeto.
Valdir Dill replied to Valdir Dill's tópico in ACBrNFe
Boa tarde, Obrigado pela dica, mas o método Configuracoes.Certificados.GetCertificado não existe mais. Além disso, esse método utiliza a Capicom, que também está com viés deprecated no Acbr. Obrigado! -
Tratar Erro de Certificado que Não Gera Exceção em Tempo de Projeto.
um tópico no fórum postou Valdir Dill ACBrNFe
Boa tarde, Estou com uma situação e gostaria de uma dica para resolver ou pelo menos criar um aviso mais transparente ao usuário. É assim: 1) Configuro todos os dados do certificado (A3 com Capicom) nas propriedade SSL. 2) Aciono a rotina ACBrNFCe.SSL.CarregarCertificado; Estando tudo ok com o certificado, funciona tudo beleza. Mas, se deixar o certificado desconectado da leitora, ocorrerá o seguinte erro: "Falha em obter Provedor de Criptografia do certificado. Erro: 80092008". Gostaria de alguma dica dos colegas, não exatamente em relação a esse erro específico, mas sim como tratar um erro que ocorre quando, por exemplo, o usuário não tiver o certificado conectado na leitora. É lógico que o certificado estando desconectado é um problema que o usuário tem que resolver, mas eu preciso poder dar um aviso a ele que algo está errado. Se o certificado estiver desconectado e eu fizer assim: try ACBrNFCe.SSL.CarregarCertificado; except ShowMessage('Houve um erro na tentativa de conexão com o certificado.'); //isso aqui não acontece, ou seja, mesmo que ocorra erro no try acima, não gera esta exceção. end; Em tempo de projeto, a linha ACBrNFCe.SSL.CarregarCertificado gera uma mensagem com o erro acima relatado ("Falha em obter provedor..."). Mas em em execução não aparece nada para o usuário, mas o certificado não é carregado. Alguma dica de como tratar essa situação? Obrigado. -
Boa tarde, Também estava com erro de rejeição do Itau. Estava funcionando beleza e de repente, depois de uma atualização dos fontes, passou a dar rejeição pelo banco. Resolvi o problema alimentando o campo DataMulta := IncDay(.FieldByName('VENCIMENTO').AsDateTime). Acho que até semana retrasada o Acbr alimentava esse dado automaticamente pelo vencimento do título, pois um arquivo remessa de alguns dias atrás, quando não dava rejeição, esse valor era completado automaticamente no arquivo e agora, se não informar o campo DataMulta, o Acbr não alimenta. Abraços.
-
Boa tarde, Alguma ideia do que pode ser a rejeição retornada pelo banco no print anexo? Usuário estava enviando os arquivos normal. Esta semana começou a dar esse erro. Pelo que analisei, o código da ocorrência seria do trailer, colunas 109 e 110. Mas analisei dois arquivos do usuário, um que foi aceito e outro que gerou rejeição. Ambos estão com valor "01" nessas colunas. O que poderia estar causando esse erro? Obrigado!
-
Boa noite, Acho que você tem razão. A contingência EPEC pode ser acionada pelo próprio emitente. Os SVC (RS e AN) é que precisam de autorização especial de cada SEFAZ. Abraços
-
Certo, mas uma hora você vai precisar, rs... Lembrando que quem define qual contingência usar não é o software, mas sim a própria SEFAZ, no momento que libera o envio em contingência. Obrigado.
-
Bom dia, Sim, NFe em contigência EPEC. Obrigado
-
Bom dia, Também tivemos umas 4 ou 5 situações exatamente como essa relatada no post. Nossa orientação foi para o usuário solicitar algo mais concreto (como um laudo, por exemplo) por parte da certificado e não apenas alegações verbais. Outro argumento que pedimos para nosso cliente utilizar junto à certificadora é "...o certificado de vocês é tão frágil em termos de segurança que o nosso simples sistema gerencial consegue acessar o cartão e destruí-lo? Qual é a segurança que o certificado oferece então?..." Nunca tivemos retorno, rs... Abraços.
-
Bom dia, Estou abrindo este post, mais com o objetivo de buscar opinião sobre uma questão que estou na dúvida como proceder. Trata-se de NFes enviadas em contingência e que depois devem ser reenviadas mudando a forma para normal. Pelo que analisei nos manuais de integração, o que encontrei foi que a nota enviada em contingência deve ser retransmitida pela opção normal após sanado problema da contingência, mas essa retransmissão deve ser com o mesmo arquivo XML que foi enviado quando da contingência. Ocorre que, como todos sabemos, a conferência do XML pelo WS na contingência é precário, ou seja, confere apenas alguns poucos dados. Nessa conferência, a nota pode ter algum dado incorreto, mas esse erro "passa" na contigência. Porém, no envio normal, o erro não passa e aí acontece a rejeição quando da retransmissão. Como vocês procedem nesses casos? Permitem que o usuário faça alterações nos dados da nota? Mas aí teria que gerar um novo XML e isso não seria contrário às normas? Por outro lado, se não permitir alteração na nota depois de enviado por contigência e ocorrer a rejeição posterior, o usuário não conseguirá retransmitir a nota!!! Agradeço pelas opiniões/sugestões Obrigado!
-
Bom dia, Funciona sim Agnaldo, basta não atribuir a senha ao componente Acbr na segunda vez que for usá-lo. Mas só acontece com SERASA. Isso é certeza, pois fiz dezenas e dezenas de testes com outros certificados e não ocorre. Com SERASA, fiz dezenas e dezenas de testes e, se atribuir a vez segunda a senha ao componente antes a aplicação ser encerrada, dá o erro ao usar qualquer operação do Acbr que chame o certificado. E nem adianta destruir/recriar o componente Acbr, vai dar erro igual. Acho que o certificado controla isso da aplicação que o chamou e não pelo componente Acbr. Prova disso é que quando não se alimenta a senha no componente, a tela do PIN é chamada uma única vez pelo gerenciador do certificado (isso já vale para qualquer certificado A3). Eu fiz da seguinte forma e e está funcionando 100% em vários clientes que antes (quando eu atribuía a senha na segunda vez) não funcionava: 1) No onCreate do DataModule (que é onde está meu componente): - ACBRNFe1.tag := 0; //atribuo 0 só para garantir, pois 0 já é o default. Obs.: a) O DM é criado somente uma vez durante toda aplicação; Não, não adianta criar o DM dinamicamente e destruí-lo depois. Como mencionei acima, o certificado faz algum tipo de controle pela aplicação que o chama. 2) Ao iniciar qualquer procedimento do Acbr que necessitará do certificado: a) if ACBRNFe1.tag = 10 then exit; try b) ACBRNFe1.SSL.Senha := TBDadosCertif.FieldByName('SenhaCert').asString; c) Configuracoes.Geral.SSLLib := libWinCrypt; n) ...; y) ACBRNFe1.SSL.CarregarCertificado; z) ACBRNFe1.tag := 10; except ACBRNFe1.tag := 0; end; Funciona perfeito. Mas, se o item 2 b for executado uma segunda vez pela aplicação, e se tentar assinar um XML, por exemplo, vai dar o erro se o certificado vinculado for A3 SERASA. Abraços.
-
Boa tarde, Bem, em primeiro lugar é preciso salientar que o problema só ocorre com certificados A3 SERASA. Pelo menos comigo foi assim. 1 - AcbreNFe1.Configuracoes.Geral.SSLLiB = Wincrypt 2 - AcbreNFe1.SSL.Senha := '123456' 3 - Enviar uma nota 4 - Sem sair do sistema, repetir passos 2 e 3. Ao tentar enviar a segunda nota, dá o erro. Observações: 1 - Se não informar a senha para o componente nenhuma vez (passo 2), aí quando vai enviar a nota, será aberta a tela do PIN (só pede a primeira vez), informa-se a senha normalmente e o erro não ocorre; 2 - No passo 2 acima, se mudar para "if AcbreNFe1.SSL.Senha <> emptyStr then AcbreNFe1.SSL.Senha := '123456'", aí o erro não ocorre, ou seja, se não atribuir a senha uma segunda vez ao componente, aí o erro também não ocorre. Obrigado
-
Bom dia, Sim, agora com a mudança de url (atualização 13903) está funcionando beleza, mesmo com acentuação/espaços. Provavelmente que a URL antiga é que não aceitava no formato "Lucas%20do%20Rio%20Verde". Mas agora está beleza. Obrigado.
-
Bom dia, Pelo código está funcionando. O que não funciona é pelo nome da cidade quando o nome tem espaço(s) e/ou acentuação. A linha Param := AjustaParam( ACidade ) da function TACBrIBGE.BuscarPorNome(const ACidade : String ; ... está formatando assim: Espaços: cidade: Lucas do Rio Verde: formatação do ACBR: Lucas%20do%20Rio%20Verde. O correto seria Lucas+do+Rio+Verde. Pelo menos é assim que gera lá na url do site do IBGE, quando se consulta direto. Acentuação: cidade: Divinópolis: formatação do ACBR: Divin%F3polis. O correto (para funcionar) seria Divinopolis. No caso da acentuação, um simples TiraAcentos() já resolve. Mas no caso dos acentos...não sei ainda como fazer. Obrigado!
-
Bom dia, Não sei se entendi direito, mas nesse caso não seria dispensável a variável? Colocando apenas if ACBrNF.SSL.Senha= '' then begin ... end; ao invés de U_Acesso_Term.VSENHADIGITADACERT = '' then begin ...end;? Obrigado!
-
Bom dia, Também estou tendo exatamente esses mesmos problemas, ou seja, no segundo envio de nota, dá erro. E apenas com A3. A solução (temporária) foi não informar a senha no componente (AcbrNFe.SSL.Senha := ''). Dessa forma o gerenciador do certificado é que pede a senha quando necessitar e o erro não acontece. Obrigado!
-
Bom dia, Na ACBrDANFCeFortesFr.pas eu não encontrei isso que você menciona Daniel. Aliás, na ACBrDANFCeFortesFr.pas, em nenhum local e encontrei rotina que verifique se ImprimirTributos é false ou true. Veja bem, nessa mudança que eu propus, apenas o lTitLei12741 (que é um TrlLabel) é que vai ficar invisível e não a banda toda. Obrigado.
-
Boa noite, As alterações feitas até agora têm efeito apenas para danfe com ACBrNFeDANFeESCPOS. Pelo que entendi e nos testes que fiz, a impressão da NFCe com Fortes Report está imprimindo os tributos igual, mesmo que .imprimirTributos = false. Então, creio que é preciso fazer as alterações abaixo na ACBrDANFCeFortesFr.pas, a qual já envio anexo com as alterações. Peço que seja incluído no código oficial . procedure TACBrNFeDANFCeFortesFr.rlbRodapeBeforePrint(Sender: TObject; var PrintIt: Boolean); var i:integer; begin with ACBrNFeDANFCeFortes.FpNFe do begin if (ACBrNFeDANFCeFortes.ImprimirTributos) and //alteração proposta (Total.ICMSTot.vTotTrib > 0) then lTitLei12741.Caption := lTitLei12741.Caption +' '+ FormatFloatBr(Total.ICMSTot.vTotTrib) else lTitLei12741.Visible := False; for I := 0 to InfAdic.obsCont.Count - 1 do begin lObservacoes.Lines.Add( StringReplace( InfAdic.obsCont.xCampo + ': ' + InfAdic.obsCont.xTexto, ';', #13, [rfReplaceAll] ) ) ; end; if InfAdic.infCpl <> '' then lObservacoes.Lines.Add( StringReplace( InfAdic.infCpl, ';', #13, [rfReplaceAll] ) ); lObservacoes.Visible := ( lObservacoes.Lines.Count > 0 ); end; end; Obrigado. ACBrDANFCeFortesFr.pas
-
Bom dia, Temos um sistema sem TEF e gostaríamos de implementar essa opção e precisamos de um parceiro freelancer para desenvolvimento inicial até homologação. Obs.: estamos analisando proposta de integração da skyTef. Interessados contatem por e-mail [email protected]. Obrigado
-
Falha ao obter a Chave Privada do Certificado para Assinatura.
Valdir Dill replied to Daniel Paixão-Cascavel's tópico in ACBrNFe
Bom dia Daniel, Que bom que resolveu... Será melhor ainda para o grupo se você compartilhar a solução!!! Obrigado! -
Ninguém tem uma dica? Desculpem a insistência, mas procurei bastante e não encontrei nada sobre isso e estou "meio perdido" para começar. Obrigado novamente.
-
Boa tarde, Quando eu alimento o componente ACBRSat para posterior geração do XML, alguns dados, como por exemplo, o valor do ICMS, PIS, COFINS, etc., não é o meu sistema que vai informar, pois serão retornados pelo SAT, está correto? Pois bem, para alimentar o registro C800 do SPED, preciso desses dados. A minha dúvida é: onde eu obtenho, por exemplo, o valor do campo VL_COFINS? O campo VL_ICMS estou guardando ele na base de dados pegando ele de ACBrSAT1.CFe.Total.ICMSTot. Mas VL_COFINS, onde eu devo buscar esse valor de cada cupom? Obrigado!
-
Boletos Banco Brasil - Carteiras COM Variação
Valdir Dill replied to Valdir Dill's tópico in ACBrBoleto
Testado e funcionando. Muito bom. Obrigado! -
Boletos Banco Brasil - Carteiras COM Variação
Valdir Dill replied to Valdir Dill's tópico in ACBrBoleto
Boa noite, Não vi no manual, mas num boleto (anexo) impresso por um cliente através do sistema do banco. Não sei dizer se isso afetaria outros bancos. Acredito que sim, pois as cooperativas também têm esse campo da modalidade. Obrigado. -
Boa tarde, Alguém utiliza modelos de impressoras Sweda com AcbrPosPrinter para impressão do danfe da NFCe? Um cliente está prestes a adquirir os modelos SI-150 e SI-300 e gostaria de saber se vai funcionar legal. Na lista das marcas do ACBR essa marca não aparece. Mas será que funcionaria bem? Alguém já trabalha com algum desses modelos? E nas configurações do ACBrPosPrinter1.Modelo, configuraria a opção ppTexto ou qual? Obrigado!