git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES/trunk@4 3f40d355-893c-4141-8e64-b1d9be72e7e7
1706 lines
52 KiB
ObjectPascal
1706 lines
52 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: 02-12-2002
|
|
Versión actual: 1.0.0
|
|
Fecha versión actual: 02-12-2002
|
|
===============================================================================
|
|
Modificaciones:
|
|
|
|
Fecha Comentarios
|
|
---------------------------------------------------------------------------
|
|
===============================================================================
|
|
}
|
|
|
|
unit TablaContratos;
|
|
|
|
interface
|
|
|
|
uses
|
|
//Generales
|
|
SysUtils, Classes, Controls, IBSQL, cxGridDBTableView, cxCustomData, DB,
|
|
//Particulares
|
|
IBCustomDataSet, cxGrid, StdCtrls, cxEdit, cxMemo, cxButtonEdit,
|
|
cxGridDBCardView, TablaPropiedades,
|
|
|
|
//Aplicacion
|
|
Framework, StrFunc, Entidades, Constantes, BaseDatos,
|
|
|
|
//Contador
|
|
Contadores, RdxGestorContadores;
|
|
|
|
type
|
|
TListaDetallesContrato = class;
|
|
TDatosDetalleContrato = class;
|
|
TListaPropiedadesContrato = class;
|
|
|
|
TDatosContrato = class(TObjeto)
|
|
private
|
|
FListaDetallesContrato : TListaDetallesContrato;
|
|
protected
|
|
procedure ObtenerDatos; override;
|
|
procedure AssignTo(Dest: TPersistent); override;
|
|
public
|
|
Codigo : string;
|
|
FechaAlta : TDateTime;
|
|
Usuario : string;
|
|
CodigoDocumento : string;
|
|
FechaContrato : TDateTime;
|
|
Situacion : string;
|
|
CodigoCliente : string;
|
|
NifCif : string;
|
|
Nombre : string;
|
|
Calle : string;
|
|
Numero : string;
|
|
Piso : string;
|
|
CodigoPostal : string;
|
|
Poblacion : string;
|
|
Provincia : string;
|
|
Telefono1 : string;
|
|
Telefono2 : string;
|
|
Movil1 : string;
|
|
Movil2 : string;
|
|
Fax : string;
|
|
PersonaContacto : string;
|
|
BaseImponible : double;
|
|
Descuento : integer;
|
|
ImporteDescuento : double;
|
|
IVA : Integer;
|
|
ImporteIVA : double;
|
|
ImporteTotal : double;
|
|
Observaciones : string;
|
|
PlazoEntrega : string;
|
|
FormaPago : string;
|
|
constructor Create(CodigoContrato : String); overload;
|
|
constructor Create; overload; override;
|
|
destructor Destroy; override;
|
|
property ListaDetallesContrato : TListaDetallesContrato read FListaDetallesContrato;
|
|
end;
|
|
|
|
TListaDetallesContrato = class(TListaObjetos)
|
|
private
|
|
FCodigoContrato : String;
|
|
function GetDetalleContrato(Index: Integer): TDatosDetalleContrato;
|
|
protected
|
|
procedure AssignTo(Dest: TPersistent); override;
|
|
procedure ObtenerLista; override;
|
|
public
|
|
constructor Create(CodigoContrato: String); overload;
|
|
constructor Create; overload; override;
|
|
property Items[Index: Integer] : TDatosDetalleContrato read GetDetalleContrato;
|
|
end;
|
|
|
|
TDatosDetalleContrato = class(TObjeto)
|
|
private
|
|
FListaPropiedades : TListaPropiedadesContrato;
|
|
protected
|
|
procedure ObtenerDatos; override;
|
|
procedure AssignTo(Dest: TPersistent); override;
|
|
public
|
|
NumConcepto : Integer;
|
|
TipoConcepto : string;
|
|
CodigoArticulo : string;
|
|
Referencia : string;
|
|
Descripcion : String;
|
|
Cantidad : integer;
|
|
ImporteUnidad : double;
|
|
ImporteTotal : double;
|
|
Observaciones : string;
|
|
constructor Create; override;
|
|
destructor Destroy; override;
|
|
property ListaPropiedades : TListaPropiedadesContrato read FListaPropiedades;
|
|
end;
|
|
|
|
TListaPropiedadesContrato = class(TListaObjetos)
|
|
private
|
|
FCodigoArticulo : String;
|
|
function GetPropiedad(Index: Integer): TDatosPropiedad;
|
|
protected
|
|
procedure AssignTo(Dest: TPersistent); override;
|
|
procedure ObtenerLista; override;
|
|
public
|
|
constructor Create(CodigoArticulo : String); overload;
|
|
constructor Create; overload; override;
|
|
property Items[Index: Integer] : TDatosPropiedad read GetPropiedad;
|
|
end;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
TdmTablaContratos = class(TDataModule)
|
|
private
|
|
procedure IniciarSQLContrato;
|
|
procedure IniciarSQLDetalles;
|
|
procedure IniciarSQLGrids;
|
|
function NoFacturarPresupuesto(Codigo: String): boolean;
|
|
public
|
|
sqlConsultarGridContratos : TStrings;
|
|
sqlConsultarGridContratosCli : TStrings;
|
|
sqlConsultarGridContratosFacturar : TStrings;
|
|
sqlConsultarGridBeneficios : TStrings;
|
|
sqlConsultarGridContratosObra : TStrings;
|
|
|
|
sqlInsertarContrato : TStrings;
|
|
sqlModificarContrato : TStrings;
|
|
sqlConsultarContrato : TStrings;
|
|
sqlEliminarContrato : TStrings;
|
|
|
|
sqlInsertarDetalles : TStrings;
|
|
sqlModificarDetalles : TStrings;
|
|
sqlConsultarDetalles : TStrings;
|
|
sqlEliminarDetalles : TStrings;
|
|
sqlConsultarGridDetalles : TStrings;
|
|
|
|
sqlInsertarPropiedades : TStrings;
|
|
sqlModificarPropiedades : TStrings;
|
|
sqlConsultarPropiedades : TStrings;
|
|
sqlEliminarPropiedades : TStrings;
|
|
sqlConsultarGridPropiedades : TStrings;
|
|
sqlConsultarGridPropiedadesModal : TStrings;
|
|
|
|
sqlConsultarContratosCliente : TStrings;
|
|
|
|
//Metodos que llamaran a contador
|
|
function DarNuevoCodigo : String;
|
|
function InsertarContador : boolean;
|
|
function IncrementarCodigo : boolean;
|
|
function ValidarCodigo(Codigo : String) : Boolean;
|
|
function FormatearCodigo(Codigo : String) : String;
|
|
function DarSituaciones : TStrings;
|
|
|
|
function FormatearNumConcepto(NumConcepto : String) : String;
|
|
function ExisteCodigo(Codigo : String) : Boolean;
|
|
function ExistenContratos: Boolean;
|
|
|
|
function CopiarContrato(CodigoContrato : String) : String;
|
|
function CrearContrato(CodigoPresupuesto : String) : String;
|
|
procedure InicializarGridDetalles(var Grid: TcxGridDBTableView);
|
|
procedure InicializarGridPropiedades(var vGrid: TcxGridDBCardView);
|
|
procedure InicializarGridContratos(var Grid: TcxGrid);
|
|
procedure InicializarGridBeneficios(var Grid: TcxGrid);
|
|
procedure InicializarTablaContratos(Tabla: TPTabla);
|
|
procedure InicializarTablaDetalles(Tabla: TPTabla);
|
|
procedure InicializarTablaBeneficios(Tabla: TPTabla);
|
|
constructor Create (AOwner : TComponent); override;
|
|
destructor Destroy; override;
|
|
|
|
function DarListaAnos: TStrings;
|
|
|
|
function DarRutaPlanos(CodigoContrato : String) : String;
|
|
end;
|
|
|
|
var
|
|
dmTablaContratos: TdmTablaContratos;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
|
|
uses
|
|
Mensajes, Literales, TablaPresupuestos;
|
|
|
|
{ TdmTablaContratos }
|
|
|
|
constructor TdmTablaContratos.Create(AOwner: TComponent);
|
|
begin
|
|
inherited;
|
|
{ Cabecera }
|
|
sqlInsertarContrato := TStringList.Create;
|
|
sqlModificarContrato := TStringList.Create;
|
|
sqlConsultarContrato := TStringList.Create;
|
|
sqlEliminarContrato := TStringList.Create;
|
|
|
|
{ Detalles }
|
|
sqlInsertarDetalles := TStringList.Create;
|
|
sqlModificarDetalles := TStringList.Create;
|
|
sqlConsultarDetalles := TStringList.Create;
|
|
sqlEliminarDetalles := TStringList.Create;
|
|
sqlConsultarGridDetalles := TStringList.Create;
|
|
|
|
{ Propiedades }
|
|
sqlInsertarPropiedades := TStringList.Create;
|
|
sqlModificarPropiedades := TStringList.Create;
|
|
sqlConsultarPropiedades := TStringList.Create;
|
|
sqlEliminarPropiedades := TStringList.Create;
|
|
sqlConsultarGridPropiedades := TStringList.Create;
|
|
sqlConsultarGridPropiedadesModal := TStringList.Create;
|
|
|
|
sqlConsultarContratosCliente := TStringList.Create;
|
|
|
|
{ Grids }
|
|
sqlConsultarGridContratos := TStringList.Create;
|
|
sqlConsultarGridContratosCli := TStringList.Create;
|
|
sqlConsultarGridContratosFacturar := TStringList.Create;
|
|
sqlConsultarGridBeneficios := TStringList.Create;
|
|
sqlConsultarGridContratosObra := TStringList.Create;
|
|
|
|
IniciarSQLContrato;
|
|
IniciarSQLDetalles;
|
|
IniciarSQLGrids;
|
|
end;
|
|
|
|
function TdmTablaContratos.DarNuevoCodigo: String;
|
|
begin
|
|
Result := GestorContadores.darNuevoCodigo(contContratosCliente);
|
|
end;
|
|
|
|
destructor TdmTablaContratos.Destroy;
|
|
begin
|
|
{ Cabecera }
|
|
sqlInsertarContrato.Free;
|
|
sqlModificarContrato.Free;
|
|
sqlConsultarContrato.Free;
|
|
sqlEliminarContrato.Free;
|
|
|
|
{ Detalles }
|
|
sqlInsertarDetalles.Free;
|
|
sqlModificarDetalles.Free;
|
|
sqlConsultarDetalles.Free;
|
|
sqlEliminarDetalles.Free;
|
|
sqlConsultarGridDetalles.Free;
|
|
|
|
{ Propiedades }
|
|
sqlInsertarPropiedades.Free;
|
|
sqlModificarPropiedades.Free;
|
|
sqlConsultarPropiedades.Free;
|
|
sqlEliminarPropiedades.Free;
|
|
sqlConsultarGridPropiedades.Free;
|
|
sqlConsultarGridPropiedadesModal.Free;
|
|
|
|
sqlConsultarContratosCliente.Free;
|
|
|
|
{ Grids }
|
|
sqlConsultarGridContratos.Free;
|
|
sqlConsultarGridContratosCli.Free;
|
|
sqlConsultarGridContratosFacturar.Free;
|
|
sqlConsultarGridBeneficios.Free;
|
|
sqlConsultarGridContratosObra.Free;
|
|
inherited;
|
|
end;
|
|
|
|
function TdmTablaContratos.ExisteCodigo(Codigo: String): Boolean;
|
|
var
|
|
oSQL : TIBSQL;
|
|
Contador : String;
|
|
begin
|
|
Result := False;
|
|
oSQL := TIBSQL.Create(Self);
|
|
with oSQL do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
SQL.Add('select CODIGO ');
|
|
SQL.Add('from CONTRATOSCLIENTE ');
|
|
SQL.Add('where CODIGO = :CODIGO');
|
|
ParamByName('CODIGO').AsString := Codigo;
|
|
try
|
|
Prepare;
|
|
ExecQuery;
|
|
Contador := Fields[0].AsString;
|
|
Result := (Codigo = Contador);
|
|
finally
|
|
Close;
|
|
Transaction := NIL;
|
|
Free;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
function TdmTablaContratos.FormatearCodigo(Codigo: String): String;
|
|
begin
|
|
Result := GestorContadores.formatearCodigo(contContratosCliente, Codigo);
|
|
end;
|
|
|
|
function TdmTablaContratos.FormatearNumConcepto(
|
|
NumConcepto: String): String;
|
|
var
|
|
Concepto : Integer;
|
|
begin
|
|
Concepto := StrToInt(NumConcepto);
|
|
Result := format('%.10d', [Concepto]);
|
|
end;
|
|
|
|
function TdmTablaContratos.IncrementarCodigo: boolean;
|
|
begin
|
|
Result := GestorContadores.IncrementarValor(contContratosCliente);
|
|
end;
|
|
|
|
procedure TdmTablaContratos.InicializarGridDetalles(var Grid: TcxGridDBTableView);
|
|
var
|
|
Columna : TcxGridDBColumn;
|
|
begin
|
|
with Grid do
|
|
begin
|
|
OptionsView.Footer := True;
|
|
{Columna CODIGOCONTRATO}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'CODIGOCONTRATO';
|
|
Columna.Visible := False;
|
|
Columna.Options.Filtering := False;
|
|
Columna.Options.Sorting := False;
|
|
{Columna NUMCONCEPTO}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'NUMCONCEPTO';
|
|
Columna.Visible := False;
|
|
Columna.Options.Filtering := False;
|
|
Columna.Options.Sorting := False;
|
|
|
|
{Columna FAMILIA}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'FAMILIA';
|
|
Columna.Visible := False;
|
|
Columna.Options.Filtering := False;
|
|
Columna.Options.Sorting := False;
|
|
|
|
{Columna CODIGOARTICULO}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'CODIGOARTICULO';
|
|
Columna.Caption := 'Cód. artículo';
|
|
Columna.Width := tamColCodigo;
|
|
Columna.Options.Filtering := False;
|
|
Columna.Options.Sorting := False;
|
|
Columna.PropertiesClassName := 'TcxButtonEditProperties';
|
|
with TcxButtonEditProperties(Columna.Properties) do
|
|
begin
|
|
Buttons[0].Kind := bkEllipsis;
|
|
end;
|
|
Columna.Visible := False;
|
|
|
|
{Columna REFERENCIA}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'REFERENCIA';
|
|
Columna.Caption := 'Referencia';
|
|
Columna.Width := tamColReferencia;
|
|
Columna.Options.Filtering := False;
|
|
Columna.Options.Sorting := False;
|
|
Columna.PropertiesClassName := 'TcxButtonEditProperties';
|
|
with TcxButtonEditProperties(Columna.Properties) do
|
|
begin
|
|
Buttons[0].Kind := bkEllipsis;
|
|
end;
|
|
|
|
{Columna DESCRIPCION}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'DESCRIPCION';
|
|
Columna.Caption := 'Descripción servicio/artículo';
|
|
Columna.Width := tamColDescripcion;
|
|
Columna.Options.Filtering := False;
|
|
Columna.Options.Sorting := False;
|
|
Columna.PropertiesClassName := 'TcxMemoProperties';
|
|
with TcxMemoProperties(Columna.Properties) do
|
|
begin
|
|
ScrollBars := ssVertical;
|
|
end;
|
|
|
|
with TcxGridDBTableSummaryItem(DataController.Summary.FooterSummaryItems.Add) do
|
|
try
|
|
try
|
|
BeginUpdate;
|
|
Column := Columna;
|
|
FieldName := Columna.DataBinding.FieldName;
|
|
Format := 'Total: #,0 conceptos';
|
|
Kind := skCount;
|
|
finally
|
|
EndUpdate;
|
|
end;
|
|
except
|
|
DataController.Summary.FooterSummaryItems.Delete(DataController.Summary.FooterSummaryItems.Count-1);
|
|
end;
|
|
|
|
{Columna CANTIDAD}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'CANTIDAD';
|
|
Columna.Caption := 'Cantidad';
|
|
Columna.Width := tamColCantidad;
|
|
Columna.Options.Filtering := False;
|
|
Columna.Options.Sorting := False;
|
|
Columna.PropertiesClassName := 'TcxCalcEditProperties';
|
|
Columna.HeaderAlignmentHorz := taRightJustify;
|
|
|
|
{Columna IMPORTEUNIDAD}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'IMPORTEUNIDAD';
|
|
Columna.Caption := 'Importe unidad';
|
|
Columna.Width := tamColImporte;
|
|
Columna.Options.Filtering := False;
|
|
Columna.Options.Sorting := False;
|
|
Columna.PropertiesClassName := 'TcxCalcEditProperties';
|
|
Columna.HeaderAlignmentHorz := taRightJustify;
|
|
|
|
{Columna IMPORTETOTAL}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'IMPORTETOTAL';
|
|
Columna.Caption := 'Importe total';
|
|
Columna.Width := tamColImporte;
|
|
Columna.Options.Filtering := False;
|
|
Columna.Options.Sorting := False;
|
|
Columna.Options.Editing := False;
|
|
Columna.HeaderAlignmentHorz := taRightJustify;
|
|
|
|
with TcxGridDBTableSummaryItem(DataController.Summary.FooterSummaryItems.Add) do
|
|
try
|
|
try
|
|
BeginUpdate;
|
|
Column := Columna;
|
|
FieldName := Columna.DataBinding.FieldName;
|
|
Format := '#,0.00 €';
|
|
Kind := skSum;
|
|
finally
|
|
EndUpdate;
|
|
end;
|
|
except
|
|
DataController.Summary.FooterSummaryItems.Delete(DataController.Summary.FooterSummaryItems.Count-1);
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TdmTablaContratos.InicializarGridContratos(var Grid: TcxGrid);
|
|
var
|
|
Columna : TcxGridDBColumn;
|
|
begin
|
|
with (Grid.ActiveView as TcxGridDBTableView) do
|
|
begin
|
|
OptionsView.Footer := True;
|
|
{Columna CODIGO}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'CODIGO';
|
|
Columna.Caption := 'Código';
|
|
Columna.Width := tamColCodigo;
|
|
Columna.Options.Filtering := False;
|
|
Columna.SortOrder := soDescending;
|
|
|
|
with TcxGridDBTableSummaryItem(DataController.Summary.FooterSummaryItems.Add) do
|
|
try
|
|
try
|
|
BeginUpdate;
|
|
Column := Columna;
|
|
FieldName := Columna.DataBinding.FieldName;
|
|
Format := 'Total: 0 Contratos';
|
|
Kind := skCount;
|
|
finally
|
|
EndUpdate;
|
|
end;
|
|
except
|
|
DataController.Summary.FooterSummaryItems.Delete(DataController.Summary.FooterSummaryItems.Count-1);
|
|
end;
|
|
|
|
{Columna DESCRIPCION}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'DESCRIPCION';
|
|
Columna.Caption := 'Documento';
|
|
Columna.Width := tamColDocumentos;
|
|
Columna.Options.Filtering := False;
|
|
{Columna FECHACONTRATO}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'FECHACONTRATO';
|
|
Columna.Caption := 'Fecha';
|
|
Columna.Width := tamColFecha;
|
|
Columna.Options.Filtering := False;
|
|
{Columna SITUACION}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'SITUACION';
|
|
Columna.Caption := 'Situación';
|
|
Columna.Width := tamColSituacion;
|
|
Columna.Options.Filtering := False;
|
|
Columna.Visible := False;
|
|
{Columna CODIGOCLIENTE}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'CODIGOCLIENTE';
|
|
Columna.Caption := 'Cód. cliente';
|
|
Columna.Width := tamColCodigo;
|
|
Columna.Options.Filtering := False;
|
|
{Columna NIFCIF}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'NIFCIF';
|
|
Columna.Caption := 'NIF/CIF';
|
|
Columna.Width := tamColNIFCIF;
|
|
Columna.Options.Filtering := False;
|
|
{Columna NOMBRE}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'NOMBRE';
|
|
Columna.Caption := 'Nombre';
|
|
Columna.Width := tamColNombre;
|
|
Columna.Options.Filtering := False;
|
|
{Columna IMPORTETOTAL}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'IMPORTETOTAL';
|
|
Columna.Caption := 'Importe total';
|
|
Columna.Width := tamColImporte;
|
|
Columna.Options.Filtering := False;
|
|
|
|
{Columna CODIGOCONTRATO}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'CODIGOCONTRATO';
|
|
Columna.Caption := 'Codigo Obra';
|
|
Columna.Width := tamColImporte;
|
|
Columna.Options.Filtering := False;
|
|
Columna.Visible := False;
|
|
end;
|
|
end;
|
|
|
|
procedure TdmTablaContratos.InicializarTablaDetalles(Tabla: TPTabla);
|
|
begin
|
|
with Tabla^.Fields do
|
|
begin
|
|
if FindField('IMPORTEUNIDAD') <> NIL then
|
|
with (FieldByName('IMPORTEUNIDAD') as TFloatField) do begin
|
|
DisplayFormat := DISPLAY_EUROS4;
|
|
EditFormat := EDIT_EUROS4;
|
|
end;
|
|
|
|
if FindField('IMPORTETOTAL') <> NIL then
|
|
with (FieldByName('IMPORTETOTAL') as TFloatField) do begin
|
|
DisplayFormat := DISPLAY_EUROS2;
|
|
EditFormat := EDIT_EUROS2;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TdmTablaContratos.InicializarTablaContratos(
|
|
Tabla: TPTabla);
|
|
begin
|
|
with Tabla^.Fields do
|
|
begin
|
|
if FindField('BASEIMPONIBLE') <> NIL then
|
|
with (FieldByName('BASEIMPONIBLE') as TIBBCDField) do begin
|
|
DisplayFormat := DISPLAY_EUROS4;
|
|
EditFormat := EDIT_EUROS4;
|
|
end;
|
|
|
|
if FindField('DESCUENTO') <> NIL then
|
|
with (FieldByName('DESCUENTO') as TFloatField) do begin
|
|
DisplayFormat := DISPLAY_DTO;
|
|
EditFormat := EDIT_DTO;
|
|
end;
|
|
|
|
if FindField('IMPORTEDESCUENTO') <> NIL then
|
|
with (FieldByName('IMPORTEDESCUENTO') as TIBBCDField) do begin
|
|
DisplayFormat := DISPLAY_EUROS4;
|
|
EditFormat := EDIT_EUROS4;
|
|
end;
|
|
|
|
if FindField('IVA') <> NIL then
|
|
with (FieldByName('IVA') as TFloatField) do begin
|
|
DisplayFormat := DISPLAY_DTO;
|
|
EditFormat := EDIT_DTO;
|
|
end;
|
|
|
|
if FindField('IMPORTEIVA') <> NIL then
|
|
with (FieldByName('IMPORTEIVA') as TIBBCDField) do begin
|
|
DisplayFormat := DISPLAY_EUROS4;
|
|
EditFormat := EDIT_EUROS4;
|
|
end;
|
|
|
|
if FindField('IMPORTETOTAL') <> NIL then
|
|
with (FieldByName('IMPORTETOTAL') as TIBBCDField) do begin
|
|
DisplayFormat := DISPLAY_EUROS2;
|
|
EditFormat := EDIT_EUROS2;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TdmTablaContratos.IniciarSQLDetalles;
|
|
begin
|
|
with sqlInsertarDetalles do
|
|
begin
|
|
Add('insert into DETALLESCONTRATOSARTICULOS (');
|
|
Add('CODIGOCONTRATO, NUMCONCEPTO, TIPOCONCEPTO, CODIGOARTICULO,');
|
|
Add('REFERENCIA, DESCRIPCION, CANTIDAD,');
|
|
Add('IMPORTEUNIDAD, IMPORTETOTAL, OBSERVACIONES) values (');
|
|
Add(':CODIGOCONTRATO, :NUMCONCEPTO, :TIPOCONCEPTO, :CODIGOARTICULO,');
|
|
Add(':REFERENCIA, :DESCRIPCION, :CANTIDAD,');
|
|
Add(':IMPORTEUNIDAD, :IMPORTETOTAL, :OBSERVACIONES)');
|
|
end;
|
|
|
|
with sqlModificarDetalles do
|
|
begin
|
|
Add('update DETALLESCONTRATOSARTICULOS set ');
|
|
Add('CODIGOARTICULO = :CODIGOARTICULO, ');
|
|
Add('REFERENCIA = :REFERENCIA, ');
|
|
Add('TIPOCONCEPTO = :TIPOCONCEPTO, ');
|
|
Add('DESCRIPCION = :DESCRIPCION, ');
|
|
Add('CANTIDAD = :CANTIDAD, ');
|
|
Add('IMPORTEUNIDAD = :IMPORTEUNIDAD, ');
|
|
Add('IMPORTETOTAL = :IMPORTETOTAL, ');
|
|
Add('OBSERVACIONES = :OBSERVACIONES ');
|
|
Add('where (CODIGOCONTRATO = :CODIGOCONTRATO) and ');
|
|
Add('(NUMCONCEPTO = :NUMCONCEPTO)');
|
|
end;
|
|
|
|
with sqlEliminarDetalles do
|
|
begin
|
|
Add('delete from DETALLESCONTRATOSARTICULOS ');
|
|
Add('where (CODIGOCONTRATO = :CODIGOCONTRATO) and ');
|
|
Add('(NUMCONCEPTO = :NUMCONCEPTO)');
|
|
end;
|
|
|
|
with sqlConsultarDetalles do
|
|
begin
|
|
Add('select * from DETALLESCONTRATOSARTICULOS ');
|
|
Add('where (CODIGOCONTRATO = :CODIGOCONTRATO) and ');
|
|
Add('(NUMCONCEPTO = :NUMCONCEPTO)');
|
|
end;
|
|
|
|
|
|
with sqlInsertarPropiedades do
|
|
begin
|
|
Add('insert into DETALLESCONTRATOSPROPIEDADES ( ');
|
|
Add('CODIGOCONTRATO, NUMCONCEPTO,');
|
|
Add('NUMPROPIEDAD, CODIGOPROPIEDAD, VALOR) values (');
|
|
Add(':CODIGOCONTRATO, :NUMCONCEPTO, :NUMPROPIEDAD, ');
|
|
Add(':CODIGOPROPIEDAD, :VALOR)');
|
|
end;
|
|
|
|
with sqlModificarPropiedades do
|
|
begin
|
|
Add('update DETALLESCONTRATOSPROPIEDADES set ');
|
|
Add('CODIGOPROPIEDAD = :CODIGOPROPIEDAD, ');
|
|
Add('VALOR = :VALOR ');
|
|
Add('where (CODIGOCONTRATO = :CODIGOCONTRATO) and ');
|
|
Add('(NUMCONCEPTO = :NUMCONCEPTO) and ');
|
|
Add('(NUMPROPIEDAD = :NUMPROPIEDAD)');
|
|
end;
|
|
|
|
with sqlEliminarPropiedades do
|
|
begin
|
|
Add('delete from DETALLESCONTRATOSPROPIEDADES ');
|
|
Add('where (CODIGOCONTRATO = :CODIGOCONTRATO) and ');
|
|
Add('(NUMCONCEPTO = :NUMCONCEPTO) and ');
|
|
Add('(NUMPROPIEDAD = :NUMPROPIEDAD);');
|
|
end;
|
|
|
|
with sqlConsultarPropiedades do
|
|
begin
|
|
Add('select * from DETALLESCONTRATOSPROPIEDADES ');
|
|
Add('where (CODIGOCONTRATO = :CODIGOCONTRATO) and ');
|
|
Add('(NUMCONCEPTO = :NUMCONCEPTO) and ');
|
|
Add('(NUMPROPIEDAD = :NUMPROPIEDAD);');
|
|
end;
|
|
end;
|
|
|
|
procedure TdmTablaContratos.IniciarSQLGrids;
|
|
begin
|
|
with sqlConsultarGridContratosFacturar do
|
|
begin
|
|
Add('select CON.CODIGO, CON.SITUACION, CON.FECHACONTRATO, ');
|
|
Add('CON.CODIGOCLIENTE, CON.NIFCIF, CON.NOMBRE, ');
|
|
Add('CON.IMPORTETOTAL, CON.CODIGODOCUMENTO, DOC.DESCRIPCION');
|
|
Add('from DOCUMENTOS DOC, CONTRATOSCLIENTE CON ');
|
|
Add('where DOC.CODIGO = CON.CODIGODOCUMENTO ');
|
|
end;
|
|
|
|
with sqlConsultarGridContratos do
|
|
begin
|
|
Add('select CON.CODIGO, CON.SITUACION, CON.FECHACONTRATO, ');
|
|
Add('CON.CODIGOCLIENTE, CON.NIFCIF, CON.NOMBRE, ');
|
|
Add('CON.IMPORTETOTAL, CON.CODIGODOCUMENTO, DOC.DESCRIPCION, OBR.CODIGOCONTRATO');
|
|
Add('from CONTRATOSCLIENTE CON left join DOCUMENTOS DOC');
|
|
Add('on DOC.CODIGO = CON.CODIGODOCUMENTO left outer join OBRAS OBR');
|
|
Add('on CON.CODIGO = OBR.CODIGOCONTRATO');
|
|
end;
|
|
|
|
with sqlConsultarGridDetalles do
|
|
begin
|
|
Add('select CODIGOCONTRATO, NUMCONCEPTO, CODIGOARTICULO, REFERENCIA, TIPOCONCEPTO, ');
|
|
Add('DESCRIPCION, CANTIDAD, IMPORTEUNIDAD, IMPORTETOTAL, OBSERVACIONES ');
|
|
Add('from DETALLESCONTRATOSARTICULOS ');
|
|
Add('where CODIGOCONTRATO = :CODIGOCONTRATO ');
|
|
Add('order by CODIGOCONTRATO, NUMCONCEPTO');
|
|
end;
|
|
|
|
with sqlConsultarGridPropiedades do
|
|
begin
|
|
Add('select CODIGOCONTRATO, NUMCONCEPTO, NUMPROPIEDAD, ');
|
|
Add('CODIGOPROPIEDAD, VALOR ');
|
|
Add('from DETALLESCONTRATOSPROPIEDADES ');
|
|
Add('where CODIGOCONTRATO = :CODIGOCONTRATO ');
|
|
Add('order by CODIGOCONTRATO, NUMCONCEPTO');
|
|
end;
|
|
|
|
with sqlConsultarGridPropiedadesModal do
|
|
begin
|
|
Add('select CODIGOCONTRATO, NUMCONCEPTO, ');
|
|
Add('CODIGOPROPIEDAD, GOVALOR ');
|
|
Add('from DETALLESCONTRATOSPROPIEDADES ');
|
|
Add('where CODIGOCONTRATO = :CODIGOCONTRATO and ');
|
|
Add('NUMCONCEPTO = :NUMCONCEPTO ');
|
|
Add('order by CODIGOCONTRATO, NUMCONCEPTO');
|
|
end;
|
|
|
|
with sqlConsultarContratosCliente do
|
|
begin
|
|
Add('select CODIGO, CODIGOCLIENTE ');
|
|
Add('from CONTRATOSCLIENTE ');
|
|
Add('where CODIGOCLIENTE = :CODIGOCLIENTE ');
|
|
Add('order by CODIGO');
|
|
end;
|
|
|
|
with sqlConsultarGridBeneficios do
|
|
begin
|
|
Add('select cc.codigo, cc.fechacontrato, cc.NIFCIF, cc.nombre, cc.importetotal,');
|
|
Add('(select sum(fpc.importe)');
|
|
Add('from detallesfacturasprovcontratos fpc');
|
|
Add('where fpc.codigocontrato = cc.codigo');
|
|
Add('and fpc.codigoempresa = :CODIGOEMPRESA');
|
|
Add('group by fpc.codigocontrato) as IMPPROV,');
|
|
|
|
Add('(select sum(otg.importe)');
|
|
Add('from obrasgastos otg');
|
|
Add('where otg.codigocontrato = cc.codigo');
|
|
Add('group by otg.codigocontrato) as IMPOTROS,');
|
|
|
|
Add('(select sum(fcc.importetotal)');
|
|
Add('from facturascliente fcc');
|
|
Add('where fcc.codigocontrato = cc.codigo');
|
|
Add('and fcc.codigoempresa = :CODIGOEMPRESA');
|
|
Add('group by fcc.codigocontrato) as IMPCLI,');
|
|
|
|
Add('0 as BENEFICIO, 0 as PORCENTAJE');
|
|
Add('from contratoscliente cc');
|
|
Add('order by cc.fechacontrato, cc.nombre');
|
|
end;
|
|
|
|
with sqlConsultarGridContratosObra do
|
|
begin
|
|
Add('select CON.CODIGO, CON.SITUACION, CON.FECHACONTRATO,');
|
|
Add('CON.CODIGOCLIENTE, CON.NIFCIF, CON.NOMBRE,');
|
|
Add('CON.IMPORTETOTAL, CON.CODIGODOCUMENTO, DOC.DESCRIPCION, OBR.CODIGOCONTRATO');
|
|
Add('from CONTRATOSCLIENTE CON left join DOCUMENTOS DOC');
|
|
Add('on DOC.CODIGO = CON.CODIGODOCUMENTO left outer join OBRAS OBR');
|
|
Add('on CON.CODIGO = OBR.CODIGOCONTRATO');
|
|
Add('where OBR.CODIGOCONTRATO is null');
|
|
end;
|
|
end;
|
|
|
|
procedure TdmTablaContratos.IniciarSQLContrato;
|
|
begin
|
|
with sqlInsertarContrato do
|
|
begin
|
|
Add(' INSERT INTO CONTRATOSCLIENTE ( ');
|
|
Add(' CODIGO, FECHAALTA, ');
|
|
Add(' USUARIO, CODIGODOCUMENTO, ');
|
|
Add(' FECHACONTRATO, SITUACION, ');
|
|
Add(' CODIGOCLIENTE, NIFCIF, ');
|
|
Add(' NOMBRE, CALLE, NUMERO, ');
|
|
Add(' PISO, CODIGOPOSTAL, ');
|
|
Add(' POBLACION, PROVINCIA, ');
|
|
Add(' TELEFONO1, TELEFONO2, MOVIL1, MOVIL2, FAX, PERSONACONTACTO, ');
|
|
Add(' BASEIMPONIBLE, DESCUENTO, ');
|
|
Add(' IMPORTEDESCUENTO, ');
|
|
Add(' IVA, IMPORTEIVA, ');
|
|
Add(' IMPORTETOTAL, ');
|
|
Add(' OBSERVACIONES, PLAZOENTREGA, ');
|
|
Add(' FORMAPAGO) ');
|
|
Add(' VALUES ( ');
|
|
Add(' :CODIGO, :FECHAALTA, ');
|
|
Add(' :USUARIO, :CODIGODOCUMENTO, ');
|
|
Add(' :FECHACONTRATO, :SITUACION, ');
|
|
Add(' :CODIGOCLIENTE, :NIFCIF, ');
|
|
Add(' :NOMBRE, :CALLE, :NUMERO, ');
|
|
Add(' :PISO, :CODIGOPOSTAL, ');
|
|
Add(' :POBLACION, :PROVINCIA, ');
|
|
Add(' :TELEFONO1, :TELEFONO2, :MOVIL1, :MOVIL2, :FAX, :PERSONACONTACTO, ');
|
|
Add(' :BASEIMPONIBLE, :DESCUENTO, ');
|
|
Add(' :IMPORTEDESCUENTO, ');
|
|
Add(' :IVA, :IMPORTEIVA, ');
|
|
Add(' :IMPORTETOTAL, ');
|
|
Add(' :OBSERVACIONES, :PLAZOENTREGA, ');
|
|
Add(' :FORMAPAGO) ');
|
|
end;
|
|
|
|
with sqlModificarContrato do
|
|
begin
|
|
Add(' UPDATE CONTRATOSCLIENTE ');
|
|
Add(' SET FECHAALTA = :FECHAALTA, ');
|
|
Add(' USUARIO = :USUARIO, ');
|
|
Add(' CODIGODOCUMENTO = :CODIGODOCUMENTO, ');
|
|
Add(' FECHACONTRATO = :FECHACONTRATO, ');
|
|
Add(' SITUACION = :SITUACION, ');
|
|
Add(' CODIGOCLIENTE = :CODIGOCLIENTE, ');
|
|
Add(' NIFCIF = :NIFCIF, ');
|
|
Add(' NOMBRE = :NOMBRE, ');
|
|
Add(' CALLE = :CALLE, ');
|
|
Add(' NUMERO = :NUMERO, ');
|
|
Add(' PISO = :PISO, ');
|
|
Add(' CODIGOPOSTAL = :CODIGOPOSTAL, ');
|
|
Add(' POBLACION = :POBLACION, ');
|
|
Add(' PROVINCIA = :PROVINCIA, ');
|
|
Add(' TELEFONO1 = :TELEFONO1, ');
|
|
Add(' TELEFONO2 = :TELEFONO2, ');
|
|
Add(' MOVIL1 = :MOVIL1, ');
|
|
Add(' MOVIL2 = :MOVIL2, ');
|
|
Add(' FAX = :FAX, ');
|
|
Add(' PERSONACONTACTO = :PERSONACONTACTO, ');
|
|
Add(' BASEIMPONIBLE = :BASEIMPONIBLE, ');
|
|
Add(' DESCUENTO = :DESCUENTO, ');
|
|
Add(' IMPORTEDESCUENTO = :IMPORTEDESCUENTO, ');
|
|
Add(' IVA = :IVA, ');
|
|
Add(' IMPORTEIVA = :IMPORTEIVA, ');
|
|
Add(' IMPORTETOTAL = :IMPORTETOTAL, ');
|
|
Add(' OBSERVACIONES = :OBSERVACIONES, ');
|
|
Add(' PLAZOENTREGA = :PLAZOENTREGA, ');
|
|
Add(' FORMAPAGO = :FORMAPAGO ');
|
|
Add(' WHERE (CODIGO = :CODIGO) ');
|
|
end;
|
|
|
|
with sqlEliminarContrato do
|
|
begin
|
|
Add('delete from CONTRATOSCLIENTE ');
|
|
Add('where CODIGO = :CODIGO');
|
|
end;
|
|
|
|
with sqlConsultarContrato do
|
|
begin
|
|
Add('SELECT * FROM CONTRATOSCLIENTE ');
|
|
Add('where CODIGO = :CODIGO');
|
|
end;
|
|
end;
|
|
|
|
function TdmTablaContratos.InsertarContador: boolean;
|
|
begin
|
|
Result := GestorContadores.InsertarContador(contContratosCliente);
|
|
end;
|
|
|
|
function TdmTablaContratos.ValidarCodigo(Codigo: String): Boolean;
|
|
begin
|
|
Result := GestorContadores.ValidarCodigo(contContratosCliente, Codigo);
|
|
end;
|
|
|
|
function TdmTablaContratos.NoFacturarPresupuesto(
|
|
Codigo: String): boolean;
|
|
var
|
|
oSQL : TIBSQL;
|
|
begin
|
|
{ Ya no hace falta código en esta función por que Interbase pone el
|
|
campo CODIGOFACTURA a NULL automáticamente cuando
|
|
se elimina la factura de cliente. }
|
|
Result := True;
|
|
end;
|
|
|
|
procedure TdmTablaContratos.InicializarGridPropiedades(var vGrid: TcxGridDBCardView);
|
|
var
|
|
Columna : TcxGridDBCardViewRow;
|
|
begin
|
|
with vGrid do
|
|
begin
|
|
{Columna CODIGOCONTRATO}
|
|
Columna := CreateRow;
|
|
Columna.DataBinding.FieldName := 'CODIGOCONTRATO';
|
|
Columna.Visible := False;
|
|
{Columna NUMCONCEPTO}
|
|
Columna := CreateRow;
|
|
Columna.DataBinding.FieldName := 'NUMCONCEPTO';
|
|
Columna.Visible := False;
|
|
Columna.SortOrder := soAscending;
|
|
{Columna NUMPROPIEDAD}
|
|
Columna := CreateRow;
|
|
Columna.DataBinding.FieldName := 'NUMPROPIEDAD';
|
|
Columna.Visible := False;
|
|
Columna.SortOrder := soAscending;
|
|
{Columna CODIGOPROPIEDAD}
|
|
{Columna := CreateRow;
|
|
Columna.DataBinding.FieldName := 'CODIGOPROPIEDAD';
|
|
Columna.Caption := 'Codigo propiedad';
|
|
Columna.PropertiesClassName := 'TcxComboBoxProperties';}
|
|
{Columna VALOR}
|
|
{Columna := CreateRow;
|
|
Columna.DataBinding.FieldName := 'VALOR';
|
|
Columna.Caption := 'Valor';
|
|
Columna.PropertiesClassName := 'TcxComboBoxProperties';}
|
|
end;
|
|
end;
|
|
|
|
function TdmTablaContratos.CrearContrato(CodigoPresupuesto: String) : String;
|
|
var
|
|
oSQL : TIBSQL;
|
|
oSQL2 : TIBSQL;
|
|
oSQL3 : TIBSQL;
|
|
CodigoAux : String;
|
|
CodConAux : String;
|
|
begin
|
|
Result := '';
|
|
|
|
CodConAux := dmTablaPresupuestos.DarContratoDelPresupuesto(CodigoPresupuesto);
|
|
if not EsCadenaVacia(CodConAux) then
|
|
begin
|
|
VerMensaje('Este presupuesto ya tiene contrato (%s)');
|
|
Exit;
|
|
end;
|
|
|
|
CodigoAux := dmTablaContratos.DarNuevoCodigo;
|
|
oSQL := TIBSQL.Create(Self);
|
|
with oSQL do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
|
|
with SQL do
|
|
begin
|
|
Add(' INSERT INTO CONTRATOSCLIENTE ( ');
|
|
Add(' CODIGO, FECHAALTA, ');
|
|
Add(' USUARIO, CODIGODOCUMENTO, ');
|
|
Add(' FECHACONTRATO, SITUACION, ');
|
|
Add(' CODIGOCLIENTE, NIFCIF, ');
|
|
Add(' NOMBRE, CALLE, NUMERO, ');
|
|
Add(' PISO, CODIGOPOSTAL, ');
|
|
Add(' POBLACION, PROVINCIA, ');
|
|
Add(' TELEFONO1, TELEFONO2, MOVIL1, MOVIL2, FAX, PERSONACONTACTO, ');
|
|
Add(' BASEIMPONIBLE, DESCUENTO, ');
|
|
Add(' IMPORTEDESCUENTO, ');
|
|
Add(' IVA, IMPORTEIVA, ');
|
|
Add(' IMPORTETOTAL, ');
|
|
Add(' OBSERVACIONES, PLAZOENTREGA, ');
|
|
Add(' FORMAPAGO) ');
|
|
Add('select ''' + CodigoAux + ''', current_date,');
|
|
Add('''' + dmBaseDatos.Usuario + ''', CODIGODOCUMENTO,');
|
|
Add('current_date, ''PENDIENTE'',');
|
|
Add('CODIGOCLIENTE,');
|
|
Add('NIFCIF, NOMBRE,');
|
|
Add('CALLE, NUMERO,');
|
|
Add('PISO, CODIGOPOSTAL,');
|
|
Add('POBLACION, PROVINCIA,');
|
|
Add('TELEFONO1, TELEFONO2, MOVIL1, MOVIL2, FAX, PERSONACONTACTO, ');
|
|
Add('BASEIMPONIBLE,');
|
|
Add('DESCUENTO, IMPORTEDESCUENTO,');
|
|
Add('IVA, IMPORTEIVA,');
|
|
Add('IMPORTETOTAL, OBSERVACIONES, PLAZOENTREGA, FORMAPAGO ');
|
|
Add('from PRESUPUESTOSCLIENTE ');
|
|
Add('where CODIGO = :CODIGO');
|
|
end;
|
|
ParamByName('CODIGO').AsString := CodigoPresupuesto;
|
|
end;
|
|
|
|
oSQL2 := TIBSQL.Create(Self);
|
|
with oSQL2 do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
with SQL do
|
|
begin
|
|
Add(' INSERT INTO DETALLESCONTRATOSARTICULOS ( ');
|
|
Add(' CODIGOCONTRATO, ');
|
|
Add(' NUMCONCEPTO, ');
|
|
Add(' TIPOCONCEPTO, ');
|
|
Add(' CODIGOARTICULO, ');
|
|
Add(' REFERENCIA, ');
|
|
Add(' DESCRIPCION, ');
|
|
Add(' CANTIDAD, ');
|
|
Add(' IMPORTEUNIDAD, ');
|
|
Add(' IMPORTETOTAL, ');
|
|
Add(' OBSERVACIONES) ');
|
|
Add('select ''' + CodigoAux + ''', NUMCONCEPTO,');
|
|
Add('TIPOCONCEPTO, CODIGOARTICULO, REFERENCIA, ');
|
|
Add('DESCRIPCION, CANTIDAD,');
|
|
Add('IMPORTEUNIDAD, IMPORTETOTAL, OBSERVACIONES ');
|
|
Add('from DETALLESPRESUPUESTOSARTICULOS ');
|
|
Add('where CODIGOPRESUPUESTO = :CODIGOPRESUPUESTO');
|
|
end;
|
|
ParamByName('CODIGOPRESUPUESTO').AsString := CodigoPresupuesto;
|
|
end;
|
|
|
|
oSQL3 := TIBSQL.Create(Self);
|
|
with oSQL3 do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
|
|
SQL.Add('insert into DETALLESCONTRATOSPROPIEDADES (');
|
|
SQL.Add('CODIGOCONTRATO, NUMCONCEPTO, NUMPROPIEDAD, ');
|
|
SQL.Add('CODIGOPROPIEDAD, VALOR) ');
|
|
SQL.Add('select ''' + CodigoAux + ''', NUMCONCEPTO, ');
|
|
SQL.Add('NUMPROPIEDAD, CODIGOPROPIEDAD, VALOR ');
|
|
SQL.Add('from DETALLESPRESUPUESTOSPROPIEDADES ');
|
|
SQL.Add('where CODIGOPRESUPUESTO = :CODIGOPRESUPUESTO');
|
|
|
|
ParamByName('CODIGOPRESUPUESTO').AsString := CodigoPresupuesto;
|
|
end;
|
|
|
|
try
|
|
oSQL.Prepare;
|
|
oSQL2.Prepare;
|
|
oSQL3.Prepare;
|
|
|
|
oSQL.ExecQuery;
|
|
oSQL2.ExecQuery;
|
|
oSQL3.ExecQuery;
|
|
|
|
dmTablaContratos.IncrementarCodigo;
|
|
if dmTablaPresupuestos.AsignarContrato(CodigoPresupuesto, CodigoAux) then
|
|
Result := CodigoAux;
|
|
finally
|
|
oSQL.Close;
|
|
oSQL.Transaction := NIL;
|
|
oSQL.Free;
|
|
|
|
oSQL2.Close;
|
|
oSQL2.Transaction := NIL;
|
|
oSQL2.Free;
|
|
|
|
oSQL3.Close;
|
|
oSQL3.Transaction := NIL;
|
|
oSQL3.Free;
|
|
end;
|
|
end;
|
|
|
|
function TdmTablaContratos.CopiarContrato(CodigoContrato: String): String;
|
|
var
|
|
oSQL : TIBSQL;
|
|
oSQL2 : TIBSQL;
|
|
oSQL3 : TIBSQL;
|
|
CodigoAux : String;
|
|
CodConAux : String;
|
|
begin
|
|
Result := '';
|
|
|
|
CodigoAux := DarNuevoCodigo;
|
|
oSQL := TIBSQL.Create(Self);
|
|
with oSQL do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
|
|
with SQL do
|
|
begin
|
|
Add(' INSERT INTO CONTRATOSCLIENTE ( ');
|
|
Add(' CODIGO, FECHAALTA, ');
|
|
Add(' USUARIO, CODIGODOCUMENTO, ');
|
|
Add(' FECHACONTRATO, SITUACION, ');
|
|
Add(' CODIGOCLIENTE, NIFCIF, ');
|
|
Add(' NOMBRE, CALLE, NUMERO, ');
|
|
Add(' PISO, CODIGOPOSTAL, ');
|
|
Add(' POBLACION, PROVINCIA, ');
|
|
Add(' TELEFONO1, TELEFONO2, MOVIL1, MOVIL2, FAX, PERSONACONTACTO, ');
|
|
Add(' BASEIMPONIBLE, DESCUENTO, ');
|
|
Add(' IMPORTEDESCUENTO, ');
|
|
Add(' IVA, IMPORTEIVA, ');
|
|
Add(' IMPORTETOTAL, ');
|
|
Add(' OBSERVACIONES, PLAZOENTREGA, ');
|
|
Add(' FORMAPAGO) ');
|
|
Add('SELECT ''' + CodigoAux + ''', current_date, ');
|
|
Add('''' + dmBaseDatos.Usuario + ''', CODIGODOCUMENTO,');
|
|
Add('current_date, ''PENDIENTE'', ');
|
|
Add('CODIGOCLIENTE, NIFCIF, NOMBRE,');
|
|
Add('CALLE, NUMERO, PISO, CODIGOPOSTAL,');
|
|
Add('POBLACION, PROVINCIA,');
|
|
Add('TELEFONO1, TELEFONO2, MOVIL1, MOVIL2, FAX, PERSONACONTACTO, BASEIMPONIBLE, DESCUENTO, IMPORTEDESCUENTO,');
|
|
Add('IVA, IMPORTEIVA, IMPORTETOTAL, OBSERVACIONES, PLAZOENTREGA, ');
|
|
Add('FORMAPAGO from CONTRATOSCLIENTE ');
|
|
Add('where CODIGO = :CODIGO');
|
|
end;
|
|
ParamByName('CODIGO').AsString := CodigoContrato;
|
|
end;
|
|
|
|
oSQL2 := TIBSQL.Create(Self);
|
|
with oSQL2 do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
with SQL do
|
|
begin
|
|
Add(' INSERT INTO DETALLESCONTRATOSARTICULOS ( ');
|
|
Add(' CODIGOCONTRATO, ');
|
|
Add(' NUMCONCEPTO, ');
|
|
Add(' TIPOCONCEPTO, ');
|
|
Add(' CODIGOARTICULO, ');
|
|
Add(' REFERENCIA, ');
|
|
Add(' DESCRIPCION, ');
|
|
Add(' CANTIDAD, ');
|
|
Add(' IMPORTEUNIDAD, ');
|
|
Add(' IMPORTETOTAL, ');
|
|
Add(' OBSERVACIONES) ');
|
|
Add('select ''' + CodigoAux + ''', NUMCONCEPTO,');
|
|
Add('TIPOCONCEPTO, CODIGOARTICULO, REFERENCIA, ');
|
|
Add('DESCRIPCION, CANTIDAD,');
|
|
Add('IMPORTEUNIDAD, IMPORTETOTAL, OBSERVACIONES ');
|
|
Add('from DETALLESCONTRATOSARTICULOS ');
|
|
Add('where CODIGOCONTRATO = :CODIGOCONTRATO');
|
|
end;
|
|
ParamByName('CODIGOCONTRATO').AsString := CodigoContrato;
|
|
end;
|
|
|
|
oSQL3 := TIBSQL.Create(Self);
|
|
with oSQL3 do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
|
|
SQL.Add('insert into DETALLESCONTRATOSPROPIEDADES (');
|
|
SQL.Add('CODIGOCONTRATO, NUMCONCEPTO, NUMPROPIEDAD, ');
|
|
SQL.Add('CODIGOPROPIEDAD, VALOR) ');
|
|
SQL.Add('select ''' + CodigoAux + ''', NUMCONCEPTO, ');
|
|
SQL.Add('NUMPROPIEDAD, CODIGOPROPIEDAD, VALOR ');
|
|
SQL.Add('from DETALLESCONTRATOSPROPIEDADES ');
|
|
SQL.Add('where CODIGOCONTRATO = :CODIGOCONTRATO');
|
|
|
|
ParamByName('CODIGOCONTRATO').AsString := CodigoContrato;
|
|
end;
|
|
|
|
try
|
|
oSQL.Prepare;
|
|
oSQL2.Prepare;
|
|
oSQL3.Prepare;
|
|
|
|
oSQL.ExecQuery;
|
|
oSQL2.ExecQuery;
|
|
oSQL3.ExecQuery;
|
|
|
|
IncrementarCodigo;
|
|
Result := CodigoAux;
|
|
finally
|
|
oSQL.Close;
|
|
oSQL.Transaction := NIL;
|
|
oSQL.Free;
|
|
|
|
oSQL2.Close;
|
|
oSQL2.Transaction := NIL;
|
|
oSQL2.Free;
|
|
|
|
oSQL3.Close;
|
|
oSQL3.Transaction := NIL;
|
|
oSQL3.Free;
|
|
end;
|
|
end;
|
|
|
|
function TdmTablaContratos.DarSituaciones: TStrings;
|
|
var
|
|
Lista : TStringList;
|
|
begin
|
|
Result := NIL;
|
|
Lista := TStringList.Create;
|
|
with Lista do
|
|
begin
|
|
Clear;
|
|
Append('PENDIENTE');
|
|
Append('TERMINADO');
|
|
end;
|
|
Result := Lista;
|
|
end;
|
|
|
|
function TdmTablaContratos.DarListaAnos: TStrings;
|
|
var
|
|
oSQL : TIBSQL;
|
|
Lista : TStringList;
|
|
begin
|
|
Result := NIL;
|
|
oSQL := TIBSQL.Create(Self);
|
|
Lista := TStringList.Create;
|
|
with oSQL do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
SQL.Add('select distinct(extract(year from FECHACONTRATO)) as ANO ');
|
|
SQL.Add('from CONTRATOSCLIENTE ');
|
|
SQL.Add('order by FECHACONTRATO');
|
|
try
|
|
Prepare;
|
|
ExecQuery;
|
|
while not EOF do begin
|
|
Lista.Append(Fields[0].AsString);
|
|
Next;
|
|
end;
|
|
Result := Lista;
|
|
finally
|
|
Close;
|
|
Transaction := NIL;
|
|
Free;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TdmTablaContratos.InicializarGridBeneficios(var Grid: TcxGrid);
|
|
var
|
|
Columna : TcxGridDBColumn;
|
|
begin
|
|
with (Grid.ActiveView as TcxGridDBTableView) do
|
|
begin
|
|
// OptionsView.Footer := True;
|
|
|
|
{Columna CODIGO}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'CODIGO';
|
|
Columna.Caption := 'Código';
|
|
Columna.Width := tamColCodigo;
|
|
Columna.Options.Filtering := False;
|
|
with TcxGridDBTableSummaryItem(DataController.Summary.FooterSummaryItems.Add) do
|
|
try
|
|
try
|
|
BeginUpdate;
|
|
Column := Columna;
|
|
FieldName := Columna.DataBinding.FieldName;
|
|
Format := 'Total: 0 Contratos';
|
|
Kind := skCount;
|
|
finally
|
|
EndUpdate;
|
|
end;
|
|
except
|
|
DataController.Summary.FooterSummaryItems.Delete(DataController.Summary.FooterSummaryItems.Count-1);
|
|
end;
|
|
|
|
{Columna FECHACONTRATO}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'FECHACONTRATO';
|
|
Columna.Caption := 'Fecha';
|
|
Columna.Width := tamColFecha;
|
|
Columna.Options.Filtering := False;
|
|
{Columna NIFCIF}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'NIFCIF';
|
|
Columna.Caption := 'Nif/Cif';
|
|
Columna.Width := tamColNombre;
|
|
Columna.Options.Filtering := False;
|
|
Columna.Visible := False;
|
|
{Columna NOMBRE}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'NOMBRE';
|
|
Columna.Caption := 'Nombre';
|
|
Columna.Width := tamColNombre;
|
|
Columna.Options.Filtering := False;
|
|
{Columna IMPORTETOTAL}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'IMPORTETOTAL';
|
|
Columna.Caption := 'Imp. contrato';
|
|
Columna.HeaderAlignmentHorz := taRightJustify;
|
|
Columna.Width := tamColImporte;
|
|
Columna.Options.Filtering := False;
|
|
{Columna IMPCLI}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'IMPCLI';
|
|
Columna.Caption := 'Cobros cli.';
|
|
Columna.HeaderAlignmentHorz := taRightJustify;
|
|
Columna.Width := tamColImporte;
|
|
Columna.Options.Filtering := False;
|
|
{Columna IMPPROV}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'IMPPROV';
|
|
Columna.Caption := 'Gastos prov.';
|
|
Columna.HeaderAlignmentHorz := taRightJustify;
|
|
Columna.Width := tamColImporte;
|
|
Columna.Options.Filtering := False;
|
|
{Columna IMPOTROS}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'IMPOTROS';
|
|
Columna.Caption := 'Otros gastos';
|
|
Columna.HeaderAlignmentHorz := taRightJustify;
|
|
Columna.Width := tamColImporte;
|
|
Columna.Options.Filtering := False;
|
|
|
|
{Columna BENEFICIO}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'BENEFICIO';
|
|
Columna.Caption := 'Beneficio';
|
|
Columna.HeaderAlignmentHorz := taRightJustify;
|
|
Columna.Width := tamColImporte;
|
|
Columna.Options.Filtering := False;
|
|
with TcxGridDBTableSummaryItem(DataController.Summary.FooterSummaryItems.Add) do
|
|
try
|
|
try
|
|
BeginUpdate;
|
|
Column := Columna;
|
|
FieldName := Columna.DataBinding.FieldName;
|
|
Format := '0 Beneficio total';
|
|
Kind := skSum;
|
|
finally
|
|
EndUpdate;
|
|
end;
|
|
except
|
|
DataController.Summary.FooterSummaryItems.Delete(DataController.Summary.FooterSummaryItems.Count-1);
|
|
end;
|
|
|
|
{Columna PORCENTAJE}
|
|
Columna := CreateColumn;
|
|
Columna.DataBinding.FieldName := 'PORCENTAJE';
|
|
Columna.Caption := 'Porcentaje';
|
|
Columna.HeaderAlignmentHorz := taRightJustify;
|
|
Columna.Width := tamColImporte;
|
|
Columna.Options.Filtering := False;
|
|
with TcxGridDBTableSummaryItem(DataController.Summary.FooterSummaryItems.Add) do
|
|
try
|
|
try
|
|
BeginUpdate;
|
|
Column := Columna;
|
|
FieldName := Columna.DataBinding.FieldName;
|
|
Format := '0 % Beneficio total';
|
|
Kind := skAverage;
|
|
finally
|
|
EndUpdate;
|
|
end;
|
|
except
|
|
DataController.Summary.FooterSummaryItems.Delete(DataController.Summary.FooterSummaryItems.Count-1);
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TdmTablaContratos.InicializarTablaBeneficios(Tabla: TPTabla);
|
|
begin
|
|
with Tabla^.Fields do
|
|
begin
|
|
if FindField('IMPORTETOTAL') <> NIL then
|
|
with (FieldByName('IMPORTETOTAL') as TIBBCDField) do begin
|
|
DisplayFormat := DISPLAY_EUROS2;
|
|
EditFormat := EDIT_EUROS2;
|
|
end;
|
|
|
|
if FindField('IMPPROV') <> NIL then
|
|
with (FieldByName('IMPPROV') as TIBBCDField) do begin
|
|
DisplayFormat := DISPLAY_EUROS2;
|
|
EditFormat := EDIT_EUROS2;
|
|
end;
|
|
|
|
if FindField('IMPOTROS') <> NIL then
|
|
with (FieldByName('IMPOTROS') as TIBBCDField) do begin
|
|
DisplayFormat := DISPLAY_EUROS2;
|
|
EditFormat := EDIT_EUROS2;
|
|
end;
|
|
|
|
if FindField('IMPCLI') <> NIL then
|
|
with (FieldByName('IMPCLI') as TIBBCDField) do begin
|
|
DisplayFormat := DISPLAY_EUROS2;
|
|
EditFormat := EDIT_EUROS2;
|
|
end;
|
|
|
|
if FindField('BENEFICIO') <> NIL then
|
|
with (FieldByName('BENEFICIO') as TIBBCDField) do begin
|
|
DisplayFormat := DISPLAY_EUROS2;
|
|
EditFormat := DISPLAY_EUROS2;
|
|
end;
|
|
|
|
if FindField('PORCENTAJE') <> NIL then
|
|
with (FieldByName('PORCENTAJE') as TIBBCDField) do begin
|
|
DisplayFormat := DISPLAY_CTO;
|
|
EditFormat := DISPLAY_CTO;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
function TdmTablaContratos.ExistenContratos: Boolean;
|
|
var
|
|
oSQL : TIBSQL;
|
|
begin
|
|
Result := False;
|
|
|
|
oSQL := TIBSQL.Create(Self);
|
|
with oSQL do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
SQL.Add('select count(*) ');
|
|
SQL.Add('from CONTRATOSCLIENTE ');
|
|
try
|
|
Prepare;
|
|
ExecQuery;
|
|
Result := (Fields[0].AsInteger <> 0);
|
|
finally
|
|
Close;
|
|
Transaction := NIL;
|
|
Free;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
function TdmTablaContratos.DarRutaPlanos(CodigoContrato: String): String;
|
|
var
|
|
oSQL : TIBSQL;
|
|
CodigoAux : String;
|
|
begin
|
|
Result := '';
|
|
if EsCadenaVacia(CodigoContrato) then
|
|
Exit;
|
|
|
|
oSQL := TIBSQL.Create(nil);
|
|
with oSQL do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
SQL.Add('SELECT CODIGO ');
|
|
SQL.Add('FROM PRESUPUESTOSCLIENTE ');
|
|
SQL.Add('WHERE CODIGOCONTRATO = :CODIGOCONTRATO ');
|
|
|
|
try
|
|
ParamByName('CODIGOCONTRATO').AsString := CodigoContrato;
|
|
Prepare;
|
|
ExecQuery;
|
|
|
|
if (RecordCount > 0) then
|
|
CodigoAux := FieldByName('CODIGO').AsString
|
|
else
|
|
CodigoAux := CodigoContrato;
|
|
|
|
Result := PathDelim + StringReplace(CodigoAux,'/','',[rfReplaceAll]);
|
|
finally
|
|
Close;
|
|
Transaction := NIL;
|
|
Free;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
{ TListaDetallesContrato }
|
|
|
|
procedure TListaDetallesContrato.AssignTo(Dest: TPersistent);
|
|
begin
|
|
if not (Dest is TDatosDetalleContrato) then
|
|
AssignError(Dest);
|
|
{ (Dest as TDatosDetallePresupusto).Codigo := Codigo;
|
|
(Dest as TDatosDetallePresupusto).Descripcion := Descripcion;
|
|
(Dest as TDatosDetallePresupusto).Familia := Familia;
|
|
(Dest as TDatosDetallePresupusto).ListaPropiedades.Assign(ListaPropiedades);}
|
|
end;
|
|
|
|
constructor TListaDetallesContrato.Create(CodigoContrato: String);
|
|
begin
|
|
|
|
end;
|
|
|
|
constructor TListaDetallesContrato.Create;
|
|
begin
|
|
inherited;
|
|
|
|
end;
|
|
|
|
function TListaDetallesContrato.GetDetalleContrato(
|
|
Index: Integer): TDatosDetalleContrato;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TListaDetallesContrato.ObtenerLista;
|
|
var
|
|
oSQL1 : TIBSQL;
|
|
oSQL2 : TIBSQL;
|
|
Detalle : TDatosDetalleContrato;
|
|
Propiedad : TDatosPropiedad;
|
|
begin
|
|
oSQL1 := TIBSQL.Create(nil);
|
|
oSQL2 := TIBSQL.Create(nil);
|
|
|
|
with oSQL1 do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
SQL.Add('select * from DETALLESCONTRATOSARTICULOS');
|
|
SQL.Add('where CODIGOCONTRATO = :CODIGOCONTRATO');
|
|
SQL.Add('order by NUMCONCEPTO');
|
|
ParamByName('CODIGOCONTRATO').AsString := FCodigoContrato;
|
|
end;
|
|
|
|
with oSQL2 do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
SQL.Add('select * from DETALLESCONTRATOSPROPIEDADES');
|
|
SQL.Add('where CODIGOCONTRATO = :CODIGOCONTRATO');
|
|
SQL.Add('order by NUMCONCEPTO');
|
|
ParamByName('CODIGOCONTRATO').AsString := FCodigoContrato;
|
|
end;
|
|
|
|
try
|
|
oSQL1.Prepare;
|
|
oSQL1.ExecQuery;
|
|
|
|
oSQL2.Prepare;
|
|
oSQL2.ExecQuery;
|
|
|
|
while not oSQL1.EOF do begin
|
|
Detalle := TDatosDetalleContrato.Create;
|
|
with Detalle do
|
|
begin
|
|
NumConcepto := oSQL1.FieldByName('NUMCONCEPTO').AsInteger;
|
|
TipoConcepto := oSQL1.FieldByName('TIPOCONCEPTO').AsString;
|
|
CodigoArticulo := oSQL1.FieldByName('CODIGOARTICULO').AsString;
|
|
Referencia := oSQL1.FieldByName('REFERENCIA').AsString;
|
|
Descripcion := oSQL1.FieldByName('DESCRIPCION').AsString;
|
|
Cantidad := oSQL1.FieldByName('CANTIDAD').AsInteger;
|
|
ImporteUnidad := oSQL1.FieldByName('IMPORTEUNIDAD').AsInteger;
|
|
ImporteTotal := oSQL1.FieldByName('IMPORTETOTAL').AsInteger;
|
|
end;
|
|
|
|
while (not oSQL2.EOF) and
|
|
(oSQL2.FieldByName('NUMCONCEPTO').AsInteger = Detalle.NumConcepto) do
|
|
begin
|
|
Propiedad := TDatosPropiedad.Create;
|
|
with Propiedad do
|
|
begin
|
|
CodigoPropiedad := oSQL2.FieldByName('CODIGOPROPIEDAD').AsInteger;
|
|
Valor := oSQL2.FieldByName('VALOR').AsString;
|
|
end;
|
|
Detalle.ListaPropiedades.Add(Propiedad);
|
|
oSQL2.Next;
|
|
end;
|
|
FLista.Add(Detalle);
|
|
oSQL1.Next;
|
|
end;
|
|
finally
|
|
with oSQL1 do
|
|
begin
|
|
Close;
|
|
Transaction := NIL;
|
|
Free;
|
|
end;
|
|
with oSQL2 do
|
|
begin
|
|
Close;
|
|
Transaction := NIL;
|
|
Free;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
{ TDatosDetalleContrato }
|
|
|
|
procedure TDatosDetalleContrato.AssignTo(Dest: TPersistent);
|
|
begin
|
|
inherited;
|
|
|
|
end;
|
|
|
|
constructor TDatosDetalleContrato.Create;
|
|
begin
|
|
inherited;
|
|
|
|
end;
|
|
|
|
destructor TDatosDetalleContrato.Destroy;
|
|
begin
|
|
|
|
inherited;
|
|
end;
|
|
|
|
procedure TDatosDetalleContrato.ObtenerDatos;
|
|
begin
|
|
inherited;
|
|
|
|
end;
|
|
|
|
{ TDatosContrato }
|
|
|
|
procedure TDatosContrato.AssignTo(Dest: TPersistent);
|
|
begin
|
|
inherited;
|
|
|
|
end;
|
|
|
|
constructor TDatosContrato.Create(CodigoContrato: String);
|
|
begin
|
|
inherited Create;
|
|
Codigo := CodigoContrato;
|
|
ObtenerDatos;
|
|
FListaDetallesContrato := TListaDetallesContrato.Create(Codigo);
|
|
end;
|
|
|
|
constructor TDatosContrato.Create;
|
|
begin
|
|
inherited Create;
|
|
FListaDetallesContrato := TListaDetallesContrato.Create;
|
|
end;
|
|
|
|
destructor TDatosContrato.Destroy;
|
|
begin
|
|
FListaDetallesContrato.Free;
|
|
FListaDetallesContrato := NIL;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TDatosContrato.ObtenerDatos;
|
|
var
|
|
oSQL : TIBSQL;
|
|
begin
|
|
if EsCadenaVacia(Codigo) then
|
|
Exit;
|
|
|
|
oSQL := TIBSQL.Create(nil);
|
|
with oSQL do
|
|
begin
|
|
Database := dmBaseDatos.BD;
|
|
Transaction := dmBaseDatos.Transaccion;
|
|
SQL.Add('select * from CONTRATOSCLIENTE ');
|
|
SQL.Add('where CODIGO = :CODIGO');
|
|
|
|
try
|
|
ParamByName('CODIGO').AsString := Codigo;
|
|
Prepare;
|
|
ExecQuery;
|
|
|
|
if (RecordCount > 0) then
|
|
begin
|
|
FechaAlta := FieldByName('FECHAALTA').AsDateTime;
|
|
Usuario := FieldByName('USUARIO').AsString;
|
|
FechaContrato := FieldByName('FECHACONTRATO').AsDateTime;
|
|
CodigoDocumento := FieldByName('CODIGODOCUMENTO').AsString;
|
|
Situacion := FieldByName('SITUACION').AsString;
|
|
CodigoCliente := FieldByName('CODIGOCLIENTE').AsString;
|
|
NIFCIF := FieldByName('NIFCIF').AsString;
|
|
Nombre := FieldByName('NOMBRE').AsString;
|
|
Calle := FieldByName('CALLE').AsString;
|
|
Numero := FieldByName('NUMERO').AsString;
|
|
Piso := FieldByName('PISO').AsString;
|
|
CodigoPostal := FieldByName('CODIGOPOSTAL').AsString;
|
|
Poblacion := FieldByName('POBLACION').AsString;
|
|
Provincia := FieldByName('PROVINCIA').AsString;
|
|
Telefono1 := FieldByName('TELEFONO1').AsString;
|
|
Telefono2 := FieldByName('TELEFONO2').AsString;
|
|
Movil1 := FieldByName('MOVIL1').AsString;
|
|
Movil2 := FieldByName('MOVIL2').AsString;
|
|
Fax := FieldByName('FAX').AsString;
|
|
PersonaContacto := FieldByName('PERSONACONTACTO').AsString;
|
|
Observaciones := FieldByName('OBSERVACIONES').AsString;
|
|
BaseImponible := FieldByName('BASEIMPONIBLE').AsDouble;
|
|
Descuento := FieldByName('DESCUENTO').AsInteger;
|
|
ImporteDescuento := FieldByName('IMPORTEDESCUENTO').AsDouble;
|
|
Iva := FieldByName('IVA').AsInteger;
|
|
ImporteIva := FieldByName('IMPORTEIVA').AsDouble;
|
|
ImporteTotal := FieldByName('IMPORTETOTAL').AsDouble;
|
|
PlazoEntrega := FieldByName('PLAZOENTREGA').AsString;
|
|
FormaPago := FieldByName('FORMAPAGO').AsString;
|
|
end
|
|
else begin
|
|
raise Exception.CreateFmt(msgCliNoExistePre, [Codigo]);
|
|
end;
|
|
finally
|
|
Close;
|
|
Transaction := NIL;
|
|
Free;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
{ TListaPropiedadesContrato }
|
|
|
|
procedure TListaPropiedadesContrato.AssignTo(Dest: TPersistent);
|
|
begin
|
|
inherited;
|
|
|
|
end;
|
|
|
|
constructor TListaPropiedadesContrato.Create(CodigoArticulo: String);
|
|
begin
|
|
|
|
end;
|
|
|
|
constructor TListaPropiedadesContrato.Create;
|
|
begin
|
|
inherited;
|
|
|
|
end;
|
|
|
|
function TListaPropiedadesContrato.GetPropiedad(
|
|
Index: Integer): TDatosPropiedad;
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure TListaPropiedadesContrato.ObtenerLista;
|
|
begin
|
|
inherited;
|
|
|
|
end;
|
|
|
|
end.
|