{ =============================================================================== 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: 08-10-2004 Versión actual: 1.0.0 Fecha versión actual: 08-10-2004 =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- =============================================================================== } unit TablaFabricantes; interface uses SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, Dialogs, DBTables, DB, IBCustomDataSet, IBSQL, BaseDatos, IBDatabase, dxDBGrid, dxDBCtrl, dbgrids, StrFunc, Mensajes, IB; type TdmTablaFabricantes = class(TDataModule) private procedure IniciarSQL; public sqlInsertar : TStrings; sqlModificar : TStrings; sqlConsultar : TStrings; sqlEliminar : TStrings; //Metodos que llamaran a contador function DarNuevoCodigo : String; function IncrementarCodigo: boolean; function InsertarContador: boolean; function ValidarCodigo(Codigo : String) : Boolean; function FormatearCodigo(Codigo : String) : String; constructor Create (AOwner : TComponent); override; destructor Destroy; override; procedure InicializarGridFabricantes(var Grid: TdxDBGrid); procedure limpiarBlancos; function DarListaFabricantes: TStringList; end; var dmTablaFabricantes: TdmTablaFabricantes; implementation uses Constantes, RdxGestorContadores, Contadores, Excepciones; {$R *.DFM} { TdmTablaFormasPago } constructor TdmTablaFabricantes.Create(AOwner: TComponent); begin inherited; sqlInsertar := TStringList.Create; sqlModificar := TStringList.Create; sqlConsultar := TStringList.Create; sqlEliminar := TStringList.Create; IniciarSQL; end; procedure TdmTablaFabricantes.limpiarBlancos; var oSQL : TIBSQL; begin oSQL := TIBSQL.Create(Self); with oSQL do begin Database := dmBaseDatos.BD; Transaction := dmBaseDatos.Transaccion; SQL.Add('delete from FABRICANTES'); SQL.Add('where NOMBRE is null'); SQL.Add('or LTRIM(NOMBRE) = '''''); try Prepare; ExecQuery; finally Close; Transaction := NIL; Free; end; end; end; function TdmTablaFabricantes.DarNuevoCodigo: String; begin Result := GestorContadores.DarNuevoCodigo(contFabricantes); end; destructor TdmTablaFabricantes.Destroy; begin sqlInsertar.Free; sqlModificar.Free; sqlConsultar.Free; sqlEliminar.Free; inherited; end; function TdmTablaFabricantes.FormatearCodigo(Codigo: String): String; begin Result := GestorContadores.FormatearCodigo(contFabricantes, Codigo); end; function TdmTablaFabricantes.IncrementarCodigo: boolean; begin Result := GestorContadores.IncrementarValor(contFabricantes); end; procedure TdmTablaFabricantes.InicializarGridFabricantes(var Grid: TdxDBGrid); var Columna : TdxDBTreeListColumn; begin with Grid do begin DestroyColumns; {Columna CODIGO} Columna := CreateColumn(TdxDBTreeListColumn); Columna.FieldName := 'CODIGO'; Columna.Caption := 'Código'; Columna.Visible := False; {Columna NOMBRE} Columna := CreateColumn(TdxDBTreeListColumn); Columna.FieldName := 'NOMBRE'; Columna.Caption := 'Nombre de fabricante'; end; end; procedure TdmTablaFabricantes.IniciarSQL; begin with sqlInsertar do begin Add('insert into FABRICANTES (CODIGO, NOMBRE) '); Add('values (:CODIGO, UPPER(:NOMBRE))'); end; with sqlModificar do begin Add('update FABRICANTES set '); Add('NOMBRE = UPPER(:NOMBRE) '); Add('where CODIGO = :CODIGO'); end; with sqlEliminar do begin Add('delete from FABRICANTES '); Add('where CODIGO = :CODIGO'); end; with sqlConsultar do begin Add('select CODIGO, NOMBRE '); Add('from FABRICANTES '); Add('order by NOMBRE'); end; end; function TdmTablaFabricantes.InsertarContador: boolean; begin Result := GestorContadores.InsertarContador(contFabricantes); end; function TdmTablaFabricantes.ValidarCodigo(Codigo: String): Boolean; begin Result := GestorContadores.ValidarCodigo(contFabricantes, Codigo); end; function TdmTablaFabricantes.DarListaFabricantes: TStringList; var oSQL : TIBSQL; Lista : TStringList; begin Lista := TStringList.Create; oSQL := TIBSQL.Create(Self); with oSQL do begin Database := dmBaseDatos.BD; Transaction := dmBaseDatos.Transaccion; SQL.Add('select NOMBRE '); SQL.Add('from FABRICANTES '); SQL.Add('order by NOMBRE'); try Prepare; ExecQuery; Lista.Add(CTE_TODOS); while not EOF do begin Lista.Add(Fields[0].AsString); Next; end; result := Lista; finally Close; Transaction := NIL; Free; end; end; end; end.