-
Total de ítens
29 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Thiago_Kverna
-
-
Olá,
Estou configurando o ACBrNFSe para funcionar com o NFSeBrasil e estou tendo um problema.
O retorno das operações está sendo limpo na função ExtrairRetorno.
Reparei que o problema ocorre por que a função ParseText faz um decode de UTF8, mas o retorno que estou recebendo do servidor NFSeBrasil está vindo como ISO-8859-1. Ao passar pelo ParseText ele esvazia o texto do retorno e o AuxXML fica vazio.
Mais alguém teve esse problema?
Segue em anexo um exemplo dos retornos obtidos.
-
Olá,
Estou tendo problemas para baixar o xml de algumas notas.
O servidor está retornando a 'Rejeição: Solicitação fora de prazo, a NF-e não está mais disponível para download', porém as notas tem menos de 30 dias da data de autorização de uso e todas já estão com a Ciência de Operação devidamente registrada.
Umas das notas foi autorizada no dia 30/06/2016 e teve a ciência de operação no dia 05/07/2016, mas mesmo assim retorna essa rejeição.
Mais alguém está com esse problema?
É algum problema no SEFAZ?
-
Alguém conseguiu fazer o envio da NFSe?
Fiz algumas alterações no código mas ainda estou recebendo o seguinte retorno: error in msg parsing: XML error parsing SOAP payload on line 1: Reserved XML Name".
Seguem em anexo o texto sendo enviado pelo componente e o retorno.
Qualquer ideia seria de grande ajuda.
Assim que estiver funcionando eu disponibilizo o fonte.
-
Você lembra se algum dos provedores que já existem usa o padrão 2.02 da Abrasf?
Se tiver algum, aí me basearia nele para desenvolver esse novo provedor.
-
Olá,
Atualmente Montes Claros usa o provedor Pronim e está funcionando a NFSe pelo ACBr normalmente, mas participei de uma reunião na prefeitura na qual eles anunciaram que vão mudar para o provedor eReceita da empresa Taylor Sistemas. A partir do dia 01/06/2015 o servidor será substituído.
Gostaria de saber se o ABCrNFSe já possui suporte a esse provedor (não encontrei nenhum arquivo com nome ProvedoreReceita).
Caso não exista, quais informações são necessárias para desenvolver o mesmo?
Esse provedor usa o padrão ABRASF 2.02 e no site http://montesclaros.mg.gov.br/sefin/, na aba "Nota Fiscal de Serviços Eletrônica" existem mais algumas informações.
Grato.
-
Olá,
Estou tentando emitir uma NFC-e para o estado AM com o demo do ACBr e está retornando o erro "12157 - an error occurred in the secure channel support".
Pesquisando no fórum achei diversas dicas, mas nenhuma funcionou.
Ao colocar o endereço do servidor no navegador (https://nfce.sefaz.am.gov.br/nfce-services/services/NfeRecepcao2) está mostrando uma página que diz que há um problema no certificado de segurança do site e é necessário clicar em "Continuar neste site" para abrir realmente o site.
Isso pode estar influenciando?
O que posso fazer para resolver?
Estou tentando emitir no demo para depois iniciar o desenvolvimento no sistema da empresa.
Grato.
-
Realmente rsrsrs.
Devo ter atualizado apenas a pasta referente ao ACBrNFe.
Valews
-
Olá,
Fiz o update para a última versão do ACBrNFe presente no SVN e o sistema não estava conseguindo tratar os retornos do webservice.
Todas as propriedades estavam ficando vazios.
Depurando, descobri que ao tentar pegar apenas a parte do retorno referente ao NfeConsultaNF2Result a função SeparaDados da ACBrUtil não estava encontrando a tag.
Alterei a função para jogar as strings para maiúsculas antes de comparar e aí encontrou.
Segue o código alterado caso alguém esteja encontrando os mesmos problemas.
*Função se encontra em Fontes\ACBrComum\ACBrUtil
function SeparaDados( Texto : AnsiString; Chave : String; MantemChave : Boolean = False ) : AnsiString; var PosIni, PosFim : Integer; Texto_temp, Chave_temp: String; begin //Internews {Done: Alteração da Internews} Texto_temp := AnsiUpperCase(String(Texto)); chave_temp := AnsiUpperCase(Chave); if Mantemchave then begin PosIni := Pos(String(chave_temp),String(Texto_temp))-1; PosFim := Pos('/'+String(chave_temp),String(Texto_temp))+length(String(chave_temp))+3; if (PosIni = 0) or (PosFim = 0) then begin PosIni := Pos('ns2:'+String(chave_temp),String(Texto_temp))-1; PosFim := Pos('/ns2:'+String(chave_temp),String(Texto_temp))+length(String(chave_temp))+3; end; end else begin PosIni := Pos(String(chave_temp),String(Texto_temp))+Pos('>',copy(String(Texto_temp),Pos(String(chave_temp),String(Texto_temp)),length(String(Texto_temp)))); PosFim := Pos('/'+String(chave_temp),String(Texto_temp)); if (PosIni = 0) or (PosFim = 0) then begin PosIni := Pos('ns2:'+String(chave_temp),String(Texto_temp))+Pos('>',copy(String(Texto_temp),Pos('ns2:'+String(chave_temp),String(Texto_temp)),length(String(Texto_temp)))); PosFim := Pos('/ns2:'+String(chave_temp),String(Texto_temp)); end; end; Result := AnsiString(copy(String(Texto),PosIni,PosFim-(PosIni+1))); end;
-
É o que eu estava imaginando mesmo.
Vou fazer isso, muito obrigado.
-
Bom dia,
Estou encontrado o seguinte problema ao tentar transmitir Notas de Serviço para o servidor de Montes Claros/MG (3143302):
"An error occurred while parsing EntityName.
Line 1, position X".Mas não ocorre o erro em todas as notas, apenas em algumas. Percebi que o problema ocorre apenas em notas cuja razão social do tomador tenha o caracter "&" (Ex.: TESTE & TESTE LTDA). Eu verifiquei no fonte e o componente já faz o tratamento pra transformar de & para &. Não sei o que mais pode estar ocorrendo.Alguem já teve um problema semelhante? -
Italo,
Realmente estava desatualizado.
Eu já tinha feito o checkout mas ainda estava usando o caminho antigo.
Fiz o procedimento da atualização forçada e baixou os arquivos atualizados.
Vou fazer os testes agora.
Grato
-
Bom dia,
acabei de fazer o update em minha pasta e testar o MDFe e não estou conseguindo enviar. Parece que não veio a atualização da NT 2013/002.
Eu estava olhando no fonte e ainda consta no modal rodoviário o grupo VeicPrincipal e pelo que eu li ele tinha sido substituido por VeicTracao nos novos schemas.
Eu peguei o exemplo do acbrmdfe e tentei enviar. O componente estava enviando mas dava rejeição por causa de Falha de schema XML. Eu baixei os schemas novos e então o próprio componente passou a pegar a falha.
Mais alguem com esse problema?
Grato
-
Bom dia,
O componente tem suporte para envio para a cidade de Janaúba/MG (3135100)?
Se não tiver, tem previsão de quando vai funcionar nessa cidade?
Estava pesquisando e parece que o servidor que eles usam é um tal de nfsebrasil. Tem no componente alguma cidade que use esse servidor?
O endereço do portal de Janaúba é http://www.nfsebrasil.net.br/nfse/index.php?cl=3135100
O endereço de testes é http://web1.memory.com.br:81/nfse/index.php?cl=3135100
Será se tem como fazer o componente funcionar nesse servidor?
-
Estava pesquisando e parece que o servidor que eles usam é um tal de nfsebrasil. Tem no componente alguma cidade que use esse servidor?
O endereço do portal de Janaúba é http://www.nfsebrasil.net.br/nfse/index.php?cl=3135100
O endereço de testes é http://web1.memory.com.br:81/nfse/index.php?cl=3135100
Será se tem como fazer o componente funcionar nesse servidor?
-
O componente tem suporte para envio de NFSe para a cidade de Janaúba/MG (3135100)?
Se não tiver, tem previsão de quando vai funcionar nessa cidade?
-
Faça a consulta da NFe que ela retorna os eventos associados.
Mesmo na consulta não está retornando o número do protocolo. Traz todos os dados menos o bendito protocolo.
-
O código que estou utilizando para o envio e recebimento é o seguinte:
ACBrNFe1.Evento.Eventos.Evento.Clear; ACBrNFe1.Evento.Eventos.idLote := 1 ; //Não faz diferença pro webservice with ACBrNFe1.Evento.Eventos.Evento.Add do begin strId := 'ID'+Trim(Querys.Query.FieldByName('CODEVENTO').AsString)+Trim(Querys.Query.FieldByName('CHAVE_NFE').AsString)+StrZero(Querys.Query.FieldByName('SEQUENCIAL').AsInteger,2); seq := Querys.Query.FieldByName('SEQUENCIAL').AsInteger; infEvento.chNFe := Querys.Query.FieldByName('CHAVE_NFE').AsString; infEvento.CNPJ := Querys.Query.FieldByName('CNPJ').AsString; infEvento.dhEvento := now; infEvento.tpEvento := teCCe; infEvento.nSeqEvento := Querys.Query.FieldByName('SEQUENCIAL').AsInteger; infEvento.detEvento.xCorrecao := Troca_String(Querys.Query.FieldByName('CORRECAO').AsString,[#13#10],[' ']); //Texto da correção end; Querys.Query.Active := False; if ACBrNFe1.EnviarEvento(1) then begin if Pos('REJEICAO:',AnsiUpperCase(String(AcbrNFe1.WebServices.Eventos.EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo))) <> 0 then begin Querys.Query.Active := False; Querys.Query.RequestLive := false; Querys.Query.SQL.Clear; Querys.Query.SQL.Add('UPDATE CARTAS_CORRECAO SET ID = :ID, DATA = :DATA, HORA = :HORA, MOTIVO_REJEITADA = :MOTIVO_REJEITADA, STATUS = ''R'''); Querys.Query.SQL.Add('WHERE EMPRESA = :EMPRESA AND NUMERO = :NUMERO AND SERIE = :SERIE AND SEQUENCIAL = :SEQUENCIAL'); with AcbrNFe1.WebServices.Eventos.EventoRetorno.retEvento.Items[0] do begin Querys.Query.ParamByName('ID').AsString := strId; Querys.Query.ParamByName('DATA').AsDate := StrToDate(FormatDateTime('dd/mm/yyyy', RetInfEvento.dhRegEvento)); Querys.Query.ParamByName('HORA').AsTime := StrToTime(FormatDateTime('hh:nn:ss', RetInfEvento.dhRegEvento)); Querys.Query.ParamByName('MOTIVO_REJEITADA').AsString := RetInfEvento.xMotivo; strMotivo := RetInfEvento.xMotivo; nomeArquivo := caminho_xml+'\CCe-'+RetInfEvento.chNFe+'-Rejeitada-'+FormatDateTime('dd_mm_yyyy__hh_nn_ss', RetInfEvento.dhRegEvento)+'.xml' end; Querys.Query.ParamByName('EMPRESA').AsString := vEmpresa; Querys.Query.ParamByName('NUMERO').AsString := vNumero; Querys.Query.ParamByName('SERIE').AsString := vSerie; Querys.Query.ParamByName('SEQUENCIAL').AsInteger := seq; Querys.Query.ExecSQL; ShowMessage('CCe Rejeitada.'+#13#10+strMotivo); Result := False; end else begin Querys.Query.Active := False; Querys.Query.RequestLive := false; Querys.Query.SQL.Clear; Querys.Query.SQL.Add('UPDATE CARTAS_CORRECAO SET ID = :ID, DATA = :DATA, HORA = :HORA, PROTOCOLO = :PROTOCOLO, STATUS = ''T'''); Querys.Query.SQL.Add('WHERE EMPRESA = :EMPRESA AND NUMERO = :NUMERO AND SERIE = :SERIE AND SEQUENCIAL = :SEQUENCIAL'); with AcbrNFe1.WebServices.Eventos.EventoRetorno.retEvento.Items[0] do begin Querys.Query.ParamByName('ID').AsString := strId; Querys.Query.ParamByName('DATA').AsDate := StrToDate(FormatDateTime('dd/mm/yyyy', RetInfEvento.dhRegEvento)); Querys.Query.ParamByName('HORA').AsTime := StrToTime(FormatDateTime('hh:nn:sss', RetInfEvento.dhRegEvento)); Querys.Query.ParamByName('PROTOCOLO').AsString := RetInfEvento.nProt; nomeArquivo := caminho_xml+'\CCe-'+RetInfEvento.chNFe+'-'+RetInfEvento.nProt+'.xml' end; Querys.Query.ParamByName('EMPRESA').AsString := vEmpresa; Querys.Query.ParamByName('NUMERO').AsString := vNumero; Querys.Query.ParamByName('SERIE').AsString := vSerie; Querys.Query.ParamByName('SEQUENCIAL').AsInteger := seq; Querys.Query.ExecSQL; Querys.Query.Active := False; Querys.Query.RequestLive := false; Querys.Query.SQL.Clear; Querys.Query.SQL.Add('UPDATE CARTAS_CORRECAO SET STATUS = ''S'''); Querys.Query.SQL.Add('WHERE EMPRESA = :EMPRESA AND NUMERO = :NUMERO AND SERIE = :SERIE AND SEQUENCIAL <> :SEQUENCIAL AND STATUS = ''T'''); Querys.Query.ParamByName('EMPRESA').AsString := vEmpresa; Querys.Query.ParamByName('NUMERO').AsString := vNumero; Querys.Query.ParamByName('SERIE').AsString := vSerie; Querys.Query.ParamByName('SEQUENCIAL').AsInteger := seq; Querys.Query.ExecSQL; Result := True; end; end;
-
Leia este tópico:
Tentei com o código desse tópico e mesmo assim o erro persiste.
Envia a mensagem normalmente mas não vem o número do protocolo no retorno.
Mais alguma idéia?
-
Olá,
Estou tendo um problema.
O sistema estava trasmitindo as CCes normalmente e recebendo o retorno sem problemas,
mas agora o protocolo no retorno da carta de correção está vindo vazio.
Se eu consultar a carta de correção no site da fazenda eu encontro ela normal.
O código que estou usando para pegar o número de protocolo é
protocolo := AcbrNFe1.WebServices.CartaCorrecao.CCeRetorno.retEvento.Items[0].RetInfEvento.nProt;
Mudou alguma coisa?
-
Realmente parece estar fora do ar agora mesmo. Na hora que eu estava fazendo os testes ainda estava funcionando.
Essa prefeitura de Montes Claros é uma baderna mesmo.
Mas eu acho que isso não influencia no erro.
-
Eu ainda estou tendo problemas com a nota da cidade de Montes Claros/MG.
Está dando erro na função TWebServicesBase.OnBeforePost.
no código
if not InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT, PCertContext, Sizeof(CERT_CONTEXT)*5)
está retornando "Erro OnBeforePost: 12046".
Alguem sabe como solucionar isso?
Grato
-
Bom dia,
Depois das atualizações de ontem tanto o envio quanto a consulta de lote estão dando o mesmo erro.
"ERRO: Erro OnBeforePost: 12046"
Esse erro 12046 ocorre na função InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT, PCertContext, Sizeof(CERT_CONTEXT)*5) da unit ACBrNFSeWebServices, função TWebServicesBase.OnBeforePost. Estou usando um certificado A3.
Eu uso o Delphi 7. Alguem sabe o que pode ser?
Falta só isso pra ficar perfeito.
-
Olá,
Estou tentando configurar o componente para emitir notas de Montes Claros/MG, mas está dando o seguinte erro ao criar uma nota pelo exemplo e mandar validar:
"Falha na validação dos dados da nota 15
The element '{http://www.abrasf.org.br/nfse.xsd}Rps' is used but not declared in the DTD/Schema."
Ao tentar gerar e enviar dá o seguinte erro:
"Falha na validação do Lote 1
The node is neither valid nor invalid because no DTD/Schema declaration was found."
E ao tentar consultar o lote da o seguinte erro:
"ERRO: Erro OnBeforePost: 12046"
Esse erro 12046 ocorre na função InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT, PCertContext, Sizeof(CERT_CONTEXT)*5) da unit ACBrNFSeWebServices, função TWebServicesBase.OnBeforePost. Estou usando um certificado A3, mas nem chega a pedir a senha do mesmo.
Alguem sabe o que pode ser?
Preciso muito de ajuda
-
Olá,
Estou tentando configurar o componente para emitir notas de Montes Claros/MG, mas está dando o seguinte erro ao criar uma nota pelo exemplo e mandar validar:
"Falha na validação dos dados da nota 15
The element '{http://www.abrasf.org.br/nfse.xsd}Rps' is used but not declared in the DTD/Schema."
Ao tentar gerar e enviar dá o seguinte erro:
"Falha na validação do Lote 1
The node is neither valid nor invalid because no DTD/Schema declaration was found."
E ao tentar consultar o lote da o seguinte erro:
"ERRO: Erro OnBeforePost: 12046"
Esse erro 12046 ocorre na função InternetSetOption da unit ACBrNFSeWebServices, função TWebServicesBase.OnBeforePost.
Alguem sabe o que pode ser?
Preciso muito de ajuda
Função ExtrairRetorno limpando o texto do retorno para o servidor NFSeBrasil
em ACBrNFSe
Postado
Bom dia Italo,
não resolveu.
Vi que você alterou no NFSeBrasil.ini a propriedade
[GrupoMsgRet]
Recepcionar=return
Ela é usada para passar como parâmetro para a função ExtrairGrupoMsgRet. Mas quando chega na nessa função já passou pelo ExtrairRetorno e a variável FPRetWS está vazia.
Na TNFSeWebService.ExtrairRetorno tem o comando 'AuxXML := ParseText(FPRetornoWS);'.
Quando passa por ele a variável AuxXML fica vazia, e depois disso todos os demais tratamentos retornam vazio pois usam essa variável como base.
Eu mudei para 'AuxXML := ParseText(FPRetornoWS, true, false);', para ele entender que não era UTF8 e aparentemente resolveu, pois não zerou o retorno.
Vou fazer mais alguns testes, pois o ambiente de homologação da NFSeBrasil parece estar com problemas (está retornando a mensagem 'Problemas ao criar pastas para armazenamanto do arquivo. Por favor, contacte o administrador do sistema.').
Assim que conseguir transimitir algo informo se funcionou.