Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Actualizar Inventario (https://www.clubdelphi.com/foros/showthread.php?t=74518)

JJMR2009 23-06-2011 19:57:46

Actualizar Inventario
 
Tengan un Buen todos. Tengo un clientdataset donde voy insertado los articulos a vender Codigo, Articulo, precio, Cantidad, inserto varios lineas a la factura y estos datos a la tabla ventas mediante CDS.ApplyUpdates(0), hasta ahi todo va bien Mi pregunta es como hago para actualizar la tabla inventario. Cual es el procedimiento a seguir o que codigo utilizo...
Graciasssss.

oscarac 23-06-2011 20:27:09

klo que puedes hacer es recorrer ese clientdataset buscar el codigo en tu tabla de inventarios y disminuir en funcion a la cantidad

JJMR2009 23-06-2011 20:33:58

Cita:

Empezado por oscarac (Mensaje 404649)
klo que puedes hacer es recorrer ese clientdataset buscar el codigo en tu tabla de inventarios y disminuir en funcion a la cantidad

Perdona la molestia es que no tengo mucha experiencia, como podría hacer esto. Podrías explicarme?

oscarac 23-06-2011 20:55:06

coloca algo del codigo que tienes, como insertas articulos en el ClientDataset, como lo abres, cierras.. en fin lo que tengas

que base de datos estas usando, etc

JJMR2009 23-06-2011 21:11:03

Ok Yo llamo los articulos procedentes de la tabla inventario mediante una adoquery y los inserto asi en el clientdataset
Código Delphi [-]
procedure TVENTAS.CodigoKeyPress(Sender: TObject; var Key: Char);
var a:integer;
begin
if codigo.Text<>'' then
if key=#13 then
////
if Querycodigo.IsEmpty=false then
        begin
          codigo.Text:=Querycodigo.fieldbyname('codigo').AsString;
          Detalle.Text:=Querycodigo.fieldbyname('Detalle').AsString;
          Valor.Text:=Querycodigo.fieldbyname('Precio').AsString;
 
with CDS do
     begin
     Append;
     FieldByname('Cantidad').AsFloat := strtofloat(cant.Text);
     FieldByname('Detalle').AsString := Detalle.Text;
     FieldByname('Precio').AsString := Valor.Text;
     FieldByname('Codigo').AsString := codigo.Text;
     Post;

asi voy insertando lienea por linea al dbgrid, la cantidad si necesito cambiarla lo hago en el dbgrid, luego grabo a la tabla ventas asi:
Código Delphi [-]
procedure TVENTAS.FACTURARClick(Sender: TObject);
begin
With ADOCONNECTION1 do
   begin
    Connected := True;
    With ADOTABLE1 do
     begin
      Active := True;
      CDS.ApplyUpdates(0);
      Active := False;
     end;
    Connected := False;
    cds.Close;

Estoy trabajando con tablas de access y me conecto con adoconection, adotable1, datasource1, datasetprovider1, clientdataset "CDS".Hasta aqui todo funciona bien, pero ni idea como descontar del inventario. Graciass


La franja horaria es GMT +2. Ahora son las 19:17:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi