git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES/trunk@4 b68bf8ae-e977-074f-a058-3cfd71dd8f45
292 lines
7.9 KiB
ObjectPascal
292 lines
7.9 KiB
ObjectPascal
{
|
|
===============================================================================
|
|
Copyright (©) 2001. Rodax Software.
|
|
===============================================================================
|
|
Los contenidos de este fichero son propiedad de Rodax Software titular del
|
|
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
|
|
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
|
|
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
|
|
bajo el que se suministra.
|
|
-----------------------------------------------------------------------------
|
|
Web: www.rodax-software.com
|
|
===============================================================================
|
|
Fecha primera versión: 01-10-2001
|
|
Versión actual: 1.0.2
|
|
Fecha versión actual: 04-10-2004
|
|
===============================================================================
|
|
Modificaciones:
|
|
|
|
Fecha Comentarios
|
|
---------------------------------------------------------------------------
|
|
07-04-2002 Se ha adaptado a una unica transacción.
|
|
|
|
04-10-2004 Se añade unidad cambiarEntidad para que pueda cambiar de color
|
|
dependiendo del modulo desde el que se la llama
|
|
|
|
===============================================================================
|
|
}
|
|
|
|
unit HistoricoMovimiento;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
StdCtrls, ExtCtrls, Db, IBCustomDataSet, Mask, DBCtrls, Buttons, ToolEdit,
|
|
IB, IBDatabase, RdxBarras, RdxBotones, RdxCampos, RdxMemo, RdxComboBox,
|
|
RdxCheckBox, RdxTitulos, RdxPaneles, Colores, Mensajes, Tipos,
|
|
RdxFrameHistoricoMovimientos;
|
|
|
|
type
|
|
TfrHistoricoMovimiento = class(TRdxFrameHistoricoMovimientos)
|
|
brSalir: TRdxBarraInferior;
|
|
bSalir: TRdxBoton;
|
|
pnlScroll: TRdxScrollPanel;
|
|
pnlDetalles: TRdxPanel;
|
|
eCantidad: TLabel;
|
|
eStockAnterior: TLabel;
|
|
eStockNuevo: TLabel;
|
|
eClienteAsociado: TLabel;
|
|
eFecha: TLabel;
|
|
eCausa: TLabel;
|
|
cDetalles: TRdxCabecera;
|
|
eHora: TLabel;
|
|
pnlDatos: TRdxPanel;
|
|
cDatos: TRdxCabecera;
|
|
eTipoOperacion: TLabel;
|
|
eTipoMovimiento: TLabel;
|
|
eUsuario: TLabel;
|
|
Codigo: TRdxDBEdit;
|
|
eCodigo: TLabel;
|
|
eUnidades: TLabel;
|
|
Descripcion: TRdxDBEdit;
|
|
eDescripcion: TLabel;
|
|
eFamilia: TLabel;
|
|
TipoOperacion: TRdxDBEdit;
|
|
Hora: TRdxDBEdit;
|
|
Cantidad: TRdxDBEdit;
|
|
Fecha: TRdxDBEdit;
|
|
StockAnterior: TRdxDBEdit;
|
|
TipoMovimiento: TRdxDBEdit;
|
|
StockNuevo: TRdxDBEdit;
|
|
Cliente: TRdxDBEdit;
|
|
Usuario: TRdxDBEdit;
|
|
Familia: TRdxDBEdit;
|
|
UnidadesMedida: TRdxDBEdit;
|
|
pnlAlmacen: TRdxPanel;
|
|
CArticulo: TRdxCabecera;
|
|
eAlmacen: TLabel;
|
|
dsMovimientos: TDataSource;
|
|
brDoble: TRdxBarraInferior;
|
|
bAceptar: TRdxBoton;
|
|
bCancelar: TRdxBoton;
|
|
Observaciones: TRdxDBMemo;
|
|
cbxAlmacen: TRdxDBComboBox;
|
|
Titulo: TRdxPanelTituloOperacion;
|
|
procedure bAceptarClick(Sender: TObject);
|
|
procedure bCancelarGuardarClick(Sender: TObject);
|
|
procedure bSalirClick(Sender: TObject);
|
|
protected
|
|
procedure ActivarModoConsultar; override;
|
|
procedure ActivarModoEliminar; override;
|
|
function EliminarDatos : Boolean; override;
|
|
function CancelarEliminar : Boolean; override;
|
|
procedure BuscarAlmacen; override;
|
|
procedure BuscarMovimiento; override;
|
|
function ComprobarDatos: Boolean; override;
|
|
function CambiarEntidad (EntidadAnterior, Entidad : TRdxEntidad): Boolean; override;
|
|
public
|
|
constructor Create(AOwner : TComponent); override;
|
|
destructor Destroy; override;
|
|
end;
|
|
|
|
var
|
|
frHistoricoMovimiento: TfrHistoricoMovimiento;
|
|
|
|
implementation
|
|
{$R *.DFM}
|
|
|
|
uses
|
|
BaseDatos, TablaHistoricoMovimientos, TablaAlmacenes, Excepciones,
|
|
Configuracion, RdxEmpresaActiva, Literales;
|
|
|
|
constructor TfrHistoricoMovimiento.Create(AOwner : TComponent);
|
|
var
|
|
i : integer;
|
|
begin
|
|
inherited Create(AOwner);
|
|
Entidad := entMovimiento;
|
|
ConfigurarFrame(Self, Self.Entidad);
|
|
|
|
BaseDatos := dmBaseDatos.BD;
|
|
Transaccion := dmBaseDatos.Transaccion;
|
|
TablaMovimientos := TIBDataSet.Create(Self);
|
|
dsMovimientos.DataSet := TablaMovimientos;
|
|
with TablaMovimientos do
|
|
begin
|
|
Database := BaseDatos;
|
|
Transaction := Transaccion;
|
|
SelectSQL.Assign(dmTablaHistoricoMovimientos.sqlConsultar);
|
|
DeleteSQL.Assign(dmTablaHistoricoMovimientos.sqlEliminar);
|
|
RefreshSQL.Assign(dmTablaHistoricoMovimientos.sqlConsultar);
|
|
end;
|
|
|
|
{Carga todos los almacenes en el combox, como no habra posibilidad de cambio,
|
|
da igual la entidad que sea}
|
|
dmTablaAlmacenes.darAlmacenes(EmpresaActiva.Codigo, FListaAlmacenesCodigo,FListaCodigosAlmacen);
|
|
for i:=0 to FListaAlmacenesCodigo.Count-1 do
|
|
cbxAlmacen.Items.Add(FListaAlmacenesCodigo.Names[i]);
|
|
end;
|
|
|
|
destructor TfrHistoricoMovimiento.Destroy;
|
|
begin
|
|
TablaMovimientos.Close;
|
|
TablaMovimientos.UnPrepare;
|
|
TablaMovimientos.Free;
|
|
inherited;
|
|
end;
|
|
|
|
|
|
procedure TfrHistoricoMovimiento.bSalirClick(Sender: TObject);
|
|
begin
|
|
try
|
|
Rollback;
|
|
CloseFrame;
|
|
except
|
|
on E : EIBError do
|
|
TratarExcepcion(E);
|
|
on E : Exception do
|
|
TratarExcepcion(E);
|
|
end;
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimiento.ActivarModoConsultar;
|
|
begin
|
|
dsMovimientos.AutoEdit := False;
|
|
try
|
|
TablaMovimientos.Open;
|
|
if TablaMovimientos.RecordCount = 0 then
|
|
begin
|
|
VerMensaje(msgMovNoExiste);
|
|
CloseFrame;
|
|
Exit;
|
|
end;
|
|
TablaMovimientos.Cancel;
|
|
Visible := True;
|
|
except
|
|
on E : EIBError do
|
|
TratarExcepcion(E);
|
|
on E : Exception do
|
|
TratarExcepcion(E);
|
|
end;
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimiento.ActivarModoEliminar;
|
|
begin
|
|
dsMovimientos.AutoEdit := False;
|
|
try
|
|
TablaMovimientos.Open;
|
|
if TablaMovimientos.RecordCount = 0 then
|
|
begin
|
|
VerMensaje(msgMovNoExiste);
|
|
CancelarEliminar;
|
|
CloseFrame;
|
|
Exit;
|
|
end;
|
|
TablaMovimientos.Cancel;
|
|
Visible := True;
|
|
except
|
|
on E : EIBError do
|
|
TratarExcepcion(E);
|
|
on E : Exception do
|
|
TratarExcepcion(E);
|
|
end;
|
|
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimiento.bAceptarClick(Sender: TObject);
|
|
begin
|
|
if (RealizarOperacion) then
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimiento.bCancelarGuardarClick(Sender: TObject);
|
|
begin
|
|
if (TratarCambios = IDOK) then
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimiento.BuscarAlmacen;
|
|
begin
|
|
cbxAlmacen.ItemIndex := cbxAlmacen.Items.IndexOf(FListaCodigosAlmacen.Values[CodigoAlmacen]);
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimiento.BuscarMovimiento;
|
|
begin
|
|
if Transaccion = NIL then
|
|
exit;
|
|
try
|
|
TablaMovimientos.Close;
|
|
|
|
// Buscar la fila a tratar si es necesario
|
|
if (not VarIsNull(CodigoMovimiento)) then
|
|
TablaMovimientos.Params.ByName('CODIGO').AsString := CodigoMovimiento;
|
|
|
|
TablaMovimientos.Prepare;
|
|
TablaMovimientos.Open;
|
|
except
|
|
on E : EIBError do
|
|
TratarExcepcion(E);
|
|
on E : Exception do
|
|
TratarExcepcion(E);
|
|
end;
|
|
end;
|
|
|
|
function TfrHistoricoMovimiento.CancelarEliminar: Boolean;
|
|
begin
|
|
Result := False;
|
|
try
|
|
RollBack;
|
|
TablaMovimientos.Close;
|
|
Result := True;
|
|
except
|
|
on E : EIBError do
|
|
TratarExcepcion(E);
|
|
on E : Exception do
|
|
TratarExcepcion(E);
|
|
end;
|
|
end;
|
|
|
|
function TfrHistoricoMovimiento.ComprobarDatos: Boolean;
|
|
begin
|
|
Result := True;
|
|
end;
|
|
|
|
function TfrHistoricoMovimiento.EliminarDatos: Boolean;
|
|
begin
|
|
Result := False;
|
|
try
|
|
TablaMovimientos.Delete;
|
|
Commit;
|
|
TablaMovimientos.Close;
|
|
Result := True;
|
|
except
|
|
on E : EIBError do
|
|
TratarExcepcion(E);
|
|
on E : Exception do
|
|
TratarExcepcion(E);
|
|
end;
|
|
end;
|
|
|
|
|
|
function TfrHistoricoMovimiento.CambiarEntidad(EntidadAnterior,
|
|
Entidad: TRdxEntidad): Boolean;
|
|
begin
|
|
if not inherited CambiarEntidad(EntidadAnterior, Entidad) then
|
|
Exit;
|
|
|
|
ConfigurarFrame(Self, Self.Entidad);
|
|
end;
|
|
|
|
end.
|