Ir para conteúdo
  • Cadastre-se

dev botao

Adicionar Novo Provedor (Fiorilli)


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

Recommended Posts

Bom Dia Novamente!
 
Pessoal alguém tem o DEMO do NFS-e que esta funcionando? Pois clicar no botão [Gerar e Enviar Lote] o web service retorna isso

 

Demo_acbrnfse

 
[Content]
Numero do Lote : 7501
Recebimento... : 13/02/2014 12:06:30
Protocolo..... : 2014-411
Provedor...... : Fiorilli
 
Demo_acbrnfse
 
[Content]
Código Erro : E178
Mensagem... : Lote aguardando processamento.
Correção... : O lote de RPS correspondente ao protocolo informado foi recebido pela Prefeitura, mas ainda nao foi processado.
Provedor... : Fiorilli
 
Após essas 2 mensagens aparece esse erro. (Utilizo o madExcept)
 
executable         : Demo_ACBrNFSe.exe
exec. date/time    : 2014-02-13 11:08
version            : 1.0.0.0
compiled with      : Delphi XE2
madExcept version  : 4.0.8.1
callstack crc      : $6f4b692d, $206c9cfc, $206c9cfc
exception number   : 3
exception class    : Exception
exception message  : Lote aguardando processamento.
 
main thread ($1cf0):
008f14a7 +3df Demo_ACBrNFSe.exe ACBrNFSeWebServices 2491 +55 TWebServices.Envia
008fcb8d +10d Demo_ACBrNFSe.exe ACBrNFSe             193 +19 TACBrNFSe.Enviar
00a19b5c +078 Demo_ACBrNFSe.exe Frm_Demo_ACBrNFSe    680  +9 TfrmDemo_ACBrNFSe.btnGerarEnviarLoteClick
00514c8f +06f Demo_ACBrNFSe.exe Vcl.Controls                 TControl.Click
00536d5a +01e Demo_ACBrNFSe.exe Vcl.StdCtrls                 TCustomButton.Click
00537888 +010 Demo_ACBrNFSe.exe Vcl.StdCtrls                 TCustomButton.CNCommand
00514739 +2bd Demo_ACBrNFSe.exe Vcl.Controls                 TControl.WndProc
00519097 +5b3 Demo_ACBrNFSe.exe Vcl.Controls                 TWinControl.WndProc
00536a24 +06c Demo_ACBrNFSe.exe Vcl.StdCtrls                 TButtonControl.WndProc
00514374 +024 Demo_ACBrNFSe.exe Vcl.Controls                 TControl.Perform
005191e7 +023 Demo_ACBrNFSe.exe Vcl.Controls                 DoControlMsg
00519c7b +00b Demo_ACBrNFSe.exe Vcl.Controls                 TWinControl.WMCommand
00514739 +2bd Demo_ACBrNFSe.exe Vcl.Controls                 TControl.WndProc
00519097 +5b3 Demo_ACBrNFSe.exe Vcl.Controls                 TWinControl.WndProc
005186ec +02c Demo_ACBrNFSe.exe Vcl.Controls                 TWinControl.MainWndProc
0048bb84 +014 Demo_ACBrNFSe.exe System.Classes               StdWndProc
7773557d +044 USER32.dll                                     SendMessageW
77731b52 +016 USER32.dll                                     CallWindowProcW
00519194 +0d8 Demo_ACBrNFSe.exe Vcl.Controls                 TWinControl.DefaultHandler
005150e4 +010 Demo_ACBrNFSe.exe Vcl.Controls                 TControl.WMLButtonUp
00514739 +2bd Demo_ACBrNFSe.exe Vcl.Controls                 TControl.WndProc
00519097 +5b3 Demo_ACBrNFSe.exe Vcl.Controls                 TWinControl.WndProc
00536a24 +06c Demo_ACBrNFSe.exe Vcl.StdCtrls                 TButtonControl.WndProc
005186ec +02c Demo_ACBrNFSe.exe Vcl.Controls                 TWinControl.MainWndProc
0048bb84 +014 Demo_ACBrNFSe.exe System.Classes               StdWndProc
7773cc6b +00a USER32.dll                                     DispatchMessageW
005d426f +0f3 Demo_ACBrNFSe.exe Vcl.Forms                    TApplication.ProcessMessage
005d42b2 +00a Demo_ACBrNFSe.exe Vcl.Forms                    TApplication.HandleMessage
005d45f1 +0c9 Demo_ACBrNFSe.exe Vcl.Forms                    TApplication.Run
00a2fb83 +03b Demo_ACBrNFSe.exe Demo_ACBrNFSe         18  +3 initialization
7644ed5a +010 kernel32.dll                                   BaseThreadInitThunk

 

Alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...

Senhores, bom dia

 

Estou utilizando o componente para consumir o provedor fiorilli. Tudo tem funcionado perfeitamente!

 

Porém, ao utilizar a função ACBrNFSe.EnviarSincrono() para enviar um lote contendo mais de um RPS, gera um except "list index out of bounds 1". Certamente devo estar fazendo algo errado.

 

Analisando o código do componente, cheguei no seguinte ponto:

 

pnfsGerarNfseResposta.pas

 

(227) function TGerarretNfse.LerXml: boolean;

 

Nesta função tem um while que extrai a lista de NFS retornadas, e para cada NFS encontrada é incrementada a variável "i", só que não é dado um Add em ListaNfse.FCompNfse dentro do while.

 

Para testar, adicionei a seguinte linha de código, como segue (linha 261):

      if leitor.rExtrai(2, 'ListaNfse') <> '' then
      begin
        while (Leitor.rExtrai(3, 'CompNfse', '', i + 1) <> '') or
              (Leitor.rExtrai(3, 'ComplNfse', '', i + 1) <> '') do
        begin
          // Grupo da TAG <Nfse> *************************************************
          if Leitor.rExtrai(4, 'Nfse') <> ''
           then begin
            if(i<>0)then               // linha adiciona por ivantgm em 08/05/2014
              ListaNfse.FCompNfse.Add; // linha adiciona por ivantgm em 08/05/2014
            // alterado por joel takei 04/07/2013
            ListaNfse.FCompNfse[i].FNfse.XML := Leitor.rExtrai(4, 'Nfse');

Com esta alteração aparentemente funcionou.

 

Minha dúvida:

 

Para enviar um lote com mais de um RPS pode-se utilizar a função ACBrNFSe.EnviarSincrono()?

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Ivan,

 

Mas se você estiver com todos os fontes atualizados, vai notar que na linha 248 já existe a linha:

 

        ListaNfse.FCompNfse.Add;
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

Italo, grato pela rápida resposta.

 

Sim, existe a linha com o Add, mas ela esta fora do while, então, caso exista mais de uma NFS na lista, o índice acessado na segunda interação do while será 1, e não foi adicionado esse item na lista. Bem, pelo menos foi assim que entendi. Como disse acima, devo estar fazendo algo errado.

 

Após alterar o código como postado acima, consegui sucesso com a operação, inclusive acabei de verificar os retornos obtidos, e os XMLs foram todos retornados corretamente. 

 

Note que funcionava quando o lote contem 1 RPS. O erro acontece qdo o lote contém N RPS

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

  • Consultores

Ivan,

 

Você tem toda a razão.

 

Obrigado pela colaboração, já esta disponível.

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

Senhores, boa tarde.

 

Antes de mais nada, informo que testei e conferi exaustivamente,  e todas as funcionalidades do provedor Fiorilli estão funcionando corretamente. Fica aqui meus parabéns a equipe do ACBr - vocês realizaram um excelente trabalho!

 

No entanto, pesquisando no fórum, mas precisamente este post: http://www.projetoacbr.com.br/forum/index.php?/topic/10504-adicionar-novo-provedor-fiorilli/?p=70124 , entendi que o serviço SubstituirNfseEnvio não foi implementado. Analisando o código do componente cheguei nesta mesma conclusão.

 

Neste mesmo tópico, foi explicado que a substituição nada mais é do que um pedido de cancelamento seguido pela geração de uma nova NFSe. A definição está correta ao meu entender.

 

Porém, a prefeitura da cidade de Bariri não pensa desta forma. Foi passado pelo setor fiscal da prefeitura que a rotina de cancelamento não deve ser utilizada, sendo obrigatório utilizar a substituição. Para cancelamento, deve-se abrir um "processo administrativo", realizando um pedido pessoalmente no setor fiscal. Bem, deixo o fiscal de lado, assim como apurar a verdade desta informação, pois isso não é da minha ossada. Não sei afirmar se em produção a prefeitura pode desabilitar o WS de cancelamento, mas penso que se isso não foi feito, haverá algum tipo de sanção a quem cancelar NFS.

 

Isso posto, o componente acabou não atendendo 100%. Entendo que o componente é gratuito e a dificuldade para abstrair todas as diferenças entre os provedores. Nem vejo isso como uma deficiência, pois a substituição não é tão comum, e é possível realizá-la via interface WEB.

 

