git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES/trunk@4 3f40d355-893c-4141-8e64-b1d9be72e7e7
335 lines
9.8 KiB
ObjectPascal
335 lines
9.8 KiB
ObjectPascal
{
|
|
===============================================================================
|
|
Copyright (©) 2002. 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-12-2002
|
|
Versión actual: 1.0.0
|
|
Fecha versión actual: 01-12-2002
|
|
===============================================================================
|
|
Modificaciones:
|
|
|
|
Fecha Comentarios
|
|
---------------------------------------------------------------------------
|
|
===============================================================================
|
|
}
|
|
|
|
unit TablaPropiedadesArticulo;
|
|
|
|
interface
|
|
|
|
uses
|
|
//Generales
|
|
SysUtils, Classes, Controls, IBSQL, cxGridDBTableView, cxCustomData, DB,
|
|
//Particulares
|
|
cxGraphics, cxGridDBCardView, cxDBLookupComboBox, TablaPropiedades,
|
|
|
|
//Aplicacion
|
|
Framework, StrFunc, Entidades, Constantes, BaseDatos;
|
|
|
|
type
|
|
|
|
//////MIRAR ESTO PARA QUE SEA COMPATIBLE TAMBIEN/////////////////////////////////
|
|
TListaPropiedadesArticulo = class(TListaPropiedades)
|
|
private
|
|
FCodigoArticulo : String;
|
|
protected
|
|
procedure AssignTo(Dest: TPersistent); override;
|
|
procedure ObtenerLista; override;
|
|
public
|
|
constructor Create(CodigoArticulo : String); overload;
|
|
constructor Create; overload; override;
|
|
property Items;
|
|
end;
|
|
|
|
TListaPropiedadesArtModelo = class(TListaPropiedadesArticulo)
|
|
protected
|
|
procedure ObtenerLista; override;
|
|
end;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
TdmTablaPropiedadesArticulo = class(TDataModule)
|
|
private
|
|
procedure IniciarSQL;
|
|
public
|
|
sqlInsertar : TStrings;
|
|
sqlModificar : TStrings;
|
|
sqlConsultar : TStrings;
|
|
sqlEliminar : TStrings;
|
|
sqlGrid : TStrings;
|
|
|
|
sqlInsertarProArtModelo : TStrings;
|
|
sqlModificarProArtModelo : TStrings;
|
|
sqlConsultarProArtModelo : TStrings;
|
|
sqlEliminarProArtModelo : TStrings;
|
|
sqlGridProArtModelo : TStrings;
|
|
|
|
constructor Create (AOwner : TComponent); override;
|
|
destructor Destroy; override;
|
|
procedure InicializarGridPropiedadesArticulo(var vGrid: TcxGridDBCardView);
|
|
end;
|
|
|
|
var
|
|
dmTablaPropiedadesArticulo: TdmTablaPropiedadesArticulo;
|
|
|
|
implementation
|
|
{$R *.DFM}
|
|
|
|
constructor TdmTablaPropiedadesArticulo.Create (AOwner : TComponent);
|
|
begin
|
|
inherited;
|
|
sqlInsertar := TStringList.Create;
|
|
sqlModificar := TStringList.Create;
|
|
sqlConsultar := TStringList.Create;
|
|
sqlEliminar := TStringList.Create;
|
|
sqlGrid := TStringList.Create;
|
|
|
|
sqlInsertarProArtModelo := TStringList.Create;
|
|
sqlModificarProArtModelo := TStringList.Create;
|
|
sqlConsultarProArtModelo := TStringList.Create;
|
|
sqlEliminarProArtModelo := TStringList.Create;
|
|
sqlGridProArtModelo := TStringList.Create;
|
|
|
|
IniciarSQL;
|
|
end;
|
|
|
|
destructor TdmTablaPropiedadesArticulo.Destroy;
|
|
begin
|
|
sqlInsertar.Free;
|
|
sqlModificar.Free;
|
|
sqlConsultar.Free;
|
|
sqlEliminar.Free;
|
|
sqlGrid.Free;
|
|
|
|
sqlInsertarProArtModelo.Free;
|
|
sqlModificarProArtModelo.Free;
|
|
sqlConsultarProArtModelo.Free;
|
|
sqlEliminarProArtModelo.Free;
|
|
sqlGridProArtModelo.Free;
|
|
|
|
inherited;
|
|
end;
|
|
|
|
procedure TdmTablaPropiedadesArticulo.IniciarSQL;
|
|
begin
|
|
//Propiedades articulo
|
|
with sqlInsertar do
|
|
begin
|
|
Add('insert into PROPIEDADESARTICULOS (');
|
|
Add('CODIGOARTICULO, NUMPROPIEDAD, CODIGOPROPIEDAD, VALOR) ');
|
|
Add('values (:CODIGOARTICULO, :NUMPROPIEDAD, :CODIGOPROPIEDAD, :VALOR)');
|
|
end;
|
|
|
|
with sqlModificar do
|
|
begin
|
|
Add('update PROPIEDADESARTICULOS set ');
|
|
Add('CODIGOPROPIEDAD = :CODIGOPROPIEDAD, ');
|
|
Add('VALOR = :VALOR ');
|
|
Add('where CODIGOARTICULO = :CODIGOARTICULO ');
|
|
Add('and NUMPROPIEDAD = :NUMPROPIEDAD ');
|
|
end;
|
|
|
|
with sqlEliminar do
|
|
begin
|
|
Add('delete from PROPIEDADESARTICULOS ');
|
|
Add('where CODIGOARTICULO = :CODIGOARTICULO ');
|
|
Add('and NUMPROPIEDAD = :NUMPROPIEDAD ');
|
|
end;
|
|
|
|
with sqlConsultar do
|
|
begin
|
|
Add('select * from PROPIEDADESARTICULOS ');
|
|
Add('where CODIGOARTICULO = :CODIGOARTICULO ');
|
|
Add('and NUMPROPIEDAD = :NUMPROPIEDAD ');
|
|
end;
|
|
|
|
with sqlGrid do
|
|
begin
|
|
Add('select CODIGOARTICULO, NUMPROPIEDAD, CODIGOPROPIEDAD, VALOR ');
|
|
Add('from PROPIEDADESARTICULOS ');
|
|
Add('where CODIGOARTICULO = :CODIGOARTICULO ');
|
|
end;
|
|
|
|
//Propiedades articulo modelo
|
|
with sqlInsertarProArtModelo do
|
|
begin
|
|
Add('insert into PROPIEDADESARTICULOSMODELO (');
|
|
Add('CODIGOARTICULO, NUMPROPIEDAD, CODIGOPROPIEDAD, VALOR) ');
|
|
Add('values (:CODIGOARTICULO, :NUMPROPIEDAD, :CODIGOPROPIEDAD, :VALOR)');
|
|
end;
|
|
|
|
with sqlModificarProArtModelo do
|
|
begin
|
|
Add('update PROPIEDADESARTICULOSMODELO set ');
|
|
Add('CODIGOPROPIEDAD = :CODIGOPROPIEDAD, ');
|
|
Add('VALOR = :VALOR ');
|
|
Add('where CODIGOARTICULO = :CODIGOARTICULO ');
|
|
Add('and NUMPROPIEDAD = :NUMPROPIEDAD ');
|
|
end;
|
|
|
|
with sqlEliminarProArtModelo do
|
|
begin
|
|
Add('delete from PROPIEDADESARTICULOSMODELO ');
|
|
Add('where CODIGOARTICULO = :CODIGOARTICULO ');
|
|
Add('and NUMPROPIEDAD = :NUMPROPIEDAD ');
|
|
end;
|
|
|
|
with sqlConsultarProArtModelo do
|
|
begin
|
|
Add('select * from PROPIEDADESARTICULOSMODELO ');
|
|
Add('where CODIGOARTICULO = :CODIGOARTICULO ');
|
|
Add('and NUMPROPIEDAD = :NUMPROPIEDAD ');
|
|
end;
|
|
|
|
with sqlGridProArtModelo do
|
|
begin
|
|
Add('select CODIGOARTICULO, NUMPROPIEDAD, CODIGOPROPIEDAD, VALOR ');
|
|
Add('from PROPIEDADESARTICULOSMODELO ');
|
|
Add('where CODIGOARTICULO = :CODIGOARTICULO ');
|
|
Add('and NUMPROPIEDAD = :NUMPROPIEDAD ');
|
|
end;
|
|
end;
|
|
|
|
procedure TdmTablaPropiedadesArticulo.InicializarGridPropiedadesArticulo(var vGrid: TcxGridDBCardView);
|
|
var
|
|
Columna : TcxGridDBCardViewRow;
|
|
begin
|
|
with vGrid do begin
|
|
{Columna CODIGOARTICULO}
|
|
Columna := CreateRow;
|
|
Columna.DataBinding.FieldName := 'CODIGOARTICULO';
|
|
Columna.Caption := 'Código artículo';
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|
Columna.Visible := False;
|
|
|
|
{Columna NUMPROPIEDAD}
|
|
Columna := CreateRow;
|
|
Columna.DataBinding.FieldName := 'NUMPROPIEDAD';
|
|
Columna.Caption := 'Número propiedad';
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|
Columna.Visible := False;
|
|
|
|
{Columna CODIGOPROPIEDAD}
|
|
Columna := CreateRow;
|
|
Columna.DataBinding.FieldName := 'CODIGOPROPIEDAD';
|
|
Columna.Caption := 'Propiedad';
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|
Columna.Visible := True;
|
|
Columna.PropertiesClassName := 'TcxLookupComboBoxProperties';
|
|
with TcxLookupComboBoxProperties(Columna.Properties) do
|
|
begin
|
|
KeyFieldNames := 'CODIGO';
|
|
ListColumns.Add.FieldName := 'DESCRIPCION';
|
|
ListOptions.AnsiSort := True;
|
|
ListOptions.GridLines := glNone;
|
|
ListOptions.ShowHeader := False;
|
|
GridMode := True;
|
|
end;
|
|
Columna.Visible := True;
|
|
{Columna VALOR}
|
|
Columna := CreateRow;
|
|
Columna.DataBinding.FieldName := 'VALOR';
|
|
Columna.Caption := 'Valor';
|
|
Columna.CaptionAlignmentHorz := taRightJustify;
|
|
Columna.Visible := True;
|
|
end;
|
|
end;
|
|
|
|
{ TListaPropiedades }
|
|
|
|
constructor TListaPropiedadesArticulo.Create(CodigoArticulo: String);
|
|
begin
|
|
inherited Create;
|
|
FCodigoArticulo := CodigoArticulo;
|
|
ObtenerLista;
|
|
end;
|
|
|
|
procedure TListaPropiedadesArticulo.AssignTo(Dest: TPersistent);
|
|
begin
|
|
if not (Dest is TListaPropiedadesArticulo) then
|
|
AssignError(Dest);
|
|
(Dest as TListaPropiedadesArticulo).FCodigoArticulo := FCodigoArticulo;
|
|
(Dest as TListaPropiedadesArticulo).FLista.Assign(FLista, laCopy, NIL);
|
|
end;
|
|
|
|
constructor TListaPropiedadesArticulo.Create;
|
|
begin
|
|
inherited;
|
|
FCodigoArticulo := '';
|
|
end;
|
|
|
|
procedure TListaPropiedadesArticulo.ObtenerLista;
|
|
var
|
|
oSQL : TIBSQL;
|
|
Propiedad : TDatosPropiedad;
|
|
begin
|
|
oSQL := TIBSQL.Create(nil);
|
|
with oSQL do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
SQL.Add('select * from PROPIEDADESARTICULOS');
|
|
SQL.Add('where CODIGOARTICULO = :CODIGOARTICULO');
|
|
try
|
|
ParamByName('CODIGOARTICULO').AsString := FCodigoArticulo;
|
|
Prepare;
|
|
ExecQuery;
|
|
while not EOF do begin
|
|
Propiedad := TDatosPropiedad.Create;
|
|
Propiedad.CodigoPropiedad := FieldByName('CODIGOPROPIEDAD').AsInteger;
|
|
Propiedad.Valor := FieldByName('VALOR').AsString;
|
|
FLista.Add(Propiedad);
|
|
Next;
|
|
end;
|
|
finally
|
|
Close;
|
|
Transaction := NIL;
|
|
Free;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
{ TListaPropiedadesArtModelo }
|
|
|
|
procedure TListaPropiedadesArtModelo.ObtenerLista;
|
|
var
|
|
oSQL : TIBSQL;
|
|
Propiedad : TDatosPropiedad;
|
|
begin
|
|
oSQL := TIBSQL.Create(nil);
|
|
with oSQL do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
SQL.Add('select * from PROPIEDADESARTICULOSMODELO');
|
|
SQL.Add('where CODIGOARTICULO = :CODIGOARTICULO ');
|
|
try
|
|
ParamByName('CODIGOARTICULO').AsString := FCodigoArticulo;
|
|
Prepare;
|
|
ExecQuery;
|
|
while not EOF do begin
|
|
Propiedad := TDatosPropiedad.Create;
|
|
Propiedad.CodigoPropiedad := FieldByName('CODIGOPROPIEDAD').AsInteger;
|
|
Propiedad.Valor := FieldByName('VALOR').AsString;
|
|
FLista.Add(Propiedad);
|
|
Next;
|
|
end;
|
|
finally
|
|
Close;
|
|
Transaction := NIL;
|
|
Free;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
end.
|