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
