Jump to content

Delphi chamada_delphi.png acbr.png

C6 chamada_c6.png botao.png

Bloco F525


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

Recommended Posts

Ola.

 

No Bloco F525, o campo 5 (num_doc) esta como inteiro, porem o manual determina q ele seja caractere de 60.

Eu já fiz a alteração na minha versão. Seria interessante eu subir isso para analise?

 

Eu fiz a alteração, principalmente, pq a função de formatação LFill insistia em achar q o este campo era do tipo DateTime.

 

 

grato

Link to comment
Share on other sites

  • 2 weeks later...
  • Consultores

Faltou arquivo pois ele não vai ficar correto no principal!

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

Link to comment
Share on other sites

A correção foi basicamente alterar o tipo do campo FNUM_DOC no bloco F525. (ACBrPCBloco_F.pas) e o procedimento WriteRegistroF525 no bloco ACBrEPCBloco_F_Class. Mas foi falha minha não mencionar que o arquivo anexado, contem outras alterações (aquelas presentes no componente de importação que vocês irão subir futuramente). Estarei postando diretamente para nós não tenhamos que reverter.

procedure TBloco_F.WriteRegistroF525(RegF010: TRegistroF010);
  var
    intFor : integer;
    strIND_REC : AnsiString;
begin
  //(*) Os registros referentes à escrituração do PIS/Pasep e da Cofins das pessoas jurídicas sujeitas ao regime de tributação
  //com  base  no  lucro  presumido,  aplicável  para  os  fatos  geradores  a  ocorrer  a  partir  de  01  de  janeiro  de  2012,  serão
  //disponibilizados  pelo  Programa  Validador  e  Assinador  (PVA)  da  EFD-PIS/Cofins,  versão  1.05,  com  previsão  de
  //disponibilização pela Receita Federal em janeiro/2012.
  if DT_INI >= EncodeDate(2012,01,01) then
  begin
     if Assigned(RegF010.RegistroF525) then
     begin
        for intFor := 0 to RegF010.RegistroF525.Count - 1 do
        begin
           with RegF010.RegistroF525.Items[intFor] do
           begin
             case IND_REC of
               crCliente         : strIND_REC:='01';
               crAdministradora  : strIND_REC:='02';
               crTituloDeCredito : strIND_REC:='03';
               crDocumentoFiscal : strIND_REC:='04';
               crItemVendido     : strIND_REC:='05';
               crOutros          : strIND_REC:='99';
             end;

             Add( LFill('F525')           +
                  LFill( VL_REC,0,2 )     +
                  LFill( strIND_REC )     +
                  LFill( CNPJ_CPF, 14)     +
                  LFill( NUM_DOC, 60)     +
                  LFill( COD_ITEM, 60)     +
                  LFill( VL_REC_DET,0,2 ) +
                  LFill( CstPisToStr(CST_PIS) ) +
                  LFill( CstCofinsToStr(CST_COFINS)) +
                  LFill( INFO_COMPL)      +
                  LFill( COD_CTA, 60) ) ;
           end;
           ///
           RegistroF990.QTD_LIN_F := RegistroF990.QTD_LIN_F + 1;
        end;
        /// Variavél para armazenar a quantidade de registro do tipo.
        FRegistroF525Count := FRegistroF525Count + RegF010.RegistroF525.Count;
     end;
  end;
end;
  TRegistroF525 = class
  private
     FVL_REC                   : Currency;
     FIND_REC                  : TACBrIndicadorDaComposicaoDaReceitaRecebida;
     FCNPJ_CPF                 : string;
     FNUM_DOC                  : string;
     FCOD_ITEM                 : string;
     FVL_REC_DET               : Currency;
     FCST_PIS                  : TACBrCstPis;
     FCST_COFINS               : TACBrSituacaoTribCOFINS;
     FINFO_COMPL               : string;
     FCOD_CTA                  : string;
  public
     property  VL_REC       : Currency       read FVL_REC     write FVL_REC     ;
     property  IND_REC      : TACBrInd_Rec   read FIND_REC    write FIND_REC    ;
     property  CNPJ_CPF     : string         read FCNPJ_CPF   write FCNPJ_CPF   ;
     property  NUM_DOC      : string        read FNUM_DOC    write FNUM_DOC    ;
     property  COD_ITEM     : string         read FCOD_ITEM   write FCOD_ITEM   ;
     property  VL_REC_DET   : Currency       read FVL_REC_DET write FVL_REC_DET ;
     property  CST_PIS      : TACBrCstPis    read FCST_PIS    write FCST_PIS    ;
     property  CST_COFINS   : TACBrCstCofins read FCST_COFINS write FCST_COFINS ;
     property  INFO_COMPL   : string         read FINFO_COMPL write FINFO_COMPL ;
     property  COD_CTA      : string         read FCOD_CTA    write FCOD_CTA    ;
  end;
Edited by Data Lider
  • Like 1

 www.datalider.com.br - [email protected] - Macgayver Armini

 

Link to comment
Share on other sites

  • Consultores

Enviei para o SVN a correção para o campo 5 no registro F525.

Favor testar.

Muito obrigado pela contribuição.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

  • Consultores

Tem toda razão. Já corrigi. Se puder verificar novamente.

 

Só que eu notei que você também colocou limitações em outros campos como CNPJ. Também foram correções? Tem algum post sobre isso?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

Na verdade, não tem, eu criei uma aplicação de teste, que gerava apenas o bloco F525, ai todos os campos strings eu coloquei mais de 200 caracteres, ai como estava com o manual aberto, acabei inserindo como no manual. Mas por exemplo, o arquivo ACBrEPCBloco_C_Class.pas na linha 868 referente ao procedimento WRITE do registro C010 no campo cnpj consta com o mesmo 14 de tamanho. Aproveitei a deixa e acertei.
.

Edited by Data Lider

 www.datalider.com.br - [email protected] - Macgayver Armini

 

Link to comment
Share on other sites

  • Consultores

Beleza. Então faz assim, se perceber que tem mais algum ajuste pra ser feito, crie um novo tópico por favor. Assim não vamos confundir o assunto e ficar perdidos. Muito obrigado mais uma vez pelas contribuições.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

Perae, não conheço essa exigência, de tamanho obrigatório para campos como código numero de docto, CPF e CNPJ sim, no manual tem essa informação.

 

Para resolver isso é mudar o tipo para string, todo campo de qualquer tipo numérico se passar tamanho a função preenche, tipo string não.

 

Ou seja, não precisa passar tamanho, mude o tipo para string.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link to comment
Share on other sites

  • Consultores

Perae, não conheço essa exigência, de tamanho obrigatório para campos como código numero de docto, CPF e CNPJ sim, no manual tem essa informação.

 

Para resolver isso é mudar o tipo para string, todo campo de qualquer tipo numérico se passar tamanho a função preenche, tipo string não.

 

Ou seja, não precisa passar tamanho, mude o tipo para string.

Acho que é a limitação máxima Isaque, quer dizer tamanho máximo do campo.

De qualquer maneira, acho que eu não subi essas modificações. Pedi para abrir um novo tópico para analisar com calma e não poluir esse.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.