Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Olá pessoal,

Alguém conseguiu implementar o provedor SH3?

Procurei nos ".ini" e não encontrei tal provedor, preciso para a cidade de São Geraldo-MG que é atendido pelo provedor SH3 que utiliza o Abrasf, versão 2.02.

Se alguém puder disponibilizar eu agradeço,

Postado

Bom dia Ítalo,

Nesse caso, poderia sintetizar me norteando com os passos a serem seguidos e, se possível, as units que normalmente sofrem alteração nessa situação (novo provedor NFS-e).

Digo isso porque nunca enviei alterações para o projeto, sempre consumi os recursos disponibilizados, tendo um norte facilitaria e concluindo aqui, envio sim.

Marcos

 

  • Consultores
Postado

Bom dia Marcos,

Será necessário incluir as cidades que são atendidas pelo provedor SH3 no arquivo Cidades.ini, depois criar um arquivo chamado SH3.ini que vai conter os parâmetros de configuração, você pode se basear nos arquivos 4R.ini ou ABase.ini ou Fiorilli.ini, este são alguns da minha lista de 29 provedores que seguem a versão 2 do layout da ABRASF.

O próximo passo é criar uma pasta chamada SH3 dentro da pasta: ...\Exemplos\ACBrDFe\ACBrNFSe\Schemas e salvar os arquivos SXD (Schemas) do respectivo provedor.

Por fim fazer as alterações no componente, a principio basta alterar a uni pnfsConversao acrescentando o enumerador proSH3 e seu nome 'SH3' aos moldes dos demais.

Isso já é o suficiente para que o componente reconheça um novo provedor, talvez seja necessário fazer mais algumas alterações em outros fontes em função de alguma particularidade.

Mas o caminho das pedras é esse.

  • Obrigado 1
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

  • 1 mês depois ...
Postado

Bom dia Ítalo,
Prosseguindo então com adequações para o provedor SH3, fiz algumas alterações conforme você relacionou.
Já tenho a lista das cidades atendidas pelo provedor SH3, mas por enquanto adicionei apenas a cidade em questão no arquivo Cidades.ini, no caso "São Geraldo-MG".

Adicionei então o trecho abaixo ao meu arquivo Cidades.ini para testes que está anexado:
  [3161502]
  Nome=Sao Geraldo
  UF=MG    
  Provedor=SH3
  NomeURL_H=homologa_saogeraldo.nfiss.com.br
  NomeURL_P=saogeraldo.nfiss.com.br

 

Obtive algumas informações do provedor, e o arquivo SH3.ini (também segue anexado), algumas configurações estão assim:
[SoapAction]
Recepcionar=http://nfse.abrasf.org.br/ConsultarLoteRps

 

[URL_H]
RecepcaoLoteRPS=https://%NomeURL_H%.nfiss.com.br/soap/

 

Quanto as configurações da seção [Assinar], recebi a seguinte informação do suporte SH3.

Citar

Não é necessário assinar o XML do envio. A autenticação é garantida na conexão SSL do seu ERP com o servidor. Então creio que todos são 0

 

Tentando usar de:

NFSe1.ACBrNFSe.Gerar(StrToInt(IdentificacaoRps.Numero), StrToInt(NumeroLote), False) ou 

NFSe1.ACBrNFSe.GerarLote(NumeroLote);

 obtenho o erro: "A funcionalidade [Enviar Lote] não foi disponibilizada pelo provedor: SH3"

Debugando, notei que em ACBrNFSeWebServices,  na instrução abaixo, FDadosEnvelope, fica vazio gerando o erro:

FDadosEnvelope := FPConfiguracoesNFSe.Geral.ConfigEnvelope.Recepcionar;

  if (FProvedor = proThema) and (FNotasFiscais.Count < 4) then
  begin
    FDadosEnvelope := StringReplace(FDadosEnvelope, 'recepcionarLoteRps', 'recepcionarLoteRpsLimitado', [rfReplaceAll]);
    FPSoapAction := StringReplace(FPSoapAction, 'recepcionarLoteRps', 'recepcionarLoteRpsLimitado', [rfReplaceAll]);
  end;

  if (FPDadosMsg <> '') and (FDadosEnvelope <> '') then
  begin
    DefinirSignatureNode('');

    FPDadosMsg := FNotasFiscais.AssinarLote(FPDadosMsg, FTagGrupo, TagElemento,
                                   FPConfiguracoesNFSe.Geral.ConfigAssinar.Lote,
                                   xSignatureNode, xDSIGNSLote, xIdSignature);

    // Incluido a linha abaixo por após realizar a assinatura esta gerando o
    // atributo xmlns vazio.
    if not (FProvedor in [proSP, proNotaBlu]) then
      FPDadosMsg := StringReplace(FPDadosMsg, 'xmlns=""', '', [rfReplaceAll]);

    if FProvedor = proSMARAPD then
      FPDadosMsg := StringReplace(FPDadosMsg, '<?xml version="1.0" encoding="UTF-8"?>', '', [rfReplaceAll]);

    if FPConfiguracoesNFSe.Geral.ConfigSchemas.Validar then
      FNotasFiscais.ValidarLote(FPDadosMsg,
                         FPConfiguracoes.Arquivos.PathSchemas +
                         FPConfiguracoesNFSe.Geral.ConfigSchemas.ServicoEnviar);
  end
  else
    GerarException(ACBrStr('A funcionalidade [Enviar Lote] não foi disponibilizada pelo provedor: ' +
      FPConfiguracoesNFSe.Geral.xProvedor));

Fiz o teste também pelo Demo, nas várias opções e sempre dá o mesmo problema.

Não estou conseguindo configurar corretamente o SH3.ini deixando as opções funcionais.

Poderia por favor me ajudar com isso?

Mais informações desse provedor, obtive no link abaixo:
https://homologa_saogeraldo.nfiss.com.br/?Meio=Informacoes_Webservice

Os webservices são disponibilizados conforme a imagem:

image.thumb.png.7356b2f7bd6fd8ab6337680c7b834e4b.png

 

Cidades.ini

SH3.ini

Postado
Bom dia Ítalo,
Realizando os testes SH3, passou pelo GerarLote() porém dá erro em Enviar().
A mensagem de erro não foi interpretada não apresentando nada, mas no XML consta "000 - Este ambiente nao foi configurado"
 
O problema ocorre em ACBrDFeWebService (linha 4937) na chamada abaixo:
function TWebServices.Envia(ALote: String): Boolean;
...
  Result := FEnviarLoteRPS.Executar;    <<<<--------------------------  AQUI
 
Os XMLs gerados foram anexados.
Também a tela no código fonte (caso ajude em alguma coisa)...
 
Não consegui identificar as causas do problema.
Pode dar mais uma força ai?

Obs: Temos troca de e-mails sobre esse assunto, estou adicionando aqui também caso outros também passem por dificuldades com Provedor SH3.

Agradecido,
 
Marcos

1-env-lot.xml

1-env-lot-soap.xml

1-lot-rps.xml

1-lot-rps-soap.xml

1-rec.xml

1-rec-soap.xml

Linha do Erro codigo fonte.png

  • Consultores
Postado

Bom dia Marcos,

Ao tentar acessar o Web Services, tive o mesmo erro com diversas cidades, mas outras funcionam, por exemplo:

Sao Joao Del Rei / MG - Dores de Campos / MG - Sao Geraldo / MG - Belo Vale / MG - Tiradentes / MG

 

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

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