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,
// además de que los capitulos tengan su subtotal de cierre
procedure ValidarDetalles(ADataTable: IDAStronglyTypedDataTable);
procedure ValidarDetalles(ADataTable: IDAStronglyTypedDataTable); virtual;
end;
@ -662,6 +662,7 @@ var
bEnCapitulo : Boolean;
AuxPosicionIni : Integer;
AuxPosicion : Integer;
begin
bEnCapitulo := False;
ATipoCampo := '';
@ -685,14 +686,14 @@ begin
//para que no falle el calculo del documento
if (Length(ATipoCampo) = 0) then
begin
if not ADataTable.DataTable.Editing then
ADataTable.DataTable.Edit;
ADataTable.DataTable.FieldByName(CAMPO_TIPO).AsString := TIPO_DETALLE_CONCEPTO;
ADataTable.DataTable.Post;
if not ADataTable.DataTable.Editing then
ADataTable.DataTable.Edit;
ADataTable.DataTable.FieldByName(CAMPO_TIPO).AsString := TIPO_DETALLE_CONCEPTO;
ADataTable.DataTable.Post;
end;
if (ATipoCampo = TIPO_DETALLE_SUBTOTAL) and bEnCapitulo then
bEnCapitulo := False;
bEnCapitulo := False;
if (ATipoCampo = TIPO_DETALLE_TITULO) then
//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);
implementation
uses

Binary file not shown.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -9,11 +9,6 @@ const
CAMPO_REFERENCIA = 'REFERENCIA'; //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
TEnumReferencia = (tCliente, tProveedor);

View File

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

View File

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

View File

@ -14,6 +14,9 @@ type
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
function PedirDescuento: Variant;
function DarPropiedades: IBizPropiedades;
procedure AnadirCapitulo (const Tipo: String; ADetalles: IDAStronglyTypedDataTable);
end;
TDetallesPresupuestoClienteController = class(TControllerDetallesArticulos, IDetallesPresupuestoClienteController)
@ -39,11 +42,18 @@ type
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
constructor Create; 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;
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;
{ TDetallesPresupuestoClienteController }
@ -91,6 +101,102 @@ begin
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;
begin
FArticulosController := TArticulosPresupuestoClienteController.Create;
@ -143,6 +249,11 @@ begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end;
function TDetallesPresupuestoClienteController.DarPropiedades: IBizPropiedades;
begin
Result := FDataModule.GetPropiedades;
end;
function TDetallesPresupuestoClienteController.DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
begin
Result := DarTotalPorte(ADetalles);
@ -175,6 +286,47 @@ begin
ValidarCamposLineaConcepto(DataTable);
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);
begin
//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
DictionaryEntry = 'PresupuestosCliente_Detalles_ID_ARTICULO'
end
item
Name = 'TIPO_ARTICULO'
DataType = datString
Size = 2
end
item
Name = 'DESCUENTO'
DataType = datFloat
@ -392,4 +397,118 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente
Left = 248
Top = 144
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

View File

@ -25,10 +25,17 @@ type
RORemoteService1: TRORemoteService;
tbl_ListaAnosPresupuestos: TDAMemDataTable;
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);
private
function _GetDetalles : IBizDetallesPresupuestoCliente;
function _GetValores : IBizValores;
protected
procedure AsignarClaseNegocio(APresupuesto: TDADataTable);
@ -40,6 +47,9 @@ type
function GetItem(const ID : Integer) : IBizPresupuestoCliente;
function NewItem : IBizPresupuestoCliente;
function GetPropiedades : IBizPropiedades;
function GetCapitulo(const TIPO_ARTICULO : String) : IBizCapitulo;
// Report
function GetRptPresupuestos(const AListaID: TIntegerList): Binary;
function GetRptPDFPresupuesto(const AID: Integer): Binary;
@ -129,6 +139,24 @@ begin
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;
var
AListaAnos: TStringList;
@ -153,6 +181,33 @@ begin
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;
var
Condicion: TDAWhereExpression;
@ -212,6 +267,26 @@ begin
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;
var
APresupuesto: TDAMemDataTable;

View File

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

View File

