procedure TFORMVENTA.Eliminar1Click(Sender: TObject);
begin
if ID_VENTA <> 0 then
begin
if MessageDlg('SU REGISTRO SERA ELIMINADO, ¿REALMENTE DESEA ELIMINAR REGISTRO?',mtConfirmation,mbOKCancel,0) <> idOk then
begin
ID_VENTA := 0;
abort
end
else
begin
with MDATOS_SAGA.FDQSEL_ABM_VEN2 Do
Begin
SQL.Clear;
SQL.Add('SELECT id_pro_detven, can_detven FROM det_venta WHERE id_ven_detven = :ID_DETVEN');
ParamByName('ID_DETVEN').AsInteger := ID_VENTA;
open;
end;
with MDATOS_SAGA.FDQACTUAL_STOCK do
begin
SQL.Clear;
SQL.Add('UPDATE producto SET producto.sto_prod = producto.sto_prod + :CANT1 WHERE producto.id_prod = :PROD');
While not MDATOS_SAGA.FDQSEL_ABM_VEN2.Eof Do
begin
Params.ParamByName('CANT1').AsInteger := MDATOS_SAGA.FDQSEL_ABM_VEN2.FieldByName('CAN_DETVEN').AsInteger;
Params.ParamByName('PROD').AsInteger := MDATOS_SAGA.FDQSEL_ABM_VEN2.FieldByName('ID_PRO_DETVEN').AsInteger;
ExecSQL;
MDATOS_SAGA.FDQSEL_ABM_VEN2.Next;
end;
end;
With MDATOS_SAGA.FDQABM_VENTA do
Begin
SQL.Clear;
SQL.Add ('DELETE FROM venta WHERE id_ven = :ID_VENE');
Params.ParamByName('ID_VENE').AsInteger := ID_VENTA;
ExecSQL;
if RowsAffected = 1 then
With MDATOS_SAGA.FDQABM_DET_VENTA do
Begin
SQL.Clear;
SQL.Add ('DELETE FROM det_venta WHERE id_ven_detven = :ID_DETVENE');
Params.ParamByName('ID_DETVENE').AsInteger := ID_VENTA;
ExecSQL;
end;
MDATOS_SAGA.FDTVENTA.Refresh;
DBGVENTA.DataSource.DataSet.Refresh;
MDATOS_SAGA.FDTDET_VENTA.Refresh;
DBGDET_VENTA.DataSource.DataSet.Refresh;
end;
end;
end
else
begin
ShowMessage('DEBE SELECCIONAR UN REGISTRO DE LA GRILLA PARA ELIMINAR, VERIFICAR');
end;
end;