Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Olá a todos os desenvolvedores, referente a mensagem que o ginfes está gerando.post-5652-0-52590900-1366223908_thumb.jp

 

Ginfes:

 

Srs. Desenvolvedores
As consultas não podem ser realizadas simultaneamente, sendo assim, solicitamos que utilizem o ambiente de homologação e realizem as alterações necessárias para a utilização da consulta. No dia 30/04/2013 esta alteração estará disponível no ambiente de produção.

 

 

Mediante a isto, gostaria de saber se fizeram alterações, ou atualização no nos fontes do ACBRNFSE.

 

 

Gisfes de São José do Rio Preto - SP.

 

Atenciosamente,

 

Rafael Machado de Oliveira.

  • Consultores
Postado

Boa tarde Rafael,

 

Quando enviamos um lote de RPS para o Web Services ocorrem 3 acessos:

 

1. Envio;

    temos como retorno o protocolo de recebimento do lote.

 

2. Consultar a Situação do Lote;

    temos como retorno a situação do lote (1=Não Recebido, 2=Não Processado, 3=Processado com Erro, 4=Processado com Sucesso).

 

3. Consultar o Lote;

    temos como retorno o xml da NFS-e.

 

No segundo acesso "Consultar a Situação do Lote" o componente pode realizar até 18 ( WebServices.Tentativas ) consultas com intervalos de 10 segundos.

 

 

O que pode ser feito:

 

1. Configurações no componente:

      WebServices.AguardarConsultaRet := 1000; // equivale a 1 segundo

      WebServices.IntervaloTentativas := 10000;  // 10 segundos

   

2. checar se o ConsultarLoteRps não esta sendo executado logo após o Enviar, pois esse procedimento é executado automaticamente pelo Enviar a não ser que a propriedade WebServices.ConsultaLoteAposEnvio tenha o valor False.

 

Acredito que com essas medidas, não teremos mais problemas.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • 9 meses depois ...
Postado

Italo, estou passando por esse problema, mas do jeito que voce disse eu nao consigo obter na hora se a nfse foi aprovada, precisando de enviar a consulta lote e ainda obter o xml em mais duas consultas. tem alguma solucao ? 

  • Consultores
Postado

Boa tarde Roger,

 

No envio assincrono como é o caso do Ginfes temos 3 passos:

 

1. O envio do Lote;

2. Consultar a Situação do Lote;

3. Consultar o Lote;

 

No maximo o que você pode fazer é mudar as configurações que foram propostas por mim, para que o componente "de um tempo" ao webservice.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado (editado)

acredito que vai ser melhor mesmo por etapas, mas me diga por gentileza, como poderia ficar configurado o componente para dar um tempo ao ws ?
 

1. Configurações no componente:

      WebServices.AguardarConsultaRet := 1000; // equivale a 1 segundo

      WebServices.IntervaloTentativas := 12000;  // 12 segundos

      WebServices.ajustaaguardaconsulta := True;  //ativa as duas linhas acima

confere ?

 

 

Ítalo e outra duvida..
 showmessage(UTF8Encode(frmprincipal.ACBrNFSe1.WebServices.ConsLote.RetWS));

 

esse comando retorna o xml com o numero da nfse aprovada, tem como eu pegar esse numero sem que eu precise ler o xml? pegar direto do retorno do ws ? ou se nao for possível, ...

 

 

talvez eu possa controlar o numero da NFSE, pois até onde presencio, é o prorio ws que faz o autoincremento do Numero da NFSE né ? nao teria como ser como na nfe onde eu mesmo posso definir o seu numero ?

Editado por rogercon
  • Consultores
Postado

Boa noite Roger,

 

Primeiramente o seu sistema somente controla o numero do RPS, o da NFS-e é controlado pelo WebServices.

 

Para obter o numero da nota, você já tentou desta forma:

 

sNumero := ACBrNFSe.NotasFiscais.Items.NFSe.Numero;

 

Aconselho deixar o componente com a sua configuração de tempo e numero de tentativa com os seus valores padrões, e aumentar ou diminuir conforme a necessidade.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • 6 meses depois ...
Postado

Eu tenho a mesma dúvida de como recuperar o Número da Nota, Código de verificação depois do retorno.

Não sei se seria certo continuar neste tópico ou abrir um novo. Mas vamos lá qualquer coisa crio um tópico novo.

Seguindo o exemplo do colega acima:

showmessage(UTF8Encode(frmprincipal.ACBrNFSe1.WebServices.ConsLote.RetWS));

Eu faço isso:

  ACBrNFSe1.ConsultarLoteRps(cNroLote, cNroProtocolo);

Eu já tentei recuperar o número da nf ou código do serviço assim:

ACBrNFSe1.NotasFiscais.Items[0].NFSe.CodigoVerificacao
ACBrNFSe1.NotasFiscais.Items[0].NFSe.Numero

Vem em branco

Agora usando:

ACBrNFSe1.WebServices.ConsLote.RetWS

vem com as informações que preciso:

<Numero>201400000000002</Numero><CodigoVerificacao>6136681</CodigoVerificacao>

Tem alguma forma de conseguir pegar o Numero e Código, através dos componentes sem precisar ler o XML?

Rodrigo ®¿®

Curitiba-PR

Postado

Boa Tarde Italo,

 

Retornou em branco também os dois:

