[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