[Lazarus-es] tzquery: error al hacer post

Paola Bruccoleri pbruccoleri en adinet.com.uy
Dom Sep 8 02:36:08 CEST 2013


Hola todos..
recurro a Uds dp de estar 3 horas dándole vueltas a lo mismo sin poder 
resolver nada!!!
Es algo muy raro, ya que tengo 2 forms que hacen prácticamente lo mismo, 
pero en uno falla y en otro no.
(lazarus 1.0.8, zeos 7.0.3 y firebird 2.1.5 64b

En un stringgrid voy guardando artículos:
nombre, cantidad, codigo, precio

cuando acepto el pedido, grabo los datos en una tabla PEDIDOS con el 
campo impreso='N'
Por último mando imprimir, y en la rutina de impresión, a medida q se 
van imprimiendo los renglones marco el pedido como impreso='S'
esta es más o menos la rutina; saqué cosas q no interesan para achicar.

   .....
   qry.Close;
   qry.SQL.Text:= 'select * from pedidos where impreso = ' + 
QuotedStr('N') + ' and codmesa = '+ 
frmMesas.dsMesas.DataSet.FieldByName('codigo').AsString + ' and lugar = 
' + QuotedStr(cLugar);
   qry.Open;

   if not qry.IsEmpty then
     begin
       SeleccionarImpresora(cImpresora);

       Printer.RawMode := True;
       Printer.BeginDoc;

      qry.First;
       While not qry.EOF do
         begin
           sDesc:= UTF8ToCP850(qry.FieldByName('descripcion').AsString);
           ImprimirCadenaRaw(qry.FieldByName('cantidad').AsString+' '+ 
sDesc);
ImprimirCadenaRaw(UTF8ToCP850(qry.FieldByName('obs').AsString));

           qry.Edit;
           qry.FieldByName('impreso').AsString:= 'S'; // se marca 
pedidos->impreso = 'S'
           qry.Post;

           qry.Next;
         end;

       Printer.EndDoc;
       Printer.RawMode := false;
     end;
   qry.Close;


como ven nada del otro mundo; funciona siempre.

PERO pasa algo bien raro:
si ingreso 2o más articulos iguales con cantidad 1 esa cantidad de 
veces, al hacer el primer POST cancela; llega a imprimir un pedazo del 
ticket pero no sale hasta q no cierro el programa, por tanto, no sale el 
2do renglón.

de cq otra forma no pasa nada:o sea si ingreso 2 articulos diferentes 
con cantidad 1, si ingreso 1 articulo con cantidad 1 y luego el mismo 
con cantidad 2, si ingreso 1 renglón con el mismo articulo con cantidad 
2 o más veces , etc...

Tengo otro proceso parecido que usa la misma rutina de impresión, pero 
ahí no ocurre nada porque previamente me tomo el trabajo de juntar todos 
los artículos iguales en un record, por tanto, nunca va a pasar de que 
hayan 2 renglones con el mismo articulo y cantidad 1.
En este caso, me encapriché y no quiero cambiar a la otra forma.. no 
puede ser que esto falle.

ya he probado de todo..
poner un .cancel antes del edit, poner luego del post el .commitupdate 
(pero es lo mismo xq ocurre en el post), de preguntar si el qry esta en 
modo dsedit (y está, por eso pasa al post)....

ya no se que hacer! help!!!!

mil gracias por cualquier cosa q se les pueda ocurrir.. debe ser una 
sutileza tan grande que ya no la veo.
byeeeeeeeeeeeeeeee






More information about the Lazarus-es mailing list