@ -3,21 +3,47 @@ unit schPresupuestosClienteClient_Intf;
interface
uses
Classes, DB, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf;
Classes, DB, schBase_Intf, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf;
const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_ListaAnosPresupuestos = '{B0454D84-B7A8-4194-A5B2-75D79AB70CA3}';
RID_PresupuestosCliente = '{746DFD3C-12AD-4367-AB81-DA94F352BBC2}';
RID_PresupuestosCliente_Detalles = '{C4E900F6-CE61-40B1-B76D-EA0287E40486}';
RID_Valores = '{C5993A8B-3E6C-4871-878E-47FB8ED805C1}';
RID_Propiedades = '{9BA1781F-22CD-4D3E-A7D1-1578EE09FC4F}';
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 }
nme_Valores = 'Valores';
nme_Propiedades = 'Propiedades';
nme_ListaAnosPresupuestos = 'ListaAnosPresupuestos';
nme_PresupuestosCliente = 'PresupuestosCliente';
nme_CapitulosPresupuesto = 'CapitulosPresupuesto';
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 }
fld_ListaAnosPresupuestosANO = 'ANO';
@ -102,6 +128,22 @@ const
idx_PresupuestosClienteID_VENDEDOR = 35;
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 }
fld_PresupuestosCliente_DetallesID = 'ID';
fld_PresupuestosCliente_DetallesID_PRESUPUESTO = 'ID_PRESUPUESTO';
@ -113,6 +155,7 @@ const
fld_PresupuestosCliente_DetallesIMPORTE_TOTAL = 'IMPORTE_TOTAL';
fld_PresupuestosCliente_DetallesVISIBLE = 'VISIBLE';
fld_PresupuestosCliente_DetallesID_ARTICULO = 'ID_ARTICULO';
fld_PresupuestosCliente_DetallesTIPO_ARTICULO = 'TIPO_ARTICULO';
fld_PresupuestosCliente_DetallesDESCUENTO = 'DESCUENTO';
fld_PresupuestosCliente_DetallesIMPORTE_PORTE = 'IMPORTE_PORTE';
fld_PresupuestosCliente_DetallesREFERENCIA = 'REFERENCIA';
@ -129,15 +172,134 @@ const
idx_PresupuestosCliente_DetallesIMPORTE_TOTAL = 7;
idx_PresupuestosCliente_DetallesVISIBLE = 8;
idx_PresupuestosCliente_DetallesID_ARTICULO = 9;
idx_PresupuestosCliente_DetallesDESCUENTO = 10;
idx_PresupuestosCliente_DetallesIMPORTE_PORTE = 11;
idx_PresupuestosCliente_DetallesREFERENCIA = 12;
idx_PresupuestosCliente_DetallesREFERENCIA_PROVEEDOR = 13;
idx_PresupuestosCliente_DetallesTIPO_ARTICULO = 10;
idx_PresupuestosCliente_DetallesDESCUENTO = 11;
idx_PresupuestosCliente_DetallesIMPORTE_PORTE = 12;
idx_PresupuestosCliente_DetallesREFERENCIA = 13;
idx_PresupuestosCliente_DetallesREFERENCIA_PROVEEDOR = 14;
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 = interface(IDAStronglyTypedDataTable)
['{B65AF5A6-38BA-4E39-97D4-D4D3579E7570}']
['{AB684A42-83BD-4F0E-B551-F19E11AA24B7}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@ -151,7 +313,7 @@ type
end;
{ TListaAnosPresupuestosDataTableRules }
TListaAnosPresupuestosDataTableRules = class(TDADataTableRules, IListaAnosPresupuestos)
TListaAnosPresupuestosDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosPresupuestos)
private
protected
{ Property getters and setters }
@ -172,7 +334,7 @@ type
{ IPresupuestosCliente }
IPresupuestosCliente = interface(IDAStronglyTypedDataTable)
['{AE41AFD3-1C89-4794-8BB0-FC78778EAA7F}']
['{45386A77-9063-4C4E-8D64-73C147089189}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -398,7 +560,7 @@ type
end;
{ TPresupuestosClienteDataTableRules }
TPresupuestosClienteDataTableRules = class(TDADataTableRules, IPresupuestosCliente)
TPresupuestosClienteDataTableRules = class(TIntfObjectDADataTableRules, IPresupuestosCliente)
private
f_FORMA_PAGO: IROStrings;
f_PLAZO_ENTREGA: IROStrings;
@ -637,9 +799,104 @@ type
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 = interface(IDAStronglyTypedDataTable)
['{C07FE248-6E62-4DE1-8FB1-21C7D5F98C70}']
['{550DF097-A1EC-43E5-9B5C-E773B563125E}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -681,6 +938,10 @@ type
procedure SetID_ARTICULOValue(const aValue: Integer);
function GetID_ARTICULOIsNull: 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;
procedure SetDESCUENTOValue(const aValue: Float);
function GetDESCUENTOIsNull: Boolean;
@ -720,6 +981,8 @@ type
property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
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 DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
@ -731,7 +994,7 @@ type
end;
{ TPresupuestosCliente_DetallesDataTableRules }
TPresupuestosCliente_DetallesDataTableRules = class(TDADataTableRules, IPresupuestosCliente_Detalles)
TPresupuestosCliente_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IPresupuestosCliente_Detalles)
private
protected
{ Property getters and setters }
@ -775,6 +1038,10 @@ type
procedure SetID_ARTICULOValue(const aValue: Integer); virtual;
function GetID_ARTICULOIsNull: 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;
procedure SetDESCUENTOValue(const aValue: Float); virtual;
function GetDESCUENTOIsNull: Boolean; virtual;
@ -813,6 +1080,8 @@ type
property VISIBLEIsNull: Boolean read GetVISIBLEIsNull write SetVISIBLEIsNull;
property ID_ARTICULO: Integer read GetID_ARTICULOValue write SetID_ARTICULOValue;
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 DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
@ -832,6 +1101,156 @@ implementation
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 }
constructor TListaAnosPresupuestosDataTableRules.Create(aDataTable: TDADataTable);
begin
@ -1676,6 +2095,144 @@ begin
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 }
constructor TPresupuestosCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable);
begin
@ -1897,6 +2454,27 @@ begin
DataTable.Fields[idx_PresupuestosCliente_DetallesID_ARTICULO].AsVariant := Null;
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;
begin
result := DataTable.Fields[idx_PresupuestosCliente_DetallesDESCUENTO].AsFloat;
@ -1983,8 +2561,11 @@ end;
initialization
RegisterDataTableRules(RID_Valores, TValoresDataTableRules);
RegisterDataTableRules(RID_Propiedades, TPropiedadesDataTableRules);
RegisterDataTableRules(RID_ListaAnosPresupuestos, TListaAnosPresupuestosDataTableRules);
RegisterDataTableRules(RID_PresupuestosCliente, TPresupuestosClienteDataTableRules);
RegisterDataTableRules(RID_CapitulosPresupuesto, TCapitulosPresupuestoDataTableRules);
RegisterDataTableRules(RID_PresupuestosCliente_Detalles, TPresupuestosCliente_DetallesDataTableRules);
end.

