diff --git a/Resources/Iconos/logo-uecko-las-rozas.jpg b/Resources/Iconos/logo-uecko-las-rozas.jpg
new file mode 100644
index 0000000..354895c
Binary files /dev/null and b/Resources/Iconos/logo-uecko-las-rozas.jpg differ
diff --git a/Source/Modulos/Tipos de operacion venta/Controller/TiposOperacionVenta_controller.dpk b/Source/Modulos/Tipos de operacion venta/Controller/TiposOperacionVenta_controller.dpk
new file mode 100644
index 0000000..8e6143d
Binary files /dev/null and b/Source/Modulos/Tipos de operacion venta/Controller/TiposOperacionVenta_controller.dpk differ
diff --git a/Source/Modulos/Tipos de operacion venta/Controller/TiposOperacionVenta_controller.dproj b/Source/Modulos/Tipos de operacion venta/Controller/TiposOperacionVenta_controller.dproj
new file mode 100644
index 0000000..dae9fdd
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Controller/TiposOperacionVenta_controller.dproj
@@ -0,0 +1,544 @@
+
+
+
+ {7f80f8aa-6912-4714-986d-aed73035472b}
+ TiposOperacionVenta_controller.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\TiposOperacionVenta_controller.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0TiposOperacionVenta_controller.dpk
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Tipos de operacion venta/Controller/View/uIEditorElegirTipoOperacionVenta.pas b/Source/Modulos/Tipos de operacion venta/Controller/View/uIEditorElegirTipoOperacionVenta.pas
new file mode 100644
index 0000000..a4abfbd
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Controller/View/uIEditorElegirTipoOperacionVenta.pas
@@ -0,0 +1,18 @@
+unit uIEditorElegirTipoOperacionVenta;
+
+interface
+
+uses
+ uEditorBasico;
+
+type
+ IEditorElegirTipoOperacionVenta = interface(IEditorBasico)
+ ['{615AB791-8E25-4485-95F4-3589451C839D}']
+ function GetTipoOperacionVenta: Variant;
+ procedure SetTipoOperacionVenta(const Value: Variant);
+ property TiposOperacionVenta: Variant Read GetTipoOperacionVenta write SetTipoOperacionVenta;
+ end;
+
+implementation
+
+end.
diff --git a/Source/Modulos/Tipos de operacion venta/Controller/View/uIEditorTiposOperacionVenta.pas b/Source/Modulos/Tipos de operacion venta/Controller/View/uIEditorTiposOperacionVenta.pas
new file mode 100644
index 0000000..636bb57
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Controller/View/uIEditorTiposOperacionVenta.pas
@@ -0,0 +1,23 @@
+unit uIEditorTiposOperacionVenta;
+
+interface
+
+uses
+ uEditorDBBase, uBizTiposOperacionVenta, uTiposOperacionVentaController;
+
+type
+ IEditorTiposOperacionVenta = interface(IEditorDBBase)
+ ['{EB24AFBC-E9C5-4BDC-8E21-3C11D1AB04A6}']
+ function GetTiposOperacionVenta: IBizTiposOperacionVenta;
+ procedure SetTiposOperacionVenta(const Value: IBizTiposOperacionVenta);
+ property TiposOperacionVenta: IBizTiposOperacionVenta read GetTiposOperacionVenta write SetTiposOperacionVenta;
+
+ function GetController : ITiposOperacionVentaController;
+ procedure SetController (const Value : ITiposOperacionVentaController);
+ property Controller : ITiposOperacionVentaController read GetController write SetController;
+ end;
+
+
+implementation
+
+end.
diff --git a/Source/Modulos/Tipos de operacion venta/Controller/uTiposOperacionVentaController.pas b/Source/Modulos/Tipos de operacion venta/Controller/uTiposOperacionVentaController.pas
new file mode 100644
index 0000000..51abb44
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Controller/uTiposOperacionVentaController.pas
@@ -0,0 +1,254 @@
+unit uTiposOperacionVentaController;
+
+interface
+
+
+uses
+ Classes, SysUtils, uDADataTable, uEditorDBItem,
+ uIDataModuleTiposOperacionVenta, uBizTiposOperacionVenta, uControllerBase;
+
+type
+ ITiposOperacionVentaController = interface(IControllerBase)
+ ['{3D5B4F73-F3E2-4846-9366-0EA930EE8146}']
+ function BuscarTodos: IBizTiposOperacionVenta;
+ procedure VerTodos(ATiposOperacionVenta: IBizTiposOperacionVenta);
+ procedure Anadir(ATiposOperacionVenta : IBizTiposOperacionVenta);
+ function Eliminar(ATiposOperacionVenta : IBizTiposOperacionVenta): Boolean;
+ function Guardar(ATiposOperacionVenta : IBizTiposOperacionVenta): Boolean;
+ procedure DescartarCambios(ATiposOperacionVenta : IBizTiposOperacionVenta);
+ function Localizar(ATiposOperacionVenta: IBizTiposOperacionVenta; ADescripcion:String): Boolean;
+ function DarListaTiposOperacionVenta: TStringList;
+ function elegirTipoOperacionVenta: Variant;
+ end;
+
+ TTiposOperacionVentaController = class(TControllerBase, ITiposOperacionVentaController)
+ protected
+ FDataModule : IDataModuleTiposOperacionVenta;
+
+ procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
+ function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean;
+
+ function ValidarTipo(ATiposOperacionVenta: IBizTiposOperacionVenta): Boolean;
+
+ //Estos son los tres métodos a sobre escribir si se desea heredar toda la logica de
+ //este controller
+ procedure AsignarDataModule; virtual;
+
+ procedure ValidarObjetos; virtual;
+
+ public
+ constructor Create; override;
+ destructor Destroy; override;
+
+ function Eliminar(ATiposOperacionVenta : IBizTiposOperacionVenta): Boolean;
+ function Guardar(ATiposOperacionVenta : IBizTiposOperacionVenta): Boolean;
+ procedure DescartarCambios(ATiposOperacionVenta : IBizTiposOperacionVenta); virtual;
+ procedure Anadir(ATiposOperacionVenta : IBizTiposOperacionVenta);
+ function BuscarTodos: IBizTiposOperacionVenta;
+ procedure VerTodos(ATiposOperacionVenta: IBizTiposOperacionVenta);
+ function Localizar(ATiposOperacionVenta: IBizTiposOperacionVenta; ADescripcion:String): Boolean;
+ function DarListaTiposOperacionVenta: TStringList;
+ function elegirTipoOperacionVenta: Variant;
+ end;
+
+implementation
+
+uses
+ cxControls, DB, uEditorRegistryUtils, schTiposOperacionVentaClient_Intf,
+ uIEditorTiposOperacionVenta, uDataModuleTiposOperacionVenta,
+ uDAInterfaces, uDataTableUtils, uIEditorElegirTipoOperacionVenta,
+ uDateUtils, uROTypes, DateUtils, Controls, Windows;
+
+{ TTiposOperacionVentaController }
+
+procedure TTiposOperacionVentaController.Anadir(ATiposOperacionVenta: IBizTiposOperacionVenta);
+begin
+ ATiposOperacionVenta.Insert;
+end;
+
+procedure TTiposOperacionVentaController.AsignarDataModule;
+begin
+ FDataModule := TDataModuleTiposOperacionVenta.Create(Nil);
+end;
+
+function TTiposOperacionVentaController.BuscarTodos: IBizTiposOperacionVenta;
+begin
+ Result := FDataModule.GetItems;
+end;
+
+constructor TTiposOperacionVentaController.Create;
+begin
+ inherited;
+ AsignarDataModule;
+end;
+
+function TTiposOperacionVentaController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
+begin
+ Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
+end;
+
+function TTiposOperacionVentaController.DarListaTiposOperacionVenta: TStringList;
+var
+ ATiposOperacionVenta: IBizTiposOperacionVenta;
+begin
+ ATiposOperacionVenta := BuscarTodos;
+ ATiposOperacionVenta.DataTable.Active := True;
+ Result := TStringList.Create;
+ try
+ with Result do
+ begin
+ ATiposOperacionVenta.DataTable.First;
+ while not ATiposOperacionVenta.DataTable.EOF do
+ begin
+ Add(ATiposOperacionVenta.DESCRIPCION);
+ ATiposOperacionVenta.DataTable.Next;
+ end;
+ end;
+ finally
+ ATiposOperacionVenta := NIL;
+ end;
+end;
+
+procedure TTiposOperacionVentaController.DescartarCambios(ATiposOperacionVenta: IBizTiposOperacionVenta);
+begin
+ if not Assigned(ATiposOperacionVenta) then
+ raise Exception.Create ('TiposOperacionVenta no asignado');
+
+ ShowHourglassCursor;
+ try
+ if (ATiposOperacionVenta.State in dsEditModes) then
+ ATiposOperacionVenta.Cancel;
+
+ ATiposOperacionVenta.DataTable.CancelUpdates;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+destructor TTiposOperacionVentaController.Destroy;
+begin
+ FDataModule := Nil;
+ inherited;
+end;
+
+function TTiposOperacionVentaController.elegirTipoOperacionVenta: Variant;
+var
+ AEditor : IEditorElegirTipoOperacionVenta;
+
+begin
+ Result := '';
+
+ CreateEditor('EditorElegirTipoOperacionVenta', IEditorElegirTipoOperacionVenta, AEditor);
+ if Assigned(AEditor) then
+ try
+ if (AEditor.ShowModal = mrOk) then
+ Result := AEditor.TiposOperacionVenta;
+ finally
+ AEditor.Release;
+ AEditor := NIL;
+ end;
+end;
+
+function TTiposOperacionVentaController.ValidarTipo(ATiposOperacionVenta: IBizTiposOperacionVenta): Boolean;
+begin
+ Result := False;
+
+ if not Assigned(ATiposOperacionVenta) then
+ raise Exception.Create ('TiposOperacionVenta no asignada');
+
+ if (ATiposOperacionVenta.DataTable.State in dsEditModes) then
+ ATiposOperacionVenta.DataTable.Post;
+
+ Result := True;
+end;
+
+procedure TTiposOperacionVentaController.ValidarObjetos;
+begin
+//
+end;
+
+procedure TTiposOperacionVentaController.VerTodos(ATiposOperacionVenta: IBizTiposOperacionVenta);
+var
+ AEditor : IEditorTiposOperacionVenta;
+begin
+ AEditor := NIL;
+
+ CreateEditor('EditorTiposOperacionVenta', IEditorTiposOperacionVenta, AEditor);
+ if Assigned(AEditor) then
+ try
+ AEditor.Controller := Self; //OJO ORDEN MUY IMPORTANTE
+ AEditor.TiposOperacionVenta := ATiposOperacionVenta;
+ AEditor.ShowModal;
+ finally
+ AEditor.Release;
+ AEditor := NIL;
+ end;
+end;
+
+function TTiposOperacionVentaController.Eliminar(ATiposOperacionVenta: IBizTiposOperacionVenta): Boolean;
+begin
+ Result := False;
+
+ if not Assigned(ATiposOperacionVenta) then
+ raise Exception.Create ('TiposOperacionVenta no asignada');
+
+ ShowHourglassCursor;
+ try
+ if (ATiposOperacionVenta.State in dsEditModes) then
+ ATiposOperacionVenta.Cancel;
+
+ ATiposOperacionVenta.Delete;
+ ATiposOperacionVenta.DataTable.ApplyUpdates;
+
+ Result := True;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+procedure TTiposOperacionVentaController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable);
+begin
+ inherited;
+//
+end;
+
+function TTiposOperacionVentaController.Guardar(ATiposOperacionVenta: IBizTiposOperacionVenta): Boolean;
+begin
+ Result := False;
+
+ if not Assigned(ATiposOperacionVenta) then
+ raise Exception.Create ('TiposOperacionVenta no asignada');
+
+ ValidarObjetos;
+
+ if ValidarTipo(ATiposOperacionVenta) then
+ begin
+ ShowHourglassCursor;
+ try
+ ATiposOperacionVenta.DataTable.ApplyUpdates;
+ Result := True;
+ finally
+ HideHourglassCursor;
+ end;
+ end;
+end;
+
+function TTiposOperacionVentaController.Localizar(ATiposOperacionVenta: IBizTiposOperacionVenta; ADescripcion: String): Boolean;
+begin
+ Result := True;
+ ShowHourglassCursor;
+ try
+ with ATiposOperacionVenta.DataTable do
+ begin
+ DisableControls;
+ First;
+ if not Locate(fld_TiposOperacionVentaDESCRIPCION, ADescripcion, []) then
+ Result := False;
+ EnableControls;
+ end;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+end.
diff --git a/Source/Modulos/Tipos de operacion venta/Data/TiposOperacionVenta_data.dpk b/Source/Modulos/Tipos de operacion venta/Data/TiposOperacionVenta_data.dpk
new file mode 100644
index 0000000..5133071
Binary files /dev/null and b/Source/Modulos/Tipos de operacion venta/Data/TiposOperacionVenta_data.dpk differ
diff --git a/Source/Modulos/Tipos de operacion venta/Data/TiposOperacionVenta_data.dproj b/Source/Modulos/Tipos de operacion venta/Data/TiposOperacionVenta_data.dproj
new file mode 100644
index 0000000..a995d05
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Data/TiposOperacionVenta_data.dproj
@@ -0,0 +1,543 @@
+
+
+
+ {28b6d86e-fac2-4bfd-97d9-fcea860835eb}
+ TiposOperacionVenta_data.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\TiposOperacionVenta_data.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0TiposOperacionVenta_data.dpk
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Tipos de operacion venta/Data/uDataModuleTiposOperacionVenta.dfm b/Source/Modulos/Tipos de operacion venta/Data/uDataModuleTiposOperacionVenta.dfm
new file mode 100644
index 0000000..d3f5ae8
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Data/uDataModuleTiposOperacionVenta.dfm
@@ -0,0 +1,59 @@
+inherited DataModuleTiposOperacionVenta: TDataModuleTiposOperacionVenta
+ OnCreate = DAClientDataModuleCreate
+ Height = 179
+ Width = 445
+ object RORemoteService: TRORemoteService
+ Message = dmConexion.ROMessage
+ Channel = dmConexion.ROChannel
+ ServiceName = 'srvTiposOperacionVenta'
+ Left = 48
+ Top = 24
+ end
+ object rda_TiposOperacionVenta: TDARemoteDataAdapter
+ DataStreamer = Bin2DataStreamer
+ GetSchemaCall.RemoteService = RORemoteService
+ GetDataCall.RemoteService = RORemoteService
+ UpdateDataCall.RemoteService = RORemoteService
+ GetScriptsCall.RemoteService = RORemoteService
+ RemoteService = RORemoteService
+ Left = 171
+ Top = 23
+ end
+ object Bin2DataStreamer: TDABin2DataStreamer
+ Left = 48
+ Top = 88
+ end
+ object tbl_TiposOperacionVenta: TDAMemDataTable
+ RemoteUpdatesOptions = []
+ Fields = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_TIPOS_OPERACION_VENTAS'
+ Required = True
+ ServerAutoRefresh = True
+ DictionaryEntry = 'TiposOperacionVenta_ID'
+ InPrimaryKey = True
+ end
+ item
+ Name = 'DESCRIPCION'
+ DataType = datString
+ Size = 2000
+ DisplayLabel = 'TiposOperacionCompra_DESCRIPCION'
+ DictionaryEntry = 'TiposOperacionCompra_DESCRIPCION'
+ end>
+ Params = <>
+ StreamingOptions = [soDisableEventsWhileStreaming]
+ RemoteDataAdapter = rda_TiposOperacionVenta
+ LogicalName = 'TiposOperacionVenta'
+ IndexDefs = <>
+ Left = 320
+ Top = 88
+ end
+ object ds_TiposOperacionVenta: TDADataSource
+ DataSet = tbl_TiposOperacionVenta.Dataset
+ DataTable = tbl_TiposOperacionVenta
+ Left = 320
+ Top = 32
+ end
+end
diff --git a/Source/Modulos/Tipos de operacion venta/Data/uDataModuleTiposOperacionVenta.pas b/Source/Modulos/Tipos de operacion venta/Data/uDataModuleTiposOperacionVenta.pas
new file mode 100644
index 0000000..95ca03f
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Data/uDataModuleTiposOperacionVenta.pas
@@ -0,0 +1,59 @@
+unit uDataModuleTiposOperacionVenta;
+
+interface
+
+uses
+ SysUtils, Classes, DB, uIDataModuleTiposOperacionVenta, uBizTiposOperacionVenta, uDAInterfaces, uDADataTable,
+ uDAScriptingProvider, uDAMemDataTable, uDADataStreamer, uDABin2DataStreamer,
+ uDARemoteDataAdapter, uROClient, uRORemoteService, uDataModuleBase;
+
+type
+ TDataModuleTiposOperacionVenta = class(TDataModuleBase, IDataModuleTiposOperacionVenta)
+ RORemoteService: TRORemoteService;
+ rda_TiposOperacionVenta: TDARemoteDataAdapter;
+ Bin2DataStreamer: TDABin2DataStreamer;
+ tbl_TiposOperacionVenta: TDAMemDataTable;
+ ds_TiposOperacionVenta: TDADataSource;
+ procedure DAClientDataModuleCreate(Sender: TObject);
+ protected
+ procedure AsignarClaseNegocio(ATarifa: TDADataTable);
+ public
+ function GetItems : IBizTiposOperacionVenta;
+ end;
+
+implementation
+{$R *.DFM}
+
+uses
+ FactuGES_Intf, uDataModuleConexion, uDataTableUtils, cxControls,
+ schTiposOperacionVentaClient_Intf;
+
+{ TdmTiposOperacionVenta }
+
+procedure TDataModuleTiposOperacionVenta.AsignarClaseNegocio(ATarifa: TDADataTable);
+begin
+ ATarifa.BusinessRulesID := BIZ_CLIENT_TIPOS_OP_VENTA;
+end;
+
+procedure TDataModuleTiposOperacionVenta.DAClientDataModuleCreate(Sender: TObject);
+begin
+ RORemoteService.Channel := dmConexion.Channel;
+ RORemoteService.Message := dmConexion.Message;
+end;
+
+function TDataModuleTiposOperacionVenta.GetItems: IBizTiposOperacionVenta;
+var
+ ATiposOperacionVenta : TDAMemDataTable;
+begin
+ ShowHourglassCursor;
+ try
+ ATiposOperacionVenta := CloneDataTable(tbl_TiposOperacionVenta);
+ AsignarClaseNegocio(ATiposOperacionVenta);
+ Result := (ATiposOperacionVenta as IBizTiposOperacionVenta);
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
+
+end.
diff --git a/Source/Modulos/Tipos de operacion venta/Model/Data/uIDataModuleTiposOperacionVenta.pas b/Source/Modulos/Tipos de operacion venta/Model/Data/uIDataModuleTiposOperacionVenta.pas
new file mode 100644
index 0000000..0fa4305
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Model/Data/uIDataModuleTiposOperacionVenta.pas
@@ -0,0 +1,16 @@
+unit uIDataModuleTiposOperacionVenta;
+
+interface
+
+uses
+ uBizTiposOperacionVenta;
+
+type
+ IDataModuleTiposOperacionVenta = interface
+ ['{2E517D3C-2E00-4660-9198-A4C6FF640949}']
+ function GetItems: IBizTiposOperacionVenta;
+ end;
+
+implementation
+
+end.
diff --git a/Source/Modulos/Tipos de operacion venta/Model/TiposOperacionVenta_model.dpk b/Source/Modulos/Tipos de operacion venta/Model/TiposOperacionVenta_model.dpk
new file mode 100644
index 0000000..a91c7d6
Binary files /dev/null and b/Source/Modulos/Tipos de operacion venta/Model/TiposOperacionVenta_model.dpk differ
diff --git a/Source/Modulos/Tipos de operacion venta/Model/TiposOperacionVenta_model.dproj b/Source/Modulos/Tipos de operacion venta/Model/TiposOperacionVenta_model.dproj
new file mode 100644
index 0000000..ebdb5c0
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Model/TiposOperacionVenta_model.dproj
@@ -0,0 +1,549 @@
+
+
+
+ {73acd39c-b2f0-49b7-9acf-10945bbac8c1}
+ TiposOperacionVenta_model.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\TiposOperacionVenta_model.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0TiposOperacionVenta_model.dpk
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Tipos de operacion venta/Model/schTiposOperacionVentaClient_Intf.pas b/Source/Modulos/Tipos de operacion venta/Model/schTiposOperacionVentaClient_Intf.pas
new file mode 100644
index 0000000..605ee61
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Model/schTiposOperacionVentaClient_Intf.pas
@@ -0,0 +1,134 @@
+unit schTiposOperacionVentaClient_Intf;
+
+interface
+
+uses
+ 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_TiposOperacionVenta = '{CC8C03DD-FBD9-417E-A1BB-10F3D8CB89E8}';
+
+ { Data table names }
+ nme_TiposOperacionVenta = 'TiposOperacionVenta';
+
+ { TiposOperacionVenta fields }
+ fld_TiposOperacionVentaID = 'ID';
+ fld_TiposOperacionVentaDESCRIPCION = 'DESCRIPCION';
+
+ { TiposOperacionVenta field indexes }
+ idx_TiposOperacionVentaID = 0;
+ idx_TiposOperacionVentaDESCRIPCION = 1;
+
+type
+ { ITiposOperacionVenta }
+ ITiposOperacionVenta = interface(IDAStronglyTypedDataTable)
+ ['{3DEE4D57-B5BC-4F1E-B8A3-D59B575D4038}']
+ { 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);
+
+
+ { 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;
+ end;
+
+ { TTiposOperacionVentaDataTableRules }
+ TTiposOperacionVentaDataTableRules = class(TIntfObjectDADataTableRules, ITiposOperacionVenta)
+ 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;
+
+ { 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;
+
+ public
+ constructor Create(aDataTable: TDADataTable); override;
+ destructor Destroy; override;
+
+ end;
+
+implementation
+
+uses Variants, uROBinaryHelpers;
+
+{ TTiposOperacionVentaDataTableRules }
+constructor TTiposOperacionVentaDataTableRules.Create(aDataTable: TDADataTable);
+begin
+ inherited;
+end;
+
+destructor TTiposOperacionVentaDataTableRules.Destroy;
+begin
+ inherited;
+end;
+
+function TTiposOperacionVentaDataTableRules.GetIDValue: Integer;
+begin
+ result := DataTable.Fields[idx_TiposOperacionVentaID].AsInteger;
+end;
+
+procedure TTiposOperacionVentaDataTableRules.SetIDValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_TiposOperacionVentaID].AsInteger := aValue;
+end;
+
+function TTiposOperacionVentaDataTableRules.GetIDIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_TiposOperacionVentaID].IsNull;
+end;
+
+procedure TTiposOperacionVentaDataTableRules.SetIDIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_TiposOperacionVentaID].AsVariant := Null;
+end;
+
+function TTiposOperacionVentaDataTableRules.GetDESCRIPCIONValue: String;
+begin
+ result := DataTable.Fields[idx_TiposOperacionVentaDESCRIPCION].AsString;
+end;
+
+procedure TTiposOperacionVentaDataTableRules.SetDESCRIPCIONValue(const aValue: String);
+begin
+ DataTable.Fields[idx_TiposOperacionVentaDESCRIPCION].AsString := aValue;
+end;
+
+function TTiposOperacionVentaDataTableRules.GetDESCRIPCIONIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_TiposOperacionVentaDESCRIPCION].IsNull;
+end;
+
+procedure TTiposOperacionVentaDataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_TiposOperacionVentaDESCRIPCION].AsVariant := Null;
+end;
+
+
+initialization
+ RegisterDataTableRules(RID_TiposOperacionVenta, TTiposOperacionVentaDataTableRules);
+
+end.
diff --git a/Source/Modulos/Tipos de operacion venta/Model/schTiposOperacionVentaServer_Intf.pas b/Source/Modulos/Tipos de operacion venta/Model/schTiposOperacionVentaServer_Intf.pas
new file mode 100644
index 0000000..ebcfd9f
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Model/schTiposOperacionVentaServer_Intf.pas
@@ -0,0 +1,143 @@
+unit schTiposOperacionVentaServer_Intf;
+
+interface
+
+uses
+ Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, FmtBCD, uROXMLIntf, schTiposOperacionVentaClient_Intf;
+
+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_TiposOperacionVentaDelta = '{8584F969-01AB-4E50-9F75-F5333A3E4874}';
+
+type
+ { ITiposOperacionVentaDelta }
+ ITiposOperacionVentaDelta = interface(ITiposOperacionVenta)
+ ['{8584F969-01AB-4E50-9F75-F5333A3E4874}']
+ { Property getters and setters }
+ function GetOldIDValue : Integer;
+ function GetOldDESCRIPCIONValue : String;
+
+ { Properties }
+ property OldID : Integer read GetOldIDValue;
+ property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
+ end;
+
+ { TTiposOperacionVentaBusinessProcessorRules }
+ TTiposOperacionVentaBusinessProcessorRules = class(TDABusinessProcessorRules, ITiposOperacionVenta, ITiposOperacionVentaDelta)
+ 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;
+
+ { 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;
+
+ public
+ constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
+ destructor Destroy; override;
+
+ end;
+
+implementation
+
+uses
+ Variants, uROBinaryHelpers, uDAInterfaces;
+
+{ TTiposOperacionVentaBusinessProcessorRules }
+constructor TTiposOperacionVentaBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
+begin
+ inherited;
+end;
+
+destructor TTiposOperacionVentaBusinessProcessorRules.Destroy;
+begin
+ inherited;
+end;
+
+function TTiposOperacionVentaBusinessProcessorRules.GetIDValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposOperacionVentaID];
+end;
+
+function TTiposOperacionVentaBusinessProcessorRules.GetIDIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_TiposOperacionVentaID]);
+end;
+
+function TTiposOperacionVentaBusinessProcessorRules.GetOldIDValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposOperacionVentaID];
+end;
+
+function TTiposOperacionVentaBusinessProcessorRules.GetOldIDIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_TiposOperacionVentaID]);
+end;
+
+procedure TTiposOperacionVentaBusinessProcessorRules.SetIDValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_TiposOperacionVentaID] := aValue;
+end;
+
+procedure TTiposOperacionVentaBusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_TiposOperacionVentaID] := Null;
+end;
+
+function TTiposOperacionVentaBusinessProcessorRules.GetDESCRIPCIONValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposOperacionVentaDESCRIPCION];
+end;
+
+function TTiposOperacionVentaBusinessProcessorRules.GetDESCRIPCIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_TiposOperacionVentaDESCRIPCION]);
+end;
+
+function TTiposOperacionVentaBusinessProcessorRules.GetOldDESCRIPCIONValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposOperacionVentaDESCRIPCION];
+end;
+
+function TTiposOperacionVentaBusinessProcessorRules.GetOldDESCRIPCIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_TiposOperacionVentaDESCRIPCION]);
+end;
+
+procedure TTiposOperacionVentaBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_TiposOperacionVentaDESCRIPCION] := aValue;
+end;
+
+procedure TTiposOperacionVentaBusinessProcessorRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_TiposOperacionVentaDESCRIPCION] := Null;
+end;
+
+
+initialization
+ RegisterBusinessProcessorRules(RID_TiposOperacionVentaDelta, TTiposOperacionVentaBusinessProcessorRules);
+
+end.
diff --git a/Source/Modulos/Tipos de operacion venta/Model/uBizTiposOperacionVenta.pas b/Source/Modulos/Tipos de operacion venta/Model/uBizTiposOperacionVenta.pas
new file mode 100644
index 0000000..ccc5f74
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Model/uBizTiposOperacionVenta.pas
@@ -0,0 +1,36 @@
+unit uBizTiposOperacionVenta;
+
+interface
+
+uses
+ uDAInterfaces, uDADataTable, schTiposOperacionVentaClient_Intf;
+
+const
+ BIZ_CLIENT_TIPOS_OP_VENTA = 'Client.TiposOperacionVenta';
+
+type
+ IBizTiposOperacionVenta = interface(ITiposOperacionVenta)
+ ['{AE0CC097-B219-4D66-8D8C-23D4D2FB05AA}']
+ end;
+
+ TBizTiposOperacionVenta = class(TTiposOperacionVentaDataTableRules, IBizTiposOperacionVenta)
+ procedure AfterOpen(Sender: TDADataTable); override;
+ end;
+
+implementation
+
+{ TBizTiposOperacionVenta }
+
+procedure TBizTiposOperacionVenta.AfterOpen(Sender: TDADataTable);
+begin
+ inherited;
+ DataTable.Sort([fld_TiposOperacionVentaDESCRIPCION], [sdAscending]);
+end;
+
+initialization
+ RegisterDataTableRules(BIZ_CLIENT_TIPOS_OP_VENTA, TBizTiposOperacionVenta);
+
+finalization
+
+end.
+
diff --git a/Source/Modulos/Tipos de operacion venta/Plugin/TiposOperacionVenta_plugin.dpk b/Source/Modulos/Tipos de operacion venta/Plugin/TiposOperacionVenta_plugin.dpk
new file mode 100644
index 0000000..78a7931
Binary files /dev/null and b/Source/Modulos/Tipos de operacion venta/Plugin/TiposOperacionVenta_plugin.dpk differ
diff --git a/Source/Modulos/Tipos de operacion venta/Plugin/TiposOperacionVenta_plugin.dproj b/Source/Modulos/Tipos de operacion venta/Plugin/TiposOperacionVenta_plugin.dproj
new file mode 100644
index 0000000..e5a10bb
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Plugin/TiposOperacionVenta_plugin.dproj
@@ -0,0 +1,546 @@
+
+
+
+ {82e36812-58c4-491b-b463-6b951e95da51}
+ TiposOperacionVenta_plugin.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\TiposOperacionVenta_plugin.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0TiposOperacionVenta_plugin.dpk
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Tipos de operacion venta/Plugin/uPluginTiposOperacionVenta.dfm b/Source/Modulos/Tipos de operacion venta/Plugin/uPluginTiposOperacionVenta.dfm
new file mode 100644
index 0000000..f9cb25a
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Plugin/uPluginTiposOperacionVenta.dfm
@@ -0,0 +1,190 @@
+object PluginTiposOperacionVenta: TPluginTiposOperacionVenta
+ OldCreateOrder = True
+ DefaultAction = actTiposOperacionVentas
+ Description = 'Tarifas'
+ ModuleMenu = MainMenu
+ ModuleName = 'Tarifas'
+ SmallImages = SmallImages
+ LargeImages = SmallImages
+ Author = 'Rodax Software'
+ Version = '1.0.0'
+ Height = 252
+ Width = 401
+ object LargeImages: TPngImageList
+ Height = 24
+ Width = 24
+ PngImages = <>
+ Left = 232
+ Top = 16
+ end
+ object ModuleActionList: TActionList
+ Images = SmallImages
+ Left = 40
+ Top = 72
+ object actTiposOperacionVentas: TAction
+ Category = 'Tipos operaci'#243'n ventas'
+ Caption = 'Tipos de operaci'#243'n ventas'
+ ImageIndex = 1
+ OnExecute = actTiposOperacionVentasExecute
+ end
+ end
+ object MainMenu: TMainMenu
+ Images = LargeImages
+ Left = 40
+ Top = 16
+ object Ventas1: TMenuItem
+ Caption = 'Datos'
+ object TiposOperacionVenta1: TMenuItem
+ Tag = 900
+ Action = actTiposOperacionVentas
+ end
+ end
+ end
+ object SmallImages: TPngImageList
+ PngImages = <
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD25200000A4D694343505068
+ 6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF
+ F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A
+ 561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5
+ 7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8
+ 1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC
+ 01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200
+ C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05
+ 00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2
+ 00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C
+ CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97
+ 4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313
+ 48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F
+ 223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA
+ 560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED
+ 2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383
+ FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A
+ F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86
+ 4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432
+ 79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0
+ 812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C
+ 0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70
+ 170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261
+ 48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA
+ 90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F
+ 5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961
+ 5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402
+ 8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2
+ 272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93
+ 48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90
+ 6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452
+ A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650
+ 2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83
+ 1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7
+ 192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295
+ 3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9
+ 09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685
+ 46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9
+ EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C
+ 4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED
+ EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB
+ 79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31
+ 3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87
+ 67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94
+ 6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85
+ A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6
+ 5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29
+ D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B
+ 743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6
+ 4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD
+ D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7
+ C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E
+ 3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B
+ FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5
+ 0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1
+ 15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0
+ 476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67
+ BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845
+ F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC
+ A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7
+ 6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA
+ 68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C
+ 949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423
+ F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433
+ DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317
+ 772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2
+ A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17
+ 955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4
+ EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E
+ CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9
+ 26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD
+ 8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF
+ B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C
+ 7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD
+ EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293
+ E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7
+ 5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F
+ EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6
+ EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07
+ FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247
+ CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73
+ ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC
+ CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F
+ F73EE77CFEFC2FF784F3FB25D29F33000003824944415478DA4D536F6C13651C
+ 7EDEEBB55DCB5A3B56840E011194900C3102834D86812C4822DBF04F58C8942F
+ 8608C60F1A89FFBE98F80562A61F46A48E02310BFBC34A625A84451C766DB700
+ 6306B619C2840DB756D70DC66DBBEB5DEF7A7F7CEFAAD15FEE3EDCFBBBE7F9FD
+ F23CCF4BC26DC7A3813276178881A93FF5A4C86EFDC1E1F133BA9E27BA6E8061
+ 0CB85D76A4FF9A26C133E793622E37E2B4B32084C02CD2DFDB94AB7AD9ED343F
+ B8C70606066843379B3A7D54F0028BF28AD7312FEA0847AEA4C2177B5E73D86C
+ BFB2ACAD4090B8DAC455EF72FB52932AC6EF8A7039640A34C11A7DF358E00924
+ D1037B603B2A2A5F42A8353AD9DA75E96D5555130CC380F4C5BEE62AB6397C3D
+ 97E6F1FCD319947814A879159A2C507C0EF985346E5D1FC3ECDA663CE0BC90B3
+ 3C12D76E5F7E3C37BF97616C06B9966CE27C5EF8B8D42C2A5F78045556A14A02
+ 544500D124DC1B1C8450FC06D6D506313834860793699C3E17FD716AFA51ADC3
+ D4227EF51B0E9AE1DBF0540A5E97005914A1E578684A16CADC146EDC4863E3C1
+ 9FE00B5482D1158CA767F0EEE1D0D0CDBE4C0795204CDACF7CC16F58395DBC66
+ 590A8A2053DD240A16E9740513A3A3E0BC8DD8BCFF7B883C0F6E2E8BB70E8430
+ 33C38B99CC7C86129490B35FD6FFE1E1A24FB2C54FB82C6B0C0386A92E754190
+ 9DD871E40A169596C3D07238712286E1A114BA3A0E458B16BD5F4F7F1B23CD1F
+ 56B97587BFFED5F7CEB69795D8202B54035587A2AA606C2CDC9E124AAA5A96AD
+ 79E673C46247B162556924B02FDA904FFE72999CFCEA233857BEB2774FCDF68B
+ 65A52E48B20639AF41A144B0E2402DA53B2513F7D0D0D082EA1DCF41E0A587B7
+ 6EA786E9F18B2474A11F8461EA6AB63E1B092CF1212BC9D606AA5600FE5B27BF
+ ED455BDB7534366EC31C97BD130CC65BAD20B57425682C8DBA9D15EB23CBFC5E
+ 4A90A70434071A0593FF08BE0BC6D1DF771FADE7DE31658AAE5DFD59BD4570AA
+ 2B4E095057BD695D64C9620F44890649D360DE03BA9925AA59A75AE2E8ECB889
+ 44DF276008F979D58A8F775B2E043B63F400753B2BCB2301BF0FA22843A1EBE7
+ 558D4A4050B8330423C329ECAB6DC6FE035B863F385A13AADA74EC2E6D1C272D
+ E77BC1DAC89B4B177BC25333B305201DAAFD33D922305D207644C3BFA1A7FB77
+ FCAF3E259DDD03A656ABDB2F74EFB9333A8EA22267616D2B135448C60E52B49C
+ 31A409DDDC24B7C02CCF09F03B5C383D31A20FFE0D3DD9B01652475B27000000
+ 0049454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000000CE4944415478DA
+ 63FCFFFF3F03258071E00D58B6E514D92644F99831820D50F76666987C3219AB
+ A2DF7FFF327CFFF387E1DBEFDF0C1F7FFC00B3E7FA6F6548F198C3707EE77484
+ 0120003364AED9390C836CB6C9C13583008A0154090372BD81620039DE801BB0
+ 4B240DAE10A699F9141344E02A03C3DFC47F60A6E65A5186EF4097805C23B72C
+ 810803AE42C4600628AC10006B06618DD5A90C8C20419021C8068024975B5FC6
+ F002B26690570CD767220C8005225812AA08A6109BD8D9F4B390308019D03D79
+ 3E79D138E0990900FC7AC6454D6D985F0000000049454E44AE426082}
+ Name = 'PngImage1'
+ Background = clWindow
+ end>
+ PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
+ Left = 308
+ Top = 16
+ Bitmap = {}
+ end
+ object ExtraImages: TPngImageList
+ Height = 28
+ Width = 28
+ PngImages = <>
+ Left = 232
+ Top = 80
+ end
+end
diff --git a/Source/Modulos/Tipos de operacion venta/Plugin/uPluginTiposOperacionVenta.pas b/Source/Modulos/Tipos de operacion venta/Plugin/uPluginTiposOperacionVenta.pas
new file mode 100644
index 0000000..c47574e
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Plugin/uPluginTiposOperacionVenta.pas
@@ -0,0 +1,73 @@
+unit uPluginTiposOperacionVenta;
+
+interface
+
+uses
+ uModuleController, uInterfaces, uHostManager, Menus, Classes, ActnList,
+ ImgList, Controls, PngImageList;
+
+type
+ IMCTiposOperacionVenta = interface(IInterface)
+ ['{E58B1C74-2448-4D0C-BA84-B9D199E5F29F}']
+ end;
+
+ TPluginTiposOperacionVenta = class(TModuleController, IMCTiposOperacionVenta)
+ actTiposOperacionVentas: TAction;
+ ExtraImages: TPngImageList;
+ LargeImages: TPngImageList;
+ MainMenu: TMainMenu;
+ ModuleActionList: TActionList;
+ SmallImages: TPngImageList;
+ Ventas1: TMenuItem;
+ TiposOperacionVenta1: TMenuItem;
+ procedure actTiposOperacionVentasExecute(Sender: TObject);
+ public
+ constructor Create(AOwner: TComponent); override;
+ destructor Destroy; override;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+uses
+ Forms, Dialogs, SysUtils,
+ uTiposOperacionVentaController, uBizTiposOperacionVenta, uTiposOperacionVentaViewRegister;
+
+function GetModule : TModuleController;
+begin
+ Result := TPluginTiposOperacionVenta.Create(NIL);
+end;
+
+exports
+ GetModule name GET_MODULE_FUNC;
+
+procedure TPluginTiposOperacionVenta.actTiposOperacionVentasExecute(Sender: TObject);
+var
+ ATiposOperacionVentaController : ITiposOperacionVentaController;
+ ATiposOperacionVenta : IBizTiposOperacionVenta;
+begin
+ ATiposOperacionVentaController := TTiposOperacionVentaController.Create;
+ ATiposOperacionVenta := (ATiposOperacionVentaController.BuscarTodos as IBizTiposOperacionVenta);
+ ATiposOperacionVentaController.VerTodos(ATiposOperacionVenta);
+end;
+
+constructor TPluginTiposOperacionVenta.Create(AOwner: TComponent);
+begin
+ inherited;
+ uTiposOperacionVentaViewRegister.RegisterViews;
+end;
+
+destructor TPluginTiposOperacionVenta.Destroy;
+begin
+ uTiposOperacionVentaViewRegister.UnregisterViews;
+ inherited;
+end;
+
+initialization
+ RegisterModuleClass(TPluginTiposOperacionVenta);
+
+finalization
+ UnRegisterModuleClass(TPluginTiposOperacionVenta);
+
+end.
diff --git a/Source/Modulos/Tipos de operacion venta/Servidor/srvTiposOperacionVenta_Impl.dfm b/Source/Modulos/Tipos de operacion venta/Servidor/srvTiposOperacionVenta_Impl.dfm
new file mode 100644
index 0000000..3a23b64
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Servidor/srvTiposOperacionVenta_Impl.dfm
@@ -0,0 +1,88 @@
+object srvTiposOperacionVenta: TsrvTiposOperacionVenta
+ OldCreateOrder = True
+ OnCreate = DataAbstractServiceCreate
+ SessionManager = dmServer.SessionManager
+ ServiceSchema = schTiposOperacionVenta
+ ServiceDataStreamer = Bin2DataStreamer
+ ExportedDataTables = <>
+ BeforeAcquireConnection = DataAbstractServiceBeforeAcquireConnection
+ Height = 300
+ Width = 300
+ object schTiposOperacionVenta: TDASchema
+ ConnectionManager = dmServer.ConnectionManager
+ Datasets = <
+ item
+ Params = <>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ TargetTable = 'TIPOS_FACTURA_CLIENTE'
+ Name = 'IBX'
+ StatementType = stAutoSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'ID'
+ TableField = 'ID'
+ end
+ item
+ DatasetField = 'DESCRIPCION'
+ TableField = 'DESCRIPCION'
+ end>
+ end>
+ Name = 'TiposOperacionVenta'
+ Fields = <
+ item
+ Name = 'ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_TIPOS_OPERACION_VENTAS'
+ Required = True
+ ServerAutoRefresh = True
+ DictionaryEntry = 'TiposOperacionVenta_ID'
+ InPrimaryKey = True
+ end
+ item
+ Name = 'DESCRIPCION'
+ DataType = datString
+ Size = 2000
+ DisplayLabel = 'TiposOperacionCompra_DESCRIPCION'
+ DictionaryEntry = 'TiposOperacionCompra_DESCRIPCION'
+ end>
+ end>
+ JoinDataTables = <>
+ UnionDataTables = <>
+ Commands = <>
+ RelationShips = <>
+ UpdateRules = <>
+ Version = 0
+ Left = 80
+ Top = 24
+ end
+ object Bin2DataStreamer: TDABin2DataStreamer
+ Left = 80
+ Top = 88
+ end
+ object DataDictionary: TDADataDictionary
+ Fields = <
+ item
+ Name = 'Tarifas_ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_TARIFAS_ID'
+ Required = True
+ DisplayLabel = 'ID'
+ end
+ item
+ Name = 'Tarifas_DESCRIPCION'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'Descripci'#243'n'
+ end>
+ Left = 190
+ Top = 22
+ end
+ object Diagrams: TDADiagrams
+ Left = 190
+ Top = 90
+ DiagramData = ''#13#10''#13#10
+ end
+end
diff --git a/Source/Modulos/Tipos de operacion venta/Servidor/srvTiposOperacionVenta_Impl.pas b/Source/Modulos/Tipos de operacion venta/Servidor/srvTiposOperacionVenta_Impl.pas
new file mode 100644
index 0000000..453a047
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Servidor/srvTiposOperacionVenta_Impl.pas
@@ -0,0 +1,61 @@
+unit srvTiposOperacionVenta_Impl;
+
+{----------------------------------------------------------------------------}
+{ This unit was automatically generated by the RemObjects SDK after reading }
+{ the RODL file associated with this project . }
+{ }
+{ This is where you are supposed to code the implementation of your objects. }
+{----------------------------------------------------------------------------}
+
+{$I Remobjects.inc}
+
+interface
+
+uses
+ {vcl:} Classes, SysUtils,
+ {RemObjects:} uROXMLIntf, uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,
+ {Ancestor Implementation:} DataAbstractService_Impl,
+ {Used RODLs:} DataAbstract4_Intf,
+ {Generated:} FactuGES_Intf, uDADataStreamer, uDABin2DataStreamer, uDAClasses, uDAInterfaces;
+
+type
+ { TsrvTiposOperacionVenta }
+ TsrvTiposOperacionVenta = class(TDataAbstractService, IsrvTiposOperacionVenta)
+ Bin2DataStreamer: TDABin2DataStreamer;
+ DataDictionary: TDADataDictionary;
+ Diagrams: TDADiagrams;
+ schTiposOperacionVenta: TDASchema;
+ procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string);
+ procedure DataAbstractServiceCreate(Sender: TObject);
+ end;
+
+implementation
+
+{$R *.dfm}
+uses
+ {Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils;
+
+procedure Create_srvTiposOperacionVenta(out anInstance : IUnknown);
+begin
+ anInstance := TsrvTiposOperacionVenta.Create(nil);
+end;
+
+{ srvTiposVenta }
+
+procedure TsrvTiposOperacionVenta.DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string);
+begin
+ ConnectionName := dmServer.ConnectionName;
+end;
+
+procedure TsrvTiposOperacionVenta.DataAbstractServiceCreate(Sender: TObject);
+begin
+ //SessionManager := dmServer.SessionManager;
+end;
+
+
+initialization
+ TROClassFactory.Create('srvTiposOperacionVenta', Create_srvTiposOperacionVenta, TsrvTiposOperacionVenta_Invoker);
+
+finalization
+
+end.
diff --git a/Source/Modulos/Tipos de operacion venta/Views/TiposOperacionVenta_view.dpk b/Source/Modulos/Tipos de operacion venta/Views/TiposOperacionVenta_view.dpk
new file mode 100644
index 0000000..87e995f
Binary files /dev/null and b/Source/Modulos/Tipos de operacion venta/Views/TiposOperacionVenta_view.dpk differ
diff --git a/Source/Modulos/Tipos de operacion venta/Views/TiposOperacionVenta_view.dproj b/Source/Modulos/Tipos de operacion venta/Views/TiposOperacionVenta_view.dproj
new file mode 100644
index 0000000..4021954
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Views/TiposOperacionVenta_view.dproj
@@ -0,0 +1,564 @@
+
+
+
+ {e3d36a6f-7004-4c89-9f3d-f2d77e386d1b}
+ TiposOperacionVenta_view.dpk
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\..\..\Output\Debug\Cliente\TiposOperacionVenta_view.bpl
+
+
+ 7.0
+ False
+ False
+ 0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ RELEASE
+
+
+ 7.0
+ .\
+ .\
+ .\
+ ..\..\..\..\Output\Debug\Cliente
+ ..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+ ..\..\..\Lib;..\..\Lib
+
+
+ Delphi.Personality
+ Package
+
+FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0TiposOperacionVenta_view.dpk
+
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TfEditorFamilias
+
+
+
+ TfEditorFamilias
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Tipos de operacion venta/Views/uEditorElegirTipoOperacionVenta.dfm b/Source/Modulos/Tipos de operacion venta/Views/uEditorElegirTipoOperacionVenta.dfm
new file mode 100644
index 0000000..6c0adae
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Views/uEditorElegirTipoOperacionVenta.dfm
@@ -0,0 +1,90 @@
+object fEditorElegirTipoOperacionVenta: TfEditorElegirTipoOperacionVenta
+ Left = 0
+ Top = 0
+ BorderStyle = bsDialog
+ Caption = 'Tipo de operaci'#243'n'
+ ClientHeight = 124
+ ClientWidth = 424
+ Color = clWindow
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poScreenCenter
+ OnDestroy = FormDestroy
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Label1: TLabel
+ Left = 21
+ Top = 16
+ Width = 238
+ Height = 13
+ Caption = 'Seleccione el tipo de operaci'#243'n que desea asignar'
+ end
+ object combo: TLabel
+ Left = 81
+ Top = 45
+ Width = 24
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Tipo:'
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 83
+ Width = 424
+ Height = 41
+ Align = alBottom
+ TabOrder = 0
+ DesignSize = (
+ 424
+ 41)
+ object bAceptar: TButton
+ Left = 260
+ Top = 8
+ Width = 75
+ Height = 25
+ Anchors = [akTop, akRight]
+ Caption = 'Aceptar'
+ ModalResult = 1
+ TabOrder = 0
+ end
+ object bCancelar: TButton
+ Left = 341
+ Top = 8
+ Width = 75
+ Height = 25
+ Anchors = [akTop, akRight]
+ Caption = 'Cancelar'
+ ModalResult = 2
+ TabOrder = 1
+ end
+ end
+ object cbTipo: TcxLookupComboBox
+ Left = 111
+ Top = 42
+ Properties.DropDownListStyle = lsFixedList
+ Properties.ImmediatePost = True
+ Properties.KeyFieldNames = 'ID'
+ Properties.ListColumns = <
+ item
+ FieldName = 'DESCRIPCION'
+ end>
+ Properties.ListOptions.ShowHeader = False
+ Properties.ListOptions.SyncMode = True
+ Properties.ListSource = dsTipo
+ Style.LookAndFeel.Kind = lfOffice11
+ StyleDisabled.LookAndFeel.Kind = lfOffice11
+ StyleFocused.LookAndFeel.Kind = lfOffice11
+ StyleHot.LookAndFeel.Kind = lfOffice11
+ TabOrder = 1
+ Width = 266
+ end
+ object dsTipo: TDADataSource
+ Left = 24
+ Top = 64
+ end
+end
diff --git a/Source/Modulos/Tipos de operacion venta/Views/uEditorElegirTipoOperacionVenta.pas b/Source/Modulos/Tipos de operacion venta/Views/uEditorElegirTipoOperacionVenta.pas
new file mode 100644
index 0000000..ca5d6a7
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Views/uEditorElegirTipoOperacionVenta.pas
@@ -0,0 +1,70 @@
+unit uEditorElegirTipoOperacionVenta;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, StdCtrls, cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit,
+ cxDropDownEdit, cxCalendar, ExtCtrls, uEditorBasico, uIEditorElegirTipoOperacionVenta,
+ cxGraphics, DB, uDAInterfaces, uDADataTable, cxDBEdit, uTiposOperacionVentaController,
+ cxLookupEdit, cxDBLookupEdit, cxDBLookupComboBox, uBizTiposOperacionVenta;
+
+type
+ TfEditorElegirTipoOperacionVenta = class(TfEditorBasico, IEditorElegirTipoOperacionVenta)
+ Label1: TLabel;
+ bAceptar: TButton;
+ bCancelar: TButton;
+ combo: TLabel;
+ Panel1: TPanel;
+ cbTipo: TcxLookupComboBox;
+ dsTipo: TDADataSource;
+ procedure FormShow(Sender: TObject);
+ procedure FormDestroy(Sender: TObject);
+
+ private
+ FController: ITiposOperacionVentaController;
+ FListaTiposOperacionVenta : IBizTiposOperacionVenta;
+ FTipoOperacionVenta: Variant;
+ function GetTipoOperacionVenta: Variant;
+ procedure SetTipoOperacionVenta(const Value: Variant);
+
+ public
+ property TipoOperacionVenta: Variant Read GetTipoOperacionVenta write SetTipoOperacionVenta;
+
+ end;
+
+implementation
+{$R *.dfm}
+
+uses uFactuGES_App;
+
+procedure TfEditorElegirTipoOperacionVenta.FormDestroy(Sender: TObject);
+begin
+ FController := Nil;
+ FListaTiposOperacionVenta := Nil;
+end;
+
+procedure TfEditorElegirTipoOperacionVenta.FormShow(Sender: TObject);
+var
+
+ i : integer;
+
+begin
+ FController := TTiposOperacionVentaController.Create;
+ FListaTiposOperacionVenta := FController.BuscarTodos;
+ FListaTiposOperacionVenta.DataTable.Active := True;
+ dsTipo.DataTable := FListaTiposOperacionVenta.DataTable;
+ cbTipo.ItemIndex := 0;
+end;
+
+function TfEditorElegirTipoOperacionVenta.GetTipoOperacionVenta: Variant;
+begin
+ Result := FListaTiposOperacionVenta.ID;
+end;
+
+procedure TfEditorElegirTipoOperacionVenta.SetTipoOperacionVenta(const Value: variant);
+begin
+// cbTarifa.ItemIndex := cbTarifa.Properties.Items.IndexOfName(Value);
+end;
+
+end.
diff --git a/Source/Modulos/Tipos de operacion venta/Views/uEditorTiposOperacionVenta.dfm b/Source/Modulos/Tipos de operacion venta/Views/uEditorTiposOperacionVenta.dfm
new file mode 100644
index 0000000..702e25c
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Views/uEditorTiposOperacionVenta.dfm
@@ -0,0 +1,144 @@
+object fEditorTiposOperacionVenta: TfEditorTiposOperacionVenta
+ Left = 453
+ Top = 234
+ ActiveControl = ListaTiposOperacionVenta
+ BorderIcons = [biSystemMenu]
+ BorderStyle = bsSingle
+ Caption = 'Administraci'#243'n de tipos de operaci'#243'n'
+ ClientHeight = 494
+ ClientWidth = 404
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poScreenCenter
+ OnClose = CustomEditorClose
+ OnShow = FormShow
+ InstanceID = 0
+ ReadOnly = False
+ PixelsPerInch = 96
+ TextHeight = 13
+ object bAceptar: TButton
+ Left = 235
+ Top = 462
+ Width = 75
+ Height = 23
+ Action = actAceptar
+ Default = True
+ TabOrder = 1
+ end
+ object bCancelar: TButton
+ Left = 321
+ Top = 462
+ Width = 75
+ Height = 23
+ Action = actCancelar
+ Cancel = True
+ TabOrder = 2
+ end
+ object PageControl1: TPageControl
+ Left = 8
+ Top = 8
+ Width = 390
+ Height = 442
+ ActivePage = TabSheet1
+ TabOrder = 0
+ object TabSheet1: TTabSheet
+ Caption = 'Tipos de operaci'#243'n para ventas'
+ object Label1: TLabel
+ Left = 10
+ Top = 12
+ Width = 186
+ Height = 13
+ Caption = 'Lista de tipos de operaci'#243'n para ventas'
+ end
+ object Label2: TLabel
+ Left = 10
+ Top = 326
+ Width = 98
+ Height = 13
+ Caption = 'A'#241'adir un nuevo tipo'
+ end
+ object Bevel1: TBevel
+ Left = 132
+ Top = 330
+ Width = 244
+ Height = 5
+ Shape = bsBottomLine
+ end
+ object eCategoria: TLabel
+ Left = 18
+ Top = 353
+ Width = 77
+ Height = 13
+ Caption = 'Nombre del tipo:'
+ end
+ object ListaTiposOperacionVenta: TDBLookupListBox
+ Left = 8
+ Top = 31
+ Width = 262
+ Height = 277
+ KeyField = 'RecID'
+ ListField = 'DESCRIPCION'
+ ListSource = DADataSource
+ TabOrder = 0
+ end
+ object bEliminar: TButton
+ Left = 281
+ Top = 31
+ Width = 95
+ Height = 23
+ Action = actEliminar
+ TabOrder = 1
+ end
+ object editTipoOperacionVenta: TEdit
+ Left = 122
+ Top = 349
+ Width = 254
+ Height = 21
+ TabOrder = 2
+ end
+ object bAnadir: TButton
+ Left = 281
+ Top = 382
+ Width = 95
+ Height = 23
+ Action = actAnadir
+ TabOrder = 3
+ end
+ end
+ end
+ object ActionList1: TActionList
+ Left = 144
+ Top = 16
+ object actAnadir: TAction
+ Caption = '&A'#241'adir'
+ OnExecute = actAnadirExecute
+ OnUpdate = actAnadirUpdate
+ end
+ object actEliminar: TAction
+ Caption = '&Eliminar'
+ OnExecute = actEliminarExecute
+ OnUpdate = actEliminarUpdate
+ end
+ object actAceptar: TAction
+ Caption = 'A&ceptar'
+ OnExecute = actAceptarExecute
+ end
+ object actCancelar: TAction
+ Caption = '&Cancelar'
+ OnExecute = actCancelarExecute
+ end
+ object actCerrar: TAction
+ Caption = 'actCerrar'
+ OnExecute = actCerrarExecute
+ end
+ end
+ object DADataSource: TDADataSource
+ Left = 168
+ Top = 16
+ end
+end
diff --git a/Source/Modulos/Tipos de operacion venta/Views/uEditorTiposOperacionVenta.pas b/Source/Modulos/Tipos de operacion venta/Views/uEditorTiposOperacionVenta.pas
new file mode 100644
index 0000000..1a312c3
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Views/uEditorTiposOperacionVenta.pas
@@ -0,0 +1,181 @@
+{
+===============================================================================
+ Copyright (©) 2006. Rodax Software.
+===============================================================================
+ Los contenidos de este fichero son propiedad de Rodax Software titular del
+ copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
+ en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
+ acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
+ bajo el que se suministra.
+ -----------------------------------------------------------------------------
+ Web: www.rodax-software.com
+===============================================================================
+ Fecha primera versión: 22-05-2006
+ Versión actual: 1.0.0
+ Fecha versión actual: 22-05-2006
+===============================================================================
+ Modificaciones:
+
+ Fecha Comentarios
+ ---------------------------------------------------------------------------
+===============================================================================
+}
+
+unit uEditorTiposOperacionVenta;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, DB, StdCtrls, DBCtrls, uDADataTable, ActnList,
+ uIEditorTiposOperacionVenta, uCustomEditor, uGUIBase, ExtCtrls,
+ ComCtrls, uBizTiposOperacionVenta, uTiposOperacionVentaController, uDAInterfaces;
+
+type
+ TfEditorTiposOperacionVenta = class(TCustomEditor, IEditorTiposOperacionVenta)
+ ActionList1: TActionList;
+ DADataSource: TDADataSource;
+ ListaTiposOperacionVenta: TDBLookupListBox;
+ actAnadir: TAction;
+ actEliminar: TAction;
+ bEliminar: TButton;
+ actAceptar: TAction;
+ actCancelar: TAction;
+ bAceptar: TButton;
+ bCancelar: TButton;
+ actCerrar: TAction;
+ PageControl1: TPageControl;
+ TabSheet1: TTabSheet;
+ Label1: TLabel;
+ Label2: TLabel;
+ Bevel1: TBevel;
+ eCategoria: TLabel;
+ editTipoOperacionVenta: TEdit;
+ bAnadir: TButton;
+ procedure FormShow(Sender: TObject);
+ procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction);
+
+ procedure actAnadirExecute(Sender: TObject);
+ procedure actEliminarExecute(Sender: TObject);
+ procedure actAceptarExecute(Sender: TObject);
+ procedure actCancelarExecute(Sender: TObject);
+ procedure actCerrarExecute(Sender: TObject);
+ procedure actAnadirUpdate(Sender: TObject);
+ procedure actEliminarUpdate(Sender: TObject);
+ protected
+ FTiposOperacionVenta: IBizTiposOperacionVenta;
+ FController: ITiposOperacionVentaController;
+ function GetTiposOperacionVenta: IBizTiposOperacionVenta;
+ procedure SetTiposOperacionVenta(const Value: IBizTiposOperacionVenta);
+ function GetController : ITiposOperacionVentaController;
+ procedure SetController (const Value : ITiposOperacionVentaController);
+ public
+ property TiposOperacionVenta: IBizTiposOperacionVenta read GetTiposOperacionVenta write SetTiposOperacionVenta;
+ property Controller : ITiposOperacionVentaController read GetController write SetController;
+ end;
+
+
+implementation
+{$R *.dfm}
+
+{ TfEditorTiposOperacionVenta }
+
+uses
+ uDialogUtils, uFactuGES_App;
+
+function TfEditorTiposOperacionVenta.GetController: ITiposOperacionVentaController;
+begin
+ Result := FController;
+end;
+
+function TfEditorTiposOperacionVenta.GetTiposOperacionVenta: IBizTiposOperacionVenta;
+begin
+ Result := FTiposOperacionVenta;
+end;
+
+procedure TfEditorTiposOperacionVenta.SetController(const Value: ITiposOperacionVentaController);
+begin
+ FController := Value;
+end;
+
+procedure TfEditorTiposOperacionVenta.SetTiposOperacionVenta(const Value: IBizTiposOperacionVenta);
+begin
+ FTiposOperacionVenta := Value;
+ DADataSource.DataTable := (FTiposOperacionVenta as IBizTiposOperacionVenta).DataTable;
+ DADataSource.DataTable.Open;
+end;
+
+procedure TfEditorTiposOperacionVenta.actAnadirExecute(Sender: TObject);
+begin
+ if not FController.Localizar(TiposOperacionVenta, editTipoOperacionVenta.Text) then
+ begin
+ TiposOperacionVenta.Append;
+ TiposOperacionVenta.DESCRIPCION := editTipoOperacionVenta.Text;
+ TiposOperacionVenta.Post;
+ editTipoOperacionVenta.Clear;
+ ListaTiposOperacionVenta.SetFocus;
+ end
+ else
+ ShowErrorMessage('Ya existe el Tipo ' + editTipoOperacionVenta.Text,
+ 'Ya existe el Tipo ''' + editTipoOperacionVenta.Text + ''' en la lista.');
+end;
+
+procedure TfEditorTiposOperacionVenta.actEliminarExecute(Sender: TObject);
+begin
+ TiposOperacionVenta.Delete;
+ ListaTiposOperacionVenta.SetFocus;
+end;
+
+procedure TfEditorTiposOperacionVenta.actEliminarUpdate(Sender: TObject);
+begin
+ (Sender as TAction).Enabled := (FTiposOperacionVenta.DataTable.RecordCount > 0) and
+ (Length(ListaTiposOperacionVenta.SelectedItem) > 0) and
+ (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_ADMINISTRADOR);
+
+end;
+
+procedure TfEditorTiposOperacionVenta.CustomEditorClose(Sender: TObject; var Action: TCloseAction);
+begin
+ FTiposOperacionVenta := Nil;
+ FController := Nil;
+end;
+
+procedure TfEditorTiposOperacionVenta.actAceptarExecute(Sender: TObject);
+begin
+ try
+ TiposOperacionVenta.DataTable.ApplyUpdates;
+ except
+ on E : Exception do begin
+ TiposOperacionVenta.DataTable.CancelUpdates;
+ ShowErrorMessage('Error al guardar cambios', 'Se ha producido un error grave', E);
+ exit;
+ end;
+ end;
+ actCerrar.Execute;
+end;
+
+procedure TfEditorTiposOperacionVenta.actCancelarExecute(Sender: TObject);
+begin
+ TiposOperacionVenta.DataTable.CancelUpdates;
+ actCerrar.Execute;
+end;
+
+procedure TfEditorTiposOperacionVenta.actCerrarExecute(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TfEditorTiposOperacionVenta.actAnadirUpdate(Sender: TObject);
+begin
+ (Sender as TAction).Enabled := (Length(editTipoOperacionVenta.Text) > 0)
+end;
+
+procedure TfEditorTiposOperacionVenta.FormShow(Sender: TObject);
+begin
+ if not FTiposOperacionVenta.DataTable.Active then
+ FTiposOperacionVenta.DataTable.Active := true;
+
+ editTipoOperacionVenta.SetFocus;
+end;
+
+end.
diff --git a/Source/Modulos/Tipos de operacion venta/Views/uTiposOperacionCompraViewRegister.pas b/Source/Modulos/Tipos de operacion venta/Views/uTiposOperacionCompraViewRegister.pas
new file mode 100644
index 0000000..6f7565a
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Views/uTiposOperacionCompraViewRegister.pas
@@ -0,0 +1,26 @@
+unit uTiposOperacionCompraViewRegister;
+
+interface
+
+procedure RegisterViews;
+procedure UnregisterViews;
+
+implementation
+
+uses
+ uEditorRegistryUtils, uEditorTiposOperacionCompra, uEditorElegirTipoOperacionCompra;
+
+procedure RegisterViews;
+begin
+ EditorRegistry.RegisterClass(TfEditorElegirTipoOperacionCompra, 'EditorElegirTipoOperacionCompra');
+ EditorRegistry.RegisterClass(TfEditorTiposOperacionCompra, 'EditorTiposOperacionCompra');
+end;
+
+procedure UnregisterViews;
+begin
+ EditorRegistry.UnRegisterClass(TfEditorTiposOperacionCompra);
+ EditorRegistry.UnRegisterClass(TfEditorElegirTipoOperacionCompra);
+end;
+
+
+end.
diff --git a/Source/Modulos/Tipos de operacion venta/Views/uTiposOperacionVentaViewRegister.pas b/Source/Modulos/Tipos de operacion venta/Views/uTiposOperacionVentaViewRegister.pas
new file mode 100644
index 0000000..43a59f2
--- /dev/null
+++ b/Source/Modulos/Tipos de operacion venta/Views/uTiposOperacionVentaViewRegister.pas
@@ -0,0 +1,26 @@
+unit uTiposOperacionVentaViewRegister;
+
+interface
+
+procedure RegisterViews;
+procedure UnregisterViews;
+
+implementation
+
+uses
+ uEditorRegistryUtils, uEditorTiposOperacionVenta, uEditorElegirTipoOperacionVenta;
+
+procedure RegisterViews;
+begin
+ EditorRegistry.RegisterClass(TfEditorElegirTipoOperacionVenta, 'EditorElegirTipoOperacionVenta');
+ EditorRegistry.RegisterClass(TfEditorTiposOperacionVenta, 'EditorTiposOperacionVenta');
+end;
+
+procedure UnregisterViews;
+begin
+ EditorRegistry.UnRegisterClass(TfEditorTiposOperacionVenta);
+ EditorRegistry.UnRegisterClass(TfEditorElegirTipoOperacionVenta);
+end;
+
+
+end.