Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Impresion de opciones de cocina una por linea
#1
Hola, Oscar

Como puedo realizar la impresión de opciones de cocina una por linea?.

He realizado en fastreport, en el área de visualización del campo <Detalle1x."nota">, una serie de if, pos y copy  anidados como lo puedes ver en la imagen que te adjunto donde voy buscando el string ";" que coloco al final de cada opción de cocina y luego copio los caracteres, y así lo he logrado, pero esto impacta en el performance del servidor ya que cada vez que se manda un ticket a cocina se ralentiza el server  (supongo que por tantos cálculos)-

Hay alguna manera mas optima de realizar esto?

por ejemplo es posible que el caracter * con el que separas cada opción de cocina se podria remplazar por un Carriage Return (CR) ?

Gracias

Javier Carrillo


Archivos adjuntos Miniatura(s)
           
Responder
#2
Buenas Javier,

Si, esto lo podrías hacer más eficiente en la pestaña código del fastreport, en el evento ONBEFOREPRINT del campo que contiene los datos (en mi formato es el Memo5) inserta este código:

procedure Memo5OnBeforePrint(Sender: TfrxComponent);
var
cadena: string;
cnt: integer;
begin
cadena:= <Detalle1x."nota">;
for cnt:=1 to length(cadena) do
begin
if cadena[cnt] = '*' then cadena[cnt]:= ''+ #13 + #10;
end;
Memo5.text:=Memo5.text + cadena;
end;

Luego en los datos elimina las notas para que no se repitan.
Oscar Guirado
Sysme Software

Sysme Software
Veravap
Responder
#3
Bug 
(10-08-2021, 09:30 AM)Oscar, gracias por tu pronta respuesta.Me funciono tal cual.Javier Carrillo escribió: Buenas Javier,

Si, esto lo podrías hacer más eficiente en la pestaña código del fastreport, en el evento ONBEFOREPRINT del campo que contiene los datos (en mi formato es el Memo5) inserta este código:

procedure Memo5OnBeforePrint(Sender: TfrxComponent);
var
cadena: string;
cnt: integer;
begin
cadena:= <Detalle1x."nota">;
for cnt:=1 to length(cadena) do
      begin
      if cadena[cnt] = '*' then cadena[cnt]:= ''+ #13 + #10;
      end;
Memo5.text:=Memo5.text + cadena;
end;

Luego en los datos elimina las notas para que no se repitan.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)

Contáctanos | Sysme Software | Volver arriba | | Archivo (Modo simple) | Sindicación RSS