Ir para conteúdo
  • Cadastre-se

dev botao

ACBRLCDPR versão 1.2 contribuição


Ver Solução Respondido por EMBarbosa,
  • Este tópico foi criado há 1577 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

 

 

 

Boa tarde!

 

Fiz algumas adequações para atender a documentação da versão 1.2, segue abaixo as descrições das implementações:

 

Unit Registro0030 e UACBrLCDPR os comentários com a licença estava perdido no corpo do código, foi colocado logo no inicio.

 

Unit RegistroQ200 necessário criar o registro como uma LISTA

 

Unit BlocoQ o "FRegistroQ200: TRegistroQ200" tornou-se "FRegistrosQ200: TRegistroQ200List"

 

Unit LCDPRBlocos - Foi necessário adicionar alguns tipos a mais para atender a documentação 1.2 e também foi alterados as funções que devolvem o STR para os valores de acordo com a documentação 1.2
  TCodVer adicionado o valor Versao011 (o manual da receita é 1.2 mais no exemplo o valor estava com 011!)
  TTipoExploracao adicionado o valor teOutro
  TTipoContraparte adicionado o valor tpcOutro
  TTipoLanc, foi removido tlDespesaNaoDedutivel e tlAdiantamentos

  As funcões abaixo foi necessário, ajustar os valores para atender a documentação 1.2:
    function IndFormaApurToStr(IndFormaApur : TFormaApur) : String;
    function TipoExploracaoToStr(TipoExploracao : TTipoExploracao) : String;
    function TipoContraparteToStr(TipoContraparte : TTipoContraparte) : String;
    function TipoDocToStr(TipoDoc : TTipoDoc) : String;
    function TipoLancToStr(TipoLanc : TTipoLanc) : String;

 

   A constante "crFinal = 'CRLF'" foi atribuido o valor '', acredito que houve um equivoco porque no manual se refere aos caracteres "CR" (Carriage Return) e "LF" (Line Feed) correspondentes a "retorno do carro" e "salto de linha", respectivamente (CR e LF: caracteres 13 e 10, respectivamente, da Tabela ASCII) e criaram como uma STRING.
 
 Olavo.

 

LCDPRBlocos.pas UACBrLCDPR.pas BlocoQ.pas RegistroQ200.pas Registro0030.pas

  • Curtir 2
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Consultores
1 hora atrás, OlavoJr disse:

Boa tarde!

 

Fiz algumas adequações para atender a documentação da versão 1.2, segue abaixo as descrições das implementações:

Olá Olavo,

   Já adicionei na minha lista de afazeres. Assim que conseguir analisar lhe dou um retorno.

   Desde já, muito obrigado.

  • Curtir 1
  • Obrigado 1

[]'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 para o comentário
Compartilhar em outros sites

Elton, já para sua revisão, tive de mexer em mais código, consegui fazer testes em uma prévia de validador da própria RFB, segue conforme abaixo:

 

Na unit UACBrLCDPR, deu problema com o DELIMITADOR que na última coluna não pode ser gerado, ou seja o último caracter da linha não pode ser o piper conforme documentação, sendo assim, foi criado um parametro na função abaixo, seguindo outros componentes próprio ABCR que geram txt

 

    function AddCampo(const Value : String; AddDelimiter: Boolean = True ) : String;

 

    function TACBrLCDPR.AddCampo(const Value: String; AddDelimiter: Boolean): String;
    begin
      Result := Trim(Value);
      if AddDelimiter then
         Result := Result + Delimitador;

   end;

    Com isso ainda na unit UACBrLCDPR nas funções de WRITEBLOCOS na ultima chamada AddCampo() foi passado o parametro FALSE.


Na unit BlocoQ e RegistroQ200 foi removido o valor PAIS, não consta mais na documentação.

 

Olavo
 

UACBrLCDPR.pas BlocoQ.pas RegistroQ200.pas

Link para o comentário
Compartilhar em outros sites

Em 29/10/2019 at 18:56, OlavoJr disse:

Elton, já para sua revisão, tive de mexer em mais código, consegui fazer testes em uma prévia de validador da própria RFB, segue conforme abaixo:

 

