[Lazarus-es] tzquery: error al hacer post

Claudio Romero clauslack en gmail.com
Dom Sep 8 05:41:12 CEST 2013


Hola,

te da un error, o solo se saltea la impresión?



El día 7 de septiembre de 2013 21:36, Paola Bruccoleri
<pbruccoleri en adinet.com.uy> escribió:
> 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
>
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es




More information about the Lazarus-es mailing list