diff --git a/Build/Build.fbpInf b/Build/Build.fbpInf
index 2a3bdc4a..36e7b215 100644
--- a/Build/Build.fbpInf
+++ b/Build/Build.fbpInf
@@ -14,8 +14,8 @@
- 00:00:00
- 30/12/1899
+ 00:03:10
+ 11/04/2012 12:05:34
True
diff --git a/Build/Build.fbz6 b/Build/Build.fbz6
index 07fa0948..56f97843 100644
Binary files a/Build/Build.fbz6 and b/Build/Build.fbz6 differ
diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql
index 59cee29a..f9813da8 100644
--- a/Database/scripts/factuges.sql
+++ b/Database/scripts/factuges.sql
@@ -570,6 +570,7 @@ CREATE TABLE ARTICULOS (
DESCUENTO TIPO_PORCENTAJE,
PRECIO_NETO TIPO_IMPORTE,
PRECIO_PORTE TIPO_IMPORTE,
+ PRECIO_PVP TIPO_IMPORTE,
FECHA_ALTA TIMESTAMP,
FECHA_MODIFICACION TIMESTAMP,
USUARIO TIPO_USUARIO,
@@ -1824,6 +1825,7 @@ CREATE VIEW V_ARTICULOS(
PRECIO_PORTE,
DESCUENTO,
PRECIO_NETO,
+ PRECIO_PVP,
INVENTARIABLE,
ID_PROVEEDOR,
NOMBRE_PROVEEDOR,
@@ -1837,6 +1839,7 @@ SELECT ARTICULOS.ID, ARTICULOS.ID_EMPRESA, ARTICULOS.REFERENCIA, ARTICULOS.DESCR
ARTICULOS.PRECIO_PORTE,
ARTICULOS.DESCUENTO,
ARTICULOS.PRECIO_NETO,
+ ARTICULOS.PRECIO_PVP,
ARTICULOS.INVENTARIABLE,
ARTICULOS.ID_PROVEEDOR,
CONTACTOS.NOMBRE AS NOMBRE_PROVEEDOR,
diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj
index 426db58c..ec64903e 100644
--- a/Source/Base/Base.dproj
+++ b/Source/Base/Base.dproj
@@ -58,55 +58,55 @@
MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
TForm
diff --git a/Source/Base/Base.res b/Source/Base/Base.res
index 8b251f31..1641339f 100644
Binary files a/Source/Base/Base.res and b/Source/Base/Base.res differ
diff --git a/Source/FactuGES.inc b/Source/FactuGES.inc
index 72603a0d..bf434910 100644
--- a/Source/FactuGES.inc
+++ b/Source/FactuGES.inc
@@ -1,4 +1,4 @@
{$DEFINE MULTIEMPRESA}
-{DEFINE ALMACEN}
+{$DEFINE ALMACEN}
{DEFINE PEDIDOSPROVEEDOR}
{$DEFINE CONTABILIDAD}
\ No newline at end of file
diff --git a/Source/GUIBase/GUIBase.dproj b/Source/GUIBase/GUIBase.dproj
index f44e3be7..e1b15b8e 100644
--- a/Source/GUIBase/GUIBase.dproj
+++ b/Source/GUIBase/GUIBase.dproj
@@ -58,34 +58,34 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj b/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj
index 2451b83c..6480e68e 100644
--- a/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj
+++ b/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj
@@ -12,6 +12,7 @@
+
@@ -141,14 +142,23 @@
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
\ No newline at end of file
diff --git a/Source/Modulos/Albaranes de cliente/Controller/uDetallesAlbaranClienteController.pas b/Source/Modulos/Albaranes de cliente/Controller/uDetallesAlbaranClienteController.pas
index f9dc9107..1d17cd80 100644
--- a/Source/Modulos/Albaranes de cliente/Controller/uDetallesAlbaranClienteController.pas
+++ b/Source/Modulos/Albaranes de cliente/Controller/uDetallesAlbaranClienteController.pas
@@ -149,8 +149,9 @@ end;
procedure TDetallesAlbaranClienteController.RellenarImportes(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
begin
+//Para acana el importa a cargar en la lista será siempre el precio PVP
if Assigned(AArticulos) then
- ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := AArticulos.PRECIO_COSTE
+ ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := AArticulos.PRECIO_PVP
else
ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null;
end;
diff --git a/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.dfm b/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.dfm
index 82ceb37b..3109609c 100644
--- a/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.dfm
+++ b/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.dfm
@@ -1,26 +1,28 @@
inherited frViewElegirArticulosAlbaranesCliente: TfrViewElegirArticulosAlbaranesCliente
- inherited cxGrid: TcxGrid
- inherited cxGridView: TcxGridDBTableView
- inherited cxGridViewPRECIO_NETO: TcxGridDBColumn
- Visible = False
- end
- inherited cxGridViewPRECIO_PORTE: TcxGridDBColumn
- Visible = False
- end
- end
- end
inherited frViewFiltroBase1: TfrViewFiltroBase
- inherited TBXDockablePanel1: TTBXDockablePanel
+ inherited TBXDockablePanel1: TTBXDockablePanel
inherited dxLayoutControl1: TdxLayoutControl
inherited txtFiltroTodo: TcxTextEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 273
Width = 273
end
inherited edtFechaIniFiltro: TcxDateEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 121
Width = 121
end
inherited edtFechaFinFiltro: TcxDateEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 121
Width = 121
end
diff --git a/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.pas b/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.pas
index 8bbb1964..e9bb88cc 100644
Binary files a/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.pas and b/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.pas differ
diff --git a/Source/Modulos/Articulos/Articulos_Group.groupproj b/Source/Modulos/Articulos/Articulos_Group.groupproj
index 3f402ca4..ae024535 100644
--- a/Source/Modulos/Articulos/Articulos_Group.groupproj
+++ b/Source/Modulos/Articulos/Articulos_Group.groupproj
@@ -9,6 +9,7 @@
+
@@ -48,6 +49,15 @@
+
+
+
+
+
+
+
+
+
@@ -112,13 +122,13 @@
-
+
-
+
-
+
\ No newline at end of file
diff --git a/Source/Modulos/Articulos/Controller/uArticulosController.pas b/Source/Modulos/Articulos/Controller/uArticulosController.pas
index 6be3eb06..c4b0d127 100644
--- a/Source/Modulos/Articulos/Controller/uArticulosController.pas
+++ b/Source/Modulos/Articulos/Controller/uArticulosController.pas
@@ -4,7 +4,7 @@ interface
uses
- Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem,
+ Classes, uDADataTable, uControllerBase, uEditorDBItem,
uIDataModuleArticulos, uBizArticulos, uProveedoresController,
uBizContactos;
@@ -41,6 +41,10 @@ type
function GetProveedoresController: IProveedoresController;
property ProveedoresController: IProveedoresController read GetProveedoresController;
+
+ procedure QuitarImagen(AArticulo : IBizArticulo);
+ procedure PonerImagen(AArticulo : IBizArticulo; const AFileName: String);
+ function SalvarImagen(AArticulo : IBizArticulo): Boolean;
end;
TArticulosController = class(TControllerBase, IArticulosController)
@@ -67,7 +71,7 @@ type
function Eliminar(const ID : Integer): Boolean; overload;
function Eliminar(AArticulo : IBizArticulo): Boolean; overload;
- function Guardar(AArticulo : IBizArticulo): Boolean;
+ function Guardar(AArticulo : IBizArticulo): Boolean;
procedure DescartarCambios(AArticulo : IBizArticulo); virtual;
function Existe(const ID: Integer) : Boolean; virtual;
procedure Anadir(AArticulo : IBizArticulo); virtual;
@@ -92,15 +96,19 @@ type
procedure ElegirProveedor(AArticulo : IBizArticulo);
procedure AnadirProveedor(AArticulo : IBizArticulo);
procedure VerProveedor(AArticulo : IBizArticulo);
+
+ procedure QuitarImagen(AArticulo : IBizArticulo);
+ procedure PonerImagen(AArticulo : IBizArticulo; const AFileName: String);
+ function SalvarImagen(AArticulo : IBizArticulo): Boolean;
end;
implementation
uses
- cxControls, DB, uEditorRegistryUtils, schArticulosClient_Intf, uFactuGES_App,
- uIEditorArticulos, uIEditorArticulo, uIEditorElegirArticulos,
+ SysUtils, cxControls, uDataTableUtils, DB, uEditorRegistryUtils, schArticulosClient_Intf, uFactuGES_App,
+ uIEditorArticulos, uIEditorArticulo, uIEditorElegirArticulos, uSistemaFunc,
uDataModuleArticulos, uDataModuleUsuarios, uDAInterfaces,
- uDataTableUtils, uDateUtils, uROTypes, DateUtils, Controls, Windows;
+ uDateUtils, uROTypes, DateUtils, Controls, Windows;
{ TArticulosController }
@@ -537,6 +545,21 @@ begin
//
end;
+function TArticulosController.SalvarImagen(AArticulo: IBizArticulo): Boolean;
+var
+ aAux : String;
+begin
+ if not AArticulo.HayImagen then
+ Result := FDataModule.EliminarImagen(AArticulo.ID)
+ else
+ begin
+ aAux := DarFicheroJPGTemporal;
+ AArticulo.DataTable.FieldByName(fld_ArticulosIMAGEN).SaveToFile(aAux);
+ if FDataModule.AnadirImagen(AArticulo.ID, aAux) then
+ SysUtils.DeleteFile(aAux);
+ end;
+end;
+
function TArticulosController.Existe(const ID: Integer): Boolean;
var
AArticulo : IBizArticulo;
@@ -594,7 +617,7 @@ begin
ShowHourglassCursor;
try
AArticulo.DataTable.ApplyUpdates;
-
+ SalvarImagen(AArticulo);
Result := True;
finally
HideHourglassCursor;
@@ -613,6 +636,19 @@ begin
Result := AArticulo;
end;
+procedure TArticulosController.PonerImagen(AArticulo: IBizArticulo; const AFileName: String);
+begin
+ if FileExists(AFileName) then
+ begin
+ DesconectarTabla(AArticulo.DataTable);
+ if not AArticulo.DataTable.Editing then
+ AArticulo.Edit;
+ AArticulo.DataTable.FieldByName(fld_ArticulosIMAGEN).LoadFromFile(AFileName);
+ AArticulo.Post;
+ ConectarTabla(AArticulo.DataTable);
+ end;
+end;
+
procedure TArticulosController.Preview(AArticulo: IBizArticulo);
//var
// AReportController : IArticulosReportController;
@@ -639,4 +675,14 @@ begin
}
end;
+procedure TArticulosController.QuitarImagen(AArticulo : IBizArticulo);
+begin
+ DesconectarTabla(AArticulo.DataTable);
+ if not AArticulo.DataTable.Editing then
+ AArticulo.Edit;
+ AArticulo.IMAGENIsNull := True;
+ AArticulo.Post;
+ ConectarTabla(AArticulo.DataTable);
+end;
+
end.
diff --git a/Source/Modulos/Articulos/Data/Articulos_data.dproj b/Source/Modulos/Articulos/Data/Articulos_data.dproj
index 126ef528..6f5c6a79 100644
--- a/Source/Modulos/Articulos/Data/Articulos_data.dproj
+++ b/Source/Modulos/Articulos/Data/Articulos_data.dproj
@@ -54,7 +54,7 @@
MainSource
-
+
diff --git a/Source/Modulos/Articulos/Data/uDataModuleArticulos.dfm b/Source/Modulos/Articulos/Data/uDataModuleArticulos.dfm
index edf41a27..f94095a1 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
@@ -64,8 +64,8 @@ inherited DataModuleArticulos: TDataModuleArticulos
item
Name = 'IMAGEN'
DataType = datBlob
+ BlobType = dabtGraphic
DisplayLabel = 'Foto'
- DictionaryEntry = 'Articulos_IMAGEN'
end
item
Name = 'COMISIONABLE'
@@ -119,6 +119,10 @@ inherited DataModuleArticulos: TDataModuleArticulos
DataType = datCurrency
DictionaryEntry = 'Articulos_PRECIO_NETO'
end
+ item
+ Name = 'PRECIO_PVP'
+ DataType = datCurrency
+ end
item
Name = 'INVENTARIABLE'
DataType = datSmallInt
@@ -143,8 +147,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
@@ -225,6 +227,10 @@ inherited DataModuleArticulos: TDataModuleArticulos
Name = 'PRECIO_NETO'
DataType = datCurrency
end
+ item
+ Name = 'PRECIO_PVP'
+ DataType = datCurrency
+ end
item
Name = 'INVENTARIABLE'
DataType = datSmallInt
@@ -251,8 +257,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 = 'ArticulosParaCliente'
IndexDefs = <>
Left = 400
diff --git a/Source/Modulos/Articulos/Data/uDataModuleArticulos.pas b/Source/Modulos/Articulos/Data/uDataModuleArticulos.pas
index b7ac930d..1c10c47e 100644
--- a/Source/Modulos/Articulos/Data/uDataModuleArticulos.pas
+++ b/Source/Modulos/Articulos/Data/uDataModuleArticulos.pas
@@ -29,6 +29,8 @@ type
function GetItems (IDCliente: Integer) : IBizArticulo; overload;
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;
end;
implementation
@@ -41,6 +43,11 @@ uses
{ TdmArticulos }
+function TDataModuleArticulos.AnadirImagen(const ID: Integer; const AFileName: String): Boolean;
+begin
+ Result := (RORemoteService as IsrvArticulos).AnadirImagen(ID, AFileName);
+end;
+
procedure TDataModuleArticulos.AsignarClaseNegocio(AArticulo: TDADataTable);
begin
AArticulo.BusinessRulesID := BIZ_CLIENT_ARTICULO;
@@ -52,6 +59,11 @@ begin
RORemoteService.Message := dmConexion.Message;
end;
+function TDataModuleArticulos.EliminarImagen(const ID: Integer): Boolean;
+begin
+ Result := (RORemoteService as IsrvArticulos).EliminarImagen(ID);
+end;
+
function TDataModuleArticulos.NewItem: IBizArticulo;
begin
Result := GetItem(ID_NULO)
diff --git a/Source/Modulos/Articulos/Model/Articulos_model.RES b/Source/Modulos/Articulos/Model/Articulos_model.RES
index 8b251f31..1641339f 100644
Binary files a/Source/Modulos/Articulos/Model/Articulos_model.RES and b/Source/Modulos/Articulos/Model/Articulos_model.RES differ
diff --git a/Source/Modulos/Articulos/Model/Articulos_model.dproj b/Source/Modulos/Articulos/Model/Articulos_model.dproj
index a28e6795..cb1ddfab 100644
--- a/Source/Modulos/Articulos/Model/Articulos_model.dproj
+++ b/Source/Modulos/Articulos/Model/Articulos_model.dproj
@@ -54,8 +54,8 @@
MainSource
-
-
+
+
diff --git a/Source/Modulos/Articulos/Model/Data/uIDataModuleArticulos.pas b/Source/Modulos/Articulos/Model/Data/uIDataModuleArticulos.pas
index dc6976eb..7789526e 100644
--- a/Source/Modulos/Articulos/Model/Data/uIDataModuleArticulos.pas
+++ b/Source/Modulos/Articulos/Model/Data/uIDataModuleArticulos.pas
@@ -12,6 +12,8 @@ type
function GetItems (IDCliente: Integer) : IBizArticulo; overload;
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;
end;
implementation
diff --git a/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas b/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas
index cce2efba..c829ea7c 100644
--- a/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas
+++ b/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas
@@ -3,14 +3,14 @@ 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_Articulos = '{9F6189A0-1B2F-4ED3-8DCC-540C38366485}';
- RID_ArticulosParaCliente = '{84BC0DB1-97F7-438D-B161-7564778ED6D8}';
+ RID_Articulos = '{F53C14ED-C343-42D8-8A25-6BB3A141FD22}';
+ RID_ArticulosParaCliente = '{B1D54489-E268-483E-AF01-6E441FBF6DC0}';
{ Data table names }
nme_Articulos = 'Articulos';
@@ -32,6 +32,7 @@ const
fld_ArticulosPRECIO_PORTE = 'PRECIO_PORTE';
fld_ArticulosDESCUENTO = 'DESCUENTO';
fld_ArticulosPRECIO_NETO = 'PRECIO_NETO';
+ fld_ArticulosPRECIO_PVP = 'PRECIO_PVP';
fld_ArticulosINVENTARIABLE = 'INVENTARIABLE';
fld_ArticulosID_PROVEEDOR = 'ID_PROVEEDOR';
fld_ArticulosNOMBRE_PROVEEDOR = 'NOMBRE_PROVEEDOR';
@@ -53,10 +54,11 @@ const
idx_ArticulosPRECIO_PORTE = 12;
idx_ArticulosDESCUENTO = 13;
idx_ArticulosPRECIO_NETO = 14;
- idx_ArticulosINVENTARIABLE = 15;
- idx_ArticulosID_PROVEEDOR = 16;
- idx_ArticulosNOMBRE_PROVEEDOR = 17;
- idx_ArticulosELIMINADO = 18;
+ idx_ArticulosPRECIO_PVP = 15;
+ idx_ArticulosINVENTARIABLE = 16;
+ idx_ArticulosID_PROVEEDOR = 17;
+ idx_ArticulosNOMBRE_PROVEEDOR = 18;
+ idx_ArticulosELIMINADO = 19;
{ ArticulosParaCliente fields }
fld_ArticulosParaClienteID = 'ID';
@@ -74,6 +76,7 @@ const
fld_ArticulosParaClientePRECIO_PORTE = 'PRECIO_PORTE';
fld_ArticulosParaClienteDESCUENTO = 'DESCUENTO';
fld_ArticulosParaClientePRECIO_NETO = 'PRECIO_NETO';
+ fld_ArticulosParaClientePRECIO_PVP = 'PRECIO_PVP';
fld_ArticulosParaClienteINVENTARIABLE = 'INVENTARIABLE';
fld_ArticulosParaClienteID_PROVEEDOR = 'ID_PROVEEDOR';
fld_ArticulosParaClienteNOMBRE_PROVEEDOR = 'NOMBRE_PROVEEDOR';
@@ -95,15 +98,16 @@ const
idx_ArticulosParaClientePRECIO_PORTE = 12;
idx_ArticulosParaClienteDESCUENTO = 13;
idx_ArticulosParaClientePRECIO_NETO = 14;
- idx_ArticulosParaClienteINVENTARIABLE = 15;
- idx_ArticulosParaClienteID_PROVEEDOR = 16;
- idx_ArticulosParaClienteNOMBRE_PROVEEDOR = 17;
- idx_ArticulosParaClienteELIMINADO = 18;
+ idx_ArticulosParaClientePRECIO_PVP = 15;
+ idx_ArticulosParaClienteINVENTARIABLE = 16;
+ idx_ArticulosParaClienteID_PROVEEDOR = 17;
+ idx_ArticulosParaClienteNOMBRE_PROVEEDOR = 18;
+ idx_ArticulosParaClienteELIMINADO = 19;
type
{ IArticulos }
IArticulos = interface(IDAStronglyTypedDataTable)
- ['{55AA5752-BC15-4FD7-A39A-97867A837A69}']
+ ['{7AB1F398-443E-4F30-BBD4-AA8BD49A1C0B}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -164,6 +168,10 @@ type
procedure SetPRECIO_NETOValue(const aValue: Currency);
function GetPRECIO_NETOIsNull: Boolean;
procedure SetPRECIO_NETOIsNull(const aValue: Boolean);
+ function GetPRECIO_PVPValue: Currency;
+ procedure SetPRECIO_PVPValue(const aValue: Currency);
+ function GetPRECIO_PVPIsNull: Boolean;
+ procedure SetPRECIO_PVPIsNull(const aValue: Boolean);
function GetINVENTARIABLEValue: SmallInt;
procedure SetINVENTARIABLEValue(const aValue: SmallInt);
function GetINVENTARIABLEIsNull: Boolean;
@@ -213,6 +221,8 @@ type
property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
property PRECIO_NETO: Currency read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
property PRECIO_NETOIsNull: Boolean read GetPRECIO_NETOIsNull write SetPRECIO_NETOIsNull;
+ property PRECIO_PVP: Currency read GetPRECIO_PVPValue write SetPRECIO_PVPValue;
+ property PRECIO_PVPIsNull: Boolean read GetPRECIO_PVPIsNull write SetPRECIO_PVPIsNull;
property INVENTARIABLE: SmallInt read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
property INVENTARIABLEIsNull: Boolean read GetINVENTARIABLEIsNull write SetINVENTARIABLEIsNull;
property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
@@ -224,7 +234,7 @@ type
end;
{ TArticulosDataTableRules }
- TArticulosDataTableRules = class(TIntfObjectDADataTableRules, IArticulos)
+ TArticulosDataTableRules = class(TDADataTableRules, IArticulos)
private
f_IMAGEN: IROStream;
procedure IMAGEN_OnChange(Sender: TObject);
@@ -289,6 +299,10 @@ type
procedure SetPRECIO_NETOValue(const aValue: Currency); virtual;
function GetPRECIO_NETOIsNull: Boolean; virtual;
procedure SetPRECIO_NETOIsNull(const aValue: Boolean); virtual;
+ function GetPRECIO_PVPValue: Currency; virtual;
+ procedure SetPRECIO_PVPValue(const aValue: Currency); virtual;
+ function GetPRECIO_PVPIsNull: Boolean; virtual;
+ procedure SetPRECIO_PVPIsNull(const aValue: Boolean); virtual;
function GetINVENTARIABLEValue: SmallInt; virtual;
procedure SetINVENTARIABLEValue(const aValue: SmallInt); virtual;
function GetINVENTARIABLEIsNull: Boolean; virtual;
@@ -337,6 +351,8 @@ type
property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
property PRECIO_NETO: Currency read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
property PRECIO_NETOIsNull: Boolean read GetPRECIO_NETOIsNull write SetPRECIO_NETOIsNull;
+ property PRECIO_PVP: Currency read GetPRECIO_PVPValue write SetPRECIO_PVPValue;
+ property PRECIO_PVPIsNull: Boolean read GetPRECIO_PVPIsNull write SetPRECIO_PVPIsNull;
property INVENTARIABLE: SmallInt read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
property INVENTARIABLEIsNull: Boolean read GetINVENTARIABLEIsNull write SetINVENTARIABLEIsNull;
property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
@@ -354,7 +370,7 @@ type
{ IArticulosParaCliente }
IArticulosParaCliente = interface(IDAStronglyTypedDataTable)
- ['{F46994FF-67BE-4892-BE35-890D5A779CB9}']
+ ['{358932C8-FF5E-41C2-B0C9-A4C7423A57B8}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -415,6 +431,10 @@ type
procedure SetPRECIO_NETOValue(const aValue: Currency);
function GetPRECIO_NETOIsNull: Boolean;
procedure SetPRECIO_NETOIsNull(const aValue: Boolean);
+ function GetPRECIO_PVPValue: Currency;
+ procedure SetPRECIO_PVPValue(const aValue: Currency);
+ function GetPRECIO_PVPIsNull: Boolean;
+ procedure SetPRECIO_PVPIsNull(const aValue: Boolean);
function GetINVENTARIABLEValue: SmallInt;
procedure SetINVENTARIABLEValue(const aValue: SmallInt);
function GetINVENTARIABLEIsNull: Boolean;
@@ -464,6 +484,8 @@ type
property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
property PRECIO_NETO: Currency read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
property PRECIO_NETOIsNull: Boolean read GetPRECIO_NETOIsNull write SetPRECIO_NETOIsNull;
+ property PRECIO_PVP: Currency read GetPRECIO_PVPValue write SetPRECIO_PVPValue;
+ property PRECIO_PVPIsNull: Boolean read GetPRECIO_PVPIsNull write SetPRECIO_PVPIsNull;
property INVENTARIABLE: SmallInt read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
property INVENTARIABLEIsNull: Boolean read GetINVENTARIABLEIsNull write SetINVENTARIABLEIsNull;
property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
@@ -475,7 +497,7 @@ type
end;
{ TArticulosParaClienteDataTableRules }
- TArticulosParaClienteDataTableRules = class(TIntfObjectDADataTableRules, IArticulosParaCliente)
+ TArticulosParaClienteDataTableRules = class(TDADataTableRules, IArticulosParaCliente)
private
f_IMAGEN: IROStream;
procedure IMAGEN_OnChange(Sender: TObject);
@@ -540,6 +562,10 @@ type
procedure SetPRECIO_NETOValue(const aValue: Currency); virtual;
function GetPRECIO_NETOIsNull: Boolean; virtual;
procedure SetPRECIO_NETOIsNull(const aValue: Boolean); virtual;
+ function GetPRECIO_PVPValue: Currency; virtual;
+ procedure SetPRECIO_PVPValue(const aValue: Currency); virtual;
+ function GetPRECIO_PVPIsNull: Boolean; virtual;
+ procedure SetPRECIO_PVPIsNull(const aValue: Boolean); virtual;
function GetINVENTARIABLEValue: SmallInt; virtual;
procedure SetINVENTARIABLEValue(const aValue: SmallInt); virtual;
function GetINVENTARIABLEIsNull: Boolean; virtual;
@@ -588,6 +614,8 @@ type
property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
property PRECIO_NETO: Currency read GetPRECIO_NETOValue write SetPRECIO_NETOValue;
property PRECIO_NETOIsNull: Boolean read GetPRECIO_NETOIsNull write SetPRECIO_NETOIsNull;
+ property PRECIO_PVP: Currency read GetPRECIO_PVPValue write SetPRECIO_PVPValue;
+ property PRECIO_PVPIsNull: Boolean read GetPRECIO_PVPIsNull write SetPRECIO_PVPIsNull;
property INVENTARIABLE: SmallInt read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
property INVENTARIABLEIsNull: Boolean read GetINVENTARIABLEIsNull write SetINVENTARIABLEIsNull;
property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue;
@@ -944,6 +972,27 @@ begin
DataTable.Fields[idx_ArticulosPRECIO_NETO].AsVariant := Null;
end;
+function TArticulosDataTableRules.GetPRECIO_PVPValue: Currency;
+begin
+ result := DataTable.Fields[idx_ArticulosPRECIO_PVP].AsCurrency;
+end;
+
+procedure TArticulosDataTableRules.SetPRECIO_PVPValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_ArticulosPRECIO_PVP].AsCurrency := aValue;
+end;
+
+function TArticulosDataTableRules.GetPRECIO_PVPIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_ArticulosPRECIO_PVP].IsNull;
+end;
+
+procedure TArticulosDataTableRules.SetPRECIO_PVPIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_ArticulosPRECIO_PVP].AsVariant := Null;
+end;
+
function TArticulosDataTableRules.GetINVENTARIABLEValue: SmallInt;
begin
result := DataTable.Fields[idx_ArticulosINVENTARIABLE].AsSmallInt;
@@ -1366,6 +1415,27 @@ begin
DataTable.Fields[idx_ArticulosParaClientePRECIO_NETO].AsVariant := Null;
end;
+function TArticulosParaClienteDataTableRules.GetPRECIO_PVPValue: Currency;
+begin
+ result := DataTable.Fields[idx_ArticulosParaClientePRECIO_PVP].AsCurrency;
+end;
+
+procedure TArticulosParaClienteDataTableRules.SetPRECIO_PVPValue(const aValue: Currency);
+begin
+ DataTable.Fields[idx_ArticulosParaClientePRECIO_PVP].AsCurrency := aValue;
+end;
+
+function TArticulosParaClienteDataTableRules.GetPRECIO_PVPIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_ArticulosParaClientePRECIO_PVP].IsNull;
+end;
+
+procedure TArticulosParaClienteDataTableRules.SetPRECIO_PVPIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_ArticulosParaClientePRECIO_PVP].AsVariant := Null;
+end;
+
function TArticulosParaClienteDataTableRules.GetINVENTARIABLEValue: SmallInt;
begin
result := DataTable.Fields[idx_ArticulosParaClienteINVENTARIABLE].AsSmallInt;
diff --git a/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas b/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas
index 34c79f0e..f9318e63 100644
--- a/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas
+++ b/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas
@@ -9,13 +9,13 @@ 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_ArticulosDelta = '{82298E75-82C9-4852-A33B-491F6C1C22B6}';
- RID_ArticulosParaClienteDelta = '{CD4567F1-5B6C-4215-BED9-48EC27CE653D}';
+ RID_ArticulosDelta = '{EF3BCE84-BF72-4D25-B5C4-02DC99E2C0B2}';
+ RID_ArticulosParaClienteDelta = '{E180507C-4070-490C-A07F-A5047BD0F477}';
type
{ IArticulosDelta }
IArticulosDelta = interface(IArticulos)
- ['{82298E75-82C9-4852-A33B-491F6C1C22B6}']
+ ['{EF3BCE84-BF72-4D25-B5C4-02DC99E2C0B2}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -32,6 +32,7 @@ type
function GetOldPRECIO_PORTEValue : Currency;
function GetOldDESCUENTOValue : Float;
function GetOldPRECIO_NETOValue : Currency;
+ function GetOldPRECIO_PVPValue : Currency;
function GetOldINVENTARIABLEValue : SmallInt;
function GetOldID_PROVEEDORValue : Integer;
function GetOldNOMBRE_PROVEEDORValue : String;
@@ -53,6 +54,7 @@ type
property OldPRECIO_PORTE : Currency read GetOldPRECIO_PORTEValue;
property OldDESCUENTO : Float read GetOldDESCUENTOValue;
property OldPRECIO_NETO : Currency read GetOldPRECIO_NETOValue;
+ property OldPRECIO_PVP : Currency read GetOldPRECIO_PVPValue;
property OldINVENTARIABLE : SmallInt read GetOldINVENTARIABLEValue;
property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue;
property OldNOMBRE_PROVEEDOR : String read GetOldNOMBRE_PROVEEDORValue;
@@ -155,6 +157,12 @@ type
function GetOldPRECIO_NETOIsNull: Boolean; virtual;
procedure SetPRECIO_NETOValue(const aValue: Currency); virtual;
procedure SetPRECIO_NETOIsNull(const aValue: Boolean); virtual;
+ function GetPRECIO_PVPValue: Currency; virtual;
+ function GetPRECIO_PVPIsNull: Boolean; virtual;
+ function GetOldPRECIO_PVPValue: Currency; virtual;
+ function GetOldPRECIO_PVPIsNull: Boolean; virtual;
+ procedure SetPRECIO_PVPValue(const aValue: Currency); virtual;
+ procedure SetPRECIO_PVPIsNull(const aValue: Boolean); virtual;
function GetINVENTARIABLEValue: SmallInt; virtual;
function GetINVENTARIABLEIsNull: Boolean; virtual;
function GetOldINVENTARIABLEValue: SmallInt; virtual;
@@ -241,6 +249,10 @@ type
property PRECIO_NETOIsNull : Boolean read GetPRECIO_NETOIsNull write SetPRECIO_NETOIsNull;
property OldPRECIO_NETO : Currency read GetOldPRECIO_NETOValue;
property OldPRECIO_NETOIsNull : Boolean read GetOldPRECIO_NETOIsNull;
+ property PRECIO_PVP : Currency read GetPRECIO_PVPValue write SetPRECIO_PVPValue;
+ property PRECIO_PVPIsNull : Boolean read GetPRECIO_PVPIsNull write SetPRECIO_PVPIsNull;
+ property OldPRECIO_PVP : Currency read GetOldPRECIO_PVPValue;
+ property OldPRECIO_PVPIsNull : Boolean read GetOldPRECIO_PVPIsNull;
property INVENTARIABLE : SmallInt read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
property INVENTARIABLEIsNull : Boolean read GetINVENTARIABLEIsNull write SetINVENTARIABLEIsNull;
property OldINVENTARIABLE : SmallInt read GetOldINVENTARIABLEValue;
@@ -266,7 +278,7 @@ type
{ IArticulosParaClienteDelta }
IArticulosParaClienteDelta = interface(IArticulosParaCliente)
- ['{CD4567F1-5B6C-4215-BED9-48EC27CE653D}']
+ ['{E180507C-4070-490C-A07F-A5047BD0F477}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -283,6 +295,7 @@ type
function GetOldPRECIO_PORTEValue : Currency;
function GetOldDESCUENTOValue : Float;
function GetOldPRECIO_NETOValue : Currency;
+ function GetOldPRECIO_PVPValue : Currency;
function GetOldINVENTARIABLEValue : SmallInt;
function GetOldID_PROVEEDORValue : Integer;
function GetOldNOMBRE_PROVEEDORValue : String;
@@ -304,6 +317,7 @@ type
property OldPRECIO_PORTE : Currency read GetOldPRECIO_PORTEValue;
property OldDESCUENTO : Float read GetOldDESCUENTOValue;
property OldPRECIO_NETO : Currency read GetOldPRECIO_NETOValue;
+ property OldPRECIO_PVP : Currency read GetOldPRECIO_PVPValue;
property OldINVENTARIABLE : SmallInt read GetOldINVENTARIABLEValue;
property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue;
property OldNOMBRE_PROVEEDOR : String read GetOldNOMBRE_PROVEEDORValue;
@@ -406,6 +420,12 @@ type
function GetOldPRECIO_NETOIsNull: Boolean; virtual;
procedure SetPRECIO_NETOValue(const aValue: Currency); virtual;
procedure SetPRECIO_NETOIsNull(const aValue: Boolean); virtual;
+ function GetPRECIO_PVPValue: Currency; virtual;
+ function GetPRECIO_PVPIsNull: Boolean; virtual;
+ function GetOldPRECIO_PVPValue: Currency; virtual;
+ function GetOldPRECIO_PVPIsNull: Boolean; virtual;
+ procedure SetPRECIO_PVPValue(const aValue: Currency); virtual;
+ procedure SetPRECIO_PVPIsNull(const aValue: Boolean); virtual;
function GetINVENTARIABLEValue: SmallInt; virtual;
function GetINVENTARIABLEIsNull: Boolean; virtual;
function GetOldINVENTARIABLEValue: SmallInt; virtual;
@@ -492,6 +512,10 @@ type
property PRECIO_NETOIsNull : Boolean read GetPRECIO_NETOIsNull write SetPRECIO_NETOIsNull;
property OldPRECIO_NETO : Currency read GetOldPRECIO_NETOValue;
property OldPRECIO_NETOIsNull : Boolean read GetOldPRECIO_NETOIsNull;
+ property PRECIO_PVP : Currency read GetPRECIO_PVPValue write SetPRECIO_PVPValue;
+ property PRECIO_PVPIsNull : Boolean read GetPRECIO_PVPIsNull write SetPRECIO_PVPIsNull;
+ property OldPRECIO_PVP : Currency read GetOldPRECIO_PVPValue;
+ property OldPRECIO_PVPIsNull : Boolean read GetOldPRECIO_PVPIsNull;
property INVENTARIABLE : SmallInt read GetINVENTARIABLEValue write SetINVENTARIABLEValue;
property INVENTARIABLEIsNull : Boolean read GetINVENTARIABLEIsNull write SetINVENTARIABLEIsNull;
property OldINVENTARIABLE : SmallInt read GetOldINVENTARIABLEValue;
@@ -539,7 +563,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;
@@ -702,7 +726,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;
@@ -715,7 +739,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;
@@ -1008,6 +1032,37 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_NETO] := Null;
end;
+function TArticulosBusinessProcessorRules.GetPRECIO_PVPValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PVP];
+end;
+
+function TArticulosBusinessProcessorRules.GetPRECIO_PVPIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PVP]);
+end;
+
+function TArticulosBusinessProcessorRules.GetOldPRECIO_PVPValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPRECIO_PVP];
+end;
+
+function TArticulosBusinessProcessorRules.GetOldPRECIO_PVPIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosPRECIO_PVP]);
+end;
+
+procedure TArticulosBusinessProcessorRules.SetPRECIO_PVPValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PVP] := aValue;
+end;
+
+procedure TArticulosBusinessProcessorRules.SetPRECIO_PVPIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosPRECIO_PVP] := Null;
+end;
+
function TArticulosBusinessProcessorRules.GetINVENTARIABLEValue: SmallInt;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosINVENTARIABLE];
@@ -1152,7 +1207,7 @@ end;
procedure TArticulosParaClienteBusinessProcessorRules.IMAGEN_OnChange(Sender: TObject);
begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteIMAGEN] := VariantBinaryFromBinary((TROStream(Sender) as IROStream).Stream);
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteIMAGEN] := BinaryToBlobVariant((TROStream(Sender) as IROStream).Stream);
end;
function TArticulosParaClienteBusinessProcessorRules.GetIDValue: Integer;
@@ -1315,7 +1370,7 @@ begin
result := f_IMAGEN;
result.Position := 0;
if not Result.InUpdateMode then begin
- WriteVariantBinaryToBinary(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteIMAGEN], result.Stream);
+ BlobVariantToBinary(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteIMAGEN], result.Stream);
result.Position := 0;
end;
end;
@@ -1328,7 +1383,7 @@ end;
function TArticulosParaClienteBusinessProcessorRules.GetOldIMAGENValue: IROStream;
begin
result := NewROStream();
- WriteVariantBinaryToBinary(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteIMAGEN], result.Stream);
+ BlobVariantToBinary(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClienteIMAGEN], result.Stream);
end;
function TArticulosParaClienteBusinessProcessorRules.GetOldIMAGENIsNull: Boolean;
@@ -1621,6 +1676,37 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClientePRECIO_NETO] := Null;
end;
+function TArticulosParaClienteBusinessProcessorRules.GetPRECIO_PVPValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClientePRECIO_PVP];
+end;
+
+function TArticulosParaClienteBusinessProcessorRules.GetPRECIO_PVPIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClientePRECIO_PVP]);
+end;
+
+function TArticulosParaClienteBusinessProcessorRules.GetOldPRECIO_PVPValue: Currency;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClientePRECIO_PVP];
+end;
+
+function TArticulosParaClienteBusinessProcessorRules.GetOldPRECIO_PVPIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaClientePRECIO_PVP]);
+end;
+
+procedure TArticulosParaClienteBusinessProcessorRules.SetPRECIO_PVPValue(const aValue: Currency);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClientePRECIO_PVP] := aValue;
+end;
+
+procedure TArticulosParaClienteBusinessProcessorRules.SetPRECIO_PVPIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClientePRECIO_PVP] := Null;
+end;
+
function TArticulosParaClienteBusinessProcessorRules.GetINVENTARIABLEValue: SmallInt;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaClienteINVENTARIABLE];
diff --git a/Source/Modulos/Articulos/Model/uBizArticulos.pas b/Source/Modulos/Articulos/Model/uBizArticulos.pas
index 9ad2485f..015dd5d1 100644
--- a/Source/Modulos/Articulos/Model/uBizArticulos.pas
+++ b/Source/Modulos/Articulos/Model/uBizArticulos.pas
@@ -15,7 +15,7 @@ type
function HayImagen: Boolean;
procedure SalvarImagen(const AFileName: String);
procedure CargarImagen(const AFileName: String);
- procedure QuitarImagen;
+// procedure QuitarImagen;
end;
TBizArticulo = class(TArticulosDataTableRules, IBizArticulo, ISeleccionable)
@@ -23,11 +23,11 @@ type
FSeleccionableInterface : ISeleccionable;
procedure OnNewRecord(Sender: TDADataTable); override;
public
- procedure IniciarValoresArticuloNuevo; virtual;
+ procedure IniciarValoresArticuloNuevo; virtual;
function HayImagen: Boolean;
procedure SalvarImagen(const AFileName: String);
procedure CargarImagen(const AFileName: String);
- procedure QuitarImagen;
+// procedure QuitarImagen;
function EsNuevo : Boolean;
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
@@ -44,10 +44,10 @@ uses
procedure TBizArticulo.CargarImagen(const AFileName: String);
begin
-{ inherited;
+ inherited;
DataTable.Edit;
DataTable.FieldByName(fld_ArticulosIMAGEN).LoadFromFile(AFileName);
- DataTable.Post;}
+ DataTable.Post;
end;
constructor TBizArticulo.Create(aDataTable: TDADataTable);
@@ -68,11 +68,11 @@ begin
end;
function TBizArticulo.HayImagen: Boolean;
-{var
+var
AStream : TMemoryStream;
- AROStream : IROStream;}
+ AROStream : IROStream;
begin
-{ AStream := TMemoryStream.Create;
+ AStream := TMemoryStream.Create;
AROStream := TROStream.Create(AStream, False);
try
DataTable.FieldByName(fld_ArticulosIMAGEN).SaveToStream(AROStream);
@@ -80,7 +80,7 @@ begin
finally
AROStream := NIL;
FreeAndNIL(AStream);
- end;}
+ end;
end;
procedure TBizArticulo.IniciarValoresArticuloNuevo;
@@ -103,16 +103,16 @@ begin
IniciarValoresArticuloNuevo;
end;
-procedure TBizArticulo.QuitarImagen;
+{procedure TBizArticulo.QuitarImagen;
begin
-{ DataTable.Edit;
- DataTable.Fields[idx_ArticulosIMAGEN].Clear;
- DataTable.Post;}
-end;
+// DataTable.Edit;
+// DataTable.Fields[idx_ArticulosIMAGEN].Clear;
+// DataTable.Post;
+end;}
procedure TBizArticulo.SalvarImagen(const AFileName: String);
begin
-// DataTable.FieldByName(fld_ArticulosIMAGEN).SaveToFile(AFileName);
+ DataTable.FieldByName(fld_ArticulosIMAGEN).SaveToFile(AFileName);
end;
initialization
diff --git a/Source/Modulos/Articulos/Plugin/uPluginArticulos.dfm b/Source/Modulos/Articulos/Plugin/uPluginArticulos.dfm
index 4144b60d..3118cf1c 100644
--- a/Source/Modulos/Articulos/Plugin/uPluginArticulos.dfm
+++ b/Source/Modulos/Articulos/Plugin/uPluginArticulos.dfm
@@ -53,9 +53,9 @@ object PluginArticulos: TPluginArticulos
Left = 40
Top = 16
object N1: TMenuItem
- Caption = 'Log'#237'stica'
+ Caption = 'Datos'
object Articulos1: TMenuItem
- Tag = 101
+ Tag = 1000
Action = actArticulos
end
end
diff --git a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm
index 1ddce252..1dc6eaaa 100644
--- a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm
+++ b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm
@@ -120,6 +120,33 @@ object srvArticulos: TsrvArticulos
DataDictionary = DataDictionary
Diagrams = Diagrams
Datasets = <
+ item
+ Params = <
+ item
+ Name = 'id'
+ Value = ''
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ Default = True
+ Name = 'IBX'
+ SQL = 'select id'#10'from articulos'#10'where id = :id'#10
+ StatementType = stSQL
+ ColumnMappings = <
+ item
+ DatasetField = 'ID'
+ TableField = 'ID'
+ end>
+ end>
+ Name = 'ExisteImagen'
+ Fields = <
+ item
+ Name = 'ID'
+ DataType = datInteger
+ end>
+ end
item
Params = <>
Statements = <
@@ -203,6 +230,10 @@ object srvArticulos: TsrvArticulos
item
DatasetField = 'ELIMINADO'
TableField = 'ELIMINADO'
+ end
+ item
+ DatasetField = 'PRECIO_PVP'
+ TableField = 'PRECIO_PVP'
end>
end>
Name = 'Articulos'
@@ -241,7 +272,8 @@ object srvArticulos: TsrvArticulos
item
Name = 'IMAGEN'
DataType = datBlob
- DictionaryEntry = 'Articulos_IMAGEN'
+ BlobType = dabtGraphic
+ DisplayLabel = 'Foto'
end
item
Name = 'COMISIONABLE'
@@ -290,6 +322,10 @@ object srvArticulos: TsrvArticulos
DataType = datCurrency
DictionaryEntry = 'Articulos_PRECIO_NETO'
end
+ item
+ Name = 'PRECIO_PVP'
+ DataType = datCurrency
+ end
item
Name = 'INVENTARIABLE'
DataType = datSmallInt
@@ -330,11 +366,12 @@ object srvArticulos: TsrvArticulos
' V_ARTICULOS.REFERENCIA_PROV,'#10' V_ARTICULOS.PRECIO_COST' +
'E,'#10' V_ARTICULOS.PRECIO_PORTE,'#10' CLIENTES_DTOS_PROVEED' +
'ORES.DESCUENTO,'#10' V_ARTICULOS.PRECIO_NETO,'#10' V_ARTICUL' +
- 'OS.INVENTARIABLE,'#10' V_ARTICULOS.ID_PROVEEDOR,'#10' V_ARTI' +
- 'CULOS.NOMBRE_PROVEEDOR,'#10' V_ARTICULOS.ELIMINADO'#10'FROM V_ARTI' +
- 'CULOS'#10'LEFT OUTER JOIN CLIENTES_DTOS_PROVEEDORES'#10'ON ((CLIENTES_DT' +
- 'OS_PROVEEDORES.ID_PROVEEDOR = V_ARTICULOS.ID_PROVEEDOR)'#10'AND (CLI' +
- 'ENTES_DTOS_PROVEEDORES.ID_CLIENTE = :ID_CLIENTE))'#10'where {where}'#10
+ 'OS.PRECIO_PVP,'#10' V_ARTICULOS.INVENTARIABLE,'#10' V_ARTICU' +
+ 'LOS.ID_PROVEEDOR,'#10' V_ARTICULOS.NOMBRE_PROVEEDOR,'#10' V_' +
+ 'ARTICULOS.ELIMINADO'#10'FROM V_ARTICULOS'#10'LEFT OUTER JOIN CLIENTES_DT' +
+ 'OS_PROVEEDORES'#10'ON ((CLIENTES_DTOS_PROVEEDORES.ID_PROVEEDOR = V_A' +
+ 'RTICULOS.ID_PROVEEDOR)'#10'AND (CLIENTES_DTOS_PROVEEDORES.ID_CLIENTE' +
+ ' = :ID_CLIENTE))'#10'where {where}'#10
StatementType = stSQL
ColumnMappings = <
item
@@ -413,6 +450,10 @@ object srvArticulos: TsrvArticulos
item
DatasetField = 'ELIMINADO'
TableField = 'ELIMINADO'
+ end
+ item
+ DatasetField = 'PRECIO_PVP'
+ TableField = 'PRECIO_PVP'
end>
end>
Name = 'ArticulosParaCliente'
@@ -483,6 +524,10 @@ object srvArticulos: TsrvArticulos
Name = 'PRECIO_NETO'
DataType = datCurrency
end
+ item
+ Name = 'PRECIO_PVP'
+ DataType = datCurrency
+ end
item
Name = 'INVENTARIABLE'
DataType = datSmallInt
@@ -515,70 +560,92 @@ object srvArticulos: TsrvArticulos
end
item
Name = 'ID_EMPRESA'
+ DataType = datInteger
Value = ''
end
item
Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
Value = ''
end
item
Name = 'DESCRIPCION'
+ DataType = datString
+ Size = 255
Value = ''
end
item
Name = 'FAMILIA'
- Value = ''
- end
- item
- Name = 'IMAGEN'
+ DataType = datString
+ Size = 255
Value = ''
end
item
Name = 'COMISIONABLE'
+ DataType = datSmallInt
Value = ''
end
item
Name = 'FECHA_ALTA'
+ DataType = datDateTime
Value = ''
end
item
Name = 'FECHA_MODIFICACION'
+ DataType = datDateTime
Value = ''
end
item
Name = 'USUARIO'
+ DataType = datString
+ Size = 30
Value = ''
end
item
Name = 'PRECIO_COSTE'
+ DataType = datCurrency
Value = ''
end
item
Name = 'PRECIO_PORTE'
+ DataType = datCurrency
Value = ''
end
item
Name = 'DESCUENTO'
+ DataType = datFloat
Value = ''
end
item
Name = 'ID_PROVEEDOR'
+ DataType = datInteger
Value = ''
end
item
Name = 'PRECIO_NETO'
+ DataType = datCurrency
+ Value = ''
+ end
+ item
+ Name = 'PRECIO_PVP'
+ DataType = datCurrency
Value = ''
end
item
Name = 'REFERENCIA_PROV'
+ DataType = datString
+ Size = 255
Value = ''
end
item
Name = 'INVENTARIABLE'
+ DataType = datSmallInt
Value = ''
end
item
Name = 'ELIMINADO'
+ DataType = datSmallInt
Value = ''
end>
Statements = <
@@ -587,19 +654,60 @@ object srvArticulos: TsrvArticulos
TargetTable = 'ARTICULOS'
SQL =
'INSERT'#10' INTO ARTICULOS'#10' (ID, ID_EMPRESA, REFERENCIA, DESCRIP' +
- 'CION, FAMILIA, IMAGEN, '#10' COMISIONABLE, FECHA_ALTA, FECHA_MOD' +
- 'IFICACION, USUARIO, '#10' PRECIO_COSTE, PRECIO_PORTE, DESCUENTO,' +
- ' ID_PROVEEDOR, '#10' PRECIO_NETO, REFERENCIA_PROV, INVENTARIABLE' +
- ', ELIMINADO)'#10' VALUES'#10' (:ID, :ID_EMPRESA, :REFERENCIA, :DESCR' +
- 'IPCION, :FAMILIA, '#10' :IMAGEN, :COMISIONABLE, :FECHA_ALTA, :FE' +
- 'CHA_MODIFICACION, '#10' :USUARIO, :PRECIO_COSTE, :PRECIO_PORTE, ' +
- ':DESCUENTO, '#10' :ID_PROVEEDOR, :PRECIO_NETO, :REFERENCIA_PROV,' +
- #10' :INVENTARIABLE, :ELIMINADO)'
+ 'CION, FAMILIA,'#10' COMISIONABLE, FECHA_ALTA, FECHA_MODIFICACION' +
+ ', USUARIO, '#10' PRECIO_COSTE, PRECIO_PORTE, DESCUENTO, ID_PROVE' +
+ 'EDOR, '#10' PRECIO_NETO, PRECIO_PVP, REFERENCIA_PROV, INVENTARIA' +
+ 'BLE, ELIMINADO)'#10' VALUES'#10' (:ID, :ID_EMPRESA, :REFERENCIA, :DE' +
+ 'SCRIPCION, :FAMILIA, '#10' :COMISIONABLE, :FECHA_ALTA, :FECHA_MO' +
+ 'DIFICACION,'#10' :USUARIO, :PRECIO_COSTE, :PRECIO_PORTE, :DESCUE' +
+ 'NTO, '#10' :ID_PROVEEDOR, :PRECIO_NETO, :PRECIO_PVP, :REFERENCIA' +
+ '_PROV,'#10' :INVENTARIABLE, :ELIMINADO)'#10
StatementType = stSQL
ColumnMappings = <>
end>
Name = 'Insert_Articulos'
end
+ item
+ Params = <
+ item
+ Name = 'IMAGEN'
+ DataType = datBlob
+ Value = ''
+ end
+ item
+ Name = 'ID'
+ Value = ''
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ Default = True
+ Name = 'IBX'
+ SQL = 'update articulos'#10'set IMAGEN = :IMAGEN'#10'where ID = :ID'#10
+ StatementType = stSQL
+ ColumnMappings = <>
+ end>
+ Name = 'ModificarImagen'
+ end
+ item
+ Params = <
+ item
+ Name = 'id'
+ Value = ''
+ end>
+ Statements = <
+ item
+ Connection = 'IBX'
+ ConnectionType = 'Interbase'
+ Default = True
+ Name = 'IBX'
+ SQL = 'update articulos'#10'set imagen = null'#10'where id = :id'#10
+ StatementType = stSQL
+ ColumnMappings = <>
+ end>
+ Name = 'EliminarImagen'
+ end
item
Params = <
item
@@ -622,70 +730,92 @@ object srvArticulos: TsrvArticulos
Params = <
item
Name = 'ID_EMPRESA'
+ DataType = datInteger
Value = ''
end
item
Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
Value = ''
end
item
Name = 'DESCRIPCION'
+ DataType = datString
+ Size = 255
Value = ''
end
item
Name = 'FAMILIA'
- Value = ''
- end
- item
- Name = 'IMAGEN'
+ DataType = datString
+ Size = 255
Value = ''
end
item
Name = 'COMISIONABLE'
+ DataType = datSmallInt
Value = ''
end
item
Name = 'FECHA_ALTA'
+ DataType = datDateTime
Value = ''
end
item
Name = 'FECHA_MODIFICACION'
+ DataType = datDateTime
Value = ''
end
item
Name = 'USUARIO'
+ DataType = datString
+ Size = 30
Value = ''
end
item
Name = 'PRECIO_COSTE'
+ DataType = datCurrency
Value = ''
end
item
Name = 'PRECIO_PORTE'
+ DataType = datCurrency
Value = ''
end
item
Name = 'DESCUENTO'
+ DataType = datFloat
Value = ''
end
item
Name = 'ID_PROVEEDOR'
+ DataType = datInteger
Value = ''
end
item
Name = 'PRECIO_NETO'
+ DataType = datCurrency
+ Value = ''
+ end
+ item
+ Name = 'PRECIO_PVP'
+ DataType = datCurrency
Value = ''
end
item
Name = 'INVENTARIABLE'
+ DataType = datSmallInt
Value = ''
end
item
Name = 'REFERENCIA_PROV'
+ DataType = datString
+ Size = 255
Value = ''
end
item
Name = 'ELIMINADO'
+ DataType = datSmallInt
Value = ''
end
item
@@ -699,14 +829,14 @@ object srvArticulos: TsrvArticulos
SQL =
'UPDATE ARTICULOS'#10' SET '#10' ID_EMPRESA = :ID_EMPRESA,'#10' REFERE' +
'NCIA = :REFERENCIA, '#10' DESCRIPCION = :DESCRIPCION, '#10' FAMILI' +
- 'A = :FAMILIA, '#10' IMAGEN = :IMAGEN, '#10' COMISIONABLE = :COMISI' +
- 'ONABLE, '#10' FECHA_ALTA = :FECHA_ALTA, '#10' FECHA_MODIFICACION =' +
- ' :FECHA_MODIFICACION, '#10' USUARIO = :USUARIO, '#10' PRECIO_COSTE' +
- ' = :PRECIO_COSTE, '#10' PRECIO_PORTE = :PRECIO_PORTE, '#10' DESCUE' +
- 'NTO = :DESCUENTO, '#10' ID_PROVEEDOR = :ID_PROVEEDOR, '#10' PRECIO' +
- '_NETO = :PRECIO_NETO,'#10' INVENTARIABLE = :INVENTARIABLE,'#10' RE' +
- 'FERENCIA_PROV = :REFERENCIA_PROV,'#10' ELIMINADO = :ELIMINADO'#10' W' +
- 'HERE'#10' (ID = :OLD_ID)'#10
+ 'A = :FAMILIA, '#10' COMISIONABLE = :COMISIONABLE,'#10' FECHA_ALTA ' +
+ '= :FECHA_ALTA, '#10' FECHA_MODIFICACION = :FECHA_MODIFICACION, '#10' ' +
+ ' USUARIO = :USUARIO, '#10' PRECIO_COSTE = :PRECIO_COSTE, '#10' P' +
+ 'RECIO_PORTE = :PRECIO_PORTE, '#10' DESCUENTO = :DESCUENTO, '#10' I' +
+ 'D_PROVEEDOR = :ID_PROVEEDOR, '#10' PRECIO_NETO = :PRECIO_NETO,'#10' ' +
+ ' PRECIO_PVP = :PRECIO_PVP,'#10' INVENTARIABLE = :INVENTARIABLE,'#10 +
+ ' REFERENCIA_PROV = :REFERENCIA_PROV,'#10' ELIMINADO = :ELIMINA' +
+ 'DO'#10' WHERE'#10' (ID = :OLD_ID)'#10
StatementType = stSQL
ColumnMappings = <>
end>
diff --git a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.pas b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.pas
index a4d19a39..a56f5a08 100644
--- a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.pas
+++ b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.pas
@@ -31,13 +31,15 @@ type
procedure DARemoteServiceCreate(Sender: TObject);
procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject;
var aConnectionName: string);
+ function EliminarImagen(const ID_ARTICULO: Integer): Boolean;
+ function AnadirImagen(const ID_ARTICULO: Integer; const AFileName: AnsiString): Boolean;
end;
implementation
{$R *.dfm}
uses
- {Generated:} FactuGES_Invk, uDataModuleServer,
+ {Generated:} FactuGES_Invk, uDataModuleServer, uROClasses,
uDatabaseUtils, schArticulosClient_Intf, uRestriccionesUsuarioUtils;
procedure Create_srvArticulos(out anInstance : IUnknown);
@@ -46,6 +48,50 @@ begin
end;
{ srvArticulos }
+function TsrvArticulos.AnadirImagen(const ID_ARTICULO: Integer; const AFileName: AnsiString): Boolean;
+var
+ AConn : IDAConnection;
+ dsData: IDADataset;
+ dsCommand: IDASQLCommand;
+
+begin
+ Result := False;
+ AConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
+
+ try
+ try
+ dsData := schArticulos.NewDataset(AConn, 'ExisteImagen', ['ID'], [ID_ARTICULO]);
+ dsData.Active := True;
+ Result := (dsData.FieldValues[0] > 0);
+ AConn.CommitTransaction;
+ except
+ RaiseError('Error al buscar articulo con imagen');
+ AConn.RollbackTransaction;
+ end;
+ finally
+ dsData := NIL;
+ end;
+
+ if Result then
+ begin
+ try
+ try
+ dsCommand := schArticulos.NewCommand(AConn, 'ModificarImagen');
+ dsCommand.ParamByName('ID').AsInteger := ID_ARTICULO;
+ dsCommand.ParamByName('IMAGEN').LoadFromFile(AFileName);
+ dsCommand.Execute;
+ AConn.CommitTransaction;
+ Result := True;
+ except
+ RaiseError('Error al modificar la imagen');
+ AConn.RollbackTransaction;
+ end;
+ finally
+ dsCommand := NIL;
+ end;
+ end;
+end;
+
procedure TsrvArticulos.DARemoteServiceBeforeGetDatasetData(
const Dataset: IDADataset; const IncludeSchema: Boolean;
const MaxRecords: Integer);
@@ -70,6 +116,32 @@ begin
ConnectionName := dmServer.ConnectionName;
end;
+function TsrvArticulos.EliminarImagen(const ID_ARTICULO: Integer): Boolean;
+var
+ AConn : IDAConnection;
+ dsCommand: IDASQLCommand;
+
+begin
+ Result := False;
+ AConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
+
+ try
+ try
+ dsCommand := schArticulos.NewCommand(AConn, 'EliminarImagen');
+ with dsCommand do
+ ParamByName('ID').AsInteger := ID_ARTICULO;
+ dsCommand.Execute;
+ AConn.CommitTransaction;
+ Result := True;
+ except
+ RaiseError('Error al eliminar la imagen');
+ AConn.RollbackTransaction;
+ end;
+ finally
+ dsCommand := NIL;
+ end;
+end;
+
initialization
TROClassFactory.Create('srvArticulos', Create_srvArticulos, TsrvArticulos_Invoker);
diff --git a/Source/Modulos/Articulos/Views/Articulos_view.RES b/Source/Modulos/Articulos/Views/Articulos_view.RES
index 8b251f31..1641339f 100644
Binary files a/Source/Modulos/Articulos/Views/Articulos_view.RES and b/Source/Modulos/Articulos/Views/Articulos_view.RES differ
diff --git a/Source/Modulos/Articulos/Views/Articulos_view.dproj b/Source/Modulos/Articulos/Views/Articulos_view.dproj
index 328f09de..acac828b 100644
--- a/Source/Modulos/Articulos/Views/Articulos_view.dproj
+++ b/Source/Modulos/Articulos/Views/Articulos_view.dproj
@@ -54,11 +54,11 @@
MainSource
-
-
-
-
-
+
+
+
+
+
diff --git a/Source/Modulos/Articulos/Views/uEditorArticulo.dfm b/Source/Modulos/Articulos/Views/uEditorArticulo.dfm
index b4c51fda..7129d576 100644
--- a/Source/Modulos/Articulos/Views/uEditorArticulo.dfm
+++ b/Source/Modulos/Articulos/Views/uEditorArticulo.dfm
@@ -39,7 +39,7 @@ inherited fEditorArticulo: TfEditorArticulo
Width = 624
ExplicitWidth = 624
inherited tbxMain: TTBXToolbar
- ExplicitWidth = 394
+ ExplicitWidth = 400
inherited TBXItem2: TTBXItem
Visible = False
end
@@ -95,18 +95,6 @@ inherited fEditorArticulo: TfEditorArticulo
end
end
end
- inherited pgPaginas: TPageControl
- Width = 624
- Height = 385
- ExplicitWidth = 624
- ExplicitHeight = 385
- inherited pagGeneral: TTabSheet
- ExplicitLeft = 4
- ExplicitTop = 24
- ExplicitWidth = 616
- ExplicitHeight = 357
- end
- end
inherited StatusBar: TJvStatusBar
Top = 461
Width = 624
@@ -117,6 +105,25 @@ inherited fEditorArticulo: TfEditorArticulo
ExplicitTop = 461
ExplicitWidth = 624
end
+ inherited pgPaginas: TPageControl
+ Width = 618
+ Height = 349
+ ExplicitWidth = 618
+ ExplicitHeight = 349
+ inherited pagGeneral: TTabSheet
+ ExplicitLeft = 4
+ ExplicitTop = 24
+ ExplicitWidth = 610
+ ExplicitHeight = 321
+ end
+ end
+ inherited PnlComentario: TPanel
+ Width = 624
+ inherited lbComentario: TLabel
+ Width = 614
+ Height = 25
+ end
+ end
inherited EditorActionList: TActionList
Top = 128
object actFamilias: TAction
@@ -127,7 +134,18 @@ inherited fEditorArticulo: TfEditorArticulo
OnExecute = actFamiliasExecute
end
end
- inherited SmallImages: TPngImageList
+ inherited dsDataTable: TDADataSource [6]
+ Left = 168
+ Top = 120
+ end
+ inherited LargeImages: TPngImageList
+ Top = 112
+ end
+ inherited JvFormStorage: TJvFormStorage
+ Left = 400
+ Top = 152
+ end
+ inherited SmallImages: TPngImageList [9]
PngImages = <
item
PngImage.Data = {
@@ -633,17 +651,6 @@ inherited fEditorArticulo: TfEditorArticulo
Top = 112
Bitmap = {}
end
- inherited dsDataTable: TDADataSource [6]
- Left = 168
- Top = 120
- end
- inherited LargeImages: TPngImageList [7]
- Top = 112
- end
- inherited JvFormStorage: TJvFormStorage [8]
- Left = 400
- Top = 152
- end
inherited JvAppRegistryStorage: TJvAppRegistryStorage
Left = 432
Top = 152
diff --git a/Source/Modulos/Articulos/Views/uEditorArticulo.pas b/Source/Modulos/Articulos/Views/uEditorArticulo.pas
index 86965f34..0f190eb6 100644
--- a/Source/Modulos/Articulos/Views/uEditorArticulo.pas
+++ b/Source/Modulos/Articulos/Views/uEditorArticulo.pas
@@ -13,7 +13,7 @@ uses
JvAppStorage, JvAppRegistryStorage, JvFormPlacement, JvComponentBase,
uViewArticulos, uIEditorArticulo, uArticulosController, JvExComCtrls,
- JvStatusBar, dxLayoutLookAndFeels;
+ JvStatusBar, dxLayoutLookAndFeels, uDAInterfaces;
type
TfEditorArticulo = class(TfEditorDBItem, IEditorArticulo)
@@ -46,6 +46,7 @@ type
//sobreescribir este metodo
procedure AsignarVista; virtual;
procedure PonerTitulos(const ATitulo: string = ''); override;
+ function GetModified: Boolean; override;
public
property Articulo: IBizArticulo read GetArticulo write SetArticulo;
@@ -74,6 +75,14 @@ begin
Result := FController;
end;
+function TfEditorArticulo.GetModified: Boolean;
+begin
+ Result := inherited GetModified;
+ //COMPROBAMOS SI EN LA VISTA HA HABIDO CAMBIOS EN LA IMAGEN
+ if not Result then
+ Result := Result or ViewArticulo.Modified;
+end;
+
function TfEditorArticulo.GetViewArticulo: IViewArticulo;
begin
Result := FViewArticulo;
@@ -83,6 +92,7 @@ procedure TfEditorArticulo.GuardarInterno;
begin
inherited;
FController.Guardar(FArticulo);
+ ViewArticulo.Modified := False;
Modified := False;
end;
diff --git a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm
index 2fc6b872..84869f51 100644
--- a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm
+++ b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm
@@ -10,6 +10,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
Width = 656
Caption = 'Lista de art'#237'culos'
Visible = False
+ ExplicitTop = 64
ExplicitWidth = 656
inherited Image1: TImage
Left = 629
@@ -20,6 +21,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
Top = 91
Width = 656
Height = 49
+ ExplicitTop = 91
ExplicitWidth = 656
ExplicitHeight = 49
inherited tbxMain: TTBXToolbar
@@ -130,7 +132,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
AlignWithMargins = True
Left = 25
Top = 8
- Width = 606
+ Width = 131
Height = 13
Margins.Left = 0
Margins.Top = 0
@@ -144,20 +146,17 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
- ExplicitWidth = 131
end
object lblComments: TLabel
AlignWithMargins = True
Left = 50
Top = 29
- Width = 581
- Height = 27
+ Width = 3
+ Height = 13
Margins.Left = 25
Margins.Top = 0
Margins.Right = 0
Align = alClient
- ExplicitLeft = 34
- ExplicitTop = -6
end
end
inherited EditorActionList: TActionList [5]
diff --git a/Source/Modulos/Articulos/Views/uViewArticulo.dfm b/Source/Modulos/Articulos/Views/uViewArticulo.dfm
index da1eae46..c869fff5 100644
--- a/Source/Modulos/Articulos/Views/uViewArticulo.dfm
+++ b/Source/Modulos/Articulos/Views/uViewArticulo.dfm
@@ -177,7 +177,7 @@ inherited frViewArticulo: TfrViewArticulo
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
- TabOrder = 11
+ TabOrder = 12
ReadOnly = False
ExplicitLeft = 219
ExplicitTop = 166
@@ -329,6 +329,26 @@ inherited frViewArticulo: TfrViewArticulo
TabOrder = 4
Width = 144
end
+ object ePrecioPVP: TcxDBCurrencyEdit
+ Left = 103
+ Top = 301
+ DataBinding.DataField = 'PRECIO_PVP'
+ DataBinding.DataSource = dsViewArticulo
+ Properties.Alignment.Horz = taRightJustify
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 11
+ Width = 400
+ end
object dxLayoutControlArticuloGroup_Root: TdxLayoutGroup
ShowCaption = False
Hidden = True
@@ -381,6 +401,7 @@ inherited frViewArticulo: TfrViewArticulo
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = ' '
+ Visible = False
Control = eNoComisionable
ControlOptions.ShowBorder = False
end
@@ -389,6 +410,7 @@ inherited frViewArticulo: TfrViewArticulo
AlignHorz = ahClient
Caption = ' '
ShowCaption = False
+ Visible = False
Control = cbNoInventariable
ControlOptions.ShowBorder = False
end
@@ -401,7 +423,6 @@ inherited frViewArticulo: TfrViewArticulo
AlignHorz = ahClient
AlignVert = avClient
Caption = 'Imagen'
- Visible = False
LayoutDirection = ldHorizontal
object dxLayoutControlArticuloItem6: TdxLayoutItem
AutoAligns = []
@@ -440,34 +461,44 @@ inherited frViewArticulo: TfrViewArticulo
Caption = 'Datos del proveedor para el art'#237'culo'
object dxLayoutControlArticuloItem15: TdxLayoutItem
Caption = 'Ref. del prov:'
+ Visible = False
Control = eReferenciaProv
ControlOptions.ShowBorder = False
end
object dxLayoutControlArticuloItem16: TdxLayoutItem
- Caption = 'Precio:'
+ Caption = 'Precio coste:'
Control = ePrecioCoste
ControlOptions.ShowBorder = False
end
object dxLayoutControlArticuloItem17: TdxLayoutItem
Caption = 'Dto (%):'
+ Visible = False
Control = eDescuento
ControlOptions.ShowBorder = False
end
object dxLayoutControlArticuloItem18: TdxLayoutItem
Caption = 'Precio neto:'
+ Visible = False
Control = ePrecioNeto
ControlOptions.ShowBorder = False
end
object dxLayoutControlArticuloItem19: TdxLayoutItem
Caption = 'Coste de envio:'
+ Visible = False
Control = ePrecioPorte
ControlOptions.ShowBorder = False
end
+ object dxLayoutControlArticuloItem9: TdxLayoutItem
+ Caption = 'Precio PVP:'
+ Control = ePrecioPVP
+ ControlOptions.ShowBorder = False
+ end
end
object dxLayoutControlArticuloGroup12: TdxLayoutGroup
AutoAligns = [aaVertical]
AlignHorz = ahRight
Caption = 'Proveedor para el art'#237'culo'
+ Visible = False
object dxLayoutControlArticuloItem14: TdxLayoutItem
Control = frViewDatosYSeleccionProveedor1
ControlOptions.AutoColor = True
diff --git a/Source/Modulos/Articulos/Views/uViewArticulo.pas b/Source/Modulos/Articulos/Views/uViewArticulo.pas
index 772381f8..d0de5e5b 100644
--- a/Source/Modulos/Articulos/Views/uViewArticulo.pas
+++ b/Source/Modulos/Articulos/Views/uViewArticulo.pas
@@ -71,6 +71,8 @@ type
dxLayoutControlArticuloItem7: TdxLayoutItem;
cbNoInventariable: TcxDBCheckBox;
dxLayoutControlArticuloGroup8: TdxLayoutGroup;
+ dxLayoutControlArticuloItem9: TdxLayoutItem;
+ ePrecioPVP: TcxDBCurrencyEdit;
procedure actEliminarExecute(Sender: TObject);
procedure actAnadirExecute(Sender: TObject);
procedure cbFamiliaPropertiesInitPopup(Sender: TObject);
@@ -82,24 +84,28 @@ type
procedure PrecioNetoChanged(Sender: TObject);
private
procedure CargarImagen;
- procedure SalvarImagen;
+
protected
FFamiliasController: IFamiliasController;
FController: IArticulosController;
FArticulo: IBizArticulo;
+ FImagenModificada: Boolean;
function GetArticulo: IBizArticulo;
procedure SetArticulo(const Value: IBizArticulo); virtual;
function GetController : IArticulosController;
procedure SetController (const Value : IArticulosController);
procedure OnProveedorChanged(Sender: TObject);
+
public
+ function GetModified: Boolean; override;
+ procedure SetModified(const Value: Boolean); override;
property Articulo: IBizArticulo read GetArticulo write SetArticulo;
property Controller : IArticulosController read GetController write SetController;
end;
implementation
-uses uDataModuleArticulos, uSistemaFunc, uBizFamilias, uBizContactos;
+uses uDataModuleArticulos, uSistemaFunc, schArticulosClient_Intf, uBizFamilias, uBizContactos;
{$R *.dfm}
@@ -111,40 +117,54 @@ uses uDataModuleArticulos, uSistemaFunc, uBizFamilias, uBizContactos;
}
procedure TfrViewArticulo.actAnadirExecute(Sender: TObject);
+var
+ aAux : String;
begin
-{ eImagen.LoadFromFile;
+ eImagen.LoadFromFile;
if Assigned(eImagen.Picture) then
- SalvarImagen;}
-end;
-
-procedure TfrViewArticulo.actEliminarExecute(Sender: TObject);
-begin
-{ inherited;
- eImagen.Clear;
- FArticulo.QuitarImagen;}
-end;
-
-procedure TfrViewArticulo.CargarImagen;
-{var
- aAux : String;}
-begin
-{ if FArticulo.HayImagen then
begin
ShowHourglassCursor;
try
aAux := DarFicheroJPGTemporal;
- FArticulo.SalvarImagen(aAux);
+ eImagen.Picture.SaveToFile(aAux);
+ FController.PonerImagen(Articulo, aAux);
+ FImagenModificada := True;
+ finally
+ DeleteFile(aAux);
+ HideHourglassCursor;
+ end;
+ end;
+end;
+
+procedure TfrViewArticulo.actEliminarExecute(Sender: TObject);
+begin
+ inherited;
+ eImagen.Clear;
+ FController.QuitarImagen(Articulo);
+ FImagenModificada := True;
+end;
+
+procedure TfrViewArticulo.CargarImagen;
+var
+ aAux : String;
+begin
+ if FArticulo.HayImagen then
+ begin
+ ShowHourglassCursor;
+ try
+ aAux := DarFicheroJPGTemporal;
+ Articulo.DataTable.FieldByName(fld_ArticulosIMAGEN).SaveToFile(aAux);
try
eImagen.Picture.LoadFromFile(aAux);
except
on EInvalidGraphic do
- ShowMessage('error');
+ ShowMessage('error de imagen en el articulo');
end;
finally
DeleteFile(aAux);
HideHourglassCursor;
end;
- end;}
+ end;
end;
procedure TfrViewArticulo.cbFamiliaPropertiesInitPopup(Sender: TObject);
@@ -192,6 +212,7 @@ end;
procedure TfrViewArticulo.CustomViewCreate(Sender: TObject);
begin
inherited;
+ FImagenModificada := False;
FFamiliasController := TFamiliasController.Create;
end;
@@ -220,6 +241,14 @@ begin
Result := FController;
end;
+function TfrViewArticulo.GetModified: Boolean;
+begin
+ Result := inherited GetModified;
+ //COMPROBAMOS SI EN LA VISTA HA HABIDO CAMBIOS EN LA IMAGEN
+ if not Result then
+ Result := Result or FImagenModificada;
+end;
+
procedure TfrViewArticulo.OnProveedorChanged(Sender: TObject);
begin
if Assigned(FArticulo) then
@@ -236,22 +265,6 @@ begin
FController.CalcularPrecioNeto(FArticulo);
end;
-procedure TfrViewArticulo.SalvarImagen;
-{var
- aAux : String;}
-begin
-{ ShowHourglassCursor;
- try
- aAux := DarFicheroJPGTemporal;
- eImagen.Picture.SaveToFile(aAux);
- FArticulo.CargarImagen(aAux);
- Self.Modified := True;
- finally
- DeleteFile(aAux);
- HideHourglassCursor;
- end;}
-end;
-
procedure TfrViewArticulo.SetArticulo(const Value: IBizArticulo);
begin
FArticulo := Value;
@@ -264,7 +277,7 @@ begin
frViewDatosYSeleccionProveedor1.Proveedor := (FController.ProveedoresController.Buscar(FArticulo.ID_PROVEEDOR) as IBizProveedor);
frViewDatosYSeleccionProveedor1.OnProveedorChanged := OnProveedorChanged;
-// CargarImagen;
+ CargarImagen;
end
else begin
dsViewArticulo.DataTable := NIL;
@@ -278,5 +291,12 @@ begin
FController := Value;
end;
+procedure TfrViewArticulo.SetModified(const Value: Boolean);
+begin
+ inherited;
+ if not Value then
+ FImagenModificada := False;
+end;
+
end.
diff --git a/Source/Modulos/Articulos/Views/uViewArticulos.dfm b/Source/Modulos/Articulos/Views/uViewArticulos.dfm
index 00c97801..27da9d20 100644
--- a/Source/Modulos/Articulos/Views/uViewArticulos.dfm
+++ b/Source/Modulos/Articulos/Views/uViewArticulos.dfm
@@ -31,9 +31,11 @@ inherited frViewArticulos: TfrViewArticulos
Tag = 1
Value = 1
end>
+ Visible = False
BestFitMaxWidth = 22
MinWidth = 22
Options.HorzSizing = False
+ VisibleForCustomization = False
Width = 22
end
object cxGridViewCOMISIONABLE: TcxGridDBColumn
@@ -63,9 +65,11 @@ inherited frViewArticulos: TfrViewArticulos
end>
Properties.PostPopupValueOnTab = True
Properties.ShowDescriptions = False
+ Visible = False
BestFitMaxWidth = 22
MinWidth = 22
Options.HorzSizing = False
+ VisibleForCustomization = False
Width = 22
end
object cxGridViewREFERENCIA: TcxGridDBColumn
@@ -89,13 +93,17 @@ inherited frViewArticulos: TfrViewArticulos
object cxGridViewNOMBRE_PROVEEDOR: TcxGridDBColumn
Caption = 'Proveedor'
DataBinding.FieldName = 'NOMBRE_PROVEEDOR'
+ Visible = False
BestFitMaxWidth = 120
+ VisibleForCustomization = False
Width = 120
end
object cxGridViewREFERENCIA_PROV: TcxGridDBColumn
Caption = 'Ref. proveedor'
DataBinding.FieldName = 'REFERENCIA_PROV'
+ Visible = False
BestFitMaxWidth = 60
+ VisibleForCustomization = False
Width = 60
end
object cxGridViewPRECIO_COSTE: TcxGridDBColumn
@@ -112,24 +120,39 @@ inherited frViewArticulos: TfrViewArticulos
PropertiesClassName = 'TcxSpinEditProperties'
Properties.Alignment.Horz = taRightJustify
Properties.DisplayFormat = ',0.00 %;-,0.00 %'
+ Visible = False
FooterAlignmentHorz = taRightJustify
HeaderAlignmentHorz = taRightJustify
+ VisibleForCustomization = False
end
object cxGridViewPRECIO_NETO: TcxGridDBColumn
Caption = 'Precio neto'
DataBinding.FieldName = 'PRECIO_NETO'
PropertiesClassName = 'TcxCurrencyEditProperties'
Properties.Alignment.Horz = taRightJustify
+ Visible = False
FooterAlignmentHorz = taRightJustify
HeaderAlignmentHorz = taRightJustify
+ VisibleForCustomization = False
end
object cxGridViewPRECIO_PORTE: TcxGridDBColumn
Caption = 'Precio porte'
DataBinding.FieldName = 'PRECIO_PORTE'
PropertiesClassName = 'TcxCurrencyEditProperties'
Properties.Alignment.Horz = taRightJustify
+ Visible = False
FooterAlignmentHorz = taRightJustify
HeaderAlignmentHorz = taRightJustify
+ VisibleForCustomization = False
+ end
+ object cxGridViewPRECIO_PVP: TcxGridDBColumn
+ Caption = 'Precio PVP'
+ DataBinding.FieldName = 'PRECIO_PVP'
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.Alignment.Horz = taRightJustify
+ FooterAlignmentHorz = taRightJustify
+ GroupSummaryAlignment = taRightJustify
+ HeaderAlignmentHorz = taRightJustify
end
end
end
@@ -159,7 +182,6 @@ inherited frViewArticulos: TfrViewArticulos
end
inherited pnlAgrupaciones: TTBXDockablePanel
Visible = True
- ExplicitWidth = 128
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
inherited TBXToolbar1: TTBXToolbar
object TBXSeparatorItem1: TTBXSeparatorItem
diff --git a/Source/Modulos/Articulos/Views/uViewArticulos.pas b/Source/Modulos/Articulos/Views/uViewArticulos.pas
index e24f2e6d..38216176 100644
--- a/Source/Modulos/Articulos/Views/uViewArticulos.pas
+++ b/Source/Modulos/Articulos/Views/uViewArticulos.pas
@@ -37,6 +37,7 @@ type
TBXSeparatorItem1: TTBXSeparatorItem;
TBXSeparatorItem2: TTBXSeparatorItem;
cxGridViewINVENTARIABLE: TcxGridDBColumn;
+ cxGridViewPRECIO_PVP: TcxGridDBColumn;
procedure cxGridViewIDCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
diff --git a/Source/Modulos/Articulos/Views/uViewDetallesArticulos.dfm b/Source/Modulos/Articulos/Views/uViewDetallesArticulos.dfm
index 05ff8da3..9d711ec5 100644
--- a/Source/Modulos/Articulos/Views/uViewDetallesArticulos.dfm
+++ b/Source/Modulos/Articulos/Views/uViewDetallesArticulos.dfm
@@ -117,6 +117,7 @@ inherited frViewDetallesArticulos: TfrViewDetallesArticulos
end
inherited TBXDock1: TTBXDock
inherited TBXToolbar1: TTBXToolbar
+ ExplicitWidth = 451
object TBXItem12: TTBXItem [0]
Action = actAnadirArticulos
DisplayMode = nbdmImageAndText
@@ -127,9 +128,7 @@ inherited frViewDetallesArticulos: TfrViewDetallesArticulos
object actAnadirArticulos: TAction
Category = 'Operaciones'
Caption = 'A'#241'adir art'#237'culos'
- Enabled = False
ImageIndex = 12
- Visible = False
OnExecute = actAnadirArticulosExecute
OnUpdate = actAnadirArticulosUpdate
end
diff --git a/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas b/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas
index cf401e78..704f8470 100644
--- a/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas
+++ b/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas
@@ -741,7 +741,7 @@ begin
AContrato.FORMA_PAGO.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_FORMA_PAGO_COCINA));
AContrato.PLAZO_ENTREGA.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_PLAZOS_ENTREGA_COCINA));
AContrato.OBSERVACIONES.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_OBSERVACIONES_COCINA));
- (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_C_VACIO, 'MUEBLES DE COCINA ', False, AContrato.Detalles);
+ (Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_C, 'MUEBLES DE COCINA ', False, AContrato.Detalles);
(Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_V, 'IMPORTES ', True, AContrato.Detalles);
(Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_V, 'AUMENTO POR ', False, AContrato.Detalles);
end;
diff --git a/Source/Modulos/Contratos de cliente/Controller/uDetallesContratoClienteController.pas b/Source/Modulos/Contratos de cliente/Controller/uDetallesContratoClienteController.pas
index 3f8990e1..32ca61ae 100644
--- a/Source/Modulos/Contratos de cliente/Controller/uDetallesContratoClienteController.pas
+++ b/Source/Modulos/Contratos de cliente/Controller/uDetallesContratoClienteController.pas
@@ -224,11 +224,10 @@ end;
procedure TDetallesContratoClienteController.RellenarImportes(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
begin
-//Como en tecsitel no hay descuento por linea de detalle, solo recuperamos nuevamente el valor del articulo cuando el detalle no tenga niguno
-//de esta forma evitamos que al cambiar de cliente se quiten los importes que se hubiesen establecido para los articulos.
+//Para acana el importa a cargar en la lista será siempre el precio PVP
if ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).IsNull then
if Assigned(AArticulos) then
- ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := AArticulos.PRECIO_NETO
+ ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := AArticulos.PRECIO_PVP
else
ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null;
end;
diff --git a/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas
index 35b3e767..5801ac4b 100644
--- a/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas
+++ b/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas
@@ -158,8 +158,9 @@ end;
procedure TDetallesFacturaClienteController.RellenarImportes(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
begin
+//Para acana el importa a cargar en la lista será siempre el precio PVP
if Assigned(AArticulos) then
- ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := AArticulos.PRECIO_COSTE
+ ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := AArticulos.PRECIO_PVP
else
ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null;
end;
diff --git a/Source/Modulos/Familias/Plugin/uPluginFamilias.dfm b/Source/Modulos/Familias/Plugin/uPluginFamilias.dfm
index 54d891a0..51a30d1b 100644
--- a/Source/Modulos/Familias/Plugin/uPluginFamilias.dfm
+++ b/Source/Modulos/Familias/Plugin/uPluginFamilias.dfm
@@ -35,7 +35,7 @@ object PluginFamilias: TPluginFamilias
object Ventas1: TMenuItem
Caption = 'Datos'
object Familias1: TMenuItem
- Tag = 19000
+ Tag = 900
Action = actFamilias
end
end
diff --git a/Source/Modulos/Inventario/Controller/Inventario_controller.rc b/Source/Modulos/Inventario/Controller/Inventario_controller.rc
index e69de29b..153736af 100644
--- a/Source/Modulos/Inventario/Controller/Inventario_controller.rc
+++ b/Source/Modulos/Inventario/Controller/Inventario_controller.rc
@@ -0,0 +1,22 @@
+1 VERSIONINFO
+FILEVERSION 1,0,0,0
+PRODUCTVERSION 1,0,0,0
+FILEFLAGSMASK 0x3FL
+FILEFLAGS 0x00L
+FILEOS 0x40004L
+FILETYPE 0x1L
+FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "0C0A04E4"
+ BEGIN
+ VALUE "FileVersion", "1.0.0.0\0"
+ VALUE "ProductVersion", "1.0.0.0\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0C0A, 1252
+ END
+END
diff --git a/Source/Modulos/Inventario/Controller/uInventarioController.pas b/Source/Modulos/Inventario/Controller/uInventarioController.pas
index 007c135e..f51d4981 100644
--- a/Source/Modulos/Inventario/Controller/uInventarioController.pas
+++ b/Source/Modulos/Inventario/Controller/uInventarioController.pas
@@ -680,11 +680,11 @@ begin
exit;
try
- APresupuesto := FPresupuestosClienteController.BuscarPendientes;
- APresupuesto := FPresupuestosClienteController.ElegirPresupuestos(APresupuesto, '', False);
+// APresupuesto := FPresupuestosClienteController.BuscarPendientes;
+// APresupuesto := FPresupuestosClienteController.ElegirPresupuestos(APresupuesto, '', False);
- if Assigned(APresupuesto) then
- Reservar(AInventario, False, APresupuesto);
+// if Assigned(APresupuesto) then
+// Reservar(AInventario, False, APresupuesto);
finally
APresupuesto := Nil;
diff --git a/Source/Modulos/Inventario/Data/Inventario_data.rc b/Source/Modulos/Inventario/Data/Inventario_data.rc
index e69de29b..153736af 100644
--- a/Source/Modulos/Inventario/Data/Inventario_data.rc
+++ b/Source/Modulos/Inventario/Data/Inventario_data.rc
@@ -0,0 +1,22 @@
+1 VERSIONINFO
+FILEVERSION 1,0,0,0
+PRODUCTVERSION 1,0,0,0
+FILEFLAGSMASK 0x3FL
+FILEFLAGS 0x00L
+FILEOS 0x40004L
+FILETYPE 0x1L
+FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "0C0A04E4"
+ BEGIN
+ VALUE "FileVersion", "1.0.0.0\0"
+ VALUE "ProductVersion", "1.0.0.0\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0C0A, 1252
+ END
+END
diff --git a/Source/Modulos/Inventario/Model/Inventario_model.rc b/Source/Modulos/Inventario/Model/Inventario_model.rc
index e69de29b..153736af 100644
--- a/Source/Modulos/Inventario/Model/Inventario_model.rc
+++ b/Source/Modulos/Inventario/Model/Inventario_model.rc
@@ -0,0 +1,22 @@
+1 VERSIONINFO
+FILEVERSION 1,0,0,0
+PRODUCTVERSION 1,0,0,0
+FILEFLAGSMASK 0x3FL
+FILEFLAGS 0x00L
+FILEOS 0x40004L
+FILETYPE 0x1L
+FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "0C0A04E4"
+ BEGIN
+ VALUE "FileVersion", "1.0.0.0\0"
+ VALUE "ProductVersion", "1.0.0.0\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0C0A, 1252
+ END
+END
diff --git a/Source/Modulos/Inventario/Plugin/Inventario_plugin.dproj b/Source/Modulos/Inventario/Plugin/Inventario_plugin.dproj
index 303b9c99..7ca4a406 100644
--- a/Source/Modulos/Inventario/Plugin/Inventario_plugin.dproj
+++ b/Source/Modulos/Inventario/Plugin/Inventario_plugin.dproj
@@ -41,20 +41,19 @@
Delphi.Personality
Package
-FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0Inventario_plugin.dpk
+FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0Inventario_plugin.dpk
MainSource
-
-
-
+
+
+
-