Ir para conteúdo
  • Cadastre-se

Arthur Freitas

Membros
  • Total de ítens

    10
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Arthur Freitas's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

1

Reputação

  1. Arthur Freitas

    ERP Open Source

    Olá Amigos da comunidade ACBr! Estou iniciando um projeto de ERP Open Source, a idéia não é prejudicar nenhuma software house, afinal a idéia do open source não se destina diretamente ao consumidor final de um produto. A idéia do projeto é ajudar a comunidade que usa o ACBr. Facilitando assim incluir partes em seu sistema, abraçar ideias e ajudar a melhorar um ERP base para seus futuros projetos. Quem quiser colaborar ou utilizar segue o link do projeto. Abraços https://github.com/Moebios-Softwares/CommerceERP#readme
  2. Pois eh. Apliquei sim. Do cnpack. Vou fazer isso. De qualquer forma aqui resolveu comparando se já havia a informação que o fOrdenacaoPath.Item adiciona para cada item ao diretório Path salvar
  3. Boa tarde, Consegui resovler adicionando uma verificação de proteção na parametrização do PathSalvar na função TArquivosConf.GetPath, caso haja melhoramentos no código, desculpe em nao ajudar 100% Estou adicionando a unit em anexo function TArquivosConf.GetPath(const APath: string; const ALiteral: string; const CNPJ: string = ''; const IE: string = ''; Data: TDateTime = 0; const ModeloDescr: string = ''): string; procedure AddPathOrder(AAdicionar: Boolean; AItemOrdenacaoPath: TTagOrdenacaoPath); begin if AAdicionar then FOrdenacaoPath.Add.Item := AItemOrdenacaoPath; end; var wDia, wMes, wAno: word; Dir, Modelo, sAno, sMes, sDia, CNPJ_temp, IE_temp: string; LenLiteral, i: integer; begin if EstaVazio(APath) then Dir := PathSalvar else Dir := APath; //se nao foi informada nenhuma ordenação, cria ordenação na ordem anterior (compatibilidade) if (FOrdenacaoPath.Count = 0) then begin AddPathOrder(SepararPorCNPJ, opCNPJ); AddPathOrder(SepararPorIE, opIE); AddPathOrder(SepararPorModelo, opModelo); AddPathOrder((SepararPorAno or SepararPorMes or SepararPorDia), opData); AddPathOrder(AdicionarLiteral, opLiteral); end; for i := 0 to FOrdenacaoPath.Count - 1 do begin case FOrdenacaoPath[i].Item of opCNPJ: begin CNPJ_temp := OnlyNumber(CNPJ); if EstaVazio(CNPJ_temp) then if Assigned(fpConfiguracoes.Owner) then CNPJ_temp := OnlyNumber(TACBrDFe(fpConfiguracoes.Owner).SSL.CertCNPJ); if NaoEstaVazio(CNPJ_temp) and not AnsiContainsText(Dir, CNPJ_temp) then Dir := PathWithDelim(Dir) + CNPJ_temp; end; opIE: begin IE_temp := OnlyNumber(IE); if NaoEstaVazio(IE_temp) and not AnsiContainsText(Dir, IE_temp) then Dir := PathWithDelim(Dir) + IE_temp; end; opModelo: begin if (ModeloDescr = '') and Assigned(fpConfiguracoes.Owner) then Modelo := TACBrDFe(fpConfiguracoes.Owner).GetNomeModeloDFe else Modelo := ModeloDescr; if not AnsiContainsText(Dir, Modelo) then Dir := PathWithDelim(Dir) + Modelo; end; opData: begin if Data = 0 then Data := Now; DecodeDate(Data, wAno, wMes, wDia); sDia := IntToStrZero(wDia, 2); sMes := IntToStrZero(wMes, 2); sAno := IntToStrZero(wAno, 4); if SepararPorAno and not AnsiContainsText(Dir, sAno) then Dir := PathWithDelim(Dir) + sAno; if SepararPorMes and not AnsiContainsText(Dir, sMes) then begin if SepararPorAno and not AnsiContainsText(Dir, sMes) then Dir := PathWithDelim(Dir) + sMes else if not AnsiContainsText(Dir, sAno + sMes) then Dir := PathWithDelim(Dir) + sAno + sMes; if SepararPorDia and not AnsiContainsText(Dir, sDia) then Dir := PathWithDelim(Dir) + sDia; end; end; opLiteral: begin LenLiteral := Length(ALiteral); if (LenLiteral > 0) then begin if (RightStr(Dir, LenLiteral) <> ALiteral) and not AnsiContainsText(Dir, ALiteral) then Dir := PathWithDelim(Dir) + ALiteral; end; end; end; end; if not DirectoryExists(Dir) then ForceDirectories(Dir); Result := Dir; end; ACBrDFeConfiguracoes.pas
  4. Correto Juliomar. Obrigado pela atenção. Farei aqui
  5. Boa tarde, depurei agora o sistema, e acabei de ver que a função TArquivosConf.GetPath está sendo chamada no inicio do sistema ao ler as configurações e configurar o componente conforme acontece no exemplo da NFe do ACBr, após fechar o sistema ele chama novamente esta função e dobra o caminho após percorrer os itens da FOrdenacaoPath.Item. Isto deveria acontecer mesmo? ou estou fazendo alguma sobreposição de propriedades do componentes que causa essa duplicação?
  6. Bom dia! Separar por ano, CNPJ e mês estão marcados. A ordenação por Path está sem itens Hoje a tarde vou fazer a depuração pra encontrar o que pode estar duplicando o Path. Talvez consiga dar um norte
  7. Acabei de fazer, mas continua o mesmo problema, assim que resolver algumas pendencias vou procurar nos fontes mais a fundo, para ver se consigo resolver e posto aqui se conseguir
  8. Sim Juliomar, exatamente ontem, vou dar uma olhada nos fontes,
  9. Muito obrigado! Eu uso o ACBr há muito tempo mas não tinha me deparado com isso
  10. Boa noite queridos amigos, Recentemente o ACBr NFe está salvando os arquivos XML na estrutura repetida a seguir: Docs\CNPJ\NFe\2020\08\CNPJ\NFe\2020\08 Alguém já passou por isso? Obrigado!
×
×
  • 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.