git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES/trunk@4 b68bf8ae-e977-074f-a058-3cfd71dd8f45
325 lines
9.6 KiB
ObjectPascal
325 lines
9.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: 11-08-2002
|
|
Versión actual: 1.0.2
|
|
Fecha versión actual: 04-10-2004
|
|
===============================================================================
|
|
Modificaciones:
|
|
|
|
Fecha Comentarios
|
|
---------------------------------------------------------------------------
|
|
27-11-2001 Cambio de los titulos respectivos a obra y almacenes en el
|
|
procedimiento CambiarEntidad.
|
|
|
|
07-04-2002 Se ha adaptado a una unica transacción.
|
|
|
|
14-04-2004 p272. Adaptación a multiempresa.
|
|
|
|
04-10-2004 Cambio CambiarEntidad para que soporte otro color.
|
|
===============================================================================
|
|
}
|
|
|
|
unit ArticuloObraHistorica;
|
|
|
|
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,
|
|
RdxFrameArticulosObraHistorica;
|
|
|
|
type
|
|
TfrArticuloObraHistorica = class(TRdxFrameArticulosObraHistorica)
|
|
pnlScroll: TRdxScrollPanel;
|
|
brSimple: TRdxBarraInferior;
|
|
bSalir: TRdxBoton;
|
|
pnlAlmacen: TRdxPanel;
|
|
eAlmacen: TLabel;
|
|
cAlmacen: TRdxCabecera;
|
|
RdxPanel1: TRdxPanel;
|
|
RdxCabecera1: TRdxCabecera;
|
|
Codigo: TRdxDBEdit;
|
|
eCodigo: TLabel;
|
|
cbxFamilia: TRdxDBComboBox;
|
|
eFamilia: TLabel;
|
|
Precio: TRdxDBEdit;
|
|
cbxUnidadesMedida: TRdxDBComboBox;
|
|
eUnidades: TLabel;
|
|
eDescripcion: TLabel;
|
|
Descripcion: TRdxDBEdit;
|
|
eObservaciones: TLabel;
|
|
Observaciones: TRdxDBMemo;
|
|
dsArticulosObraHistorica: TDataSource;
|
|
Titulo: TRdxPanelTituloOperacion;
|
|
cbxAlmacen: TRdxDBComboBox;
|
|
brDoble: TRdxBarraInferior;
|
|
bAceptar: TRdxBoton;
|
|
bCancelar: TRdxBoton;
|
|
eStockActual: TLabel;
|
|
procedure bAceptarClick(Sender: TObject);
|
|
procedure bCancelarGuardarClick(Sender: TObject);
|
|
procedure bSalirClick(Sender: TObject);
|
|
procedure CodigoButtonClick(Sender: TObject);
|
|
private
|
|
FListaAlmacenesCodigo : TStringList;
|
|
protected
|
|
procedure ActivarModoConsultar; override;
|
|
procedure ActivarModoEliminar; override;
|
|
function EliminarDatos : Boolean; override;
|
|
function CancelarEliminar : Boolean; override;
|
|
procedure VerModal; override;
|
|
procedure FreeContenido; override;
|
|
procedure BuscarAlmacen; override;
|
|
procedure BuscarArticulo; override;
|
|
function ComprobarDatos: Boolean; override;
|
|
public
|
|
constructor Create(AOwner : TComponent); override;
|
|
destructor Destroy; override;
|
|
published
|
|
property TablaArticulosObraHistorica;
|
|
property CodigoAlmacen;
|
|
property CodigoArticulo;
|
|
end;
|
|
|
|
var
|
|
frArticuloObraHistorica: TfrArticuloObraHistorica;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
|
|
uses
|
|
BaseDatos, TablaArticulosObraHistorica, ArticulosObraHistorica, Excepciones,
|
|
StrFunc, Configuracion, RdxEmpresaActiva, Literales;
|
|
|
|
constructor TfrArticuloObraHistorica.Create(AOwner : TComponent);
|
|
var
|
|
i : Integer;
|
|
liIndex : Integer;
|
|
begin
|
|
inherited Create(AOwner);
|
|
Entidad := entArticuloAlmacenObra;
|
|
ConfigurarFrame(Self, Self.Entidad);
|
|
BaseDatos := dmBaseDatos.BD;
|
|
Transaccion := dmBaseDatos.Transaccion;
|
|
TablaArticulosObraHistorica := TIBDataSet.Create(Self);
|
|
dsArticulosObraHistorica.DataSet := TablaArticulosObraHistorica;
|
|
with TablaArticulosObraHistorica do
|
|
begin
|
|
Database := BaseDatos;
|
|
Transaction := Transaccion;
|
|
SelectSQL.Assign(dmTablaArticulosObraHistorica.sqlConsultar);
|
|
DeleteSQL.Assign(dmTablaArticulosObraHistorica.sqlEliminar);
|
|
RefreshSQL.Assign(dmTablaArticulosObraHistorica.sqlConsultar);
|
|
end;
|
|
|
|
{Carga todos los almacenes en el combox, como no habra posibilidad de cambio,
|
|
da igual la entidad que sea}
|
|
FListaAlmacenesCodigo := dmTablaArticulosObraHistorica.DarObras(EmpresaActiva.Codigo);
|
|
|
|
for i:=0 to FListaAlmacenesCodigo.Count-1 do
|
|
cbxAlmacen.Items.Add(FListaAlmacenesCodigo.Strings[i]);
|
|
|
|
// Carga el primer almacen
|
|
cbxAlmacen.ItemIndex := 0;
|
|
liIndex := FListaAlmacenesCodigo.IndexOf(cbxAlmacen.Text);
|
|
//Asigno el objeto codigo de almacen (CodigoObra, Nombre, FechaCierre)
|
|
if (liIndex <> -1) then
|
|
CodigoAlmacen := TTipoCodigoFecha(FListaAlmacenesCodigo.Objects[liIndex]);
|
|
end;
|
|
|
|
destructor TfrArticuloObraHistorica.Destroy;
|
|
begin
|
|
TablaArticulosObraHistorica.Close;
|
|
TablaArticulosObraHistorica.UnPrepare;
|
|
TablaArticulosObraHistorica.Free;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TfrArticuloObraHistorica.bAceptarClick(Sender: TObject);
|
|
begin
|
|
if (RealizarOperacion) then
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrArticuloObraHistorica.BuscarAlmacen;
|
|
var
|
|
i: integer;
|
|
begin
|
|
cbxAlmacen.ItemIndex := FListaAlmacenesCodigo.IndexOf(CodigoAlmacen.darDescripcion);
|
|
end;
|
|
|
|
procedure TfrArticuloObraHistorica.BuscarArticulo;
|
|
begin
|
|
if Transaccion = NIL then
|
|
exit;
|
|
try
|
|
with TablaArticulosObraHistorica do
|
|
begin
|
|
Close;
|
|
// Buscar la fila a tratar si es necesario
|
|
if (CodigoAlmacen <> Nil) and (not VarIsNull(CodigoArticulo)) then
|
|
begin
|
|
Params.ByName('CODIGOOBRA').AsInteger := CodigoAlmacen.Codigo;
|
|
Params.ByName('FECHACIERRE').AsDate := StrToDate(CodigoAlmacen.Fecha);
|
|
Params.ByName('CODIGOARTICULO').AsString := CodigoArticulo;
|
|
end;
|
|
Params.ByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
|
|
Prepare;
|
|
Open;
|
|
end;
|
|
except
|
|
on E : EIBError do
|
|
TratarExcepcion(E);
|
|
on E : Exception do
|
|
TratarExcepcion(E);
|
|
end;
|
|
end;
|
|
|
|
procedure TfrArticuloObraHistorica.ActivarModoConsultar;
|
|
begin
|
|
dsArticulosObraHistorica.AutoEdit := False;
|
|
Codigo.VerBoton := True;
|
|
try
|
|
TablaArticulosObraHistorica.Open;
|
|
if TablaArticulosObraHistorica.RecordCount = 0 then
|
|
begin
|
|
VerMensajeFmt(msgArtNoExisteArtAlm, [CodigoArticulo]);
|
|
CloseFrame;
|
|
Exit;
|
|
end;
|
|
TablaArticulosObraHistorica.Cancel;
|
|
Visible := True;
|
|
except
|
|
on E : EIBError do
|
|
TratarExcepcion(E);
|
|
on E : Exception do
|
|
TratarExcepcion(E);
|
|
end;
|
|
end;
|
|
|
|
procedure TfrArticuloObraHistorica.ActivarModoEliminar;
|
|
begin
|
|
dsArticulosObraHistorica.AutoEdit := False;
|
|
Codigo.VerBoton := True;
|
|
try
|
|
TablaArticulosObraHistorica.Open;
|
|
if TablaArticulosObraHistorica.RecordCount = 0 then
|
|
begin
|
|
VerMensajeFmt(msgArtNoExisteArtAlm, [CodigoArticulo]);
|
|
CancelarEliminar;
|
|
CloseFrame;
|
|
Exit;
|
|
end;
|
|
TablaArticulosObraHistorica.Cancel;
|
|
Visible := True;
|
|
except
|
|
on E : EIBError do
|
|
TratarExcepcion(E);
|
|
on E : Exception do
|
|
TratarExcepcion(E);
|
|
end;
|
|
end;
|
|
|
|
procedure TfrArticuloObraHistorica.FreeContenido;
|
|
begin
|
|
if (ContenidoModal is TRdxFrameArticulosObraHistorica) then begin
|
|
CodigoAlmacen := (ContenidoModal as TRdxFrameArticulosObraHistorica).CodigoAlmacen;
|
|
CodigoArticulo := (ContenidoModal as TRdxFrameArticulosObraHistorica).CodigoArticulo;
|
|
end;
|
|
inherited FreeContenido;
|
|
end;
|
|
|
|
procedure TfrArticuloObraHistorica.CodigoButtonClick(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
if (TratarCambios = IDCANCEL) then
|
|
exit;
|
|
|
|
ContenidoModal := TfrArticulosObraHistorica.Create(Self);
|
|
end;
|
|
|
|
procedure TfrArticuloObraHistorica.VerModal;
|
|
begin
|
|
if (ContenidoModal is TRdxFrameArticulosObraHistorica) then
|
|
(ContenidoModal as TRdxFrameArticulosObraHistorica).CodigoAlmacen := FCodigoAlmacen;
|
|
inherited VerModal;
|
|
end;
|
|
|
|
function TfrArticuloObraHistorica.EliminarDatos: Boolean;
|
|
begin
|
|
Result := False;
|
|
try
|
|
TablaArticulosObraHistorica.Delete;
|
|
Commit;
|
|
TablaArticulosObraHistorica.Close;
|
|
Result := True;
|
|
except
|
|
on E : EIBError do
|
|
TratarExcepcion(E);
|
|
on E : Exception do
|
|
TratarExcepcion(E);
|
|
end;
|
|
end;
|
|
|
|
function TfrArticuloObraHistorica.CancelarEliminar: Boolean;
|
|
begin
|
|
Result := False;
|
|
try
|
|
RollBack;
|
|
TablaArticulosObraHistorica.Close;
|
|
Result := True;
|
|
except
|
|
on E : EIBError do
|
|
TratarExcepcion(E);
|
|
on E : Exception do
|
|
TratarExcepcion(E);
|
|
end;
|
|
end;
|
|
|
|
procedure TfrArticuloObraHistorica.bCancelarGuardarClick(Sender: TObject);
|
|
begin
|
|
if (TratarCambios = IDOK) then
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrArticuloObraHistorica.bSalirClick(Sender: TObject);
|
|
begin
|
|
try
|
|
Rollback;
|
|
CloseFrame;
|
|
except
|
|
on E : EIBError do
|
|
TratarExcepcion(E);
|
|
on E : Exception do
|
|
TratarExcepcion(E);
|
|
end;
|
|
end;
|
|
|
|
function TfrArticuloObraHistorica.ComprobarDatos: Boolean;
|
|
begin
|
|
Result := False;
|
|
Case Modo of
|
|
Eliminar : {if dmTablaArticulosObraHistorica.ArticuloAlmacenTieneExistencias(CodigoAlmacen,CodigoArticulo) then
|
|
begin
|
|
VerMensaje(msgArtTieneExistencias);
|
|
Exit;
|
|
end;}
|
|
end;
|
|
Result := True;
|
|
end;
|
|
|
|
end.
|