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;