Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde. Para gerar o xml e validar com o schema tive que fazer essa modificação. "Segue em anexo."

 

Enfim, conseguir gerar o xml e na hora de fazer a transmissão, não consigo de jeito nenhum. Não sei o que ta acontecendo, acho que vocês me acompanham aqui, estou com uma demanda alta de nota de serviço para varias cidades, e todas deram certos.

Goiânia, Aparecida de Goiânia, Rio verde, Palmas/TO e entre outras. Agora estou com Hidrolandia e Guarai.

O municipio de Guarai/TO usa o provedor MegaSoft.

Usando capicom me retorna o erro:

Inicio TNFSeGerarNFSe
ERRO: 
Erro Interno: 12029
Erro HTTP: 0
URL: https://guarai.megasoftarrecadanet.com.br/guarai/ws/nfseSOAP
Erro: 12029 - Conexão com o Servidor falhou

Usando Wincrypt me retorna o erro:

Inicio TNFSeGerarNFSe
ERRO: 
Erro Interno: 12175
Erro HTTP: 0
URL: https://guarai.megasoftarrecadanet.com.br/guarai/ws/nfseSOAP
Erro: 12175 - Um ou mais erros foram encontrados no certificado Secure Sockets Layer (SSL) enviado pelo servidor

Vou anexar tbm o XML de envio que foi gerado junto com o SOAP.

 

Estou com o fonte atualizado e o sistema operacional também. Com essas outras cidades consigo emitir normal. Acho que deve ser alguma coisa especifica do provedor.

pnfsNFSeW_ABRASFv2.pas 1-ger-nfse.xml 1-ger-nfse-soap.xml

  • Consultores
Postado

Bom dia Lucio,

Não entendi o motivo dessa alteração:

if (NFSe.Servico.CodigoMunicipio <> '1709302') then    // <=== inclusão desse IF
begin
  if (NFSe.Competencia <> '') and (FProvedor <> proMegaSoft) then
  begin
    (...)
  end;
end;

O código 1709302 se refere a cidade de Guarai, esta por sua vez se utiliza do provedor MegaSoft, se a ideia é não gerar a tag <Competencia> o IF abaixo já resolve isso, pois a tag <Competencia> só vai ser gerada se o campo Competencia estiver sido informado e o provedor for diferente de MegaSoft.

Quanto ao erro que você esta tendo ao enviar, ao configurar o componente para libWinCrypt mudou o SSLType para LT_TLSv1_2 ?

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
17 minutos atrás, Italo Giurizzato Junior disse:

Bom dia Lucio,

Não entendi o motivo dessa alteração:


if (NFSe.Servico.CodigoMunicipio <> '1709302') then    // <=== inclusão desse IF
begin
  if (NFSe.Competencia <> '') and (FProvedor <> proMegaSoft) then
  begin
    (...)
  end;
end;

O código 1709302 se refere a cidade de Guarai, esta por sua vez se utiliza do provedor MegaSoft, se a ideia é não gerar a tag <Competencia> o IF abaixo já resolve isso, pois a tag <Competencia> só vai ser gerada se o campo Competencia estiver sido informado e o provedor for diferente de MegaSoft.

Quanto ao erro que você esta tendo ao enviar, ao configurar o componente para libWinCrypt mudou o SSLType para LT_TLSv1_2 ?

Bom dia. Minha tag Competência não está sendo preenchida e mesmo assim estava dando problema.

Código original:

if (NFSe.Competencia <> '') and (FProvedor <> proMegaSoft) then
      begin
        case FProvedor of
          proActcon, proISSDigital, proMitra, proPVH, proSisPMJP, proVirtual,
          proSystemPro, proNEAInformatica,
          proEReceita: Gerador.wCampo(tcStr, '#4', 'Competencia', 10, 10, 1, NFSe.Competencia, DSC_DEMI);

          proABase, proBethav2, proFriburgo, proGovDigital, proNotaInteligente,
          proPronimv2, proVersaTecnologia, proWebISSv2, proActconv202, proBelford,
          proSH3, proSIAPNet, proISSJoinville, proSmarAPDABRASF, proELv2, proAsten,
          proTiplanv2, proDeISS, proTcheInfov2, proDataSmart, proDesenvolve,
          proRLZ, proGiss, proSigCorp, proiiBrasilv2, proSimplISSv2, proActconv204,
          proSiapSistemas, proModernizacaoPublica, proElotech,
          proFuturize: Gerador.wCampo(tcDat, '#4', 'Competencia', 10, 10, 1, NFSe.Competencia, DSC_DEMI);

          proTecnos,
          proCenti: Gerador.wCampo(tcDatHor, '#4', 'Competencia', 19, 19, 0, NFSe.Competencia, DSC_DEMI);

          proSigep:
            Gerador.wCampo(tcDatHor, '#4', 'Competencia', 19, 19, -1, NFSe.DataEmissao, DSC_DEMI);

          profintelISS:
            begin
             if NFSe.Servico.CodigoMunicipio <> '3136702' then
               Gerador.wCampo(tcDatHor, '#4', 'Competencia', 19, 19, 0, NFSe.Competencia, DSC_DEMI)
             else
               Gerador.wCampo(tcDat, '#4', 'Competencia', 19, 19, 0, NFSe.Competencia, DSC_DEMI);
            end;
        else
          Gerador.wCampo(tcStr, '#4', 'Competencia', 19, 19, 1, NFSe.Competencia, DSC_DEMI);
        end;
      end
      else
      begin
        case FProvedor of
          proSigep:
            Gerador.wCampo(tcDatHor, '#4', 'Competencia', 19, 19, -1, NFSe.DataEmissao, DSC_DEMI);

          proCenti, proGoiania, proMegaSoft, proActconv2, ProTecnos:
            Gerador.wCampo(tcDatHor, '#4', 'Competencia', 19, 19, 0, NFSe.DataEmissao, DSC_DEMI);

          profintelISS:
            begin
              if NFSe.Servico.CodigoMunicipio <> '3136702' then
                Gerador.wCampo(tcDatHor, '#4', 'Competencia', 19, 19, 0, NFSe.DataEmissao, DSC_DEMI)
              else
                Gerador.wCampo(tcDat, '#4', 'Competencia', 19, 19, 0, NFSe.DataEmissao, DSC_DEMI);
            end;
        else
          Gerador.wCampo(tcDat, '#4', 'Competencia', 10, 10, 1, NFSe.DataEmissao, DSC_DEMI);
        end;
      end;

