Ir para conteúdo
  • Cadastre-se

dev botao

NFSe trunk2 thema.ini


DOCFABIO
  • Este tópico foi criado há 2882 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Veio retorno da Digifred: é realmente relacionado à competência.

O correto é assim:

<Competencia>2016-02-24T00:00:00</Competencia>

Digifred não tem consulta de situação do lote?
Agora retornou:

"A funcionalidade [Consultar Situação do Lote] não foi disponibilizada pelo provedor: Digifred"

Uso Enviar - consulta automática sim
Senão, depois, consultar situação do lote e consultar lote por rps.

Mas a consulta da situação do lote dá na trave.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Cristiane,

O provedor Digifred segue a versão 2 do layout do ABRASF sendo assim, todos os provedores que seguem essa versão não possuem o Consultar Situação.

O componente lê do arquivo INI o valor do campo VersaoXML, com isso ele executa ou não o método ConsultarSituacao.

Se você utiliza o Enviar com o componente configurado para ConsultaLoteAposEnvio não se faz necessário executar os métodos de consulta, pois o Enviar se encarrega disso.

A mensagem informando que a funcionalidade não esta disponível, só apareceu quando você executou o método ConsultarSituacao, correto?

Se sim, agora você sabe que não deve executar pelo motivo exposto acima.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Eu utilizei o Enviar com o componente configurado para ConsultaLoteAposEnvio, e apresentou a mensagem:

SoapAction não definido para: TNFSeConsultarSituacaoLoteRPS.

Se eu informar um soap, apresenta a mensagem:

A funcionalidade [Consultar Situação do Lote] não foi disponibilizada pelo provedor: Digifred

Como faço para obter se o lote foi processado ou não e o XML?

Link para o comentário
Compartilhar em outros sites

  • Consultores

Cristiane,

Isso esta muito estranho, como dito o provedor Digifred segue a versão 2, sendo assim não deveria realizar a consulta a situação.

Veja:

    if (FConsSitLoteRPS.VersaoNFSe = ve100) or
       (TACBrNFSe(FACBrNFSe).Configuracoes.Geral.Provedor = proCONAM) then
    begin
      Result := FConsSitLoteRPS.Executar;

      if not (Result) then
        FConsSitLoteRPS.GerarException( FConsSitLoteRPS.Msg );
    end;

Só deve executar o Consultar Situação do Lote de RPS se a versão for 1.00 ou se o provedor for Conam

Você esta usando o arquivo INI do provedor que esta disponível na pasta: ...\Exemplos\ACBrDFe\ACBrNFSe\ArqINI ?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Olá, eu também estou com a mesma situação para esse provedor, bem igual, estou investigando, mas quem descobrir primeiro conta pro outro.. pode ser? hehehe 

Sobre o arquivo INI estou usando os atualizados sim, e os fontes também atualizados.

Obrigado

Editado por DIOGOWAR
Link para o comentário
Compartilhar em outros sites

Eu não consegui entender como funciona neste caso do provedor não ter consulta.
Thema e ISSNET, que têm consulta da situação do lote, fazermos o enviar com o componente configurado para consultar a situação. Se tudo der errado, ainda podemos consultar a situação do lote e depois consultar lote rps, que vai devolver, na sequência, a situação e o XML.
Qual é a sequência que deve ser utilizada na Digifred, que não possui consulta de situação?

Link para o comentário
Compartilhar em outros sites

Em 23/02/2016 at 10:16, DIOGOWAR disse:

