Se arregla el editorgridbase para que su getmodified siempre devuelva false y asi no salga la pregunta desea guardar los cambios.

Tambien se modifica viewfiltrobase para que herede de viewbase en lugar de tframe.
Se arreglan las remesas de cliente y proveedor para que la lista de recibos a añadir en la remesa no aparezcan los que ya estén añadidos (ya que todo esta en memosria y hasta que no se guarde no pasa a bd y no se sabe que tiene o no tiene la remesa)

git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@426 f4e31baf-9722-1c47-927c-6f952f962d4b
This commit is contained in:
roberto 2009-07-09 09:23:03 +00:00
parent e43c47b11c
commit c7d80d66b7
37 changed files with 2717 additions and 432 deletions

View File

@ -90,7 +90,7 @@ type
// Comprueba que todos los detalles del documento tengan un tipo_detalle asignado, // Comprueba que todos los detalles del documento tengan un tipo_detalle asignado,
// además de que los capitulos tengan su subtotal de cierre // además de que los capitulos tengan su subtotal de cierre
procedure ValidarDetalles(ADataTable: IDAStronglyTypedDataTable); procedure ValidarDetalles(ADataTable: IDAStronglyTypedDataTable); virtual;
end; end;
@ -662,6 +662,7 @@ var
bEnCapitulo : Boolean; bEnCapitulo : Boolean;
AuxPosicionIni : Integer; AuxPosicionIni : Integer;
AuxPosicion : Integer; AuxPosicion : Integer;
begin begin
bEnCapitulo := False; bEnCapitulo := False;
ATipoCampo := ''; ATipoCampo := '';
@ -685,14 +686,14 @@ begin
//para que no falle el calculo del documento //para que no falle el calculo del documento
if (Length(ATipoCampo) = 0) then if (Length(ATipoCampo) = 0) then
begin begin
if not ADataTable.DataTable.Editing then if not ADataTable.DataTable.Editing then
ADataTable.DataTable.Edit; ADataTable.DataTable.Edit;
ADataTable.DataTable.FieldByName(CAMPO_TIPO).AsString := TIPO_DETALLE_CONCEPTO; ADataTable.DataTable.FieldByName(CAMPO_TIPO).AsString := TIPO_DETALLE_CONCEPTO;
ADataTable.DataTable.Post; ADataTable.DataTable.Post;
end; end;
if (ATipoCampo = TIPO_DETALLE_SUBTOTAL) and bEnCapitulo then if (ATipoCampo = TIPO_DETALLE_SUBTOTAL) and bEnCapitulo then
bEnCapitulo := False; bEnCapitulo := False;
if (ATipoCampo = TIPO_DETALLE_TITULO) then if (ATipoCampo = TIPO_DETALLE_TITULO) then
//or (ATipoCampo = TIPO_DETALLE_TITULO_OPCIONAL)) then Solo es valido para Tecsitel //or (ATipoCampo = TIPO_DETALLE_TITULO_OPCIONAL)) then Solo es valido para Tecsitel

View File

@ -50,6 +50,7 @@ function DataTableModified (const ADataTable : TDADataTable): Boolean;
procedure SetDataTableReadOnly(ADataTable: TDADataTable; const value: Boolean); procedure SetDataTableReadOnly(ADataTable: TDADataTable; const value: Boolean);
implementation implementation
uses uses

Binary file not shown.

View File

@ -101,12 +101,15 @@ type
procedure ConfPaginaInterno; override; procedure ConfPaginaInterno; override;
procedure ImprimirInterno; override; procedure ImprimirInterno; override;
procedure RefrescarInterno; override; procedure RefrescarInterno; override;
public public
property ListaAnos: TStringList read GetListaAnos write SetListaAnos; property ListaAnos: TStringList read GetListaAnos write SetListaAnos;
property ViewGrid: IViewGridBase read GetViewGrid write SetViewGrid; property ViewGrid: IViewGridBase read GetViewGrid write SetViewGrid;
property DynWhereDataTable: WideString read GetDynWhereDataTable write SetDynWhereDataTable; property DynWhereDataTable: WideString read GetDynWhereDataTable write SetDynWhereDataTable;
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect; property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
function GetModified: Boolean; override;
constructor Create(AOwner : TComponent); override; constructor Create(AOwner : TComponent); override;
destructor Destroy; override; destructor Destroy; override;
end; end;
@ -141,6 +144,11 @@ begin
Result := FListaAnos; Result := FListaAnos;
end; end;
function TfEditorGridBase.GetModified: Boolean;
begin
Result := False;
end;
function TfEditorGridBase.GetMultiSelect: Boolean; function TfEditorGridBase.GetMultiSelect: Boolean;
begin begin
Result := False; Result := False;

View File

@ -167,6 +167,7 @@ type
function DarFuentePorDefecto(const ATipo : String = TIPO_DETALLE_CONCEPTO): TFont; virtual; function DarFuentePorDefecto(const ATipo : String = TIPO_DETALLE_CONCEPTO): TFont; virtual;
function GetFocusedView : TcxGridDBTableView; virtual; function GetFocusedView : TcxGridDBTableView; virtual;
function GetGrid : TcxGrid; virtual; function GetGrid : TcxGrid; virtual;
procedure SeleccionarRowActual; procedure SeleccionarRowActual;
public public
@ -177,7 +178,7 @@ type
procedure ExpandirTodo; procedure ExpandirTodo;
procedure ContraerTodo; procedure ContraerTodo;
procedure AjustarAncho; procedure AjustarAncho;
function IsEmpty : Boolean; function IsEmpty : Boolean;
destructor Destroy; override; destructor Destroy; override;
property _FocusedView : TcxGridDBTableView read GetFocusedView; property _FocusedView : TcxGridDBTableView read GetFocusedView;
property _Grid : TcxGrid read GetGrid; property _Grid : TcxGrid read GetGrid;

View File

@ -1,10 +1,9 @@
object frViewFiltroBase: TfrViewFiltroBase inherited frViewFiltroBase: TfrViewFiltroBase
Left = 0
Top = 0
Width = 565 Width = 565
Height = 102 Height = 102
TabOrder = 0
Visible = False Visible = False
ExplicitWidth = 565
ExplicitHeight = 102
object TBXDockablePanel1: TTBXDockablePanel object TBXDockablePanel1: TTBXDockablePanel
Left = 0 Left = 0
Top = 0 Top = 0
@ -20,8 +19,6 @@ object frViewFiltroBase: TfrViewFiltroBase
ShowCaptionWhenDocked = False ShowCaptionWhenDocked = False
SupportedDocks = [dkStandardDock, dkMultiDock] SupportedDocks = [dkStandardDock, dkMultiDock]
TabOrder = 0 TabOrder = 0
ExplicitWidth = 128
ExplicitHeight = 98
object dxLayoutControl1: TdxLayoutControl object dxLayoutControl1: TdxLayoutControl
Left = 0 Left = 0
Top = 0 Top = 0
@ -32,7 +29,6 @@ object frViewFiltroBase: TfrViewFiltroBase
TabOrder = 0 TabOrder = 0
TabStop = False TabStop = False
AutoContentSizes = [acsWidth, acsHeight] AutoContentSizes = [acsWidth, acsHeight]
ExplicitWidth = 128
object txtFiltroTodo: TcxTextEdit object txtFiltroTodo: TcxTextEdit
Left = 87 Left = 87
Top = 10 Top = 10

View File

@ -7,10 +7,11 @@ uses
Dialogs, cxMaskEdit, cxDropDownEdit, cxCalendar, dxLayoutControl, Dialogs, cxMaskEdit, cxDropDownEdit, cxCalendar, dxLayoutControl,
cxContainer, cxEdit, cxTextEdit, dxLayoutLookAndFeels, cxControls, cxContainer, cxEdit, cxTextEdit, dxLayoutLookAndFeels, cxControls,
StdCtrls, Buttons, cxRadioGroup, TBXDkPanels, TB2ExtItems, TBXExtItems, StdCtrls, Buttons, cxRadioGroup, TBXDkPanels, TB2ExtItems, TBXExtItems,
TBX, TB2Item, TB2Dock, TB2Toolbar, ActnList, ImgList, PngImageList; TBX, TB2Item, TB2Dock, TB2Toolbar, ActnList, ImgList, PngImageList,
uViewBase;
type type
IViewFiltroBase = interface IViewFiltroBase = interface(IViewBase)
['{0D0EA630-BF93-4BA1-93C2-FD5A5B0CBEED}'] ['{0D0EA630-BF93-4BA1-93C2-FD5A5B0CBEED}']
function GetFiltrosChange: TNotifyEvent; function GetFiltrosChange: TNotifyEvent;
procedure SetFiltrosChange(const Value: TNotifyEvent); procedure SetFiltrosChange(const Value: TNotifyEvent);
@ -25,7 +26,7 @@ type
property Texto: String read GetTexto write SetTexto; property Texto: String read GetTexto write SetTexto;
end; end;
TfrViewFiltroBase = class(TFrame, IViewFiltroBase) TfrViewFiltroBase = class(TfrViewBase, IViewFiltroBase)
dxLayoutControl1Group_Root: TdxLayoutGroup; dxLayoutControl1Group_Root: TdxLayoutGroup;
dxLayoutControl1: TdxLayoutControl; dxLayoutControl1: TdxLayoutControl;
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList; dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
@ -60,6 +61,8 @@ type
procedure LimpiarCampos; virtual; procedure LimpiarCampos; virtual;
function ValidarCampos: Boolean; virtual; function ValidarCampos: Boolean; virtual;
function GetModified: Boolean; override;
public public
property OnFiltrosChange: TNotifyEvent read GetFiltrosChange write SetFiltrosChange; property OnFiltrosChange: TNotifyEvent read GetFiltrosChange write SetFiltrosChange;
property VerFiltros: Boolean read GetVerFiltros write SetVerFiltros; property VerFiltros: Boolean read GetVerFiltros write SetVerFiltros;
@ -78,6 +81,11 @@ begin
Result := FOnFiltrosChange; Result := FOnFiltrosChange;
end; end;
function TfrViewFiltroBase.GetModified: Boolean;
begin
Result := False;
end;
procedure TfrViewFiltroBase.SetFiltrosChange(const Value: TNotifyEvent); procedure TfrViewFiltroBase.SetFiltrosChange(const Value: TNotifyEvent);
begin begin
FOnFiltrosChange := Value; FOnFiltrosChange := Value;

View File

@ -5,7 +5,7 @@ interface
uses uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, DB, uDADataTable, cxMemo, cxDBEdit, cxControls, Dialogs, uViewBase, DB, uDADataTable, cxMemo, cxDBEdit, cxControls,
cxContainer, cxEdit, cxTextEdit, ExtCtrls, StdCtrls; cxContainer, cxEdit, cxTextEdit, ExtCtrls, StdCtrls, uDAInterfaces;
type type
TfrViewFormaPago = class(TfrViewBase) TfrViewFormaPago = class(TfrViewBase)

View File

@ -70,12 +70,18 @@ inherited frViewGrid: TfrViewGrid
Width = 554 Width = 554
Height = 102 Height = 102
Align = alTop Align = alTop
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 1 TabOrder = 1
Visible = False Visible = False
ReadOnly = False
ExplicitWidth = 554 ExplicitWidth = 554
inherited TBXDockablePanel1: TTBXDockablePanel inherited TBXDockablePanel1: TTBXDockablePanel
ExplicitWidth = 554 ExplicitWidth = 554
ExplicitHeight = 102
inherited dxLayoutControl1: TdxLayoutControl inherited dxLayoutControl1: TdxLayoutControl
Width = 554 Width = 554
ExplicitWidth = 554 ExplicitWidth = 554
@ -176,7 +182,7 @@ inherited frViewGrid: TfrViewGrid
PrinterPage.ScaleMode = smFit PrinterPage.ScaleMode = smFit
PrinterPage._dxMeasurementUnits_ = 0 PrinterPage._dxMeasurementUnits_ = 0
PrinterPage._dxLastMU_ = 2 PrinterPage._dxLastMU_ = 2
ReportDocument.CreationDate = 39855.714797442130000000 ReportDocument.CreationDate = 40003.465056770830000000
StyleManager = dmBase.dxPrintStyleManager1 StyleManager = dmBase.dxPrintStyleManager1
OptionsCards.Shadow.Depth = 0 OptionsCards.Shadow.Depth = 0
OptionsExpanding.ExpandGroupRows = True OptionsExpanding.ExpandGroupRows = True

View File

@ -22,7 +22,7 @@ uses
cxIntlPrintSys3, dxPSPrvwAdv, uViewGridBase, cxGridCustomPopupMenu, cxIntlPrintSys3, dxPSPrvwAdv, uViewGridBase, cxGridCustomPopupMenu,
cxGridPopupMenu, uViewFiltroBase, ComCtrls, cxPC, ImgList, PngImageList, cxGridPopupMenu, uViewFiltroBase, ComCtrls, cxPC, ImgList, PngImageList,
TB2Item, TBX, TB2Dock, TB2Toolbar, TBXDkPanels, dxPgsDlg, uDAInterfaces, TB2Item, TBX, TB2Dock, TB2Toolbar, TBXDkPanels, dxPgsDlg, uDAInterfaces,
dxPScxGrid6Lnk; dxPScxGrid6Lnk, uCustomView;
type type
IViewGrid = interface(IViewGridBase) IViewGrid = interface(IViewGridBase)

View File

@ -9,11 +9,6 @@ const
CAMPO_REFERENCIA = 'REFERENCIA'; //Campo ficticio CAMPO_REFERENCIA = 'REFERENCIA'; //Campo ficticio
CAMPO_REFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR'; //Campo ficticio CAMPO_REFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR'; //Campo ficticio
TIPO_DETALLE_TITULO_A = 'TituloArmario';
TIPO_DETALLE_TITULO_B = 'TituloBaño';
TIPO_DETALLE_TITULO_C = 'TituloCocina';
TIPO_DETALLE_TITULO_E = 'TituloElectro';
type type
TEnumReferencia = (tCliente, tProveedor); TEnumReferencia = (tCliente, tProveedor);

View File

@ -62,8 +62,6 @@ inherited frViewDetallesArticulos: TfrViewDetallesArticulos
end end
end end
inherited cxGrid: TcxGrid inherited cxGrid: TcxGrid
ExplicitWidth = 753
ExplicitHeight = 312
inherited cxGridView: TcxGridDBTableView inherited cxGridView: TcxGridDBTableView
inherited cxGridViewTIPO: TcxGridDBColumn inherited cxGridViewTIPO: TcxGridDBColumn
Visible = False Visible = False
@ -118,9 +116,7 @@ inherited frViewDetallesArticulos: TfrViewDetallesArticulos
end end
end end
inherited TBXDock1: TTBXDock inherited TBXDock1: TTBXDock
ExplicitWidth = 753
inherited TBXToolbar1: TTBXToolbar inherited TBXToolbar1: TTBXToolbar
ExplicitWidth = 451
object TBXItem12: TTBXItem [0] object TBXItem12: TTBXItem [0]
Action = actAnadirArticulos Action = actAnadirArticulos
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText
@ -131,7 +127,9 @@ inherited frViewDetallesArticulos: TfrViewDetallesArticulos
object actAnadirArticulos: TAction object actAnadirArticulos: TAction
Category = 'Operaciones' Category = 'Operaciones'
Caption = 'A'#241'adir art'#237'culos' Caption = 'A'#241'adir art'#237'culos'
Enabled = False
ImageIndex = 12 ImageIndex = 12
Visible = False
OnExecute = actAnadirArticulosExecute OnExecute = actAnadirArticulosExecute
OnUpdate = actAnadirArticulosUpdate OnUpdate = actAnadirArticulosUpdate
end end

View File

@ -158,7 +158,7 @@ object RptFacturasProveedor: TRptFacturasProveedor
'_PROVEEDOR, NOMBRE, SITUACION, NIF_CIF,'#10'FECHA_FACTURA, FECHA_VEN' + '_PROVEEDOR, NOMBRE, SITUACION, NIF_CIF,'#10'FECHA_FACTURA, FECHA_VEN' +
'CIMIENTO, BASE_IMPONIBLE, IMPORTE_IVA, IMPORTE_TOTAL'#10#10'from V_fac' + 'CIMIENTO, BASE_IMPONIBLE, IMPORTE_IVA, IMPORTE_TOTAL'#10#10'from V_fac' +
'turas_proveedor'#10'where {where}'#10'order by ANO, MES, FECHA_FACTURA, ' + 'turas_proveedor'#10'where {where}'#10'order by ANO, MES, FECHA_FACTURA, ' +
'OMBRE'#10#10 'NOMBRE'#10#10
StatementType = stSQL StatementType = stSQL
ColumnMappings = < ColumnMappings = <
item item
@ -604,8 +604,6 @@ object RptFacturasProveedor: TRptFacturasProveedor
RemoteFetchEnabled = False RemoteFetchEnabled = False
LocalSchema = schReport LocalSchema = schReport
LocalDataStreamer = Bin2DataStreamer LocalDataStreamer = Bin2DataStreamer
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'ListadoFacturasProveedor' LogicalName = 'ListadoFacturasProveedor'
IndexDefs = <> IndexDefs = <>
Left = 464 Left = 464
@ -649,8 +647,6 @@ object RptFacturasProveedor: TRptFacturasProveedor
LogChanges = False LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False RemoteFetchEnabled = False
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
IndexDefs = <> IndexDefs = <>
Left = 648 Left = 648
Top = 136 Top = 136

View File

