diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql
index 6ea3576a..4e6290f4 100644
--- a/Database/scripts/factuges.sql
+++ b/Database/scripts/factuges.sql
@@ -438,7 +438,8 @@ CREATE TABLE ARTICULOS_PROVEEDORES (
PRECIO_NETO TIPO_IMPORTE,
PRECIO_PORTE TIPO_IMPORTE,
PRECIO_PVP_VENTA TIPO_IMPORTE,
- PRECIO_PVP_TOTAL TIPO_IMPORTE
+ PRECIO_PVP_TOTAL TIPO_IMPORTE,
+ FECHA_ACTUALIZACION DATE
);
CREATE TABLE CATEGORIAS (
diff --git a/Source/Modulos/Articulos/Data/uDataModuleArticulos.dfm b/Source/Modulos/Articulos/Data/uDataModuleArticulos.dfm
index 8c2060fb..c6bb52f0 100644
--- a/Source/Modulos/Articulos/Data/uDataModuleArticulos.dfm
+++ b/Source/Modulos/Articulos/Data/uDataModuleArticulos.dfm
@@ -14,12 +14,12 @@ inherited DataModuleArticulos: TDataModuleArticulos
Top = 84
end
object rda_Articulos: TDARemoteDataAdapter
+ DataStreamer = Bin2DataStreamer
GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService
- DataStreamer = Bin2DataStreamer
Left = 51
Top = 151
end
@@ -196,8 +196,6 @@ inherited DataModuleArticulos: TDataModuleArticulos
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_Articulos
- DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
- MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'Articulos'
IndexDefs = <>
Left = 232
@@ -229,8 +227,6 @@ inherited DataModuleArticulos: TDataModuleArticulos
end>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_Articulos
- DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
- MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'ProveedoresConArticulos'
IndexDefs = <>
Left = 232
@@ -305,6 +301,10 @@ inherited DataModuleArticulos: TDataModuleArticulos
Name = 'PRECIO_PVP_TOTAL'
DataType = datCurrency
ServerAutoRefresh = True
+ end
+ item
+ Name = 'FECHA_ACTUALIZACION'
+ DataType = datDateTime
end>
Params = <>
MasterMappingMode = mmWhere
@@ -313,8 +313,6 @@ inherited DataModuleArticulos: TDataModuleArticulos
MasterSource = ds_Articulos
MasterFields = 'ID'
DetailFields = 'ID_ARTICULO'
- DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
- MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'Articulos_Proveedores'
IndexDefs = <>
Left = 368
@@ -512,8 +510,6 @@ inherited DataModuleArticulos: TDataModuleArticulos
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_Articulos
- DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
- MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'ArticulosParaCompra'
IndexDefs = <>
Left = 416
diff --git a/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas b/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas
index 25372a99..f11cf8cf 100644
--- a/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas
+++ b/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas
@@ -3,16 +3,16 @@ unit schArticulosClient_Intf;
interface
uses
- Classes, DB, schBase_Intf, SysUtils, uROClasses, uDADataTable, FmtBCD, uROXMLIntf;
+ Classes, DB, 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_ProveedoresConArticulos = '{5C4B513D-A09F-4964-93E6-DD87A4AAA324}';
- RID_Articulos_Proveedores = '{C23E90C0-7019-447D-ACD4-12687E51658B}';
- RID_Articulos = '{730B578C-0743-43FF-87A3-1D580A528918}';
- RID_ArticulosParaCompra = '{CF8E3694-1AA8-41E9-B4D8-0A3A002BDCB9}';
+ RID_ProveedoresConArticulos = '{BAF6A9A2-1271-475E-8ABE-86F31A9521E4}';
+ RID_Articulos_Proveedores = '{05C7981B-25DB-497F-A713-CF2319B35EAC}';
+ RID_Articulos = '{17F5C1E9-1571-48E3-A06C-BC21BD4D051B}';
+ RID_ArticulosParaCompra = '{3366025F-0A8D-4073-9E99-792C6770B974}';
{ Data table names }
nme_ProveedoresConArticulos = 'ProveedoresConArticulos';
@@ -39,6 +39,7 @@ const
fld_Articulos_ProveedoresPRECIO_PORTE = 'PRECIO_PORTE';
fld_Articulos_ProveedoresPRECIO_PVP_VENTA = 'PRECIO_PVP_VENTA';
fld_Articulos_ProveedoresPRECIO_PVP_TOTAL = 'PRECIO_PVP_TOTAL';
+ fld_Articulos_ProveedoresFECHA_ACTUALIZACION = 'FECHA_ACTUALIZACION';
{ Articulos_Proveedores field indexes }
idx_Articulos_ProveedoresID = 0;
@@ -51,6 +52,7 @@ const
idx_Articulos_ProveedoresPRECIO_PORTE = 7;
idx_Articulos_ProveedoresPRECIO_PVP_VENTA = 8;
idx_Articulos_ProveedoresPRECIO_PVP_TOTAL = 9;
+ idx_Articulos_ProveedoresFECHA_ACTUALIZACION = 10;
{ Articulos fields }
fld_ArticulosID = 'ID';
@@ -173,7 +175,7 @@ const
type
{ IProveedoresConArticulos }
IProveedoresConArticulos = interface(IDAStronglyTypedDataTable)
- ['{EE9B47ED-6CFF-405D-A2B1-027A58BF0562}']
+ ['{74DCA1E1-B23A-4112-A6DC-7EA496B10A91}']
{ Property getters and setters }
function GetID_PROVEEDORValue: Integer;
procedure SetID_PROVEEDORValue(const aValue: Integer);
@@ -193,7 +195,7 @@ type
end;
{ TProveedoresConArticulosDataTableRules }
- TProveedoresConArticulosDataTableRules = class(TIntfObjectDADataTableRules, IProveedoresConArticulos)
+ TProveedoresConArticulosDataTableRules = class(TDADataTableRules, IProveedoresConArticulos)
private
protected
{ Property getters and setters }
@@ -220,7 +222,7 @@ type
{ IArticulos_Proveedores }
IArticulos_Proveedores = interface(IDAStronglyTypedDataTable)
- ['{202E2D67-E014-4CC6-8E1A-60E915C329A7}']
+ ['{24901826-7207-4500-87E5-F0D5C55E16EB}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -262,6 +264,10 @@ type
procedure SetPRECIO_PVP_TOTALValue(const aValue: Currency);
function GetPRECIO_PVP_TOTALIsNull: Boolean;
procedure SetPRECIO_PVP_TOTALIsNull(const aValue: Boolean);
+ function GetFECHA_ACTUALIZACIONValue: DateTime;
+ procedure SetFECHA_ACTUALIZACIONValue(const aValue: DateTime);
+ function GetFECHA_ACTUALIZACIONIsNull: Boolean;
+ procedure SetFECHA_ACTUALIZACIONIsNull(const aValue: Boolean);
{ Properties }
@@ -285,10 +291,12 @@ type
property PRECIO_PVP_VENTAIsNull: Boolean read GetPRECIO_PVP_VENTAIsNull write SetPRECIO_PVP_VENTAIsNull;
property PRECIO_PVP_TOTAL: Currency read GetPRECIO_PVP_TOTALValue write SetPRECIO_PVP_TOTALValue;
property PRECIO_PVP_TOTALIsNull: Boolean read GetPRECIO_PVP_TOTALIsNull write SetPRECIO_PVP_TOTALIsNull;
+ property FECHA_ACTUALIZACION: DateTime read GetFECHA_ACTUALIZACIONValue write SetFECHA_ACTUALIZACIONValue;
+ property FECHA_ACTUALIZACIONIsNull: Boolean read GetFECHA_ACTUALIZACIONIsNull write SetFECHA_ACTUALIZACIONIsNull;
end;
{ TArticulos_ProveedoresDataTableRules }
- TArticulos_ProveedoresDataTableRules = class(TIntfObjectDADataTableRules, IArticulos_Proveedores)
+ TArticulos_ProveedoresDataTableRules = class(TDADataTableRules, IArticulos_Proveedores)
private
protected
{ Property getters and setters }
@@ -332,6 +340,10 @@ type
procedure SetPRECIO_PVP_TOTALValue(const aValue: Currency); virtual;
function GetPRECIO_PVP_TOTALIsNull: Boolean; virtual;
procedure SetPRECIO_PVP_TOTALIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_ACTUALIZACIONValue: DateTime; virtual;
+ procedure SetFECHA_ACTUALIZACIONValue(const aValue: DateTime); virtual;
+ function GetFECHA_ACTUALIZACIONIsNull: Boolean; virtual;
+ procedure SetFECHA_ACTUALIZACIONIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@@ -354,6 +366,8 @@ type
property PRECIO_PVP_VENTAIsNull: Boolean read GetPRECIO_PVP_VENTAIsNull write SetPRECIO_PVP_VENTAIsNull;
property PRECIO_PVP_TOTAL: Currency read GetPRECIO_PVP_TOTALValue write SetPRECIO_PVP_TOTALValue;
property PRECIO_PVP_TOTALIsNull: Boolean read GetPRECIO_PVP_TOTALIsNull write SetPRECIO_PVP_TOTALIsNull;
+ property FECHA_ACTUALIZACION: DateTime read GetFECHA_ACTUALIZACIONValue write SetFECHA_ACTUALIZACIONValue;
+ property FECHA_ACTUALIZACIONIsNull: Boolean read GetFECHA_ACTUALIZACIONIsNull write SetFECHA_ACTUALIZACIONIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@@ -363,7 +377,7 @@ type
{ IArticulos }
IArticulos = interface(IDAStronglyTypedDataTable)
- ['{92E42697-A92B-46A4-9A19-3214D8C788E6}']
+ ['{BDCB8C2D-6A38-4C2F-9240-84F377997169}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -526,7 +540,7 @@ type
end;
{ TArticulosDataTableRules }
- TArticulosDataTableRules = class(TIntfObjectDADataTableRules, IArticulos)
+ TArticulosDataTableRules = class(TDADataTableRules, IArticulos)
private
f_IMAGEN: IROStream;
procedure IMAGEN_OnChange(Sender: TObject);
@@ -701,7 +715,7 @@ type
}
{ IArticulosParaCompra }
IArticulosParaCompra = interface(IDAStronglyTypedDataTable)
- ['{3D547837-FB04-4E59-AD87-C00D844EE481}']
+ ['{F24589CD-50A2-4A1B-A274-B3D08F638BD4}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -882,7 +896,7 @@ type
end;
{ TArticulosParaCompraDataTableRules }
- TArticulosParaCompraDataTableRules = class(TIntfObjectDADataTableRules, IArticulosParaCompra)
+ TArticulosParaCompraDataTableRules = class(TDADataTableRules, IArticulosParaCompra)
private
f_IMAGEN: IROStream;
procedure IMAGEN_OnChange(Sender: TObject);
@@ -1349,6 +1363,27 @@ begin
DataTable.Fields[idx_Articulos_ProveedoresPRECIO_PVP_TOTAL].AsVariant := Null;
end;
+function TArticulos_ProveedoresDataTableRules.GetFECHA_ACTUALIZACIONValue: DateTime;
+begin
+ result := DataTable.Fields[idx_Articulos_ProveedoresFECHA_ACTUALIZACION].AsDateTime;
+end;
+
+procedure TArticulos_ProveedoresDataTableRules.SetFECHA_ACTUALIZACIONValue(const aValue: DateTime);
+begin
+ DataTable.Fields[idx_Articulos_ProveedoresFECHA_ACTUALIZACION].AsDateTime := aValue;
+end;
+
+function TArticulos_ProveedoresDataTableRules.GetFECHA_ACTUALIZACIONIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_Articulos_ProveedoresFECHA_ACTUALIZACION].IsNull;
+end;
+
+procedure TArticulos_ProveedoresDataTableRules.SetFECHA_ACTUALIZACIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_Articulos_ProveedoresFECHA_ACTUALIZACION].AsVariant := Null;
+end;
+
{ TArticulosDataTableRules }
constructor TArticulosDataTableRules.Create(aDataTable: TDADataTable);
diff --git a/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas b/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas
index 4ded5e42..74f6c707 100644
--- a/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas
+++ b/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas
@@ -9,15 +9,15 @@ 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_ProveedoresConArticulosDelta = '{6C804022-5DF5-4E60-A6EC-E3C04900D4FC}';
- RID_Articulos_ProveedoresDelta = '{C38F7153-6FAD-4064-8EAC-D97A9F9780AE}';
- RID_ArticulosDelta = '{132D6F55-09CD-4018-A2CB-1D2552713417}';
- RID_ArticulosParaCompraDelta = '{F30257BA-3AC6-486E-B33C-0F429FBA0D62}';
+ RID_ProveedoresConArticulosDelta = '{98D18961-09C6-4F9F-83B3-5309087AD9E7}';
+ RID_Articulos_ProveedoresDelta = '{FD7F2229-5620-407B-8E20-02B2EC81ED46}';
+ RID_ArticulosDelta = '{02CA2687-D121-46D8-BAFB-32AF6AF7B820}';
+ RID_ArticulosParaCompraDelta = '{42F51495-15BF-49C2-8E14-19B02C1CBC32}';
type
{ IProveedoresConArticulosDelta }
IProveedoresConArticulosDelta = interface(IProveedoresConArticulos)
- ['{6C804022-5DF5-4E60-A6EC-E3C04900D4FC}']
+ ['{98D18961-09C6-4F9F-83B3-5309087AD9E7}']
{ Property getters and setters }
function GetOldID_PROVEEDORValue : Integer;
function GetOldNOMBREValue : String;
@@ -63,7 +63,7 @@ type
{ IArticulos_ProveedoresDelta }
IArticulos_ProveedoresDelta = interface(IArticulos_Proveedores)
- ['{C38F7153-6FAD-4064-8EAC-D97A9F9780AE}']
+ ['{FD7F2229-5620-407B-8E20-02B2EC81ED46}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_ARTICULOValue : Integer;
@@ -75,6 +75,7 @@ type
function GetOldPRECIO_PORTEValue : Currency;
function GetOldPRECIO_PVP_VENTAValue : Currency;
function GetOldPRECIO_PVP_TOTALValue : Currency;
+ function GetOldFECHA_ACTUALIZACIONValue : DateTime;
{ Properties }
property OldID : Integer read GetOldIDValue;
@@ -87,6 +88,7 @@ type
property OldPRECIO_PORTE : Currency read GetOldPRECIO_PORTEValue;
property OldPRECIO_PVP_VENTA : Currency read GetOldPRECIO_PVP_VENTAValue;
property OldPRECIO_PVP_TOTAL : Currency read GetOldPRECIO_PVP_TOTALValue;
+ property OldFECHA_ACTUALIZACION : DateTime read GetOldFECHA_ACTUALIZACIONValue;
end;
{ TArticulos_ProveedoresBusinessProcessorRules }
@@ -154,6 +156,12 @@ type
function GetOldPRECIO_PVP_TOTALIsNull: Boolean; virtual;
procedure SetPRECIO_PVP_TOTALValue(const aValue: Currency); virtual;
procedure SetPRECIO_PVP_TOTALIsNull(const aValue: Boolean); virtual;
+ function GetFECHA_ACTUALIZACIONValue: DateTime; virtual;
+ function GetFECHA_ACTUALIZACIONIsNull: Boolean; virtual;
+ function GetOldFECHA_ACTUALIZACIONValue: DateTime; virtual;
+ function GetOldFECHA_ACTUALIZACIONIsNull: Boolean; virtual;
+ procedure SetFECHA_ACTUALIZACIONValue(const aValue: DateTime); virtual;
+ procedure SetFECHA_ACTUALIZACIONIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@@ -196,6 +204,10 @@ type
property PRECIO_PVP_TOTALIsNull : Boolean read GetPRECIO_PVP_TOTALIsNull write SetPRECIO_PVP_TOTALIsNull;
property OldPRECIO_PVP_TOTAL : Currency read GetOldPRECIO_PVP_TOTALValue;
property OldPRECIO_PVP_TOTALIsNull : Boolean read GetOldPRECIO_PVP_TOTALIsNull;
+ property FECHA_ACTUALIZACION : DateTime read GetFECHA_ACTUALIZACIONValue write SetFECHA_ACTUALIZACIONValue;
+ property FECHA_ACTUALIZACIONIsNull : Boolean read GetFECHA_ACTUALIZACIONIsNull write SetFECHA_ACTUALIZACIONIsNull;
+ property OldFECHA_ACTUALIZACION : DateTime read GetOldFECHA_ACTUALIZACIONValue;
+ property OldFECHA_ACTUALIZACIONIsNull : Boolean read GetOldFECHA_ACTUALIZACIONIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@@ -205,7 +217,7 @@ type
{ IArticulosDelta }
IArticulosDelta = interface(IArticulos)
- ['{132D6F55-09CD-4018-A2CB-1D2552713417}']
+ ['{02CA2687-D121-46D8-BAFB-32AF6AF7B820}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -540,7 +552,7 @@ type
{ IArticulosParaCompraDelta }
IArticulosParaCompraDelta = interface(IArticulosParaCompra)
- ['{F30257BA-3AC6-486E-B33C-0F429FBA0D62}']
+ ['{42F51495-15BF-49C2-8E14-19B02C1CBC32}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -1309,6 +1321,37 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresPRECIO_PVP_TOTAL] := Null;
end;
+function TArticulos_ProveedoresBusinessProcessorRules.GetFECHA_ACTUALIZACIONValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresFECHA_ACTUALIZACION];
+end;
+
+function TArticulos_ProveedoresBusinessProcessorRules.GetFECHA_ACTUALIZACIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresFECHA_ACTUALIZACION]);
+end;
+
+function TArticulos_ProveedoresBusinessProcessorRules.GetOldFECHA_ACTUALIZACIONValue: DateTime;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresFECHA_ACTUALIZACION];
+end;
+
+function TArticulos_ProveedoresBusinessProcessorRules.GetOldFECHA_ACTUALIZACIONIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_Articulos_ProveedoresFECHA_ACTUALIZACION]);
+end;
+
+procedure TArticulos_ProveedoresBusinessProcessorRules.SetFECHA_ACTUALIZACIONValue(const aValue: DateTime);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresFECHA_ACTUALIZACION] := aValue;
+end;
+
+procedure TArticulos_ProveedoresBusinessProcessorRules.SetFECHA_ACTUALIZACIONIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_Articulos_ProveedoresFECHA_ACTUALIZACION] := Null;
+end;
+
{ TArticulosBusinessProcessorRules }
constructor TArticulosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
@@ -1329,7 +1372,7 @@ end;
procedure TArticulosBusinessProcessorRules.IMAGEN_OnChange(Sender: TObject);
begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosIMAGEN] := VariantBinaryFromBinary((TROStream(Sender) as IROStream).Stream);
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosIMAGEN] := BinaryToBlobVariant((TROStream(Sender) as IROStream).Stream);
end;
function TArticulosBusinessProcessorRules.GetIDValue: Integer;
@@ -1523,7 +1566,7 @@ begin
result := f_IMAGEN;
result.Position := 0;
if not Result.InUpdateMode then begin
- WriteVariantBinaryToBinary(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosIMAGEN], result.Stream);
+ BlobVariantToBinary(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosIMAGEN], result.Stream);
result.Position := 0;
end;
end;
@@ -1536,7 +1579,7 @@ end;
function TArticulosBusinessProcessorRules.GetOldIMAGENValue: IROStream;
begin
result := NewROStream();
- WriteVariantBinaryToBinary(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosIMAGEN], result.Stream);
+ BlobVariantToBinary(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosIMAGEN], result.Stream);
end;
function TArticulosBusinessProcessorRules.GetOldIMAGENIsNull: Boolean;
@@ -2159,7 +2202,7 @@ end;
procedure TArticulosParaCompraBusinessProcessorRules.IMAGEN_OnChange(Sender: TObject);
begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraIMAGEN] := VariantBinaryFromBinary((TROStream(Sender) as IROStream).Stream);
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraIMAGEN] := BinaryToBlobVariant((TROStream(Sender) as IROStream).Stream);
end;
function TArticulosParaCompraBusinessProcessorRules.GetIDValue: Integer;
@@ -2353,7 +2396,7 @@ begin
result := f_IMAGEN;
result.Position := 0;
if not Result.InUpdateMode then begin
- WriteVariantBinaryToBinary(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraIMAGEN], result.Stream);
+ BlobVariantToBinary(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraIMAGEN], result.Stream);
result.Position := 0;
end;
end;
@@ -2366,7 +2409,7 @@ end;
function TArticulosParaCompraBusinessProcessorRules.GetOldIMAGENValue: IROStream;
begin
result := NewROStream();
- WriteVariantBinaryToBinary(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraIMAGEN], result.Stream);
+ BlobVariantToBinary(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraIMAGEN], result.Stream);
end;
function TArticulosParaCompraBusinessProcessorRules.GetOldIMAGENIsNull: Boolean;
diff --git a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm
index 127e71b0..48cc0399 100644
--- a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm
+++ b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm
@@ -271,6 +271,10 @@ object srvArticulos: TsrvArticulos
item
DatasetField = 'PRECIO_PVP_TOTAL'
TableField = 'PRECIO_PVP_TOTAL'
+ end
+ item
+ DatasetField = 'FECHA_ACTUALIZACION'
+ TableField = 'FECHA_ACTUALIZACION'
end>
end>
Name = 'Articulos_Proveedores'
@@ -328,6 +332,10 @@ object srvArticulos: TsrvArticulos
Name = 'PRECIO_PVP_TOTAL'
DataType = datCurrency
ServerAutoRefresh = True
+ end
+ item
+ Name = 'FECHA_ACTUALIZACION'
+ DataType = datDateTime
end>
end
item
@@ -1104,38 +1112,53 @@ object srvArticulos: TsrvArticulos
end
item
Name = 'ID_ARTICULO'
+ DataType = datInteger
Value = ''
end
item
Name = 'ID_PROVEEDOR'
+ DataType = datInteger
Value = ''
end
item
Name = 'REFERENCIA_PROV'
+ DataType = datString
+ Size = 255
Value = ''
end
item
Name = 'PRECIO_COSTE'
+ DataType = datCurrency
Value = ''
end
item
Name = 'DESCUENTO'
+ DataType = datCurrency
Value = ''
end
item
Name = 'PRECIO_NETO'
+ DataType = datCurrency
Value = ''
end
item
Name = 'PRECIO_PORTE'
+ DataType = datCurrency
Value = ''
end
item
Name = 'PRECIO_PVP_VENTA'
+ DataType = datCurrency
Value = ''
end
item
Name = 'PRECIO_PVP_TOTAL'
+ DataType = datCurrency
+ Value = ''
+ end
+ item
+ Name = 'FECHA_ACTUALIZACION'
+ DataType = datDateTime
Value = ''
end>
Statements = <
@@ -1147,10 +1170,11 @@ object srvArticulos: TsrvArticulos
SQL =
'INSERT'#10' INTO ARTICULOS_PROVEEDORES'#10' (ID, ID_ARTICULO, ID_PRO' +
'VEEDOR, REFERENCIA_PROV, PRECIO_COSTE, '#10' DESCUENTO, PRECIO_N' +
- 'ETO, PRECIO_PORTE, PRECIO_PVP_VENTA, PRECIO_PVP_TOTAL)'#10' VALUES'#10 +
- ' (:ID, :ID_ARTICULO, :ID_PROVEEDOR, :REFERENCIA_PROV, '#10' :' +
- 'PRECIO_COSTE, :DESCUENTO, :PRECIO_NETO, :PRECIO_PORTE, '#10' :PR' +
- 'ECIO_PVP_VENTA, :PRECIO_PVP_TOTAL)'#10
+ 'ETO, PRECIO_PORTE, PRECIO_PVP_VENTA, PRECIO_PVP_TOTAL,'#10' FECH' +
+ 'A_ACTUALIZACION)'#10' VALUES'#10' (:ID, :ID_ARTICULO, :ID_PROVEEDOR,' +
+ ' :REFERENCIA_PROV, '#10' :PRECIO_COSTE, :DESCUENTO, :PRECIO_NETO' +
+ ', :PRECIO_PORTE, '#10' :PRECIO_PVP_VENTA, :PRECIO_PVP_TOTAL, :FE' +
+ 'CHA_ACTUALIZACION)'#10
StatementType = stSQL
ColumnMappings = <>
end>
@@ -1181,38 +1205,53 @@ object srvArticulos: TsrvArticulos
Params = <
item
Name = 'ID_ARTICULO'
+ DataType = datInteger
Value = ''
end
item
Name = 'ID_PROVEEDOR'
+ DataType = datInteger
Value = ''
end
item
Name = 'REFERENCIA_PROV'
+ DataType = datString
+ Size = 255
Value = ''
end
item
Name = 'PRECIO_COSTE'
+ DataType = datCurrency
Value = ''
end
item
Name = 'DESCUENTO'
+ DataType = datCurrency
Value = ''
end
item
Name = 'PRECIO_NETO'
+ DataType = datCurrency
Value = ''
end
item
Name = 'PRECIO_PORTE'
+ DataType = datCurrency
Value = ''
end
item
Name = 'PRECIO_PVP_VENTA'
+ DataType = datCurrency
Value = ''
end
item
Name = 'PRECIO_PVP_TOTAL'
+ DataType = datCurrency
+ Value = ''
+ end
+ item
+ Name = 'FECHA_ACTUALIZACION'
+ DataType = datDateTime
Value = ''
end
item
@@ -1231,8 +1270,8 @@ object srvArticulos: TsrvArticulos
'FERENCIA_PROV, '#10' PRECIO_COSTE = :PRECIO_COSTE, '#10' DESCUENTO' +
' = :DESCUENTO, '#10' PRECIO_NETO = :PRECIO_NETO, '#10' PRECIO_PORT' +
'E = :PRECIO_PORTE, '#10' PRECIO_PVP_VENTA = :PRECIO_PVP_VENTA, '#10' ' +
- ' PRECIO_PVP_TOTAL = :PRECIO_PVP_TOTAL'#10' WHERE'#10' (ID = :OLD_I' +
- 'D)'#10
+ ' PRECIO_PVP_TOTAL = :PRECIO_PVP_TOTAL,'#10' FECHA_ACTUALIZACION' +
+ ' = :FECHA_ACTUALIZACION'#10' WHERE'#10' (ID = :OLD_ID)'#10
StatementType = stSQL
ColumnMappings = <>
end>
diff --git a/Source/Modulos/Articulos/Views/uViewArticulosProveedores.dfm b/Source/Modulos/Articulos/Views/uViewArticulosProveedores.dfm
index b608632e..f5fd9df8 100644
--- a/Source/Modulos/Articulos/Views/uViewArticulosProveedores.dfm
+++ b/Source/Modulos/Articulos/Views/uViewArticulosProveedores.dfm
@@ -38,6 +38,11 @@ inherited frViewArticulosProveedores: TfrViewArticulosProveedores
Caption = 'Ref. proveedor'
DataBinding.FieldName = 'REFERENCIA_PROV'
end
+ object cxGridViewFECHA_ACTUALIZACION: TcxGridDBColumn
+ Caption = 'Fecha '#250'ltima actualizaci'#243'n'
+ DataBinding.FieldName = 'FECHA_ACTUALIZACION'
+ PropertiesClassName = 'TcxDateEditProperties'
+ end
object cxGridViewPRECIO_COSTE: TcxGridDBColumn
Caption = 'Precio material'
DataBinding.FieldName = 'PRECIO_COSTE'
diff --git a/Source/Modulos/Articulos/Views/uViewArticulosProveedores.pas b/Source/Modulos/Articulos/Views/uViewArticulosProveedores.pas
index 7147b1c9..591eb742 100644
--- a/Source/Modulos/Articulos/Views/uViewArticulosProveedores.pas
+++ b/Source/Modulos/Articulos/Views/uViewArticulosProveedores.pas
@@ -11,7 +11,7 @@ uses
cxControls, cxGridCustomView, cxGrid, cxDBLookupComboBox, cxSpinEdit,
uBizContactos, uProveedoresController, uDAInterfaces,
uBizArticulos, uArticulosController,
- cxTextEdit;
+ cxTextEdit, cxCalendar;
type
IViewArticulosProveedores = interface(IViewBase)
@@ -37,6 +37,7 @@ type
cxGridViewPRECIO_PVP_TOTAL: TcxGridDBColumn;
cxGridViewID_PROVEEDOR: TcxGridDBColumn;
cxGridViewID_ARTICULO: TcxGridDBColumn;
+ cxGridViewFECHA_ACTUALIZACION: TcxGridDBColumn;
procedure cxGridViewPROVEEDORPropertiesEditValueChanged(Sender: TObject);
procedure CustomViewShow(Sender: TObject);
protected
diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr
index a0a73b2c..facbd158 100644
--- a/Source/Servidor/FactuGES_Server.dpr
+++ b/Source/Servidor/FactuGES_Server.dpr
@@ -97,8 +97,6 @@ uses
uBizEmpresasServer in '..\ApplicationBase\Empresas\Model\uBizEmpresasServer.pas',
schAlmacenesClient_Intf in '..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas',
schAlmacenesServer_Intf in '..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas',
- schArticulosClient_Intf in '..\Modulos\Articulos\Model\schArticulosClient_Intf.pas',
- schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas',
uRptPresupuestosCliente_Server in '..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas' {RptPresupuestosCliente: TDataModule},
uRptWordPresupuestoCliente in '..\Modulos\Presupuestos de cliente\Reports\uRptWordPresupuestoCliente.pas' {RptWordPresupuestoCliente: TDataModule},
srvGestorDocumentos_Impl in '..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas' {srvGestorDocumentos: TDataAbstractService},
@@ -135,7 +133,9 @@ uses
schEmpresasClient_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas',
schEmpresasServer_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas',
schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas',
- schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas';
+ schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_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 5618a109..388e5440 100644
--- a/Source/Servidor/FactuGES_Server.dproj
+++ b/Source/Servidor/FactuGES_Server.dproj
@@ -36,7 +36,6 @@
FalseTrueFalse/standaloneTrueFalse1880FalseFalseFalseFalseFalse308212521.8.8.01.8.8.0miƩrcoles, 19 de enero de 2011 18:10
-
ExpressPrinting System by Developer Express Inc.
FactuGES_Server.dpr