Jump to content

Compre o Delphi
Com até 30% de desconto
e parcelado em até 12x sem juros

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Italo Jurisato Junior

Novos Fontes do ACBrNFSe

Recommended Posts

Boa tarde a todos,

Vou disponibilizar amanhã sexta-feira 29/06/2012, os novos fontes do componente ACBrNFSe.

As novidades são muitas:

* Agora temos um fonte para cada provedor como exemplo: ACBrProvedorGovBR.pas

* Não temos mais os arquivos de configuração .INI uma vez que as configurações agora encontram-se nos: ACBrProvedorxxxx.pas

* Algumas propriedades dos componentes foram removidas.

Como já dito varias vezes não tenho um certificado válido para realizar todos os testes, logo conto com a colaboração de todos.

Leiam com atenção o roteiro abaixo, para poder atualizar os fontes com segurança.

Roteiro para atualizar os novos fontes do ACBrNFSe:

=======================================

1. Faça uma cópia dos fontes do componente, do programa exemplo e de sua aplicação caso já tenha alguma que utilize o componente.

2. Remova os componentes ACBrNFSe e ACBrNFSeDANFSeQR da sua aplicação e salve, não compile ela ainda.

3. Remova os componentes acima do Delphi: Component/Install Package

* Selecione o componente ACBrNFSeDANFSeQR e clique no botão [Remover]

* Selecione o componente ACBrNFSe e clique no botão [Remover]

* Clique no botão [OK]

4. Baixe através do tortoise os novos fontes, você deve ter uma pasta separada com os fontes do branches, por exemplo: ACBrTeste

5. Atualize os fontes que encontram-se na pasta (ACBr por exemplo) utilizada para baixar os fontes do trunk.

* Copiar a pasta Delphi que esta dentro da pasta ...\ACBrTeste\Exemplos\ACBrNFSe

para dentro da pasta ...\ACBr\Exemplos\ACBrNFSe

* Copiar os arquivos que estão dentro da pasta ...\ACBrTeste\Fontes\ACBrNFSe

para dentro da pasta ...\ACBr\Fontes\ACBrNFSe

* Copiar os arquivos que estão dentro da pasta ...\ACBrTeste\Pacotes\Delphi\ACBrNFe2

para dentro da pasta ...\ACBr\Pacotes\Delphi\ACBrNFe2

6. Compile e instale os componentes.

* Abra o pacote ACBr_NFSe que tambem encontra-se na pasta ...\ACBr\Pacotes\Delphi\ACBrNFe2

Compile utilizando a opção Build do menu Projects, depois clique no botão de instalação.

* Abra o pacote ACBrNFSeDanfseQRpkg que tambem encontra-se na pasta ...\ACBr\Pacotes\Delphi\ACBrNFe2

Compile utilizando a opção Build do menu Projects, depois clique no botão de instalação.

7. Inclua novamente os componentes ACBrNFSe e ACBrNFSeDANFSeQR na sua aplicação e salve, compile ela usando a opção Build.

Observação: Algumas propriedades foram removidas do componente são elas:

Identificado, NameSpace, PadraoLayOut, Prefixo2, Prefixo3, Prefixo4, Provedor, VersaoSoap

Ao compilar a sua aplicação se ocorrer erros nas linhas que faz referencia a essas propriedades, simplismente remova ou comente elas.

Até sexta.


Consultor SAC ACBr Italo Jurisato 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

Share this post


Link to post
Share on other sites

Bom dia a todos,

Como prometido, estou disponibilizando no branches os novos fontes do componente ACBrNFSe.

A estrutura de pastas no branches é:

NFSe_Novos_Fontes

   |-Exemplos

       |-ACBrNFSe

            |-Delphi     <= aqui encontra-se os fontes do programa exemplo

   |-Fontes

       |-ACBrNFSe    <= aqui encontra-se os fontes dos componentes: ( ACBrNFSe e ACBrNFSeDANFSEQR )

   |-Pacotes

       |-Delphi

            |-ACBrNFe2  <= aqui encontra-se os fontes dos pacotes de instalação: ( ACBr_NFSe e ACBrNFSeDanfseQRpkg )

Lembre-se que no branches também temos dentro da pasta: \Exemplos\ACBrNFSe\Delphi\Schemas

as pastas que contem os schemas de alguns provedores.

ATENÇÂO: Antes de atualizar os fontes, siga o roteiro postado ontem.

Conto com a colaboração de todos para a realização dos testes.

Bom final de semana a todos.


Consultor SAC ACBr Italo Jurisato 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

Share this post


Link to post
Share on other sites

Bom dia Dangelo,

Se você só baixa os fontes do repositório Trunk, para baixar os fontes do Branches faça o seguinte:

Crie uma pasta chamada ACBrTeste (por exemplo)