@ -14,6 +14,9 @@ type
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable); procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double; function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
function PedirDescuento: Variant; function PedirDescuento: Variant;
function DarPropiedades: IBizPropiedades;
procedure AnadirCapitulo (const Tipo: String; ADetalles: IDAStronglyTypedDataTable);
end; end;
TDetallesPresupuestoClienteController = class(TControllerDetallesArticulos, IDetallesPresupuestoClienteController) TDetallesPresupuestoClienteController = class(TControllerDetallesArticulos, IDetallesPresupuestoClienteController)
@ -39,11 +42,18 @@ type
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload; procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
constructor Create; override; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function DarPropiedades: IBizPropiedades;
procedure AnadirCapitulo (const Tipo: String; ADetalles: IDAStronglyTypedDataTable);
//Se sobre escribe para hacer otro recorrido y rellenar el tipo_articulo a todos los conceptos de los capitulos
procedure ValidarDetalles(ADataTable: IDAStronglyTypedDataTable); override;
end; end;
implementation implementation
uses Controls, SysUtils, Dialogs, uDAInterfaces, uDialogUtils, Variants, uDataModulePresupuestosCliente, uArticulosPresupuestoClienteController, uses Controls, SysUtils, Dialogs, uDAInterfaces, uDialogUtils, Variants, uDataModulePresupuestosCliente,
uArticulosPresupuestoClienteController, schPresupuestosClienteClient_Intf,
uDataTableUtils, uCalculosUtils, uIEditorAsignarDescuento, uEditorRegistryUtils; uDataTableUtils, uCalculosUtils, uIEditorAsignarDescuento, uEditorRegistryUtils;
{ TDetallesPresupuestoClienteController } { TDetallesPresupuestoClienteController }
@ -91,6 +101,102 @@ begin
end; end;
end; end;
procedure TDetallesPresupuestoClienteController.AnadirCapitulo(const Tipo: String; ADetalles: IDAStronglyTypedDataTable);
var
ACapitulo: IBizCapitulo;
begin
Self.Add(ADetalles, TIPO_DETALLE_TITULO);
if not ADetalles.DataTable.Editing then
ADetalles.DataTable.Edit;
if Tipo = TIPO_CAPITULO_AF then
begin
(ADetalles as IBizDetallesPresupuestoCliente).TIPO_ARTICULO := Tipo;
(ADetalles as IBizDetallesPresupuestoCliente).CONCEPTO := 'FRENTE DE ARMARIO Nº ';
end
else if Tipo = TIPO_CAPITULO_AI then
begin
(ADetalles as IBizDetallesPresupuestoCliente).TIPO_ARTICULO := Tipo;
(ADetalles as IBizDetallesPresupuestoCliente).CONCEPTO := 'INTERIOR DE ARMARIO Nº ';
end
else if Tipo = TIPO_CAPITULO_B then
begin
(ADetalles as IBizDetallesPresupuestoCliente).TIPO_ARTICULO := Tipo;
(ADetalles as IBizDetallesPresupuestoCliente).CONCEPTO := 'MUEBLE DE BAÑO Nº ';
end
else if Tipo = TIPO_CAPITULO_C then
begin
(ADetalles as IBizDetallesPresupuestoCliente).TIPO_ARTICULO := Tipo;
(ADetalles as IBizDetallesPresupuestoCliente).CONCEPTO := 'MUEBLES DE COCINA ';
end
else if Tipo = TIPO_CAPITULO_E then
begin
(ADetalles as IBizDetallesPresupuestoCliente).TIPO_ARTICULO := Tipo;
(ADetalles as IBizDetallesPresupuestoCliente).CONCEPTO := 'ELECTRODOMÉSTICOS ';
end
else if Tipo = TIPO_CAPITULO_V then
begin
(ADetalles as IBizDetallesPresupuestoCliente).TIPO_ARTICULO := Tipo;
(ADetalles as IBizDetallesPresupuestoCliente).CONCEPTO := 'VARIOS ';
end;
//Rellenamos con las propiedades del capitulo
ACapitulo := FDataModule.GetCapitulo(Tipo);
ACapitulo.DataTable.Active := True;
with ACapitulo.DataTable do
begin
First;
repeat
Self.Add(ADetalles, TIPO_DETALLE_CONCEPTO);
if not ADetalles.DataTable.Editing then
ADetalles.DataTable.Edit;
(ADetalles as IBizDetallesPresupuestoCliente).TIPO_ARTICULO := Tipo;
(ADetalles as IBizDetallesPresupuestoCliente).ID_ARTICULO := ACapitulo.ID_ARTICULO;
Next;
until EOF;
end;
Self.Add(ADetalles, TIPO_DETALLE_SUBTOTAL);
if not ADetalles.DataTable.Editing then
ADetalles.DataTable.Edit;
if Tipo = TIPO_CAPITULO_AF then
begin
(ADetalles as IBizDetallesPresupuestoCliente).TIPO_ARTICULO := Tipo;
(ADetalles as IBizDetallesPresupuestoCliente).CONCEPTO := 'TOTAL FRENTE DE ARMARIO Nº ';
end
else if Tipo = TIPO_CAPITULO_AI then
begin
(ADetalles as IBizDetallesPresupuestoCliente).TIPO_ARTICULO := Tipo;
(ADetalles as IBizDetallesPresupuestoCliente).CONCEPTO := 'TOTAL INTERIOR DE ARMARIO Nº ';
end
else if Tipo = TIPO_CAPITULO_B then
begin
(ADetalles as IBizDetallesPresupuestoCliente).TIPO_ARTICULO := Tipo;
(ADetalles as IBizDetallesPresupuestoCliente).CONCEPTO := 'TOTAL MUEBLE DE BAÑO Nº ';
end
else if Tipo = TIPO_CAPITULO_C then
begin
(ADetalles as IBizDetallesPresupuestoCliente).TIPO_ARTICULO := Tipo;
(ADetalles as IBizDetallesPresupuestoCliente).CONCEPTO := 'TOTAL MUEBLES DE COCINA ';
end
else if Tipo = TIPO_CAPITULO_E then
begin
(ADetalles as IBizDetallesPresupuestoCliente).TIPO_ARTICULO := Tipo;
(ADetalles as IBizDetallesPresupuestoCliente).CONCEPTO := 'TOTAL ELECTRODOMÉSTICOS ';
end
else if Tipo = TIPO_CAPITULO_V then
begin
(ADetalles as IBizDetallesPresupuestoCliente).TIPO_ARTICULO := Tipo;
(ADetalles as IBizDetallesPresupuestoCliente).CONCEPTO := 'TOTAL VARIOS ';
end;
Self.Add(ADetalles, TIPO_DETALLE_CONCEPTO);
// Controller.add(FDetalles, TIPO_DETALLE_DESCUENTO);
end;
procedure TDetallesPresupuestoClienteController.AsignarController; procedure TDetallesPresupuestoClienteController.AsignarController;
begin begin
FArticulosController := TArticulosPresupuestoClienteController.Create; FArticulosController := TArticulosPresupuestoClienteController.Create;
@ -143,6 +249,11 @@ begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf); Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end; end;
function TDetallesPresupuestoClienteController.DarPropiedades: IBizPropiedades;
begin
Result := FDataModule.GetPropiedades;
end;
function TDetallesPresupuestoClienteController.DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double; function TDetallesPresupuestoClienteController.DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
begin begin
Result := DarTotalPorte(ADetalles); Result := DarTotalPorte(ADetalles);
@ -175,6 +286,47 @@ begin
ValidarCamposLineaConcepto(DataTable); ValidarCamposLineaConcepto(DataTable);
end; end;
procedure TDetallesPresupuestoClienteController.ValidarDetalles(ADataTable: IDAStronglyTypedDataTable);
var
AuxTipoArticulo : String;
AuxPosicionIni : Integer;
AuxPosicion : Integer;
begin
inherited;
AuxTipoArticulo := '';
AuxPosicionIni := ADataTable.DataTable.FieldByName(CAMPO_POSICION).AsInteger;
AuxPosicion := 0;
BeginUpdate(ADataTable);
try
ADataTable.DataTable.First;
while ADataTable.DataTable.Locate(CAMPO_POSICION, AuxPosicion, []) do
begin
if (ADataTable.DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_TITULO) then
AuxTipoArticulo := ADataTable.DataTable.FieldByName(fld_CapitulosPresupuestoTIPO_ARTICULO).AsString
else if (ADataTable.DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_SUBTOTAL) then
AuxTipoArticulo := ''
else if (ADataTable.DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_CONCEPTO) then
if (Length(AuxTipoArticulo) > 0) then
begin
if not ADataTable.DataTable.Editing then
ADataTable.DataTable.Edit;
ADataTable.DataTable.FieldByName(fld_CapitulosPresupuestoTIPO_ARTICULO).AsString := AuxTipoArticulo;
ADataTable.DataTable.Post;
end;
Inc(AuxPosicion);
ADataTable.DataTable.First;
end;
finally
//Dejamos el puntero en la misma posición que la que partió
ADataTable.DataTable.Locate(CAMPO_POSICION, AuxPosicionIni, []);
EndUpdate(ADataTable);
end;
end;
procedure TDetallesPresupuestoClienteController.RellenarImportes(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); procedure TDetallesPresupuestoClienteController.RellenarImportes(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
begin begin
//Como en tecsitel no hay descuento por linea de detalle, solo recuperamos nuevamente el valor del articulo cuando el detalle no tenga niguno //Como en tecsitel no hay descuento por linea de detalle, solo recuperamos nuevamente el valor del articulo cuando el detalle no tenga niguno

View File

@ -316,6 +316,11 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente
DataType = datInteger DataType = datInteger
DictionaryEntry = 'PresupuestosCliente_Detalles_ID_ARTICULO' DictionaryEntry = 'PresupuestosCliente_Detalles_ID_ARTICULO'
end end
item
Name = 'TIPO_ARTICULO'
DataType = datString
Size = 2
end
item item
Name = 'DESCUENTO' Name = 'DESCUENTO'
DataType = datFloat DataType = datFloat
@ -392,4 +397,118 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente
Left = 248 Left = 248
Top = 144 Top = 144
end end
object tbl_Propiedades: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'DESCRIPCION'
DataType = datString
Size = 50
end
item
Name = 'ID_PROPIEDAD_VALORES'
DataType = datInteger
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_PresupuestosCliente
LogicalName = 'Propiedades'
IndexDefs = <>
Left = 464
Top = 200
end
object ds_Propiedades: TDADataSource
DataSet = tbl_Propiedades.Dataset
DataTable = tbl_Propiedades
Left = 464
Top = 152
end
object tbl_Valores: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'ID_PROPIEDAD'
DataType = datInteger
end
item
Name = 'DESCRIPCION'
DataType = datString
Size = 2000
end>
Params = <>
MasterMappingMode = mmWhere
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_PresupuestosCliente
MasterSource = ds_Propiedades
MasterFields = 'ID_PROPIEDAD_VALORES'
DetailFields = 'ID_PROPIEDAD'
LogicalName = 'Valores'
IndexDefs = <>
Left = 544
Top = 200
end
object ds_Valores: TDADataSource
DataSet = tbl_Valores.Dataset
DataTable = tbl_Valores
Left = 544
Top = 152
end
object tbl_CapitulosPresupuesto: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 10
end
item
Name = 'TIPO_ARTICULO'
DataType = datString
Size = 2
end
item
Name = 'ID_ARTICULO'
DataType = datInteger
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2000
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_PresupuestosCliente
LogicalName = 'CapitulosPresupuesto'
IndexDefs = <>
Left = 352
Top = 312
end
object ds_CapitulosPresupuesto: TDADataSource
DataSet = tbl_CapitulosPresupuesto.Dataset
DataTable = tbl_CapitulosPresupuesto
Left = 352
Top = 256
end
end end

View File

@ -25,10 +25,17 @@ type
RORemoteService1: TRORemoteService; RORemoteService1: TRORemoteService;
tbl_ListaAnosPresupuestos: TDAMemDataTable; tbl_ListaAnosPresupuestos: TDAMemDataTable;
ds_ListaAnosPresupuestos: TDADataSource; ds_ListaAnosPresupuestos: TDADataSource;
tbl_Propiedades: TDAMemDataTable;
ds_Propiedades: TDADataSource;
tbl_Valores: TDAMemDataTable;
ds_Valores: TDADataSource;
tbl_CapitulosPresupuesto: TDAMemDataTable;
ds_CapitulosPresupuesto: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject); procedure DAClientDataModuleCreate(Sender: TObject);
private private
function _GetDetalles : IBizDetallesPresupuestoCliente; function _GetDetalles : IBizDetallesPresupuestoCliente;
function _GetValores : IBizValores;
protected protected
procedure AsignarClaseNegocio(APresupuesto: TDADataTable); procedure AsignarClaseNegocio(APresupuesto: TDADataTable);
@ -40,6 +47,9 @@ type
function GetItem(const ID : Integer) : IBizPresupuestoCliente; function GetItem(const ID : Integer) : IBizPresupuestoCliente;
function NewItem : IBizPresupuestoCliente; function NewItem : IBizPresupuestoCliente;
function GetPropiedades : IBizPropiedades;
function GetCapitulo(const TIPO_ARTICULO : String) : IBizCapitulo;
// Report // Report
function GetRptPresupuestos(const AListaID: TIntegerList): Binary; function GetRptPresupuestos(const AListaID: TIntegerList): Binary;
function GetRptPDFPresupuesto(const AID: Integer): Binary; function GetRptPDFPresupuesto(const AID: Integer): Binary;
@ -129,6 +139,24 @@ begin
end; end;
end; end;
function TDataModulePresupuestosCliente._GetValores: IBizValores;
var
AValores : TDAMemDataTable;
begin
ShowHourglassCursor;
try
AValores := CloneDataTable(tbl_Valores);
with AValores do
begin
BusinessRulesID := BIZ_CLIENT_VALORES;
DetailOptions := DetailOptions - [dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates];
end;
Result := (AValores as IBizValores);
finally
HideHourglassCursor;
end;
end;
function TDataModulePresupuestosCliente.GetAnosItems: TStringList; function TDataModulePresupuestosCliente.GetAnosItems: TStringList;
var var
AListaAnos: TStringList; AListaAnos: TStringList;
@ -153,6 +181,33 @@ begin
end; end;
end; end;
function TDataModulePresupuestosCliente.GetCapitulo(const TIPO_ARTICULO: String): IBizCapitulo;
var
ACapitulo: TDAMemDataTable;
Condicion: TDAWhereExpression;
begin
ShowHourglassCursor;
try
ACapitulo := CloneDataTable(tbl_CapitulosPresupuesto);
ACapitulo.BusinessRulesID := BIZ_CLIENT_CAPITULOS;
Result := (ACapitulo as IBizCapitulo);
with Result.DataTable.DynamicWhere do
begin
// (ID = :ID)
Condicion := NewBinaryExpression(NewField('', fld_CapitulosPresupuestoTIPO_ARTICULO), NewConstant(TIPO_ARTICULO, datString), dboEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
finally
HideHourglassCursor;
end;
end;
function TDataModulePresupuestosCliente.GetItem(const ID: Integer): IBizPresupuestoCliente; function TDataModulePresupuestosCliente.GetItem(const ID: Integer): IBizPresupuestoCliente;
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;
@ -212,6 +267,26 @@ begin
end; end;
end; end;
function TDataModulePresupuestosCliente.GetPropiedades: IBizPropiedades;
var
APropiedades: TDAMemDataTable;
begin
ShowHourglassCursor;
try
APropiedades := CloneDataTable(tbl_Propiedades);
APropiedades.BusinessRulesID := BIZ_CLIENT_PROPIEDADES;
with TBizPropiedades(APropiedades.BusinessEventsObj) do
Valores := _GetValores;
Result := (APropiedades as IBizPropiedades);
finally
HideHourglassCursor;
end;
end;
function TDataModulePresupuestosCliente.GetItems: IBizPresupuestoCliente; function TDataModulePresupuestosCliente.GetItems: IBizPresupuestoCliente;
var var
APresupuesto: TDAMemDataTable; APresupuesto: TDAMemDataTable;

View File

@ -14,6 +14,8 @@ type
function GetItems(const AListaID: TIntegerList) : IBizPresupuestoCliente; overload; function GetItems(const AListaID: TIntegerList) : IBizPresupuestoCliente; overload;
function GetItem(const ID : Integer) : IBizPresupuestoCliente; function GetItem(const ID : Integer) : IBizPresupuestoCliente;
function NewItem : IBizPresupuestoCliente; function NewItem : IBizPresupuestoCliente;
function GetPropiedades : IBizPropiedades;
function GetCapitulo(const TIPO_ARTICULO : String) : IBizCapitulo;
end; end;
implementation implementation

View File

@ -3,21 +3,47 @@ unit schPresupuestosClienteClient_Intf;
interface interface
uses uses
Classes, DB, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf; Classes, DB, schBase_Intf, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf;
const const
{ Data table rules ids { Data table rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_ListaAnosPresupuestos = '{B0454D84-B7A8-4194-A5B2-75D79AB70CA3}'; RID_Valores = '{C5993A8B-3E6C-4871-878E-47FB8ED805C1}';
RID_PresupuestosCliente = '{746DFD3C-12AD-4367-AB81-DA94F352BBC2}'; RID_Propiedades = '{9BA1781F-22CD-4D3E-A7D1-1578EE09FC4F}';
RID_PresupuestosCliente_Detalles = '{C4E900F6-CE61-40B1-B76D-EA0287E40486}'; RID_ListaAnosPresupuestos = '{CDF679B5-B9D4-4A8F-93DC-397564318682}';
RID_PresupuestosCliente = '{F79B0E2C-982D-4E17-8E84-E6B152A15807}';
RID_CapitulosPresupuesto = '{651643EB-82F6-4A38-8FD0-88C804F4485E}';
RID_PresupuestosCliente_Detalles = '{84CA7703-3062-408F-93AB-8D40EE59277C}';
{ Data table names } { Data table names }
nme_Valores = 'Valores';
nme_Propiedades = 'Propiedades';
nme_ListaAnosPresupuestos = 'ListaAnosPresupuestos'; nme_ListaAnosPresupuestos = 'ListaAnosPresupuestos';
nme_PresupuestosCliente = 'PresupuestosCliente'; nme_PresupuestosCliente = 'PresupuestosCliente';
nme_CapitulosPresupuesto = 'CapitulosPresupuesto';
nme_PresupuestosCliente_Detalles = 'PresupuestosCliente_Detalles'; nme_PresupuestosCliente_Detalles = 'PresupuestosCliente_Detalles';
{ Valores fields }
fld_ValoresID = 'ID';
fld_ValoresID_PROPIEDAD = 'ID_PROPIEDAD';
fld_ValoresDESCRIPCION = 'DESCRIPCION';
{ Valores field indexes }
idx_ValoresID = 0;
idx_ValoresID_PROPIEDAD = 1;
idx_ValoresDESCRIPCION = 2;
{ Propiedades fields }
fld_PropiedadesID = 'ID';
fld_PropiedadesDESCRIPCION = 'DESCRIPCION';
fld_PropiedadesID_PROPIEDAD_VALORES = 'ID_PROPIEDAD_VALORES';
{ Propiedades field indexes }
idx_PropiedadesID = 0;
idx_PropiedadesDESCRIPCION = 1;
idx_PropiedadesID_PROPIEDAD_VALORES = 2;
{ ListaAnosPresupuestos fields } { ListaAnosPresupuestos fields }
fld_ListaAnosPresupuestosANO = 'ANO'; fld_ListaAnosPresupuestosANO = 'ANO';
@ -102,6 +128,22 @@ const
idx_PresupuestosClienteID_VENDEDOR = 35; idx_PresupuestosClienteID_VENDEDOR = 35;
idx_PresupuestosClienteVENDEDOR = 36; idx_PresupuestosClienteVENDEDOR = 36;
{ CapitulosPresupuesto fields }
fld_CapitulosPresupuestoID = 'ID';
fld_CapitulosPresupuestoPOSICION = 'POSICION';
fld_CapitulosPresupuestoTIPO_DETALLE = 'TIPO_DETALLE';
fld_CapitulosPresupuestoTIPO_ARTICULO = 'TIPO_ARTICULO';
fld_CapitulosPresupuestoID_ARTICULO = 'ID_ARTICULO';
fld_CapitulosPresupuestoCONCEPTO = 'CONCEPTO';
{ CapitulosPresupuesto field indexes }
idx_CapitulosPresupuestoID = 0;
idx_CapitulosPresupuestoPOSICION = 1;
idx_CapitulosPresupuestoTIPO_DETALLE = 2;
idx_CapitulosPresupuestoTIPO_ARTICULO = 3;
idx_CapitulosPresupuestoID_ARTICULO = 4;
idx_CapitulosPresupuestoCONCEPTO = 5;
{ PresupuestosCliente_Detalles fields } { PresupuestosCliente_Detalles fields }
fld_PresupuestosCliente_DetallesID = 'ID'; fld_PresupuestosCliente_DetallesID = 'ID';
fld_PresupuestosCliente_DetallesID_PRESUPUESTO = 'ID_PRESUPUESTO'; fld_PresupuestosCliente_DetallesID_PRESUPUESTO = 'ID_PRESUPUESTO';
@ -113,6 +155,7 @@ const
fld_PresupuestosCliente_DetallesIMPORTE_TOTAL = 'IMPORTE_TOTAL'; fld_PresupuestosCliente_DetallesIMPORTE_TOTAL = 'IMPORTE_TOTAL';
fld_PresupuestosCliente_DetallesVISIBLE = 'VISIBLE'; fld_PresupuestosCliente_DetallesVISIBLE = 'VISIBLE';
fld_PresupuestosCliente_DetallesID_ARTICULO = 'ID_ARTICULO'; fld_PresupuestosCliente_DetallesID_ARTICULO = 'ID_ARTICULO';
fld_PresupuestosCliente_DetallesTIPO_ARTICULO = 'TIPO_ARTICULO';
fld_PresupuestosCliente_DetallesDESCUENTO = 'DESCUENTO'; fld_PresupuestosCliente_DetallesDESCUENTO = 'DESCUENTO';
fld_PresupuestosCliente_DetallesIMPORTE_PORTE = 'IMPORTE_PORTE'; fld_PresupuestosCliente_DetallesIMPORTE_PORTE = 'IMPORTE_PORTE';
fld_PresupuestosCliente_DetallesREFERENCIA = 'REFERENCIA'; fld_PresupuestosCliente_DetallesREFERENCIA = 'REFERENCIA';
@ -129,15 +172,134 @@ const
idx_PresupuestosCliente_DetallesIMPORTE_TOTAL = 7; idx_PresupuestosCliente_DetallesIMPORTE_TOTAL = 7;
idx_PresupuestosCliente_DetallesVISIBLE = 8; idx_PresupuestosCliente_DetallesVISIBLE = 8;
idx_PresupuestosCliente_DetallesID_ARTICULO = 9; idx_PresupuestosCliente_DetallesID_ARTICULO = 9;
idx_PresupuestosCliente_DetallesDESCUENTO = 10; idx_PresupuestosCliente_DetallesTIPO_ARTICULO = 10;
idx_PresupuestosCliente_DetallesIMPORTE_PORTE = 11; idx_PresupuestosCliente_DetallesDESCUENTO = 11;
idx_PresupuestosCliente_DetallesREFERENCIA = 12; idx_PresupuestosCliente_DetallesIMPORTE_PORTE = 12;
idx_PresupuestosCliente_DetallesREFERENCIA_PROVEEDOR = 13; idx_PresupuestosCliente_DetallesREFERENCIA = 13;
idx_PresupuestosCliente_DetallesREFERENCIA_PROVEEDOR = 14;
type type
{ IValores }
IValores = interface(IDAStronglyTypedDataTable)
['{F423E8B0-7F9B-4B9C-A92A-009847C5E9A3}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
function GetIDIsNull: Boolean;
procedure SetIDIsNull(const aValue: Boolean);
function GetID_PROPIEDADValue: Integer;
procedure SetID_PROPIEDADValue(const aValue: Integer);
function GetID_PROPIEDADIsNull: Boolean;
procedure SetID_PROPIEDADIsNull(const aValue: Boolean);
function GetDESCRIPCIONValue: String;
procedure SetDESCRIPCIONValue(const aValue: String);
function GetDESCRIPCIONIsNull: Boolean;
procedure SetDESCRIPCIONIsNull(const aValue: Boolean);
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
property ID_PROPIEDAD: Integer read GetID_PROPIEDADValue write SetID_PROPIEDADValue;
property ID_PROPIEDADIsNull: Boolean read GetID_PROPIEDADIsNull write SetID_PROPIEDADIsNull;
property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
end;
{ TValoresDataTableRules }
TValoresDataTableRules = class(TIntfObjectDADataTableRules, IValores)
private
protected
{ Property getters and setters }
function GetIDValue: Integer; virtual;
procedure SetIDValue(const aValue: Integer); virtual;
function GetIDIsNull: Boolean; virtual;
procedure SetIDIsNull(const aValue: Boolean); virtual;
function GetID_PROPIEDADValue: Integer; virtual;
procedure SetID_PROPIEDADValue(const aValue: Integer); virtual;
function GetID_PROPIEDADIsNull: Boolean; virtual;
procedure SetID_PROPIEDADIsNull(const aValue: Boolean); virtual;
function GetDESCRIPCIONValue: String; virtual;
procedure SetDESCRIPCIONValue(const aValue: String); virtual;
function GetDESCRIPCIONIsNull: Boolean; virtual;
procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
property ID_PROPIEDAD: Integer read GetID_PROPIEDADValue write SetID_PROPIEDADValue;
property ID_PROPIEDADIsNull: Boolean read GetID_PROPIEDADIsNull write SetID_PROPIEDADIsNull;
property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
{ IPropiedades }
IPropiedades = interface(IDAStronglyTypedDataTable)
['{FC020EA7-B72D-41F6-BC85-10AFE032D354}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
function GetIDIsNull: Boolean;
procedure SetIDIsNull(const aValue: Boolean);
function GetDESCRIPCIONValue: String;
procedure SetDESCRIPCIONValue(const aValue: String);
function GetDESCRIPCIONIsNull: Boolean;
procedure SetDESCRIPCIONIsNull(const aValue: Boolean);
function GetID_PROPIEDAD_VALORESValue: Integer;
procedure SetID_PROPIEDAD_VALORESValue(const aValue: Integer);
function GetID_PROPIEDAD_VALORESIsNull: Boolean;
procedure SetID_PROPIEDAD_VALORESIsNull(const aValue: Boolean);
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
property ID_PROPIEDAD_VALORES: Integer read GetID_PROPIEDAD_VALORESValue write SetID_PROPIEDAD_VALORESValue;
property ID_PROPIEDAD_VALORESIsNull: Boolean read GetID_PROPIEDAD_VALORESIsNull write SetID_PROPIEDAD_VALORESIsNull;
end;
{ TPropiedadesDataTableRules }
TPropiedadesDataTableRules = class(TIntfObjectDADataTableRules, IPropiedades)
private
protected
{ Property getters and setters }
function GetIDValue: Integer; virtual;
procedure SetIDValue(const aValue: Integer); virtual;
function GetIDIsNull: Boolean; virtual;
procedure SetIDIsNull(const aValue: Boolean); virtual;
function GetDESCRIPCIONValue: String; virtual;
procedure SetDESCRIPCIONValue(const aValue: String); virtual;
function GetDESCRIPCIONIsNull: Boolean; virtual;
procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
function GetID_PROPIEDAD_VALORESValue: Integer; virtual;
procedure SetID_PROPIEDAD_VALORESValue(const aValue: Integer); virtual;
function GetID_PROPIEDAD_VALORESIsNull: Boolean; virtual;
procedure SetID_PROPIEDAD_VALORESIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
property ID_PROPIEDAD_VALORES: Integer read GetID_PROPIEDAD_VALORESValue write SetID_PROPIEDAD_VALORESValue;
property ID_PROPIEDAD_VALORESIsNull: Boolean read GetID_PROPIEDAD_VALORESIsNull write SetID_PROPIEDAD_VALORESIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
{ IListaAnosPresupuestos } { IListaAnosPresupuestos }
IListaAnosPresupuestos = interface(IDAStronglyTypedDataTable) IListaAnosPresupuestos = interface(IDAStronglyTypedDataTable)
['{B65AF5A6-38BA-4E39-97D4-D4D3579E7570}'] ['{AB684A42-83BD-4F0E-B551-F19E11AA24B7}']
{ Property getters and setters } { Property getters and setters }
function GetANOValue: String; function GetANOValue: String;
procedure SetANOValue(const aValue: String); procedure SetANOValue(const aValue: String);
@ -151,7 +313,7 @@ type
end; end;
{ TListaAnosPresupuestosDataTableRules } { TListaAnosPresupuestosDataTableRules }
TListaAnosPresupuestosDataTableRules = class(TDADataTableRules, IListaAnosPresupuestos) TListaAnosPresupuestosDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosPresupuestos)
private private
protected protected
{ Property getters and setters } { Property getters and setters }
@ -172,7 +334,7 @@ type
{ IPresupuestosCliente } { IPresupuestosCliente }
IPresupuestosCliente = interface(IDAStronglyTypedDataTable) IPresupuestosCliente = interface(IDAStronglyTypedDataTable)
['{AE41AFD3-1C89-4794-8BB0-FC78778EAA7F}'] ['{45386A77-9063-4C4E-8D64-73C147089189}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -398,7 +560,7 @@ type
end; end;
{ TPresupuestosClienteDataTableRules } { TPresupuestosClienteDataTableRules }
TPresupuestosClienteDataTableRules = class(TDADataTableRules, IPresupuestosCliente) TPresupuestosClienteDataTableRules = class(TIntfObjectDADataTableRules, IPresupuestosCliente)
private private
f_FORMA_PAGO: IROStrings; f_FORMA_PAGO: IROStrings;
f_PLAZO_ENTREGA: IROStrings; f_PLAZO_ENTREGA: IROStrings;
@ -637,9 +799,104 @@ type
end; end;
{ ICapitulosPresupuesto }
ICapitulosPresupuesto = interface(IDAStronglyTypedDataTable)
['{1E76F94D-25C4-44F6-A346-EF57A175F6D9}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
function GetIDIsNull: Boolean;
procedure SetIDIsNull(const aValue: Boolean);
function GetPOSICIONValue: Integer;
procedure SetPOSICIONValue(const aValue: Integer);
function GetPOSICIONIsNull: Boolean;
procedure SetPOSICIONIsNull(const aValue: Boolean);
function GetTIPO_DETALLEValue: String;
procedure SetTIPO_DETALLEValue(const aValue: String);
function GetTIPO_DETALLEIsNull: Boolean;
procedure SetTIPO_DETALLEIsNull(const aValue: Boolean);
function GetTIPO_ARTICULOValue: String;
procedure SetTIPO_ARTICULOValue(const aValue: String);
function GetTIPO_ARTICULOIsNull: Boolean;
procedure SetTIPO_ARTICULOIsNull(const aValue: Boolean);
function GetID_ARTICULOValue: Integer;
procedure SetID_ARTICULOValue(const aValue: Integer);
function GetID_ARTICULOIsNull: Boolean;
procedure SetID_ARTICULOIsNull(const aValue: Boolean);
function GetCONCEPTOValue: String;
procedure SetCONCEPTOValue(const aValue: String);
function GetCONCEPTOIsNull: Boolean;
procedure SetCONCEPTOIsNull(const aValue: Boolean);
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
property TIPO_ARTICULO: String read GetTIPO_ARTICULOValue write SetTIPO_ARTICULOValue;
property TIPO_ARTICULOIsNull: Boolean read GetTIPO_ARTICULOIsNull write SetTIPO_ARTICULOIsNull;
property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
end;
{ TCapitulosPresupuestoDataTableRules }
TCapitulosPresupuestoDataTableRules = class(TIntfObjectDADataTableRules, ICapitulosPresupuesto)
private
protected
{ Property getters and setters }
function GetIDValue: Integer; virtual;
procedure SetIDValue(const aValue: Integer); virtual;
function GetIDIsNull: Boolean; virtual;
procedure SetIDIsNull(const aValue: Boolean); virtual;
function GetPOSICIONValue: Integer; virtual;
procedure SetPOSICIONValue(const aValue: Integer); virtual;
function GetPOSICIONIsNull: Boolean; virtual;
procedure SetPOSICIONIsNull(const aValue: Boolean); virtual;
function GetTIPO_DETALLEValue: String; virtual;
procedure SetTIPO_DETALLEValue(const aValue: String); virtual;
function GetTIPO_DETALLEIsNull: Boolean; virtual;
procedure SetTIPO_DETALLEIsNull(const aValue: Boolean); virtual;
function GetTIPO_ARTICULOValue: String; virtual;
procedure SetTIPO_ARTICULOValue(const aValue: String); virtual;
function GetTIPO_ARTICULOIsNull: Boolean; virtual;
procedure SetTIPO_ARTICULOIsNull(const aValue: Boolean); virtual;
function GetID_ARTICULOValue: Integer; virtual;
procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
function GetID_ARTICULOIsNull: Boolean; virtual;
procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
function GetCONCEPTOValue: String; virtual;
procedure SetCONCEPTOValue(const aValue: String); virtual;
function GetCONCEPTOIsNull: Boolean; virtual;
procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
property POSICION: Integer read GetPOSICIONValue write SetPOSICIONValue;
property POSICIONIsNull: Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
property TIPO_DETALLE: String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
property TIPO_DETALLEIsNull: Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
property TIPO_ARTICULO: String read GetTIPO_ARTICULOValue write SetTIPO_ARTICULOValue;
property TIPO_ARTICULOIsNull: Boolean read GetTIPO_ARTICULOIsNull write SetTIPO_ARTICULOIsNull;
property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
property CONCEPTO: String read GetCONCEPTOValue write SetCONCEPTOValue;
property CONCEPTOIsNull: Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
{ IPresupuestosCliente_Detalles } { IPresupuestosCliente_Detalles }
IPresupuestosCliente_Detalles = interface(IDAStronglyTypedDataTable) IPresupuestosCliente_Detalles = interface(IDAStronglyTypedDataTable)
['{C07FE248-6E62-4DE1-8FB1-21C7D5F98C70}'] ['{550DF097-A1EC-43E5-9B5C-E773B563125E}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -681,6 +938,10 @@ type
procedure SetID_ARTICULOValue(const aValue: Integer); procedure SetID_ARTICULOValue(const aValue: Integer);
function GetID_ARTICULOIsNull: Boolean; function GetID_ARTICULOIsNull: Boolean;
procedure SetID_ARTICULOIsNull(const aValue: Boolean); procedure SetID_ARTICULOIsNull(const aValue: Boolean);
function GetTIPO_ARTICULOValue: String;
procedure SetTIPO_ARTICULOValue(const aValue: String);
function GetTIPO_ARTICULOIsNull: Boolean;
procedure SetTIPO_ARTICULOIsNull(const aValue: Boolean);
function GetDESCUENTOValue: Float; function GetDESCUENTOValue: Float;
procedure SetDESCUENTOValue(const aValue: Float); procedure SetDESCUENTOValue(const aValue: Float);
function GetDESCUENTOIsNull: Boolean; function GetDESCUENTOIsNull: Boolean;
@ -720,6 +981,8 @@ type
property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull; property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue; property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull; property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
property TIPO_ARTICULO: String read GetTIPO_ARTICULOValue write SetTIPO_ARTICULOValue;
property TIPO_ARTICULOIsNull: Boolean read GetTIPO_ARTICULOIsNull write SetTIPO_ARTICULOIsNull;
property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue; property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull; property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue; property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
@ -731,7 +994,7 @@ type
end; end;
{ TPresupuestosCliente_DetallesDataTableRules } { TPresupuestosCliente_DetallesDataTableRules }
TPresupuestosCliente_DetallesDataTableRules = class(TDADataTableRules, IPresupuestosCliente_Detalles) TPresupuestosCliente_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IPresupuestosCliente_Detalles)
private private
protected protected
{ Property getters and setters } { Property getters and setters }
@ -775,6 +1038,10 @@ type
procedure SetID_ARTICULOValue(const aValue: Integer); virtual; procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
function GetID_ARTICULOIsNull: Boolean; virtual; function GetID_ARTICULOIsNull: Boolean; virtual;
procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual; procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
function GetTIPO_ARTICULOValue: String; virtual;
procedure SetTIPO_ARTICULOValue(const aValue: String); virtual;
function GetTIPO_ARTICULOIsNull: Boolean; virtual;
procedure SetTIPO_ARTICULOIsNull(const aValue: Boolean); virtual;
function GetDESCUENTOValue: Float; virtual; function GetDESCUENTOValue: Float; virtual;
procedure SetDESCUENTOValue(const aValue: Float); virtual; procedure SetDESCUENTOValue(const aValue: Float); virtual;
function GetDESCUENTOIsNull: Boolean; virtual; function GetDESCUENTOIsNull: Boolean; virtual;
@ -813,6 +1080,8 @@ type
property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull; property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue; property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull; property ID_ARTICULOIsNull: Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
property TIPO_ARTICULO: String read GetTIPO_ARTICULOValue write SetTIPO_ARTICULOValue;
property TIPO_ARTICULOIsNull: Boolean read GetTIPO_ARTICULOIsNull write SetTIPO_ARTICULOIsNull;
property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue; property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull; property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue; property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
@ -832,6 +1101,156 @@ implementation
uses Variants, uROBinaryHelpers; uses Variants, uROBinaryHelpers;
{ TValoresDataTableRules }
constructor TValoresDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
end;
destructor TValoresDataTableRules.Destroy;
begin
inherited;
end;
function TValoresDataTableRules.GetIDValue: Integer;
begin
result := DataTable.Fields[idx_ValoresID].AsInteger;
end;
procedure TValoresDataTableRules.SetIDValue(const aValue: Integer);
begin
DataTable.Fields[idx_ValoresID].AsInteger := aValue;
end;
function TValoresDataTableRules.GetIDIsNull: boolean;
begin
result := DataTable.Fields[idx_ValoresID].IsNull;
end;
procedure TValoresDataTableRules.SetIDIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_ValoresID].AsVariant := Null;
end;
function TValoresDataTableRules.GetID_PROPIEDADValue: Integer;
begin
result := DataTable.Fields[idx_ValoresID_PROPIEDAD].AsInteger;
end;
procedure TValoresDataTableRules.SetID_PROPIEDADValue(const aValue: Integer);
begin
DataTable.Fields[idx_ValoresID_PROPIEDAD].AsInteger := aValue;
end;
function TValoresDataTableRules.GetID_PROPIEDADIsNull: boolean;
begin
result := DataTable.Fields[idx_ValoresID_PROPIEDAD].IsNull;
end;
procedure TValoresDataTableRules.SetID_PROPIEDADIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_ValoresID_PROPIEDAD].AsVariant := Null;
end;
function TValoresDataTableRules.GetDESCRIPCIONValue: String;
begin
result := DataTable.Fields[idx_ValoresDESCRIPCION].AsString;
end;
procedure TValoresDataTableRules.SetDESCRIPCIONValue(const aValue: String);
begin
DataTable.Fields[idx_ValoresDESCRIPCION].AsString := aValue;
end;
function TValoresDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
result := DataTable.Fields[idx_ValoresDESCRIPCION].IsNull;
end;
procedure TValoresDataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_ValoresDESCRIPCION].AsVariant := Null;
end;
{ TPropiedadesDataTableRules }
constructor TPropiedadesDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
end;
destructor TPropiedadesDataTableRules.Destroy;
begin
inherited;
end;
function TPropiedadesDataTableRules.GetIDValue: Integer;
begin
result := DataTable.Fields[idx_PropiedadesID].AsInteger;
end;
procedure TPropiedadesDataTableRules.SetIDValue(const aValue: Integer);
begin
DataTable.Fields[idx_PropiedadesID].AsInteger := aValue;
end;
function TPropiedadesDataTableRules.GetIDIsNull: boolean;
begin
result := DataTable.Fields[idx_PropiedadesID].IsNull;
end;
procedure TPropiedadesDataTableRules.SetIDIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_PropiedadesID].AsVariant := Null;
end;
function TPropiedadesDataTableRules.GetDESCRIPCIONValue: String;
begin
result := DataTable.Fields[idx_PropiedadesDESCRIPCION].AsString;
end;
procedure TPropiedadesDataTableRules.SetDESCRIPCIONValue(const aValue: String);
begin
DataTable.Fields[idx_PropiedadesDESCRIPCION].AsString := aValue;
end;
function TPropiedadesDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
result := DataTable.Fields[idx_PropiedadesDESCRIPCION].IsNull;
end;
procedure TPropiedadesDataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_PropiedadesDESCRIPCION].AsVariant := Null;
end;
function TPropiedadesDataTableRules.GetID_PROPIEDAD_VALORESValue: Integer;
begin
result := DataTable.Fields[idx_PropiedadesID_PROPIEDAD_VALORES].AsInteger;
end;
procedure TPropiedadesDataTableRules.SetID_PROPIEDAD_VALORESValue(const aValue: Integer);
begin
DataTable.Fields[idx_PropiedadesID_PROPIEDAD_VALORES].AsInteger := aValue;
end;
function TPropiedadesDataTableRules.GetID_PROPIEDAD_VALORESIsNull: boolean;
begin
result := DataTable.Fields[idx_PropiedadesID_PROPIEDAD_VALORES].IsNull;
end;
procedure TPropiedadesDataTableRules.SetID_PROPIEDAD_VALORESIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_PropiedadesID_PROPIEDAD_VALORES].AsVariant := Null;
end;
{ TListaAnosPresupuestosDataTableRules } { TListaAnosPresupuestosDataTableRules }
constructor TListaAnosPresupuestosDataTableRules.Create(aDataTable: TDADataTable); constructor TListaAnosPresupuestosDataTableRules.Create(aDataTable: TDADataTable);
begin begin
@ -1676,6 +2095,144 @@ begin
end; end;
{ TCapitulosPresupuestoDataTableRules }
constructor TCapitulosPresupuestoDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
end;
destructor TCapitulosPresupuestoDataTableRules.Destroy;
begin
inherited;
end;
function TCapitulosPresupuestoDataTableRules.GetIDValue: Integer;
begin
result := DataTable.Fields[idx_CapitulosPresupuestoID].AsInteger;
end;
procedure TCapitulosPresupuestoDataTableRules.SetIDValue(const aValue: Integer);
begin
DataTable.Fields[idx_CapitulosPresupuestoID].AsInteger := aValue;
end;
function TCapitulosPresupuestoDataTableRules.GetIDIsNull: boolean;
begin
result := DataTable.Fields[idx_CapitulosPresupuestoID].IsNull;
end;
procedure TCapitulosPresupuestoDataTableRules.SetIDIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_CapitulosPresupuestoID].AsVariant := Null;
end;
function TCapitulosPresupuestoDataTableRules.GetPOSICIONValue: Integer;
begin
result := DataTable.Fields[idx_CapitulosPresupuestoPOSICION].AsInteger;
end;
procedure TCapitulosPresupuestoDataTableRules.SetPOSICIONValue(const aValue: Integer);
begin
DataTable.Fields[idx_CapitulosPresupuestoPOSICION].AsInteger := aValue;
end;
function TCapitulosPresupuestoDataTableRules.GetPOSICIONIsNull: boolean;
begin
result := DataTable.Fields[idx_CapitulosPresupuestoPOSICION].IsNull;
end;
procedure TCapitulosPresupuestoDataTableRules.SetPOSICIONIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_CapitulosPresupuestoPOSICION].AsVariant := Null;
end;
function TCapitulosPresupuestoDataTableRules.GetTIPO_DETALLEValue: String;
begin
result := DataTable.Fields[idx_CapitulosPresupuestoTIPO_DETALLE].AsString;
end;
procedure TCapitulosPresupuestoDataTableRules.SetTIPO_DETALLEValue(const aValue: String);
begin
DataTable.Fields[idx_CapitulosPresupuestoTIPO_DETALLE].AsString := aValue;
end;
function TCapitulosPresupuestoDataTableRules.GetTIPO_DETALLEIsNull: boolean;
begin
result := DataTable.Fields[idx_CapitulosPresupuestoTIPO_DETALLE].IsNull;
end;
procedure TCapitulosPresupuestoDataTableRules.SetTIPO_DETALLEIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_CapitulosPresupuestoTIPO_DETALLE].AsVariant := Null;
end;
function TCapitulosPresupuestoDataTableRules.GetTIPO_ARTICULOValue: String;
begin
result := DataTable.Fields[idx_CapitulosPresupuestoTIPO_ARTICULO].AsString;
end;
procedure TCapitulosPresupuestoDataTableRules.SetTIPO_ARTICULOValue(const aValue: String);
begin
DataTable.Fields[idx_CapitulosPresupuestoTIPO_ARTICULO].AsString := aValue;
end;
function TCapitulosPresupuestoDataTableRules.GetTIPO_ARTICULOIsNull: boolean;
begin
result := DataTable.Fields[idx_CapitulosPresupuestoTIPO_ARTICULO].IsNull;
end;
procedure TCapitulosPresupuestoDataTableRules.SetTIPO_ARTICULOIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_CapitulosPresupuestoTIPO_ARTICULO].AsVariant := Null;
end;
function TCapitulosPresupuestoDataTableRules.GetID_ARTICULOValue: Integer;
begin
result := DataTable.Fields[idx_CapitulosPresupuestoID_ARTICULO].AsInteger;
end;
procedure TCapitulosPresupuestoDataTableRules.SetID_ARTICULOValue(const aValue: Integer);
begin
DataTable.Fields[idx_CapitulosPresupuestoID_ARTICULO].AsInteger := aValue;
end;
function TCapitulosPresupuestoDataTableRules.GetID_ARTICULOIsNull: boolean;
begin
result := DataTable.Fields[idx_CapitulosPresupuestoID_ARTICULO].IsNull;
end;
procedure TCapitulosPresupuestoDataTableRules.SetID_ARTICULOIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_CapitulosPresupuestoID_ARTICULO].AsVariant := Null;
end;
function TCapitulosPresupuestoDataTableRules.GetCONCEPTOValue: String;
begin
result := DataTable.Fields[idx_CapitulosPresupuestoCONCEPTO].AsString;
end;
procedure TCapitulosPresupuestoDataTableRules.SetCONCEPTOValue(const aValue: String);
begin
DataTable.Fields[idx_CapitulosPresupuestoCONCEPTO].AsString := aValue;
end;
function TCapitulosPresupuestoDataTableRules.GetCONCEPTOIsNull: boolean;
begin
result := DataTable.Fields[idx_CapitulosPresupuestoCONCEPTO].IsNull;
end;
procedure TCapitulosPresupuestoDataTableRules.SetCONCEPTOIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_CapitulosPresupuestoCONCEPTO].AsVariant := Null;
end;
{ TPresupuestosCliente_DetallesDataTableRules } { TPresupuestosCliente_DetallesDataTableRules }
constructor TPresupuestosCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable); constructor TPresupuestosCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable);
begin begin
@ -1897,6 +2454,27 @@ begin
DataTable.Fields[idx_PresupuestosCliente_DetallesID_ARTICULO].AsVariant := Null; DataTable.Fields[idx_PresupuestosCliente_DetallesID_ARTICULO].AsVariant := Null;
end; end;
function TPresupuestosCliente_DetallesDataTableRules.GetTIPO_ARTICULOValue: String;
begin
result := DataTable.Fields[idx_PresupuestosCliente_DetallesTIPO_ARTICULO].AsString;
end;
procedure TPresupuestosCliente_DetallesDataTableRules.SetTIPO_ARTICULOValue(const aValue: String);
begin
DataTable.Fields[idx_PresupuestosCliente_DetallesTIPO_ARTICULO].AsString := aValue;
end;
function TPresupuestosCliente_DetallesDataTableRules.GetTIPO_ARTICULOIsNull: boolean;
begin
result := DataTable.Fields[idx_PresupuestosCliente_DetallesTIPO_ARTICULO].IsNull;
end;
procedure TPresupuestosCliente_DetallesDataTableRules.SetTIPO_ARTICULOIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_PresupuestosCliente_DetallesTIPO_ARTICULO].AsVariant := Null;
end;
function TPresupuestosCliente_DetallesDataTableRules.GetDESCUENTOValue: Float; function TPresupuestosCliente_DetallesDataTableRules.GetDESCUENTOValue: Float;
begin begin
result := DataTable.Fields[idx_PresupuestosCliente_DetallesDESCUENTO].AsFloat; result := DataTable.Fields[idx_PresupuestosCliente_DetallesDESCUENTO].AsFloat;
@ -1983,8 +2561,11 @@ end;
initialization initialization
RegisterDataTableRules(RID_Valores, TValoresDataTableRules);
RegisterDataTableRules(RID_Propiedades, TPropiedadesDataTableRules);
RegisterDataTableRules(RID_ListaAnosPresupuestos, TListaAnosPresupuestosDataTableRules); RegisterDataTableRules(RID_ListaAnosPresupuestos, TListaAnosPresupuestosDataTableRules);
RegisterDataTableRules(RID_PresupuestosCliente, TPresupuestosClienteDataTableRules); RegisterDataTableRules(RID_PresupuestosCliente, TPresupuestosClienteDataTableRules);
RegisterDataTableRules(RID_CapitulosPresupuesto, TCapitulosPresupuestoDataTableRules);
RegisterDataTableRules(RID_PresupuestosCliente_Detalles, TPresupuestosCliente_DetallesDataTableRules); RegisterDataTableRules(RID_PresupuestosCliente_Detalles, TPresupuestosCliente_DetallesDataTableRules);
end. end.