Mesmo assim, ficam minhas perguntas:

 

Existe interesse ou previsão desta funcionalidade ser adicionada ao componente?

Se eu programar esta funcionalidade existe a possibilidade do meu código ser adicionado? Caso sim, qual o caminho?

 

Grato pela atenção.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Consultores

Bom dia Ivan,

 

Quando o componente nasceu o primeiro provedor implementado não possui essa funcionalidade.

 

E como você disse é algo raro de ocorrer.

 

Sem duvida implementar essa funcionalidade deixaria o componente, vamos dizer assim, mais completo.

 

Fique a vontade em implementar, quando estiver tudo OK, basta postar como anexo aqui no fórum, somente os fontes que você alterou ou adicionou.

 

Nós iremos avaliar e realizar um merge e disponibilizar para toda a comunidade.

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

Grato pela resposta Italo

 

Vou tentar implementar.

 

Penso que o primeiro passo é estudar e entender o código fonte do componente. Não vou fazê-lo caso não me sinta a vontade em alterá-los. Quando concluir este passo pergunto novamente pela funcionalidade, pois alguém pode pegar este trabalho antes de mim.

 

Caso tenha algum texto para me indicar antes de iniciar o trabalho de codificação, agradeço.

 

Boas!

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite Ivan,

 

Estude por exemplo o funcionamento do Cancelar, para conhecer todas as rotinas envolvidas.

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

  • 3 semanas depois ...

Bom dia...

 

Quando vou transmitir a NFS-e recebo a mensagem:

 

Erros:
Código do erro: L4
Problema: Estrutura do xml recebido incorreta. javax.xml.bind.MarshalException - with linked exception:[org.xml.sax.SAXParseException; lineNumber: 0; columnNumber: 0; cvc-complex-type.2.4.b: The content of element 'EnviarLoteRpsSincronoEnvio' is not complete. One of '{"http://www.w3.org/2000/09/xmldsig#":Signature}' is expected.].
Correção: Valide as tags do xml antes de enviar.
 
Conversando com o Carlos e com o Bruno la da Fiorilli, enviei o xml gerado para eles e mesmo dando este erro acima, eles me informaram que o XML que eu mandei está correto e válido e também foi aceito pelo sistema issweb em homologação.
 
Alguem sabe o que pode ser?
 
Agradeço, desde já...
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Wellington,

 

Segundo a mensagem de rejeição, diz que esta faltando a assinatura.

 

Por favor post como anexo o XML de envio que foi rejeitado.

 

Fiz um teste e o XML de envio no modo sincrono, tanto o RPS quanto ao lote foram assinados conforme o Schema.

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

  • Consultores

Boa tarde Wellington,

 

Primeiramente a mensagem de erro:

 

Problema:
 
Estrutura do xml recebido incorreta. javax.xml.bind.MarshalException - with linked exception:[org.xml.sax.SAXParseException; lineNumber: 0; columnNumber: 0; cvc-complex-type.2.4.b: The content of element 'EnviarLoteRpsSincronoEnvio' is not complete. One of '{"http://www.w3.org/2000/09/xmldsig#":Signature}' is expected.].
 
Correção:
 
Valide as tags do xml antes de enviar.

 

Traduzindo a mensagem em negrito temos: O conteúdo do elemento 'EnviarLoteRpsSincronoEnvio' não está completo. Um dos '{"http://www.w3.org/2000/09/xmldsig #": Assinatura}' é esperado.

 

Ou seja o validador do Web Service acusa que esta faltando a assinatura.

 

Mas como você pode ver no XML de envio consta a assinatura, tanto no RPS quanto no Lote.

 

O Web Serveces retorna como sugestão de correção, que seja feita a validação do XML antes do envio.

 

Pois bem se você abrir a unit ACBrProvedorFiorilli, vai encontrar a seguinte function:

 

function TProvedorFiorilli.GetValidarLote: Boolean;
begin
 Result := True;
end;
 
Isso é uma parametrização que diz que para este provedor deve-se validar o Lote antes do envio.
 
Somado a confirmação do pessoal da Fiorilli, que disseram que a estrutura do XML do lote de envio é válida, concluo que o problema é no Web Services.
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

  • 3 meses depois ...

 

Bom dia...

 

Quando vou transmitir a NFS-e recebo a mensagem:

 

