Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

Boa tarde,

 

Tive um problema em um cliente que comprou uma Elgin K e ela tem um limite de 7 linhas nas informações complementares/observações. Para resolver o problema inclui o comando Obs := AjustaLinhas(Obs,48,7); no arquivo ACBrECFFiscNET.pas  na procedure abaixo, o que foi incluido esta em vermelho abaixo. Gostaria de saber como fazer para se concordarem incluir no projeto a alteração realizada.

 

procedure TACBrECFFiscNET.FechaCupom(Observacao: AnsiString; IndiceBMP : Integer);
var
  Obs: AnsiString;
begin
  Obs := Observacao ;

     { Tem PAF ? }     { PAF ainda não está na Obs ?}
  if (fsPAF <> '') and (pos(fsPAF,Obs) = 0) then
  begin
    if Obs = '' then
       Obs := fsPAF
    else
       Obs := fsPAF + #10 + Obs ;
  end ;

  if not Consumidor.Enviado then
  begin
     { Removendo o Consumidor da Observação, pois vai usar comando próprio }
     Obs := StringReplace(Obs,#10+'CPF/CNPJ consumidor: '+Consumidor.Documento,'',[]) ;
     Obs := StringReplace(Obs,#10+'Nome: '+Consumidor.Nome,'',[]) ;
     Obs := StringReplace(Obs,#10+'Endereco: '+Consumidor.Endereco,'',[]) ;
     try
        { Se tiver Observações no rodape, deve enviar antes do consumidor }
        if Obs <> '' then
        begin

              // 13/08/2013 Se a observação tiver mais de 7 linhas ajusta para 7 e desconsidera o restante para evitar erro na Elgin K
              Obs := AjustaLinhas(Obs,48,7);

           FiscNETComando.NomeComando := 'ImprimeTexto' ;
           FiscNETComando.AddParamString('TextoLivre',Obs);
           EnviaComando ;
           Obs := '' ;
        end ;

        FiscNETComando.NomeComando := 'IdentificaConsumidor' ;
        FiscNETComando.AddParamString('IdConsumidor',LeftStr(Consumidor.Documento,29)) ;
        if Consumidor.Nome <> '' then
           FiscNETComando.AddParamString('NomeConsumidor',LeftStr(Consumidor.Nome,30)) ;
        if Consumidor.Nome <> '' then
           FiscNETComando.AddParamString('EnderecoConsumidor',LeftStr(Consumidor.Endereco,80)) ;
        EnviaComando ;
        Consumidor.Enviado := True ;
     except
//        Obs := Observacao ;
     end ;
  end ;

  try

      // 13/08/2013 Se a observação tiver mais de 7 linhas ajusta para 7 e desconsidera o restante para evitar erro na Elgin K
      Obs := AjustaLinhas(Obs,48,7);

     FiscNETComando.NomeComando := 'EncerraDocumento' ;
     if (Obs <> '') then
        FiscNETComando.AddParamString('TextoPromocional',Obs);
     FiscNETComando.TimeOut     := 5 ;
     FiscNETComando.AddParamString('Operador',Operador) ;
     EnviaComando ;

  except
     on E : Exception do
     begin
        if (pos('ErroProtSequenciaComando',E.Message) <> 0) or
           (pos('ErroCMDForaDeSequencia',E.Message) <> 0) then
        begin
           if (Obs <> '') then
           begin
              FiscNETComando.NomeComando := 'ImprimeTexto' ;
              FiscNETComando.AddParamString('TextoLivre',Obs);
              EnviaComando ;
           end ;

           FiscNETComando.NomeComando := 'EncerraDocumento' ;
           FiscNETComando.TimeOut     := 5 ;
           FiscNETComando.AddParamString('Operador',Operador) ;
           EnviaComando ;
        end ;
     end ;
  end ;

  fsEmPagamento := false ;
end;

 

  • Fundadores
Postado

A modificação pode atrapalhar outros ECF da Classe FiscNET, como Urano, Itautec, ZPM, TermoPrinter, etc

 

O ideal é levantar se isso é uma restrição apenas deste modelo ou de todas as FiscNET...

 

O problema também poderia ser corrigido capturando a exceção com "Errocmdlinhassuplementaresexcedidas" e tentando o comando com 1 linha a menos...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

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