Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado (editado)

Bom dia,

 

a algum tempo atrás eu comecei a implementar a NFSe de SP dentro do Acbr e por outras prioridades aqui na empresa tive que parar, mas eu compartilhei algumas informações ( ) para a implementação.

 

Vi alguns tópicos com a implementação de SP, mais nada muito claro, então eu voltei a desenvolver a NFS-e e finalizei na semana passada, e está funcionando tudo de acordo com as regras do ACBR.

 

Eu alterei os mínimos detalhes do fonte ACBR, tornando totalmente compatível, criei telas de exemplo no Envio, Consulta e Cancelamento da NFSe.

 

Assim como se deve registrar a DLL "Capicom.dll" para a NFS-e de SP só deve registrar mais uma DLL "AssinaturaRPS_SP.dll" pelo Regasm.  ( Dentro na pasta "Acbr\Exemplos\ACBrNFSe\Delphi\" tem um bat que fazer o registro "InstalarDLLNFSESP.bat").

 

 

Lembre-se de importar o arquivo "AssinaturaRPS_SP.tbl" que se encontra na pasta "Acbr\DLLs\AssinaturaRPS_Sp".

 

Fontes : http://www.4shared.com/rar/wI0N3oaAba/Acbr__1_.html

Editado por jonathan-augusto
Postado (editado)

Juliomar, a DLL foi feita em C#.

 

Estou tentando anexar os arquivos, mais é muito grande, posso compartilhar via 4shared para você ?

 

Eu tenho os fontes feito em C#, se quiser também coloco na pasta Acbr.

Editado por jonathan-augusto
  • Moderadores
Postado

Bom dia!

eu não sou a favor de ter outros códigos de linguagens pois o ACBr foi concebido e é exclusivo em Delphi/Lazarus!

vamos aguardar o pessoal da Administração de pronunciei!

mas ainda acredito ser possível efetuar a assinatura toda em delphi!

não precisei do componente e nem tenho clientes nesse ramo no estado de SP

mas se tivesse tiraria um bom tempo para resolver no próprio componente o código!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

Postado

Concordo Juliomar, eu fiz muitas pesquisas e testes, infelizmente o Delphi não gera a chave correta..

É somente uma DLL para registrar, acho que os benefícios será muito maior para os desenvolvedores.  

  • 4 semanas depois ...
Postado

Em Delphi 7 não é possível, pois ele não tem acesso a API que trabalha com as chaves dos certificados do windows.

A partir do Delphi XE, sim é possível.

Postado

jonathan-augusto

 

Peguei os fontes em anexo aqui no tópico, mas na função de assinar RPS que deve utilizar a DLL esta me retornando o erro:

The system cannot find de specified, Class ID: {3A8B6B96-4F23-4EB5-B4B1-243BFBC41A39}

 

Ja fiz o registro da DLL pelo RegAsm.exe e registrou tudo corretamente. existe algo mais que precisa fazer?

 

Obrigado.

Postado

Bom dia,

 

você registrou foi a DLL "AssinaturaRPS_SP.dll", se sim, verifique se a mesmas está na pasta c:\Windows\SysWOW64 ( Win64 ) ou c:\Windows\System32 ( Win32 )

 

Coloque também o no diretório do executável, tenta e me avisa.

Postado

Boa Tarde jonathan-augusto

 

Consegui registrar a DLL e esta assinando, mas reparei que a assinatura esta saindo com 344 caracteres, sendo que no exemplo da prefeitura esta com 172... É correto isso mesmo? 

  • Membros Pro
Postado

Boa Tarde jonathan-augusto

 

Parabens pelo  trabalho e compartilhamento da sua solucao.

Temos acompanhado seu trabalho e tomamos a liberdade de fazermos uma sugestão, infelizmente sem ter nocao do trabalho que isto pode gerar ou conflitar com seus interesses.

Sem desvalorizar o pessoal do ACBr, que merece todo nosso agradecimento e creditos, como sugestão se possivel, ate o pessoal da ACBr incorporar o provedor PRODAM em seus componentes, talvez voces pudessem fazer um componente independente do ACBr, baseado inicialmente nas units do ACBr conforme tem expostos, porem com nomes de modulos/units/classes/arquivos diferentes, permitindo o uso simultaneo das solucoes dos componentes do ACBr e a de voces (talves acrescentando nos nomes das units/classes/modulos da ACBr somente o sufixo _SP ou mesmo nomes proprios da sua solucao), as solucoes teriam atualizacoes independentes.

 

Grato

Postado

Boa Tarde jonathan-augusto

 

Consegui registrar a DLL e esta assinando, mas reparei que a assinatura esta saindo com 344 caracteres, sendo que no exemplo da prefeitura esta com 172... É correto isso mesmo? 

 

Como estou de férias não consigo comparar o XML, mas se assinou pode ter certeza que vai funcionar, o sistema que eu implementei já está emitindo tudo ok.

 

Envie a NFse para a prefeitura e veja se deu certo, qualquer coisa pode me acionar.

Postado

Boa Tarde jonathan-augusto

 

Parabens pelo  trabalho e compartilhamento da sua solucao.

Temos acompanhado seu trabalho e tomamos a liberdade de fazermos uma sugestão, infelizmente sem ter nocao do trabalho que isto pode gerar ou conflitar com seus interesses.

Sem desvalorizar o pessoal do ACBr, que merece todo nosso agradecimento e creditos, como sugestão se possivel, ate o pessoal da ACBr incorporar o provedor PRODAM em seus componentes, talvez voces pudessem fazer um componente independente do ACBr, baseado inicialmente nas units do ACBr conforme tem expostos, porem com nomes de modulos/units/classes/arquivos diferentes, permitindo o uso simultaneo das solucoes dos componentes do ACBr e a de voces (talves acrescentando nos nomes das units/classes/modulos da ACBr somente o sufixo _SP ou mesmo nomes proprios da sua solucao), as solucoes teriam atualizacoes independentes.

 

Grato

 

Obrigado  Delfino.

 

Hoje dentro dos meus fontes ( anexo no primeiro post ) as Units e funções estão tudo padronizado como Prodam, existe só mais uma DLL "AssinaturaRPS_SP.dll" que deve ser registrada pelo regasm.exe, mas os moderadores não aceitaram incluir ela no projeto.

 

Espero que em futuro próximo conseguimos fazer uma assinatura pelo Delphi, estou pensando em fazer uma DLL pelo XE e embutir no projeto.

 

Postado

Boa tarde Jonathan Augusto!

Estou aplicando as tuas alterações no meu ACBr pra atender uns clientes de São Paulo.

Porém, quando cheguei no pnfsConversao.pas percebi que as funções de natureza de Operação estão defasadas...

Tem umas alterações de Fevereiro (ou março) desse ano, que criou umas naturezas novas e alterou outras duas ficando assim:

'T' - Tributação Normal
'F' - Isenta ou não tributável pelo Município de São Paulo, executada em outro Município
'A' - Tributado em São Paulo, porém Isento.
'B' - Tributado fora de São Paulo, porém Isento.
'M' - Tributado em São Paulo, porém Imune.
'N' - Tributado fora de São Paulo, porém Imune.
'X' - Tributado em São Paulo, porém Exigibilidade Suspensa.
'V' - Tributado fora de São Paulo, porém Exigibilidade Suspensa.
'P' - Exportação de Serviços.

Tu já tem essas alterações? De qualquer forma vou fazer aqui no meu, e posso disponibilizar aqui depois de testar.

Abraço, André

Postado

Boa tarde Jonathan Augusto!

Estou aplicando as tuas alterações no meu ACBr pra atender uns clientes de São Paulo.

Porém, quando cheguei no pnfsConversao.pas percebi que as funções de natureza de Operação estão defasadas...

Tem umas alterações de Fevereiro (ou março) desse ano, que criou umas naturezas novas e alterou outras duas ficando assim:

'T' - Tributação Normal
'F' - Isenta ou não tributável pelo Município de São Paulo, executada em outro Município
'A' - Tributado em São Paulo, porém Isento.
'B' - Tributado fora de São Paulo, porém Isento.
'M' - Tributado em São Paulo, porém Imune.
'N' - Tributado fora de São Paulo, porém Imune.
'X' - Tributado em São Paulo, porém Exigibilidade Suspensa.
'V' - Tributado fora de São Paulo, porém Exigibilidade Suspensa.
'P' - Exportação de Serviços.

Tu já tem essas alterações? De qualquer forma vou fazer aqui no meu, e posso disponibilizar aqui depois de testar.

Abraço, André

Boa tarde André,

nos meu fontes já estão implementadas as novas tributações.

Postado

JA: Tive esses erros aqui:

'TAG:<RPS xmlns=""> ID:#3/TipoRPS() - Tamanho menor que o mínimo permitido [RPS].'#$D#$A
'TAG:<RPS xmlns=""> ID:#4/DataEmissao(Data de emissão) - Tamanho menor que o mínimo permitido [29/06/2015].'#$D#$A
'TAG:<RPS xmlns=""> ID:#25/ISSRetido() - Tamanho maior que o máximo permitido [false].'#$D#$A

Outra coisa, qual consulta posso usar?

Já tentei a ConsultaNFSePorRS() e a ConsultaLoteRPS()

As duas me retornam o seguinte erro:

ERRO: XML nao compativel com Schema.The element 'PedidoConsultaLote' in namespace 'http://www.prefeitura.sp.gov.br/nfe' cannot contain text. List of possible elements expected: 'Cabecalho'.

 

Tem alguma LUZ no fim do túnel?

Postado

André vc baixo os meus fontes ?
junto com os fontes estão os exemplos de enviou e consulta da NFSe, tenta fazer o teste por lá.
Talvez seja não esteja passando os tipos corretos.

Veja ai me avise, eu tenho clientes emitindo normalmente com estes mesmos fontes.

Postado

Sim, baixei os arquivos que estão naquele link do 4shared lá no primeiro post.

Pra mim só veio arquivos de fonte, nenhum exemplo...

Consegui gerar uma nota usando o método Enviar(), mas ao final da rotina, quando manda Consultar a Situação do Lote, gera uma exceção de erro desconhecido.

Quando eu utilizo o método ConsultarLoteRPS() dá um erro dizendo que o CNPJ da assinatura não confere com o CNPJ do emitente.

Mas no XML de Consulta não vai a TAG <Assinatura> gerada a partir da DLL... ou vai?

Amanhã vou fazer mais testes, mas se tu tiver mais alguma dica, agradeço.

Abraço, André

Postado

Sim, baixei os arquivos que estão naquele link do 4shared lá no primeiro post.

Pra mim só veio arquivos de fonte, nenhum exemplo...

Consegui gerar uma nota usando o método Enviar(), mas ao final da rotina, quando manda Consultar a Situação do Lote, gera uma exceção de erro desconhecido.

Quando eu utilizo o método ConsultarLoteRPS() dá um erro dizendo que o CNPJ da assinatura não confere com o CNPJ do emitente.

Mas no XML de Consulta não vai a TAG <Assinatura> gerada a partir da DLL... ou vai?

Amanhã vou fazer mais testes, mas se tu tiver mais alguma dica, agradeço.

Abraço, André

André tem sim, olha a imagem em anexo.
É só seguir o exemplo de enviou e consulta, qualquer dúvida pode perguntar.

Nfse-prodam.png

  • 2 semanas depois ...
Postado

Baixei novamente o arquivo ACbr(1) que está no 4shared mencionado nesse tópico.
Engraçado que no download anterior a classe do provedor se chamava ACBrProvedorSP.pas e agora se chama ACBrProvedorProdam.pas

Pelo visto tem mais modificações.

Deve ser por isso que a minha consulta não funciona. Vou fazer um novo merge e ver no que dá!

Postado

Iae...

Bah meu velho, esses fontes estão bem mais completos do que os que eu havia baixado antes...

Nos anteriores eu tive que criar alguns retornos nos arquivos pnfs*.pas
vou recompilar, com esses. E te aviso...

Valeu!

  • 3 semanas depois ...
Postado

Jonathan Augusto:
Com os fontes antigos (que mencionei no meu post do dia 30/06) e a DLL: AcbrAssinaRPSSP -> Eu conseguia gerar a assinatura corretamente para Enviar e Cancelar as NFSe, porém não conseguia consultar.

Com os fontes novos (que baixei no dia 09/07) e a DLL: AssinaturaRPS_SP -> Eu consigo consultar, mas parou de gerar o Hash da assinatura corretamente pra Envio e Cancelamento.

:/

Acho que vou dar uma Zero Dois e pedir baixa...

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