Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado
12 minutos atrás, ALA disse:

 

Italo, acho que o problema dos campos estarem vazio e esse, o XML que esta no componente após o envio e esse. Não deveria ser o XML retornado pelo WS ?

<?xml version="1.0" encoding="UTF-8"?><Rps xmlns="http://nfse%NomeURL_HP%.portalfacil.com.br/nfseserv/schema/">
<InfDeclaracaoPrestacaoServico>
<Rps Id="rps20717A">
<IdentificacaoRps>
<Numero>20717</Numero>
<Serie>A</Serie>
<Tipo>1</Tipo>
</IdentificacaoRps>
<DataEmissao>2014-01-27</DataEmissao>
<Status>1</Status>
</Rps>
<Competencia>2014-01-27</Competencia>
<Servico>
<Valores>
<ValorServicos>86.00</ValorServicos>
<ValorIss>2.58</ValorIss>
<Aliquota>0.0300</Aliquota>
</Valores>
<IssRetido>2</IssRetido>
<ItemListaServico>4.02</ItemListaServico>
<CodigoTributacaoMunicipio>402</CodigoTributacaoMunicipio>
<Discriminacao>EXAMES COMPLEMENTARES CONFORME GUIA ANEXO UND.: UN QTD.: 1,00 VLR.UNIT.: R$ 86,00 VLR.TOTAL: R$ 86,00. PARCELAS: 020717/1 17/02/2014 R$ 86,00 TRIBUTOS TOTAIS INCIDENTES (LEI FEDERAL 12.741/2012): R$ 5,72 (6,65%) ISS: 2,58 - PIS: 0,56 - COFINS: 2,58 .MUNICIPIO DE PRESTACAO DO SERVICO: 3167202-SETE LAGOAS .R.P.S: 20717 LOTE: 327 .CODIGO DE TRIBUTACAO: 864029900-ATIVIDADES DE SERVICOS DE COMPLEMENTACAO DIAGNOSTICA E TERAPEUTICA NAO ESPECIFICADAS ANTERIORMENTE ****** NFS-e EMITIDA EM HOMOLOGACAO *******</Discriminacao>
<CodigoMunicipio>3167202</CodigoMunicipio>
<ExigibilidadeISS>1</ExigibilidadeISS>
</Servico>
<Prestador>
<CpfCnpj>
<Cnpj>10819016000184</Cnpj>
</CpfCnpj>
<InscricaoMunicipal>03539632</InscricaoMunicipal>
</Prestador>
<Tomador>
<IdentificacaoTomador>
<CpfCnpj><Cnpj>86659760000120</Cnpj></CpfCnpj>
</IdentificacaoTomador>
<RazaoSocial>COMERCIAL BRINK POINT</RazaoSocial>
<Endereco>
<Endereco>AV PREFEITO ALBERTO MOURA</Endereco>
<Numero>4555</Numero>
<Bairro>FAZENDA BANANAL</Bairro>
<CodigoMunicipio>3167202</CodigoMunicipio>
<Uf>MG</Uf>
<Cep>35702383</Cep>
</Endereco><Contato><Email>[email protected]</Email>
</Contato>
</Tomador>
<RegimeEspecialTributacao>1</RegimeEspecialTributacao>
<OptanteSimplesNacional>2</OptanteSimplesNacional>
<IncentivoFiscal>2</IncentivoFiscal>
</InfDeclaracaoPrestacaoServico></Rps>'

Esta gravando no diretorio o xml correto, mas quando tento capturar os dados logo apos o envio, o componente esta mostando o XML enviado (  RPS )

253771-nfse.xml

  • Respostas 83
  • Created
  • Última resposta

Top Posters In This Topic

  • Consultores
Postado

Bom dia ALA,

Primeiramente evite ao máximo de postar conteúdo de arquivos, procure sempre anexar, para que a postagem fique curta.

O xml que você anexou é de uma NFS-e já o outro que você colocou como parte do texto não sei do que se trata.

Para imprimir o DANFSE, você precisa sempre carregar o arquivo *-nfse.xml, pois este é a Nota Fiscal de Serviço Eletrônica, gerada e retornada pelo provedor com base no processamento do arquivo *-rps.xml que foi enviado, sendo que este último é o RPS - Recibo Provisório de Serviço.

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

Italo, bom dia. O problema esta ocorrendo apos o Enviar. Quando tendo ler os dados que estão carregados no Acbr não consigo ler as informações referente ao numero da nota, local que foi gerado o xml da nota, etc....

Obs.: O XML postado acima e o que esta ficando no componente apos o envio. Deveria mostrar o XML de retorno...

  • Consultores
Postado

Boa tarde ALA,

O provedor de Sete Lagoas segue a versão 2 do layout da ABRASF, sendo assim se você configurar o componente para Consultar o Lote após o Envio serão gerados 6 XMLs:

1. XML do RPS que é salvo na pasta ...\RPS;

2. XML do Lote de envio;

3. XML do Retorno do envio contendo o numero do protocolo (recibo);

4. XML da Consulta ao Lote;

5. XML do Retorno da Consulta;