O if ta certo, mas quando cai no Else tem o caso do provedor que por sequencia tem proMegaSoft: Se tirar o MegaSoft de baixo então ele vai para outro else default. Então por esse motivo coloquei o IF la em cima para ele nem entrar nessa condição. Veja o IF que você viu e veja o else que vai entender. Vou anexar a imagem que marquei.

 

MegaSoft.png

Agora a questão do erro de comunicação, deu certo o envio. Eu sempre utilizei capicom para enviar as notas, fazendo essa alteração vai da problema? 

  • Consultores
Postado

Lucio,

Experimente fazer essa alteração:

case FProvedor of
  proSigep,
  proMegaSoft:
    Gerador.wCampo(tcDatHor, '#4', 'Competencia', 19, 19, -1, NFSe.DataEmissao, DSC_DEMI);

  proCenti, proGoiania, proActconv2, ProTecnos:
    Gerador.wCampo(tcDatHor, '#4', 'Competencia', 19, 19, 0, NFSe.DataEmissao, DSC_DEMI);

Removi o provedor MegaSoft da lista que inicia com o proCenti e inclui ele na lista que tem o proSigep.

Note que para o provedor proSigep no método que gera a tag no XML o numero de ocorrências é -1, isso diz ao método que ele não deve gerar a tag.

 

Numero de Ocorrências:

-1 = não gerar a tag independente do seu conteúdo

0 = gerar a tag somente se a mesma tiver um conteúdo

1 = gerar a tag independente do seu conteúdo

 

Faça essa alteração e também um novo teste.

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
10 minutos atrás, Italo Giurizzato Junior disse:

Lucio,

Experimente fazer essa alteração:


case FProvedor of
  proSigep,
  proMegaSoft:
    Gerador.wCampo(tcDatHor, '#4', 'Competencia', 19, 19, -1, NFSe.DataEmissao, DSC_DEMI);

  proCenti, proGoiania, proActconv2, ProTecnos:
    Gerador.wCampo(tcDatHor, '#4', 'Competencia', 19, 19, 0, NFSe.DataEmissao, DSC_DEMI);

Removi o provedor MegaSoft da lista que inicia com o proCenti e inclui ele na lista que tem o proSigep.

Note que para o provedor proSigep no método que gera a tag no XML o numero de ocorrências é -1, isso diz ao método que ele não deve gerar a tag.

 

Numero de Ocorrências:

-1 = não gerar a tag independente do seu conteúdo

0 = gerar a tag somente se a mesma tiver um conteúdo

1 = gerar a tag independente do seu conteúdo

 

Faça essa alteração e também um novo teste.

Deu certo. Funcionou corretamente.

Agora a questão do erro de comunicação, deu certo o envio. Eu sempre utilizei capicom para enviar as notas de serviços, fazendo essa alteração vai da problema? 

  • Consultores
Postado

Lucio,

Devemos mudar, ou seja, passar a usar o libWinCrypt e LT_TLSv1_2, pois essa configuração praticamente é padrão para a emissão de NF-e, CT-e, MDF-e entre outros DF-e recepcionados pelas SEFAZ.

Os provedores de NFS-e, começaram a mudar também, logo eu te aconselho a deixar de lado o Capicom e passar a usar o libWinCrypt.

Em breve vamos lançar um novo componente para emissão de NFS-e, os testes que estou realizando com esse novo componente a configuração é usando o libWinCrypt com o LT_TLSv1_2.

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á 1433 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.