Ir para conteúdo
  • Cadastre-se

dev botao

Implementação Nfse São Paulo


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

Recommended Posts

Bom dia

 

Teria como colocar um exemplo de utilização do provedor de São Paulo no ACBRNFSe(fontes disponibilizados nesse topico),

pois acredito que isso iria ajudar todo mundo que necessita usar.

Ou se tiver um detalhamento(manual de utilização) de como deve ser usado também iria ajudar.

 

Obrigado

Paulo

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...

Pessoal, desenvolvi por conta própria um componente com suporte a NFS-e de São Paulo.

Alguns métodos já são suportados, como:

 

Transmissão de lote RPS;

Transmissão de RPS;

 

Consulta lote;

Consulta NFS-e;

 

Cancelamento NFS-e;

 

Estou implementando agora a impressão.

 

Fiz meu próprio componente por ter dúvidas se o ACBr é thread safe. Pelo que ví no componente de boleto não é.

 

Se alguém tiver alguma dúvida sobre os formatos dos XML, possuo os exemplos.

exemplos_sp.zip

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...

Boa noite Senhores.

Desculpem a demora em responder.

Vamos por partes. Caros, vos digo:

 

Tricon.paulo, o exemplo que utilizamos para teste é o mesmo que está disponível no programa exemplo nos fontes do componente.

 

 

Csoft, não realizamos testes usando openssl, apenas utilizamos a CAPICOM.

 

 

Daniel, A solução está funcional, porém, deveriam ser realizados mais alguns testes. A princípio estava tudo certo e já poderia ser enviado para o respositório.

 

 

Eu estava pensando que como ninguém se manifestou sobre a assinatura para não precisar utilizar outra DLL que não seja a CAPICOM, se não seria melhor escrever um executável em C# que possa assinar e passar de alguma forma na comunicação dos processos ou pelo shell, para não ser necessário todos instalarem a DLL que desenvolvi toda vez, pois, isso além de trabalhoso, me parece difícil de mantê-la. Neste caso, ficaria a critério do projeto aceitar ou não essa sugestão de ter um .exe compilado juntamente com o projeto, porém inerentemente ficaria muito mais fácil dos membros aderirem ao provedor de São Paulo, e também, ficaria mais organizado. Há de se estudar essa possibilidade na minha opinião.

 

 

Atenciosamente,

Ariel.

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

Bom dia Ariel, gostaria de tirar uma dúvida com você que usa a CAPICOM.

Poderia me dizer qual a vantagem da CAPICOM sobre a OpenSSL ?

No início, eu utilizava a CAPICOM, porém toda máquina que era formatada, se fazia necessária a reinstalação das DLLs (o que nem sempre era fácil, pois as máqs. não estavam na empresa, além de algumas versões do Windows não funcionarem com a mesma versão das DLLs). Entendo que isso poderia ser resolvido com uma análise no programa de instalação do meu sistema, mas mudando para a OpenSSL, fiquei com a manutenção apenas no lado servidor onde coloquei as DLLs, e meu sistema do lado cliente ficou puro sem o uso de DLL.

Retomei os testes com a OpenSSL, se funcionarem colocarei os fontes aqui.

Abraço.

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

  • 2 meses depois ...

Bom dia pessoal

 

Vocês conseguiram seguir com o desenvolvimento utilizando uma outra dll ou o openssl ?

 

Qual seria o melhor caminho na opinião de vocês ?

 

Quanto a dll, ela tem font ? 

 

A solução adotada de dar um replace no campo Id deixa a assinatura inválida. Acho a ideia da Dll muito boa. 

Eduardo

e-mail: [email protected]

Link para o comentário
Compartilhar em outros sites

Bom dia Senhores.

 

Csoft, não tenho profundos conhecimentos para lhe dizer a diferença entre a capicom e a openssl, e quais seriam as vantagens e desvantagens ao utilizá-las.

 

Eduardo, não sei se entendi vossa dúvida, mas na questão de fonte (código fonte), ele está anexo ao projeto na primeira página deste tópico. O que realmente me preocupa em seguir com a dll é que todos os desenvolvedores deverão importá-la em seu delphi (o que na minha opinião se torna muito burocrático). Já o executável, não seria necessário, pois, bastaria uma chamada para ele. Mas claro, não omitir o código fonte de ninguém, ou seja, ele continuaria disponível para a comunidade.

Nosso único motivo de ter criado esta nova dll de assinatura, foi porque a capicom assina uma tag junto, então, não era possível assinar apenas uma string.

 