View File

@ -9,14 +9,133 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_ListaAnosPresupuestosDelta = '{C0E576AC-EDE7-48ED-A670-B12C85993697}';
RID_PresupuestosClienteDelta = '{AFE73DB5-62C6-4B97-BE48-FD4AAA29C0FA}';
RID_PresupuestosCliente_DetallesDelta = '{86E2BED4-A5BE-4658-84B3-311884C8B5C9}';
RID_ValoresDelta = '{5DD68DF6-F287-4254-A0BF-57610C44D2CC}';
RID_PropiedadesDelta = '{F9FFDD61-B8D7-4C71-A1C2-A5D112ADA42B}';
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
{ 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 = interface(IListaAnosPresupuestos)
['{C0E576AC-EDE7-48ED-A670-B12C85993697}']
['{DC8A9D27-E569-43CB-8D57-75104AC6C3B5}']
{ Property getters and setters }
function GetOldANOValue : String;
@ -50,7 +169,7 @@ type
{ IPresupuestosClienteDelta }
IPresupuestosClienteDelta = interface(IPresupuestosCliente)
['{AFE73DB5-62C6-4B97-BE48-FD4AAA29C0FA}']
['{52C7EC13-8283-42F0-B3D9-FB9EE4B7D7D7}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -518,9 +637,103 @@ type
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 = interface(IPresupuestosCliente_Detalles)
['{86E2BED4-A5BE-4658-84B3-311884C8B5C9}']
['{64F84CC2-64BE-4AE4-A2EF-9CE09ECB2773}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_PRESUPUESTOValue : Integer;
@ -532,6 +745,7 @@ type
function GetOldIMPORTE_TOTALValue : Currency;
function GetOldVISIBLEValue : Integer;
function GetOldID_ARTICULOValue : Integer;
function GetOldTIPO_ARTICULOValue : String;
function GetOldDESCUENTOValue : Float;
function GetOldIMPORTE_PORTEValue : Currency;
function GetOldREFERENCIAValue : String;
@ -548,6 +762,7 @@ type
property OldIMPORTE_TOTAL : Currency read GetOldIMPORTE_TOTALValue;
property OldVISIBLE : Integer read GetOldVISIBLEValue;
property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
property OldTIPO_ARTICULO : String read GetOldTIPO_ARTICULOValue;
property OldDESCUENTO : Float read GetOldDESCUENTOValue;
property OldIMPORTE_PORTE : Currency read GetOldIMPORTE_PORTEValue;
property OldREFERENCIA : String read GetOldREFERENCIAValue;
@ -619,6 +834,12 @@ type
function GetOldID_ARTICULOIsNull: Boolean; virtual;
procedure SetID_ARTICULOValue(const aValue: Integer); 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 GetDESCUENTOIsNull: Boolean; virtual;
function GetOldDESCUENTOValue: Float; virtual;
@ -685,6 +906,10 @@ type
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 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 DESCUENTOIsNull : Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
property OldDESCUENTO : Float read GetOldDESCUENTOValue;
@ -713,6 +938,216 @@ implementation
uses
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 }
constructor TListaAnosPresupuestosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
@ -1941,6 +2376,204 @@ begin
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 }
constructor TPresupuestosCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
@ -2262,6 +2895,37 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosCliente_DetallesID_ARTICULO] := Null;
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;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosCliente_DetallesDESCUENTO];
@ -2388,8 +3052,11 @@ end;
initialization
RegisterBusinessProcessorRules(RID_ValoresDelta, TValoresBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_PropiedadesDelta, TPropiedadesBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_ListaAnosPresupuestosDelta, TListaAnosPresupuestosBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_PresupuestosClienteDelta, TPresupuestosClienteBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_CapitulosPresupuestoDelta, TCapitulosPresupuestoBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_PresupuestosCliente_DetallesDelta, TPresupuestosCliente_DetallesBusinessProcessorRules);
end.

View File

@ -6,13 +6,59 @@ uses
uDADataTable, schPresupuestosClienteClient_Intf;
const
BIZ_CLIENT_PROPIEDADES = 'Client.Propiedades';
BIZ_CLIENT_VALORES = 'Client.Valores';
BIZ_CLIENT_CAPITULOS = 'Client.Capitulos';
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
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)
['{2D7781DC-AD16-4857-9567-5C1620319781}']
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)
protected
procedure OnNewRecord(Sender: TDADataTable); override;
@ -25,7 +71,7 @@ implementation
{ TBizDetallesPresupuestoCliente }
uses
Dialogs, DB, SysUtils, JclStrings;
Dialogs, DB, uDataTableUtils, SysUtils, JclStrings;
procedure TBizDetallesPresupuestoCliente.BeforeInsert(Sender: TDADataTable);
var
@ -43,7 +89,39 @@ begin
VISIBLE := 1;
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
RegisterDataTableRules(BIZ_CLIENT_DETALLES_PRESUPUESTO_CLIENTE, TBizDetallesPresupuestoCliente);
RegisterDataTableRules(BIZ_CLIENT_PROPIEDADES, TBizPropiedades);
RegisterDataTableRules(BIZ_CLIENT_VALORES, TBizValores);
RegisterDataTableRules(BIZ_CLIENT_CAPITULOS, TBizCapitulo);
end.

