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 + + + + + + + + +
DataModuleTiposOperacionVenta
+
+
+
+ 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 + + + + + + + + + + + +
PluginTiposOperacionVenta
+
+
+
+ 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 + + + + + + + + + + + + + + + + + + + +
fEditorElegirTipoOperacionVenta
+ TfEditorFamilias +
+ +
fEditorTiposOperacionVenta
+ 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.