View File

@ -9,14 +9,133 @@ const
{ Delta rules ids { Delta rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_ListaAnosPresupuestosDelta = '{C0E576AC-EDE7-48ED-A670-B12C85993697}'; RID_ValoresDelta = '{5DD68DF6-F287-4254-A0BF-57610C44D2CC}';
RID_PresupuestosClienteDelta = '{AFE73DB5-62C6-4B97-BE48-FD4AAA29C0FA}'; RID_PropiedadesDelta = '{F9FFDD61-B8D7-4C71-A1C2-A5D112ADA42B}';
RID_PresupuestosCliente_DetallesDelta = '{86E2BED4-A5BE-4658-84B3-311884C8B5C9}'; RID_ListaAnosPresupuestosDelta = '{DC8A9D27-E569-43CB-8D57-75104AC6C3B5}';
RID_PresupuestosClienteDelta = '{52C7EC13-8283-42F0-B3D9-FB9EE4B7D7D7}';
RID_CapitulosPresupuestoDelta = '{33917E78-DCD8-44D9-B42B-2E35D906DFB2}';
RID_PresupuestosCliente_DetallesDelta = '{64F84CC2-64BE-4AE4-A2EF-9CE09ECB2773}';
type type
{ IValoresDelta }
IValoresDelta = interface(IValores)
['{5DD68DF6-F287-4254-A0BF-57610C44D2CC}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_PROPIEDADValue : Integer;
function GetOldDESCRIPCIONValue : String;
{ Properties }
property OldID : Integer read GetOldIDValue;
property OldID_PROPIEDAD : Integer read GetOldID_PROPIEDADValue;
property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
end;
{ TValoresBusinessProcessorRules }
TValoresBusinessProcessorRules = class(TDABusinessProcessorRules, IValores, IValoresDelta)
private
protected
{ Property getters and setters }
function GetIDValue: Integer; virtual;
function GetIDIsNull: Boolean; virtual;
function GetOldIDValue: Integer; virtual;
function GetOldIDIsNull: Boolean; virtual;
procedure SetIDValue(const aValue: Integer); virtual;
procedure SetIDIsNull(const aValue: Boolean); virtual;
function GetID_PROPIEDADValue: Integer; virtual;
function GetID_PROPIEDADIsNull: Boolean; virtual;
function GetOldID_PROPIEDADValue: Integer; virtual;
function GetOldID_PROPIEDADIsNull: Boolean; virtual;
procedure SetID_PROPIEDADValue(const aValue: Integer); virtual;
procedure SetID_PROPIEDADIsNull(const aValue: Boolean); virtual;
function GetDESCRIPCIONValue: String; virtual;
function GetDESCRIPCIONIsNull: Boolean; virtual;
function GetOldDESCRIPCIONValue: String; virtual;
function GetOldDESCRIPCIONIsNull: Boolean; virtual;
procedure SetDESCRIPCIONValue(const aValue: String); virtual;
procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull;
property OldID : Integer read GetOldIDValue;
property OldIDIsNull : Boolean read GetOldIDIsNull;
property ID_PROPIEDAD : Integer read GetID_PROPIEDADValue write SetID_PROPIEDADValue;
property ID_PROPIEDADIsNull : Boolean read GetID_PROPIEDADIsNull write SetID_PROPIEDADIsNull;
property OldID_PROPIEDAD : Integer read GetOldID_PROPIEDADValue;
property OldID_PROPIEDADIsNull : Boolean read GetOldID_PROPIEDADIsNull;
property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property DESCRIPCIONIsNull : Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
property OldDESCRIPCIONIsNull : Boolean read GetOldDESCRIPCIONIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
destructor Destroy; override;
end;
{ IPropiedadesDelta }
IPropiedadesDelta = interface(IPropiedades)
['{F9FFDD61-B8D7-4C71-A1C2-A5D112ADA42B}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldDESCRIPCIONValue : String;
function GetOldID_PROPIEDAD_VALORESValue : Integer;
{ Properties }
property OldID : Integer read GetOldIDValue;
property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
property OldID_PROPIEDAD_VALORES : Integer read GetOldID_PROPIEDAD_VALORESValue;
end;
{ TPropiedadesBusinessProcessorRules }
TPropiedadesBusinessProcessorRules = class(TDABusinessProcessorRules, IPropiedades, IPropiedadesDelta)
private
protected
{ Property getters and setters }
function GetIDValue: Integer; virtual;
function GetIDIsNull: Boolean; virtual;
function GetOldIDValue: Integer; virtual;
function GetOldIDIsNull: Boolean; virtual;
procedure SetIDValue(const aValue: Integer); virtual;
procedure SetIDIsNull(const aValue: Boolean); virtual;
function GetDESCRIPCIONValue: String; virtual;
function GetDESCRIPCIONIsNull: Boolean; virtual;
function GetOldDESCRIPCIONValue: String; virtual;
function GetOldDESCRIPCIONIsNull: Boolean; virtual;
procedure SetDESCRIPCIONValue(const aValue: String); virtual;
procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
function GetID_PROPIEDAD_VALORESValue: Integer; virtual;
function GetID_PROPIEDAD_VALORESIsNull: Boolean; virtual;
function GetOldID_PROPIEDAD_VALORESValue: Integer; virtual;
function GetOldID_PROPIEDAD_VALORESIsNull: Boolean; virtual;
procedure SetID_PROPIEDAD_VALORESValue(const aValue: Integer); virtual;
procedure SetID_PROPIEDAD_VALORESIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull;
property OldID : Integer read GetOldIDValue;
property OldIDIsNull : Boolean read GetOldIDIsNull;
property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property DESCRIPCIONIsNull : Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
property OldDESCRIPCIONIsNull : Boolean read GetOldDESCRIPCIONIsNull;
property ID_PROPIEDAD_VALORES : Integer read GetID_PROPIEDAD_VALORESValue write SetID_PROPIEDAD_VALORESValue;
property ID_PROPIEDAD_VALORESIsNull : Boolean read GetID_PROPIEDAD_VALORESIsNull write SetID_PROPIEDAD_VALORESIsNull;
property OldID_PROPIEDAD_VALORES : Integer read GetOldID_PROPIEDAD_VALORESValue;
property OldID_PROPIEDAD_VALORESIsNull : Boolean read GetOldID_PROPIEDAD_VALORESIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
destructor Destroy; override;
end;
{ IListaAnosPresupuestosDelta } { IListaAnosPresupuestosDelta }
IListaAnosPresupuestosDelta = interface(IListaAnosPresupuestos) IListaAnosPresupuestosDelta = interface(IListaAnosPresupuestos)
['{C0E576AC-EDE7-48ED-A670-B12C85993697}'] ['{DC8A9D27-E569-43CB-8D57-75104AC6C3B5}']
{ Property getters and setters } { Property getters and setters }
function GetOldANOValue : String; function GetOldANOValue : String;
@ -50,7 +169,7 @@ type
{ IPresupuestosClienteDelta } { IPresupuestosClienteDelta }
IPresupuestosClienteDelta = interface(IPresupuestosCliente) IPresupuestosClienteDelta = interface(IPresupuestosCliente)
['{AFE73DB5-62C6-4B97-BE48-FD4AAA29C0FA}'] ['{52C7EC13-8283-42F0-B3D9-FB9EE4B7D7D7}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer; function GetOldID_EMPRESAValue : Integer;
@ -518,9 +637,103 @@ type
end; end;
{ ICapitulosPresupuestoDelta }
ICapitulosPresupuestoDelta = interface(ICapitulosPresupuesto)
['{33917E78-DCD8-44D9-B42B-2E35D906DFB2}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldPOSICIONValue : Integer;
function GetOldTIPO_DETALLEValue : String;
function GetOldTIPO_ARTICULOValue : String;
function GetOldID_ARTICULOValue : Integer;
function GetOldCONCEPTOValue : String;
{ Properties }
property OldID : Integer read GetOldIDValue;
property OldPOSICION : Integer read GetOldPOSICIONValue;
property OldTIPO_DETALLE : String read GetOldTIPO_DETALLEValue;
property OldTIPO_ARTICULO : String read GetOldTIPO_ARTICULOValue;
property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
property OldCONCEPTO : String read GetOldCONCEPTOValue;
end;
{ TCapitulosPresupuestoBusinessProcessorRules }
TCapitulosPresupuestoBusinessProcessorRules = class(TDABusinessProcessorRules, ICapitulosPresupuesto, ICapitulosPresupuestoDelta)
private
protected
{ Property getters and setters }
function GetIDValue: Integer; virtual;
function GetIDIsNull: Boolean; virtual;
function GetOldIDValue: Integer; virtual;
function GetOldIDIsNull: Boolean; virtual;
procedure SetIDValue(const aValue: Integer); virtual;
procedure SetIDIsNull(const aValue: Boolean); virtual;
function GetPOSICIONValue: Integer; virtual;
function GetPOSICIONIsNull: Boolean; virtual;
function GetOldPOSICIONValue: Integer; virtual;
function GetOldPOSICIONIsNull: Boolean; virtual;
procedure SetPOSICIONValue(const aValue: Integer); virtual;
procedure SetPOSICIONIsNull(const aValue: Boolean); virtual;
function GetTIPO_DETALLEValue: String; virtual;
function GetTIPO_DETALLEIsNull: Boolean; virtual;
function GetOldTIPO_DETALLEValue: String; virtual;
function GetOldTIPO_DETALLEIsNull: Boolean; virtual;
procedure SetTIPO_DETALLEValue(const aValue: String); virtual;
procedure SetTIPO_DETALLEIsNull(const aValue: Boolean); virtual;
function GetTIPO_ARTICULOValue: String; virtual;
function GetTIPO_ARTICULOIsNull: Boolean; virtual;
function GetOldTIPO_ARTICULOValue: String; virtual;
function GetOldTIPO_ARTICULOIsNull: Boolean; virtual;
procedure SetTIPO_ARTICULOValue(const aValue: String); virtual;
procedure SetTIPO_ARTICULOIsNull(const aValue: Boolean); virtual;
function GetID_ARTICULOValue: Integer; virtual;
function GetID_ARTICULOIsNull: Boolean; virtual;
function GetOldID_ARTICULOValue: Integer; virtual;
function GetOldID_ARTICULOIsNull: Boolean; virtual;
procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
function GetCONCEPTOValue: String; virtual;
function GetCONCEPTOIsNull: Boolean; virtual;
function GetOldCONCEPTOValue: String; virtual;
function GetOldCONCEPTOIsNull: Boolean; virtual;
procedure SetCONCEPTOValue(const aValue: String); virtual;
procedure SetCONCEPTOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull;
property OldID : Integer read GetOldIDValue;
property OldIDIsNull : Boolean read GetOldIDIsNull;
property POSICION : Integer read GetPOSICIONValue write SetPOSICIONValue;
property POSICIONIsNull : Boolean read GetPOSICIONIsNull write SetPOSICIONIsNull;
property OldPOSICION : Integer read GetOldPOSICIONValue;
property OldPOSICIONIsNull : Boolean read GetOldPOSICIONIsNull;
property TIPO_DETALLE : String read GetTIPO_DETALLEValue write SetTIPO_DETALLEValue;
property TIPO_DETALLEIsNull : Boolean read GetTIPO_DETALLEIsNull write SetTIPO_DETALLEIsNull;
property OldTIPO_DETALLE : String read GetOldTIPO_DETALLEValue;
property OldTIPO_DETALLEIsNull : Boolean read GetOldTIPO_DETALLEIsNull;
property TIPO_ARTICULO : String read GetTIPO_ARTICULOValue write SetTIPO_ARTICULOValue;
property TIPO_ARTICULOIsNull : Boolean read GetTIPO_ARTICULOIsNull write SetTIPO_ARTICULOIsNull;
property OldTIPO_ARTICULO : String read GetOldTIPO_ARTICULOValue;
property OldTIPO_ARTICULOIsNull : Boolean read GetOldTIPO_ARTICULOIsNull;
property ID_ARTICULO : Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
property ID_ARTICULOIsNull : Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
property OldID_ARTICULOIsNull : Boolean read GetOldID_ARTICULOIsNull;
property CONCEPTO : String read GetCONCEPTOValue write SetCONCEPTOValue;
property CONCEPTOIsNull : Boolean read GetCONCEPTOIsNull write SetCONCEPTOIsNull;
property OldCONCEPTO : String read GetOldCONCEPTOValue;
property OldCONCEPTOIsNull : Boolean read GetOldCONCEPTOIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
destructor Destroy; override;
end;
{ IPresupuestosCliente_DetallesDelta } { IPresupuestosCliente_DetallesDelta }
IPresupuestosCliente_DetallesDelta = interface(IPresupuestosCliente_Detalles) IPresupuestosCliente_DetallesDelta = interface(IPresupuestosCliente_Detalles)
['{86E2BED4-A5BE-4658-84B3-311884C8B5C9}'] ['{64F84CC2-64BE-4AE4-A2EF-9CE09ECB2773}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_PRESUPUESTOValue : Integer; function GetOldID_PRESUPUESTOValue : Integer;
@ -532,6 +745,7 @@ type
function GetOldIMPORTE_TOTALValue : Currency; function GetOldIMPORTE_TOTALValue : Currency;
function GetOldVISIBLEValue : Integer; function GetOldVISIBLEValue : Integer;
function GetOldID_ARTICULOValue : Integer; function GetOldID_ARTICULOValue : Integer;
function GetOldTIPO_ARTICULOValue : String;
function GetOldDESCUENTOValue : Float; function GetOldDESCUENTOValue : Float;
function GetOldIMPORTE_PORTEValue : Currency; function GetOldIMPORTE_PORTEValue : Currency;
function GetOldREFERENCIAValue : String; function GetOldREFERENCIAValue : String;
@ -548,6 +762,7 @@ type
property OldIMPORTE_TOTAL : Currency read GetOldIMPORTE_TOTALValue; property OldIMPORTE_TOTAL : Currency read GetOldIMPORTE_TOTALValue;
property OldVISIBLE : Integer read GetOldVISIBLEValue; property OldVISIBLE : Integer read GetOldVISIBLEValue;
property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue; property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
property OldTIPO_ARTICULO : String read GetOldTIPO_ARTICULOValue;
property OldDESCUENTO : Float read GetOldDESCUENTOValue; property OldDESCUENTO : Float read GetOldDESCUENTOValue;
property OldIMPORTE_PORTE : Currency read GetOldIMPORTE_PORTEValue; property OldIMPORTE_PORTE : Currency read GetOldIMPORTE_PORTEValue;
property OldREFERENCIA : String read GetOldREFERENCIAValue; property OldREFERENCIA : String read GetOldREFERENCIAValue;
@ -619,6 +834,12 @@ type
function GetOldID_ARTICULOIsNull: Boolean; virtual; function GetOldID_ARTICULOIsNull: Boolean; virtual;
procedure SetID_ARTICULOValue(const aValue: Integer); virtual; procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual; procedure SetID_ARTICULOIsNull(const aValue: Boolean); virtual;
function GetTIPO_ARTICULOValue: String; virtual;
function GetTIPO_ARTICULOIsNull: Boolean; virtual;
function GetOldTIPO_ARTICULOValue: String; virtual;
function GetOldTIPO_ARTICULOIsNull: Boolean; virtual;
procedure SetTIPO_ARTICULOValue(const aValue: String); virtual;
procedure SetTIPO_ARTICULOIsNull(const aValue: Boolean); virtual;
function GetDESCUENTOValue: Float; virtual; function GetDESCUENTOValue: Float; virtual;
function GetDESCUENTOIsNull: Boolean; virtual; function GetDESCUENTOIsNull: Boolean; virtual;
function GetOldDESCUENTOValue: Float; virtual; function GetOldDESCUENTOValue: Float; virtual;
@ -685,6 +906,10 @@ type
property ID_ARTICULOIsNull : Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull; property ID_ARTICULOIsNull : Boolean read GetID_ARTICULOIsNull write SetID_ARTICULOIsNull;
property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue; property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
property OldID_ARTICULOIsNull : Boolean read GetOldID_ARTICULOIsNull; property OldID_ARTICULOIsNull : Boolean read GetOldID_ARTICULOIsNull;
property TIPO_ARTICULO : String read GetTIPO_ARTICULOValue write SetTIPO_ARTICULOValue;
property TIPO_ARTICULOIsNull : Boolean read GetTIPO_ARTICULOIsNull write SetTIPO_ARTICULOIsNull;
property OldTIPO_ARTICULO : String read GetOldTIPO_ARTICULOValue;
property OldTIPO_ARTICULOIsNull : Boolean read GetOldTIPO_ARTICULOIsNull;
property DESCUENTO : Float read GetDESCUENTOValue write SetDESCUENTOValue; property DESCUENTO : Float read GetDESCUENTOValue write SetDESCUENTOValue;
property DESCUENTOIsNull : Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull; property DESCUENTOIsNull : Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
property OldDESCUENTO : Float read GetOldDESCUENTOValue; property OldDESCUENTO : Float read GetOldDESCUENTOValue;
@ -713,6 +938,216 @@ implementation
uses uses
Variants, uROBinaryHelpers, uDAInterfaces; Variants, uROBinaryHelpers, uDAInterfaces;
{ TValoresBusinessProcessorRules }
constructor TValoresBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
inherited;
end;
destructor TValoresBusinessProcessorRules.Destroy;
begin
inherited;
end;
function TValoresBusinessProcessorRules.GetIDValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ValoresID];
end;
function TValoresBusinessProcessorRules.GetIDIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ValoresID]);
end;
function TValoresBusinessProcessorRules.GetOldIDValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ValoresID];
end;
function TValoresBusinessProcessorRules.GetOldIDIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ValoresID]);
end;
procedure TValoresBusinessProcessorRules.SetIDValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ValoresID] := aValue;
end;
procedure TValoresBusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_ValoresID] := Null;
end;
function TValoresBusinessProcessorRules.GetID_PROPIEDADValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ValoresID_PROPIEDAD];
end;
function TValoresBusinessProcessorRules.GetID_PROPIEDADIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ValoresID_PROPIEDAD]);
end;
function TValoresBusinessProcessorRules.GetOldID_PROPIEDADValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ValoresID_PROPIEDAD];
end;
function TValoresBusinessProcessorRules.GetOldID_PROPIEDADIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ValoresID_PROPIEDAD]);
end;
procedure TValoresBusinessProcessorRules.SetID_PROPIEDADValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ValoresID_PROPIEDAD] := aValue;
end;
procedure TValoresBusinessProcessorRules.SetID_PROPIEDADIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_ValoresID_PROPIEDAD] := Null;
end;
function TValoresBusinessProcessorRules.GetDESCRIPCIONValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ValoresDESCRIPCION];
end;
function TValoresBusinessProcessorRules.GetDESCRIPCIONIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ValoresDESCRIPCION]);
end;
function TValoresBusinessProcessorRules.GetOldDESCRIPCIONValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ValoresDESCRIPCION];
end;
function TValoresBusinessProcessorRules.GetOldDESCRIPCIONIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ValoresDESCRIPCION]);
end;
procedure TValoresBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ValoresDESCRIPCION] := aValue;
end;
procedure TValoresBusinessProcessorRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_ValoresDESCRIPCION] := Null;
end;
{ TPropiedadesBusinessProcessorRules }
constructor TPropiedadesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
inherited;
end;
destructor TPropiedadesBusinessProcessorRules.Destroy;
begin
inherited;
end;
function TPropiedadesBusinessProcessorRules.GetIDValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PropiedadesID];
end;
function TPropiedadesBusinessProcessorRules.GetIDIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PropiedadesID]);
end;
function TPropiedadesBusinessProcessorRules.GetOldIDValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PropiedadesID];
end;
function TPropiedadesBusinessProcessorRules.GetOldIDIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PropiedadesID]);
end;
procedure TPropiedadesBusinessProcessorRules.SetIDValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PropiedadesID] := aValue;
end;
procedure TPropiedadesBusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_PropiedadesID] := Null;
end;
function TPropiedadesBusinessProcessorRules.GetDESCRIPCIONValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PropiedadesDESCRIPCION];
end;
function TPropiedadesBusinessProcessorRules.GetDESCRIPCIONIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PropiedadesDESCRIPCION]);
end;
function TPropiedadesBusinessProcessorRules.GetOldDESCRIPCIONValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PropiedadesDESCRIPCION];
end;
function TPropiedadesBusinessProcessorRules.GetOldDESCRIPCIONIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PropiedadesDESCRIPCION]);
end;
procedure TPropiedadesBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PropiedadesDESCRIPCION] := aValue;
end;
procedure TPropiedadesBusinessProcessorRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_PropiedadesDESCRIPCION] := Null;
end;
function TPropiedadesBusinessProcessorRules.GetID_PROPIEDAD_VALORESValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PropiedadesID_PROPIEDAD_VALORES];
end;
function TPropiedadesBusinessProcessorRules.GetID_PROPIEDAD_VALORESIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PropiedadesID_PROPIEDAD_VALORES]);
end;
function TPropiedadesBusinessProcessorRules.GetOldID_PROPIEDAD_VALORESValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PropiedadesID_PROPIEDAD_VALORES];
end;
function TPropiedadesBusinessProcessorRules.GetOldID_PROPIEDAD_VALORESIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PropiedadesID_PROPIEDAD_VALORES]);
end;
procedure TPropiedadesBusinessProcessorRules.SetID_PROPIEDAD_VALORESValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PropiedadesID_PROPIEDAD_VALORES] := aValue;
end;
procedure TPropiedadesBusinessProcessorRules.SetID_PROPIEDAD_VALORESIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_PropiedadesID_PROPIEDAD_VALORES] := Null;
end;
{ TListaAnosPresupuestosBusinessProcessorRules } { TListaAnosPresupuestosBusinessProcessorRules }
constructor TListaAnosPresupuestosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); constructor TListaAnosPresupuestosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin begin
@ -1941,6 +2376,204 @@ begin
end; end;
{ TCapitulosPresupuestoBusinessProcessorRules }
constructor TCapitulosPresupuestoBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
inherited;
end;
destructor TCapitulosPresupuestoBusinessProcessorRules.Destroy;
begin
inherited;
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetIDValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoID];
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetIDIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoID]);
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetOldIDValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_CapitulosPresupuestoID];
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetOldIDIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CapitulosPresupuestoID]);
end;
procedure TCapitulosPresupuestoBusinessProcessorRules.SetIDValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoID] := aValue;
end;
procedure TCapitulosPresupuestoBusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoID] := Null;
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetPOSICIONValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoPOSICION];
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetPOSICIONIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoPOSICION]);
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetOldPOSICIONValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_CapitulosPresupuestoPOSICION];
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetOldPOSICIONIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CapitulosPresupuestoPOSICION]);
end;
procedure TCapitulosPresupuestoBusinessProcessorRules.SetPOSICIONValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoPOSICION] := aValue;
end;
procedure TCapitulosPresupuestoBusinessProcessorRules.SetPOSICIONIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoPOSICION] := Null;
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetTIPO_DETALLEValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoTIPO_DETALLE];
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetTIPO_DETALLEIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoTIPO_DETALLE]);
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetOldTIPO_DETALLEValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_CapitulosPresupuestoTIPO_DETALLE];
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetOldTIPO_DETALLEIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CapitulosPresupuestoTIPO_DETALLE]);
end;
procedure TCapitulosPresupuestoBusinessProcessorRules.SetTIPO_DETALLEValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoTIPO_DETALLE] := aValue;
end;
procedure TCapitulosPresupuestoBusinessProcessorRules.SetTIPO_DETALLEIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoTIPO_DETALLE] := Null;
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetTIPO_ARTICULOValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoTIPO_ARTICULO];
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetTIPO_ARTICULOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoTIPO_ARTICULO]);
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetOldTIPO_ARTICULOValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_CapitulosPresupuestoTIPO_ARTICULO];
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetOldTIPO_ARTICULOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CapitulosPresupuestoTIPO_ARTICULO]);
end;
procedure TCapitulosPresupuestoBusinessProcessorRules.SetTIPO_ARTICULOValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoTIPO_ARTICULO] := aValue;
end;
procedure TCapitulosPresupuestoBusinessProcessorRules.SetTIPO_ARTICULOIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoTIPO_ARTICULO] := Null;
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetID_ARTICULOValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoID_ARTICULO];
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetID_ARTICULOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoID_ARTICULO]);
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetOldID_ARTICULOValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_CapitulosPresupuestoID_ARTICULO];
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetOldID_ARTICULOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CapitulosPresupuestoID_ARTICULO]);
end;
procedure TCapitulosPresupuestoBusinessProcessorRules.SetID_ARTICULOValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoID_ARTICULO] := aValue;
end;
procedure TCapitulosPresupuestoBusinessProcessorRules.SetID_ARTICULOIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoID_ARTICULO] := Null;
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetCONCEPTOValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoCONCEPTO];
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetCONCEPTOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoCONCEPTO]);
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetOldCONCEPTOValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_CapitulosPresupuestoCONCEPTO];
end;
function TCapitulosPresupuestoBusinessProcessorRules.GetOldCONCEPTOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_CapitulosPresupuestoCONCEPTO]);
end;
procedure TCapitulosPresupuestoBusinessProcessorRules.SetCONCEPTOValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoCONCEPTO] := aValue;
end;
procedure TCapitulosPresupuestoBusinessProcessorRules.SetCONCEPTOIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_CapitulosPresupuestoCONCEPTO] := Null;
end;
{ TPresupuestosCliente_DetallesBusinessProcessorRules } { TPresupuestosCliente_DetallesBusinessProcessorRules }
constructor TPresupuestosCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); constructor TPresupuestosCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin begin
@ -2262,6 +2895,37 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosCliente_DetallesID_ARTICULO] := Null; BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosCliente_DetallesID_ARTICULO] := Null;
end; end;
function TPresupuestosCliente_DetallesBusinessProcessorRules.GetTIPO_ARTICULOValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosCliente_DetallesTIPO_ARTICULO];
end;
function TPresupuestosCliente_DetallesBusinessProcessorRules.GetTIPO_ARTICULOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosCliente_DetallesTIPO_ARTICULO]);
end;
function TPresupuestosCliente_DetallesBusinessProcessorRules.GetOldTIPO_ARTICULOValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosCliente_DetallesTIPO_ARTICULO];
end;
function TPresupuestosCliente_DetallesBusinessProcessorRules.GetOldTIPO_ARTICULOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosCliente_DetallesTIPO_ARTICULO]);
end;
procedure TPresupuestosCliente_DetallesBusinessProcessorRules.SetTIPO_ARTICULOValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosCliente_DetallesTIPO_ARTICULO] := aValue;
end;
procedure TPresupuestosCliente_DetallesBusinessProcessorRules.SetTIPO_ARTICULOIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosCliente_DetallesTIPO_ARTICULO] := Null;
end;
function TPresupuestosCliente_DetallesBusinessProcessorRules.GetDESCUENTOValue: Float; function TPresupuestosCliente_DetallesBusinessProcessorRules.GetDESCUENTOValue: Float;
begin begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosCliente_DetallesDESCUENTO]; result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosCliente_DetallesDESCUENTO];
@ -2388,8 +3052,11 @@ end;
initialization initialization
RegisterBusinessProcessorRules(RID_ValoresDelta, TValoresBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_PropiedadesDelta, TPropiedadesBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_ListaAnosPresupuestosDelta, TListaAnosPresupuestosBusinessProcessorRules); RegisterBusinessProcessorRules(RID_ListaAnosPresupuestosDelta, TListaAnosPresupuestosBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_PresupuestosClienteDelta, TPresupuestosClienteBusinessProcessorRules); RegisterBusinessProcessorRules(RID_PresupuestosClienteDelta, TPresupuestosClienteBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_CapitulosPresupuestoDelta, TCapitulosPresupuestoBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_PresupuestosCliente_DetallesDelta, TPresupuestosCliente_DetallesBusinessProcessorRules); RegisterBusinessProcessorRules(RID_PresupuestosCliente_DetallesDelta, TPresupuestosCliente_DetallesBusinessProcessorRules);
end. end.

