Ir para conteúdo
  • Cadastre-se

Italo Giurizzato Junior

Consultores
  • Total de ítens

    36.030
  • Registro em

  • Última visita

  • Days Won

    1.000

Posts postados por Italo Giurizzato Junior

  1. Marcelo,

    Sim deveria assinar.

    Faz o seguinte:

    Você tem fontes do ACBr com alterações locais?
    Verifica se não tem nenhuma unit do ACBr com uma bolinha vermelha em seu ícone, caso afirmativo delete a unit.
    Atualize todos os fontes de todas as pastas.
    Reinstale o ACBr com a opção de apagar arquivos antigos marcada.
    Compile a aplicação com a opção Build.
    Por fim repita os testes.
     

  2. Marcelo,

    Acabei de fazer um teste com o programa exemplo do componente ACBrNFSeX, tanto o pedido de cancelamento quanto o pedido de substituição foram assinados.

    O XML que você anexou só continha a assinatura do pedido de cancelamento.

    Tem que ver o que eles querem.

    Se é para assinar o RPS que consta no envio da Substituição ou se é para assinar a Substituição como dito acima.

     

  3. Bom dia Marcelo,

    Abra a unit SigCorp.Provider e procure por:

    procedure TACBrNFSeProviderSigCorp204.Configuracao;

    Me diga como esta os parâmetros de assinatura, veja se esta desta forma:

      with ConfigAssinar do
      begin
        Rps := True;
        LoteRps := True;
        CancelarNFSe := True;
        RpsGerarNFSe := True;
        SubstituirNFSe := True;
      end;

     

  4. Bom dia @Luiz Vaz,

    Você deve estar com os seus fontes desatualizados.

    Você tem fontes do ACBr com alterações locais?
    Verifica se não tem nenhuma unit do ACBr com uma bolinha vermelha em seu ícone, caso afirmativo delete a unit.
    Atualize todos os fontes de todas as pastas.
    Reinstale o ACBr com a opção de apagar arquivos antigos marcada.
    Compile a aplicação com a opção Build.
    Por fim repita os testes.
     

    As alterações no arquivo ACBrNFSeXServicos.ini foram realizadas em janeiro deste ano, veja:

    [2501807]
    ; Incluído em 22/01/2024
    Nome=Bayeux
    UF=PB
    Provedor=ISSIntel
    ProNameSpace=http://bayeux-pb.issintegra.com.br/webservices/abrasf/api
    HomNameSpace=http://bayeux-pb.treino-issintegra.com.br/webservices/abrasf/api
    ProRecepcionar=https://bayeux-pb.issintegra.com.br/webservices/abrasf/api
    HomRecepcionar=https://bayeux-pb.treino-issintegra.com.br/webservices/abrasf/api
    ProSoapAction=http://bayeux-pb.issintegra.com.br/webservices/abrasf/api/
    HomSoapAction=http://bayeux-pb.treino-issintegra.com.br/webservices/abrasf/api/

    No programa exemplo do componente ACBrNFSeX na aba Geral temos o botão [Informações sobre o Provedor]

    Configure o programa exemplo com a respectiva cidade, clique no botão, você vai ter as seguintes informações:

    ------------------------------------
    Informações sobre o provedor: ISSIntel - Versão: 1.00 - Layout: ABRASF
    
    Autenticação
    
     Requer Certificado Digital
     Não requer Login/Senha
     Não requer Chave de Acesso
     Não requer Chave de Autorizacao
     Não requer Frase Secreta
    
    Serviços Disponibilizados
    
     Permite o envio de Lote em Modo Assíncrono
     Não permite o envio de Lote em Modo Síncrono
     Não permite o envio Unitário em Modo Síncrono
     Permite Consultar a Situação do Lote
     Permite Consultar o Lote
     Permite Consultar o Rps
     Permite Consultar a NFS-e
     Não permite Consultar uma Faixa de NFS-e
     Não permite Consultar Serviço Prestado
     Não permite Consultar Serviço Tomado
     Permite Cancelar NFS-e
     Não permite Substituir NFS-e
     Não permite Gerar Token
     Não permite Enviar Evento
     Não permite Consultar Evento
     Não permite Consultar DF-e
     Não permite Consultar Parâmetros
     Não permite Consultar Sequencia de Rps
     Não permite Consultar Link da NFS-e
     Não permite Consultar NFS-e por Chave
    
    Particularidades
    
     Não permite mais de um serviço
     Não permite o envio da tag OutrasInformacoes no Rps
    
    ------------------------------------

     

  5. Olá Pessoal,

    Muitos DF-e (Documentos Fiscais Eletrônicos) foram implementados para o seu envio ser em Lotes contendo de 1 até 50 documentos.

    Esse modo de envio em lote funciona no modo assíncrono.

    Outros DF-e já foram implementados com o modo de envio unitário, ou seja, só podemos enviar um documento por vez, consequentemente esse modo de envio funciona no modo síncrono.

     

    A primeira diferença que podemos notar é:

    No envio assíncrono podemos enviar um lote contendo de 1 até 50 documentos, já no envio síncrono podemos enviar somente um documento por vez.

    A segunda diferença diz respeito ao retorno:

    No envio assíncrono temos como retorno do webservice um numero chamado de Recibo que atesta que o webservice recebeu o lote enviado, por outro lado no envio síncrono não temos o numero do Recibo como retorno.

    A terceira diferença se refere ao resultado do processamento:

    No envio assíncrono devemos realizar uma consulta se utilizando do numero do Recibo.

    É o retorno dessa consulta que nos vai dizer se o(s) documento(s) enviado(s) para o webservice foi ou foram processado(s) com sucesso.

    Já no envio síncrono não temos no retorno o numero do Recibo, logo não temos como realizar a consulta pelo numero do Recibo, alias não se faz necessário uma vez que no retorno do envio síncrono o que temos de retorno já é o resultado do processamento, portanto já temos na resposta se o documento foi processado com sucesso ou não.

     

    DF-e que já nasceram com o modo de envio Síncrono:

    BP-e = Bilhete de Passagem Eletrônico

    BP-e TM = Bilhete de Passagem Eletrônico Transporte Metropolitano

    GTV-e = Guia de Transporte de Valores Eletrônico

    DC-e = Declaração de Conteúdo Eletrônica

    NFCom = Nota Fiscal de Comunicação Eletrônica

     

    DF-e que nasceram com o modo de envio Assíncrono e que mudaram ou vão mudar para Síncrono:

    CT-e = Conhecimento de Transporte Eletrônico (desde 06/2023 só funciona o modo Síncrono)

    CT-e OS = Conhecimento de Transporte Eletrônico Outros Serviços (desde 06/2023 só funciona o modo Síncrono)

    MDF-e = Manifesto de Documentos Fiscais Eletrônicos (Modo Assíncrono será desativado em 30/06/2024)

    NFC-e = Nota Fiscal ao Consumidor Eletrônica (desde 04/09/2023 só funciona o modo Síncrono)

     

    DF-e que possui os dois modos de envio Assíncrono e Síncrono:

    NF3-e = Nota Fiscal de Energia Elétrica Eletrônica

     

    Observação:

    Notem que nas listas acima não aparece a NF-e = Nota Fiscal Eletrônica, o motivo é que a NF-e nasceu somente com o modo Assíncrono de envio, depois passou a ter o modo de envio Síncrono, mas este modo não se encontra disponível na SEFAZ de São Paulo e Bahia.

    O Fisco já sinalizou que pretende acabar com o modo de envio Assíncrono da NF-e, deixando somente o modo Síncrono.

    A motivação para essa mudança é que por volta de 90% dos lotes recepcionados por todas as SEFAZ de todas as UF possuem somente um documento.

    Sendo assim não faz muito sentido consumir dois serviços (Recepção e Consulta) para apenas um documento, lembrando que no modo Assíncrono se faz necessário a Consulta pelo numero do Recibo para obter o resultado do processamento.

    Já que 90% dos contribuintes enviam as suas notas de forma unitária, ou seja, uma nota por vez, tanto a SEFAZ quanto o desenvolvedor do Software sairiam ganhando com essa mudança, pois a SEFAZ eliminaria o serviço de Consulta pelo numero do Recibo e o Software ficaria mais rápido pois não precisaria executar essa consulta.

    Quando vai ocorrer essa mudança não sei, o Fisco não disse quando, mas vai ocorrer.

     

    Codificação para quem utiliza os componentes:

    A titulo de exemplo será utilizado o componente ACBrMDFe, mas podemos replicar para os demais.

    O método Enviar possui 3 parâmetros:

        function Enviar(const ALote: String; Imprimir: Boolean = True;  ASincrono:  Boolean = False): Boolean; overload;
     

    ALote = Numero do Lote que contem os documentos a serem enviados para o webservice da SEFAZ.

    Imprimir = Se True (valor padrão) diz que o Documento Auxiliar vai ser impresso no final do processo, se False diz que não vai ser impresso.

    ASincrono = Se False (valor padrão) diz que o modo de envio é Assíncrono, se True diz que o modo de envio é Síncrono.

     

    Exemplo de Envio no modo Assíncrono (só deve ser utilizado pelos DF-e que ainda possuem esse modo de envio):

      ACBrMDFe1.Enviar(NumLote);
    ou
      ACBrMDFe1.Enviar(NumLote, False);

    Exemplo de leitura do retorno do envio no modo Assíncrono:

      with MemoDados do
      begin
        Lines.Add('');
        Lines.Add('Envio MDFe');
        Lines.Add('tpAmb: '     + TpAmbToStr(ACBrMDFe1.WebServices.Retorno.tpAmb));
        Lines.Add('verAplic: '  + ACBrMDFe1.WebServices.Retorno.verAplic);
        Lines.Add('cStat: '     + IntToStr(ACBrMDFe1.WebServices.Retorno.cStat));
        Lines.Add('xMotivo: '   + ACBrMDFe1.WebServices.Retorno.xMotivo);
        Lines.Add('cUF: '       + IntToStr(ACBrMDFe1.WebServices.Retorno.cUF));
        Lines.Add('xMsg: '      + ACBrMDFe1.WebServices.Retorno.Msg);
        Lines.Add('Recibo: '    + ACBrMDFe1.WebServices.Retorno.Recibo);
        Lines.Add('Protocolo: ' + ACBrMDFe1.WebServices.Retorno.Protocolo);
      end;

    Exemplo de Envio no modo Síncrono (utilizado pelos DF-e que só possuem ou também tem este modo de envio):

      ACBrMDFe1.Enviar(NumLote, True, True);
    ou
      ACBrMDFe1.Enviar(NumLote, False, True);

    Exemplo de leitura do retorno do envio no modo Síncrono:

      with MemoDados do
      begin
        Lines.Add('');
        Lines.Add('Envio MDFe');
        Lines.Add('Chave: '    + ACBrMDFe1.Manifestos[0].MDFe.procMDFe.chMDFe);
        Lines.Add('');
        Lines.Add('tpAmb: '     + TpAmbToStr(ACBrMDFe1.WebServices.Enviar.tpAmb));
        Lines.Add('verAplic: '  + ACBrMDFe1.WebServices.Enviar.verAplic);
        Lines.Add('cStat: '     + IntToStr(ACBrMDFe1.WebServices.Enviar.cStat));
        Lines.Add('xMotivo: '   + ACBrMDFe1.WebServices.Enviar.xMotivo);
        Lines.Add('cUF: '       + IntToStr(ACBrMDFe1.WebServices.Enviar.cUF));
        Lines.Add('xMsg: '      + ACBrMDFe1.WebServices.Enviar.Msg);
        Lines.Add('Recibo: '    + ACBrMDFe1.WebServices.Enviar.Recibo);
      end;

     

    E para quem usa ACBrLib ou ACBrMonitorPLUS?

    Os diferentes modos de envio também são considerados e estão disponíveis em ambas as soluções.

    No que diz respeito ao envio, os comandos também possuem um parâmetro que define se o envio será síncrono ou assíncrono.

    Vamos ver o exemplo do MDFe:

    Para a ACBrLib:

    MDFE_Enviar(ALote, AImprimir, ASincrono, sResposta, esTamanho);

    ALote: Número do Lote a ser enviado.
    AImprimir: Se True, imprime DAMFDe caso o MDFe seja autorizado.
    ASincrono
    Se True envia o MDFe em modo sincrono.
    sResposta: Usado pelo retorno, contem as informações retornadas pela consulta.
    esTamanho: Usado pelo retorno, contem o tamanho da string (sResposta).

    Então o comando ficaria:

    MDFe_Enviar(ALote, AImprimir, False, sResposta, esTamanho)
    ou
    MDFe_Enviar(ALote, AImprimir, True, sResposta, esTamanho)

    Para o ACBrMonitorPLUS:

    MDFE.ENVIARMDFe(nXMLMDFe, [nLote], [nAssinar],[nImprimi],[nImpressora], [bAssincrono], [bEncerrado] )
     

    nXMLMDFe: Caminho do XML do MDF-e 
    nLote: Número do Lote  (opcional)
    nAssinar: Assinar o XML (opcional - informe 0 para não assinar)
    nImprimi: Imprimir MDF-e (opcional - informe 1 para imprimir)
    nImpressora: Nome da Impressora (opcional)
    bAssincrono: Por padrão o envio é Assíncrono, informa "False" para envio Sincrono
    bEncerrado: Imprimir Mensagem de "MDFe Encerrado", (opcional - informe 1 para imprimir)

    Ficando:

    MDFe.EnviarMDFe(nXMLMDFe, nLote, nAssinar, nImprimi, nImpressora, True, bEncerrado)
    ou
    MDFe.EnviarMDFe(nXMLMDFe, nLote, nAssinar, nImprimi, nImpressora, False, bEncerrado)

    A hora de ler a resposta também muda um pouco.

    No envio assíncrono, temos uma seção [Envio], [Retorno] e [MDFe + Numero do Documento].

    Já no envio síncrono, não existe mais a seção [Retorno] e a seção MDFe é concatenada com a chave de acesso.

    Resposta Assíncrona:

    [Envio]
    CStat=
    CUF=
    DhRecbto=
    Msg=
    NProt=
    NRec=
    TMed=
    TpAmb=
    VerAplic=
    Versao=
    XMotivo=
    Xml=
    
    [Retorno]
    CStat=
    CUF=
    ChaveDFe=
    DhRecbto=
    Msg=
    Protocolo=
    VerAplic=
    Versao=
    XMotivo=
    cMsg=
    nRec=
    tpAmb=
    xMsg=
    
    [MDFe1]
    Id=
    XML=
    cStat=
    chDFe=
    dhRecbto=
    digVal=
    nProt=
    tpAmb=
    verAplic=
    xMotivo=

    Resposta Síncrona:

    [Envio]
    CStat=
    CUF=
    DhRecbto=
    Msg=
    NProt=
    NRec=
    TMed=
    TpAmb=
    VerAplic=
    Versao=
    XMotivo=
    Xml=
    
    [MDFe12345678901234567890123456789012345678901234]
    Id=
    XML=
    cStat=
    chDFe=
    dhRecbto=
    digVal=
    nProt=
    tpAmb=
    verAplic=
    xMotivo=

     

    • Curtir 3
    • Obrigado 1
×
×
  • 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.