Etiquetas com Rave
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
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
Evaristo Neto
Curtidas 0
Respostas
João Sobrinho
24/01/2010
Colega, não deveria ter um filtro em DmTabelas.CdsItensCompra ?
GOSTEI 0
Evaristo Neto
24/01/2010
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
Mas por algum motivo nao quis aceitar esse parametro.
Mas de qq forma, obrigado por ter respondido!!
[]´s
Evaristo
GOSTEI 0