Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado (editado)

Boa tarde.

Realizando testes com a geração do arquivo do Livro Caixa do Produtor Rural (LCDPR), verifiquei que o componente não está gerando o arquivo com codificação UTF-8 conforme consta no manual do LCDPR no "Capítulo 2 – Dados Técnicos para Geração do Arquivo do LCDPR" página 4.

Como no momento o componente não está utilizando a classe "TACBrTXTClass" pra geração da estrutura, eu fiz uma pequena e rápida alteração na unit "\Fontes\ACBrTXT\ACBrLCDPR\UACBrLCDPR.pas" para que o arquivo sempre seja gerado com codificação UTF-8. 

Obs.: Eu não vi a respeito, até porque o manual não fala nada sobre, mas caso seja necessário manter o BOM (Byte Order Marker) podem remover a linha adicionada no Create ou então passar o valor da propriedade WriteBOM para True.

// Alteração no Create
constructor TACBrLCDPR.Create(AOwner: TComponent);
begin
  inherited;

  FBloco0000      := TRegistro0000.Create;
  FBloco0010      := TRegistro0010.Create;
  FBloco0030      := TRegistro0030.Create;
  FBloco0040      := TBlocos0040.Create;
  FBloco0050      := TBloco0050.Create;
  FBlocoQ         := TBlocoQ.Create;
  FBloco9999      := TRegistro9999.Create;
  FDadosContador  := TContador.Create;

  FConteudo     := TStringList.Create;
  FConteudo.WriteBOM := False; // Salvar sem BOM
  FDelimitador  := '|';
  FArquivo      := 'LCDPR'; 
end;

//...

// Alteração em SalvarBlocos
procedure TACBrLCDPR.SalvarBlocos;
begin
  FConteudo.SaveToFile(Path + Arquivo, TEncoding.UTF8); // Salvar com condificação UTF-8
end;

Segue em anexo a unit "UACBrLCDPR.pas" com as alterações.

Se puderem verificar para ser adicionado no svn, ok?

Obrigado!

UACBrLCDPR.pas

Editado por Leandro Araújo
Anexar arquivo de modificação para ser enviado ao svn/Alteração no texto
  • Curtir 1

Leandro Araújo, Analista de Sistemas.

  • Administradores
Postado

Boa tarde.

Obrigada pela contribuição, adicionada para validação.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado
Em 02/03/2020 at 16:51, Leandro Araújo disse:

Boa tarde.

Realizando testes com a geração do arquivo do Livro Caixa do Produtor Rural (LCDPR), verifiquei que o componente não está gerando o arquivo com codificação UTF-8 conforme consta no manual do LCDPR no "Capítulo 2 – Dados Técnicos para Geração do Arquivo do LCDPR" página 4.

Como no momento o componente não está utilizando a classe "TACBrTXTClass" pra geração da estrutura, eu fiz uma pequena e rápida alteração na unit "\Fontes\ACBrTXT\ACBrLCDPR\UACBrLCDPR.pas" para que o arquivo sempre seja gerado com codificação UTF-8. 

Obs.: Eu não vi a respeito, até porque o manual não fala nada sobre, mas caso seja necessário manter o BOM (Byte Order Marker) podem remover a linha adicionada no Create ou então passar o valor da propriedade WriteBOM para True.


// Alteração no Create
constructor TACBrLCDPR.Create(AOwner: TComponent);
begin
  inherited;

  FBloco0000      := TRegistro0000.Create;
  FBloco0010      := TRegistro0010.Create;
  FBloco0030      := TRegistro0030.Create;
  FBloco0040      := TBlocos0040.Create;
  FBloco0050      := TBloco0050.Create;
  FBlocoQ         := TBlocoQ.Create;
  FBloco9999      := TRegistro9999.Create;
  FDadosContador  := TContador.Create;

  FConteudo     := TStringList.Create;
  FConteudo.WriteBOM := False; // Salvar sem BOM
  FDelimitador  := '|';
  FArquivo      := 'LCDPR'; 
end;

//...

// Alteração em SalvarBlocos
procedure TACBrLCDPR.SalvarBlocos;
begin
  FConteudo.SaveToFile(Path + Arquivo, TEncoding.UTF8); // Salvar com condificação UTF-8
end;

Segue em anexo a unit "UACBrLCDPR.pas" com as alterações.

Se puderem verificar para ser adicionado no svn, ok?

Obrigado!

UACBrLCDPR.pas 14 kB · 0 downloads

Bom dia Leandro,

   Infelizmente não podemos enviar a alteração da forma como está. Ela não é compatível nem com o Delphi 7, nem com o Lazarus.

[]'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
1 hora atrás, EMBarbosa disse:

Bom dia Leandro,

   Infelizmente não podemos enviar a alteração da forma como está. Ela não é compatível nem com o Delphi 7, nem com o Lazarus.

Bom dia @EMBarbosa, entendido...

Realmente, vi que na verdade o componente e os fontes ainda não estão compatibilizados com Delphi 7 e Lazarus.

Agora estou trabalhando em outras questões, mas caso eu consiga posso adicionar as diretivas de compilação e ajustar a função de salvar os blocos para ficar compatível, e talvez até trocar na implementação para usar a "TACBrTXTClass" se for necessário, só não posso garantir isso agora, até porque a entrega do arquivo é em Abril ainda.

Caso sobrar um tempo eu posso alterar e postar o as alterações novamente dentro de alguns dias.

Obrigado.

Leandro Araújo, Analista de Sistemas.

  • Consultores
Postado
14 minutos atrás, Leandro Araújo disse:

Bom dia @EMBarbosa, entendido...

Realmente, vi que na verdade o componente e os fontes ainda não estão compatibilizados com Delphi 7 e Lazarus.

Agora estou trabalhando em outras questões, mas caso eu consiga posso adicionar as diretivas de compilação e ajustar a função de salvar os blocos para ficar compatível, e talvez até trocar na implementação para usar a "TACBrTXTClass" se for necessário, só não posso garantir isso agora, até porque a entrega do arquivo é em Abril ainda.

Caso sobrar um tempo eu posso alterar e postar o as alterações novamente dentro de alguns dias.

Obrigado.

   Não tem problema Leandro. Agradecemos sua ajuda e disposição desde já. 

   Já foi útil ter apontado o problema, mas se conseguir fazer o ajuste vamos ficar ainda mais gratos.

   Bom trabalho por aí.

  • Curtir 2

[]'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.
  • 3 meses depois ...
  • Consultores
Postado

OBS.: as mensagens do usuário Luis Ricardo, estavam relacionadas com outro problema e por isso foram movidas para o seguinte tópico:

 

  • 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.
  • 2 anos depois...
  • Administradores
Postado

Tópico fechado por falta de retorno do usuário

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

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