View File

@ -6,13 +6,59 @@ uses
uDADataTable, schPresupuestosClienteClient_Intf; uDADataTable, schPresupuestosClienteClient_Intf;
const const
BIZ_CLIENT_PROPIEDADES = 'Client.Propiedades';
BIZ_CLIENT_VALORES = 'Client.Valores';
BIZ_CLIENT_CAPITULOS = 'Client.Capitulos';
BIZ_CLIENT_DETALLES_PRESUPUESTO_CLIENTE = 'Client.PresupuestoCliente.Detalles'; BIZ_CLIENT_DETALLES_PRESUPUESTO_CLIENTE = 'Client.PresupuestoCliente.Detalles';
TIPO_CAPITULO_AF = 'AF'; //FRENTE DE ARMARIO
TIPO_CAPITULO_AI = 'AI'; //INTERIOR DE ARMARIO
TIPO_CAPITULO_B = 'B'; //BAÑO
TIPO_CAPITULO_C = 'C'; //COCINA
TIPO_CAPITULO_E = 'E'; //ELECTRODOMÉSTICOS
TIPO_CAPITULO_V = 'V'; //VARIOS
type type
IBizValores = interface(IValores)
['{24C5CEDF-9A20-447B-9291-C42967D52748}']
end;
IBizPropiedades = interface(IPropiedades)
['{A3EAE8BB-A19C-45B4-AB62-6C40962D2E80}']
function GetValores: IBizValores;
procedure SetValores(Value: IBizValores);
property Valores: IBizValores read GetValores write SetValores;
end;
IBizCapitulo = interface(ICapitulosPresupuesto)
['{FE35D755-7781-441F-960C-98F847A5039E}']
end;
IBizDetallesPresupuestoCliente = interface(IPresupuestosCliente_Detalles) IBizDetallesPresupuestoCliente = interface(IPresupuestosCliente_Detalles)
['{2D7781DC-AD16-4857-9567-5C1620319781}'] ['{2D7781DC-AD16-4857-9567-5C1620319781}']
end; end;
TBizValores = class(TValoresDataTableRules, IBizValores)
end;
TBizPropiedades = class(TPropiedadesDataTableRules, IBizPropiedades)
protected
FValores : IBizValores;
FValoresLink : TDADataSource;
function GetValores: IBizValores;
procedure SetValores(Value: IBizValores);
public
property Valores: IBizValores read GetValores write SetValores;
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
TBizCapitulo = class(TCapitulosPresupuestoDataTableRules, IBizCapitulo)
end;
TBizDetallesPresupuestoCliente = class(TPresupuestosCliente_DetallesDataTableRules, IBizDetallesPresupuestoCliente) TBizDetallesPresupuestoCliente = class(TPresupuestosCliente_DetallesDataTableRules, IBizDetallesPresupuestoCliente)
protected protected
procedure OnNewRecord(Sender: TDADataTable); override; procedure OnNewRecord(Sender: TDADataTable); override;
@ -25,7 +71,7 @@ implementation
{ TBizDetallesPresupuestoCliente } { TBizDetallesPresupuestoCliente }
uses uses
Dialogs, DB, SysUtils, JclStrings; Dialogs, DB, uDataTableUtils, SysUtils, JclStrings;
procedure TBizDetallesPresupuestoCliente.BeforeInsert(Sender: TDADataTable); procedure TBizDetallesPresupuestoCliente.BeforeInsert(Sender: TDADataTable);
var var
@ -43,7 +89,39 @@ begin
VISIBLE := 1; VISIBLE := 1;
end; end;
{ TBizPropiedades }
constructor TBizPropiedades.Create(aDataTable: TDADataTable);
begin
inherited;
FValoresLink := TDADataSource.Create(NIL);
FValoresLink.DataTable := aDataTable;
end;
destructor TBizPropiedades.Destroy;
begin
FValores := NIL;
FValoresLink.Free;
inherited;
end;
function TBizPropiedades.GetValores: IBizValores;
begin
Result := FValores;
end;
procedure TBizPropiedades.SetValores(Value: IBizValores);
begin
FValores := Value;
EnlazarMaestroDetalle(FValoresLink, FValores);
end;
initialization initialization
RegisterDataTableRules(BIZ_CLIENT_DETALLES_PRESUPUESTO_CLIENTE, TBizDetallesPresupuestoCliente); RegisterDataTableRules(BIZ_CLIENT_DETALLES_PRESUPUESTO_CLIENTE, TBizDetallesPresupuestoCliente);
RegisterDataTableRules(BIZ_CLIENT_PROPIEDADES, TBizPropiedades);
RegisterDataTableRules(BIZ_CLIENT_VALORES, TBizValores);
RegisterDataTableRules(BIZ_CLIENT_CAPITULOS, TBizCapitulo);
end. end.