View File

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

View File

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

View File

@ -1,103 +1,136 @@
inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente
Width = 893
Height = 446
inherited ToolBar1: TToolBar
Width = 893
Height = 24
inherited ToolButton4: TToolButton
Wrap = False
end
inherited ToolButton14: TToolButton
Left = 334
Top = 0
Wrap = True
ExplicitLeft = 334
ExplicitTop = 0
end
inherited FontName: TJvFontComboBox
Left = 368
Top = 0
ExplicitLeft = 368
ExplicitTop = 0
Left = 0
ExplicitLeft = 0
end
inherited FontSize: TEdit
Left = 513
Top = 0
ExplicitLeft = 513
ExplicitTop = 0
Left = 145
ExplicitLeft = 145
end
inherited UpDown1: TUpDown
Left = 555
Top = 0
ExplicitLeft = 555
ExplicitTop = 0
Left = 187
ExplicitLeft = 187
end
inherited ToolButton13: TToolButton
Left = 572
Top = 0
ExplicitLeft = 572
ExplicitTop = 0
Left = 204
ExplicitLeft = 204
end
inherited ToolButton6: TToolButton
Left = 580
Top = 0
ExplicitLeft = 580
ExplicitTop = 0
Left = 212
ExplicitLeft = 212
end
inherited ToolButton7: TToolButton
Left = 614
Top = 0
ExplicitLeft = 614
ExplicitTop = 0
Left = 246
ExplicitLeft = 246
end
inherited ToolButton8: TToolButton
Left = 648
Top = 0
ExplicitLeft = 648
ExplicitTop = 0
Left = 280
ExplicitLeft = 280
end
inherited ToolButton12: TToolButton
Left = 682
Top = 0
ExplicitLeft = 682
ExplicitTop = 0
Left = 314
ExplicitLeft = 314
end
inherited ToolButton9: TToolButton
Left = 690
Top = 0
ExplicitLeft = 690
ExplicitTop = 0
Left = 322
ExplicitLeft = 322
end
inherited ToolButton10: TToolButton
Left = 724
Top = 0
ExplicitLeft = 724
ExplicitTop = 0
Left = 356
ExplicitLeft = 356
end
inherited ToolButton11: TToolButton
Left = 758
Top = 0
ExplicitLeft = 758
ExplicitTop = 0
Left = 390
ExplicitLeft = 390
end
end
inherited cxGrid: TcxGrid
Top = 50
Width = 893
Height = 396
ExplicitWidth = 451
ExplicitHeight = 232
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
DataBinding.FieldName = ''
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
inherited TBXDock1: TTBXDock
Top = 24
Width = 893
ExplicitWidth = 451
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
end
object TBXItem18: TTBXItem
@ -105,6 +138,32 @@ inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente
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
object actAsignarDescuento: TAction
Category = 'Operaciones'
@ -112,5 +171,43 @@ inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente
OnExecute = actAsignarDescuentoExecute
OnUpdate = actAsignarDescuentoUpdate
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

View File

@ -13,7 +13,9 @@ uses
JvExStdCtrls, JvCombobox, JvColorCombo, TB2Item, TBX, TB2Dock, TB2Toolbar,
uControllerDetallesArticulos, uBizPresupuestosCliente, uDAInterfaces, Buttons,
Mask, DBCtrls, cxButtonEdit, cxDropDownEdit, Menus, cxGridCustomPopupMenu,
cxGridPopupMenu, cxDBLookupComboBox, cxCalc, cxEditRepositoryItems;
cxGridPopupMenu, cxDBLookupComboBox, cxCalc, cxEditRepositoryItems,
cxContainer, cxLookupEdit, cxDBLookupEdit, uBizDetallesPresupuestoCliente,
cxMemo;
type
IViewDetallesPresupuestoCliente = interface(IViewDetallesArticulos)
@ -27,10 +29,44 @@ type
actAsignarDescuento: TAction;
TBXItem18: TTBXItem;
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 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
FPresupuesto: IBizPresupuestoCliente;
FPropiedades: IBizPropiedades;
function GetPresupuesto: IBizPresupuestoCliente;
procedure SetPresupuesto(const Value: IBizPresupuestoCliente);
@ -38,6 +74,8 @@ type
procedure RellenarArticulosInterno; override;
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
function EsTipoEditable(AItem: TcxCustomGridTableItem): Boolean; override;
public
property Presupuesto: IBizPresupuestoCliente read GetPresupuesto write SetPresupuesto;
end;
@ -45,7 +83,8 @@ type
implementation
{$R *.dfm}
uses uControllerDetallesBase, uDetallesPresupuestoClienteController;
uses uControllerDetallesBase, uDetallesPresupuestoClienteController, schPresupuestosClienteClient_Intf,
uCalculosUtils;
{ TfrViewDetallesPresupuestoProveedor }
@ -91,6 +130,36 @@ begin
(Sender as TAction).Enabled := False;
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;
begin
Result := (Controller as IDetallesPresupuestoClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Presupuesto.Cliente.ID);
@ -101,6 +170,91 @@ begin
(Controller as IDetallesPresupuestoClienteController).AnadirArticulos(Detalles, Presupuesto.Cliente);
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;
begin
Result := FPresupuesto;

