Ir para conteúdo
  • Cadastre-se

dev botao

AutoSize dos campos Uso Exclusivo do Emissor do CT-e (ObsCont) e Reservado ao Fisco (ObsFisco)


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

Recommended Posts

Postado

Bom dia,

Após realização de alguns testes foi identificado problema na impressão das informações dos campos Uso Exclusivo do Emissor do CT-e (ObsCont) e Reservado ao Fisco (ObsFisco). Ao incluir mais de 4 registros a qualquer um dos campos ocorrem inconsistências na impressão com o componente FortesReport.

O campo Uso Exclusivo do Emissor do CT-e (ObsCont) corta a informação do quinto registro e não exibe os registros do sexto ao décimo, e, o campo Reservado ao Fisco (ObsFisco), exibe uma linha em branco antes de imprimir as informações cadastradas pelo usuário e, não exibe os registros do quarto ao décimo.

Os fontes do ACBr foram atualizados no dia de hoje 07/12/2018 às 10h30.

Para solucionar o descrito, realizei algumas modificações no arquivo acbr/code/trunk2/Fontes/ACBrDFe/ACBrCTe/DACTE/Fortes/ACBrCTeDACTeRLRetrato.pas e no arquivo acbr/code/trunk2/Fontes/ACBrDFe/ACBrCTe/DACTE/Fortes/ACBrCTeDACTeRLRetrato.dfm (ambos em anexo).

ACBrCTeDACTeRLRetrato.dfm

object rlb_16_DadosExcEmitente: TRLBand
      Left = 26
      Top = 1985
      Width = 742
      Height = 70
      AutoSize = True
      BandType = btHeader
      Color = clWhite
      ParentColor = False
      BeforePrint = rlb_16_DadosExcEmitenteBeforePrint
      object RLDraw71: TRLDraw
        Left = 0
        Top = 1
        Width = 741
        Height = 67
        Brush.Style = bsClear
      end
      object RLLabel165: TRLLabel
        Left = 566
        Top = 4
        Width = 102
        Height = 12
        Caption = 'RESERVADO AO FISCO'
        Color = clWhite
        Font.Charset = DEFAULT_CHARSET
        Font.Color = clWindowText
        Font.Height = -9
        Font.Name = 'Times New Roman'
        Font.Style = []
        ParentColor = False
        ParentFont = False
        Transparent = False
      end
      object RLLabel7: TRLLabel
        Left = 142
        Top = 4
        Width = 171
        Height = 12
        Caption = 'USO EXCLUSIVO DO EMISSOR DO CT-E'
        Color = clWhite
        Font.Charset = DEFAULT_CHARSET
        Font.Color = clWindowText
        Font.Height = -9
        Font.Name = 'Times New Roman'
        Font.Style = []
        ParentColor = False
        ParentFont = False
        Transparent = False
      end
      object rlmObsExcEmitente: TRLMemo
        Left = 5
        Top = 17
        Width = 492
        Height = 49
		AutoSize = True
        Behavior = [beSiteExpander]
        Color = clWhite
        Font.Charset = DEFAULT_CHARSET
        Font.Color = clWindowText
        Font.Height = -9
        Font.Name = 'Times New Roman'
        Font.Style = []
        IntegralHeight = True
        Lines.Strings = (
          'OBS LINHA 1'
          'OBS LINHA 2')
        ParentColor = False
        ParentFont = False
      end
      object RLDraw27: TRLDraw
        Left = 1
        Top = 15
        Width = 740
        Height = 1
        HelpContext = 1
        Brush.Style = bsClear
        DrawKind = dkLine
      end
      object RLDraw3: TRLDraw
        Left = 500
        Top = 1
        Width = 1
        Height = 67
        Angle = 90.000000000000000000
        Brush.Style = bsClear
        DrawKind = dkLine
      end
      object rlmObsFisco: TRLMemo
        Left = 509
        Top = 17
        Width = 228
        Height = 49
		AutoSize = True
        Behavior = [beSiteExpander]
        Color = clWhite
        Font.Charset = DEFAULT_CHARSET
        Font.Color = clWindowText
        Font.Height = -9
        Font.Name = 'Times New Roman'
        Font.Style = []
        IntegralHeight = True
        Lines.Strings = (
          'OBS LINHA 1'
          'OBS LINHA 2')
        ParentColor = False
        ParentFont = False
      end
    end

 

ACBrCTeDACTeRLRetrato.pas (linha 2333)

procedure TfrmDACTeRLRetrato.rlb_16_DadosExcEmitenteBeforePrint(Sender: TObject;
  var PrintIt: boolean);
var
  i, vHeight: integer;
begin
  inherited;
  PrintIt := RLCTe.PageNumber = 1;

  rlmObsExcEmitente.Lines.BeginUpdate;
  rlmObsExcEmitente.Lines.Clear;
  rlmObsFisco.Lines.BeginUpdate;
  rlmObsFisco.Lines.Clear;

  for i := 0 to (fpCTe.Compl.ObsCont.Count - 1) do
    with fpCTe.Compl.ObsCont.Items[i] do
    begin
      rlmObsExcEmitente.Lines.Add(StringReplace(xCampo, '<BR>',
        #13#10, [rfReplaceAll, rfIgnoreCase]) + ': ' +
        StringReplace(xTexto, '<BR>', #13#10, [rfReplaceAll, rfIgnoreCase]));
    end;

  rlmObsExcEmitente.Lines.Text :=
    StringReplace(rlmObsExcEmitente.Lines.Text, ';', #13, [rfReplaceAll]);
  rlmObsExcEmitente.Lines.EndUpdate;

  // Incluido por Italo em 17/09/2012
  if Length(Trim(fpCTe.Imp.infAdFisco)) > 0 then
    rlmObsFisco.Lines.Add(StringReplace(fpCTe.Imp.infAdFisco, '<BR>',
      #13#10, [rfReplaceAll, rfIgnoreCase]));

  for i := 0 to (fpCTe.Compl.ObsFisco.Count - 1) do
    with fpCTe.Compl.ObsFisco.Items[i] do
    begin
      rlmObsFisco.Lines.Add(StringReplace(xCampo, '<BR>', #13#10,
        [rfReplaceAll, rfIgnoreCase]) + ': ' + StringReplace(xTexto,
        '<BR>', #13#10, [rfReplaceAll, rfIgnoreCase]));
    end;

  rlmObsFisco.Lines.Text := StringReplace(rlmObsFisco.Lines.Text, ';',
    #13, [rfReplaceAll]);
  rlmObsFisco.Lines.EndUpdate;

  if (rlmObsExcEmitente.Lines.Count > 0) or (rlmObsFisco.Lines.Count > 0) then
  begin
    vHeight := rlmObsExcEmitente.Height + 20;
    if rlmObsFisco.Height > rlmObsExcEmitente.Height then
      vHeight := rlmObsFisco.Height + 20;

    RLDraw71.Height := vHeight;
    RLDraw3.Height  := vHeight;
  end;
end;

A validação abaixo foi incluída para remover a linha em branco adicionada automaticamente ao imprimir o documento fiscal

// Incluido por Italo em 17/09/2012
if Length(Trim(fpCTe.Imp.infAdFisco)) > 0 then
  rlmObsFisco.Lines.Add(StringReplace(fpCTe.Imp.infAdFisco, '<BR>',
    #13#10, [rfReplaceAll, rfIgnoreCase]));

 

ACBrCTeDACTeRLRetrato.dfm

ACBrCTeDACTeRLRetrato.pas

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