View File

@ -15,6 +15,7 @@ const
SITUACION_PRESUPUESTO_ANULADO = 'ANULADO'; SITUACION_PRESUPUESTO_ANULADO = 'ANULADO';
type type
IBizPresupuestoCliente = interface(IPresupuestosCliente) IBizPresupuestoCliente = interface(IPresupuestosCliente)
['{86A2FAD7-D125-47C2-B0BA-52A42FDFA6F6}'] ['{86A2FAD7-D125-47C2-B0BA-52A42FDFA6F6}']

View File

@ -11,6 +11,95 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
ConnectionManager = dmServer.ConnectionManager ConnectionManager = dmServer.ConnectionManager
DataDictionary = DADataDictionary DataDictionary = DADataDictionary
Datasets = < Datasets = <
item
Params = <>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
TargetTable = 'PRESUPUESTOS_VALORES'
Name = 'IBX'
StatementType = stAutoSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_PROPIEDAD'
TableField = 'ID_PROPIEDAD'
end
item
DatasetField = 'DESCRIPCION'
TableField = 'DESCRIPCION'
end>
end>
Name = 'Valores'
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'ID_PROPIEDAD'
DataType = datInteger
end
item
Name = 'DESCRIPCION'
DataType = datString
Size = 2000
end>
end
item
Params = <>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
TargetTable = 'PRESUPUESTOS_PROPIEDADES'
Name = 'IBX'
SQL =
'select ID,'#10' DESCRIPCION,'#10' case WHEN ID_PADRE IS NULL' +
' THEN ID'#10' ELSE ID_PADRE'#10' end AS ID_PROPIEDAD_VA' +
'LORES'#10#10'from presupuestos_propiedades'#10#10'WHERE {Where}'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'DESCRIPCION'
TableField = 'DESCRIPCION'
end
item
DatasetField = 'ID_PROPIEDAD_VALORES'
TableField = '<unknown>'
SQLOrigin = 'ID_PROPIEDAD_VALORES'
end>
end>
Name = 'Propiedades'
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'DESCRIPCION'
DataType = datString
Size = 50
end
item
Name = 'ID_PROPIEDAD_VALORES'
DataType = datInteger
end>
end
item item
Params = <> Params = <>
Statements = < Statements = <
@ -384,6 +473,74 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
Size = 255 Size = 255
end> end>
end end
item
Params = <>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
TargetTable = 'PRESUPUESTOS_CLIENTE_CAPITULOS'
Name = 'IBX'
StatementType = stAutoSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'POSICION'
TableField = 'POSICION'
end
item
DatasetField = 'TIPO_DETALLE'
TableField = 'TIPO_DETALLE'
end
item
DatasetField = 'TIPO_ARTICULO'
TableField = 'TIPO_ARTICULO'
end
item
DatasetField = 'ID_ARTICULO'
TableField = 'ID_ARTICULO'
end
item
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end>
end>
Name = 'CapitulosPresupuesto'
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 10
end
item
Name = 'TIPO_ARTICULO'
DataType = datString
Size = 2
end
item
Name = 'ID_ARTICULO'
DataType = datInteger
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2000
end>
end
item item
Params = <> Params = <>
Statements = < Statements = <
@ -399,13 +556,14 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
'TIDAD,'#10' PRESUPUESTOS_CLIENTE_DETALLES.IMPORTE_UNIDAD, PRESUPU' + 'TIDAD,'#10' PRESUPUESTOS_CLIENTE_DETALLES.IMPORTE_UNIDAD, PRESUPU' +
'ESTOS_CLIENTE_DETALLES.IMPORTE_TOTAL,'#10' PRESUPUESTOS_CLIENTE_D' + 'ESTOS_CLIENTE_DETALLES.IMPORTE_TOTAL,'#10' PRESUPUESTOS_CLIENTE_D' +
'ETALLES.VISIBLE,'#10#10' PRESUPUESTOS_CLIENTE_DETALLES.ID_ARTICULO,' + 'ETALLES.VISIBLE,'#10#10' PRESUPUESTOS_CLIENTE_DETALLES.ID_ARTICULO,' +
' PRESUPUESTOS_CLIENTE_DETALLES.DESCUENTO,'#10' PRESUPUESTOS_CLIEN' + ' PRESUPUESTOS_CLIENTE_DETALLES.TIPO_ARTICULO,'#10' PRESUPUESTOS_C' +
'TE_DETALLES.IMPORTE_PORTE, ARTICULOS.REFERENCIA,'#10' '#39#39' as REFER' + 'LIENTE_DETALLES.DESCUENTO,'#10' PRESUPUESTOS_CLIENTE_DETALLES.IMP' +
'ENCIA_PROVEEDOR /*Es necesario para que no fallen los detalles p' + 'ORTE_PORTE, ARTICULOS.REFERENCIA,'#10' '#39#39' as REFERENCIA_PROVEEDOR' +
'orque los detalles son comunes para la rama de cliente y de prov' + ' /*Es necesario para que no fallen los detalles porque los detal' +
'eedor*/'#10#10'FROM PRESUPUESTOS_CLIENTE_DETALLES'#10'LEFT JOIN ARTICULOS ' + 'les son comunes para la rama de cliente y de proveedor*/'#10#10'FROM P' +
'ON PRESUPUESTOS_CLIENTE_DETALLES.ID_ARTICULO = ARTICULOS.ID'#10'wher' + 'RESUPUESTOS_CLIENTE_DETALLES'#10'LEFT JOIN ARTICULOS ON PRESUPUESTOS' +
'e {where}'#10'ORDER BY POSICION;'#10#10#10 '_CLIENTE_DETALLES.ID_ARTICULO = ARTICULOS.ID'#10'where {where}'#10'ORDER' +
' BY POSICION;'#10#10#10
StatementType = stSQL StatementType = stSQL
ColumnMappings = < ColumnMappings = <
item item
@ -448,6 +606,10 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
DatasetField = 'ID_ARTICULO' DatasetField = 'ID_ARTICULO'
TableField = 'ID_ARTICULO' TableField = 'ID_ARTICULO'
end end
item
DatasetField = 'TIPO_ARTICULO'
TableField = 'TIPO_ARTICULO'
end
item item
DatasetField = 'DESCUENTO' DatasetField = 'DESCUENTO'
TableField = 'DESCUENTO' TableField = 'DESCUENTO'
@ -524,6 +686,11 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
DataType = datInteger DataType = datInteger
DictionaryEntry = 'PresupuestosCliente_Detalles_ID_ARTICULO' DictionaryEntry = 'PresupuestosCliente_Detalles_ID_ARTICULO'
end end
item
Name = 'TIPO_ARTICULO'
DataType = datString
Size = 2
end
item item
Name = 'DESCUENTO' Name = 'DESCUENTO'
DataType = datFloat DataType = datFloat
@ -947,46 +1114,65 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
end end
item item
Name = 'ID_PRESUPUESTO' Name = 'ID_PRESUPUESTO'
DataType = datInteger
Value = '' Value = ''
end end
item item
Name = 'POSICION' Name = 'POSICION'
DataType = datInteger
Value = '' Value = ''
end end
item item
Name = 'TIPO_DETALLE' Name = 'TIPO_DETALLE'
DataType = datString
Size = 10
Value = '' Value = ''
end end
item item
Name = 'CONCEPTO' Name = 'CONCEPTO'
DataType = datString
Size = 2000
Value = '' Value = ''
end end
item item
Name = 'CANTIDAD' Name = 'CANTIDAD'
DataType = datInteger
Value = '' Value = ''
end end
item item
Name = 'IMPORTE_UNIDAD' Name = 'IMPORTE_UNIDAD'
DataType = datCurrency
Value = '' Value = ''
end end
item item
Name = 'IMPORTE_TOTAL' Name = 'IMPORTE_TOTAL'
DataType = datCurrency
Value = '' Value = ''
end end
item item
Name = 'VISIBLE' Name = 'VISIBLE'
DataType = datSmallInt
Value = '' Value = ''
end end
item item
Name = 'ID_ARTICULO' Name = 'ID_ARTICULO'
DataType = datInteger
Value = ''
end
item
Name = 'TIPO_ARTICULO'
DataType = datString
Size = 2
Value = '' Value = ''
end end
item item
Name = 'DESCUENTO' Name = 'DESCUENTO'
DataType = datFloat
Value = '' Value = ''
end end
item item
Name = 'IMPORTE_PORTE' Name = 'IMPORTE_PORTE'
DataType = datCurrency
Value = '' Value = ''
end> end>
Statements = < Statements = <
@ -997,11 +1183,11 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
SQL = SQL =
'INSERT'#10' INTO PRESUPUESTOS_CLIENTE_DETALLES'#10' (ID, ID_PRESUPUE' + 'INSERT'#10' INTO PRESUPUESTOS_CLIENTE_DETALLES'#10' (ID, ID_PRESUPUE' +
'STO, POSICION, TIPO_DETALLE, CONCEPTO, CANTIDAD,'#10' IMPORTE_UN' + 'STO, POSICION, TIPO_DETALLE, CONCEPTO, CANTIDAD,'#10' IMPORTE_UN' +
'IDAD, IMPORTE_TOTAL, VISIBLE, ID_ARTICULO,'#10' DESCUENTO, IMPOR' + 'IDAD, IMPORTE_TOTAL, VISIBLE, ID_ARTICULO, TIPO_ARTICULO,'#10' D' +
'TE_PORTE, FECHA_ALTA)'#10' VALUES'#10' (:ID, :ID_PRESUPUESTO, :POSIC' + 'ESCUENTO, IMPORTE_PORTE, FECHA_ALTA)'#10' VALUES'#10' (:ID, :ID_PRES' +
'ION, :TIPO_DETALLE, :CONCEPTO,'#10' :CANTIDAD, :IMPORTE_UNIDAD, ' + 'UPUESTO, :POSICION, :TIPO_DETALLE, :CONCEPTO,'#10' :CANTIDAD, :I' +
':IMPORTE_TOTAL, :VISIBLE,'#10' :ID_ARTICULO, :DESCUENTO, :IMPORT' + 'MPORTE_UNIDAD, :IMPORTE_TOTAL, :VISIBLE,'#10' :ID_ARTICULO, :TIP' +
'E_PORTE, CURRENT_TIMESTAMP)'#10 'O_ARTICULO, :DESCUENTO, :IMPORTE_PORTE, CURRENT_TIMESTAMP)'#10
StatementType = stSQL StatementType = stSQL
ColumnMappings = <> ColumnMappings = <>
end> end>
@ -1031,50 +1217,70 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
Params = < Params = <
item item
Name = 'ID' Name = 'ID'
DataType = datInteger
Value = '' Value = ''
end end
item item
Name = 'ID_PRESUPUESTO' Name = 'ID_PRESUPUESTO'
DataType = datInteger
Value = '' Value = ''
end end
item item
Name = 'POSICION' Name = 'POSICION'
DataType = datInteger
Value = '' Value = ''
end end
item item
Name = 'TIPO_DETALLE' Name = 'TIPO_DETALLE'
DataType = datString
Size = 10
Value = '' Value = ''
end end
item item
Name = 'CONCEPTO' Name = 'CONCEPTO'
DataType = datString
Size = 2000
Value = '' Value = ''
end end
item item
Name = 'CANTIDAD' Name = 'CANTIDAD'
DataType = datInteger
Value = '' Value = ''
end end
item item
Name = 'IMPORTE_UNIDAD' Name = 'IMPORTE_UNIDAD'
DataType = datCurrency
Value = '' Value = ''
end end
item item
Name = 'IMPORTE_TOTAL' Name = 'IMPORTE_TOTAL'
DataType = datCurrency
Value = '' Value = ''
end end
item item
Name = 'VISIBLE' Name = 'VISIBLE'
DataType = datSmallInt
Value = '' Value = ''
end end
item item
Name = 'ID_ARTICULO' Name = 'ID_ARTICULO'
DataType = datInteger
Value = ''
end
item
Name = 'TIPO_ARTICULO'
DataType = datString
Size = 2
Value = '' Value = ''
end end
item item
Name = 'DESCUENTO' Name = 'DESCUENTO'
DataType = datFloat
Value = '' Value = ''
end end
item item
Name = 'IMPORTE_PORTE' Name = 'IMPORTE_PORTE'
DataType = datCurrency
Value = '' Value = ''
end end
item item
@ -1092,15 +1298,24 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
'TIPO_DETALLE = :TIPO_DETALLE, '#10' CONCEPTO = :CONCEPTO, '#10' CA' + 'TIPO_DETALLE = :TIPO_DETALLE, '#10' CONCEPTO = :CONCEPTO, '#10' CA' +
'NTIDAD = :CANTIDAD, '#10' IMPORTE_UNIDAD = :IMPORTE_UNIDAD,'#10' I' + 'NTIDAD = :CANTIDAD, '#10' IMPORTE_UNIDAD = :IMPORTE_UNIDAD,'#10' I' +
'MPORTE_TOTAL = :IMPORTE_TOTAL, '#10' VISIBLE = :VISIBLE, '#10' ID_' + 'MPORTE_TOTAL = :IMPORTE_TOTAL, '#10' VISIBLE = :VISIBLE, '#10' ID_' +
'ARTICULO = :ID_ARTICULO, '#10' DESCUENTO = :DESCUENTO, '#10' IMPOR' + 'ARTICULO = :ID_ARTICULO, '#10' TIPO_ARTICULO = :TIPO_ARTICULO,'#10' ' +
'TE_PORTE = :IMPORTE_PORTE,'#10' FECHA_MODIFICACION = CURRENT_TIME' + ' DESCUENTO = :DESCUENTO, '#10' IMPORTE_PORTE = :IMPORTE_PORTE,'#10' ' +
'STAMP'#10' WHERE'#10' (ID = :OLD_ID)'#10 ' FECHA_MODIFICACION = CURRENT_TIMESTAMP'#10' WHERE'#10' (ID = :OLD' +
'_ID)'#10
StatementType = stSQL StatementType = stSQL
ColumnMappings = <> ColumnMappings = <>
end> end>
Name = 'Update_PresupuestosCliente_Detalles' Name = 'Update_PresupuestosCliente_Detalles'
end> end>
RelationShips = < RelationShips = <
item
Name = 'FK_Propiedades_Valores'
MasterDatasetName = 'Propiedades'
MasterFields = 'ID_PROPIEDAD_VALORES'
DetailDatasetName = 'Valores'
DetailFields = 'ID_PROPIEDAD'
RelationshipType = rtForeignKey
end
item item
Name = 'FK_PresupuestosCliente_Detalles' Name = 'FK_PresupuestosCliente_Detalles'
MasterDatasetName = 'PresupuestosCliente' MasterDatasetName = 'PresupuestosCliente'