Eduardo, por favor, poderia me explicar melhor essa parte do replace no campo ID? Acabei não entendendo.

 

Atenciosamente,

Ariel.

Link para o comentário
Compartilhar em outros sites

Boa tarde ariel

 

Na unidade AcbrNFSeUtil, devido a algumas prefeituras utilizarem em seu schema o  identificado Id todo minusculo, e o delphi não consegue assinar dessa forma utilizando o capicom, foi feito um procedimento para alterar o i identificador para minusculo, mas isso ocorre apos a assinatura. Se o site validar a assinatura, dará erro. No caso menciono a prefeitura de Salvador

 

Por isso achei a ideia de utilizar um dll para assinar boa. Ja incorporamos dlls dentro do Acbr, acredito que mais uma não fará tanta diferença assim

Eduardo

e-mail: [email protected]

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa tarde

Estou acompanhando a tempos, será que não é possível modificar para ver essa parte da assinatura!

o nosso amigo Jean fez uma alteração e fez funcionar o capcom no lazarus por exemplo diretamente no componente!

um pouquinho de esforço e vocês consegue fazer o mesmo para o esse componente!

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

Juliomar

Boa tarde

A limitação e do próprio delphi.

Não conheço lazaros, mas quanto a essa limitação na assinatura do identificador id, ate o momento a alternativa sempre apresentada e criar uma dll em c# para realizar a assinatura, para contornar essa limitação do delphi

Eduardo

e-mail: [email protected]

Link para o comentário
Compartilhar em outros sites

Eduardo, ainda não precisei utilizar esse provedor de Salvador. Desculpe mas só preciso entender uma coisa, essa dll já está inclusa no projeto? Se sim, poderia me dizer qual é o nome dela/localização? Ela também funciona referenciando a assinatura por uma tag igual a CAPICOM? Obrigado.

 

Atenciosamente,

Ariel.

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

Hoje nao temos nenhuma dll em c# com essa funcionalidade. A ideia seria disponibilizar uma, caso seja essa a melhor solução. Existe uma dll da própria prefeitura feita em c#.

Somente para testes fiz uma adaptação livre (gambiarra) utilizando essa dll para assinar e o acbr para montar o envelope do soap e enviar, e funcionou de boa.

Eduardo

e-mail: [email protected]

Link para o comentário
Compartilhar em outros sites

Boa tarde Senhores.

 

Neste fim/início de ano, tive que implementar em nosso sistema a Nota Fiscal de Serviços para São Paulo.

 

Com base nos fontes que o Ariel havia passado, realizei testes e ajustes para o pleno funcionamento da integração com São Paulo.

A assinatura de São Paulo, continua sendo feita pela DLL desenvolvida pelo Ariel. Conforme já comentado em outros posts, para funcionamento da dll, basta que ela e o arquivo TLB estejam na mesma pasta do executável e na pasta system32 e o seguinte comando seja executado:

(Acessar a pasta da versão 2.0 do .NET Framework, "C:\Windows\Microsoft.NET\Framework\v2.0.50727" por exemplo)

regasm C:\Windows\SysWOW64\AcbrAssinaRPSSP.dll /tlb:AcbrAssinaRPSSP.tlb

 

As seguintes funções estão funcionando plenamente:

Geração de RPS, Envio de Lote RPS, Consulta de Situação Lote, Consulta de Lote, Cancelamento de NFSe e Impressão de NFSe.

 

Todas as funções acima foram testadas em ambiente de produção, tendo a emissão, consulta e cancelamento de mais de 10 notas fiscais. Todos os testes foram feitos com o envio de apenas 1 NF por lote.

 

Estou enviando em anexo todos os fontes envolvidos, sendo que todos já estão na última versão do Trunk do ACBr.

Para facilitar a visualização das alterações, em todos os locais alterados existe o comentário {add-SP}.

 

Portanto, seria possível já incorporar ao ACBr, ou é necessário mais algum teste ou modificação?

 

Qualquer dúvida, estou à disposição.

 

Atenciosamente.

 

Roger Rodrigues

 

 

Fontes_SP.zip

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa tarde

Acredito que sim, pois essa dll funciona também em lazarus? 

o bom e correto é aplicar as alterações e funcionamento no código sem usar arquivos externos e que tenha os fontes! em pascal

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

Bom dia.

 

Não tenho conhecimento se a dll funciona no Lazarus. Para confirmar, acredito que só se alguém testasse em Lazarus.

 