Na unit UACBrLCDPR, deu problema com o DELIMITADOR que na última coluna não pode ser gerado, ou seja o último caracter da linha não pode ser o piper conforme documentação, sendo assim, foi criado um parametro na função abaixo, seguindo outros componentes próprio ABCR que geram txt

 

    function AddCampo(const Value : String; AddDelimiter: Boolean = True ) : String;

 

    function TACBrLCDPR.AddCampo(const Value: String; AddDelimiter: Boolean): String;
    begin
      Result := Trim(Value);
      if AddDelimiter then
         Result := Result + Delimitador;

   end;

    Com isso ainda na unit UACBrLCDPR nas funções de WRITEBLOCOS na ultima chamada AddCampo() foi passado o parametro FALSE.


Na unit BlocoQ e RegistroQ200 foi removido o valor PAIS, não consta mais na documentação.

 

Olavo
 

UACBrLCDPR.pas 13 kB · 0 downloads BlocoQ.pas 5 kB · 0 downloads RegistroQ200.pas 5 kB · 0 downloads

Bom dia. Onde encontro este validador ?

Link para o comentário
Compartilhar em outros sites

26 minutos atrás, beduardo disse:

Bom dia. Onde encontro este validador ?

Bom dia!

 

Não esta disponível, consegui validar através de uma terceira pessoa que foi designada pela RFB como testador. Com as alterações que passei, passou pelo validar e já atendendo a versão 1.2 da documentação.

Editado por OlavoJr
Link para o comentário
Compartilhar em outros sites

4 horas atrás, OlavoJr disse:

Bom dia!

 

Não esta disponível, consegui validar através de uma terceira pessoa que foi designada pela RFB como testador. Com as alterações que passei, passou pelo validar e já atendendo a versão 1.2 da documentação.

Entendi. Precisava muito deste validador.

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution
Em 29/10/2019 at 18:56, OlavoJr disse:

Elton, já para sua revisão, tive de mexer em mais código, consegui fazer testes em uma prévia de validador da própria RFB, segue conforme abaixo:

 

Na unit UACBrLCDPR, deu problema com o DELIMITADOR que na última coluna não pode ser gerado, ou seja o último caracter da linha não pode ser o piper conforme documentação, sendo assim, foi criado um parametro na função abaixo, seguindo outros componentes próprio ABCR que geram txt

 

    function AddCampo(const Value : String; AddDelimiter: Boolean = True ) : String;

 

    function TACBrLCDPR.AddCampo(const Value: String; AddDelimiter: Boolean): String;
    begin
      Result := Trim(Value);
      if AddDelimiter then
         Result := Result + Delimitador;

   end;

    Com isso ainda na unit UACBrLCDPR nas funções de WRITEBLOCOS na ultima chamada AddCampo() foi passado o parametro FALSE.


Na unit BlocoQ e RegistroQ200 foi removido o valor PAIS, não consta mais na documentação.

 

Olavo
 

UACBrLCDPR.pas 13 kB · 0 downloads BlocoQ.pas 5 kB · 0 downloads RegistroQ200.pas 5 kB · 0 downloads

Olá Olavo,

Muito obrigado pela contribuição.

Fiz a implementação baseada nela. Mas fiz algumas alterações.

Por exemplo, eu removi definitivamente a constante crlf visto que ela não é necessária. Também em outros arquivos eu notei que o aviso da licença caiu fora do lugar e arrumei.

Outra alteração é que a função somenteNumeros já existia na unit ACBrUtil com o nome OnlyNumber.

O ideal é modificar o código desse componente para se adequar as classes do ACBrTXT (a exemplo do SPEDFiscal). Mas ainda não tivemos voluntários para fazer esse trabalho.

De qualquer maneira, subi as alterações para o SVN na Revisão  18112 18114.

Pelo que vi está tudo certo.
Queira por favor atualizar, testar e reportar qualquer problema.

Mais uma vez obrigado.

Deixa eu só mencionar o @Willian Hübner caso ele queira olhar também de perto essas modificações.

Editado por EMBarbosa
As alterações do exemplo foram na revisão 18114
  • Curtir 2
  • Obrigado 1

[]'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 para o comentário
Compartilhar em outros sites

  • Consultores

MODERAÇÃO:

Tópico Fechado.

Outro tópico dividido daqui e movido para:

 

  • Curtir 1

[]'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 para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1577 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...