Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde Italo,

 

conforme lhe falei ontem,

segue em anexo a fonte para o provedor de Curitiba - PR - Cód. Mun. IBGE: 4106902

nomeie como ACBrProvedorISSCuritiba ...~~

 

Abri o tópico para, assim que você disponibilizar o fonte no ACBR, eu poder testar e retornar as correções.

 

Att.
 

 

 

 

ProvedorISSCuritiba.rar

Massao Aihara

  • 1 mês depois ...
Postado (editado)

Me corrija se estiver errado, mas no ACBrProvedorISSCuritiba.pas a tag EnviarLoteRpsEnvio não está sendo fechada:

 

Original:

 

function TProvedorIssCuritiba.Gera_TagI(Acao: TnfseAcao; Prefixo3, Prefixo4,
  NameSpaceDad, Identificador, URI: String): AnsiString;
begin
 case Acao of
   acRecepcionar: Result := '<' + Prefixo3 + 'EnviarLoteRpsEnvio' + //+ NameSpaceDad;
                              ' xmlns="http://isscuritiba.curitiba.pr.gov.br/iss/nfse.xsd"' +
                              ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
                              ' xsi:schemaLocation="http://isscuritiba.curitiba.pr.gov.br/iss/nfse.xsd"';
   acConsSit:     Result := '<' + Prefixo3 + 'ConsultarSituacaoLoteRpsEnvio' + NameSpaceDad;
   acConsLote:    Result := '<' + Prefixo3 + 'ConsultarLoteRpsEnvio' + NameSpaceDad;
   acConsNFSeRps: Result := '<' + Prefixo3 + 'ConsultarNfseRpsEnvio' + NameSpaceDad;
   acConsNFSe:    Result := '<' + Prefixo3 + 'ConsultarNfseEnvio' + NameSpaceDad;
   acCancelar:    Result := '<CancelarNfseEnvio>';
   acGerar:       Result := '';
 end;
end;

 

 

Alterado:

 

function TProvedorIssCuritiba.Gera_TagI(Acao: TnfseAcao; Prefixo3, Prefixo4,
  NameSpaceDad, Identificador, URI: String): AnsiString;
begin
 case Acao of
   acRecepcionar: Result := '<' + Prefixo3 + 'EnviarLoteRpsEnvio' + //+ NameSpaceDad;
                              ' xmlns="http://isscuritiba.curitiba.pr.gov.br/iss/nfse.xsd"' +
                              ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
                              ' xsi:schemaLocation="http://isscuritiba.curitiba.pr.gov.br/iss/nfse.xsd">';
   acConsSit:     Result := '<' + Prefixo3 + 'ConsultarSituacaoLoteRpsEnvio' + NameSpaceDad;
   acConsLote:    Result := '<' + Prefixo3 + 'ConsultarLoteRpsEnvio' + NameSpaceDad;
   acConsNFSeRps: Result := '<' + Prefixo3 + 'ConsultarNfseRpsEnvio' + NameSpaceDad;
   acConsNFSe:    Result := '<' + Prefixo3 + 'ConsultarNfseEnvio' + NameSpaceDad;
   acCancelar:    Result := '<CancelarNfseEnvio>';
   acGerar:       Result := '';
 end;
end;
Editado por Rodolfo Nemer Nogueira
Postado (editado)

Fiz as alterações na fonte com os novos links da prefeitura de Curitiba e também algumas correções na geração do xml. Mas ainda estou tendo problemas na validação do XML / XSD.

 

Em anexo também, os arquivos fornecidos pela prefeitura para teste de validação do XML.

ACBrProvedorISSCuritiba.zip

arquivos prefeitura.zip

Editado por Rodolfo Nemer Nogueira
Postado

Eu gerei meu próprio certificado conforme o site do iss de curitiba diz que tem que ter para testes,

vinculei o meu certificado ao CNPJ conforme descrito no site também...

mas na hora que vou testar me retorna:

 

" Não há suporte para o tipo de Provedor de Serviços de Criptografia '24' ".

 

conversei com o Italo sobre isso e ele disse que provável problema na capicom.

parei meu testes nisso.

Massao Aihara

  • 2 meses depois ...
Postado

Bom dia Italo!!!

 

voltei a mecher na NFS-e de curitiba, lendo os posts aqui dos foruns de nfs-e vi este .

