Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Boa Tarde estou com a seguinte situação.

Estou usando o ACBrCTe a função de distribuição Cte.

No arquivo  ACBrCTeWebServices dentro da procedure TratarResposta, existe uma função GerarPathDistribuicao (Código mostrado a baixo).

O Problema que está função fica criando as pastas mesmo quando eu estou com o propriedade FPConfiguracoesCTe.Arquivos.Salvar = False.

Me parece que essa função GerarPathDistribuicao deveria estar dentro do  if (FPConfiguracoesCTe.Arquivos.Salvar) and NaoEstaVazio(FNomeArq) then, conseguiriam avaliar fazendo um favor.


 

function TDistribuicaoDFe.TratarResposta: Boolean;
var
  I: Integer;
  AXML, aPath: String;
begin
  FPRetWS := SeparaDados(FPRetornoWS, 'cteDistDFeInteresseResult');

  // Processando em UTF8, para poder gravar arquivo corretamente //
  //A função UTF8ToNativeString deve ser removida quando for refatorado para usar ACBrXmlDocument
  FretDistDFeInt.Leitor.Arquivo := UTF8ToNativeString(ParseText(FPRetWS));
  FretDistDFeInt.LerXml;

  for I := 0 to FretDistDFeInt.docZip.Count - 1 do
  begin
    AXML := FretDistDFeInt.docZip.Items[I].XML;
    FNomeArq := '';
    if (AXML <> '') then
    begin
      case FretDistDFeInt.docZip.Items[I].schema of
        { Bloco abaixo não deve ser removido, pois caso a SEFAZ venha
          Disponibilizar resumos de CTe e de eventos o código já esta
          pronto. }
        (*
        schresCTe:
          FNomeArq := FretDistDFeInt.docZip.Items[I].resCTe.chCTe + '-resCTe.xml';

        schresEvento:
          FNomeArq := OnlyNumber(TpEventoToStr(FretDistDFeInt.docZip.Items[I].resEvento.tpEvento) +
                     FretDistDFeInt.docZip.Items[I].resEvento.chCTe +
                     Format('%.2d', [FretDistDFeInt.docZip.Items[I].resEvento.nSeqEvento])) +
                     '-resEventoCTe.xml';
        *)
        schprocCTe,
        schprocCTeOS,
        schprocGTVe,
        schprocCTeSimp:
          FNomeArq := FretDistDFeInt.docZip.Items[I].resDFe.chDFe + '-cte.xml';

        schprocEventoCTe:
          FNomeArq := OnlyNumber(FretDistDFeInt.docZip.Items[I].procEvento.Id) +
                     '-procEventoCTe.xml';
      end;

      if NaoEstaVazio(NomeArq) then
        FlistaArqs.Add( FNomeArq );

      aPath := GerarPathDistribuicao(FretDistDFeInt.docZip.Items[I]);
      FretDistDFeInt.docZip.Items[I].NomeArq := aPath + FNomeArq;

      if (FPConfiguracoesCTe.Arquivos.Salvar) and NaoEstaVazio(FNomeArq) then
      begin
        if (FretDistDFeInt.docZip.Items[I].schema in [schprocEventoCTe]) then
          FPDFeOwner.Gravar(FNomeArq, AXML, aPath);

        if (FretDistDFeInt.docZip.Items[I].schema in [schprocCTe, schprocCTeOS,
             schprocGTVe, schprocCTeSimp]) then
          FPDFeOwner.Gravar(FNomeArq, AXML, aPath);
      end;
    end;
  end;

 

 

  • 3 semanas depois ...
  • Consultores
Postado
51 minutos atrás, Alex Heinen disse:

Bom Dia, algum parecer sobre este caso?

Atualize seu svn, após aplique suas sugestões e teste,

anexe o arquivo modificado aqui caso queira contribuir!

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Moderadores
Postado
5 horas atrás, Alex Heinen disse:

Testei com a unit em anexo, não resolveu o problema.

Segue em anexo como eu resolvi.

ACBrCTeWebServices.pas 132.6 kB · 2 downloads

Correto, mas essa solução resolve apenas para o ACBrCTe.

Você não usa outros DFe como ACBrNFe, ou ACBrMDFe? Provavelmente terá o mesmo problema.

 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

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