Ir para conteúdo
  • Cadastre-se

wendelswl

Membros Pro
  • Total de ítens

    36
  • Registro em

  • Última visita

Posts postados por wendelswl

  1. Prezado Ítalo, mais uma vez obrigado pelo feedback.

     

    Ocorreu sim o download do arquivo procEventoNFe do NSU de número 6, mas o mesmo se trata de uma carta de correção e não do evento de manifestação do destinatário. Analisando minuciosamente as NT's 2014.002 e 2012.002 percebi o seguinte: O WS NFeDistribuicaoDFe não fornece ao destinatário o evento de manifestação que ele mesmo efetuou, ou seja, através dos xml's retornados pelo WS é impossível obter tal informação. Acredito que o aplicativo de MD-e da SEFAZ faça utilização do WS NfeConsultaDest que, até onde li, será desativado. Favor, me corrija se estiver errado. Mas se eu estiver certo, como a aplicação que efetuou a manifestação do destinatário teria a confirmação que tal evento realmente chegou à SEFAZ caso haja alguma falha de comunicação na primeira tentativa de obter o retorno? Até onde analisei, não vi nenhum webservice em que o autor do evento de manifestação possa consultar os seus eventos que não seja o "NfeConsultaDest". 

    Na oportunidade envio todos os outros XML's do processo em anexo, caso queira efetuar análise.

     

    Wendel Oliveira

    SWL SOFTWARE

    201601.rar

  2. Prezado Italo, bom dia. primeiramente agradeço a disponibilidade e presteza.

     

    O componente está configurado para salvar os arquivos em disco, Após alguns testes acabei apagando os arquivos, mas gerei um outro que possuem os NSUs de 1 a 4 conforme mensagem que postei anteriormente. Segue em anexo.

    20160104174606-dist-dfe.xml

  3. Prezados, bom dia. Tenho uma dúvida... Já li vários posts aqui do fórum e até então não localizei a resposta, gostaria da ajuda dos nobres colegas para tentar resolver uma situação. :), segue um teste que fiz:

     

    Fiz a emissão de 3 NF-e's contra meu CNPJ, utilizei o DistribuicaoDFe e consegui o resumo das mesmas (NSUs 1, 2 e 3) através do nosso sistema. Efetuei a manifestação de ciência de operação da NF-e correspondente ao NSU nº 1 através do programa da SEFAZ-SP, consequentemente, foi gerado um novo NSU de número 4 retornando as informações com o XML da NF-e. No nosso sistema o controle interno do último NSU consultado era o NSU de número 3, quando invoquei o método DistribuicaoDFe novamente, recebi as informações devidas do NSU de número 4 com o XML da NF-e, porém não consigo identificar a propriedade do componente que me retorna o tipo de Manifestação que ocorreu (Ciência da Operação, Operação Realizada, etc...). Fiz este teste com o intuito de capturar um evento efetuado pelo escritório de contabilidade, mantendo em nosso sistema sempre a informação atualizada, visto que, controlamos o último NSU na aplicação. Além disso, baixei o programa de Manifestação do Destinatário de SP em outra maquina, e fiz a consulta partindo do NSU de número 0 (últimos 3 meses), assim sendo o mesmo identificou a ciência da operação do NSU número 4 normalmente, por isso vi que havia esta possibilidade através de algum WS que não sei qual é. Alguém sabe informar se é possível obter esta informação através do componente?

  4. Prezado, boa noite.

    Entendi que não se deve inutilizar a NF-e em ambiente SVC-RS, pois o serviço não é disponível lá, esta situação já está sendo tratada por nosso ERP. O que estou tentando explicar é que caso haja um erro por parte do desenvolvedor (que foi o nosso caso), o webservice apresentaria um retorno para a aplicação com a exceção correspondente de que o serviço não é disponível e dessa forma acredito que ficaria explícito que este ambiente não deve ser utilizado. Para tal situação a condição acima deveria ser modificada como sugeri, pois se o tipo de emissão for SVC-RS a URL do action seria modificada para "NfeInutilizacao", Da forma que está, tanto a consulta quanto a inutilização nada é  retornado pelo webservice, a exceção é levantada em branco. Ou seja, o problema só ocorre se o tipo de emissão for SVC-RS, se for para a Sefaz-BA tudo acontece naturalmente.

     

    Obrigado pelos esclarecimentos e segue a sugestão. Saliento que vossa explicação foi claríssima e obrigado mais uma vez pela disponibilidade.

  5. Boa tarde. Há um problema nas funções mencionadas, pois sem as correções que sugeri a URL fica incorreta e o webservice não retorna nada, desta forma a exceção aparece sempre em branco. Se o tipo de emissão da NF-e for normal a url termina com 'NfeInutilizacao' e não com 'NfeInutilizacao2', observe abaixo e ficará mais claro.

     

    SOAP 1.2

    The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

    POST /webservices/NfeInutilizacao/NfeInutilizacao.asmx HTTP/1.1
    Host: nfe.sefaz.ba.gov.br
    Content-Type: application/soap+xml; charset=utf-8
    Content-Length: 
    
    <?xml version="1.0" encoding="utf-8"?>
    <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
      <soap12:Header>
        <nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao">
          <versaoDados></versaoDados>
          <cUF></cUF>
        </nfeCabecMsg>
      </soap12:Header>
      <soap12:Body>
        <nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao"></nfeDadosMsg>
      </soap12:Body>
    </soap12:Envelope>
    HTTP/1.1 200 OK
    Content-Type: application/soap+xml; charset=utf-8
    Content-Length: 
    
    <?xml version="1.0" encoding="utf-8"?>
    <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
      <soap12:Header>
        <nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao">
          <versaoDados></versaoDados>
          <cUF></cUF>
        </nfeCabecMsg>
      </soap12:Header>
      <soap12:Body>
        <nfeInutilizacaoNFResult xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao"></nfeInutilizacaoNFResult>
      </soap12:Body>
    </soap12:Envelope>
  6. Boa tarde a equipe do ACBR. Na unit ACBRNFeWebServices há um problema na inutilização quando utiliza-se estado Bahia (29) nos seguintes procedimentos:

    Procedure TNFeConsulta.DefinirServicoEAction;

    Procedure TNFeInutilizacao.DefinirServicoEAction;

    Na condição contida na função deve-se adicionar um filtro de forma de emissão, pois para SVC-RS ocorrem erros:

     

    Alterar de:

      if (FConfiguracoes.Geral.ModeloDF = moNFe) and
         (FConfiguracoes.Geral.VersaoDF = ve310) and
         (FConfiguracoes.WebServices.UFCodigo in [29]) then // 29 = BA

     

    Para:

      if (FConfiguracoes.Geral.ModeloDF = moNFe) and
         (FConfiguracoes.Geral.VersaoDF = ve310) and
         (FConfiguracoes.Geral.FormaEmissao = teNormal) and
         (FConfiguracoes.WebServices.UFCodigo in [29]) then // 29 = BA

     

    Segue unit alterada para vossa apreciação caso seja necessário. Não analisei os layouts anteriores ao 3.10 para efetuar a modificação, Para o ambiente 3.10 funciona perfeitamente.

     

    ACBrNFeWebServices.pas

  7. Bom dia. Pessoal, vi que o post é antigo, porém estou iniciando os trabalhos com boletos da caixa e utilizo o Fortes Report (Carnê). Enviei alguns boletos para homologação e recebi as seguintes mensagens do banco:

     

    FICHA DE COMPENSAÇÃO

     

    - LOCAL DE PAGAMENTO PREENCHIDO INCORRETAMENTE (PREENCHER CONFORME ITEM 4.2.2.1 DO MO 67119, OU SEJA, “PREFERENCIALMENTE NAS CASAS LOTÉRICAS ATÉ O VALOR LIMITE”)

     

    - RETIFICAR TODOS OS CAMPOS ONDE CONSTA A EXPRESSÃO “CEDENTE” PARA “BENEFICIÁRIO” E ONDE CONSTA A EXPRESSÃO “SACADO” PARA “PAGADOR”

     

    - RETIFICAR OS CAMPOS PARA (=) VALOR DO DOCUMENTO, (-) DESCONTO, (-) OUTRAS DEDUÇÕES/ABATIMENTO, (+) MORA/MULTA/JUROS, (+) OUTROS ACRÉSCIMOS e (=) VALOR COBRADO NESTA SEQÜÊNCIA.

     

    - RETIFICAR O CAMPO “PAGADOR/AVALISTA” PARA CAMPO “SACADOR/AVALISTA”

     

    RECIBO DO PAGADOR

     

    - NÃO CONSTA A EXPRESSÃO “RECIBO DO PAGADOR”

     

    - RETIFICAR TODOS OS CAMPOS ONDE CONSTA A EXPRESSÃO “CEDENTE” PARA “BENEFICIÁRIO” E ONDE CONSTA A EXPRESSÃO “SACADO” PARA “PAGADOR”

              

    - NÃO CONSTA O CAMPO “NÚMERO DO DOCUMENTO”

              

    - RETIFICAR OS CAMPOS PARA (=) VALOR DO DOCUMENTO, (-) DESCONTO, (-) OUTRAS DEDUÇÕES/ABATIMENTO, (+) MORA/MULTA/JUROS, (+) OUTROS ACRÉSCIMOS e (=) VALOR COBRADO NESTA SEQÜÊNCIA

     

     

    Em anexo vai a imagem de um dos boletos que enviei. Atualizei meu componente hoje. Tem algo de errado na minha atualização ou realmente os erros a seguir existem?? Agradeço antecipadamente.

     

    Wendel Oliveira

    SWL SOFTWARE

    post-9370-0-09941200-1418475291_thumb.jp

  8. Prezado, vc pode entrar no site da SEFAZ de origem com o certiificado digital e obter o XML original da NF-e novamente. A partir daí existem "n" formas  de gerar o PDF da mesma.

  9. Prezado, o código constante na unit q tenho está conforme abaixo, não possuía o try. Por este motivo reportei o problema do leak. Irei atualizar pelo repositório e posto o resultado. Gde abraço e obrigado pela resposta
     
          for J:=1 to Cert.Extensions.Count do
           begin
             Extension := IInterface(Cert.Extensions.Item[J]) as IExtension;
             Propriedades := Extension.EncodedData.Format(True);
             if (Pos('2.16.76.1.3.3',Propriedades) > 0) then
              begin
                Lista := TStringList.Create;
                Lista.Text := Propriedades;
                for K:=0 to Lista.Count-1 do
                 begin
                   if (Pos('2.16.76.1.3.3',Lista.Strings[K]) > 0) then
                    begin
                      FCNPJ := StringReplace(Lista.Strings[K],'2.16.76.1.3.3=','',[rfIgnoreCase]);
                      FCNPJ := OnlyNumber(HexToAscii(RemoveString(' ',FCNPJ)));
                      break;
                    end;
                 end;
                break;
              end;
             Extension := nil;
           end;
     
          break;
        end;
      end;
     
      if not(Assigned(Result)) then
        raise EACBrNFeException.Create('Certificado Digital não encontrado!');
  10. Prezados, aproveitando o tópico há um memory leak

    unit AcbrNFeConfiguracoes.pas

     

    na função

     

    TCertificadosConf.GetCertificado: ICertificate2

     

    A variável Lista do tipo TStringList não está sendo destruída. Grande abraço

×
×
  • 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.