Deve ser algo no componente ou na minha configuração, pois com o Trunk "anterior" a nota era aprovada muito rápido =(

 

diogowar

aqui a mesma situacao com o provedor thema, mas realmente, parece ser no provedor (engraçado que no trunk, nao demora nada, eh imediato) como o Italo mencionou

como voce fez, pra ficar em loop esperando a resposta? tentei varias formas, mas acaba retornando antes

abraços

Jair Carlos Müller

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Fabio,

Por favor fiz uma alteração no componente.

Favor utilizar o método Enviar em vez do Gerar.

Agora se a quantidade de RPS adicionados ao Lote for menor que 4 será montado o lote Limitado caso contrario será montado o lote "normal" para o envio.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom Dia Italo.

Atualizei tudo e refiz os testes.

Agora a maioria dos rps não geram, intermitentemente algum gera.

Os que não geram sempre dá essa mensagem: "Esse RPS foi enviado para a nossa base de dados, mas ainda não foi processado"

Arquivos em anexo.

11684-rec-soap.xml

11684-rec.xml

11684-env-lot-soap.xml

11684-env-lot.xml

782333-sit-soap.xml

782333-sit.xml

782333-con-sit-soap.xml

782333-con-sit.xml

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Favio,

Fiz uma alteração em uma das Units do componente, pois ao consultar a situação do lote, alem de retornar o código da situação, retornada também um outro código com a descrição do mesmo.

O componente estava interpretando esse código como um erro e consequentemente abortando todo o processo.

Favor atualizar os fontes e repetir os testes.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

xmls do último teste:

 

782352-sit-soap.xml

782352-sit.xml

782352-con-sit-soap.xml

782352-con-sit.xml

10146UNICA-con-nfse-rps-soap.xml

10146UNICA-con-nfse-rps.xml

10146UNICA-comp-nfse-soap.xml

10146UNICA-comp-nfse.xml

 

Se eu coloco o AguardarConsultaRet=60000 e no final ConsultarNFSeporRps , na maioria dos casos funciona, mas alguns não, tem que repedir o processo várias vezes, até conseguir...

Editado por DOCFABIO
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Fabio,

O componente possui varias propriedades de configuração.

Existe essa que você defini o tempo de espera antes de realizar a primeira consulta.

Existe uma outra onde você defini o tempo entre uma consulta e outra e por fim a quantidade de consultas "tentativas".

Você deve mudar os valores dessas 3 propriedades a fim de conseguir que todos os envios sejam executados no menor tempo possível.

Esperar 60 segundos antes da primeira consulta é muito, abaixe para 5 segundos (padrão é 0), aumente o tempo de espera entre uma consulta e outra para 3 segundos (padrão é 1) e aumente o numero de tentativas para 10 (padrão é 5).

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

23 horas atrás, Italo Jurisato Junior disse:

Boa tarde Fabio,

Por favor fiz uma alteração no componente.

Favor utilizar o método Enviar em vez do Gerar.

Agora se a quantidade de RPS adicionados ao Lote for menor que 4 será montado o lote Limitado caso contrario será montado o lote "normal" para o envio.

Italo

pode me esclarecer uma coisa?

qual diferença entre os métodos Enviar e Gerar?

no thema, nao consegui usar o metodo Gerar, acho que ainda nao esta implementado;  e no trunk, acho que usava ele, e o retorno era imediato!

com essas dicas que você passou hoje, ficou bem melhor do que estava na semana passada.

Abraços

Jair Carlos Müller

Link para o comentário
Compartilhar em outros sites

Em 06/03/2016 at 17:24, Italo Jurisato Junior disse:

Boa tarde Fabio,

Por favor fiz uma alteração no componente.

Favor utilizar o método Enviar em vez do Gerar.

Agora se a quantidade de RPS adicionados ao Lote for menor que 4 será montado o lote Limitado caso contrario será montado o lote "normal" para o envio.

Italo

pode me esclarecer uma coisa?

qual diferença entre os métodos Enviar e Gerar?

no thema, nao consegui usar o metodo Gerar, acho que ainda nao esta implementado;  e no trunk, acho que usava ele, e o retorno era imediato!

com essas dicas que você passou hoje, ficou bem melhor do que estava na semana passada.

Abraços

Jair Carlos Müller

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Jair,

O componente ACBrNFSe possui 3 métodos de Envio:

Enviar (que trabalha no modo assíncrono e permite o envio de um lote com até 50 RPS);

Gerar (que trabalha no modo síncrono e permite o envio de apenas um RPS);

e EnviarSincrono (que trabalha no modo síncrono e permite o envio de um lote com até 50 RPS).

A principio todos os provedores que seguem a versão 1 do layout da ABRASF implementaram em seus Web Services somente o método Enviar.

Se ao tentar usar um desses métodos acima o componente retornar uma mensagem de erro informando que o método não foi implementado pelo provedor, esquece, você não vai poder usa-lo para o provedor em questão.

 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

21 horas atrás, Italo Jurisato Junior disse:

Boa tarde Jair,

O componente ACBrNFSe possui 3 métodos de Envio:

Enviar (que trabalha no modo assíncrono e permite o envio de um lote com até 50 RPS);

Gerar (que trabalha no modo síncrono e permite o envio de apenas um RPS);

e EnviarSincrono (que trabalha no modo síncrono e permite o envio de um lote com até 50 RPS).

A principio todos os provedores que seguem a versão 1 do layout da ABRASF implementaram em seus Web Services somente o método Enviar.

Se ao tentar usar um desses métodos acima o componente retornar uma mensagem de erro informando que o método não foi implementado pelo provedor, esquece, você não vai poder usa-lo para o provedor em questão.

 

Italo

obrigado pelo esclarecimento!

uma coisa que queria comentar com voce, que eu acho, que no provedor thema, tem o metodo Gerar, porem nao definido dentro do thema.ini

abaixo pedaço do codigo no ACBRProvedorThema.pas no antigo trunk

function TProvedorThema.Gera_TagF(Acao: TnfseAcao; Prefixo3: String): AnsiString;
begin
  case Acao of
   acRecepcionar: Result := '</' + Prefixo3 + 'EnviarLoteRpsEnvio>';
   acConsSit:     Result := '</' + Prefixo3 + 'ConsultarSituacaoLoteRpsEnvio>';
   acConsLote:    Result := '</' + Prefixo3 + 'ConsultarLoteRpsEnvio>';
   acConsNFSeRps: Result := '</' + Prefixo3 + 'ConsultarNfseRpsEnvio>';
   acConsNFSe:    Result := '</' + Prefixo3 + 'ConsultarNfseEnvio>';
   acCancelar:    Result := '</' + Prefixo3 + 'Pedido>' +
                            '</' + Prefixo3 + 'CancelarNfseEnvio>';
   acGerar:       Result := '</' + Prefixo3 + 'GerarNfseEnvio>';
   acRecSincrono: Result := '</' + Prefixo3 + 'EnviarLoteRpsSincronoEnvio>';
   acSubstituir:  Result := '</' + Prefixo3 + 'SubstituicaoNfse>' +
                            '</' + Prefixo3 + 'SubstituirNfseEnvio>';
  end;
end;

note que tinha o acGerar

e creio que seja isso que o pessoal esta querendo dizer, no thema, com o trunk usavamos o GERAR, que fazia a comunicacao sincrona

nao tenho conhecimento necessario, pra ajustar isso no thema.ini,

me corrija se eu estiver errado!

Abraços

Jair Carlos Müller

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Jair,

Na mesma unit desse provedor no Trunk mais abaixo temos:

function TProvedorThema.GeraEnvelopeGerarNFSe(URLNS: String; CabMsg,
  DadosMsg, DadosSenha: AnsiString): AnsiString;
begin
  Result := '';
end;

Note que ao tentar gerar o Envelope de envio para o método GerarNFSe a função retorna uma string vazia, isso significa que o provedor não possui esse método.

Outra coisa , dentro da pasta: ...\Exemplos\ACBrDFe\ACBrNFSe\Schemas\Thema temos o arquivo: nfse.xsd que é o schema que valida o xml a ser enviado seja ele de envio de lote, de consulta, cancelamento, etc.

Procure dentro desse arquivo a definição do GerarNfse. Achou? 

Não! Isso é mais uma prova que esse provedor não possui implementado em seu web service o método GerarNfse que no componente chamamos apenas de Gerar.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

4 minutos atrás, Italo Jurisato Junior disse:

Boa tarde Jair,

Na mesma unit desse provedor no Trunk mais abaixo temos:

function TProvedorThema.GeraEnvelopeGerarNFSe(URLNS: String; CabMsg,
  DadosMsg, DadosSenha: AnsiString): AnsiString;
begin
  Result := '';
end;

Note que ao tentar gerar o Envelope de envio para o método GerarNFSe a função retorna uma string vazia, isso significa que o provedor não possui esse método.

Outra coisa , dentro da pasta: ...\Exemplos\ACBrDFe\ACBrNFSe\Schemas\Thema temos o arquivo: nfse.xsd que é o schema que valida o xml a ser enviado seja ele de envio de lote, de consulta, cancelamento, etc.

Procure dentro desse arquivo a definição do GerarNfse. Achou? 

Não! Isso é mais uma prova que esse provedor não possui implementado em seu web service o método GerarNfse que no componente chamamos apenas de Gerar.

Italo

Realmente, nao tinha reparado nisso! desculpa e

Obrigado!!!

  • Curtir 1

Jair Carlos Müller

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
Em 07/03/2016 at 17:16, Italo Jurisato Junior disse:

Boa tarde Fabio,

O componente possui varias propriedades de configuração.

Existe essa que você defini o tempo de espera antes de realizar a primeira consulta.

Existe uma outra onde você defini o tempo entre uma consulta e outra e por fim a quantidade de consultas "tentativas".

Você deve mudar os valores dessas 3 propriedades a fim de conseguir que todos os envios sejam executados no menor tempo possível.

Esperar 60 segundos antes da primeira consulta é muito, abaixe para 5 segundos (padrão é 0), aumente o tempo de espera entre uma consulta e outra para 3 segundos (padrão é 1) e aumente o numero de tentativas para 10 (padrão é 5).

Bom Dia.

Sim, eu sempre tento alterar esses campos pra ver como fica melhor. O último que defini que fica melhor é assim:

    ACBrNFSe1.Configuracoes.WebServices.AjustaAguardaConsultaRet := true;
    ACBrNFSe1.Configuracoes.WebServices.AguardarConsultaRet := 10000;
    ACBrNFSe1.Configuracoes.WebServices.IntervaloTentativas := 10000;
    ACBrNFSe1.Configuracoes.WebServices.Tentativas := 3000;
    ACBrNFSe1.Configuracoes.WebServices.TimeOut := 20000;

Alem disso depois de terminar essa rotina eu uso o ACBrNFSe1.ConsultarNFSeporRps pois alguns dá aquela mensagem de erro em branco, e o consultar algumas vezes resolve.
Porem voltei ao começo do outro post da semana passada. Fiz dezenas de testes desde ontem.
Por exemplo 10 RPS enviados.
1º - funcionou normal, demora aqueles 10 segundos mas funciona certinho,
2º - funcionou normal, demora aqueles 10 segundos mas funciona certinho,
3º - deu aquela mensagem de erro em branco e o consultar resolveu,
4º - deu aquela mensagem de erro em branco e o consultar Não resolveu, fiz o Enviar novamente e deu certo.
5º - deu aquela mensagem de erro em branco e o consultar resolveu,
6º - funcionou normal, demora aqueles 10 segundos mas funciona certinho,
7º - funcionou normal, demora aqueles 10 segundos mas funciona certinho,
8º - funcionou normal, demora aqueles 10 segundos mas funciona certinho,
9º - deu aquela mensagem de erro em branco e o consultar Não resolveu, fiz o Enviar novamente e deu certo.
10º - deu aquela mensagem de erro em branco e o consultar Não resolveu, fiz o Enviar novamente e deu certo.

No total demorou mais que 5 minutos. Fiz outras 10 rps no trunk1 e em menos de 30segundos enviei todas.
Xml em anexo do último que deu erro.

Estou ainda debugando e tentando entender o que acontece, mas nesse caso é bem dificil pois é intermitente....

Italo, se for útil para você, posso te mandar um certificado A1 autorizado a fazer nfse no Thema....
 

 

10156UNICA-con-nfse-rps-soap.xml

10156UNICA-con-nfse-rps.xml

10156UNICA-comp-nfse-soap.xml

10156UNICA-comp-nfse.xml

Link para o comentário
Compartilhar em outros sites

Ainda referente a Ibirubá - Digifred:

Usei o método Gerar. Tudo certo, retornou a mensagem em tela com situação 4.

Neste momento preciso dos retornos.

ACBrNFSe.NotasFiscais.Items[0].NFSe.Situacao está branco.

Protoco é 0

CodigoVerificacao está preenchido

Numero vem com 201600000000354 (exemplo, grande este número, é isso mesmo?)

NomeArq vem preenchido e gerou o XML

Aí tentei utilizar o método ConsultarLoteRps, mas não faz sentido, pois não gerou um lote.

Como faço para pegar a situação? Quando utilizamos Gerar, as respostas vem em outros campos?

Só falta isso para eu conseguir implementar Digifred no meu sistema.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2882 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.