View File

@ -1,103 +1,136 @@
inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente
Width = 893
Height = 446
inherited ToolBar1: TToolBar inherited ToolBar1: TToolBar
Width = 893
Height = 24
inherited ToolButton4: TToolButton inherited ToolButton4: TToolButton
Wrap = False Wrap = False
end end
inherited ToolButton14: TToolButton inherited ToolButton14: TToolButton
Left = 334 Left = 334
Top = 0 Top = 0
Wrap = True
ExplicitLeft = 334 ExplicitLeft = 334
ExplicitTop = 0 ExplicitTop = 0
end end
inherited FontName: TJvFontComboBox inherited FontName: TJvFontComboBox
Left = 368 Left = 0
Top = 0 ExplicitLeft = 0
ExplicitLeft = 368
ExplicitTop = 0
end end
inherited FontSize: TEdit inherited FontSize: TEdit
Left = 513 Left = 145
Top = 0 ExplicitLeft = 145
ExplicitLeft = 513
ExplicitTop = 0
end end
inherited UpDown1: TUpDown inherited UpDown1: TUpDown
Left = 555 Left = 187
Top = 0 ExplicitLeft = 187
ExplicitLeft = 555
ExplicitTop = 0
end end
inherited ToolButton13: TToolButton inherited ToolButton13: TToolButton
Left = 572 Left = 204
Top = 0 ExplicitLeft = 204
ExplicitLeft = 572
ExplicitTop = 0
end end
inherited ToolButton6: TToolButton inherited ToolButton6: TToolButton
Left = 580 Left = 212
Top = 0 ExplicitLeft = 212
ExplicitLeft = 580
ExplicitTop = 0
end end
inherited ToolButton7: TToolButton inherited ToolButton7: TToolButton
Left = 614 Left = 246
Top = 0 ExplicitLeft = 246
ExplicitLeft = 614
ExplicitTop = 0
end end
inherited ToolButton8: TToolButton inherited ToolButton8: TToolButton
Left = 648 Left = 280
Top = 0 ExplicitLeft = 280
ExplicitLeft = 648
ExplicitTop = 0
end end
inherited ToolButton12: TToolButton inherited ToolButton12: TToolButton
Left = 682 Left = 314
Top = 0 ExplicitLeft = 314
ExplicitLeft = 682
ExplicitTop = 0
end end
inherited ToolButton9: TToolButton inherited ToolButton9: TToolButton
Left = 690 Left = 322
Top = 0 ExplicitLeft = 322
ExplicitLeft = 690
ExplicitTop = 0
end end
inherited ToolButton10: TToolButton inherited ToolButton10: TToolButton
Left = 724 Left = 356
Top = 0 ExplicitLeft = 356
ExplicitLeft = 724
ExplicitTop = 0
end end
inherited ToolButton11: TToolButton inherited ToolButton11: TToolButton
Left = 758 Left = 390
Top = 0 ExplicitLeft = 390
ExplicitLeft = 758
ExplicitTop = 0
end end
end end
inherited cxGrid: TcxGrid inherited cxGrid: TcxGrid
Top = 50
Width = 893
Height = 396
ExplicitWidth = 451
ExplicitHeight = 232
inherited cxGridView: TcxGridDBTableView inherited cxGridView: TcxGridDBTableView
inherited cxGridViewID_ARTICULO: TcxGridDBColumn
Width = 57
end
object cxGridViewTIPO_ARTICULO: TcxGridDBColumn [4]
DataBinding.FieldName = 'TIPO_ARTICULO'
end
object cxGridViewID_PROPIEDAD: TcxGridDBColumn [5]
Caption = 'Propiedad'
DataBinding.FieldName = 'ID_ARTICULO'
PropertiesClassName = 'TcxLookupComboBoxProperties'
Properties.ImmediatePost = True
Properties.KeyFieldNames = 'ID'
Properties.ListColumns = <
item
FieldName = 'DESCRIPCION'
end>
Properties.ListOptions.ShowHeader = False
Properties.ListOptions.SyncMode = True
Properties.ListSource = DAPropiedades
end
inherited cxGridViewREFERENCIA_PROVEEDOR: TcxGridDBColumn inherited cxGridViewREFERENCIA_PROVEEDOR: TcxGridDBColumn
DataBinding.FieldName = '' DataBinding.FieldName = ''
end end
inherited cxGridViewDESCRIPCION: TcxGridDBColumn
OnGetPropertiesForEdit = cxGridViewDESCRIPCIONGetPropertiesForEdit
Width = 243
end
inherited cxGridViewCANTIDAD: TcxGridDBColumn
Width = 25
end
inherited cxGridViewIMPORTEUNIDAD: TcxGridDBColumn
Width = 34
end
inherited cxGridViewDESCUENTO: TcxGridDBColumn
Visible = False
VisibleForCustomization = False
Width = 20
end
inherited cxGridViewIMPORTENETO: TcxGridDBColumn
Visible = False
VisibleForCustomization = False
Width = 29
end
inherited cxGridViewIMPORTETOTAL: TcxGridDBColumn
Width = 29
end
end end
end end
inherited TBXDock1: TTBXDock inherited TBXDock1: TTBXDock
Top = 24
Width = 893
ExplicitWidth = 451
inherited TBXToolbar1: TTBXToolbar inherited TBXToolbar1: TTBXToolbar
ExplicitWidth = 653 ExplicitWidth = 451
object TBXSubmenuItem1: TTBXSubmenuItem [0]
Caption = 'A'#241'adir ...'
object TBXItem14: TTBXItem
Action = actCapituloArmarioF
end
object TBXItem17: TTBXItem
Action = actCapituloArmarioI
end
object TBXItem15: TTBXItem
Action = actCapituloBano
end
object TBXItem16: TTBXItem
Action = actCapituloCocina
end
object TBXItem19: TTBXItem
Action = actCapituloElectrodomesticos
end
object TBXItem20: TTBXItem
Action = actCapituloVarios
end
end
object TBXSeparatorItem6: TTBXSeparatorItem [1]
end
object TBXSeparatorItem9: TTBXSeparatorItem object TBXSeparatorItem9: TTBXSeparatorItem
end end
object TBXItem18: TTBXItem object TBXItem18: TTBXItem
@ -105,6 +138,32 @@ inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente
end end
end end
end end
object cxLookupComboBox1: TcxLookupComboBox [3]
Left = 78
Top = 256
Properties.DropDownListStyle = lsEditList
Properties.ImmediatePost = True
Properties.KeyFieldNames = 'DESCRIPCION'
Properties.ListColumns = <
item
FieldName = 'DESCRIPCION'
end>
Properties.ListOptions.ShowHeader = False
Properties.ListSource = DAValores
TabOrder = 3
Visible = False
Width = 145
end
object cxRichEdit1: TcxRichEdit [4]
Left = 78
Top = 225
Lines.Strings = (
'cxRichEdit1')
TabOrder = 4
Visible = False
Height = 25
Width = 145
end
inherited ActionListContenido: TActionList inherited ActionListContenido: TActionList
object actAsignarDescuento: TAction object actAsignarDescuento: TAction
Category = 'Operaciones' Category = 'Operaciones'
@ -112,5 +171,43 @@ inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente
OnExecute = actAsignarDescuentoExecute OnExecute = actAsignarDescuentoExecute
OnUpdate = actAsignarDescuentoUpdate OnUpdate = actAsignarDescuentoUpdate
end end
object actCapituloArmarioF: TAction
Category = 'Operaciones'
Caption = 'Capitulo frente de armario'
OnExecute = actCapituloArmarioFExecute
end
object actCapituloArmarioI: TAction
Category = 'Operaciones'
Caption = 'Capitulo interior de armario'
OnExecute = actCapituloArmarioIExecute
end
object actCapituloBano: TAction
Category = 'Operaciones'
Caption = 'Capitulo de ba'#241'o'
OnExecute = actCapituloBanoExecute
end
object actCapituloCocina: TAction
Category = 'Operaciones'
Caption = 'Cap'#237'tulo de cocina'
OnExecute = actCapituloCocinaExecute
end
object actCapituloElectrodomesticos: TAction
Category = 'Operaciones'
Caption = 'Cap'#237'tulo de Electrodom'#233'sticos'
OnExecute = actCapituloElectrodomesticosExecute
end
object actCapituloVarios: TAction
Category = 'Operaciones'
Caption = 'Cap'#237'tulo de varios'
OnExecute = actCapituloVariosExecute
end
end
object DAPropiedades: TDADataSource
Left = 8
Top = 248
end
object DAValores: TDADataSource
Left = 48
Top = 248
end end
end end

View File

@ -13,7 +13,9 @@ uses
JvExStdCtrls, JvCombobox, JvColorCombo, TB2Item, TBX, TB2Dock, TB2Toolbar, JvExStdCtrls, JvCombobox, JvColorCombo, TB2Item, TBX, TB2Dock, TB2Toolbar,
uControllerDetallesArticulos, uBizPresupuestosCliente, uDAInterfaces, Buttons, uControllerDetallesArticulos, uBizPresupuestosCliente, uDAInterfaces, Buttons,
Mask, DBCtrls, cxButtonEdit, cxDropDownEdit, Menus, cxGridCustomPopupMenu, Mask, DBCtrls, cxButtonEdit, cxDropDownEdit, Menus, cxGridCustomPopupMenu,
cxGridPopupMenu, cxDBLookupComboBox, cxCalc, cxEditRepositoryItems; cxGridPopupMenu, cxDBLookupComboBox, cxCalc, cxEditRepositoryItems,
cxContainer, cxLookupEdit, cxDBLookupEdit, uBizDetallesPresupuestoCliente,
cxMemo;
type type
IViewDetallesPresupuestoCliente = interface(IViewDetallesArticulos) IViewDetallesPresupuestoCliente = interface(IViewDetallesArticulos)
@ -27,10 +29,44 @@ type
actAsignarDescuento: TAction; actAsignarDescuento: TAction;
TBXItem18: TTBXItem; TBXItem18: TTBXItem;
TBXSeparatorItem9: TTBXSeparatorItem; TBXSeparatorItem9: TTBXSeparatorItem;
DAPropiedades: TDADataSource;
cxGridViewID_PROPIEDAD: TcxGridDBColumn;
cxLookupComboBox1: TcxLookupComboBox;
DAValores: TDADataSource;
cxRichEdit1: TcxRichEdit;
cxGridViewTIPO_ARTICULO: TcxGridDBColumn;
TBXSubmenuItem1: TTBXSubmenuItem;
TBXSeparatorItem6: TTBXSeparatorItem;
TBXItem14: TTBXItem;
actCapituloCocina: TAction;
actCapituloArmarioF: TAction;
actCapituloBano: TAction;
TBXItem15: TTBXItem;
TBXItem16: TTBXItem;
actCapituloArmarioI: TAction;
TBXItem17: TTBXItem;
actCapituloElectrodomesticos: TAction;
actCapituloVarios: TAction;
TBXItem19: TTBXItem;
TBXItem20: TTBXItem;
procedure actAsignarDescuentoExecute(Sender: TObject); procedure actAsignarDescuentoExecute(Sender: TObject);
procedure actAsignarDescuentoUpdate(Sender: TObject); procedure actAsignarDescuentoUpdate(Sender: TObject);
procedure CustomViewShow(Sender: TObject);
procedure cxGridViewDESCRIPCIONGetPropertiesForEdit(Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
var AProperties: TcxCustomEditProperties);
procedure actCapituloBanoExecute(Sender: TObject);
procedure actCapituloArmarioFExecute(Sender: TObject);
procedure actCapituloArmarioIExecute(Sender: TObject);
procedure actCapituloCocinaExecute(Sender: TObject);
procedure actCapituloElectrodomesticosExecute(Sender: TObject);
procedure actCapituloVariosExecute(Sender: TObject);
private
procedure AnadirCapitulo(const Tipo: String);
protected protected
FPresupuesto: IBizPresupuestoCliente; FPresupuesto: IBizPresupuestoCliente;
FPropiedades: IBizPropiedades;
function GetPresupuesto: IBizPresupuestoCliente; function GetPresupuesto: IBizPresupuestoCliente;
procedure SetPresupuesto(const Value: IBizPresupuestoCliente); procedure SetPresupuesto(const Value: IBizPresupuestoCliente);
@ -38,6 +74,8 @@ type
procedure RellenarArticulosInterno; override; procedure RellenarArticulosInterno; override;
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override; function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
function EsTipoEditable(AItem: TcxCustomGridTableItem): Boolean; override;
public public
property Presupuesto: IBizPresupuestoCliente read GetPresupuesto write SetPresupuesto; property Presupuesto: IBizPresupuestoCliente read GetPresupuesto write SetPresupuesto;
end; end;
@ -45,7 +83,8 @@ type
implementation implementation
{$R *.dfm} {$R *.dfm}
uses uControllerDetallesBase, uDetallesPresupuestoClienteController; uses uControllerDetallesBase, uDetallesPresupuestoClienteController, schPresupuestosClienteClient_Intf,
uCalculosUtils;
{ TfrViewDetallesPresupuestoProveedor } { TfrViewDetallesPresupuestoProveedor }
@ -91,6 +130,36 @@ begin
(Sender as TAction).Enabled := False; (Sender as TAction).Enabled := False;
end; end;
procedure TfrViewDetallesPresupuestoCliente.actCapituloArmarioFExecute(Sender: TObject);
begin
AnadirCapitulo(TIPO_CAPITULO_AF);
end;
procedure TfrViewDetallesPresupuestoCliente.actCapituloArmarioIExecute(Sender: TObject);
begin
AnadirCapitulo(TIPO_CAPITULO_AI);
end;
procedure TfrViewDetallesPresupuestoCliente.actCapituloBanoExecute(Sender: TObject);
begin
AnadirCapitulo(TIPO_CAPITULO_B);
end;
procedure TfrViewDetallesPresupuestoCliente.actCapituloCocinaExecute(Sender: TObject);
begin
AnadirCapitulo(TIPO_CAPITULO_C);
end;
procedure TfrViewDetallesPresupuestoCliente.actCapituloElectrodomesticosExecute(Sender: TObject);
begin
AnadirCapitulo(TIPO_CAPITULO_E);
end;
procedure TfrViewDetallesPresupuestoCliente.actCapituloVariosExecute(Sender: TObject);
begin
AnadirCapitulo(TIPO_CAPITULO_V);
end;
function TfrViewDetallesPresupuestoCliente.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; function TfrViewDetallesPresupuestoCliente.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean;
begin begin
Result := (Controller as IDetallesPresupuestoClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Presupuesto.Cliente.ID); Result := (Controller as IDetallesPresupuestoClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Presupuesto.Cliente.ID);
@ -101,6 +170,91 @@ begin
(Controller as IDetallesPresupuestoClienteController).AnadirArticulos(Detalles, Presupuesto.Cliente); (Controller as IDetallesPresupuestoClienteController).AnadirArticulos(Detalles, Presupuesto.Cliente);
end; end;
procedure TfrViewDetallesPresupuestoCliente.AnadirCapitulo(const Tipo: String);
var
bEsMultiSelect : Boolean;
begin
// Debo quitar el multiselect porque provoca que se quede seleccionado
// el registro actual y no el nuevo registro que voy a añadir
bEsMultiSelect := _FocusedView.OptionsSelection.MultiSelect;
if bEsMultiSelect then
_FocusedView.OptionsSelection.MultiSelect := False;
ShowHourglassCursor;
_FocusedView.BeginUpdate;
try
if _FocusedView.Controller.EditingController.IsEditing then
_FocusedView.Controller.EditingController.Edit.PostEditValue;
if Assigned(Controller) and Assigned(Detalles) then
(Controller as IDetallesPresupuestoClienteController).AnadirCapitulo(Tipo, Detalles)
finally
_FocusedView.EndUpdate;
HideHourglassCursor;
// Dejo la propiedad MultiSelect como estaba
if bEsMultiSelect then
_FocusedView.OptionsSelection.MultiSelect := bEsMultiSelect;
end;
end;
procedure TfrViewDetallesPresupuestoCliente.CustomViewShow(Sender: TObject);
begin
inherited;
if not Assigned(FPropiedades) then
begin
FPropiedades := (Controller as IDetallesPresupuestoClienteController).DarPropiedades;
FPropiedades.DataTable.Active := True;
DAPropiedades.DataTable := FPropiedades.DataTable;
DAValores.DataTable := FPropiedades.Valores.DataTable;
end;
end;
procedure TfrViewDetallesPresupuestoCliente.cxGridViewDESCRIPCIONGetPropertiesForEdit(
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
var AProperties: TcxCustomEditProperties);
begin
inherited;
//OJO sin esto no se refresca el filtro en tabla detalle "VALORES".
(cxGridViewID_PROPIEDAD.Properties as TcxLookupComboBoxProperties).ListSource.DataSet.Locate(fld_PropiedadesID, cxGridViewID_PROPIEDAD.DataBinding.Field.AsVariant,[]);
if (ARecord.DisplayTexts[cxGridViewTIPO.Index] = TIPO_DETALLE_CONCEPTO)
and ((ARecord.DisplayTexts[cxGridViewTIPO_ARTICULO.Index] = TIPO_CAPITULO_AF)
or (ARecord.DisplayTexts[cxGridViewTIPO_ARTICULO.Index] = TIPO_CAPITULO_AI)
or (ARecord.DisplayTexts[cxGridViewTIPO_ARTICULO.Index] = TIPO_CAPITULO_B)) then
AProperties := cxLookupComboBox1.Properties
else
AProperties := cxRichEdit1.Properties;
end;
function TfrViewDetallesPresupuestoCliente.EsTipoEditable(AItem: TcxCustomGridTableItem): Boolean;
var
IndiceCol : Integer;
begin
Result := True;
if (AItem.Index in [cxGridViewID_PROPIEDAD.Index, cxGridViewTIPO_ARTICULO.Index]) then
begin
IndiceCol := cxGridView.GetColumnByFieldName(CAMPO_TIPO).Index;
if ((AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_SALTO) or
(AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_SUBTOTAL) or
(AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_DESCUENTO) or
(AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_TITULO)) then
Result := False
else
begin
IndiceCol := cxGridView.GetColumnByFieldName(fld_PresupuestosCliente_DetallesTIPO_ARTICULO).Index;
if ((AItem.GridView.Items[IndiceCol].EditValue <> TIPO_CAPITULO_AF) and
(AItem.GridView.Items[IndiceCol].EditValue <> TIPO_CAPITULO_AI) and
(AItem.GridView.Items[IndiceCol].EditValue <> TIPO_CAPITULO_B)) then
Result := False
end;
end
else
Result := inherited EsTipoEditable(AItem);
end;
function TfrViewDetallesPresupuestoCliente.GetPresupuesto: IBizPresupuestoCliente; function TfrViewDetallesPresupuestoCliente.GetPresupuesto: IBizPresupuestoCliente;
begin begin
Result := FPresupuesto; Result := FPresupuesto;