6. Se o Lote foi processado com sucesso o componente extrai do XML de Retorno da Consulta o XML da NFS-e e salva separadamente na pasta ...\Notas.

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

Italo, bom dia. Todos os procedimentos citados acima, estão funcionando. Mas quando tento utilizar os dados que estão no componente logo após o comando Enviar, não consigo capturar os dados da Nota, exemplo, numero da nota ( ACBrNFSe.NotasFiscais.Items[0].NFSe.Numero ), caminho onde foi gerado o xml da nota ( ACBrNFSe.NotasFiscais.Items[0].NomeArq ), esses campos estão vazios. .

Tenho que realizar algum tipo de consulta diferente, pq parece que para essa prefeitura o componente trabalha de forma diferente após receber os dados do WS ?

Para todas as prefeituras que trabalhamos utilizamos o comando

      if Trim( ACBrNFSe.WebServices.ConsSitLoteRPS.Protocolo ) <> EmptyStr then

após o ACBrNFSe.Enviar

Para Sete Lagoas estou utilizando

   if Trim( ACBrNFSe.WebServices.ConsLote.Protocolo ) <> EmptyStr then

após o ACBrNFSe.Enviar

                    

Postado

Italo utilizando os comandos abaixo, consegui capturar os dados do XML de retorno. O problema que o NomeArq fica com os dados do arquivo temporario que estou gerando. Existe alguma forma de saber onde o componente gravou  o XML retornado pelo WS ?

                       lcbo_NFSe_Enviada := ACBrNFSe.Enviar( NFe.FieldByName('NFS_PK_NOTAFISCALSAIDA').AsString, False );
                        MemoResp.Lines.Text := UTF8Encode(ACBrNFSe1.WebServices.ConsLote.RetWS);
                        memoRespWS.Lines.Text := UTF8Encode(ACBrNFSe1.WebServices.ConsLote.RetWS);
                        LoadXML(MemoResp, WBResposta);
                        ACBrNFSe1.NotasFiscais.Clear;
                        ACBrNFSe1.NotasFiscais.LoadFromFile(ExtractFileDir(Application.ExeName) + 'temp.xml', False);
                        ShowMessage( 'Protocolo: ' +  ACBrNFSe1.WebServices.ConsLote.Protocolo + ' Numero: ' + ACBrNFSe1.NotasFiscais.Items[0].NFSe.Numero + ' Caminho: ' + ACBrNFSe1.NotasFiscais.Items[0].NomeArq );

 

  • Consultores
Postado

Bom dia ALA,

Chegou a realizar testes com o programa exemplo do componente ACBrNFSe?

Veja este fragmento de código do botão [Gerar e Enviar Lote RPS]:

  ACBrNFSe1.Enviar(vNumLote);

  for I := 0 to iQtde - 1 do
  begin
    MemoDados.Lines.Add('Nome XML: ' + ACBrNFSe1.NotasFiscais.Items[ I ].NomeArq);  <== aqui é para constar o caminho mais o nome do XML
    MemoDados.Lines.Add('Nota Numero: ' + ACBrNFSe1.NotasFiscais.Items[ I ].NFSe.Numero);
    MemoDados.Lines.Add('Código de Verificação: ' + ACBrNFSe1.NotasFiscais.Items[ I ].NFSe.CodigoVerificacao);
  end;
 

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

Italo, bom dia.. Sim, o código que postei foi uma alteração que realizei no projeto Demo do ACBr. O problema esta hai... O ACBR não consegue mostrar os dados retornados pelo WS quando utilizo meto ACBrNFSe1.ConsultarLoteRps

Os valores que estão no ACBrNFSe1.NotasFiscais não estão preenchidos........

 

 

 

 

 

  • Consultores
Postado

ALA,

Entendi, mas você chegou a "debugar" a partir do método Enviar, pois este se utiliza internamente do ConsultarLoteRps quando o componente esta configurado para realizar a consulta após o envio do lote.

Com esse "debugue" da para descobrir o porque dele não estar alimentado as propriedades que você deseja.

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

Italo, lembrando que isso so esta ocorrendo para Sete Lagoas. Sim, estou debugando, mas ainda não encontrei o problema. Vc pode me informar em qual ."pas " essa rotina se encontra ?

  • Consultores
Postado

ALA,

A leitura do retorno inicia na unit ACBrNFSeWebServices, mais precisamente pela função ExtrairNotasRetorno.

Esta por sua vez se utiliza da função LerXML que se encontra na unit pnfsLerListaNFSe que por sua vez se utiliza da função LerXML (classe TNFSeR) que esta na unit pnfsNFSeR.

A minha sugestão é colocar um break point em ExtrairNotasRetorno (linha 3726 - linha em vermelho).

function TNFSeConsultarLoteRPS.TratarResposta: Boolean;
begin
  FPMsg := '';
  FaMsg := '';
  FPRetWS := ExtrairRetorno(FPConfiguracoesNFSe.Geral.ConfigGrupoMsgRet.GrupoMsg);
  Result := ExtrairNotasRetorno;  <<== coloque um break point nesta linha 

  FPRetWS := ExtrairGrupoMsgRet(FPConfiguracoesNFSe.Geral.ConfigGrupoMsgRet.ConsLote);
