Ir para conteúdo
  • Cadastre-se

dev botao

DACTE Fortes


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

Recommended Posts

Olá,

Estou com dúvida quanto a impressão do campo obsCont quando o CT-e é da modalidade aéreo.

Vi que tem um tópico antigo que cita esse detalhe, mas sem reposta.(

)

Na época o tópico cita a impressão no QuickReport. Hoje no Fortes tem o mesmo código.

Fiz uma pesquisa sobre isso e não consegui encontrar a resposta, então recorri ao fórum.

Existe algum motivo para não imprimir a observação quando a modalidade é aéreo?

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

No fonte tem a condição para não imprimir no caso do aéreo.

No arquivo ACBrCTeDACTeRLRetrato.pas linha 2341.

Está assim:

  if FCTe.Ide.modal <> mdAereo then
  begin
    for i := 0 to (FCTe.Compl.ObsCont.Count - 1) do
      with FCTe.Compl.ObsCont.Items do
      begin
        rlmObsExcEmitente.Lines.Add(StringReplace(xCampo, '&lt;BR&gt;', #13#10, [rfReplaceAll, rfIgnoreCase]) + ': ' +
          StringReplace(xTexto, '&lt;BR&gt;', #13#10, [rfReplaceAll, rfIgnoreCase]));
      end;
  end;
 

A minha dúvida é se isso está correto. Não encontrei nada que justifique essa condição, por isso pedi ajuda.

Segue o arquivo 41161226052418000136570010000000061018100002-cte.xml

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Pra dizer isso só lendo o manual!

em uma rápida olhada não fala nada se pode ou não pode.

se sugere mudanças favor anexar aqui o fonte.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Pergunta já que trabalha com Aquaviário

viu o código comentado acima desse trecho?

if FCTe.Ide.modal = mdAereo
   then begin
    rlmObsExcEmitente.Lines.Add( 'O transporte coberto por este conhecimento se rege pelo código brasileiro de aeronáutica. '+
                  'O expedidor/remetente aceita como corretas todas as especificações impressas neste conhecimento,' );
    rlmObsExcEmitente.Lines.Add( 'certificando que os artigos perigosos descritos pela regulamentação da ICAO foram devidamente '+
                  'informados e acondicionados para transporte aéreo.' );
   end;

isso é necessário?

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Acho que você se referiu ao aéreo.

Não encontrei nada sobre. Eu tinha visto esse código comentado e não acho que seja necessário.

Eu acredito que qualquer observação que deva sair na DACTE tem que constar no XML autorizado.

Por isso, no arquivo eu removi a linha com a condição de não imprimir.

Obrigado.

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
procedure TfrmDACTeRLRetrato.rlb_16_DadosExcEmitenteBeforePrint(Sender: TObject; var PrintIt: Boolean);
var
  i: integer;
begin
  inherited;
  PrintIt := RLCTe.PageNumber = 1;

  rlmObsExcEmitente.Lines.BeginUpdate;
  rlmObsExcEmitente.Lines.Clear;
  rlmObsFisco.Lines.Clear;
  (*
  if FCTe.Ide.modal = mdAereo
   then begin
    rlmObsExcEmitente.Lines.Add( 'O transporte coberto por este conhecimento se rege pelo código brasileiro de aeronáutica. '+
                  'O expedidor/remetente aceita como corretas todas as especificações impressas neste conhecimento,' );
    rlmObsExcEmitente.Lines.Add( 'certificando que os artigos perigosos descritos pela regulamentação da ICAO foram devidamente '+
                  'informados e acondicionados para transporte aéreo.' );
   end;
*)
//  if FCTe.Ide.modal <> mdAereo then
//  begin
    for i := 0 to (FCTe.Compl.ObsCont.Count - 1) do
      with FCTe.Compl.ObsCont.Items[i] do
      begin
        rlmObsExcEmitente.Lines.Add(StringReplace(xCampo, '&lt;BR&gt;', #13#10, [rfReplaceAll, rfIgnoreCase]) + ': ' +
          StringReplace(xTexto, '&lt;BR&gt;', #13#10, [rfReplaceAll, rfIgnoreCase]));
      end;
//  end;

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

 

o trecho que tu comentou, acima dele tem outro.

sabe maiores informações ?

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Eu vi que o trecho acima já estava comentado.

Não sei dizer se é correto, mas se for necessário o usuário pode informar no campo obsCont que vai imprimir da mesma forma.

O único detalhe é observar a quantidade de caracteres que nesse campo é de 160 ou pode usar o campo xObs que tem 2000 posições.

Nesse caso fica a critério do usuário informar ou não conforme a necessidade.

Obrigado.

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...