Ir para conteúdo
  • Cadastre-se

dev botao

Assinatura De Lote Rps Não Olha Para O Provedor - Iss.net


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

Recommended Posts

Bom dia. Percebi que ao enviar lote o componente verifica a necessidade de assinar lote em FConfiguracoes.Certificados.AssinaLote, porém no provedor, no método TProvedorISSNet..GetAssinarXML todas as ações estão marcadas para false. Alguém sabe dizer porque não está sendo verificada a necessidade de assinar o Xml através do método GetAssinarXML do provedor?

Link para o comentário
Compartilhar em outros sites

Por dentra da unit das notas fiscais não temos acesso ao provedor, mas acho que poderia ser validado antes de chamar o método de assinar lote. Exemplo:

Unit: ACBrNFSeWebServices.pas

Método: TWebServicesBase.DoNFSeEnviarLoteRPS

Linha: 576.

 

Como está hoje:

FDadosMsg := TNFSeEnviarLoteRPS(Self).FNotasFiscais.AssinarLoteRps(TNFSeEnviarLoteRps(Self).NumeroLote, FDadosMSg);

 

Minha sugestão:

if FProvedorClass.GetAssinarXML(acRecepcionar) then

   FDadosMsg := TNFSeEnviarLoteRPS(Self).FNotasFiscais.AssinarLoteRps(TNFSeEnviarLoteRps(Self).NumeroLote, FDadosMSg);

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Marcio,

 

Quen faz essa checagem é a propria function AssinarLoteRps e eu não sei o impacto no processamento se melhora ou não se:

 

Só chamar a função se for necessário Assinar ou chamar a função e assinar se for necessário dependendo do valor de AssinaLote for True ou False.

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

marciost, aproveitando o seu tópico, você esta conseguindo enviar RPS de Novo Hamburgo?

Estou tendo problemas pois quando envia o servidor me retorna esta mensagem:

O servidor nao pode processar a solicitacao. ---> Referencia de objeto nao definida para uma instancia de um objeto.

Você esta usando certificado digital?!

Link para o comentário
Compartilhar em outros sites

Bom dia BluData.

 

Sim, estou conseguindo. Mas eu estava com esse mesmo problema que você colocou. Resolvi isso comentando a parte da procedure TWebServicesBase.OnBeforePost que estava dando o erro, é essa parte:

 if not (FProvedor in [proGovBr, proSimplISS, proAbaco, proISSNet])

  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;

 

É uma gambiarra, mas faze o que né?

 

Sim, estou usando certificado.

 

Italo, questionei isso não por causa de performance da execução, é mais para saber. Estranhei ter duas configurações possíveis para a mesma validação, sendo que a que é específica do provedor e na minha opinião a que deveria ser usada não é usada.

Link para o comentário
Compartilhar em outros sites

Bom dia BluData.

 

Sim, estou conseguindo. Mas eu estava com esse mesmo problema que você colocou. Resolvi isso comentando a parte da procedure TWebServicesBase.OnBeforePost que estava dando o erro, é essa parte:

 if not (FProvedor in [proGovBr, proSimplISS, proAbaco, proISSNet])

  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;

 

É uma gambiarra, mas faze o que né?

 

Sim, estou usando certificado.

 

Italo, questionei isso não por causa de performance da execução, é mais para saber. Estranhei ter duas configurações possíveis para a mesma validação, sendo que a que é específica do provedor e na minha opinião a que deveria ser usada não é usada.

 

marciost, não entendi a lógica, o provedor ISSNet nem entra neste if que foi comentado....

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...