ACBrNFSe1.WebServices.ConsLote.NotasFiscais.Items[0].NFSe.CodigoVerificacao
ACBrNFSe1.WebServices.ConsLote.NotasFiscais.Items[0].NFSe.Numero

Dentro do ACBrNFSe1.WebServices.ConsLote.RetWS ainda retorna com as informações que preciso:

'<?xml version="1.0" encoding="utf-8"?><ConsultarLoteRpsResposta xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd"><ListaNfse><CompNfse><Nfse><InfNfse id="05343673000168_201400000000002"><Numero>201400000000002</Numero><CodigoVerificacao>6136681</CodigoVerificacao><DataEmissao>2014-08-26T17:38:26</DataEmissao>....

Obrigado,

Rodrigo

Rodrigo ®¿®

Curitiba-PR

Postado (editado)

Bom Dia,

 

Eu vou atualizar novamente os componentes, até tentei ontem, mas deu muito erros, tive que voltar.

E tenho que entregar isso até amanhã para um cliente. Então fiz o seguinte:

var
  cStr, cNumeroNF, cCodigoVerificao, sMensagem : String;
  posInicial, posFinal : Integer;
begin
  //Em branco :
  //ACBrNFSe1.NotasFiscais.Items[0].NFSe.CodigoVerificacao
  //ACBrNFSe1.WebServices.ConsLote.NotasFiscais.Items[0].NFSe.CodigoVerificacao
  cStr := ACBrNFSe1.WebServices.ConsLote.RetWS;
  posInicial := pos('<Numero>',cStr)+8;
  posFinal := pos('</Numero>',cStr);
  posFinal := posFinal - posInicial;
  cNumeroNF:= copy(cStr, posInicial, posFinal);

  posInicial := pos('<CodigoVerificacao>',cStr)+19;
  posFinal := pos('</CodigoVerificacao>',cStr);
  posFinal := posFinal - posInicial;
  cCodigoVerificao:= copy(cStr, posInicial, posFinal);

Depois vou dar uma olhada com mais calma, para descobrir porque não esta trazendo no componente.

 

Outra coisa que terei que ver como fazer, é que quando consulta  e a NFSe está cancelada retorna nesta mesma String:

<InfPedidoCancelamento id="pedidoCancelamento05343673000168_201400000000004">

Também uma forma de recuperar o CodigoCancelamento pelo componente.

 

Obrigado,

Editado por rodrigod6
  • Curtir 1

Rodrigo ®¿®

Curitiba-PR

  • 1 mês depois ...
Postado

Bom Dia,

 

Eu vou atualizar novamente os componentes, até tentei ontem, mas deu muito erros, tive que voltar.

E tenho que entregar isso até amanhã para um cliente. Então fiz o seguinte:

var
  cStr, cNumeroNF, cCodigoVerificao, sMensagem : String;
  posInicial, posFinal : Integer;
begin
  //Em branco :
  //ACBrNFSe1.NotasFiscais.Items[0].NFSe.CodigoVerificacao
  //ACBrNFSe1.WebServices.ConsLote.NotasFiscais.Items[0].NFSe.CodigoVerificacao
  cStr := ACBrNFSe1.WebServices.ConsLote.RetWS;
  posInicial := pos('<Numero>',cStr)+8;
  posFinal := pos('</Numero>',cStr);
  posFinal := posFinal - posInicial;
  cNumeroNF:= copy(cStr, posInicial, posFinal);

  posInicial := pos('<CodigoVerificacao>',cStr)+19;
  posFinal := pos('</CodigoVerificacao>',cStr);
  posFinal := posFinal - posInicial;
  cCodigoVerificao:= copy(cStr, posInicial, posFinal);

Depois vou dar uma olhada com mais calma, para descobrir porque não esta trazendo no componente.

 

Outra coisa que terei que ver como fazer, é que quando consulta  e a NFSe está cancelada retorna nesta mesma String:

<InfPedidoCancelamento id="pedidoCancelamento05343673000168_201400000000004">

Também uma forma de recuperar o CodigoCancelamento pelo componente.

 

Obrigado,

 

Bom dia Também estou com o mesmo problema você  já resolveu? 

Davi Souza
Analista/Desenvolvedor de Aplicação Desktop
Teste 48 9 9643-8854
Postado

Bom Dia Davi,

 

Sabe aquela solução que fica para sempre, heheh, ainda não consegui parar para resolver, estou com este problema ainda.

Mas com este código acima funcionando.

 

Abraços,

Rodrigo

Rodrigo ®¿®

Curitiba-PR

Postado (editado)

Bom Dia Davi,

 

Sabe aquela solução que fica para sempre, heheh, ainda não consegui parar para resolver, estou com este problema ainda.

Mas com este código acima funcionando.

 

Abraços,

Rodrigo

 

Fiz a alteração na "ACBrNFSeWebServices.pas" e esta normal para mim todas as funções! 

ja faz umas semanas porem perguntei porque queria reverter e deixar sem alterações no ACBr.

 

Segue em anexo caso queira verificar lembrando que uso somente o Betha não tive tempo de fazer os testes em outros servidores!

Editado por Davi
Davi Souza
Analista/Desenvolvedor de Aplicação Desktop
Teste 48 9 9643-8854
  • Este tópico foi criado há 3709 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.