-
Total de ítens
66 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que medreis postou
-
Ola desde ontem, Não consigo enviar nada para o GINFES, envia o lote e fica consultando, consultando e não retorna nada. Alguem esta com este problema. Marcio Eduardo.
-
Ola, Faça um teste, carregue duas ou mais notas para o componente e de um imprimirPDF, e veja como o sistema se comporta , Comigo, se tem 5 notas carregadas no componente, ele gera 5 x 5 o PDF. Obrigado
-
Outro detalhe que vi, mas não sei se pode ajudar... no codigo do envioLote e consultaLote e demais... function TNFSeEnviarLoteRPS.Executar: Boolean; var aMsg : String; Texto : String; Acao : TStringList; Stream : TMemoryStream; StrStream : TStringStream; i : Integer; {$IFDEF ACBrNFSeOpenSSL} HTTP : THTTPSend; {$ELSE} ReqResp : THTTPReqResp; {$ENDIF} begin {Result :=} inherited Executar; if Assigned(NFSeRetorno) then NFSeRetorno.Free; Texto := TiraAcentos(FProvedorClass.GeraEnvelopeRecepcionarLoteRPS(URLNS1, FCabMSg, FDadosMsg, FDadosSenha)); Acao := TStringList.Create; Stream := TMemoryStream.Create; <<<<<<<<<<<<<<<<<<< ------Esta variavel é liberada no Finally do bloco Acao.Text := Texto; {$IFDEF ACBrNFSeOpenSSL} Acao.SaveToStream(Stream); HTTP := THTTPSend.Create; {$ELSE} ReqResp := THTTPReqResp.Create(nil); ConfiguraReqResp( ReqResp ); ReqResp.URL := FURL; ReqResp.UseUTF8InHeader := True; ReqResp.SoapAction := FProvedorClass.GetSoapAction(acRecepcionar, FNomeCidade); {$ENDIF} try TACBrNFSe( FACBrNFSe ).SetStatus( stNFSeRecepcao ); if FConfiguracoes.WebServices.Salvar then FConfiguracoes.Geral.Save(NumeroLote+'-env-lot-c.xml', Texto, FConfiguracoes.Arquivos.GetPathGer); if FConfiguracoes.Geral.Salvar then FConfiguracoes.Geral.Save(NumeroLote+'-env-lot.xml', FDadosMsg, FConfiguracoes.Arquivos.GetPathGer); try {$IFDEF ACBrNFSeOpenSSL} HTTP.Document.LoadFromStream(Stream); ConfiguraHTTP(HTTP, 'SOAPAction: "'+ FProvedorClass.GetSoapAction(acRecepcionar, FNomeCidade) +'"'); HTTP.HTTPMethod('POST', FURL); StrStream := TStringStream.Create(''); StrStream.CopyFrom(HTTP.Document, 0); FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True)); FRetWS := FProvedorClass.GetRetornoWS(acRecepcionar, FRetornoWS); StrStream.Free; {$ELSE} ReqResp.Execute(Acao.Text, Stream); StrStream := TStringStream.Create(''); StrStream.CopyFrom(Stream, 0); FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True)); FRetWS := FProvedorClass.GetRetornoWS(acRecepcionar, FRetornoWS); <<<<<<<<<<<<<<<<<<---AQUI StrStream.Free; <<<<<<<<<<<<<<<<<<<<<<---------------------Como estou tendo erro de SOAPACTION ---imagino que o erro esta linha anterior pois estou utilizando capicom... ai como o erro pode ocorrer, sai pelo finally, e nao libera a variavel aqui.....pode ser isso o access violation..... {$ENDIF}
-
Italo, Segue anexo o log que guardo dos processos da de envio da NFSE, neste processo seleciono varias notas fiscais, e Gero o RPS, e depois envio , e deixo marcado a opção de consulta retorno lote, veja que o sistema enviou e apresentou uma mensagem de erro sem conteudo, mas veja que o lote foi sendo consultado, até o final do limite das consultas..., depois gerou o erro de Soapaction...., apos a geração desta erro acho que ficou alguma coisa sem detruir no componente, com todas as demais notas houve erro de access violation, pelo que verifiquei nas rotinas, de erro, poderiamos identificar as mensagem de erro com um codigo ERRO ENVLOT: , ou ERRO 001: pois desta forma fica mais facil identificar onde a mensagem se originou e tentar verificar o processo e tratar os erros. Para as demais notas eu apenas acbrnfse.notasfiscais.clear; e inicio o processo de geracao do RPS e envio, mas como alguma coisa ficou pendente, nas demais gera o acess violation, Mas mesmo com o erro ainda tinha retorno ACBrNFSe1.WebServices.Enviar.Protocolo; , pois o sistema salvou o numero do protocolo, para as demais, acho que quando ocorre erro, o componente deveria zerar estas informações Obrigado MArcio Detalhes do Log.zip
-
O erro de listofbound, nos testes iniciais não mais, mas o erro : O Identificador Não Está No Estado Correto Para A Operação Solicitada - Url:https://producao.ginfes.com.br/serviceginfesimpl - Soapaction:"". Este eu ainda nao consegui identificar , abri um chamado até no GINFES, tem hora que transmite, tem hora que não transmite... não sei se é instabilidade mas esta muito frequente... praticamente toda hora. Se tiver alguma informação que possa me ajudar, desde já muito obrigado. Marcio
-
Italo, atualizei os fontes mas o erro continua, para o provedor GINFES veja o erro no mesmo local onde informei acima . O erro ocorre no retorno do lote e o erro é na funcao abaix unit pcnLeitor; function TLeitor.rExtrai(const nivel: integer; const TagInicio: string; TagFim: string = ''; const item: integer = 1): AnsiString; var Texto: AnsiString; i,j: integer; begin //NOTA: Extrai um grupo de dentro do nivel informado FNivel.strings[0] := FArquivo; if Trim(TagFim) = '' then TagFim := TagInicio; Texto := FNivel.Strings[nivel - 1]; <<<<<<<---------Aqui ocorre o erro porque a variavel NIVEL esta com o valor 0 a chamada esta aqui unit pnfsEnvLoteRpsResposta; function TretEnvLote.LerXml: boolean; var i: Integer; iNivel: Integer; begin ... ... // Ler a Lista de Mensagens iNivel := 0; <<<<<<<<<<<<<<<<<<<<<<<<-----------------------------Ele sempre zera o inivel, mas quando nao tem mensagem o inivel fica 0 ai da erro if leitor.rExtrai(2, 'ListaMensagemRetorno') <> '' then iNivel := 3 else if leitor.rExtrai(1, 'ListaMensagemRetorno') <> '' then iNivel := 2; //Colocado pelo Eduardo para testes erro listbound -1 //if iNivel > 0 then //begin i := 0; while Leitor.rExtrai(iNivel, 'MensagemRetorno', '', i + 1) <> '' do <<<<<<<<<<<<<<<<<<<----Aqui em momento de retorno de mensagem do lote a variavel inivel = 0 ao charmar a rotina da erro begin InfRec.FMsgRetorno.Add; InfRec.FMsgRetorno.FCodigo := Leitor.rCampo(tcStr, 'Codigo'); InfRec.FMsgRetorno.FMensagem := Leitor.rCampo(tcStr, 'Mensagem'); InfRec.FMsgRetorno.FCorrecao := Leitor.rCampo(tcStr, 'Correcao'); inc(i); end; if i = 0 then InfRec.FMsgRetorno.Add; // end; Se puder ajudar. Obrigado.
-
Estamos utilizando terminal server, E cada usuario na sua sessao, o sistema e as pastas de controle estão em uma pasta Ex. F:\NFSE\PRODUCAO\........ Fiz teste no homologação com mais de 1000 notas e não tive problemas, mas agora na producao esta toda hora ocorrendo este erro, não consegui identificar se o problema esta com o GINFES, ou com a aplicacao, mas quando comeca acontecer estes erro, se todo mundo sair da aplicacao e uma unico usuario comecar a enviar percebi que o problema não ocorre.... Ainda não consegui identificar o problema..
-
E este erro O Identificador Não Está No Estado Correto Para A Operação Solicitada - Url:https://producao.ginfes.com.br/serviceginfesimpl - Soapaction:"" Vc sabe o que pode ser ??, Tenho 3 pessoas enviando notas fiscais de servico no emissor, porem para empresas diferentes, e cada empresa tem sua estrutura de diretorio..., porem percebi quando ocorre este erro, se todo mundo sair do sistema e deixar apenas um usuario o sistema nao da este erro, mas quando 3 pessoas estao enviando o erro fica cronico..... Sao empresas, diferentes, certificados diferentes...., e o erro ocorre no enviar. Se puder me dar uma luz agradeço, Marcio
-
Ola, Estou carregando os XML das notas para o componente com o loadfromstream(arquivo) para 5 notas, por exemplo. Faço isso para cinco notas e ao imprimir o sistema imprime corretamente, mas ao executar o ACBrNFSe1.NotasFiscais.ImprimirPDF o sistema apresenta 5 vezes o preview com a geracao de PD, ou seja, se eu imprimir 5 notas ele passa 5 vezes contando a nota de 1 ate 5 , e repete isto 5 vezes. Fiz teste também com for I := 0 to ACBrNFSe1.NotasFiscais.Count - 1 do ACBrNFSe1.NotasFiscais.items.ImprimirPDF; E para cada item imprime o PDF 5 vezes. Alguem já testou impressão com FastReport de varias NFSE ? Obrigado Marcio
-
Ola Italo, O Provedor é GINFES, estamos utilizando o ambiente homologação , cidade de Ribeirão Preto-SP. Segue XML anexo, procurei mas não encontrei a rotina que realiza a conversão do dado para o componente, fica quem qual Unit ? Obrigado Marcio Eduardo 2500-nfse.xml
-
Ola , Estou realizando testes com a função Consulta ACBrNFSe1.ConsultarNFSeporRps(cds_Nota.FieldByName('RPS_NUMERO').AsString, cds_Nota.FieldByName('RPS_SERIE').AsString, cds_Nota.FieldByName('RPS_TIPO').AsString, cds_Nota.FieldByName('PRE_CNPJ').AsString, cds_Nota.FieldByName('PRE_INSCRICAO_MUNICIPAL').AsString); E estou passando o XML RPS, porem ao pegar as informacoes da NFSE ACBrNFSe1.NotasFiscais.Items[0].NFSe.DataEmissao; ACBrNFSe1.NotasFiscais.Items[0].NFSe.Numero; A data de emissao esta vindo de forma incorreta, 30/12/1899, sempre....esta data... Olhando o XML que o Sistema salvou na pasta da nota no XML esta correto, acho que o erro esta na conversao na hora do retorno, no XML a data esta assim 2013-08-28T17:39:25 Obrigado Marcio
-
Olá, Estou enviando lote de RPS para o GINFES, porem recebo a mensagem de erro na estrutura do XML, Estrutura do XML invalida. Ao analisar o arquivo verifiquei que existia o caracter '&' no nome do TOMADOR Silva & Silva....., removendo o caracter, funcionou perfeitamente. Duvidas, existe no componente alguma chamada que valide a estrutura do arquivos antes de enviar, que consiga checar estes erros , de caracteres invalidos, telefone fora do formato..., etc, antes do envio ? Vi que tem um funcao que remove caracteres especiais, mas no ginfes , percebi apenas estes & esta gerando problemas os demais, acentos, ç , funciona sem problemas. Obrigado Marcio
-
Bom dia Italo, Adicionei a cidade de Jardinopolis/SP , para geração de links da NFSE, podedia adicionar nos fontes ? Outro detalhe, poderiamos trabalhar em uma melhor forma para utilizar estas configurações em INI ou XML, para não alterar os fontes ou recompilar o sistema sempre que adicionamos cidades, não sei se outros provedores disponibilizam esta consulta da nota GLINK.INI [CIDADE] P=http://jardinopolis.ginfes.com.br/report/consultarNota?__report=nfs_ribeirao_preto&cdVerificacao={ACodVerificacao} + &numNota= + {ANumeroNFSe} H=http://jardinopolis.ginfesh.com.br/report/consultarNota?__report=nfs_ribeirao_preto&cdVerificacao={ACodVerificacao} + &numNota= +{ANumeroNFSe} E dentro do geralink buscamos estes dados, conforme a cidade e subustituimos as variaveis, conforme lista de parametros que pode ser, IM, NOTA, CODVERIFICACAO, CNPJ, etc Obrigado Alterações Producao 3525102: Result := 'http://jardinopolis.ginfes.com.br/report/consultarNota?__report=nfs_ribeirao_preto&cdVerificacao=' + ACodVerificacao + '&numNota=' + IntToStr(ANumeroNFSe); Homologacao 3525102: Result := 'http://jardinopolis.ginfesh.com.br/report/consultarNota?__report=nfs_ribeirao_preto&cdVerificacao=' + ACodVerificacao + '&numNota=' + IntToStr(ANumeroNFSe);
-
Bom dia Italo, Do cancelamento OK, minha duvida é para que é utilizado esta , no cancelar onde informamos apenas o codigo, dentro na rotina chama uma outra função , que tem como parametro o carregaProps, que esta como default = TRUE. MInha duvida qual finalizada da função abaixo, sendo que na chamada ACBrNFSe1.CancelarNFSe(sCodigo), não passamos o parametro CarregaProps, sendo que esta esta como TRUE na outra chamada interna, ou seja ele sempre será TRUE, if CarregaProps then begin Self.CancNfse.NumeroRPS := TACBrNFSe( FACBrNFSe ).NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero; Self.CancNfse.CNPJ := TACBrNFSe( FACBrNFSe ).NotasFiscais.Items[0].NFSe.PrestadorServico.IdentificacaoPrestador.Cnpj; Self.CancNfse.IM := TACBrNFSe( FACBrNFSe ).NotasFiscais.Items[0].NFSe.PrestadorServico.IdentificacaoPrestador.InscricaoMunicipal; Self.CancNfse.CodigoMunicipio := TACBrNFSe( FACBrNFSe ).NotasFiscais.Items[0].NFSe.PrestadorServico.Endereco.CodigoMunicipio; end; Obrigado
-
Estou utilizando a chamada ACBrNFSe1.CancelarNFSe('1'); Qual a finalidade desta chamada , o parametro carregaProps, esta como padrao = True, porem se vc nao passar por esta rotina o sistema cancela, senao ele chama o cancelamento com o numero do RPS e nao da Nota, foi o que percebi. unit ACBrNFSeWebServices; CancelarNFSe if CarregaProps then begin Self.CancNfse.NumeroRPS := TACBrNFSe( FACBrNFSe ).NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero; Self.CancNfse.CNPJ := TACBrNFSe( FACBrNFSe ).NotasFiscais.Items[0].NFSe.PrestadorServico.IdentificacaoPrestador.Cnpj; Self.CancNfse.IM := TACBrNFSe( FACBrNFSe ).NotasFiscais.Items[0].NFSe.PrestadorServico.IdentificacaoPrestador.InscricaoMunicipal; Self.CancNfse.CodigoMunicipio := TACBrNFSe( FACBrNFSe ).NotasFiscais.Items[0].NFSe.PrestadorServico.Endereco.CodigoMunicipio; end;
-
Italo, Estou tentando realizar o cancelamento de notas hoje, depois que atualizei os fontes, e o sistema esta enviando o NUMERO do RPS , ao inves do numero da NFSE, no XML do cancelamento, e retorna o erro E78, nota inexistente na base. Estou utilizando o provedor GINFES.
-
Ola Italo, Fazendo alguns testes, contornei o problema da sequinte forma, como não tenho o caminho do arquivo no disco, ou seja todos os retornos( envio RPS, retorno NFSE, retorno CANCELAMENTO) salvo no banco de dados ao carregar o arquivo com LoadFromStream, chamei o procedimento ACBrNFSe1.NotasFiscais.SaveToFile, que salvou o arquivo no disco e já apontou o caminho dentro da minha estrutura de PATH. Imagino que o LoadFromFile deva fazer o mesmo, visto que neste momento o carregamento do arquivo é feito em memoria. Obrigado
-
Estou com erro ao enviar o email para o cliente . Ocorre o seguinte. Eu faço o carregamento do XML para o ACBR pelo ACBrNFSe1.NotasFiscais.LoadFromStream(vNfseStream), onde o Stream é o XML de retorno na Nota fiscal do ACBR , que salvo no bando de dados Chamo a função do e-mail desta forma ACBrNFSe1.NotasFiscais.Items[0].EnviarEmail(fieldByName('SMTP_HOST').AsWideString, fieldByName('SMTP_PORTA').AsWideString, fieldByName('SMTP_USUARIO').AsWideString, fieldByName('SMTP_SENHA').AsWideString, FieldByName('SMTP_EMAIL_REMETENTE').AsWideString, //e-mail do remetente FieldByName('TOM_EMAIL').AsString, fieldByName('SMTP_ASSUNTO').AsWideString, // Assunto vMensagem, // Mensagem False, // SSL True, // Enviar em PDF vCC, // sCC nil, // Anexos True, // Pede Confirmação de Recebimento True, // Aguarda o Envio FieldByName('TOM_EMAIL').AsString); // Nome do remetente O Sistema salva o DANFSE, na pasta PDF com o nome numero.PDF, porem vi que gera um erro na seguinte rotina do ACBR UNIT ACBrNFSeNotasFiscais if TACBrNFSe( TNotasFiscais( Collection ).ACBrNFSe ).DANFSE <> nil then begin TACBrNFSe( TNotasFiscais( Collection ).ACBrNFSe ).DANFSE.ImprimirDANFSEPDF(NFSe); // Alterado por Italo em 04/12/2012 NomeArqPDF := Trim(NomeArq); if NomeArqPDF <> '' then begin NomeArqPDF := StringReplace(NFSe.Numero, 'NFSe', '', [rfIgnoreCase]); NomeArqPDF := PathWithDelim(TACBrNFSe( TNotasFiscais( Collection ).ACBrNFSe ).DANFSE.PathPDF) + NomeArqPDF + '.pdf'; end else NomeArqPDF := StringReplace(NomeArqPDF, '-nfse.xml', '.pdf', [rfIgnoreCase]); m.AddPartBinaryFromFile(NomeArqPDF, p); ///o Campo NOMEARQPDF sempre vem em branco !! e~não anexa o PDF, nem o XML end; Alguem sabe como posso resolver este problema ? Marcio Eduardo
-
Sim , ok, mas na TAG não vem o motivo que foi enviado para o cancelamento, somente a data e se teve sucesso . O Codigo enviado não retorna no XML. E isso mesmo ?
-
Ola, Realizei o cancelamento de algumas notas NFSE, e não salvei o retorno para realizar os testes de cancelamento. Ao realizar o cancelamento novamente utilizei a chamada ACBrNFSe1.WebServices.CancNfse.CodigoCancelamento para retornar o codigo de cancelamento enviado mas sempre retorno '' A informação do codigo de cancelamento não é retornado na consulta ? Obrigado.
-
Ola, Alguem conseguiu gerar nota de serviço para Londria - PR, se algum puder compartilhar ! Obrigado
-
Italo, É possivel , o retorno das informações do RPS no XML de consulta da Nota ? Obrigado