View File

@ -62,7 +62,7 @@ type
function BuscarRecibosRemesa(const ID_REMESA: Integer): IBizRecibosCliente; function BuscarRecibosRemesa(const ID_REMESA: Integer): IBizRecibosCliente;
function BuscarRecibosFactura(const ID_FACTURA: Integer): IBizRecibosCliente; function BuscarRecibosFactura(const ID_FACTURA: Integer): IBizRecibosCliente;
function BuscarRecibosACompensar(const Recibo: IBizRecibosCliente): IBizRecibosCliente; function BuscarRecibosACompensar(const Recibo: IBizRecibosCliente): IBizRecibosCliente;
function BuscarRecibosARemesar: IBizRecibosCliente; function BuscarRecibosARemesar(const AListaVisibles, AListaNoVisibles: TStringList): IBizRecibosCliente;
procedure VerTodos(ARecibosCliente: IBizRecibosCliente); procedure VerTodos(ARecibosCliente: IBizRecibosCliente);
procedure Ver(ARecibosCliente: IBizRecibosCliente); procedure Ver(ARecibosCliente: IBizRecibosCliente);
@ -136,7 +136,7 @@ type
function BuscarRecibosRemesa(const ID_REMESA: Integer): IBizRecibosCliente; function BuscarRecibosRemesa(const ID_REMESA: Integer): IBizRecibosCliente;
function BuscarRecibosFactura(const ID_FACTURA: Integer): IBizRecibosCliente; function BuscarRecibosFactura(const ID_FACTURA: Integer): IBizRecibosCliente;
function BuscarRecibosACompensar(const Recibo: IBizRecibosCliente): IBizRecibosCliente; function BuscarRecibosACompensar(const Recibo: IBizRecibosCliente): IBizRecibosCliente;
function BuscarRecibosARemesar: IBizRecibosCliente; function BuscarRecibosARemesar(const AListaVisibles, AListaNoVisibles: TStringList): IBizRecibosCliente;
procedure VerTodos(ARecibosCliente: IBizRecibosCliente); procedure VerTodos(ARecibosCliente: IBizRecibosCliente);
procedure Ver(ARecibosCliente: IBizRecibosCliente); procedure Ver(ARecibosCliente: IBizRecibosCliente);
@ -382,9 +382,10 @@ begin
end; end;
end; end;
function TRecibosClienteController.BuscarRecibosARemesar: IBizRecibosCliente; function TRecibosClienteController.BuscarRecibosARemesar(const AListaVisibles, AListaNoVisibles: TStringList): IBizRecibosCliente;
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;
i: Integer;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
@ -411,6 +412,26 @@ begin
else else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd); Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end; end;
//En este caso vamos a quitar de la lista de recibos pendientes aquellos que ya hemos
//añadido a la remesa pero que estan en memoria ya que todavia no se ha guarado en BD
for i := 0 to AListaNoVisibles.Count - 1 do
with Result.DataTable.DynamicWhere do
begin
//Solo dejaremos remesar aquellos recibos que no esten cobrados (Pendientes/Devueltos)
Condicion := NewBinaryExpression(NewField('', fld_RecibosClienteID), NewConstant(AListaNoVisibles.Strings[i], datString), dboNotEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
//En el caso contrario no hacemos nada, porque si se elimina un recibo de la remesa
//y sin guardar los cambios damos a añadir el recibo todavia está cobrado y no se que efectos
//secundarios puede provocar
//AListaVisibles
finally finally
HideHourglassCursor; HideHourglassCursor;
end; end;

View File

@ -13,7 +13,8 @@ uses
cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid,
cxImage, Grids, DBGrids, uBizRecibosCliente, cxGridCustomPopupMenu, cxImage, Grids, DBGrids, uBizRecibosCliente, cxGridCustomPopupMenu,
cxGridPopupMenu, cxCalendar, cxCurrencyEdit, uViewFiltroBase, TB2Item, TBX, cxGridPopupMenu, cxCalendar, cxCurrencyEdit, uViewFiltroBase, TB2Item, TBX,
TB2Toolbar, TBXDkPanels, TB2Dock, dxPgsDlg, uDAInterfaces; TB2Toolbar, TBXDkPanels, TB2Dock, dxPgsDlg, uDAInterfaces, uCustomView,
uViewBase;
type type
IViewRecibosCliente = interface(IViewGrid) IViewRecibosCliente = interface(IViewGrid)

View File

@ -58,7 +58,7 @@ type
function BuscarRecibosRemesa(const ID_REMESA: Integer): IBizRecibosProveedor; function BuscarRecibosRemesa(const ID_REMESA: Integer): IBizRecibosProveedor;
function BuscarRecibosFactura(const ID_FACTURA: Integer): IBizRecibosProveedor; function BuscarRecibosFactura(const ID_FACTURA: Integer): IBizRecibosProveedor;
function BuscarRecibosACompensar(const Recibo: IBizRecibosProveedor): IBizRecibosProveedor; function BuscarRecibosACompensar(const Recibo: IBizRecibosProveedor): IBizRecibosProveedor;
function BuscarRecibosARemesar: IBizRecibosProveedor; function BuscarRecibosARemesar(const AListaVisibles, AListaNoVisibles: TStringList): IBizRecibosProveedor;
procedure VerTodos(ARecibosProveedor: IBizRecibosProveedor); procedure VerTodos(ARecibosProveedor: IBizRecibosProveedor);
procedure Ver(ARecibosProveedor: IBizRecibosProveedor); procedure Ver(ARecibosProveedor: IBizRecibosProveedor);
@ -130,7 +130,7 @@ type
function BuscarRecibosRemesa(const ID_REMESA: Integer): IBizRecibosProveedor; function BuscarRecibosRemesa(const ID_REMESA: Integer): IBizRecibosProveedor;
function BuscarRecibosFactura(const ID_FACTURA: Integer): IBizRecibosProveedor; function BuscarRecibosFactura(const ID_FACTURA: Integer): IBizRecibosProveedor;
function BuscarRecibosACompensar(const Recibo: IBizRecibosProveedor): IBizRecibosProveedor; function BuscarRecibosACompensar(const Recibo: IBizRecibosProveedor): IBizRecibosProveedor;
function BuscarRecibosARemesar: IBizRecibosProveedor; function BuscarRecibosARemesar(const AListaVisibles, AListaNoVisibles: TStringList): IBizRecibosProveedor;
procedure VerTodos(ARecibosProveedor: IBizRecibosProveedor); procedure VerTodos(ARecibosProveedor: IBizRecibosProveedor);
procedure Ver(ARecibosProveedor: IBizRecibosProveedor); procedure Ver(ARecibosProveedor: IBizRecibosProveedor);
@ -374,9 +374,10 @@ begin
end; end;
end; end;
function TRecibosProveedorController.BuscarRecibosARemesar: IBizRecibosProveedor; function TRecibosProveedorController.BuscarRecibosARemesar(const AListaVisibles, AListaNoVisibles: TStringList): IBizRecibosProveedor;
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;
i: Integer;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
@ -403,6 +404,26 @@ begin
else else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd); Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end; end;
//En este caso vamos a quitar de la lista de recibos pendientes aquellos que ya hemos
//añadido a la remesa pero que estan en memoria ya que todavia no se ha guarado en BD
for i := 0 to AListaNoVisibles.Count - 1 do
with Result.DataTable.DynamicWhere do
begin
//Solo dejaremos remesar aquellos recibos que no esten cobrados (Pendientes/Devueltos)
Condicion := NewBinaryExpression(NewField('', fld_RecibosProveedorID), NewConstant(AListaNoVisibles.Strings[i], datString), dboNotEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
//En el caso contrario no hacemos nada, porque si se elimina un recibo de la remesa
//y sin guardar los cambios damos a añadir el recibo todavia está cobrado y no se que efectos
//secundarios puede provocar
//AListaVisibles
finally finally
HideHourglassCursor; HideHourglassCursor;
end; end;

View File

@ -28,7 +28,7 @@ type
function EsModificable(ARemesaProveedor : IBizRemesaCliente): Boolean; function EsModificable(ARemesaProveedor : IBizRemesaCliente): Boolean;
function EsEliminable(ARemesaProveedor : IBizRemesaCliente): Boolean; function EsEliminable(ARemesaProveedor : IBizRemesaCliente): Boolean;
function ElegirRecibosCliente(ARemesaCliente : IBizRemesaCliente): Boolean; function ElegirRecibosCliente(ARemesaCliente : IBizRemesaCliente; AListaRecibosIniciales: TStringList): Boolean;
procedure EliminarReciboCliente(ARemesaCliente : IBizRemesaCliente); procedure EliminarReciboCliente(ARemesaCliente : IBizRemesaCliente);
function GetRecibosClienteController: IRecibosClienteController; function GetRecibosClienteController: IRecibosClienteController;
property RecibosClienteController: IRecibosClienteController read GetRecibosClienteController; property RecibosClienteController: IRecibosClienteController read GetRecibosClienteController;
@ -79,7 +79,7 @@ type
function EsEliminable(ARemesaProveedor : IBizRemesaCliente): Boolean; function EsEliminable(ARemesaProveedor : IBizRemesaCliente): Boolean;
function ExtraerSeleccionados(ARemesasCliente: IBizRemesaCliente) : IBizRemesaCliente; virtual; function ExtraerSeleccionados(ARemesasCliente: IBizRemesaCliente) : IBizRemesaCliente; virtual;
function ElegirRecibosCliente(ARemesaCliente : IBizRemesaCliente): Boolean; function ElegirRecibosCliente(ARemesaCliente : IBizRemesaCliente; AListaRecibosIniciales: TStringList): Boolean;
procedure EliminarReciboCliente(ARemesaCliente : IBizRemesaCliente); procedure EliminarReciboCliente(ARemesaCliente : IBizRemesaCliente);
end; end;
@ -284,14 +284,40 @@ begin
ARemesaCliente := NIL; ARemesaCliente := NIL;
end; end;
function TRemesasClienteController.ElegirRecibosCliente(ARemesaCliente: IBizRemesaCliente): Boolean; function TRemesasClienteController.ElegirRecibosCliente(ARemesaCliente: IBizRemesaCliente; AListaRecibosIniciales: TStringList): Boolean;
var var
ARecibosRemesa : IBizRecibosCliente; ARecibosRemesa : IBizRecibosCliente;
ARecibosSeleccionados : IBizRecibosCliente; ARecibosSeleccionados : IBizRecibosCliente;
ListaRecibosVisibles: TStringList;
ListaRecibosNoVisibles: TStringList;
i: Integer;
begin begin
Result := False; Result := False;
ARecibosSeleccionados := (FRecibosClienteController.ElegirRecibos(FRecibosClienteController.BuscarRecibosARemesar, 'Elija uno o más recibos para incluirlos en esta remesa', True) as IBizRecibosCliente); ListaRecibosVisibles := TStringList.Create;
ListaRecibosNoVisibles := TStringList.Create;
//Todos los recibos que tenga la remesa no deben de visualizarse en la lista de seleccion
ARemesaCliente.Recibos.DataTable.First;
while not ARemesaCliente.Recibos.DataTable.eof do
begin
ListaRecibosNoVisibles.Add(IntToStr(ARemesaCliente.Recibos.ID));
ARemesaCliente.Recibos.DataTable.Next;
end;
ARemesaCliente.Recibos.DataTable.First;
//Si de la lista inicial hay alguno que no se encuentre en la lista de recibos de la
//remesa que tenemos en memoria dicho recibo debería verse por lo que lo añadimos a la lista de visibles
for i := 0 to AListaRecibosIniciales.Count - 1 do
begin
ARemesaCliente.Recibos.DataTable.First;
if not ARemesaCliente.Recibos.DataTable.Locate(fld_RecibosClienteID, AListaRecibosIniciales.strings[i], []) then
ListaRecibosVisibles.Add(AListaRecibosIniciales.strings[i]);
end;
ARemesaCliente.Recibos.DataTable.First;
ARecibosSeleccionados := (FRecibosClienteController.ElegirRecibos(FRecibosClienteController.BuscarRecibosARemesar(ListaRecibosVisibles, ListaRecibosNoVisibles), 'Elija uno o más recibos para incluirlos en esta remesa', True) as IBizRecibosCliente);
if Assigned(ARecibosSeleccionados) then if Assigned(ARecibosSeleccionados) then
begin begin
ShowHourglassCursor; ShowHourglassCursor;
@ -307,6 +333,8 @@ begin
end; end;
end; end;
ListaRecibosVisibles.Free;
ListaRecibosNoVisibles.Free;
ARecibosRemesa := Nil; ARecibosRemesa := Nil;
ARecibosSeleccionados := Nil; ARecibosSeleccionados := Nil;
end; end;

View File

@ -1,6 +1,7 @@
inherited frViewRecibosRemesaCliente: TfrViewRecibosRemesaCliente inherited frViewRecibosRemesaCliente: TfrViewRecibosRemesaCliente
Width = 549 Width = 549
Height = 376 Height = 376
OnShow = CustomViewShow
ExplicitWidth = 549 ExplicitWidth = 549
ExplicitHeight = 376 ExplicitHeight = 376
inherited cxGrid: TcxGrid inherited cxGrid: TcxGrid

View File

@ -28,10 +28,12 @@ type
cxGridViewIMPORTE: TcxGridDBColumn; cxGridViewIMPORTE: TcxGridDBColumn;
cxGridViewOTROS_GASTOS: TcxGridDBColumn; cxGridViewOTROS_GASTOS: TcxGridDBColumn;
cxGridViewIMPORTE_TOTAL: TcxGridDBColumn; cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
procedure CustomViewShow(Sender: TObject);
protected protected
FHayCambios : Boolean; FHayCambios : Boolean;
FRemesa : IBizRemesaCliente; FRemesa : IBizRemesaCliente;
FController : IRemesasClienteController; FController : IRemesasClienteController;
FListaRecibosIniciales: TStringList;
procedure AnadirInterno; override; procedure AnadirInterno; override;
procedure EliminarInterno; override; procedure EliminarInterno; override;
@ -64,7 +66,7 @@ uses
procedure TfrViewRecibosRemesaCliente.AnadirInterno; procedure TfrViewRecibosRemesaCliente.AnadirInterno;
begin begin
//inherited; // No hacer el comportamiento normal //inherited; // No hacer el comportamiento normal
if FController.ElegirRecibosCliente(RemesaCliente) then if FController.ElegirRecibosCliente(RemesaCliente, FListaRecibosIniciales) then
begin begin
Modified := True; Modified := True;
end; end;
@ -74,10 +76,25 @@ constructor TfrViewRecibosRemesaCliente.Create(AOwner: TComponent);
begin begin
inherited; inherited;
FHayCambios := False; FHayCambios := False;
FListaRecibosIniciales := TStringList.Create;
end;
procedure TfrViewRecibosRemesaCliente.CustomViewShow(Sender: TObject);
begin
inherited;
FRemesa.Recibos.DataTable.First;
while not FRemesa.Recibos.DataTable.eof do
begin
FListaRecibosIniciales.Add(IntToStr(FRemesa.Recibos.ID));
FRemesa.Recibos.DataTable.next;
end;
FRemesa.Recibos.DataTable.First;
end; end;
destructor TfrViewRecibosRemesaCliente.Destroy; destructor TfrViewRecibosRemesaCliente.Destroy;
begin begin
FListaRecibosIniciales.Free;
inherited; inherited;
end; end;

View File

@ -28,7 +28,7 @@ type
function EsModificable(ARemesaProveedor : IBizRemesaProveedor): Boolean; function EsModificable(ARemesaProveedor : IBizRemesaProveedor): Boolean;
function EsEliminable(ARemesaProveedor : IBizRemesaProveedor): Boolean; function EsEliminable(ARemesaProveedor : IBizRemesaProveedor): Boolean;
function ElegirRecibosProveedor(ARemesaProveedor : IBizRemesaProveedor): Boolean; function ElegirRecibosProveedor(ARemesaProveedor : IBizRemesaProveedor; AListaRecibosIniciales: TStringList): Boolean;
procedure EliminarReciboProveedor(ARemesaProveedor : IBizRemesaProveedor); procedure EliminarReciboProveedor(ARemesaProveedor : IBizRemesaProveedor);
function GetRecibosProveedorController: IRecibosProveedorController; function GetRecibosProveedorController: IRecibosProveedorController;
property RecibosProveedorController: IRecibosProveedorController read GetRecibosProveedorController; property RecibosProveedorController: IRecibosProveedorController read GetRecibosProveedorController;
@ -79,7 +79,7 @@ type
function EsEliminable(ARemesaProveedor : IBizRemesaProveedor): Boolean; function EsEliminable(ARemesaProveedor : IBizRemesaProveedor): Boolean;
function ExtraerSeleccionados(ARemesasProveedor: IBizRemesaProveedor) : IBizRemesaProveedor; virtual; function ExtraerSeleccionados(ARemesasProveedor: IBizRemesaProveedor) : IBizRemesaProveedor; virtual;
function ElegirRecibosProveedor(ARemesaProveedor : IBizRemesaProveedor): Boolean; function ElegirRecibosProveedor(ARemesaProveedor : IBizRemesaProveedor; AListaRecibosIniciales: TStringList): Boolean;
procedure EliminarReciboProveedor(ARemesaProveedor : IBizRemesaProveedor); procedure EliminarReciboProveedor(ARemesaProveedor : IBizRemesaProveedor);
end; end;
@ -283,14 +283,41 @@ begin
ARemesaProveedor := NIL; ARemesaProveedor := NIL;
end; end;
function TRemesasProveedorController.ElegirRecibosProveedor(ARemesaProveedor: IBizRemesaProveedor): Boolean; function TRemesasProveedorController.ElegirRecibosProveedor(ARemesaProveedor: IBizRemesaProveedor; AListaRecibosIniciales: TStringList): Boolean;
var var
ARecibosRemesa : IBizRecibosProveedor; ARecibosRemesa : IBizRecibosProveedor;
ARecibosSeleccionados : IBizRecibosProveedor; ARecibosSeleccionados : IBizRecibosProveedor;
ListaRecibosVisibles: TStringList;
ListaRecibosNoVisibles: TStringList;
i: Integer;
begin begin
Result := False; Result := False;
ARecibosSeleccionados := (FRecibosProveedorController.ElegirRecibos(FRecibosProveedorController.BuscarRecibosARemesar, 'Elija uno o más recibos para incluirlos en esta remesa', True) as IBizRecibosProveedor);
ListaRecibosVisibles := TStringList.Create;
ListaRecibosNoVisibles := TStringList.Create;
//Todos los recibos que tenga la remesa no deben de visualizarse en la lista de seleccion
ARemesaProveedor.Recibos.DataTable.First;
while not ARemesaProveedor.Recibos.DataTable.eof do
begin
ListaRecibosNoVisibles.Add(IntToStr(ARemesaProveedor.Recibos.ID));
ARemesaProveedor.Recibos.DataTable.Next;
end;
ARemesaProveedor.Recibos.DataTable.First;
//Si de la lista inicial hay alguno que no se encuentre en la lista de recibos de la
//remesa que tenemos en memoria dicho recibo debería verse por lo que lo añadimos a la lista de visibles
for i := 0 to AListaRecibosIniciales.Count - 1 do
begin
ARemesaProveedor.Recibos.DataTable.First;
if not ARemesaProveedor.Recibos.DataTable.Locate(fld_RecibosProveedorID, AListaRecibosIniciales.strings[i], []) then
ListaRecibosVisibles.Add(AListaRecibosIniciales.strings[i]);
end;
ARemesaProveedor.Recibos.DataTable.First;
ARecibosSeleccionados := (FRecibosProveedorController.ElegirRecibos(FRecibosProveedorController.BuscarRecibosARemesar(ListaRecibosVisibles, ListaRecibosNoVisibles), 'Elija uno o más recibos para incluirlos en esta remesa', True) as IBizRecibosProveedor);
if Assigned(ARecibosSeleccionados) then if Assigned(ARecibosSeleccionados) then
begin begin
ShowHourglassCursor; ShowHourglassCursor;
@ -306,6 +333,8 @@ begin
end; end;
end; end;
ListaRecibosVisibles.Free;
ListaRecibosNoVisibles.Free;
ARecibosRemesa := Nil; ARecibosRemesa := Nil;
ARecibosSeleccionados := Nil; ARecibosSeleccionados := Nil;
end; end;

View File

@ -1,6 +1,7 @@
inherited frViewRecibosRemesaProveedor: TfrViewRecibosRemesaProveedor inherited frViewRecibosRemesaProveedor: TfrViewRecibosRemesaProveedor
Width = 549 Width = 549
Height = 376 Height = 376
OnShow = CustomViewShow
ExplicitWidth = 549 ExplicitWidth = 549
ExplicitHeight = 376 ExplicitHeight = 376
inherited cxGrid: TcxGrid inherited cxGrid: TcxGrid

View File

@ -28,10 +28,12 @@ type
cxGridViewIMPORTE: TcxGridDBColumn; cxGridViewIMPORTE: TcxGridDBColumn;
cxGridViewOTROS_GASTOS: TcxGridDBColumn; cxGridViewOTROS_GASTOS: TcxGridDBColumn;
cxGridViewIMPORTE_TOTAL: TcxGridDBColumn; cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
procedure CustomViewShow(Sender: TObject);
protected protected
FHayCambios : Boolean; FHayCambios : Boolean;
FRemesa : IBizRemesaProveedor; FRemesa : IBizRemesaProveedor;
FController : IRemesasProveedorController; FController : IRemesasProveedorController;
FListaRecibosIniciales: TStringList;
procedure AnadirInterno; override; procedure AnadirInterno; override;
procedure EliminarInterno; override; procedure EliminarInterno; override;
@ -64,7 +66,7 @@ uses
procedure TfrViewRecibosRemesaProveedor.AnadirInterno; procedure TfrViewRecibosRemesaProveedor.AnadirInterno;
begin begin
//inherited; // No hacer el comportamiento normal //inherited; // No hacer el comportamiento normal
if FController.ElegirRecibosProveedor(RemesaProveedor) then if FController.ElegirRecibosProveedor(RemesaProveedor, FListaRecibosIniciales) then
begin begin
Modified := True; Modified := True;
end; end;
@ -74,10 +76,25 @@ constructor TfrViewRecibosRemesaProveedor.Create(AOwner: TComponent);
begin begin
inherited; inherited;
FHayCambios := False; FHayCambios := False;
FListaRecibosIniciales := TStringList.Create;
end;
procedure TfrViewRecibosRemesaProveedor.CustomViewShow(Sender: TObject);
begin
inherited;
FRemesa.Recibos.DataTable.First;
while not FRemesa.Recibos.DataTable.eof do
begin
FListaRecibosIniciales.Add(IntToStr(FRemesa.Recibos.ID));
FRemesa.Recibos.DataTable.next;
end;
FRemesa.Recibos.DataTable.First;
end; end;
destructor TfrViewRecibosRemesaProveedor.Destroy; destructor TfrViewRecibosRemesaProveedor.Destroy;
begin begin
FListaRecibosIniciales.Free;
inherited; inherited;
end; end;

Binary file not shown.

View File

@ -1,287 +1,285 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid> <ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid>
<MainSource>FactuGES_Server.dpr</MainSource> <MainSource>FactuGES_Server.dpr</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Servidor\FactuGES_Server.exe</DCC_DependencyCheckOutputName> <DCC_DependencyCheckOutputName>..\..\Output\Debug\Servidor\FactuGES_Server.exe</DCC_DependencyCheckOutputName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version> <Version>7.0</Version>
<DCC_DebugInformation>False</DCC_DebugInformation> <DCC_DebugInformation>False</DCC_DebugInformation>
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols> <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_MapFile>3</DCC_MapFile> <DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Release\Servidor</DCC_ExeOutput> <DCC_ExeOutput>..\..\Output\Release\Servidor</DCC_ExeOutput>
<DCC_Define>RELEASE</DCC_Define> <DCC_Define>RELEASE</DCC_Define>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version> <Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile> <DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Debug\Servidor</DCC_ExeOutput> <DCC_ExeOutput>..\..\Output\Debug\Servidor</DCC_ExeOutput>
<DCC_Define>DEBUG;</DCC_Define> <DCC_Define>DEBUG;</DCC_Define>
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames> <DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
</PropertyGroup> </PropertyGroup>
<ProjectExtensions> <ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType /> <Borland.ProjectType/>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">3</VersionInfo><VersionInfo Name="Release">4</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.3.4.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES (Servidor)</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.3.4.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">miércoles, 24 de junio de 2009 12:42</VersionInfoKeys></VersionInfoKeys><Excluded_Packages> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">3</VersionInfo><VersionInfo Name="Release">4</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.3.4.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES (Servidor)</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.3.4.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">miércoles, 24 de junio de 2009 12:42</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dclfqb100.bpl">FastQueryBuilder 1.03</Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\JvUIBD11D.bpl">JVCL Unified Interbase Components</Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dclfqb100.bpl">FastQueryBuilder 1.03</Excluded_Packages> </Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\JvUIBD11D.bpl">JVCL Unified Interbase Components</Excluded_Packages> </ProjectExtensions>
</Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject> <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets"/>
</ProjectExtensions> <ItemGroup>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" /> <DelphiCompile Include="FactuGES_Server.dpr">
<ItemGroup> <MainSource>MainSource</MainSource>
<DelphiCompile Include="FactuGES_Server.dpr"> </DelphiCompile>
<MainSource>MainSource</MainSource> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosClient_Intf.pas"/>
</DelphiCompile> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosServer_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosClient_Intf.pas" /> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\uBizEjerciciosServer.pas"/>
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosServer_Intf.pas" /> <DCCReference Include="..\ApplicationBase\Ejercicios\Servidor\srvEjercicios_Impl.pas">
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\uBizEjerciciosServer.pas" /> <Form>srvEjercicios</Form>
<DCCReference Include="..\ApplicationBase\Ejercicios\Servidor\srvEjercicios_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvEjercicios</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas" /> <DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas">
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas" /> <Form>srvEmpresas</Form>
<DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas"> <DesignClass>TDARemoteService</DesignClass>
<Form>srvEmpresas</Form> </DCCReference>
<DesignClass>TDARemoteService</DesignClass> <DCCReference Include="..\ApplicationBase\ProvinciasPoblaciones\Servidor\srvProvinciasPoblaciones_Impl.pas">
</DCCReference> <Form>srvProvinciasPoblaciones</Form>
<DCCReference Include="..\ApplicationBase\ProvinciasPoblaciones\Servidor\srvProvinciasPoblaciones_Impl.pas"> <DesignClass>TRORemoteDataModule</DesignClass>
<Form>srvProvinciasPoblaciones</Form> </DCCReference>
<DesignClass>TRORemoteDataModule</DesignClass> <DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas" /> <DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas" /> <DCCReference Include="..\Base\schBase_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas" /> <DCCReference Include="..\Base\Utiles\uSistemaFunc.pas"/>
<DCCReference Include="..\Base\schBase_Intf.pas" /> <DCCReference Include="..\Base\Utiles\uStringsUtils.pas"/>
<DCCReference Include="..\Base\Utiles\uSistemaFunc.pas" /> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas"/>
<DCCReference Include="..\Base\Utiles\uStringsUtils.pas" /> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas" /> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas" /> <DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas" /> <DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas">
<DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas" /> <Form>srvAlbaranesCliente</Form>
<DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvAlbaranesCliente</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas" /> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS"/>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas" /> <DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS" /> <Form>srvAlbaranesProveedor</Form>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvAlbaranesProveedor</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas" /> <DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas">
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas" /> <Form>srvAlmacenes</Form>
<DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas"> <DesignClass>TDARemoteService</DesignClass>
<Form>srvAlmacenes</Form> </DCCReference>
<DesignClass>TDARemoteService</DesignClass> <DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas" /> <DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas"/>
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas" /> <DCCReference Include="..\Modulos\Comisiones\Model\schComisionesClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas" /> <DCCReference Include="..\Modulos\Comisiones\Model\schComisionesServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesClient_Intf.pas" /> <DCCReference Include="..\Modulos\Comisiones\Model\uBizComisionesServer.pas"/>
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesServer_Intf.pas" /> <DCCReference Include="..\Modulos\Comisiones\Reports\uRptComisiones_Server.pas">
<DCCReference Include="..\Modulos\Comisiones\Model\uBizComisionesServer.pas" /> <Form>RptComisiones</Form>
<DCCReference Include="..\Modulos\Comisiones\Reports\uRptComisiones_Server.pas"> <DesignClass>TDataModule</DesignClass>
<Form>RptComisiones</Form> </DCCReference>
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Comisiones\Servidor\srvComisiones_Impl.pas">
</DCCReference> <Form>srvComisiones</Form>
<DCCReference Include="..\Modulos\Comisiones\Servidor\srvComisiones_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvComisiones</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas" /> <DCCReference Include="..\Modulos\Contabilidad\Model\uBizAsientosServer.pas"/>
<DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas" /> <DCCReference Include="..\Modulos\Contabilidad\Servidor\srvContabilidad_Impl.pas">
<DCCReference Include="..\Modulos\Contabilidad\Model\uBizAsientosServer.pas" /> <Form>srvContabilidad</Form>
<DCCReference Include="..\Modulos\Contabilidad\Servidor\srvContabilidad_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvContabilidad</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas" /> <DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas" /> <DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas" /> <DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas" /> <DCCReference Include="..\Modulos\Contactos\Model\uBizVendedoresServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas" /> <DCCReference Include="..\Modulos\Contactos\Reports\uRptEtiquetasContacto_Server.pas">
<DCCReference Include="..\Modulos\Contactos\Model\uBizVendedoresServer.pas" /> <Form>RptEtiquetasContacto</Form>
<DCCReference Include="..\Modulos\Contactos\Reports\uRptEtiquetasContacto_Server.pas"> <DesignClass>TDataModule</DesignClass>
<Form>RptEtiquetasContacto</Form> </DCCReference>
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas">
</DCCReference> <Form>srvContactos</Form>
<DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas"> <DesignClass>TDARemoteService</DesignClass>
<Form>srvContactos</Form> </DCCReference>
<DesignClass>TDARemoteService</DesignClass> <DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas" /> <DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas"/>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas" /> <DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas">
<DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas" /> <Form>RptFacturasCliente</Form>
<DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas"> <DesignClass>TDataModule</DesignClass>
<Form>RptFacturasCliente</Form> </DCCReference>
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Facturas de cliente\Servidor\srvFacturasCliente_Impl.pas">
</DCCReference> <Form>srvFacturasCliente</Form>
<DCCReference Include="..\Modulos\Facturas de cliente\Servidor\srvFacturasCliente_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvFacturasCliente</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas" /> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas" /> <DCCReference Include="..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas">
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas" /> <Form>RptFacturasProveedor</Form>
<DCCReference Include="..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas"> <DesignClass>TDataModule</DesignClass>
<Form>RptFacturasProveedor</Form> </DCCReference>
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Facturas de proveedor\Servidor\srvFacturasProveedor_Impl.pas">
</DCCReference> <Form>srvFacturasProveedor</Form>
<DCCReference Include="..\Modulos\Facturas de proveedor\Servidor\srvFacturasProveedor_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvFacturasProveedor</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas" /> <DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas"/>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas" /> <DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas" /> <DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas" /> <DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas"/>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas" /> <DCCReference Include="..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas">
<DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas" /> <Form>srvGestorDocumentos</Form>
<DCCReference Include="..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvGestorDocumentos</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas">
</DCCReference> <Form>srvGestorInformes</Form>
<DCCReference Include="..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvGestorInformes</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas" /> <DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas">
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas" /> <Form>srvHistoricoMovimientos</Form>
<DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvHistoricoMovimientos</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas" /> <DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas">
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas" /> <Form>srvInventario</Form>
<DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvInventario</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas" /> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas" /> <DCCReference Include="..\Modulos\Pedidos a proveedor\Servidor\srvPedidosProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas" /> <Form>srvPedidosProveedor</Form>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Servidor\srvPedidosProveedor_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvPedidosProveedor</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas" /> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas"/>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas" /> <DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas">
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas" /> <Form>RptPresupuestosCliente</Form>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas"> </DCCReference>
<Form>RptPresupuestosCliente</Form> <DCCReference Include="..\Modulos\Presupuestos de cliente\Servidor\srvPresupuestosCliente_Impl.pas">
</DCCReference> <Form>srvPresupuestosCliente</Form>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Servidor\srvPresupuestosCliente_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvPresupuestosCliente</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas" /> <DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizPagosClienteServer.pas"/>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas" /> <DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizRecibosClienteServer.pas"/>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizPagosClienteServer.pas" /> <DCCReference Include="..\Modulos\Recibos de cliente\Reports\uRptRecibosCliente_Server.pas">
<DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizRecibosClienteServer.pas" /> <Form>RptRecibosCliente</Form>
<DCCReference Include="..\Modulos\Recibos de cliente\Reports\uRptRecibosCliente_Server.pas"> <DesignClass>TDataModule</DesignClass>
<Form>RptRecibosCliente</Form> </DCCReference>
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Recibos de cliente\Servidor\srvRecibosCliente_Impl.pas">
</DCCReference> <Form>srvRecibosCliente</Form>
<DCCReference Include="..\Modulos\Recibos de cliente\Servidor\srvRecibosCliente_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvRecibosCliente</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas" /> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizPagosProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas" /> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizRecibosProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizPagosProveedorServer.pas" /> <DCCReference Include="..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas">
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizRecibosProveedorServer.pas" /> <Form>RptRecibosProveedor</Form>
<DCCReference Include="..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas"> <DesignClass>TDataModule</DesignClass>
<Form>RptRecibosProveedor</Form> </DCCReference>
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Recibos de proveedor\Servidor\srvRecibosProveedor_Impl.pas">
</DCCReference> <Form>srvRecibosProveedor</Form>
<DCCReference Include="..\Modulos\Recibos de proveedor\Servidor\srvRecibosProveedor_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvRecibosProveedor</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas" /> <DCCReference Include="..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas">
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas" /> <Form>srvReferencias</Form>
<DCCReference Include="..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvReferencias</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas" /> <DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas"/>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas" /> <DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas">
<DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas" /> <Form>srvRemesasCliente</Form>
<DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvRemesasCliente</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas" /> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas" /> <DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas" /> <Form>srvRemesasProveedor</Form>
<DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvRemesasProveedor</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas" /> <DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas"/>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas" /> <DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas" /> <DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas" /> <DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas">
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas" /> <Form>srvUnidadesMedida</Form>
<DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvUnidadesMedida</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Servicios\FactuGES_Intf.pas"/>
</DCCReference> <DCCReference Include="..\Servicios\FactuGES_Invk.pas"/>
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" /> <DCCReference Include="Configuracion\srvConfiguracion_Impl.pas">
<DCCReference Include="..\Servicios\FactuGES_Invk.pas" /> <Form>srvConfiguracion</Form>
<DCCReference Include="Configuracion\srvConfiguracion_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvConfiguracion</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="Configuracion\uConexionBD.pas">
</DCCReference> <Form>frConexionBD</Form>
<DCCReference Include="Configuracion\uConexionBD.pas"> <DesignClass>TFrame</DesignClass>
<Form>frConexionBD</Form> </DCCReference>
<DesignClass>TFrame</DesignClass> <DCCReference Include="Configuracion\uConfGeneral.pas">
</DCCReference> <Form>frConfGeneral</Form>
<DCCReference Include="Configuracion\uConfGeneral.pas"> <DesignClass>TFrame</DesignClass>
<Form>frConfGeneral</Form> </DCCReference>
<DesignClass>TFrame</DesignClass> <DCCReference Include="Configuracion\uConfiguracion.pas">
</DCCReference> <Form>fConfiguracion</Form>
<DCCReference Include="Configuracion\uConfiguracion.pas"> <DesignClass>TForm</DesignClass>
<Form>fConfiguracion</Form> </DCCReference>
<DesignClass>TForm</DesignClass> <DCCReference Include="Configuracion\uFrameConfiguracion.pas">
</DCCReference> <Form>FrameConfiguracion</Form>
<DCCReference Include="Configuracion\uFrameConfiguracion.pas"> <DesignClass>TFrame</DesignClass>
<Form>FrameConfiguracion</Form> </DCCReference>
<DesignClass>TFrame</DesignClass> <DCCReference Include="srvLogin_Impl.pas">
</DCCReference> <Form>srvLogin</Form>
<DCCReference Include="srvLogin_Impl.pas"> <DesignClass>TDARemoteService</DesignClass>
<Form>srvLogin</Form> </DCCReference>
<DesignClass>TDARemoteService</DesignClass> <DCCReference Include="uAcercaDe.pas">
</DCCReference> <Form>fAcercaDe</Form>
<DCCReference Include="uAcercaDe.pas"> </DCCReference>
<Form>fAcercaDe</Form> <DCCReference Include="uDataModuleServer.pas">
</DCCReference> <Form>dmServer</Form>
<DCCReference Include="uDataModuleServer.pas"> <DesignClass>TDataModule</DesignClass>
<Form>dmServer</Form> </DCCReference>
<DesignClass>TDataModule</DesignClass> <DCCReference Include="uServerMainForm.pas">
</DCCReference> <Form>fServerForm</Form>
<DCCReference Include="uServerMainForm.pas"> </DCCReference>
<Form>fServerForm</Form> <DCCReference Include="Utiles\RegExpr.pas"/>
</DCCReference> <DCCReference Include="Utiles\uBusinessUtils.pas"/>
<DCCReference Include="Utiles\RegExpr.pas" /> <DCCReference Include="Utiles\uDatabaseUtils.pas"/>
<DCCReference Include="Utiles\uBusinessUtils.pas" /> <DCCReference Include="Utiles\uReferenciasUtils.pas"/>
<DCCReference Include="Utiles\uDatabaseUtils.pas" /> <DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas"/>
<DCCReference Include="Utiles\uReferenciasUtils.pas" /> <DCCReference Include="Utiles\uSchemaUtilsServer.pas"/>
<DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas" /> <DCCReference Include="Utiles\uServerAppUtils.pas"/>
<DCCReference Include="Utiles\uSchemaUtilsServer.pas" /> <DCCReference Include="Utiles\uSesionesUtils.pas"/>
<DCCReference Include="Utiles\uServerAppUtils.pas" /> </ItemGroup>
<DCCReference Include="Utiles\uSesionesUtils.pas" />
</ItemGroup>
</Project> </Project>
<!-- EurekaLog First Line <!-- EurekaLog First Line
[Exception Log] [Exception Log]

View File

@ -16,7 +16,7 @@ BEGIN
VALUE "FileVersion", "2.3.4.0\0" VALUE "FileVersion", "2.3.4.0\0"
VALUE "ProductName", "FactuGES (Servidor)\0" VALUE "ProductName", "FactuGES (Servidor)\0"
VALUE "ProductVersion", "2.3.4.0\0" VALUE "ProductVersion", "2.3.4.0\0"
VALUE "CompileDate", "martes, 30 de junio de 2009 16:50\0" VALUE "CompileDate", "jueves, 09 de julio de 2009 10:31\0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"