Erros:
Código do erro: L4
Problema: Estrutura do xml recebido incorreta. javax.xml.bind.MarshalException - with linked exception:[org.xml.sax.SAXParseException; lineNumber: 0; columnNumber: 0; cvc-complex-type.2.4.b: The content of element 'EnviarLoteRpsSincronoEnvio' is not complete. One of '{"http://www.w3.org/2000/09/xmldsig#":Signature}' is expected.].
Correção: Valide as tags do xml antes de enviar.
 
Conversando com o Carlos e com o Bruno la da Fiorilli, enviei o xml gerado para eles e mesmo dando este erro acima, eles me informaram que o XML que eu mandei está correto e válido e também foi aceito pelo sistema issweb em homologação.
 
Alguem sabe o que pode ser?
 
Agradeço, desde já...

 

 

seguinte, vc usou um gerador para o código certo? por algum motivo do wsdl o código é gerado com erro, ele acha que a ultima assinatura é de outro namespace que o do w3.org vc pode buscar no seu código gerado por "Signature" e ver qual o namespace que ele está esperando, olhe todos, alguns vão estar corretos outros não... tive que corrigir todos...

Link para o comentário
Compartilhar em outros sites

olá pessoal estou tendo problemas, depois do problema do gerador que falei acima agora estou com problema para enviar pq sempre retorna:

<ns2:MensagemRetorno>
  <ns2:Codigo>E172</ns2:Codigo>
  <ns2:Mensagem>Arquivo enviado com erro na assinatura.</ns2:Mensagem>
  <ns2:Correcao>Acerte a assinatura do arquivo.</ns2:Correcao>
</ns2:MensagemRetorno>

o xml enviado é esse https://gist.github.com/HudsonAfonso/559a9960e03a6f8c91e2

 

alguem me da uma luz por favor

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Hudson,

 

Você não esta usando o componente ACBrNFSe?

 

Até onde eu sei ele esta funcionando sem nenhum problema para o provedor Fiorilli.

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

  • 2 meses depois ...
  • Consultores

Bom dia Carlos,

 

Muito obrigado pela colaboração, já esta disponível.

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 meses depois ...
  • Consultores

Boa tarde !

Estou compilando o exemplo Demo_ACBrNFSe para o provedor Fiorilli (Serra Negra - SP) e consegui fazer a emissão NFe usando o ambiente de homologação do  mesmo.

Só que o layout que imprimir via componente ACBrNFSeDANFSeRL1 não foi aceito pela Fiorili.

Resposta deles: 

Devido às exigências do padrão 2.2 da Abrasf, você terá que fazer um layout igual o nosso, porque em ambiente de produção esse layout nao daria certo.

 

Tem como eu mudar o layout do componente ACBrNFSeDANFSeRL1 ?

 

Desde já agradeço a atenção.

Postei neste tópico do Novo provedor, pois não encontrei alteração de layout.

 

 

 

 

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa tarde !

Estou compilando o exemplo Demo_ACBrNFSe para o provedor Fiorilli (Serra Negra - SP) e consegui fazer a emissão NFe usando o ambiente de homologação do  mesmo.

Só que o layout que imprimir via componente ACBrNFSeDANFSeRL1 não foi aceito pela Fiorili.

Resposta deles: 

Devido às exigências do padrão 2.2 da Abrasf, você terá que fazer um layout igual o nosso, porque em ambiente de produção esse layout nao daria certo.

 

Tem como eu mudar o layout do componente ACBrNFSeDANFSeRL1 ?

 

Desde já agradeço a atenção.

Postei neste tópico do Novo provedor, pois não encontrei alteração de layout.

Sim tem

é só abrir os fontes deles e modificar conforme a necessidade

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 9 meses depois ...

Bom dia.

Estou tendo o mesmo problema do Wellington072. Após atualizar para o trunk2, ao consultar a situação do RPS (ambiente de produção) o seguinte erro é retornado.

O Rps foi enviado, e já consta no site da prefeitura como NFSe.

Alguma sugestão ?

 

Erro.jpg

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

28 minutos atrás, Marcelo Abreu disse:

Bom dia.

Estou tendo o mesmo problema do Wellington072. Após atualizar para o trunk2, ao consultar a situação do RPS (ambiente de produção) o seguinte erro é retornado.

O Rps foi enviado, e já consta no site da prefeitura como NFSe.

Alguma sugestão ?

 

Erro.jpg

Você já analisou se o arquivo nfse.xsd e xmldsig-core-schema20020212.xsd são os mesmos do trunk2? Tenho clientes que trabalha com a Fiorilli e não estou tendo estes problemas, pelo menos até agora.

_____________

Prates, Agnaldo

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2968 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.