View File

@ -62,7 +62,7 @@ type
function BuscarRecibosRemesa(const ID_REMESA: Integer): IBizRecibosCliente;
function BuscarRecibosFactura(const ID_FACTURA: Integer): IBizRecibosCliente;
function BuscarRecibosACompensar(const Recibo: IBizRecibosCliente): IBizRecibosCliente;
function BuscarRecibosARemesar: IBizRecibosCliente;
function BuscarRecibosARemesar(const AListaVisibles, AListaNoVisibles: TStringList): IBizRecibosCliente;
procedure VerTodos(ARecibosCliente: IBizRecibosCliente);
procedure Ver(ARecibosCliente: IBizRecibosCliente);
@ -136,7 +136,7 @@ type
function BuscarRecibosRemesa(const ID_REMESA: Integer): IBizRecibosCliente;
function BuscarRecibosFactura(const ID_FACTURA: Integer): IBizRecibosCliente;
function BuscarRecibosACompensar(const Recibo: IBizRecibosCliente): IBizRecibosCliente;
function BuscarRecibosARemesar: IBizRecibosCliente;
function BuscarRecibosARemesar(const AListaVisibles, AListaNoVisibles: TStringList): IBizRecibosCliente;
procedure VerTodos(ARecibosCliente: IBizRecibosCliente);
procedure Ver(ARecibosCliente: IBizRecibosCliente);
@ -382,9 +382,10 @@ begin
end;
end;
function TRecibosClienteController.BuscarRecibosARemesar: IBizRecibosCliente;
function TRecibosClienteController.BuscarRecibosARemesar(const AListaVisibles, AListaNoVisibles: TStringList): IBizRecibosCliente;
var
Condicion: TDAWhereExpression;
i: Integer;
begin
ShowHourglassCursor;
try
@ -411,6 +412,26 @@ begin
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
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
HideHourglassCursor;
end;

View File

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

View File

@ -58,7 +58,7 @@ type
function BuscarRecibosRemesa(const ID_REMESA: Integer): IBizRecibosProveedor;
function BuscarRecibosFactura(const ID_FACTURA: Integer): IBizRecibosProveedor;
function BuscarRecibosACompensar(const Recibo: IBizRecibosProveedor): IBizRecibosProveedor;
function BuscarRecibosARemesar: IBizRecibosProveedor;
function BuscarRecibosARemesar(const AListaVisibles, AListaNoVisibles: TStringList): IBizRecibosProveedor;
procedure VerTodos(ARecibosProveedor: IBizRecibosProveedor);
procedure Ver(ARecibosProveedor: IBizRecibosProveedor);
@ -130,7 +130,7 @@ type
function BuscarRecibosRemesa(const ID_REMESA: Integer): IBizRecibosProveedor;
function BuscarRecibosFactura(const ID_FACTURA: Integer): IBizRecibosProveedor;
function BuscarRecibosACompensar(const Recibo: IBizRecibosProveedor): IBizRecibosProveedor;
function BuscarRecibosARemesar: IBizRecibosProveedor;
function BuscarRecibosARemesar(const AListaVisibles, AListaNoVisibles: TStringList): IBizRecibosProveedor;
procedure VerTodos(ARecibosProveedor: IBizRecibosProveedor);
procedure Ver(ARecibosProveedor: IBizRecibosProveedor);
@ -374,9 +374,10 @@ begin
end;
end;
function TRecibosProveedorController.BuscarRecibosARemesar: IBizRecibosProveedor;
function TRecibosProveedorController.BuscarRecibosARemesar(const AListaVisibles, AListaNoVisibles: TStringList): IBizRecibosProveedor;
var
Condicion: TDAWhereExpression;
i: Integer;
begin
ShowHourglassCursor;
try
@ -403,6 +404,26 @@ begin
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
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
HideHourglassCursor;
end;

View File

@ -28,7 +28,7 @@ type
function EsModificable(ARemesaProveedor : IBizRemesaCliente): Boolean;
function EsEliminable(ARemesaProveedor : IBizRemesaCliente): Boolean;
function ElegirRecibosCliente(ARemesaCliente : IBizRemesaCliente): Boolean;
function ElegirRecibosCliente(ARemesaCliente : IBizRemesaCliente; AListaRecibosIniciales: TStringList): Boolean;
procedure EliminarReciboCliente(ARemesaCliente : IBizRemesaCliente);
function GetRecibosClienteController: IRecibosClienteController;
property RecibosClienteController: IRecibosClienteController read GetRecibosClienteController;
@ -79,7 +79,7 @@ type
function EsEliminable(ARemesaProveedor : IBizRemesaCliente): Boolean;
function ExtraerSeleccionados(ARemesasCliente: IBizRemesaCliente) : IBizRemesaCliente; virtual;
function ElegirRecibosCliente(ARemesaCliente : IBizRemesaCliente): Boolean;
function ElegirRecibosCliente(ARemesaCliente : IBizRemesaCliente; AListaRecibosIniciales: TStringList): Boolean;
procedure EliminarReciboCliente(ARemesaCliente : IBizRemesaCliente);
end;
@ -284,14 +284,40 @@ begin
ARemesaCliente := NIL;
end;
function TRemesasClienteController.ElegirRecibosCliente(ARemesaCliente: IBizRemesaCliente): Boolean;
function TRemesasClienteController.ElegirRecibosCliente(ARemesaCliente: IBizRemesaCliente; AListaRecibosIniciales: TStringList): Boolean;
var
ARecibosRemesa : IBizRecibosCliente;
ARecibosSeleccionados : IBizRecibosCliente;
ListaRecibosVisibles: TStringList;
ListaRecibosNoVisibles: TStringList;
i: Integer;
begin
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
begin
ShowHourglassCursor;
@ -307,6 +333,8 @@ begin
end;
end;
ListaRecibosVisibles.Free;
ListaRecibosNoVisibles.Free;
ARecibosRemesa := Nil;
ARecibosSeleccionados := Nil;
end;

