Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

 

 

 

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

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

Postado

Bom dia!

 

Adicionei a unit Unit2.pas da pasta "ACBR\Exemplos\ACBrTXT\ACBrLCDPR\Delphi" referente ao EXEMPLO já ajustado para a versão 1.2, procurei melhorar o exemplo colocando informação como se fosse de dois meses Janeiro e Fevereiro isso afeta diretamente nos registro Q200.

 

Olavo

Unit2.pas

  • Curtir 1
Postado
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 ?

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

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

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