Infelizmente, até agora a dll é a única solução que funciona para a assinatura de São Paulo.

 

Acredito que poderia ser liberado desta forma e assim que alguém encontrasse uma solução nativa em pascal, bastaria alterar a chamada da função.

 

 

Roger Rodrigues

Link para o comentário
Compartilhar em outros sites

Bom dia Senhores.

O grande problema é que a capicom não conseguiu assinar um a assinatura válida para o algoritmo rsa-sha1 (que consta no manual do provedor de SP). A única alternativa que encontramos foi utilizar recursos nativos da própria assinatura do windows via C#. Cheguei a entrar em contato com desenvolvedores em outros países através do fórum da Embarcadero, porém ninguém sabia me informar como fazer isso com delphi.

 

Atenciosamente,

Ariel.

Link para o comentário
Compartilhar em outros sites

Boa tarde Senhores.

 

Neste fim/início de ano, tive que implementar em nosso sistema a Nota Fiscal de Serviços para São Paulo.

 

Com base nos fontes que o Ariel havia passado, realizei testes e ajustes para o pleno funcionamento da integração com São Paulo.

A assinatura de São Paulo, continua sendo feita pela DLL desenvolvida pelo Ariel. Conforme já comentado em outros posts, para funcionamento da dll, basta que ela e o arquivo TLB estejam na mesma pasta do executável e na pasta system32 e o seguinte comando seja executado:

(Acessar a pasta da versão 2.0 do .NET Framework, "C:\Windows\Microsoft.NET\Framework\v2.0.50727" por exemplo)

regasm C:\Windows\SysWOW64\AcbrAssinaRPSSP.dll /tlb:AcbrAssinaRPSSP.tlb

 

As seguintes funções estão funcionando plenamente:

Geração de RPS, Envio de Lote RPS, Consulta de Situação Lote, Consulta de Lote, Cancelamento de NFSe e Impressão de NFSe.

 

Todas as funções acima foram testadas em ambiente de produção, tendo a emissão, consulta e cancelamento de mais de 10 notas fiscais. Todos os testes foram feitos com o envio de apenas 1 NF por lote.

 

Estou enviando em anexo todos os fontes envolvidos, sendo que todos já estão na última versão do Trunk do ACBr.

Para facilitar a visualização das alterações, em todos os locais alterados existe o comentário {add-SP}.

 

Portanto, seria possível já incorporar ao ACBr, ou é necessário mais algum teste ou modificação?

 

Qualquer dúvida, estou à disposição.

 

Atenciosamente.

 

Roger Rodrigues

Amigao, estou implementando esse arquivo que mandou, no momento de homologar a NFS-e retornou a seguinte mensagem:

... raised exception class Exception with message 'Arquivo C:\R36\mig\trunk\bin\..\cfg\nfse\schemas\SP\nfse.xsd não encontrado.'. Process stopped. Use Step or Run to continue.

 

Entao inseri o nfse.xsd do provedor RJ e retornou esta mensagem

nfse.xsd#/schema

The 'http://isscuritiba.curitiba.pr.gov.br/iss/nfse.xsd'namespace provided differs from the schema's 'http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd' targetNamespace

Link para o comentário
Compartilhar em outros sites

Tiago, você não está utilizando os Schemas corretos.

 

Na pasta Exemplos\ACBrNFSe\Delphi\Schemas\SP estão os Schemas de São Paulo.

 

Sao esses Schemas, mas joguei-os no diretorio do meu aplicativo, o caminho e diferente, mas os schemas estao la, apenas reclamou desse arquivo, chegou a gerar o rps.

Link para o comentário
Compartilhar em outros sites

Amigao, estou implementando esse arquivo que mandou, no momento de homologar a NFS-e retornou a seguinte mensagem:

... raised exception class Exception with message 'Arquivo C:\R36\mig\trunk\bin\..\cfg\nfse\schemas\SP\nfse.xsd não encontrado.'. Process stopped. Use Step or Run to continue.

 

Entao inseri o nfse.xsd do provedor RJ e retornou esta mensagem

nfse.xsd#/schema

The 'http://isscuritiba.curitiba.pr.gov.br/iss/nfse.xsd'namespace provided differs from the schema's 'http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd' targetNamespace

 

Tiago, pela mensagem de erro acima, me parece que o provedor que está configurado no componente não é o de São Paulo. Parece que está configurado para Curitiba.

Por gentileza, certifique-se que o provedor é o proSP. Até porque o arquivo nfse.xsd não existe para São Paulo.

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...