git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES/trunk@4 b68bf8ae-e977-074f-a058-3cfd71dd8f45
283 lines
8.6 KiB
ObjectPascal
283 lines
8.6 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.3
|
|
Fecha versión actual: 04-10-2004
|
|
===============================================================================
|
|
Modificaciones:
|
|
|
|
Fecha Comentarios
|
|
---------------------------------------------------------------------------
|
|
24-02-2002 Ajusta el alto de la ventana modal de listar.
|
|
|
|
07-04-2002 Se ha adaptado a una unica transacción.
|
|
|
|
14-07-2004 Se ha adaptado a multiempresa.
|
|
|
|
04-10-2004 Se añade unidad cambiarEntidad para que pueda cambiar de color
|
|
dependiendo del modulo desde el que se la llama
|
|
|
|
===============================================================================
|
|
}
|
|
|
|
unit HistoricoMovimientos;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
Grids, DBGrids, RdxBotones, StdCtrls, IB, RdxFrame,
|
|
RdxMemo, RdxCampos, ExtCtrls, Tipos, IBCustomDataSet,
|
|
RdxComboBox, Db, DBTables, RXDBCtrl, RdxTitulos, RdxPaneles, IBSQL,
|
|
RdxBarras, DBCtrls, RxMemDS, RdxCheckBox, RdxFrameHistoricoMovimientos,
|
|
Mensajes, dxCntner, dxTL, dxDBCtrl, dxDBGrid, pngimage;
|
|
|
|
type
|
|
TfrHistoricoMovimientos = class(TRdxFrameHistoricoMovimientos)
|
|
dsMovimientos: TDataSource;
|
|
RdxBarraSuperior1: TRdxBarraSuperior;
|
|
bConsultar: TRdxBotonSuperior;
|
|
bEliminar: TRdxBotonSuperior;
|
|
bBuscar: TRdxBotonSuperior;
|
|
bListar: TRdxBotonSuperior;
|
|
pnlCuerpo: TRdxPanel;
|
|
pnlGridArticulos: TPanel;
|
|
pnlDatos: TPanel;
|
|
pnlExtra: TRdxBarraSuperior;
|
|
eAlmacen: TLabel;
|
|
cbxAlmacen: TRdxComboBox;
|
|
gridMovimientos: TdxDBGrid;
|
|
imgSombra: TImage;
|
|
|
|
procedure bConsultarClick(Sender: TObject);
|
|
procedure bEliminarClick(Sender: TObject);
|
|
procedure bBuscarClick(Sender: TObject);
|
|
procedure bListarClick(Sender: TObject);
|
|
procedure cbxAlmacenChange(Sender: TObject);
|
|
procedure gridMovimientosRefreshButton(Sender: TObject);
|
|
private
|
|
procedure ActualizarBotones;
|
|
protected
|
|
procedure BuscarAlmacen; override;
|
|
procedure BuscarMovimiento; override;
|
|
procedure FreeContenido; override;
|
|
procedure VerModal; override;
|
|
procedure SetContenido (NuevoFrame : TRdxFrame); override;
|
|
function CambiarEntidad (EntidadAnterior, Entidad : TRdxEntidad): Boolean; override;
|
|
public
|
|
constructor Create (AOwner : TComponent); override;
|
|
destructor Destroy; override;
|
|
published
|
|
property TablaMovimientos;
|
|
property Entidad;
|
|
end;
|
|
|
|
var
|
|
frHistoricoMovimientos: TfrHistoricoMovimientos;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
uses
|
|
BaseDatos, BuscarMovimiento, HistoricoMovimiento, ListadoHistoricoMovimientos,
|
|
TablaMovimientos, TablaAlmacenes, TablaHistoricoMovimientos, Excepciones,
|
|
Configuracion, RdxEmpresaActiva;
|
|
|
|
constructor TfrHistoricoMovimientos.Create (AOwner : TComponent);
|
|
var
|
|
i : integer;
|
|
begin
|
|
inherited Create(AOwner);
|
|
Entidad := entAlmacen;
|
|
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.sqlGrid);
|
|
end;
|
|
|
|
dmTablaAlmacenes.darAlmacenes(EmpresaActiva.Codigo, FListaAlmacenesCodigo,FListaCodigosAlmacen);
|
|
|
|
for i:=0 to FListaAlmacenesCodigo.Count-1 do
|
|
cbxAlmacen.Items.Add(FListaAlmacenesCodigo.Names[i]);
|
|
|
|
// Carga el primer almacen
|
|
cbxAlmacen.ItemIndex := 0;
|
|
CodigoAlmacen := FListaAlmacenesCodigo.Values[cbxAlmacen.Text];
|
|
|
|
|
|
// dmTablaArticulos.InicializarTablaArticulos(@TablaArticulos);
|
|
dmTablaHistoricoMovimientos.InicializarGridMovimientos(gridMovimientos);
|
|
// gridMovimientos.AutoWidth := awWidestValueTitle;
|
|
end;
|
|
|
|
destructor TfrHistoricoMovimientos.Destroy;
|
|
begin
|
|
TablaMovimientos.Close;
|
|
TablaMovimientos.UnPrepare;
|
|
TablaMovimientos.Free;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimientos.BuscarAlmacen;
|
|
begin
|
|
if Transaccion = NIL then
|
|
exit;
|
|
|
|
try
|
|
TablaMovimientos.DisableControls;
|
|
TablaMovimientos.Close;
|
|
|
|
if not VarIsNull(CodigoAlmacen) then
|
|
TablaMovimientos.Params.ByName('CODIGOALMACEN').AsString := CodigoAlmacen;
|
|
|
|
TablaMovimientos.Params.ByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
|
|
|
|
|
|
TablaMovimientos.Prepare;
|
|
TablaMovimientos.Open;
|
|
ActualizarBotones;
|
|
TablaMovimientos.EnableControls;
|
|
|
|
// Establece en el combox el almacen correspondiente al codigo a buscar
|
|
cbxAlmacen.ItemIndex := cbxAlmacen.Items.IndexOf(FListaCodigosAlmacen.Values[CodigoAlmacen]);
|
|
except
|
|
on E : EIBError do
|
|
TratarExcepcion(E);
|
|
on E : Exception do
|
|
TratarExcepcion(E);
|
|
end;
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimientos.cbxAlmacenChange(Sender: TObject);
|
|
begin
|
|
CodigoAlmacen := FListaAlmacenesCodigo.Values[cbxAlmacen.Text];
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimientos.FreeContenido;
|
|
begin
|
|
if (Contenido is TRdxFrameHistoricoMovimientos) then
|
|
CodigoMovimiento := (Contenido as TRdxFrameHistoricoMovimientos).CodigoMovimiento;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimientos.bBuscarClick(Sender: TObject);
|
|
begin
|
|
CodigoMovimiento := TablaMovimientos.FieldByName('CODIGO').AsString;
|
|
Contenido := TfrBuscarMovimiento.Create(Self);
|
|
Contenido.Entidad := Self.Entidad;
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimientos.bEliminarClick(Sender: TObject);
|
|
begin
|
|
CodigoMovimiento := TablaMovimientos.FieldByName('CODIGO').AsString;
|
|
Contenido := TfrHistoricoMovimiento.Create(Self);
|
|
Contenido.Entidad := Self.Entidad;
|
|
Contenido.Modo := Eliminar;
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimientos.bConsultarClick(Sender: TObject);
|
|
begin
|
|
CodigoMovimiento := TablaMovimientos.FieldByName('CODIGO').AsString;
|
|
Contenido := TfrHistoricoMovimiento.Create(Self);
|
|
Contenido.Entidad := Self.Entidad;
|
|
Contenido.Modo := Consultar;
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimientos.bListarClick(Sender: TObject);
|
|
begin
|
|
Contenido := TfrListadoHistoricoMovimientos.Create(Self);
|
|
Contenido.Entidad := Self.Entidad;
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimientos.BuscarMovimiento;
|
|
begin
|
|
with TablaMovimientos do
|
|
begin
|
|
DisableControls;
|
|
Close;
|
|
Open;
|
|
ActualizarBotones;
|
|
EnableControls;
|
|
end;
|
|
TablaMovimientos.Locate('CODIGO',CodigoMovimiento,[]);
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimientos.VerModal;
|
|
begin
|
|
if (ContenidoModal is TfrListadoHistoricoMovimientos) then
|
|
(ContenidoModal as TfrListadoHistoricoMovimientos).CodigoAlmacen := CodigoAlmacen;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimientos.ActualizarBotones;
|
|
begin
|
|
if BaseDatos.IsReadOnly then
|
|
begin
|
|
bConsultar.Enabled := True;
|
|
bEliminar.Enabled := False;
|
|
bBuscar.Enabled := True;
|
|
bListar.Enabled := True;
|
|
Exit;
|
|
end;
|
|
|
|
if TablaMovimientos.RecordCount= 0 then
|
|
begin
|
|
bConsultar.Enabled := False;
|
|
bEliminar.Enabled := False;
|
|
bBuscar.Enabled := False;
|
|
bListar.Enabled := False;
|
|
end
|
|
else begin
|
|
bConsultar.Enabled := True;
|
|
bEliminar.Enabled := True;
|
|
bBuscar.Enabled := True;
|
|
bListar.Enabled := True;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimientos.gridMovimientosRefreshButton(
|
|
Sender: TObject);
|
|
begin
|
|
//Porque no se va ha cambiar de almacen ya que es solo refresco
|
|
BuscarMovimiento;
|
|
end;
|
|
|
|
procedure TfrHistoricoMovimientos.SetContenido(NuevoFrame: TRdxFrame);
|
|
begin
|
|
inherited;
|
|
if (Contenido is TfrListadoHistoricoMovimientos) then
|
|
begin
|
|
(Contenido as TfrListadoHistoricoMovimientos).Entidad := Entidad;
|
|
(Contenido as TfrListadoHistoricoMovimientos).CodigoAlmacen := CodigoAlmacen;
|
|
end;
|
|
end;
|
|
|
|
function TfrHistoricoMovimientos.CambiarEntidad(EntidadAnterior,
|
|
Entidad: TRdxEntidad): Boolean;
|
|
begin
|
|
if not inherited CambiarEntidad(EntidadAnterior, Entidad) then
|
|
Exit;
|
|
|
|
ConfigurarFrame(Self, Self.Entidad);
|
|
end;
|
|
|
|
end.
|