E adicionei o proISSCuritiba na execeção conforme abaixo: 







 if not (FProvedor in [proGovBr, proSimplISS, proAbaco, proISSNet, proISSCuritiba])
  then begin
   if not InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT, PCertContext, Sizeof(CERT_CONTEXT)*5)
    then begin
     if Assigned(TACBrNFSe( FACBrNFSe ).OnGerarLog)
      then TACBrNFSe( FACBrNFSe ).OnGerarLog('ERRO: Erro OnBeforePost: ' + IntToStr(GetLastError));
     raise Exception.Create( 'Erro OnBeforePost: ' + GetLastErrorText {IntToStr(GetLastError)} );
    end;
  end;

(fonte: ACBrNFSeWebServices linha: 442)

 

ai blz, consigo fazer a consulta de uma NFS-e, so que sempre que envio a consulta o webservice me retorna:







<ListaMensagemRetorno>
 <MensagemRetorno>
  <Codigo>
  E504
  </Codigo>
  <Mensagem>
  O certificado digital do prestador de servicos e obrigatorio.
  </Mensagem>
  <Correcao>
  Envie junto a requisicao do servico o certificado digital do prestador de servicos.
  </Correcao>
 </MensagemRetorno>
</ListaMensagemRetorno>

 

tem como vc dar uma olha do meu arquivo de envio, se te algo que eu estou fazendo errado... :???:
segue em anexo:

ConsultaNFSeRPS.rar

 

 

Vlw,

Massao Aihara

Postado

entendi...pois é...

 

é que para homologação o certificado que se usa não é o do cliente...

tem todo um "ritual" para curitba...¬¬

 

eu vou tentar usar o do cliente e ver oque acontece...

 

 

Vlw!!!

Massao Aihara

Postado

com o certificado do cliente tambem não vai...

alguem aqui conseguiu fazer funcionar a homologação de nfs-e de curitiba?

 

acho que vou ter por em produção para testar, ~~

Massao Aihara

  • 3 meses depois ...
Postado

Oi pessoal...

 

As rotinas para Curitiba/PR não estão funcionando, certo?! Estamos trabalhando bastante em cima delas aqui... Já tínhamos desenvolvido tudo "do zero", mas estamos adaptando o software para usar o ACBR... Até na rotina TretEnvLote.LerXml estamos tendo que mexer...

 

Italo, as outras prefeituras funcionam?! Como fazemos com todas estas alterações depois?

 

abcs,

Postado

Tenho outra dúvida (posso usar o mesmo tópico?)... Por que o componente levanta exceções, se ele retornaria "Falso" nas rotinas de envio caso falhasse? Não faz sentido, se temos que fazer try..except então não tem porque a função "tentar" retornar falso...

Postado

Henrique, varios provedores estão funcionando perfeitamente com o ACBr!!!

 

Curitiba é um problema porque não consigo testar a NFS-e, porque aquele certificado de teste que tem que fazer nunca funciona.

Você consegue emitir em homologação para curitiba?

Massao Aihara

Postado

Oi Luztem! Legal então (risos), o tempo não será perdido... Curitiba logo logo estará no ar...

 

Mas tomei a liberdade de alterar algumas coisas no componente também. Uma delas, por exemplo, é a não necessidade de carregar o XML de envio na hora de consultar o retorno...

Postado

Akai, já tive este problema com outros provedores.

Instala o Certificado de homologação em uma maquina com XP ( eu usai uma VM), exporta e instala na maquina quer vai usar.

Ai ele funciona.

Vai entender essas coisas.

Abraço.

Postado

Olá...

 

Ufa, implementado. Agora o componente de Curitiba/PR envia NFs, consulta lote e cancela NFs.

 

Também modificamos o ACBrNfse para que ele não precise carregar o XML de NFs ao consultar um lote. Assim, não é preciso salvar os XMLs, passando o componente a respeitar a propriedade Salvar das Configuracoes dele mesmo.

 

Tivemos que mudar algumas funções do "core" do componente, como a leitura dos XMLs de retorno. Mas garantimos a compatibilidade...

 

Temos como subir tudo isso pro SVN? Como é feito?

 

Abraços,

  • 3 semanas depois ...
  • Consultores
Postado

Boa tarde Henrique,

 

Já esta disponivel as suas alterações.

 

Lhe pesso que faça uma cópia de segurança dos seus fontes e baixe a atualização.

 

Uma observação, os seus fontes estão desatualizados em relação aos novos provedores.

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

Boa tarde italo...testando a alteração, me ocorreu o seguinte erro no fonte ACBrNFSeUtil

 if (xmldsig.signature = nil)
  then raise Exception.Create('É preciso carregar o template antes de assinar.');

oq seria? 

Massao Aihara

  • 2 meses depois ...
  • Este tópico foi criado há 3178 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.