Configure o Tortoise para baixar os fontes do Branches para isto utilize a URL:

https://acbr.svn.sourceforge.net/svnroot/acbr/branches


Consultor SAC ACBr Italo Jurisato 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

Share this post


Link to post
Share on other sites

Bom dia senhores.

Italo, quem sabe eu te ajude com esta informação, ou a outros usuários do componente que enfrentam o problema da falta de certificado.

Tive muitos problemas pra conseguir efetuar os testes da NFSe, pela falta de certificado válido nas cidades onde preciso implementar, visto que comercializamos

nosso software para o país inteiro. E justo na minha cidade, onde tenho um certificado valido, não é do padrão abrasf.

Nesse caso, meus problemas acabaram quando conheci o provedor Betha, que atende muitas cidades de Santa Catarina (entre elas Criciúma, Chapecó, Lages...)

No ambiente de testes deles "https://e-gov.betha.com.br/e-nota-test/login.faces" é possível se cadastrar com um CNPJ de qualquer lugar, creio que até com CPF

é possível. E ainda, depois de cadastrado, ao acessar o sistema, você consegue gerar um certificado para testes.

Pra mim, ajudou muito para a parte dos testes. Provedor betha tem algumas peculiaridades, mas alguns usuários já estavam fazendo a integração com o ACBrNFSe,

e creio que nessa versão já deve ter algo certo Italo?.

Fórum da Betha para NFSe: http://forum.betha.com.br/phpbb/viewfor ... a3a603b780

Vou baixar agora o componente reformulado para prosseguir com meus testes e implementações. Qualquer coisa compartilharei com vocês aqui.

Grande abraço, e obrigao Italo.


Rodrigo Cantelli

Share this post


Link to post
Share on other sites

Acabei de instalar o componente reformulado (apenas o ACBr_NFSe, a princípio não uso a impressão).

Tive dois problemas que "contornei" comentando as linhas, porém, não sei se pode haver algum impacto com isso.

Na instalação do pacote (ACBr_NFSe.dpk),

Precisei comentar o item lista de requires: visualclx, linha 31

Após, deu erro no PCN2.dpk

Precisei comentar a linha 30 {$IMPLICITBUILD OFF}

Após isso, compilou o pacote com sucesso e consegui instalar.

Italo, saberia me informar se posso prosseguir utilizando normalmente o componente com essas alterações?

Ou, se há algo para eu fazer, para não dar estes erros, aí eu reinstalo o componente.

Agora vou testar minha aplicação que já utilizava o componente, para ver as possíveis mudanças e relato mais tarde.


Rodrigo Cantelli

Share this post


Link to post
Share on other sites

Pessoal, tenho uma duvida...

Embora esteja bem explicado como instalar os componentes novos da NFS-e,...

e sei que pode parecer uma duvida meio idiota, mas fiquei com "pulga atrás da orelha"...

fiquei me perguntando oque seria a pasta "NFSe_Novos_Fontes",

será que não devo pegar os fontes dessa pasta para fazer a atualização???

ou sigo a explicação dada pelo Italojjr?

Um bom dia para todos!


Lutzem Massao Aihara
Email: [email protected]

Share this post


Link to post
Share on other sites

Bom dia Akai,

você está certo, tem que pegar da pasta "NFSe_Novos_Fontes", pois a outra continua com a versão "antiga".

Se você olhar nos logs do tortoise, verá que o Italo adicionou tudo nessa pasta, e o que esta no diretório anterior, foi mantido como estava.

Espero ter ajudado.

Abraço.


Rodrigo Cantelli

Share this post


Link to post
Share on other sites

Se você olhar no segundo post do Italo, ele mencionou a estrutura dos arquivos novos, e a parte do exemplo está lá também.

Então se você fizer a instalação levando em consideração o diretório "NFSe_Novos_Fontes", o demo já vai funcionar com os novos processos. ;)


Rodrigo Cantelli

Share this post


Link to post
Share on other sites

Boa tarde Rodrigo Cantelli,

Na minha maquina em casa, realizei todo o procedimento descrito no roteiro que disponibilizei.

Tive alguns problemas com os demais pacotes, por exemplo o PCN2 ao tentar compilar o pacote ACBr_NFSe.

Como resolvi:

1. Fechei o pacote de instalação do ACBrNFSe;

2. Abri o pacote ACBrCapicom e cliquei em Compilar;

3. Abri o pacote ACBrOpenSSL e compilei;

4. Abri o pacote Synapse e compilei;

5. Abri o pacote PCN2 e compilei;

6. Abri o pacote ACBr_NFSe, compilei e instalei

7. Abri o pacote ACBrNFSeDanfseQRpkg, compilei e instalei

Com esse procedimento acima não precisei comentar nenhuma linha.


Consultor SAC ACBr Italo Jurisato 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

