Ir para conteúdo
  • Cadastre-se

Rodrigo Coelho

Membros
  • Total de ítens

    68
  • Registro em

  • Última visita

Posts postados por Rodrigo Coelho

  1. Jadson, este é o problema que estamos discutindo aqui. Foi retirada a instrução "Delimitador.StrictDelimiter := True;" por problemas no Delphi 7, mas nos demais não funciona. Então sugeri fazer a mudança necessária que até agora não foi postada no SVN. Então corrigi eu mesmo, como solução provisória.

     

    Basta abrir a função "importar" do ACBrSpedPCImportar.pas e retirar do comentário o comando citado acima.

     

    Valeu.

    • Curtir 1
  2. Após a última atualização do ACBrEPCImportar.pas a importação passou a não funcionar mais no XE5. Verifiquei através de debug que o problema estava já na leitura do primeiro registro (0000). Na variável Delimiter o nome da empresa estava cada palavra em uma coluna diferente, ou seja, ele estava considerando os espaços como separador. Identifiquei que isso se deve a ter tirado a linha

    Delimitador.StrictDelimiter := True;

    Que como diz no SVN "foi retirado pois essa propriedade não existe no Delphi 7". Porém retirando ela causou problema no XE5. Então fiz uma alteração.

    Delimitador.Delimiter := '|';
    {$IFNDEF VER150}
    Delimitador.StrictDelimiter := True;
    {$ENDIF}
    Usei diretiva de compilação para testar. Se for qualquer outra versão, que não a 7, o Delphi vai compilar essa linha. É preciso testar no 7, pois não tenho ele aqui.
    Segue em anexo a unit alterada.

    ACBrEPCImportar.pas

    ACBrEPCImportar.pas

    • Curtir 1
  3. Além da correção de conversão de data eu fiz um correção na leitura do registro C501 que não estava lendo o valor do PIS corretamente.

     

    procedure TACBrSpedPCImportar_BlocoC.RegC501;
    begin
      with ACBrSpedPisCofins.Bloco_C.RegistroC501New do
      begin
        CST_PIS := StrToCstPis(Valor);
        VL_ITEM := ValorF;
        NAT_BC_CRED := StrToNatBcCred(Valor);
        VL_BC_PIS := ValorF;
        ALIQ_PIS := ValorF;
        VL_PIS  := ValorF; <-- Está faltando essa linha
        COD_CTA := Valor;
      end;
    end;
     

    Gostaria que o responsável fizesse essas alterações e fizesse o post no SVN

  4. Acabo de terminar os meus testes aqui. E o problema acima é o único que encontrei. Fiz a alteração dele para que possa fazer a importação das datas conforme os meus arquivos.

     

    Ficou assim.

     

    function TACBrSpedPCImportar_Base.ValorD: TDateTime;
    var
      S: string;
    begin
      S := Valor;
      if S <> EmptyStr then
    //    Result := EncodeDate(StrToInt(Copy(S, 1, 4)), StrToInt(Copy(S, 5, 2)),StrToInt(Copy(S, 7, 2)))
        Result := EncodeDate(StrToInt(Copy(S, 5, 4)), StrToInt(Copy(S, 3, 2)), StrToInt(Copy(S, 1, 2)))
      else
        Result := 0;
    end;
     
    Se estiver correto posso subir ele para o SVN. Claro que dai vou retirar o comentário.
  5. Bom dia,
     
    Agora consegui compilar tudo certinho, mas ainda há um problema ao importar o arquivo do SPED. No registro 0000 tem os campos de data. No meu arquivo SPED o formato deste campo está assim: '28022014' (data final no caso) e o método para conversão de data está tratando como se o ano fosse o primeiro campo da data. Veja:
     
    function TACBrSpedPCImportar_Base.ValorD: TDateTime;
    var
      S: string;
    begin
      S := Valor;
      if S <> EmptyStr then
        Result := EncodeDate(StrToInt(Copy(S, 1, 4)), StrToInt(Copy(S, 5, 2)),StrToInt(Copy(S, 7, 2)))
      else
        Result := 0;
    end;

     

    Veja que o primeiro campo o metodo está associando ao ano, mas no meu arquivo deveria ser o dia.

     

    O padrão do SPED é anomesdia, ou diamesano. Porque no arquivo que meu cliente me passou está diamesano.

    • Curtir 1
  6. O problema que relatei no post acima

     

     

    Ok, obrigado Isaque.

     

    A instalação funcionou perfeitamente agora. Mas tem um problema. Eu instalei o pacote de importação manualmente (já que o instalador não tem ele). A instalação do pacote ocorreu tudo certo (tirando os milhares de warning que tem). 

    Ai então criei uma aplicação para testar a leitura do arquivo e quando vou compilar dá os seguintes erros:

     

    [dcc32 Hint] ACBrSpedPCImportar_Base.pas(58): H2219 Private symbol 'Inicializa' declared but never used
    [dcc32 Error] ACBrSpedPCImportar_BlocoC.pas(876): E2010 Incompatible types: 'Integer' and 'string'
    [dcc32 Error] ACBrSpedPCImportar_BlocoC.pas(879): E2003 Undeclared identifier: 'DOC_FIN'
    [dcc32 Fatal Error] ACBrSpedPCImportar.pas(55): F2063 Could not compile used unit 'ACBrSpedPCImportar_BlocoC.pas'
     
    O estranho que na instalação do pacote isso não ocorre. Será que é alguma coisa com as referências na Library do Delphi?
     
    Sabes o que pode ser

     

    Este problema.

  7. Ok, obrigado Isaque.

     

    A instalação funcionou perfeitamente agora. Mas tem um problema. Eu instalei o pacote de importação manualmente (já que o instalador não tem ele). A instalação do pacote ocorreu tudo certo (tirando os milhares de warning que tem). 

    Ai então criei uma aplicação para testar a leitura do arquivo e quando vou compilar dá os seguintes erros:

     

    [dcc32 Hint] ACBrSpedPCImportar_Base.pas(58): H2219 Private symbol 'Inicializa' declared but never used
    [dcc32 Error] ACBrSpedPCImportar_BlocoC.pas(876): E2010 Incompatible types: 'Integer' and 'string'
    [dcc32 Error] ACBrSpedPCImportar_BlocoC.pas(879): E2003 Undeclared identifier: 'DOC_FIN'
    [dcc32 Fatal Error] ACBrSpedPCImportar.pas(55): F2063 Could not compile used unit 'ACBrSpedPCImportar_BlocoC.pas'
     
    O estranho que na instalação do pacote isso não ocorre. Será que é alguma coisa com as referências na Library do Delphi?
     
    Sabes o que pode ser
  8. Baixei os arquivos SVN, mas quando tento reinstalar o ACBrSPED.dpk (através do instalador) dá os seguintes erros:

     

    C:\ACBr\Fontes\ACBrSPED\ACBrSPEDContabil\ACBrECDBloco_0_Class.pas(390) Error: E2003 Undeclared identifier: 'Result'

    C:\ACBr\\Pacotes\Delphi\ACBrSPED\ACBr_SPED.dpk(38) Fatal: F2063 Could not compile used unit 'ACBrECDBloco_0_Class.pas'

  9. Boa noite,

     

    Baixei os fontes do importador do SPED, porém não estou conseguindo fazer a instalação do componente no meu Delphi. Tem muitas dependências de arquivos que o dpk não está encontrando. Tem algum passo a passo de como devo proceder para instalar este componente.

     

    Obrigado.

     

    Outra coisa. Quando teremos essa opção de importação dentro do ACBr padrã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.