end;
 

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

Italo, não consegui identificar onde esta o problema no ACBr. Hai alterei a regra do meu sistema..

                        utme_RetornoWS               := UTF8Encode(ACBrNFSe.WebServices.ConsLote.RetWS);

                        ACBRNFSe.NotasFiscais.Items[0].LerXML( utme_RetornoWS  );    

                    utst_Diretorio_NFES_Recebida := ACBrNFSe.NotasFiscais.Items[0].NomeArq;

                        if Trim( utst_Diretorio_NFES_Recebida ) = EmptyStr then
                           utst_Diretorio_NFES_Recebida := ACBrNFSe.Configuracoes.Arquivos.PathNFSe + '\' + ACBrNFSe.NotasFiscais.Items[0].NFSe.PrestadorServico.IdentificacaoPrestador.Cnpj + '\' + FormatDateTime( 'yyyymm',

ACBrNFSe.NotasFiscais.Items[0].NFSe.DataEmissao )+ '\Notas\' + ACBrNFSe.NotasFiscais.Items[0].NFSe.Numero + ACBrNFSe.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Serie + '-nfse.xml';

                        // Gerar PDF //
                        ACBRNFSe.NotasFiscais.ImprimirPDF;

                        if not DM_GERALNFE.AtualizarNotaFiscal(  ACBrNFSe.NotasFiscais.Items[0].NFSe.Numero,
                                                                 ACBrNFSe.WebServices.ConsLote.Protocolo,
                                                                 NFe.FieldByName( 'NFS_PK_NOTAFISCALSAIDA' ).AsString,
                                                                 ACBrNFSe.NotasFiscais.Items[0].XML,
                                                                 utco_ArquivoGerado,
                                                                 EmptyStr,
                                                                 EmptyStr,
                                                                 ACBrNFSe.NotasFiscais.Items[0].NFSe.CodigoVerificacao,
                                                                 4, //StrToInt( ACBrNFSe.NotasFiscais.Items[0].NFSe.Situacao ), //,ACBrNFSe.WebServices.ConsLote.Status,
                                                                 utst_Diretorio_NFES_Recebida,
                                                                 0,                                                                // Data de Emissao da NFe
                                                                 NFe.FieldByName('NFS_NUMERO').AsString,                           // EmptyStr,                   // Numero do RPS
                                                                 EmptyStr,                                                         // Protocolo EPEC
                                                                 EmptyStr,                                                         // Codigo do Tipo de Cancelametno da NFSe
                                                                 ACBrNFSe.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Serie, //Trim( NFe.FieldByName('SNF_SERIE').AsString ),
                                                                  0,
                                                                 ACBrNFSe.NotasFiscais.items[ 0 ].NomeArqRps ) then
                        begin
                           ShowMessage( 'Não foi possível atualizar a Chave de Acesso da NFS-e no Dygnus. Chave de Acesso: ' + ACBrNFSe.NotasFiscais.Items[0].NFSe.InfID.ID );
                        end;

 

  • 3 meses depois ...
Postado

Boa noite Adriano. Em homologação esta funcionando, mas quando tentei colocar em produção esta ocorrendo erro ao ler o xml retornado pela prefeitura....

Postado (editado)

Italo, boa tarde. Estou com problema para ler os dados retornados pela prefeitura em ambiente de produção. O RPS  e autorizado, mas quando tento ler o 

<CodigoVerificacao>CVLJ-NUOK</CodigoVerificacao> o componente esta retornando vazio. Mas as informações estão corretas no XML 

 

24409A-rps.xml

 

 

image.thumb.png.07d63cc9a2f0fa7176fab096409118ce.png

Editado por ALA
  • Consultores
Postado

Bom dia ALA,

Você lendo o arquivo errado.

No arquivo *-rps.xml é o que o componente gera e envia para o provedor.

Para imprimir o DANFSE você tem que ler o arquivo *-nfse.xml, este é o arquivo gerado pelo provedor e retornado quando o RPS que você enviou foi processado com sucesso.

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

Italo, bom dia. Obrigado pela resposta. Não entendi, eu utilizo essa regra para todos os provedores e funciona sem problema. Não esta funcionando apenas para Sete Lagoas. Voce poderia postar o que devo alterar ?

Postado (editado)

Italo, boa tarde. 

1º Para consultar eu utilizo o xml do RPS

2º Se a consultar retornar o XML da NFSe eu utilize essa para imprimir o Danfe...

O problema esta na consulta. Os dados são retornados mas quando verifico o 

Quando verifico o 

 mem_Retorno.Lines.Text   := UTF8Encode(Nfe.ACBrNFSe.WebServices.ConsNfseRps.RetWS); O retorno esta correto

image.thumb.png.e9f19365226c75842686dbd77bfedaef.png

 

Mas quando consulto, não aparece no campo espeficio..

image.thumb.png.07571225469336747378ead631b5bbc5.png

Editado por ALA
  • Este tópico foi criado há 2351 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas

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