Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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

  • 2 semanas depois ...
Postado (editado)

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;
Editado por Data Lider
  • Curtir 1

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

 

  • Consultores
Postado

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.
Postado

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

Favor testar.

Muito obrigado pela contribuição.

 

Acho que faltou somente a delimitação do tamanho dos campos, caso contrário irá dar rejeição pelo validador.

 

dySqqk.png

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

 

  • Consultores
Postado

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.
Postado (editado)

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

Editado por Data Lider

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

 

  • Consultores
Postado

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.
Postado

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

 

  • Consultores
Postado

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