View File

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

View File

@ -28,10 +28,12 @@ type
cxGridViewIMPORTE: TcxGridDBColumn;
cxGridViewOTROS_GASTOS: TcxGridDBColumn;
cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
procedure CustomViewShow(Sender: TObject);
protected
FHayCambios : Boolean;
FRemesa : IBizRemesaCliente;
FController : IRemesasClienteController;
FListaRecibosIniciales: TStringList;
procedure AnadirInterno; override;
procedure EliminarInterno; override;
@ -64,7 +66,7 @@ uses
procedure TfrViewRecibosRemesaCliente.AnadirInterno;
begin
//inherited; // No hacer el comportamiento normal
if FController.ElegirRecibosCliente(RemesaCliente) then
if FController.ElegirRecibosCliente(RemesaCliente, FListaRecibosIniciales) then
begin
Modified := True;
end;
@ -74,10 +76,25 @@ constructor TfrViewRecibosRemesaCliente.Create(AOwner: TComponent);
begin
inherited;
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;
destructor TfrViewRecibosRemesaCliente.Destroy;
begin
FListaRecibosIniciales.Free;
inherited;
end;

View File

@ -28,7 +28,7 @@ type
function EsModificable(ARemesaProveedor : IBizRemesaProveedor): Boolean;
function EsEliminable(ARemesaProveedor : IBizRemesaProveedor): Boolean;
function ElegirRecibosProveedor(ARemesaProveedor : IBizRemesaProveedor): Boolean;
function ElegirRecibosProveedor(ARemesaProveedor : IBizRemesaProveedor; AListaRecibosIniciales: TStringList): Boolean;
procedure EliminarReciboProveedor(ARemesaProveedor : IBizRemesaProveedor);
function GetRecibosProveedorController: IRecibosProveedorController;
property RecibosProveedorController: IRecibosProveedorController read GetRecibosProveedorController;
@ -79,7 +79,7 @@ type
function EsEliminable(ARemesaProveedor : IBizRemesaProveedor): Boolean;
function ExtraerSeleccionados(ARemesasProveedor: IBizRemesaProveedor) : IBizRemesaProveedor; virtual;
function ElegirRecibosProveedor(ARemesaProveedor : IBizRemesaProveedor): Boolean;
function ElegirRecibosProveedor(ARemesaProveedor : IBizRemesaProveedor; AListaRecibosIniciales: TStringList): Boolean;
procedure EliminarReciboProveedor(ARemesaProveedor : IBizRemesaProveedor);
end;
@ -283,14 +283,41 @@ begin
ARemesaProveedor := NIL;
end;
function TRemesasProveedorController.ElegirRecibosProveedor(ARemesaProveedor: IBizRemesaProveedor): Boolean;
function TRemesasProveedorController.ElegirRecibosProveedor(ARemesaProveedor: IBizRemesaProveedor; AListaRecibosIniciales: TStringList): Boolean;
var
ARecibosRemesa : IBizRecibosProveedor;
ARecibosSeleccionados : IBizRecibosProveedor;
ListaRecibosVisibles: TStringList;
ListaRecibosNoVisibles: TStringList;
i: Integer;
begin
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
begin
ShowHourglassCursor;
@ -306,6 +333,8 @@ begin
end;
end;
ListaRecibosVisibles.Free;
ListaRecibosNoVisibles.Free;
ARecibosRemesa := Nil;
ARecibosSeleccionados := Nil;
end;

View File

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

View File

