173 lines
5.3 KiB
ObjectPascal
173 lines
5.3 KiB
ObjectPascal
|
|
unit Articulo;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|||
|
|
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
|||
|
|
cxEdit, DB, cxDBData, Menus, am2000menuitem, am2000popupmenu, am2000,
|
|||
|
|
cxButtonEdit, cxDBEdit, cxMaskEdit, cxDropDownEdit, cxContainer,
|
|||
|
|
cxTextEdit, cxMemo, StdCtrls, cxGridLevel, cxClasses, cxControls,
|
|||
|
|
cxGridCustomView, cxGridCustomTableView, cxGridCardView,
|
|||
|
|
cxGridDBCardView, cxGrid, AdvPanel, ExtCtrls, RdxBotones, RdxPaneles,
|
|||
|
|
RdxBarras, RdxTitulos, RdxFrame, ArticuloModelo, IBCustomDataSet, IBQuery,
|
|||
|
|
cxLookupEdit, cxDBLookupEdit, cxDBLookupComboBox, ActnList, cxDataStorage;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
TfrArticulo = class(TfrArticuloModelo)
|
|||
|
|
Label1: TLabel;
|
|||
|
|
Precio: TcxDBTextEdit;
|
|||
|
|
Label2: TLabel;
|
|||
|
|
Referencia: TcxDBTextEdit;
|
|||
|
|
procedure CodigoPropertiesButtonClick(Sender: TObject;AButtonIndex: Integer); override;
|
|||
|
|
procedure cbxFamiliaPropertiesValidate(Sender: TObject;
|
|||
|
|
var DisplayValue: Variant; var ErrorText: TCaption;
|
|||
|
|
var Error: Boolean);
|
|||
|
|
private
|
|||
|
|
FFamilia : Variant;
|
|||
|
|
function CargarPropiedadesModelo(Familia: Integer): Boolean;
|
|||
|
|
protected
|
|||
|
|
procedure ActivarModoAnadir; override;
|
|||
|
|
procedure ActivarModoModificar; override;
|
|||
|
|
procedure ActivarModoEliminar; override;
|
|||
|
|
procedure ActivarModoConsultar; override;
|
|||
|
|
procedure InicializarTablas; override;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
var
|
|||
|
|
frArticulo: TfrArticulo;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
TablaArticulos, TablaPropiedadesArticulo, TablaPropiedades,
|
|||
|
|
TablaFamilias, Entidades, BaseDatos, IBSQL, Articulos, Mensajes,
|
|||
|
|
RxMemDS, Literales, Configuracion;
|
|||
|
|
|
|||
|
|
{$R *.dfm}
|
|||
|
|
|
|||
|
|
{ TfrArticulo }
|
|||
|
|
|
|||
|
|
procedure TfrArticulo.ActivarModoAnadir;
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
dmTablaArticulos.InicializarTablaArticulos(@TablaArticulos);
|
|||
|
|
// TablaArticulos.FieldByName('FAMILIA').OnSetText := FamiliaSetText;
|
|||
|
|
Referencia.SetFocus;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrArticulo.ActivarModoModificar;
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
dmTablaArticulos.InicializarTablaArticulos(@TablaArticulos);
|
|||
|
|
// TablaArticulos.FieldByName('FAMILIA').OnSetText := FamiliaSetText;
|
|||
|
|
Descripcion.SetFocus;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TfrArticulo.CargarPropiedadesModelo(Familia: Integer): Boolean;
|
|||
|
|
var
|
|||
|
|
Contador : Integer;
|
|||
|
|
DatosArtModelo : TDatosArticuloModelo;
|
|||
|
|
PropiedadAux : TDatosPropiedad;
|
|||
|
|
begin
|
|||
|
|
Result := False;
|
|||
|
|
|
|||
|
|
DatosArtModelo := TDatosArticuloModelo.Create(Familia);
|
|||
|
|
try
|
|||
|
|
if (DatosArtModelo.ListaPropiedades.Count > 0) and
|
|||
|
|
(VerMensajePregunta(msgDatosCargaPropFamilia) = IDYES) then
|
|||
|
|
begin
|
|||
|
|
// Insertamos las propiedades
|
|||
|
|
with TablaPropiedadesMem do
|
|||
|
|
begin
|
|||
|
|
DisableControls;
|
|||
|
|
EmptyTable;
|
|||
|
|
try
|
|||
|
|
First;
|
|||
|
|
for Contador := 0 to (DatosArtModelo.ListaPropiedades.Count - 1) do
|
|||
|
|
begin
|
|||
|
|
PropiedadAux := DatosArtModelo.ListaPropiedades.Items[Contador];
|
|||
|
|
Insert;
|
|||
|
|
FieldByName('CODIGOPROPIEDAD').AsInteger := PropiedadAux.CodigoPropiedad;
|
|||
|
|
FieldByName('VALOR').AsString := PropiedadAux.Valor;
|
|||
|
|
Post;
|
|||
|
|
end;
|
|||
|
|
finally
|
|||
|
|
EnableControls;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
finally
|
|||
|
|
DatosArtModelo.Free;
|
|||
|
|
end;
|
|||
|
|
Result := True;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrArticulo.CodigoPropertiesButtonClick(Sender: TObject;AButtonIndex: Integer);
|
|||
|
|
begin
|
|||
|
|
if (TratarCambios = IDCANCEL) then
|
|||
|
|
exit;
|
|||
|
|
{ Esto es porque en modo 'Modificar' hacemos un cambio y pulsamos
|
|||
|
|
este bot<EFBFBD>n se cierra la tabla y si en el frame hijo (el del grid) damos
|
|||
|
|
a cancelar, FCodigoArticulo es NULL y da error al activar modo porque
|
|||
|
|
no se inicializa los par<EFBFBD>metros de la sql. Lo hace BuscarInstalador. }
|
|||
|
|
if not TablaArticulos.Active then
|
|||
|
|
BuscarArticulo;
|
|||
|
|
ContenidoModal := TfrArticulos.Create(Self);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrArticulo.InicializarTablas;
|
|||
|
|
begin
|
|||
|
|
Entidad := entArticulo;
|
|||
|
|
dmTablaArticulos.ArtModelo := entArticulo;
|
|||
|
|
|
|||
|
|
with TablaArticulos do
|
|||
|
|
begin
|
|||
|
|
Database := BaseDatos;
|
|||
|
|
Transaction := Transaccion;
|
|||
|
|
SelectSQL.Assign(dmTablaArticulos.sqlConsultar);
|
|||
|
|
InsertSQL.Assign(dmTablaArticulos.sqlInsertar);
|
|||
|
|
ModifySQL.Assign(dmTablaArticulos.sqlModificar);
|
|||
|
|
DeleteSQL.Assign(dmTablaArticulos.sqlEliminar);
|
|||
|
|
RefreshSQL.Assign(dmTablaArticulos.sqlConsultar);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with TablaPropiedades do
|
|||
|
|
begin
|
|||
|
|
Database := BaseDatos;
|
|||
|
|
Transaction := Transaccion;
|
|||
|
|
SelectSQL.Assign(dmTablaPropiedadesArticulo.sqlGrid);
|
|||
|
|
InsertSQL.Assign(dmTablaPropiedadesArticulo.sqlInsertar);
|
|||
|
|
ModifySQL.Assign(dmTablaPropiedadesArticulo.sqlModificar);
|
|||
|
|
DeleteSQL.Assign(dmTablaPropiedadesArticulo.sqlEliminar);
|
|||
|
|
RefreshSQL.Assign(dmTablaPropiedadesArticulo.sqlConsultar);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrArticulo.cbxFamiliaPropertiesValidate(Sender: TObject;
|
|||
|
|
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
if (FFamilia <> DisplayValue) then
|
|||
|
|
begin
|
|||
|
|
FFamilia := DisplayValue;
|
|||
|
|
if CargarPropiedadesModelo(dsFamilias.DataSet.FieldByName('CODIGO').AsInteger) then
|
|||
|
|
Descripcion.SetFocus;
|
|||
|
|
ActualizarBotones;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrArticulo.ActivarModoEliminar;
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
dmTablaArticulos.InicializarTablaArticulos(@TablaArticulos);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrArticulo.ActivarModoConsultar;
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
dmTablaArticulos.InicializarTablaArticulos(@TablaArticulos);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|