Etiquetas com Rave

24/01/2010

1

Olá a todos!!!
O codigo abaixo (deve haver uma mais enxuto), é para popular um simpledataset com a qtde de produtos comprados e por algum motivo esta pegando todos os produtos de todas as vendas. O cdcompras indica a compra que estou editando/inserindo, o cdsitenscompras refere-se aos itens da compra em si. Será que há algo de errado no codigo ou nos CDs???

     begin
        DmCompra.CdsEtiquetas.Close; //contem a qtde de etiquetas a ser impressa
        DmTabelas.CdsItensCompra.Prior; //Contem os itens de compra
        DmCompra.CdsEtiquetas.Open;
        while not DmTabelas.CdsItensCompra.eof do
        begin
           QtdeEtiquetas := 0.00;
           while QtdeEtiquetas < DmTabelas.CdsItensCompraQTD.AsFloat do
           begin
              QtdeEtiquetas := QtdeEtiquetas + 1; //Popular o dataset com uma etiqueta por vez ate dar a qtde comprada
              DmCompra.CdsEtiquetas.append;
              DmCompra.CdsEtiquetasIDPRODUTO.AsInteger := DmTabelas.CdsItensOrdemIDPRODUTO.AsInteger;
              DmCompra.CdsEtiquetasQTD.AsFloat := QtdeEtiquetas;
              DmCompra.CdsEtiquetasCODIGODEBARRAS.asstring;
              DmCompra.CdsEtiquetasDESCRICAO.asstring := DmTabelas.CdsItensCompraDESCRICAO.AsString;
           end;
           DmTabelas.CdsItensCompra.Next;
        end;
        if DmCompra.CdsEtiquetas.RecordCount > 0 then
           RvEtiquetas.Execute;

[]´s
Evaristo
Responder

Posts

24/01/2010

João Sobrinho

Colega, não deveria ter um filtro em DmTabelas.CdsItensCompra ?
Responder

24/01/2010

Evaristo Neto

Isso eu ate fiz mas nao postei pq estava dando erro. Mas o filtro, ao meu ver, seria dmcompras.cdsitenscompra.params[0].asinteger := dmcomrpas.cdscomprasidcompra.asinteger;
Mas por algum motivo nao quis aceitar esse parametro.
Mas de qq forma, obrigado por ter respondido!!
[]´s
Evaristo
Responder