@ -28,10 +28,12 @@ type
cxGridViewIMPORTE: TcxGridDBColumn;
cxGridViewOTROS_GASTOS: TcxGridDBColumn;
cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
procedure CustomViewShow(Sender: TObject);
protected
FHayCambios : Boolean;
FRemesa : IBizRemesaProveedor;
FController : IRemesasProveedorController;
FListaRecibosIniciales: TStringList;
procedure AnadirInterno; override;
procedure EliminarInterno; override;
@ -64,7 +66,7 @@ uses
procedure TfrViewRecibosRemesaProveedor.AnadirInterno;
begin
//inherited; // No hacer el comportamiento normal
if FController.ElegirRecibosProveedor(RemesaProveedor) then
if FController.ElegirRecibosProveedor(RemesaProveedor, FListaRecibosIniciales) then
begin
Modified := True;
end;
@ -74,10 +76,25 @@ constructor TfrViewRecibosRemesaProveedor.Create(AOwner: TComponent);
begin
inherited;
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;
destructor TfrViewRecibosRemesaProveedor.Destroy;
begin
FListaRecibosIniciales.Free;
inherited;
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">
<PropertyGroup>
<ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid>
<MainSource>FactuGES_Server.dpr</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Servidor\FactuGES_Server.exe</DCC_DependencyCheckOutputName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version>
<DCC_DebugInformation>False</DCC_DebugInformation>
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Release\Servidor</DCC_ExeOutput>
<DCC_Define>RELEASE</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Debug\Servidor</DCC_ExeOutput>
<DCC_Define>DEBUG;</DCC_Define>
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType />
<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>
<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><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="FactuGES_Server.dpr">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosClient_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosServer_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\uBizEjerciciosServer.pas" />
<DCCReference Include="..\ApplicationBase\Ejercicios\Servidor\srvEjercicios_Impl.pas">
<Form>srvEjercicios</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas">
<Form>srvEmpresas</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\ApplicationBase\ProvinciasPoblaciones\Servidor\srvProvinciasPoblaciones_Impl.pas">
<Form>srvProvinciasPoblaciones</Form>
<DesignClass>TRORemoteDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas" />
<DCCReference Include="..\Base\schBase_Intf.pas" />
<DCCReference Include="..\Base\Utiles\uSistemaFunc.pas" />
<DCCReference Include="..\Base\Utiles\uStringsUtils.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas">
<Form>srvAlbaranesCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS" />
<DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas">
<Form>srvAlbaranesProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas" />
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas" />
<DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas">
<Form>srvAlmacenes</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas" />
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesClient_Intf.pas" />
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesServer_Intf.pas" />
<DCCReference Include="..\Modulos\Comisiones\Model\uBizComisionesServer.pas" />
<DCCReference Include="..\Modulos\Comisiones\Reports\uRptComisiones_Server.pas">
<Form>RptComisiones</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Comisiones\Servidor\srvComisiones_Impl.pas">
<Form>srvComisiones</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas" />
<DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas" />
<DCCReference Include="..\Modulos\Contabilidad\Model\uBizAsientosServer.pas" />
<DCCReference Include="..\Modulos\Contabilidad\Servidor\srvContabilidad_Impl.pas">
<Form>srvContabilidad</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizVendedoresServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Reports\uRptEtiquetasContacto_Server.pas">
<Form>RptEtiquetasContacto</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas">
<Form>srvContactos</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas" />
<DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas">
<Form>RptFacturasCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Servidor\srvFacturasCliente_Impl.pas">
<Form>srvFacturasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas">
<Form>RptFacturasProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Servidor\srvFacturasProveedor_Impl.pas">
<Form>srvFacturasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas" />
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas" />
<DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas" />
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas" />
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas" />
<DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas" />
<DCCReference Include="..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas">
<Form>srvGestorDocumentos</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas">
<Form>srvGestorInformes</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas">
<Form>srvHistoricoMovimientos</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas" />
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas" />
<DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas">
<Form>srvInventario</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Servidor\srvPedidosProveedor_Impl.pas">
<Form>srvPedidosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas">
<Form>RptPresupuestosCliente</Form>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Servidor\srvPresupuestosCliente_Impl.pas">
<Form>srvPresupuestosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizPagosClienteServer.pas" />
<DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizRecibosClienteServer.pas" />
<DCCReference Include="..\Modulos\Recibos de cliente\Reports\uRptRecibosCliente_Server.pas">
<Form>RptRecibosCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Servidor\srvRecibosCliente_Impl.pas">
<Form>srvRecibosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizPagosProveedorServer.pas" />
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizRecibosProveedorServer.pas" />
<DCCReference Include="..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas">
<Form>RptRecibosProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Servidor\srvRecibosProveedor_Impl.pas">
<Form>srvRecibosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas" />
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas" />
<DCCReference Include="..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas">
<Form>srvReferencias</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas" />
<DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas">
<Form>srvRemesasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas" />
<DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas">
<Form>srvRemesasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas" />
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas" />
<DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas" />
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas" />
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas" />
<DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas">
<Form>srvUnidadesMedida</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
<DCCReference Include="..\Servicios\FactuGES_Invk.pas" />
<DCCReference Include="Configuracion\srvConfiguracion_Impl.pas">
<Form>srvConfiguracion</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConexionBD.pas">
<Form>frConexionBD</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConfGeneral.pas">
<Form>frConfGeneral</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConfiguracion.pas">
<Form>fConfiguracion</Form>
<DesignClass>TForm</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uFrameConfiguracion.pas">
<Form>FrameConfiguracion</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="srvLogin_Impl.pas">
<Form>srvLogin</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="uAcercaDe.pas">
<Form>fAcercaDe</Form>
</DCCReference>
<DCCReference Include="uDataModuleServer.pas">
<Form>dmServer</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="uServerMainForm.pas">
<Form>fServerForm</Form>
</DCCReference>
<DCCReference Include="Utiles\RegExpr.pas" />
<DCCReference Include="Utiles\uBusinessUtils.pas" />
<DCCReference Include="Utiles\uDatabaseUtils.pas" />
<DCCReference Include="Utiles\uReferenciasUtils.pas" />
<DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas" />
<DCCReference Include="Utiles\uSchemaUtilsServer.pas" />
<DCCReference Include="Utiles\uServerAppUtils.pas" />
<DCCReference Include="Utiles\uSesionesUtils.pas" />
</ItemGroup>
<PropertyGroup>
<ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid>
<MainSource>FactuGES_Server.dpr</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Servidor\FactuGES_Server.exe</DCC_DependencyCheckOutputName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version>
<DCC_DebugInformation>False</DCC_DebugInformation>
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Release\Servidor</DCC_ExeOutput>
<DCC_Define>RELEASE</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Debug\Servidor</DCC_ExeOutput>
<DCC_Define>DEBUG;</DCC_Define>
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType/>
<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>
<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><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets"/>
<ItemGroup>
<DelphiCompile Include="FactuGES_Server.dpr">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosClient_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosServer_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\uBizEjerciciosServer.pas"/>
<DCCReference Include="..\ApplicationBase\Ejercicios\Servidor\srvEjercicios_Impl.pas">
<Form>srvEjercicios</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas">
<Form>srvEmpresas</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\ApplicationBase\ProvinciasPoblaciones\Servidor\srvProvinciasPoblaciones_Impl.pas">
<Form>srvProvinciasPoblaciones</Form>
<DesignClass>TRORemoteDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas"/>
<DCCReference Include="..\Base\schBase_Intf.pas"/>
<DCCReference Include="..\Base\Utiles\uSistemaFunc.pas"/>
<DCCReference Include="..\Base\Utiles\uStringsUtils.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas">
<Form>srvAlbaranesCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS"/>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas">
<Form>srvAlbaranesProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas">
<Form>srvAlmacenes</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas"/>
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Comisiones\Model\uBizComisionesServer.pas"/>
<DCCReference Include="..\Modulos\Comisiones\Reports\uRptComisiones_Server.pas">
<Form>RptComisiones</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Comisiones\Servidor\srvComisiones_Impl.pas">
<Form>srvComisiones</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Contabilidad\Model\uBizAsientosServer.pas"/>
<DCCReference Include="..\Modulos\Contabilidad\Servidor\srvContabilidad_Impl.pas">
<Form>srvContabilidad</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizVendedoresServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Reports\uRptEtiquetasContacto_Server.pas">
<Form>RptEtiquetasContacto</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas">
<Form>srvContactos</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas"/>
<DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas">
<Form>RptFacturasCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Servidor\srvFacturasCliente_Impl.pas">
<Form>srvFacturasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas">
<Form>RptFacturasProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Servidor\srvFacturasProveedor_Impl.pas">
<Form>srvFacturasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas"/>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas"/>
<DCCReference Include="..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas">
<Form>srvGestorDocumentos</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas">
<Form>srvGestorInformes</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas">
<Form>srvHistoricoMovimientos</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas">
<Form>srvInventario</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Servidor\srvPedidosProveedor_Impl.pas">
<Form>srvPedidosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas"/>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas">
<Form>RptPresupuestosCliente</Form>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Servidor\srvPresupuestosCliente_Impl.pas">
<Form>srvPresupuestosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizPagosClienteServer.pas"/>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizRecibosClienteServer.pas"/>
<DCCReference Include="..\Modulos\Recibos de cliente\Reports\uRptRecibosCliente_Server.pas">
<Form>RptRecibosCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Servidor\srvRecibosCliente_Impl.pas">
<Form>srvRecibosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizPagosProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizRecibosProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas">
<Form>RptRecibosProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Servidor\srvRecibosProveedor_Impl.pas">
<Form>srvRecibosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas">
<Form>srvReferencias</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas"/>
<DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas">
<Form>srvRemesasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas">
<Form>srvRemesasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas"/>
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas">
<Form>srvUnidadesMedida</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Servicios\FactuGES_Intf.pas"/>
<DCCReference Include="..\Servicios\FactuGES_Invk.pas"/>
<DCCReference Include="Configuracion\srvConfiguracion_Impl.pas">
<Form>srvConfiguracion</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConexionBD.pas">
<Form>frConexionBD</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConfGeneral.pas">
<Form>frConfGeneral</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConfiguracion.pas">
<Form>fConfiguracion</Form>
<DesignClass>TForm</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uFrameConfiguracion.pas">
<Form>FrameConfiguracion</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="srvLogin_Impl.pas">
<Form>srvLogin</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="uAcercaDe.pas">
<Form>fAcercaDe</Form>
</DCCReference>
<DCCReference Include="uDataModuleServer.pas">
<Form>dmServer</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="uServerMainForm.pas">
<Form>fServerForm</Form>
</DCCReference>
<DCCReference Include="Utiles\RegExpr.pas"/>
<DCCReference Include="Utiles\uBusinessUtils.pas"/>
<DCCReference Include="Utiles\uDatabaseUtils.pas"/>
<DCCReference Include="Utiles\uReferenciasUtils.pas"/>
<DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas"/>
<DCCReference Include="Utiles\uSchemaUtilsServer.pas"/>
<DCCReference Include="Utiles\uServerAppUtils.pas"/>
<DCCReference Include="Utiles\uSesionesUtils.pas"/>
</ItemGroup>
</Project>
<!-- EurekaLog First Line
[Exception Log]

View File

@ -16,7 +16,7 @@ BEGIN
VALUE "FileVersion", "2.3.4.0\0"
VALUE "ProductName", "FactuGES (Servidor)\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
BLOCK "VarFileInfo"