Share this post


Link to post
Share on other sites

Boa tarde Adilson,

Todas as implementações foram baseadas pensando no Capicom, mas tem as rotinas para o OpenSSL, precisa testar e corrigir os erros que por ventura tenha.


Consultor SAC ACBr Italo Jurisato 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

Share this post


Link to post
Share on other sites

Bom dia.

Com a reformulação do componente, a comunicação com o webservice da Betha havia parado de funcionar.

As modificações enviadas por outros usuários não estavam presentes.

Alterei os arquivos, com auxílio do que outros usuários já haviam feito na versão anterior do componente.

Com as alterações está funcionando o envio/retorno, Consulta de Lote e Consulta de Situação do Lote.

Cancelamento, Consulta de NFSe e Consulta de NFSe por RPS ainda não estão funcionando, deixei comentado no código o que não funciona na ACBrProvedorBetha.

Italo, em anexo os arquivos que alterei. Todo lugar que mexi há um comentário "{Rodrigo Cantelli}", onde logo abaixo está a(s) linha antiga comentada, e abaixo

dessa(s) a linha que alterei/adicionei.

Vou continuar o trabalho para pelo menos deixar ok o cancelamento. Se puder dar uma olhada e adicionar as alterações na versão oficial.

Precisando de ajuda basta falar.

Abraço!

betha_alteracoes.rar


Rodrigo Cantelli

Share this post


Link to post
Share on other sites

Boa tarde Italo,

Baixei os novos fontes da NFSE, porém estou com problema,

quando envio o lote RPS, quando o processo de envie, faz a ConsultaLoteRPS

ocorre um ponto de Operação Invalido , localizei o erro que esta

dentro da procedure

procedure TWebServicesBase.DoNFSeConsultarLoteRPS

FDadosMsg := FProvedorClass.Gera_DadosMsgConsLote(Prefixo3,

Prefixo4,

NameSpaceDad,

FVersaoXML,

TNFSeConsultarSituacaoLoteRPS(Self).Protocolo, <----- O dados estão inválidos

SomenteNumeros(TNFSeConsultarSituacaoLoteRPS(Self).Cnpj),

TNFSeConsultarSituacaoLoteRPS(Self).InscricaoMunicipal,

FTagI,

FTagF);

Isto ocorre após a carga do arquivo de retorno, perde as informações da classe TNFSeConsultarSituacaoLoteRPS(Self).

Share this post


Link to post
Share on other sites

Bom dia Italo.

Já fiz o update, daqui a pouco faço os testes e qualquer coisa lhe aviso.

Também estou terminando a parte do cancelamento para o provedor Betha.

Assim que terminar os testes lhe envio.

Abraço!


Rodrigo Cantelli

Share this post


Link to post
Share on other sites

Italo, encontrei um problema no ACBrNFSeUtil.

da forma que você fez vai dar problema, então fiz uma pequena alteração.

Na função AssinarMSXML, eu tinha te enviado o seguinte:

          if Pos(''+ APrefixo3 + 'LoteRps>',XMLAssinado) > 0

           then PosIniAssLote := Pos(''+ APrefixo3 + 'LoteRps>', XMLAssinado) + length(''+ APrefixo3 + 'LoteRps>')

           else PosIniAssLote := Pos('', XMLAssinado)+length('');

E você alterou para:
     PosIniAssLote := Pos(''+ APrefixo3 + 'LoteRps>', XMLAssinado) + length(''+ APrefixo3 + 'LoteRps>');

     // Sugestão de Rodrigo Catelli

     if PosIniAssLote = 0

      then PosIniAssLote := Pos('', XMLAssinado) + length('');

Porém, o que precisamos comparar é apenas uma parte da string. Teria que ser assim então:
 

     PosIniAssLote := Pos(''+ APrefixo3 + 'LoteRps>', XMLAssinado);

     // Sugestão de Rodrigo Catelli

     if PosIniAssLote = 0

      then PosIniAssLote := Pos('', XMLAssinado) + length('')

      else PosIniAssLote := PosIniAssLote + length(''+ APrefixo3 + 'LoteRps>');

Entendeu o que quis dizer? São dois lugares.

Ah, e é Cantelli, rsrs.. nos comentários no código tá "Catelli".

Vou continuar os testes, qualquer coisa te retorno. Abraço!


Rodrigo Cantelli

Share this post


Link to post
Share on other sites

Bom dia Rodrigo,

Primeiro: Desculpa pela grafia errada do sobrenome, e por favor encontrando mais algum comentario com o seu nome errado, da um grito.

Segundo: Rotina corrigida.

Vou aguardar, você finalizar os testes e postas as alterações que faltam ai eu disponibilizo tudo.

Muito obrigado pela colaboração.


Consultor SAC ACBr Italo Jurisato 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

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...