Ir para conteúdo
  • Cadastre-se

Lucas L.

Membros
  • Total de ítens

    59
  • Registro em

  • Última visita

Tudo que Lucas L. postou

  1. Lucas L.

    complementar nfce

    @Sonik Boa Tarde! Verifique o Grupo de Pagamentos. Conforme indicado pelos colegas em : https://www.projetoacbr.com.br/forum/topic/41994-element-httpwwwportalfiscalinfbrnfepag-cannot-be-empty-according-to-the-dtdschema/ Att, Lucas L
  2. Olá, Bom Dia! Como você já fez a correção da versão nas configurações do ACBr: ACBrNFe.Configuracoes.Geral.VersaoDF := ve400; ACBrNFe.Configuracoes.Geral.VersaoQRCode := veqr200; E você não pode deixar de transmitir a SEFAZ essas notas, o ideal é gerar e assinar novamente o XML com os mesmos dados apenas com intuito de modificar somente o campo versão do qrCode, para que as notas possam ser transmitidas corretamente e não haja alteração da Chave de Acesso, Valor, Data Emissão... Att, Lucas L
  3. Boa Tarde! Aloisio, O ACBrNFe tem o evento OnGerarLog, nele você pode adicionar uma função para gravar o Log em arquivo texto, mas essa função só grava os Log's de envio para a SEFAZ se não me falha a memória. Ex: procedure TForm1.ACBrNFe1GerarLog(const ALogLine: string; var Tratado: Boolean); begin TLog.doSaveLog(ALogLine); end; Não sei se é a melhor alternativa, mas para gravar os Logs de Erros de Schemas você poderia: - Chamar a função de validação(ACBrNFe1.NotasFiscais.Validar) antes de realizar o envio do XML e gravar o Log. - Colocar na própria rotina de envio para gravar o Log caso ocorra algum Exception junto com os outros tratamentos do envio. Ex: try {...} //Carrega Configurações, XML.... ACBrNFe1.Enviar(vNumLote,True){Aqui dentro tbm é chamada a função de Validar}; except on E: Exception do begin TLog.doSaveLog(E.Message); //Outros Tratamentos de Envio..... end; end; {...} class procedure TLog.doSaveLog(EMessage: string); var loLista: TStringlist; lsFile: string; begin try lsFile := FileNameLogErro; loLista:= TStringList.Create; try if FileExists(lsFile) then loLista.LoadFromFile(lsFile); loLista.Add('----------------------------------------'); loLista.Add('Sistema: '+Application.ExeName); loLista.Add('Hora: '+TimeToStr(Time)); loLista.Add('Erro: '+EMessage); loLista.SaveToFile(lsFile); finally loLista.Free; end; except end; end; É bem provável que outros usuário possam te indicar outras formas melhores de fazer isso.Recomendo até pesquisar no fórum sobre tópicos específicos sobre Log. Desejo-lhe Boa Sorte! Att, Lucas L.
  4. Bom Dia! Aloisio, Não sei se entendi bem sua dúvida, mas que para mais usuários possam te ajudar, seria interessante você anexar o erro do completo que aparece(Exception.Message), e nos casos em que gere o XML mas apresente falha de schemas você anexe o XML para validação. Erros de Schemas podem ocorrer pelos mesmos estarem desatualizados ou os dados os quais você esta informado na nota difere do formato esperado(nivel tag, tamanho do campo, valor...). Ex: Esse erro ocorre porque o campo xNome que identifica a Razão Social do destinatário comporta valores entre 2 e 60 caracteres(Manual de Orientação do Contribuinte 6.0), ou seja o valor informado violou o tamanho esperado.Este erro só irá ocorrer quando o a Razão Social de um cliente informado em uma nota fosse menor que 2 ou maior que 60, podendo passar como "aleatório" caso você informe outros clientes que respeitem essa validação. Para que ele não ocorra você pode criar uma validação no próprio banco ou no cadastro de clientes ou até antes de emitir a nota(dá um pouco de trabalho tratar todos os campos 100% rsrs). Como dica: -Manter atualizado os Arquivos Schemas e o ACBr -No demo do ACBr tem exemplo de usar a maração ExibirErroSchema(Default true) e FormatoAlerta para melhorar a visualização de erros de Schema, além da possibilidade de validar um XML. E você pode validar a estrutura do XML nos sites : https://www.sefaz.rs.gov.br/NFE/NFE-VAL.aspx http://validadornfe.tecnospeed.com.br/ Sobre carregar as configurações no componente não vi nenhum erro aparente que possa estar gerando erro de falha de schemas. Att, Lucas L.
  5. Boa Tarde, Só pra avisar, aqui voltou a funcionar normalmente! Att, Lucas L
  6. Boa Tarde, Sou credenciado na SEFAZ RJ que usa os Webservices SVRS - Sefaz Virtual do RS, e desde ontem a tarde também tenho recebido a rejeição: "203 - Rejeição: Emissor nao habilitado para emissao do MDF-e!" Anteriormente estava funcionando normalmente, pois como a Graça mencionou a maioria das SEFAZ's não tem credenciamento especifico para MDF-e(Ex: Credenciamento MDF-e SEFAZ RJ). Sendo assim acredito que seja algum problema com a SEFAZ na implementação da NT Nota Técnica 2018.002(), referente ao Item 1.2. Validação do Emitente(Pág. 6) . Outro fator que pode indicar a inconsistência da validação por parte da SEFAZ é que as requisições de Consultar Status do Serviço e Consulta de MDF-e continuam funcionando(pelo menos aqui). Caso não normalize até mais tarde, entrarei em contato com a SEFAZ para confirmar essas informações e caso tenha novidades postarei por aqui! Att, Lucas L.
  7. Boa Tarde, Não sei, se é o seu caso mas ao marcar a propriedade "Habilitar proteção de chaves privadas fortes[...]" durante a instalação do certificado ele fica sempre pedindo confirmação. Att, Lucas
  8. @quartarollo Bom dia, Tive o mesmo problema ao validar minhas notas.Acredito que seja algum problema no Web Service de validação da SEFAZ RS, porque na Nota Técnica 2016.002 1.51, não tem nenhum modelo de validação especifica do campo, somente tem a declaração geral do campo "nDup" aceitar até 60 caracteres(Em anexo). Fiz testes removendo caracteres especiais e espaços em branco e tive a mesma rejeição.Então teoricamente deveremos aguardar ou/e notificar a SEFAZ RS da validação indevida do campo. Nota Técnica 2016.002 1.51 Referência do Campo : Pág 47 Validação Dados Cobrança : Pág 58 Att, Lucas
  9. Boa Tarde, Não é uma solução definitiva mais algumas secretarias de fazenda oferecem a opção de consultar por UF Emitente, CNPJ Emitente, Serie, Numero da Nota e Ano(Imagem em anexo) se você tiver o certificado digital, talvez você consiga encontrar essa nota. Para as SEFAZ que utilizam o ambiente de autorização do RS o link é : https://www.sefaz.rs.gov.br/NFE/NFE-CER.aspx Att, Lucas
  10. Boa Tarde, Italo Descobri onde estava errando, não estava sendo distribuído junto com o executável do cliente os Schemas CT-e da pasta do ACBr, estava sendo utilizado os 3 últimos Pacotes de Liberação do Portal CT-e e estes não tem todos os xsds necessários para validação/emissão da CC-e.Agradeço mais uma vez as orientações, acabei me focando na questão das versões e não dei a atenção devida aos xsds. Peço desculpa por demorar responder, tive que esperar a renovação do certificado do cliente para prosseguir. Att, Lucas L.
  11. Boa Tarde, Gostaria de saber se é possível emitir uma carta de correção para um CT-e emitido na versão 2.0? Se sim, como proceder? E se não, alguém conhece alguma publicação, artigo ou até um portal que fale mais sobre o assunto? Pessoalmente, não sei se é possível pelo, fato da carta de correção estar na versão 3.0 e o CT-e ter sido emitido na versão 2.0 que foi desativada.Mas ao tentar emitir a carta de correção para esse CT-e, recebo a seguinte mensagem: Rejeição: Carta de Correção invalida (campo/grupo informado nao existe no shcema do CT-e ou nao existe no grupo informado). Já tentei usar um campo que está tanto na versão 2.0 quanto na 3.0 do CT-e, como o campo CFOP, tpCTe. Teria alguma outra alternativa para emitir essa carta de correção para esse CT-e? Agradeço quem puder contribuir com mais informações sobre o assunto. Att, Lucas L.
  12. Bom dia. Durante o ano passado, esse problema foi bem recorrente. Esse ano poucos clientes reclamaram, mas já aconteceu. Alguns são disponibilizados na hora outros não. Não encontrei nenhuma causa específica também, logo imagino que seja alguma oscilação do servidor mesmo e não do ACBr. Caso tenha novidades irei postar também. Att, Lucas L.
  13. Olá! Consegui achar o Link neste site: https://sismais.freshdesk.com/support/solutions/articles/19000070506-urgente-atualizacão-da-dll-de-download-do-xml Mas como não é um jeito, 100% confiável e que vai ser descontinuado.Recomendo automatizar a rotina de manifesto do destinatário para ser mais automatizada. Obrigado!
  14. Bom Dia! Por favor, @clovisribeiro ou alguém que teria o link da ultima versão da DLL FSIST, poderia por favor, disponibilizar o link para download? Grato, Att Lucas
  15. Olá @Daniel Simoes, tomei a liberdade de testar o arquivo com a modificação. Ao consultar o status por exemplo não retorna mais o erro de canais seguros mas retorna o "Falha ao Definir PIN do Certificado." vide imagem. Att, Lucas.
  16. Obrigado Daniel. Ao tentar o código: procedure TDFeWinCrypt.DescarregarCertificado; begin if (FpDadosCertificado.NumeroSerie <> '') then if (pos(FpDadosCertificado.NumeroSerie, CertificadosA3ComPin) > 0) then begin SetCertContextPassword( FpCertContext, '' ); CertificadosA3ComPin := StringReplace( CertificadosA3ComPin, FpDadosCertificado.NumeroSerie + ',', '', [rfReplaceAll]); end; Voltou a ocorrer o erro de canais seguros. E como eliminar 100% o manager de senha do certificado digital é quase impossível. A melhor alternativa é comentar o código abaixo, como você sugeriu : E só pra esclarecer, comentar esse código pode ser prejudicial em algum outro cenário(que você se lembre), assim como sugerido no post que você indicou? Principalmente se eu usar um certificado A3 de outra certificadora? De todo jeito irei fazer mais testes, e qualquer novidade posto aqui! ; ) Mas uma vez, obrigado a todos! Att, Lucas L.
  17. Por nada, somos os maiores interessados.Eu que agradeço. Ao comentar o código não dá erro ao consultar mais de uma vez.Mas caso eu desconecte o certificado e conecto ele de novo ele abre o manager do certificado, solicitando senha.
  18. Olá @Daniel Simoes, bom dia! Segue em anexo um exemplo simplificado do cenário de como pode emular o erro, pra quando você puder der uma olhada por favor. 1º Setar os parâmetros de configurações do ACBrNFe(Certificado, Schemas, Criptografia) 2º Consultar Status 3º Quando tentar a Consultar o Status pela 2ª vez irá ocorrer o erro. Caso desconecte / conecte o cartão da leitora ou feche e abra a aplicação irá funcionar mais uma vez. Caso precise realizar mais alguns testes, só avisar! Muito Obrigado. Att, Lucas ErroCanaisSeguros.rar
  19. Daniel, como no demo ACBr o componente ACBrNFe é utilizado em design para todas as funções e a senha é passado somente no create do formulário e/ou ao salvar uma configuração, não é comum ocorrer o erro. Mas se alterar o método de consultar status para utilizar um componente em tempo de execução, e toda vez setar a senha no componente é gerado o erro. procedure TForm1.btnStatusServClick(Sender: TObject); var loACBR: TACBrNFe; ok:Boolean; begin loACBR := TACBRNFe.Create(nil); try loACBR.Configuracoes.Certificados.Senha := edtSenha.Text; loACBR.Configuracoes.Certificados.NumeroSerie := edtNumSerie.Text; with loACBR.Configuracoes.Geral do begin SSLLib := TSSLLib(cbSSLLib.ItemIndex); SSLCryptLib := TSSLCryptLib(cbCryptLib.ItemIndex); SSLHttpLib := TSSLHttpLib(cbHttpLib.ItemIndex); SSLXmlSignLib := TSSLXmlSignLib(cbXmlSignLib.ItemIndex); AtualizaSSLLibsCombo; ExibirErroSchema := cbxExibirErroSchema.Checked; RetirarAcentos := cbxRetirarAcentos.Checked; FormatoAlerta := edtFormatoAlerta.Text; FormaEmissao := TpcnTipoEmissao(cbFormaEmissao.ItemIndex); ModeloDF := TpcnModeloDF(cbModeloDF.ItemIndex); VersaoDF := TpcnVersaoDF(cbVersaoDF.ItemIndex); IdCSC := edtIdToken.Text; CSC := edtToken.Text; Salvar := ckSalvar.Checked; end; with loACBR.Configuracoes.WebServices do begin UF := cbUF.Text; Ambiente := StrToTpAmb(Ok,IntToStr(rgTipoAmb.ItemIndex+1)); Visualizar := cbxVisualizar.Checked; Salvar := cbxSalvarSOAP.Checked; AjustaAguardaConsultaRet := cbxAjustarAut.Checked; if NaoEstaVazio(edtAguardar.Text)then AguardarConsultaRet := ifThen(StrToInt(edtAguardar.Text)<1000,StrToInt(edtAguardar.Text)*1000,StrToInt(edtAguardar.Text)) else edtAguardar.Text := IntToStr(AguardarConsultaRet); if NaoEstaVazio(edtTentativas.Text) then Tentativas := StrToInt(edtTentativas.Text) else edtTentativas.Text := IntToStr(Tentativas); if NaoEstaVazio(edtIntervalo.Text) then IntervaloTentativas := ifThen(StrToInt(edtIntervalo.Text)<1000,StrToInt(edtIntervalo.Text)*1000,StrToInt(edtIntervalo.Text)) else edtIntervalo.Text := IntToStr(loACBR.Configuracoes.WebServices.IntervaloTentativas); TimeOut := seTimeOut.Value; ProxyHost := edtProxyHost.Text; ProxyPort := edtProxyPorta.Text; ProxyUser := edtProxyUser.Text; ProxyPass := edtProxySenha.Text; end; loACBR.SSL.SSLType := TSSLType( cbSSLType.ItemIndex ); with loACBR.Configuracoes.Arquivos do begin Salvar := cbxSalvarArqs.Checked; SepararPorMes := cbxPastaMensal.Checked; AdicionarLiteral := cbxAdicionaLiteral.Checked; EmissaoPathNFe := cbxEmissaoPathNFe.Checked; SalvarEvento := cbxSalvaPathEvento.Checked; SepararPorCNPJ := cbxSepararPorCNPJ.Checked; SepararPorModelo := cbxSepararPorModelo.Checked; PathSalvar := edtPathLogs.Text; PathSchemas := edtPathSchemas.Text; PathNFe := edtPathNFe.Text; PathInu := edtPathInu.Text; PathEvento := edtPathEvento.Text; end; loACBR.WebServices.StatusServico.Executar; MemoResp.Lines.Text := loACBR.WebServices.StatusServico.RetWS; memoRespWS.Lines.Text := loACBR.WebServices.StatusServico.RetornoWS; LoadXML(loACBR.WebServices.StatusServico.RetornoWS, WBResposta); pgRespostas.ActivePageIndex := 1; MemoDados.Lines.Add(''); MemoDados.Lines.Add('Status Serviço'); MemoDados.Lines.Add('tpAmb: ' +TpAmbToStr(loACBR.WebServices.StatusServico.tpAmb)); MemoDados.Lines.Add('verAplic: ' +loACBR.WebServices.StatusServico.verAplic); MemoDados.Lines.Add('cStat: ' +IntToStr(loACBR.WebServices.StatusServico.cStat)); MemoDados.Lines.Add('xMotivo: ' +loACBR.WebServices.StatusServico.xMotivo); MemoDados.Lines.Add('cUF: ' +IntToStr(loACBR.WebServices.StatusServico.cUF)); MemoDados.Lines.Add('dhRecbto: ' +DateTimeToStr(loACBR.WebServices.StatusServico.dhRecbto)); MemoDados.Lines.Add('tMed: ' +IntToStr(loACBR.WebServices.StatusServico.TMed)); MemoDados.Lines.Add('dhRetorno: '+DateTimeToStr(loACBR.WebServices.StatusServico.dhRetorno)); MemoDados.Lines.Add('xObs: ' +loACBR.WebServices.StatusServico.xObs); finally FreeAndNil(loACBR) end; end; Obs: Nos meus testes utilizei um certificado A3 SPC Brasil. Site Fabricante Att, Lucas
  20. Boa Tarde! Comecei a ter o mesmo problema após atualização também.Com versões anteriores do ACBr também não tinha esse problema. E como você mencionou só ocorre com certificados do tipo A3, e a partir da segunda Nota enviada ou consulta de status, ou manifestação e pelo menos nos testes que eu fiz, se remover o certificado e colocar novamente na leitora ou fechar e abrir o sistema, consigo emitir mais uma vez normalmente mas depois é retornado os erros: Quando uso a capicom(loACBrNFe.Configuracoes.Geral.SSLLib := libCapicom): ----------------------------------------------------------------------- Erro Interno: 12157Erro HTTP: 0Erro: Requisição não enviada.Erro: 12157 - Erro relacionado ao Canal Seguro----------------------------------------------------------------------- ----------------------------------------------------------------------- Ou quando uso WinCrypt(loACBrNFe.Configuracoes.Geral.SSLLib := libWinCript): Erro Interno: 12175 Erro HTTP: 0 Falha Recebendo Dados. Erro:Erro: 12175 - Um ou mais erros foram encontrados no certificado Secure Sockets Layer (SSL) enviado pelo servidor ----------------------------------------------------------------------- Como alguns colegas sugeriam pode parecer que tem ficado algum memory leak que mantém o estado do ultimo certificado lido na store. Outro fato relevante, é que o tratamento que os colegas sugeriam de passar a senha uma única vez para a certificado, afim de minimizar o impacto do erro já tinha um tratamento parecido internamente na classe ACBrDFeWinCrypt no método TDFeWinCrypt.CarregarCertificado, para que não criasse uma nova instancia do certificado e consequentemente não passasse tbm a senha novamente: {...} //Unity ACBrDFeWinCrypt Line 960 if (FpDadosCertificado.Tipo = tpcA3) and (FpDFeSSL.Senha <> '') and (pos(FpDadosCertificado.NumeroSerie, CertificadosA3ComPin) = 0) then // Se Atribuir novamente em outra instância causa conflito... // begin try SetCertContextPassword(FpCertContext, FpDFeSSL.Senha); CertificadosA3ComPin := CertificadosA3ComPin + FpDadosCertificado.NumeroSerie + ','; {...} Depois no método TDFeWinCrypt.DescarregarCertificado, limpava da váriavelCertificadosA3ComPin o certificado instanciado; {...} //Unit ACBrDFeWinCrypt Line 1068 if (FpDadosCertificado.NumeroSerie <> '') then if (pos(FpDadosCertificado.NumeroSerie, CertificadosA3ComPin) > 0) then CertificadosA3ComPin := StringReplace( CertificadosA3ComPin, FpDadosCertificado.NumeroSerie + ',', '', [rfReplaceAll]); {...} E nas linhas abaixo do método TDFeWinCrypt.DescarregarCertificado: // Limpando objetos da MS CryptoAPI // if Assigned(FpCertContext) then CertFreeCertificateContext(FpCertContext); if Assigned(FpStore) then CertCloseStore(FpStore, CERT_CLOSE_STORE_CHECK_FLAG); FpCertContext := Nil; FpStore := Nil; FpPFXData := ''; Todos objetos relacionados a criação da instância do certificado são "destruídos", mas ainda sim fica algo em memória que mantém o estado do certificado. Então teoricamente depois de todos esses tratamentos não era pra ocorrer esse memory leak, pois também trabalho com o componente ACBrNFe em tempo de execução e destruo o mesmo com FreeAndNil logo após de utiliza-lo. Se mais alguém tiver informações ou idéias de como evitar esse problema seria muito bom ou até mesmo esclarecendo se trata de alguma restrição(limitação/segurança) das dll's de criptografia e acesso ao certificado. Pois no meu caso é muito comum os clientes, principalmente os de NF-e terem um único leitor e alternarem os cartões com o certificado digital de acordo com a filial que eles desejam emitir notas, realizar manifestação etc... e quando o certificado e desconectado é reconectado eu tenho necessidade de informar a senha novamente.E caso eu opte pela opção de nunca informar a senha e deixar o próprio manager do certificado pedir a senha além de alguns usuários taxarem de inconveniente, aumenta muito a chance do usuário informar uma senha errada e bloquear o certificado. Att, agradeço por toda ajuda recebida e pelos esforços de toda equipe do ACBr.
  21. Olá @valdirdill, obrigado pela dica.Removi a senha(AcbrNFe.SSL.Senha := '') configurei o meu internet explorer conforme a imagem anexa.Foi a forma que tem funcionado mais vezes, pelo menos pra mim(infelizmente as vezes retorna o erro).Tentei várias outras configurações, atualizar cadeia de certificados, remover certificados vencidos do repositório do windows. O que não entendo é que nas revisões anteriores do ACBr não precisava remover a senha de certificados A3, quando usava o acesso via Capicom.dll. Att, Lucas
  22. Boa Tarde. Estou passando por problema parecido, usando um certificado A3 a e Capicom na 1º emissão funciona as demais retorna o erro: Erro Interno: 12157 Erro HTTP: 0 Erro: Requisição não enviada. Erro: 12157 - Erro relacionado ao Canal Seguro ----------------------------------------------------------------------- As vezes dá em também a mensagem de erro que "O recipiente da chave não pôde ser aberto" Tentei atualizar as cadeias de certificado, trocar as configurações do internet explorer.Quando utilizo certificado A1 funciona normalmente. O problema começou a ocorrer ao utilizar a unit ACBrDFeSSL e setar a configuração loACBrNFe.Configuracoes.Geral.SSLLib := libCapicom; Aguardo mais informações! Quem tiver mais sugestões por favor compartilhe, estas são muito bem vindas!
  23. Engraçado, eu já estou tendo problema com a autorização da NFe (55) "SEFAZ RJ", a mais de uma hora também, todas as notas retornando lote em processamento.O que achei estranho é que não tem nenhuma informação no portal da NF-e e nem uma notificação que liberaram o ambiente de contingência. Mas no seu caso Ricardo, como a frente de caixa do NFC-e é muito crítica pois gera fila, e outros transtornos diretamentes ao cliente, eu acho que vale a pena ativar a contingência offiline do NFC-e.
  24. @Marcos Gerene , bom dia Mas acho que o BigWings quis dizer sobre essa atualização das cadeias de certificado: http://tsdn.tecnospeed.com.br/blog-da-tecnospeed/post/sefaz-ms-anuncia-atualizacao-na-cadeia-certificadora-da-nfc-e Att
  25. Obrigado Italo, vô implementar uma função seguindo a mesma lógica do ".GravarXML()" então.
×
×
  • 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.

The popup will be closed in 10 segundos...