diff --git a/Output/Debug/Servidor/Informes/5/3/InfContratoCliente.fr3 b/Output/Debug/Servidor/Informes/5/3/InfContratoCliente.fr3 index a09e183d..5792b1a8 100644 --- a/Output/Debug/Servidor/Informes/5/3/InfContratoCliente.fr3 +++ b/Output/Debug/Servidor/Informes/5/3/InfContratoCliente.fr3 @@ -1,5 +1,5 @@ - + @@ -10,10 +10,10 @@ - + - + @@ -60,8 +60,8 @@ - - + + @@ -81,7 +81,7 @@ - + @@ -97,14 +97,14 @@ - + - + diff --git a/Output/Debug/Servidor/Informes/5/3/InfPresupuestoCliente.fr3 b/Output/Debug/Servidor/Informes/5/3/InfPresupuestoCliente.fr3 index b06a39fb..8f4664d6 100644 --- a/Output/Debug/Servidor/Informes/5/3/InfPresupuestoCliente.fr3 +++ b/Output/Debug/Servidor/Informes/5/3/InfPresupuestoCliente.fr3 @@ -1,21 +1,22 @@ - + - + - - + + + - + @@ -61,7 +62,7 @@ - + @@ -83,7 +84,7 @@ - + diff --git a/Source/ApplicationBase/ApplicationBase.dproj b/Source/ApplicationBase/ApplicationBase.dproj index 0f2a4cc1..e7a25bed 100644 --- a/Source/ApplicationBase/ApplicationBase.dproj +++ b/Source/ApplicationBase/ApplicationBase.dproj @@ -56,40 +56,40 @@ MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj index db20a79a..1ee841a4 100644 --- a/Source/Base/Base.dproj +++ b/Source/Base/Base.dproj @@ -44,20 +44,6 @@ Package FalseTrueFalseLibreria base de FactuGESFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 - - - - - - - - - - - - - - VCL for the Web Design Package for CodeGear RAD Studio CodeGear WebSnap Components CodeGear SOAP Components @@ -72,56 +58,56 @@ MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
fConfigurarConexion
TForm diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj index c88bae23..3cb32765 100644 --- a/Source/Cliente/FactuGES.dproj +++ b/Source/Cliente/FactuGES.dproj @@ -52,8 +52,7 @@ Delphi.Personality VCLApplication -FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse5270FalseFalseFalseFalseFalse30821252Rodax Software S.L.5.2.7.0FactuGESFactuGES5.2.7.0 - +FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse5280FalseFalseFalseFalseFalse30821252Rodax Software S.L.5.2.8.0FactuGESFactuGES5.2.8.0 File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found FactuGES.dprFalse diff --git a/Source/Informes/5/3/InfContratoCliente.fr3 b/Source/Informes/5/3/InfContratoCliente.fr3 index a7c447cd..5cc5ae5b 100644 --- a/Source/Informes/5/3/InfContratoCliente.fr3 +++ b/Source/Informes/5/3/InfContratoCliente.fr3 @@ -1,5 +1,5 @@ - + @@ -10,10 +10,10 @@ - + - + @@ -60,8 +60,8 @@ - - + + @@ -81,7 +81,7 @@ - + @@ -97,14 +97,14 @@
- +
- + diff --git a/Source/Informes/5/3/InfPresupuestoCliente.fr3 b/Source/Informes/5/3/InfPresupuestoCliente.fr3 index 14674108..93eac449 100644 --- a/Source/Informes/5/3/InfPresupuestoCliente.fr3 +++ b/Source/Informes/5/3/InfPresupuestoCliente.fr3 @@ -1,21 +1,22 @@ - + - + - - + + + - + @@ -61,7 +62,7 @@ - + @@ -83,7 +84,7 @@ - + diff --git a/Source/Modulos/Articulos/Controller/uArticulosController.pas b/Source/Modulos/Articulos/Controller/uArticulosController.pas index 26afe176..5acdb746 100644 --- a/Source/Modulos/Articulos/Controller/uArticulosController.pas +++ b/Source/Modulos/Articulos/Controller/uArticulosController.pas @@ -111,10 +111,10 @@ type implementation uses - SysUtils, cxControls, uDataTableUtils, DB, uEditorRegistryUtils, schArticulosClient_Intf, uFactuGES_App, + SysUtils, Dialogs, cxControls, uDataTableUtils, DB, uEditorRegistryUtils, schArticulosClient_Intf, uFactuGES_App, uIEditorArticulos, uIEditorArticulo, uIEditorElegirArticulos, uSistemaFunc, uDataModuleArticulos, uDataModuleUsuarios, uDAInterfaces, - uDateUtils, uROTypes, DateUtils, Controls, Windows; + uDateUtils, uROTypes, uROClasses, DateUtils, Controls, Windows, uDAMemDataTable; { TArticulosController } @@ -600,8 +600,16 @@ begin end; procedure TArticulosController.RecuperarObjetos(AArticulo: IBizArticulo); +var + LImagen: IROStream; + begin -// + if AArticulo.Active + and not AArticulo.EsNuevo then + begin + LImagen := (FDataModule as IDataModuleArticulos).GetImagen(AArticulo.ID); + AArticulo.GetImagen(LImagen); + end; end; function TArticulosController.EsEliminable(AArticulo: IBizArticulo): Boolean; diff --git a/Source/Modulos/Articulos/Data/Articulos_data.dproj b/Source/Modulos/Articulos/Data/Articulos_data.dproj index 126ef528..90153a6b 100644 --- a/Source/Modulos/Articulos/Data/Articulos_data.dproj +++ b/Source/Modulos/Articulos/Data/Articulos_data.dproj @@ -54,7 +54,7 @@ MainSource - +
DataModuleArticulos
diff --git a/Source/Modulos/Articulos/Data/uDataModuleArticulos.dfm b/Source/Modulos/Articulos/Data/uDataModuleArticulos.dfm index e764c639..1fdd063f 100644 --- a/Source/Modulos/Articulos/Data/uDataModuleArticulos.dfm +++ b/Source/Modulos/Articulos/Data/uDataModuleArticulos.dfm @@ -386,4 +386,31 @@ inherited DataModuleArticulos: TDataModuleArticulos Left = 400 Top = 216 end + object tbl_GetImagen: TDAMemDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ID' + DataType = datInteger + ServerAutoRefresh = True + InPrimaryKey = True + end + item + Name = 'IMAGEN' + DataType = datBlob + end> + Params = <> + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteDataAdapter = rda_Articulos + LogicalName = 'GetImagen' + IndexDefs = <> + Left = 232 + Top = 248 + end + object ds_GetImagen: TDADataSource + DataSet = tbl_GetImagen.Dataset + DataTable = tbl_GetImagen + Left = 232 + Top = 192 + end end diff --git a/Source/Modulos/Articulos/Data/uDataModuleArticulos.pas b/Source/Modulos/Articulos/Data/uDataModuleArticulos.pas index 9dc8369a..a7ff8db1 100644 --- a/Source/Modulos/Articulos/Data/uDataModuleArticulos.pas +++ b/Source/Modulos/Articulos/Data/uDataModuleArticulos.pas @@ -6,7 +6,7 @@ uses SysUtils, Classes, DB, uDADataTable, uDABINAdapter, uDAScriptingProvider, uROWinInetHttpChannel, uROTypes, uRORemoteService, uROClient, uROBinMessage, - uDADesigntimeCall, + uDADesigntimeCall, uROClasses, uIDataModuleArticulos, uBizArticulos, uDataModuleBase, uDARemoteDataAdapter, uDADataStreamer, uDABin2DataStreamer, uDAInterfaces, uDAMemDataTable; @@ -21,6 +21,8 @@ type ds_ArticulosParaCliente: TDADataSource; tbl_ArticulosParaCompra: TDAMemDataTable; ds_ArticulosParaCompra: TDADataSource; + tbl_GetImagen: TDAMemDataTable; + ds_GetImagen: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); private // function GetItems: IBizArticulo; overload; @@ -35,6 +37,7 @@ type function NewItem : IBizArticulo; function EliminarImagen(const ID: Integer): Boolean; function AnadirImagen(const ID: Integer; const AFileName: String): Boolean; + function GetImagen(const IDArticulo : Integer) : IROStream; end; implementation @@ -42,8 +45,7 @@ implementation {$R *.DFM} uses - FactuGES_Intf, uDataModuleConexion, uDataTableUtils, cxControls, - schArticulosClient_Intf; + FactuGES_Intf, schArticulosClient_Intf, uDataModuleConexion, uDataTableUtils, cxControls; { TdmArticulos } @@ -77,6 +79,43 @@ begin Result := GetItem(ID_NULO) end; +function TDataModuleArticulos.GetImagen(const IDArticulo: Integer): IROStream; +var + AImagenArticulo : TDAMemDataTable; + Condicion: TDAWhereExpression; +begin + ShowHourglassCursor; + Result := nil; + + AImagenArticulo := CloneDataTable(tbl_GetImagen); + + try + with AImagenArticulo.DynamicWhere do + begin + // (ID = :ID) + Condicion := NewBinaryExpression(NewField('', fld_ArticulosID), NewConstant(IDArticulo, datInteger), dboEqual); + + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + + AImagenArticulo.Active := True; + + if AImagenArticulo.IsEmpty + or AImagenArticulo.FieldByName(fld_ArticulosIMAGEN).IsNull then + Exit; + + Result := NewROStream; + AImagenArticulo.FieldByName(fld_ArticulosIMAGEN).SaveToStream(Result); + Result.Position := 0; + + finally + HideHourglassCursor; + end; +end; + function TDataModuleArticulos.GetItem(const ID: Integer; AClienteID: Integer = -1): IBizArticulo; var Condicion: TDAWhereExpression; diff --git a/Source/Modulos/Articulos/Model/Data/uIDataModuleArticulos.pas b/Source/Modulos/Articulos/Model/Data/uIDataModuleArticulos.pas index 880c1284..a3644a34 100644 --- a/Source/Modulos/Articulos/Model/Data/uIDataModuleArticulos.pas +++ b/Source/Modulos/Articulos/Model/Data/uIDataModuleArticulos.pas @@ -3,7 +3,7 @@ unit uIDataModuleArticulos; interface uses - uBizArticulos; + uBizArticulos, uROClasses; type TEnumArticulos = (txArticulo, txProveedor); @@ -15,7 +15,8 @@ type function GetItem(const ID : Integer; AClienteID: Integer = -1) : IBizArticulo; function NewItem : IBizArticulo; function EliminarImagen(const ID: Integer): Boolean; - function AnadirImagen(const ID: Integer; const AFileName: String): Boolean; + function AnadirImagen(const ID: Integer; const AFileName: String): Boolean; + function GetImagen(const IDArticulo : Integer) : IROStream; end; implementation diff --git a/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas b/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas index cb08801f..364cb7e2 100644 --- a/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas +++ b/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas @@ -9,22 +9,32 @@ 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_ExisteImagen = '{3AD233F0-E79E-4E31-882D-43BAE44A2158}'; - RID_Articulos = '{2F0FDE8A-B8A4-46BF-BAF7-046B4AAA8A03}'; - RID_ArticulosParaCliente = '{195AB374-2B0F-4747-8C7A-B01C0A0793E7}'; - RID_ArticulosParaCompra = '{7D256ACD-F7D1-46AF-9451-E43EFEF4DAC2}'; + RID_GetImagen = '{1643778B-1A19-4B7F-81A7-24D0F1872106}'; + RID_ExisteArticulo = '{410B4C21-36C0-4C2D-8D22-5453E38BB10E}'; + RID_Articulos = '{D1F00341-820A-4825-986A-3A7720D95A24}'; + RID_ArticulosParaCliente = '{EE5780D7-F5DD-4987-A837-E242126C522E}'; + RID_ArticulosParaCompra = '{4DBDDF0D-0C4E-4CB6-ACD6-B93C64A72750}'; { Data table names } - nme_ExisteImagen = 'ExisteImagen'; + nme_GetImagen = 'GetImagen'; + nme_ExisteArticulo = 'ExisteArticulo'; nme_Articulos = 'Articulos'; nme_ArticulosParaCliente = 'ArticulosParaCliente'; nme_ArticulosParaCompra = 'ArticulosParaCompra'; - { ExisteImagen fields } - fld_ExisteImagenID = 'ID'; + { GetImagen fields } + fld_GetImagenID = 'ID'; + fld_GetImagenIMAGEN = 'IMAGEN'; - { ExisteImagen field indexes } - idx_ExisteImagenID = 0; + { GetImagen field indexes } + idx_GetImagenID = 0; + idx_GetImagenIMAGEN = 1; + + { ExisteArticulo fields } + fld_ExisteArticuloID = 'ID'; + + { ExisteArticulo field indexes } + idx_ExisteArticuloID = 0; { Articulos fields } fld_ArticulosID = 'ID'; @@ -163,9 +173,56 @@ const idx_ArticulosParaCompraNOTAS = 20; type - { IExisteImagen } - IExisteImagen = interface(IDAStronglyTypedDataTable) - ['{749AADD1-83B8-48EB-A064-49602BFF17AD}'] + { IGetImagen } + IGetImagen = interface(IDAStronglyTypedDataTable) + ['{67AAA11D-2309-40A0-9481-FB1E9DC90D2F}'] + { Property getters and setters } + function GetIDValue: Integer; + procedure SetIDValue(const aValue: Integer); + function GetIDIsNull: Boolean; + procedure SetIDIsNull(const aValue: Boolean); + function GetIMAGENValue: IROStream; + function GetIMAGENIsNull: Boolean; + procedure SetIMAGENIsNull(const aValue: Boolean); + + + { Properties } + property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; + property IMAGEN: IROStream read GetIMAGENValue; + property IMAGENIsNull: Boolean read GetIMAGENIsNull write SetIMAGENIsNull; + end; + + { TGetImagenDataTableRules } + TGetImagenDataTableRules = class(TIntfObjectDADataTableRules, IGetImagen) + private + f_IMAGEN: IROStream; + procedure IMAGEN_OnChange(Sender: TObject); + 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 GetIMAGENValue: IROStream; virtual; + function GetIMAGENIsNull: Boolean; virtual; + procedure SetIMAGENIsNull(const aValue: Boolean); virtual; + + { Properties } + property ID: Integer read GetIDValue write SetIDValue; + property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; + property IMAGEN: IROStream read GetIMAGENValue; + property IMAGENIsNull: Boolean read GetIMAGENIsNull write SetIMAGENIsNull; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + + { IExisteArticulo } + IExisteArticulo = interface(IDAStronglyTypedDataTable) + ['{F6ECAD42-8537-4AF7-A767-C0B6ABB201A9}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -178,8 +235,8 @@ type property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull; end; - { TExisteImagenDataTableRules } - TExisteImagenDataTableRules = class(TIntfObjectDADataTableRules, IExisteImagen) + { TExisteArticuloDataTableRules } + TExisteArticuloDataTableRules = class(TIntfObjectDADataTableRules, IExisteArticulo) private protected { Property getters and setters } @@ -200,7 +257,7 @@ type { IArticulos } IArticulos = interface(IDAStronglyTypedDataTable) - ['{C7114081-6A85-4579-A1BB-1BA1D5A37528}'] + ['{6ED77527-1D54-4F5E-8E19-218DF170B9F8}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -475,7 +532,7 @@ type { IArticulosParaCliente } IArticulosParaCliente = interface(IDAStronglyTypedDataTable) - ['{3879CF1A-00FB-4CD5-A2B4-5AFA21731234}'] + ['{1E22D0EE-BE0A-40F6-9013-E4D4E8A95EBF}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -738,7 +795,7 @@ type { IArticulosParaCompra } IArticulosParaCompra = interface(IDAStronglyTypedDataTable) - ['{9E50D976-2A70-4B10-ABD0-82D86C23BD36}'] + ['{15ABBE84-3506-4258-A10F-4C66A4574D1E}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -1015,36 +1072,101 @@ implementation uses Variants, uROBinaryHelpers; -{ TExisteImagenDataTableRules } -constructor TExisteImagenDataTableRules.Create(aDataTable: TDADataTable); +{ TGetImagenDataTableRules } +constructor TGetImagenDataTableRules.Create(aDataTable: TDADataTable); +var + ROStream: TROStream; +begin + inherited; + + ROStream := TROStream.Create; + ROStream.OnChange := IMAGEN_OnChange; + f_IMAGEN := ROStream; +end; + +destructor TGetImagenDataTableRules.Destroy; begin inherited; end; -destructor TExisteImagenDataTableRules.Destroy; +procedure TGetImagenDataTableRules.IMAGEN_OnChange(Sender: TObject); begin - inherited; + if DataTable.Editing then DataTable.Fields[idx_GetImagenIMAGEN].LoadFromStream(TROStream(Sender)); end; -function TExisteImagenDataTableRules.GetIDValue: Integer; +function TGetImagenDataTableRules.GetIDValue: Integer; begin - result := DataTable.Fields[idx_ExisteImagenID].AsInteger; + result := DataTable.Fields[idx_GetImagenID].AsInteger; end; -procedure TExisteImagenDataTableRules.SetIDValue(const aValue: Integer); +procedure TGetImagenDataTableRules.SetIDValue(const aValue: Integer); begin - DataTable.Fields[idx_ExisteImagenID].AsInteger := aValue; + DataTable.Fields[idx_GetImagenID].AsInteger := aValue; end; -function TExisteImagenDataTableRules.GetIDIsNull: boolean; +function TGetImagenDataTableRules.GetIDIsNull: boolean; begin - result := DataTable.Fields[idx_ExisteImagenID].IsNull; + result := DataTable.Fields[idx_GetImagenID].IsNull; end; -procedure TExisteImagenDataTableRules.SetIDIsNull(const aValue: Boolean); +procedure TGetImagenDataTableRules.SetIDIsNull(const aValue: Boolean); begin if aValue then - DataTable.Fields[idx_ExisteImagenID].AsVariant := Null; + DataTable.Fields[idx_GetImagenID].AsVariant := Null; +end; + +function TGetImagenDataTableRules.GetIMAGENValue: IROStream; +begin + result := f_IMAGEN; + result.Position := 0; + if not Result.InUpdateMode then begin + DataTable.Fields[idx_GetImagenIMAGEN].SaveToStream(result); + result.Position := 0; + end; +end; + +function TGetImagenDataTableRules.GetIMAGENIsNull: boolean; +begin + result := DataTable.Fields[idx_GetImagenIMAGEN].IsNull; +end; + +procedure TGetImagenDataTableRules.SetIMAGENIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_GetImagenIMAGEN].AsVariant := Null; +end; + + +{ TExisteArticuloDataTableRules } +constructor TExisteArticuloDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TExisteArticuloDataTableRules.Destroy; +begin + inherited; +end; + +function TExisteArticuloDataTableRules.GetIDValue: Integer; +begin + result := DataTable.Fields[idx_ExisteArticuloID].AsInteger; +end; + +procedure TExisteArticuloDataTableRules.SetIDValue(const aValue: Integer); +begin + DataTable.Fields[idx_ExisteArticuloID].AsInteger := aValue; +end; + +function TExisteArticuloDataTableRules.GetIDIsNull: boolean; +begin + result := DataTable.Fields[idx_ExisteArticuloID].IsNull; +end; + +procedure TExisteArticuloDataTableRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ExisteArticuloID].AsVariant := Null; end; @@ -2420,7 +2542,8 @@ end; initialization - RegisterDataTableRules(RID_ExisteImagen, TExisteImagenDataTableRules); + RegisterDataTableRules(RID_GetImagen, TGetImagenDataTableRules); + RegisterDataTableRules(RID_ExisteArticulo, TExisteArticuloDataTableRules); RegisterDataTableRules(RID_Articulos, TArticulosDataTableRules); RegisterDataTableRules(RID_ArticulosParaCliente, TArticulosParaClienteDataTableRules); RegisterDataTableRules(RID_ArticulosParaCompra, TArticulosParaCompraDataTableRules); diff --git a/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas b/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas index 5e811d48..023a2c95 100644 --- a/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas +++ b/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas @@ -9,15 +9,63 @@ 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_ExisteImagenDelta = '{394E1C02-44F5-4370-AB37-58AB68E6F75A}'; - RID_ArticulosDelta = '{3D55AF84-A384-48E7-A570-7D4A14EE4B9D}'; - RID_ArticulosParaClienteDelta = '{A6BBA92D-0313-47A2-9C8C-DC429B161D37}'; - RID_ArticulosParaCompraDelta = '{1CB7CDD3-8EF0-44BA-976B-CF992ABF4D00}'; + RID_GetImagenDelta = '{66673239-89DA-4758-9515-7DEE419F45F1}'; + RID_ExisteArticuloDelta = '{4D44B13A-E7DD-46F6-A156-9651821D2D80}'; + RID_ArticulosDelta = '{9AA9B416-A148-452A-AB0F-8E4C7DF45CB0}'; + RID_ArticulosParaClienteDelta = '{5F2B4067-1382-4ABA-BB06-E188BCAFC3B1}'; + RID_ArticulosParaCompraDelta = '{62A06201-C13D-4481-9C2B-08D51F539963}'; type - { IExisteImagenDelta } - IExisteImagenDelta = interface(IExisteImagen) - ['{394E1C02-44F5-4370-AB37-58AB68E6F75A}'] + { IGetImagenDelta } + IGetImagenDelta = interface(IGetImagen) + ['{66673239-89DA-4758-9515-7DEE419F45F1}'] + { Property getters and setters } + function GetOldIDValue : Integer; + function GetOldIMAGENValue : IROStream; + + { Properties } + property OldID : Integer read GetOldIDValue; + property OldIMAGEN : IROStream read GetOldIMAGENValue; + end; + + { TGetImagenBusinessProcessorRules } + TGetImagenBusinessProcessorRules = class(TDABusinessProcessorRules, IGetImagen, IGetImagenDelta) + private + f_IMAGEN: IROStream; + procedure IMAGEN_OnChange(Sender: Tobject); + 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 GetIMAGENValue: IROStream; virtual; + function GetIMAGENIsNull: Boolean; virtual; + function GetOldIMAGENValue: IROStream; virtual; + function GetOldIMAGENIsNull: Boolean; virtual; + procedure SetIMAGENIsNull(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 IMAGEN : IROStream read GetIMAGENValue; + property IMAGENIsNull : Boolean read GetIMAGENIsNull write SetIMAGENIsNull; + property OldIMAGEN : IROStream read GetOldIMAGENValue; + property OldIMAGENIsNull : Boolean read GetOldIMAGENIsNull; + + public + constructor Create(aBusinessProcessor: TDABusinessProcessor); override; + destructor Destroy; override; + + end; + + { IExisteArticuloDelta } + IExisteArticuloDelta = interface(IExisteArticulo) + ['{4D44B13A-E7DD-46F6-A156-9651821D2D80}'] { Property getters and setters } function GetOldIDValue : Integer; @@ -25,8 +73,8 @@ type property OldID : Integer read GetOldIDValue; end; - { TExisteImagenBusinessProcessorRules } - TExisteImagenBusinessProcessorRules = class(TDABusinessProcessorRules, IExisteImagen, IExisteImagenDelta) + { TExisteArticuloBusinessProcessorRules } + TExisteArticuloBusinessProcessorRules = class(TDABusinessProcessorRules, IExisteArticulo, IExisteArticuloDelta) private protected { Property getters and setters } @@ -51,7 +99,7 @@ type { IArticulosDelta } IArticulosDelta = interface(IArticulos) - ['{3D55AF84-A384-48E7-A570-7D4A14EE4B9D}'] + ['{9AA9B416-A148-452A-AB0F-8E4C7DF45CB0}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -326,7 +374,7 @@ type { IArticulosParaClienteDelta } IArticulosParaClienteDelta = interface(IArticulosParaCliente) - ['{A6BBA92D-0313-47A2-9C8C-DC429B161D37}'] + ['{5F2B4067-1382-4ABA-BB06-E188BCAFC3B1}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -589,7 +637,7 @@ type { IArticulosParaCompraDelta } IArticulosParaCompraDelta = interface(IArticulosParaCompra) - ['{1CB7CDD3-8EF0-44BA-976B-CF992ABF4D00}'] + ['{62A06201-C13D-4481-9C2B-08D51F539963}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -867,46 +915,132 @@ implementation uses Variants, uROBinaryHelpers, uDAInterfaces; -{ TExisteImagenBusinessProcessorRules } -constructor TExisteImagenBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +{ TGetImagenBusinessProcessorRules } +constructor TGetImagenBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +var + ROStream: TROStream; +begin + inherited; + + ROStream := TROStream.Create; + ROStream.OnChange := IMAGEN_OnChange; + f_IMAGEN := ROStream; +end; + +destructor TGetImagenBusinessProcessorRules.Destroy; begin inherited; end; -destructor TExisteImagenBusinessProcessorRules.Destroy; +procedure TGetImagenBusinessProcessorRules.IMAGEN_OnChange(Sender: TObject); begin - inherited; + BusinessProcessor.CurrentChange.NewValueByName[fld_GetImagenIMAGEN] := BinaryToBlobVariant((TROStream(Sender) as IROStream).Stream); end; -function TExisteImagenBusinessProcessorRules.GetIDValue: Integer; +function TGetImagenBusinessProcessorRules.GetIDValue: Integer; begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_ExisteImagenID]; + result := BusinessProcessor.CurrentChange.NewValueByName[fld_GetImagenID]; end; -function TExisteImagenBusinessProcessorRules.GetIDIsNull: Boolean; +function TGetImagenBusinessProcessorRules.GetIDIsNull: Boolean; begin - result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ExisteImagenID]); + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_GetImagenID]); end; -function TExisteImagenBusinessProcessorRules.GetOldIDValue: Integer; +function TGetImagenBusinessProcessorRules.GetOldIDValue: Integer; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_ExisteImagenID]; + result := BusinessProcessor.CurrentChange.OldValueByName[fld_GetImagenID]; end; -function TExisteImagenBusinessProcessorRules.GetOldIDIsNull: Boolean; +function TGetImagenBusinessProcessorRules.GetOldIDIsNull: Boolean; begin - result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ExisteImagenID]); + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_GetImagenID]); end; -procedure TExisteImagenBusinessProcessorRules.SetIDValue(const aValue: Integer); +procedure TGetImagenBusinessProcessorRules.SetIDValue(const aValue: Integer); begin - BusinessProcessor.CurrentChange.NewValueByName[fld_ExisteImagenID] := aValue; + BusinessProcessor.CurrentChange.NewValueByName[fld_GetImagenID] := aValue; end; -procedure TExisteImagenBusinessProcessorRules.SetIDIsNull(const aValue: Boolean); +procedure TGetImagenBusinessProcessorRules.SetIDIsNull(const aValue: Boolean); begin if aValue then - BusinessProcessor.CurrentChange.NewValueByName[fld_ExisteImagenID] := Null; + BusinessProcessor.CurrentChange.NewValueByName[fld_GetImagenID] := Null; +end; + +function TGetImagenBusinessProcessorRules.GetIMAGENValue: IROStream; +begin + result := f_IMAGEN; + result.Position := 0; + if not Result.InUpdateMode then begin + BlobVariantToBinary(BusinessProcessor.CurrentChange.NewValueByName[fld_GetImagenIMAGEN], result.Stream); + result.Position := 0; + end; +end; + +function TGetImagenBusinessProcessorRules.GetIMAGENIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_GetImagenIMAGEN]); +end; + +function TGetImagenBusinessProcessorRules.GetOldIMAGENValue: IROStream; +begin + result := NewROStream(); + BlobVariantToBinary(BusinessProcessor.CurrentChange.OldValueByName[fld_GetImagenIMAGEN], result.Stream); +end; + +function TGetImagenBusinessProcessorRules.GetOldIMAGENIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_GetImagenIMAGEN]); +end; + +procedure TGetImagenBusinessProcessorRules.SetIMAGENIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_GetImagenIMAGEN] := Null; +end; + + +{ TExisteArticuloBusinessProcessorRules } +constructor TExisteArticuloBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TExisteArticuloBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TExisteArticuloBusinessProcessorRules.GetIDValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ExisteArticuloID]; +end; + +function TExisteArticuloBusinessProcessorRules.GetIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ExisteArticuloID]); +end; + +function TExisteArticuloBusinessProcessorRules.GetOldIDValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ExisteArticuloID]; +end; + +function TExisteArticuloBusinessProcessorRules.GetOldIDIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ExisteArticuloID]); +end; + +procedure TExisteArticuloBusinessProcessorRules.SetIDValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ExisteArticuloID] := aValue; +end; + +procedure TExisteArticuloBusinessProcessorRules.SetIDIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ExisteArticuloID] := Null; end; @@ -2905,7 +3039,8 @@ end; initialization - RegisterBusinessProcessorRules(RID_ExisteImagenDelta, TExisteImagenBusinessProcessorRules); + RegisterBusinessProcessorRules(RID_GetImagenDelta, TGetImagenBusinessProcessorRules); + RegisterBusinessProcessorRules(RID_ExisteArticuloDelta, TExisteArticuloBusinessProcessorRules); RegisterBusinessProcessorRules(RID_ArticulosDelta, TArticulosBusinessProcessorRules); RegisterBusinessProcessorRules(RID_ArticulosParaClienteDelta, TArticulosParaClienteBusinessProcessorRules); RegisterBusinessProcessorRules(RID_ArticulosParaCompraDelta, TArticulosParaCompraBusinessProcessorRules); diff --git a/Source/Modulos/Articulos/Model/uBizArticulos.pas b/Source/Modulos/Articulos/Model/uBizArticulos.pas index 39a7329b..1ef453b0 100644 --- a/Source/Modulos/Articulos/Model/uBizArticulos.pas +++ b/Source/Modulos/Articulos/Model/uBizArticulos.pas @@ -3,7 +3,7 @@ unit uBizArticulos; interface uses - uDAInterfaces, uDADataTable, schArticulosClient_Intf, uDBSelectionListUtils; + uDAInterfaces, uROClasses, uDADataTable, schArticulosClient_Intf, uDBSelectionListUtils; const BIZ_CLIENT_ARTICULO = 'Client.Articulo'; @@ -15,6 +15,7 @@ type function HayImagen: Boolean; procedure SalvarImagen(const AFileName: String); procedure CargarImagen(const AFileName: String); + procedure GetImagen(const AStream: IROStream); // procedure QuitarImagen; end; @@ -27,6 +28,7 @@ type function HayImagen: Boolean; procedure SalvarImagen(const AFileName: String); procedure CargarImagen(const AFileName: String); + procedure GetImagen(const AStream: IROStream); // procedure QuitarImagen; function EsNuevo : Boolean; constructor Create(aDataTable: TDADataTable); override; @@ -38,7 +40,7 @@ type implementation uses - uFactuGES_App, uDataTableUtils, SysUtils, uROClasses, Classes; + uFactuGES_App, Variants, uDataTableUtils, SysUtils, Classes; { TBizArticulo } @@ -67,6 +69,22 @@ begin Result := (ID < 0); end; +procedure TBizArticulo.GetImagen(const AStream: IROStream); +begin + Self.DataTable.Edit; + if not Assigned(AStream) then + begin + Self.DataTable.FieldByName(fld_ArticulosIMAGEN).AsVariant := NULL; + Self.DataTable.Post; + Exit; + end; + + AStream.Position := 0; + Self.DataTable.FieldByName(fld_ArticulosIMAGEN).LoadFromStream(AStream); + Self.DataTable.Post; + AStream.Position := 0 +end; + function TBizArticulo.HayImagen: Boolean; var AStream : TMemoryStream; diff --git a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm index 0a1a8f15..b542ee13 100644 --- a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm +++ b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm @@ -120,6 +120,38 @@ object srvArticulos: TsrvArticulos DataDictionary = DataDictionary Diagrams = Diagrams Datasets = < + item + Params = <> + Statements = < + item + ConnectionType = 'Interbase' + Default = True + Name = 'IBX' + SQL = 'select id, imagen'#10'from articulos'#10'where {where}'#10 + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'IMAGEN' + TableField = 'IMAGEN' + end + item + DatasetField = 'ID' + TableField = 'ID' + end> + end> + Name = 'GetImagen' + Fields = < + item + Name = 'ID' + DataType = datInteger + ServerAutoRefresh = True + InPrimaryKey = True + end + item + Name = 'IMAGEN' + DataType = datBlob + end> + end item Params = < item @@ -140,7 +172,7 @@ object srvArticulos: TsrvArticulos TableField = 'ID' end> end> - Name = 'ExisteImagen' + Name = 'ExisteArticulo' Fields = < item Name = 'ID' diff --git a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.pas b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.pas index 4a176b91..07e55678 100644 --- a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.pas +++ b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.pas @@ -61,7 +61,7 @@ begin try try - dsData := schArticulos.NewDataset(AConn, 'ExisteImagen', ['ID'], [ID_ARTICULO]); + dsData := schArticulos.NewDataset(AConn, 'ExisteArticulo', ['ID'], [ID_ARTICULO]); dsData.Active := True; Result := (dsData.FieldValues[0] > 0); AConn.CommitTransaction; @@ -146,6 +146,7 @@ begin end; end; + initialization TROClassFactory.Create('srvArticulos', Create_srvArticulos, TsrvArticulos_Invoker); diff --git a/Source/Modulos/Articulos/Views/uViewArticulo.dfm b/Source/Modulos/Articulos/Views/uViewArticulo.dfm index 59041796..7884f568 100644 --- a/Source/Modulos/Articulos/Views/uViewArticulo.dfm +++ b/Source/Modulos/Articulos/Views/uViewArticulo.dfm @@ -1,6 +1,6 @@ inherited frViewArticulo: TfrViewArticulo - Width = 1169 - Height = 528 + Width = 451 + Height = 304 Align = alClient OnCreate = CustomViewCreate OnDestroy = CustomViewDestroy @@ -10,20 +10,18 @@ inherited frViewArticulo: TfrViewArticulo object dxLayoutControlArticulo: TdxLayoutControl Left = 0 Top = 0 - Width = 1169 - Height = 528 + Width = 451 + Height = 304 Align = alClient ParentBackground = True TabOrder = 0 TabStop = False AutoContentSizes = [acsWidth, acsHeight] - ExplicitWidth = 451 - ExplicitHeight = 304 DesignSize = ( - 1169 - 528) + 451 + 304) object PngSpeedButton2: TPngSpeedButton - Left = 1078 + Left = 708 Top = 28 Width = 23 Height = 22 @@ -50,7 +48,7 @@ inherited frViewArticulo: TfrViewArticulo PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled] end object PngSpeedButton1: TPngSpeedButton - Left = 1107 + Left = 737 Top = 28 Width = 23 Height = 22 @@ -194,22 +192,6 @@ inherited frViewArticulo: TfrViewArticulo Align = alClient ExplicitWidth = 656 ExplicitHeight = 277 - inherited edtNIFCIF: TcxDBTextEdit - ExplicitWidth = 562 - Width = 562 - end - inherited edtCalle: TcxDBTextEdit - ExplicitWidth = 562 - Width = 562 - end - inherited edtPoblacion: TcxDBTextEdit - ExplicitWidth = 177 - Width = 177 - end - inherited edtProvincia: TcxDBTextEdit - ExplicitWidth = 327 - Width = 327 - end inherited edtCodigoPostal: TcxDBTextEdit Left = 564 ExplicitLeft = 564 diff --git a/Source/Modulos/Contactos/Views/Contactos_view.dproj b/Source/Modulos/Contactos/Views/Contactos_view.dproj index 9d0981e1..747f49f6 100644 --- a/Source/Modulos/Contactos/Views/Contactos_view.dproj +++ b/Source/Modulos/Contactos/Views/Contactos_view.dproj @@ -47,63 +47,63 @@ MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
fEditorCliente
@@ -228,7 +228,7 @@ TFrame
-
frViewInstalador
+
frViewDatosYSeleccionInstalador
TFrame
diff --git a/Source/Modulos/Contratos de cliente/Reports/uRptContratosCliente_Server.dfm b/Source/Modulos/Contratos de cliente/Reports/uRptContratosCliente_Server.dfm index 5645802c..c0268c7b 100644 --- a/Source/Modulos/Contratos de cliente/Reports/uRptContratosCliente_Server.dfm +++ b/Source/Modulos/Contratos de cliente/Reports/uRptContratosCliente_Server.dfm @@ -771,6 +771,10 @@ object RptContratosCliente: TRptContratosCliente item DatasetField = 'IMPORTE_NETO' TableField = 'IMPORTE_NETO' + end + item + DatasetField = 'REFERENCIA_PROVEEDOR' + TableField = 'REFERENCIA_PROVEEDOR' end> end> Name = 'Informe_Capitulos_Detalles' @@ -854,6 +858,11 @@ object RptContratosCliente: TRptContratosCliente item Name = 'VISIBLE' DataType = datSmallInt + end + item + Name = 'REFERENCIA_PROVEEDOR' + DataType = datString + Size = 255 end> ReadOnly = True end @@ -1067,7 +1076,7 @@ object RptContratosCliente: TRptContratosCliente PrintOptions.Printer = 'Por defecto' PrintOptions.PrintOnSheet = 0 ReportOptions.CreateDate = 39065.872423495400000000 - ReportOptions.LastChange = 44397.806315266210000000 + ReportOptions.LastChange = 46289.445317986110000000 ScriptLanguage = 'PascalScript' ShowProgress = False StoreInDFM = False @@ -1763,6 +1772,11 @@ object RptContratosCliente: TRptContratosCliente item Name = 'VISIBLE' DataType = datSmallInt + end + item + Name = 'REFERENCIA_PROVEEDOR' + DataType = datString + Size = 255 end> Params = < item diff --git a/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidoProveedor.dfm b/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidoProveedor.dfm index c89b406e..a99ba812 100644 --- a/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidoProveedor.dfm +++ b/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidoProveedor.dfm @@ -80,6 +80,7 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor inherited pgPaginas: TPageControl Width = 1021 Height = 622 + ActivePage = pagContenido TabOrder = 1 OnChanging = pgPaginasChanging ExplicitTop = 111 @@ -310,81 +311,95 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor inherited ToolBar1: TToolBar Width = 1013 Height = 24 + ButtonWidth = 123 ExplicitWidth = 1013 ExplicitHeight = 24 + inherited ToolButton1: TToolButton + ExplicitWidth = 119 + end + inherited ToolButton2: TToolButton + Left = 119 + ExplicitWidth = 127 + end + inherited ToolButton3: TToolButton + Left = 246 + ExplicitWidth = 58 + end inherited ToolButton4: TToolButton + Left = 304 Wrap = False + ExplicitWidth = 57 end inherited ToolButton14: TToolButton - Left = 334 + Left = 361 Top = 0 - ExplicitLeft = 334 + ExplicitLeft = 361 ExplicitTop = 0 end inherited FontName: TJvFontComboBox - Left = 368 + Left = 395 Top = 0 - ExplicitLeft = 368 + ExplicitLeft = 395 ExplicitTop = 0 end inherited FontSize: TEdit - Left = 513 + Left = 540 Top = 0 - ExplicitLeft = 513 + ExplicitLeft = 540 ExplicitTop = 0 end inherited UpDown1: TUpDown - Left = 555 + Left = 582 Top = 0 - ExplicitLeft = 555 + ExplicitLeft = 582 ExplicitTop = 0 end inherited ToolButton13: TToolButton - Left = 572 + Left = 599 Top = 0 - ExplicitLeft = 572 + ExplicitLeft = 599 ExplicitTop = 0 end inherited ToolButton6: TToolButton - Left = 580 + Left = 607 Top = 0 - ExplicitLeft = 580 + ExplicitLeft = 607 ExplicitTop = 0 end inherited ToolButton7: TToolButton - Left = 614 + Left = 641 Top = 0 - ExplicitLeft = 614 + ExplicitLeft = 641 ExplicitTop = 0 end inherited ToolButton8: TToolButton - Left = 648 + Left = 675 Top = 0 - ExplicitLeft = 648 + ExplicitLeft = 675 ExplicitTop = 0 end inherited ToolButton12: TToolButton - Left = 682 + Left = 709 Top = 0 - ExplicitLeft = 682 + ExplicitLeft = 709 ExplicitTop = 0 end inherited ToolButton9: TToolButton - Left = 690 + Left = 717 Top = 0 - ExplicitLeft = 690 + ExplicitLeft = 717 ExplicitTop = 0 end inherited ToolButton10: TToolButton - Left = 724 + Left = 751 Top = 0 - ExplicitLeft = 724 + ExplicitLeft = 751 ExplicitTop = 0 end inherited ToolButton11: TToolButton - Left = 758 + Left = 785 Top = 0 - ExplicitLeft = 758 + ExplicitLeft = 785 ExplicitTop = 0 end end @@ -393,8 +408,8 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor Width = 1013 Height = 544 ExplicitTop = 50 - ExplicitWidth = 908 - ExplicitHeight = 411 + ExplicitWidth = 1013 + ExplicitHeight = 544 inherited cxGridView: TcxGridDBTableView inherited cxGridViewIMPORTENETO: TcxGridDBColumn Options.Editing = True @@ -405,7 +420,7 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor Top = 24 Width = 1013 ExplicitTop = 24 - ExplicitWidth = 908 + ExplicitWidth = 1013 inherited TBXToolbar1: TTBXToolbar ExplicitWidth = 597 end diff --git a/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.dfm b/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.dfm index 3044d8a5..878115f6 100644 --- a/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.dfm +++ b/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.dfm @@ -12,8 +12,4 @@ inherited frViewDetallesPedidoProveedor: TfrViewDetallesPedidoProveedor end end end - inherited TBXDock1: TTBXDock - ExplicitTop = 46 - ExplicitWidth = 451 - end end diff --git a/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.pas b/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.pas index e6ed397b..b554ab24 100644 --- a/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.pas +++ b/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.pas @@ -23,6 +23,7 @@ type TfrViewDetallesPedidoProveedor = class(TfrViewDetallesArticulos, IViewDetallesPedidoProveedor) procedure CustomViewDestroy(Sender: TObject); + procedure CustomViewCreate(Sender: TObject); protected FPedido: IBizPedidoProveedor; function GetPedido: IBizPedidoProveedor; @@ -50,6 +51,12 @@ begin else (Controller as IDetallesPedidoProveedorController).AnadirArticulos(Detalles); end; +procedure TfrViewDetallesPedidoProveedor.CustomViewCreate(Sender: TObject); +begin + inherited; + cxGridViewREFERENCIA_PROVEEDOR.Properties.OnValidate := Nil; +end; + procedure TfrViewDetallesPedidoProveedor.CustomViewDestroy(Sender: TObject); begin FPedido := Nil; diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm index d07e0976..79b71fe3 100644 --- a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm +++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm @@ -628,6 +628,10 @@ object RptPresupuestosCliente: TRptPresupuestosCliente item DatasetField = 'IMPORTE_NETO' TableField = 'IMPORTE_NETO' + end + item + DatasetField = 'REFERENCIA_PROVEEDOR' + TableField = 'REFERENCIA_PROVEEDOR' end> end> Name = 'Informe_Capitulos_Detalles' @@ -712,6 +716,11 @@ object RptPresupuestosCliente: TRptPresupuestosCliente item Name = 'VISIBLE' DataType = datSmallInt + end + item + Name = 'REFERENCIA_PROVEEDOR' + DataType = datString + Size = 255 end> ReadOnly = True end @@ -926,7 +935,7 @@ object RptPresupuestosCliente: TRptPresupuestosCliente PrintOptions.Printer = 'Por defecto' PrintOptions.PrintOnSheet = 0 ReportOptions.CreateDate = 39065.872423495400000000 - ReportOptions.LastChange = 45462.732395833340000000 + ReportOptions.LastChange = 46302.725771307870000000 ScriptLanguage = 'PascalScript' ShowProgress = False StoreInDFM = False @@ -1698,6 +1707,11 @@ object RptPresupuestosCliente: TRptPresupuestosCliente item Name = 'VISIBLE' DataType = datSmallInt + end + item + Name = 'REFERENCIA_PROVEEDOR' + DataType = datString + Size = 255 end> Params = < item diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm index 2278ec00..f5672dbe 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm +++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm @@ -2,19 +2,19 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente Left = 332 Top = 147 Caption = 'Nuevo presupuesto de cliente' - ClientHeight = 801 - ClientWidth = 848 + ClientHeight = 941 + ClientWidth = 1155 OnClose = CustomEditorClose - ExplicitWidth = 864 - ExplicitHeight = 839 + ExplicitWidth = 1171 + ExplicitHeight = 979 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader - Width = 848 + Width = 1155 Caption = 'Nuevo presupuesto de cliente' - ExplicitWidth = 848 + ExplicitWidth = 1155 inherited Image1: TImage - Left = 821 + Left = 1128 Picture.Data = { 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800 0000180806000000E0773DF80000000970485973000017120000171201679FD2 @@ -125,17 +125,17 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente ExplicitLeft = 735 end inherited lblDesbloquear: TcxLabel - Left = 723 + Left = 1030 Enabled = True Visible = True - ExplicitLeft = 723 - AnchorX = 768 + ExplicitLeft = 1030 + AnchorX = 1075 AnchorY = 14 end end inherited TBXDock: TTBXDock - Width = 848 - ExplicitWidth = 848 + Width = 1155 + ExplicitWidth = 1155 inherited tbxMain: TTBXToolbar ExplicitWidth = 518 inherited TBXItem2: TTBXItem @@ -163,7 +163,7 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente end end inherited tbxMenu: TTBXToolbar - ExplicitWidth = 848 + ExplicitWidth = 1155 object TBXSubmenuItem2: TTBXSubmenuItem [4] Caption = 'A&cciones' object TBXItem34: TTBXItem @@ -173,52 +173,55 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente end end inherited StatusBar: TJvStatusBar - Top = 782 - Width = 848 + Top = 922 + Width = 1155 Panels = < item Width = 200 end> - ExplicitTop = 782 - ExplicitWidth = 848 + ExplicitTop = 922 + ExplicitWidth = 1155 end inherited pgPaginas: TPageControl - Width = 842 - Height = 440 - ActivePage = pagContenido + Width = 1149 + Height = 580 TabOrder = 1 OnChanging = pgPaginasChanging ExplicitTop = 111 - ExplicitWidth = 842 - ExplicitHeight = 440 + ExplicitWidth = 1149 + ExplicitHeight = 580 inherited pagGeneral: TTabSheet ExplicitLeft = 4 ExplicitTop = 24 - ExplicitWidth = 834 - ExplicitHeight = 412 + ExplicitWidth = 1141 + ExplicitHeight = 552 inline frViewPresupuestoCliente1: TfrViewPresupuestoCliente Left = 0 Top = 0 - Width = 834 - Height = 412 + Width = 1141 + Height = 552 Align = alClient TabOrder = 0 ReadOnly = False - ExplicitWidth = 834 - ExplicitHeight = 412 + ExplicitWidth = 1141 + ExplicitHeight = 552 inherited dxLayoutControl1: TdxLayoutControl - Width = 834 - Height = 412 - ExplicitWidth = 834 - ExplicitHeight = 412 + Width = 1141 + Height = 552 + ExplicitWidth = 1141 + ExplicitHeight = 552 inherited edtFechaPresupuesto: TcxDBDateEdit ExplicitWidth = 187 Width = 187 end inherited memObservaciones: TcxDBMemo - Left = 403 - ExplicitLeft = 403 + Left = 557 + Top = 299 + ExplicitLeft = 557 + ExplicitTop = 299 ExplicitWidth = 793 + ExplicitHeight = 245 + Height = 245 Width = 793 end inherited eReferencia: TcxDBTextEdit @@ -230,12 +233,12 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente Width = 122 end inherited bFormasPago: TButton - Left = 241 - ExplicitLeft = 241 + Left = 395 + ExplicitLeft = 395 end inherited edtFechaDecision: TcxDBDateEdit - Left = 287 - ExplicitLeft = 287 + Left = 367 + ExplicitLeft = 367 ExplicitWidth = 260 Width = 260 end @@ -248,23 +251,27 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente Width = 260 end inherited frViewDatosYSeleccionClientePresupuesto1: TfrViewDatosYSeleccionClientePresupuesto - Left = 403 - Width = 320 - ExplicitLeft = 403 - ExplicitWidth = 320 + Left = 557 + Width = 562 + Height = 235 + ExplicitLeft = 557 + ExplicitWidth = 562 + ExplicitHeight = 235 inherited dxLayoutControl1: TdxLayoutControl - Width = 320 + Width = 562 + Height = 235 + ExplicitWidth = 320 inherited edtlNombre: TcxDBTextEdit ExplicitWidth = 224 Width = 224 end inherited edtNIFCIF: TcxDBTextEdit - Left = 279 - ExplicitLeft = 279 + Left = 449 + ExplicitLeft = 449 end inherited Button3: TBitBtn - Left = 190 - ExplicitLeft = 190 + Left = 360 + ExplicitLeft = 360 end inherited edtPersonaContacto: TcxDBTextEdit ExplicitWidth = 283 @@ -275,12 +282,12 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente Width = 121 end inherited Button4: TButton - Left = 359 - ExplicitLeft = 359 + Left = 529 + ExplicitLeft = 529 end inherited Button5: TButton - Left = 359 - ExplicitLeft = 359 + Left = 529 + ExplicitLeft = 529 end inherited edtTelefonos: TcxTextEdit ExplicitWidth = 363 @@ -295,8 +302,8 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente Width = 475 end inherited memPlazoEntrega: TcxDBMemo - Top = 434 - ExplicitTop = 434 + Top = 448 + ExplicitTop = 448 ExplicitWidth = 396 ExplicitHeight = 100 Height = 100 @@ -307,8 +314,8 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente Width = 27 end inherited cbTipoPresupuesto: TcxDBComboBox - Left = 282 - ExplicitLeft = 282 + Left = 365 + ExplicitLeft = 365 ExplicitWidth = 186 Width = 186 end @@ -321,6 +328,7 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente ExplicitWidth = 451 inherited dxLayoutControl1: TdxLayoutControl Width = 451 + ExplicitWidth = 451 inherited cbTienda: TcxComboBox ExplicitWidth = 390 Width = 390 @@ -331,6 +339,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente ExplicitWidth = 111 Width = 111 end + inherited cbPresupuestador: TcxDBLookupComboBox + ExplicitWidth = 279 + Width = 279 + end end end end @@ -340,8 +352,8 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente inline frViewDetallesPresupuestoCliente1: TfrViewDetallesPresupuestoCliente Left = 0 Top = 0 - Width = 834 - Height = 412 + Width = 1141 + Height = 552 Align = alClient BiDiMode = bdLeftToRight Font.Charset = DEFAULT_CHARSET @@ -353,102 +365,97 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente ParentFont = False TabOrder = 0 ReadOnly = False - ExplicitWidth = 834 - ExplicitHeight = 412 + ExplicitWidth = 1141 + ExplicitHeight = 552 inherited ToolBar1: TToolBar - Width = 834 - Height = 46 - ExplicitWidth = 834 - ExplicitHeight = 46 - inherited ToolButton3: TToolButton - Wrap = False - end + Width = 1141 + Height = 24 + ExplicitWidth = 1141 + ExplicitHeight = 24 inherited ToolButton4: TToolButton - Left = 278 - Top = 0 - Wrap = True - ExplicitLeft = 278 - ExplicitTop = 0 - end - inherited ToolButton14: TToolButton - Left = 0 Wrap = False - ExplicitLeft = 0 end inherited FontName: TJvFontComboBox - Left = 34 - Top = 22 - ExplicitLeft = 34 - ExplicitTop = 22 + Left = 334 + Top = 0 + ExplicitLeft = 334 + ExplicitTop = 0 end inherited FontSize: TEdit - Left = 179 - Top = 22 - ExplicitLeft = 179 - ExplicitTop = 22 + Left = 479 + Top = 0 + ExplicitLeft = 479 + ExplicitTop = 0 end - inherited UpDown1: TUpDown - Left = 349 - Top = 22 - ExplicitLeft = 349 - ExplicitTop = 22 + inherited UpDown1: TUpDown [6] + Left = 697 + Top = 0 + ExplicitLeft = 697 + ExplicitTop = 0 + end + inherited ToolButton14: TToolButton [7] + Left = 714 + Top = 0 + Wrap = False + ExplicitLeft = 714 + ExplicitTop = 0 end inherited ToolButton13: TToolButton - Left = 366 - Top = 22 - ExplicitLeft = 366 - ExplicitTop = 22 + Left = 748 + Top = 0 + ExplicitLeft = 748 + ExplicitTop = 0 end inherited ToolButton6: TToolButton - Left = 374 - Top = 22 - ExplicitLeft = 374 - ExplicitTop = 22 + Left = 756 + Top = 0 + ExplicitLeft = 756 + ExplicitTop = 0 end inherited ToolButton7: TToolButton - Left = 408 - Top = 22 - ExplicitLeft = 408 - ExplicitTop = 22 + Left = 790 + Top = 0 + ExplicitLeft = 790 + ExplicitTop = 0 end inherited ToolButton8: TToolButton - Left = 442 - Top = 22 - ExplicitLeft = 442 - ExplicitTop = 22 + Left = 824 + Top = 0 + ExplicitLeft = 824 + ExplicitTop = 0 end inherited ToolButton12: TToolButton - Left = 476 - Top = 22 - ExplicitLeft = 476 - ExplicitTop = 22 + Left = 858 + Top = 0 + ExplicitLeft = 858 + ExplicitTop = 0 end inherited ToolButton9: TToolButton - Left = 484 - Top = 22 - ExplicitLeft = 484 - ExplicitTop = 22 + Left = 866 + Top = 0 + ExplicitLeft = 866 + ExplicitTop = 0 end inherited ToolButton10: TToolButton - Left = 518 - Top = 22 - ExplicitLeft = 518 - ExplicitTop = 22 + Left = 900 + Top = 0 + ExplicitLeft = 900 + ExplicitTop = 0 end inherited ToolButton11: TToolButton - Left = 552 - Top = 22 - ExplicitLeft = 552 - ExplicitTop = 22 + Left = 934 + Top = 0 + ExplicitLeft = 934 + ExplicitTop = 0 end end inherited cxGrid: TcxGrid - Top = 72 - Width = 834 - Height = 340 - ExplicitTop = 72 - ExplicitWidth = 834 - ExplicitHeight = 340 + Top = 50 + Width = 1141 + Height = 502 + ExplicitTop = 50 + ExplicitWidth = 1141 + ExplicitHeight = 502 inherited cxGridView: TcxGridDBTableView inherited cxGridViewVISIBLE2: TcxGridDBColumn Width = 29 @@ -489,10 +496,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente end end inherited TBXDock1: TTBXDock - Top = 46 - Width = 834 - ExplicitTop = 46 - ExplicitWidth = 834 + Top = 24 + Width = 1141 + ExplicitTop = 24 + ExplicitWidth = 1141 inherited TBXToolbar1: TTBXToolbar ExplicitWidth = 806 end @@ -521,8 +528,8 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente object dxLayoutControl1: TdxLayoutControl Left = 0 Top = 0 - Width = 834 - Height = 412 + Width = 1141 + Height = 552 Align = alClient TabOrder = 0 TabStop = False @@ -568,8 +575,8 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente inline frViewIncidenciasCli: TfrViewIncidencias Left = 0 Top = 0 - Width = 834 - Height = 412 + Width = 1141 + Height = 552 Align = alClient Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -579,25 +586,25 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente ParentFont = False TabOrder = 0 ReadOnly = False - ExplicitWidth = 834 - ExplicitHeight = 412 + ExplicitWidth = 1141 + ExplicitHeight = 552 inherited pnlSup: TPanel - Width = 834 + Width = 1141 ExplicitWidth = 834 inherited eIncidenciaActiva: TcxDBCheckBox ExplicitHeight = 21 end end inherited GroupBox1: TGroupBox - Width = 834 - Height = 384 - ExplicitWidth = 834 - ExplicitHeight = 384 + Width = 1141 + Height = 524 + ExplicitWidth = 1141 + ExplicitHeight = 524 inherited eIncidencias: TcxDBMemo - ExplicitWidth = 830 - ExplicitHeight = 367 - Height = 367 - Width = 830 + ExplicitWidth = 1137 + ExplicitHeight = 507 + Height = 507 + Width = 1137 end end end @@ -609,8 +616,8 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente inline frViewDocumentosPresupuestoCliente1: TfrViewDocumentosPresupuestoCliente Left = 0 Top = 0 - Width = 834 - Height = 412 + Width = 1141 + Height = 552 Align = alClient Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -620,15 +627,15 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente ParentFont = False TabOrder = 0 ReadOnly = False - ExplicitWidth = 834 - ExplicitHeight = 412 + ExplicitWidth = 1141 + ExplicitHeight = 552 inherited TBXDock: TTBXDock - Width = 834 + Width = 1141 ExplicitWidth = 834 end inherited ListView1: TListView - Width = 834 - Height = 387 + Width = 1141 + Height = 527 ExplicitTop = 25 ExplicitWidth = 834 ExplicitHeight = 387 @@ -641,18 +648,18 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente end end inherited PnlComentario: TPanel - Width = 848 + Width = 1155 ExplicitTop = 78 - ExplicitWidth = 848 + ExplicitWidth = 1155 inherited lbComentario: TLabel - Width = 838 + Width = 1145 Height = 25 end end inline frViewTotales1: TfrViewTotalesPresupuesto [5] Left = 0 - Top = 554 - Width = 848 + Top = 694 + Width = 1155 Height = 228 Align = alBottom Font.Charset = DEFAULT_CHARSET @@ -663,26 +670,26 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente ParentFont = False TabOrder = 5 ReadOnly = False - ExplicitTop = 554 - ExplicitWidth = 848 + ExplicitTop = 694 + ExplicitWidth = 1155 ExplicitHeight = 228 inherited dxLayoutControl1: TdxLayoutControl - Width = 848 + Width = 1155 LookAndFeel = dxLayoutOfficeLookAndFeel1 - ExplicitWidth = 848 + ExplicitWidth = 1155 inherited Bevel3: TBevel - Left = 352 + Left = 473 Top = 57 Height = 122 - ExplicitLeft = 352 + ExplicitLeft = 473 ExplicitTop = 57 ExplicitHeight = 122 end inherited Bevel4: TBevel - Left = 464 + Left = 585 Top = 88 Width = 342 - ExplicitLeft = 464 + ExplicitLeft = 585 ExplicitTop = 88 ExplicitWidth = 342 end @@ -694,19 +701,19 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente Width = 93 end inherited ImporteIVA: TcxDBCurrencyEdit - Left = 535 + Left = 656 Top = 108 Style.IsFontAssigned = True - ExplicitLeft = 535 + ExplicitLeft = 656 ExplicitTop = 108 ExplicitWidth = 137 Width = 137 end inherited ImporteTotal: TcxDBCurrencyEdit - Left = 465 + Left = 586 Top = 189 Style.IsFontAssigned = True - ExplicitLeft = 465 + ExplicitLeft = 586 ExplicitTop = 189 ExplicitWidth = 137 Width = 137 @@ -717,33 +724,33 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente ExplicitTop = 84 end inherited edtIVA: TcxDBSpinEdit - Left = 464 + Left = 585 Top = 108 Style.IsFontAssigned = True - ExplicitLeft = 464 + ExplicitLeft = 585 ExplicitTop = 108 end inherited ImporteBase: TcxDBCurrencyEdit - Left = 464 + Left = 585 Top = 57 Style.IsFontAssigned = True - ExplicitLeft = 464 + ExplicitLeft = 585 ExplicitTop = 57 ExplicitWidth = 92 Width = 92 end inherited edtRE: TcxDBSpinEdit - Left = 464 + Left = 585 Top = 162 Style.IsFontAssigned = True - ExplicitLeft = 464 + ExplicitLeft = 585 ExplicitTop = 162 end inherited ImporteRE: TcxDBCurrencyEdit - Left = 535 + Left = 656 Top = 162 Style.IsFontAssigned = True - ExplicitLeft = 535 + ExplicitLeft = 656 ExplicitTop = 162 ExplicitWidth = 56 Width = 56 @@ -769,10 +776,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente Width = 81 end inherited bTiposIVA: TButton - Left = 204 + Left = 325 Top = 138 OnClick = frViewTotales1bTiposIVAClick - ExplicitLeft = 204 + ExplicitLeft = 325 ExplicitTop = 138 end inherited cbRecargoEquivalencia: TcxDBCheckBox @@ -790,17 +797,17 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente Width = 455 end inherited edtIRPF: TcxDBSpinEdit - Left = 464 + Left = 585 Top = 135 Style.IsFontAssigned = True - ExplicitLeft = 464 + ExplicitLeft = 585 ExplicitTop = 135 end inherited ImporteIRPF: TcxDBCurrencyEdit - Left = 535 + Left = 656 Top = 135 Style.IsFontAssigned = True - ExplicitLeft = 535 + ExplicitLeft = 656 ExplicitTop = 135 ExplicitWidth = 216 Width = 216 diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewDatosYSeleccionClientePresupuesto.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewDatosYSeleccionClientePresupuesto.dfm index d2ae1146..9bbd1a68 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uViewDatosYSeleccionClientePresupuesto.dfm +++ b/Source/Modulos/Presupuestos de cliente/Views/uViewDatosYSeleccionClientePresupuesto.dfm @@ -382,7 +382,7 @@ inherited frViewDatosYSeleccionClientePresupuesto: TfrViewDatosYSeleccionCliente AutoAligns = [] AlignHorz = ahClient AlignVert = avCenter - Caption = 'Contacto:' + Caption = 'A/A:' Control = edtPersonaContacto ControlOptions.ShowBorder = False end diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewDatosYSeleccionClientePresupuesto.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewDatosYSeleccionClientePresupuesto.pas index f814fd6d..d3236418 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uViewDatosYSeleccionClientePresupuesto.pas +++ b/Source/Modulos/Presupuestos de cliente/Views/uViewDatosYSeleccionClientePresupuesto.pas @@ -278,7 +278,7 @@ begin end; //Siempre asignaremos la persona de contacto ya sea de las direcciones del contacto o la ID_Direccion=0 que es la principal de la ficha - FPresupuesto.PERSONA_CONTACTO := FDireccion.PERSONA_CONTACTO; + FPresupuesto.PERSONA_CONTACTO := FDireccion.NOMBRE; EscribirTextoDireccion; end; end; diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm index 1bb7b155..ad4fd20a 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm +++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm @@ -1,23 +1,23 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente - Width = 895 - Height = 555 + Width = 1235 + Height = 722 OnCreate = CustomViewCreate OnDestroy = CustomViewDestroy - ExplicitWidth = 895 - ExplicitHeight = 555 + ExplicitWidth = 1235 + ExplicitHeight = 722 object dxLayoutControl1: TdxLayoutControl Left = 0 Top = 0 - Width = 895 - Height = 555 + Width = 1235 + Height = 722 Align = alClient ParentBackground = True TabOrder = 0 TabStop = False AutoContentSizes = [acsWidth, acsHeight] DesignSize = ( - 895 - 555) + 1235 + 722) object edtFechaPresupuesto: TcxDBDateEdit Left = 131 Top = 82 @@ -42,7 +42,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente Width = 187 end object memObservaciones: TcxDBMemo - Left = 440 + Left = 678 Top = 288 Anchors = [akLeft, akTop, akRight, akBottom] DataBinding.DataField = 'OBSERVACIONES' @@ -60,8 +60,8 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True TabOrder = 16 - Height = 245 - Width = 793 + Height = 400 + Width = 611 end object eReferencia: TcxDBTextEdit Left = 131 @@ -119,7 +119,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente Width = 122 end object bFormasPago: TButton - Left = 278 + Left = 516 Top = 190 Width = 132 Height = 21 @@ -128,7 +128,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente OnClick = bFormasPagoClick end object edtFechaDecision: TcxDBDateEdit - Left = 306 + Left = 430 Top = 136 Anchors = [akLeft, akTop, akRight] DataBinding.DataField = 'FECHA_DECISION' @@ -211,7 +211,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente Width = 260 end inline frViewDatosYSeleccionClientePresupuesto1: TfrViewDatosYSeleccionClientePresupuesto - Left = 440 + Left = 678 Top = 28 Width = 320 Height = 224 @@ -223,26 +223,26 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente ParentFont = False TabOrder = 15 ReadOnly = False - ExplicitLeft = 440 + ExplicitLeft = 678 ExplicitTop = 28 ExplicitWidth = 320 ExplicitHeight = 224 inherited dxLayoutControl1: TdxLayoutControl Width = 320 Height = 224 - ExplicitWidth = 320 + ExplicitWidth = 611 ExplicitHeight = 224 inherited edtlNombre: TcxDBTextEdit ExplicitWidth = 224 Width = 224 end inherited edtNIFCIF: TcxDBTextEdit - Left = 320 - ExplicitLeft = 320 + Left = 422 + ExplicitLeft = 422 end inherited Button3: TBitBtn - Left = 231 - ExplicitLeft = 231 + Left = 333 + ExplicitLeft = 333 end inherited edtPersonaContacto: TcxDBTextEdit ExplicitWidth = 283 @@ -253,12 +253,12 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente Width = 121 end inherited Button4: TButton - Left = 400 - ExplicitLeft = 400 + Left = 502 + ExplicitLeft = 502 end inherited Button5: TButton - Left = 400 - ExplicitLeft = 400 + Left = 502 + ExplicitLeft = 502 end inherited edtTelefonos: TcxTextEdit ExplicitWidth = 363 @@ -290,7 +290,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente end object memPlazoEntrega: TcxDBMemo Left = 22 - Top = 449 + Top = 510 Anchors = [akLeft, akTop, akRight, akBottom] DataBinding.DataField = 'PLAZO_ENTREGA' DataBinding.DataSource = DADataSource @@ -341,7 +341,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente Width = 27 end object cbTipoPresupuesto: TcxDBComboBox - Left = 302 + Left = 430 Top = 82 DataBinding.DataField = 'TIPO_PRESUPUESTO' DataBinding.DataSource = DADataSource @@ -391,6 +391,9 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente ReadOnly = False ExplicitLeft = 22 ExplicitTop = 301 + inherited dxLayoutControl1: TdxLayoutControl + ExplicitWidth = 550 + end end object edtFechaUltRevision: TcxDBDateEdit Left = 131 diff --git a/Source/Modulos/Relaciones/Contratos de cliente - Pedidos de proveedor/uGenerarPedidosProvUtils.pas b/Source/Modulos/Relaciones/Contratos de cliente - Pedidos de proveedor/uGenerarPedidosProvUtils.pas index 871ba300..4d770cb7 100644 --- a/Source/Modulos/Relaciones/Contratos de cliente - Pedidos de proveedor/uGenerarPedidosProvUtils.pas +++ b/Source/Modulos/Relaciones/Contratos de cliente - Pedidos de proveedor/uGenerarPedidosProvUtils.pas @@ -125,7 +125,7 @@ begin begin ADetallesController.Add(ADetalles, AArticulos.TIPO_DETALLE); ADetalles.Edit; - // ADetalles.REFERENCIA := AArticulos.REFERENCIA; + ADetalles.REFERENCIA_PROVEEDOR := AArticulos.REFERENCIA_PROVEEDOR; ADetalles.ID_ARTICULO := AArticulos.ID_ARTICULO; if (AArticulos.PROPIEDAD <> '') then ADetalles.CONCEPTO := AArticulos.PROPIEDAD + ': '+ AArticulos.CONCEPTO diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr index 30ce5b5d..f883cf2d 100644 --- a/Source/Servidor/FactuGES_Server.dpr +++ b/Source/Servidor/FactuGES_Server.dpr @@ -126,8 +126,6 @@ uses schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas', schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas', schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas', - schArticulosClient_Intf in '..\Modulos\Articulos\Model\schArticulosClient_Intf.pas', - schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas', schInventarioClient_Intf in '..\Modulos\Inventario\Model\schInventarioClient_Intf.pas', schInventarioServer_Intf in '..\Modulos\Inventario\Model\schInventarioServer_Intf.pas', schAlbaranesProveedorClient_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas', @@ -139,7 +137,9 @@ uses schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas', schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas', schContratosClienteClient_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteClient_Intf.pas', - schContratosClienteServer_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas'; + schContratosClienteServer_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas', + schArticulosClient_Intf in '..\Modulos\Articulos\Model\schArticulosClient_Intf.pas', + schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas'; {$R *.res} {$R ..\Servicios\RODLFile.res} diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj index c0a21026..d6c261ba 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -28,7 +28,7 @@ Delphi.Personality - FalseTrueFalseTrueFalse5270FalseFalseFalseFalseFalse30821252Rodax Software S.L.5.2.7.0FactuGES (Servidor)5.2.7.0jueves, 23 de abril de 2026 18:15 + FalseTrueFalseTrueFalse5280FalseFalseFalseFalseFalse30821252Rodax Software S.L.5.2.8.0FactuGES (Servidor)5.2.8.0miércoles, 07 de octubre de 2026 17:28 File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found FactuGES_Server.dpr