diff --git a/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj b/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj
index ad79133b..df930f8c 100644
--- a/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj
+++ b/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj
@@ -9,6 +9,7 @@
+
@@ -21,7 +22,7 @@
Default.Personality
-
+
@@ -59,6 +60,15 @@
+
+
+
+
+
+
+
+
+
@@ -132,13 +142,13 @@
-
+
-
+
-
+
\ 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 0da6cc7a..038c49c3 100644
--- a/Source/Modulos/Albaranes de cliente/Controller/uDetallesAlbaranClienteController.pas
+++ b/Source/Modulos/Albaranes de cliente/Controller/uDetallesAlbaranClienteController.pas
@@ -9,7 +9,7 @@ uses
type
IDetallesAlbaranClienteController = interface(IControllerDetallesArticulos)
['{6AD99D47-2856-47B1-9620-DD115726B0E1}']
- procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
+ procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
@@ -31,7 +31,7 @@ type
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
public
- procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
+ procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
constructor Create; override;
destructor Destroy; override;
@@ -60,7 +60,7 @@ begin
end;
end;
-procedure TDetallesAlbaranClienteController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente);
+procedure TDetallesAlbaranClienteController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean);
var
AArticulos: IBizArticulo;
begin
@@ -68,8 +68,19 @@ begin
begin
try
AArticulos := (FArticulosController.BuscarTodos(ACliente) as IBizArticulo);
- AArticulos := (FArticulosController as IArticulosAlbaranClienteController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a este albarán de cliente', True);
- Add(ADetalles, AArticulos);
+
+ //Si nueva fila es false, quiere decir que se sustituye un determinado artículo, por ello la lista a seleccionar no debe ser multiselect
+ if ANuevaFila then
+ begin
+ AArticulos := (FArticulosController as IArticulosAlbaranClienteController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a este albarán de cliente', True);
+ Add(ADetalles, AArticulos)
+ end
+ else
+ begin
+ AArticulos := (FArticulosController as IArticulosAlbaranClienteController).ElegirArticulos(AArticulos, 'Elija el artículo que desea añadir a este albarán de cliente', False);
+ RellenarDetalle(ADetalles, AArticulos);
+ end;
+
finally
AArticulos := Nil;
end;
diff --git a/Source/Modulos/Albaranes de cliente/Views/uViewDetallesAlbaranCliente.dfm b/Source/Modulos/Albaranes de cliente/Views/uViewDetallesAlbaranCliente.dfm
index a502c072..a633777e 100644
--- a/Source/Modulos/Albaranes de cliente/Views/uViewDetallesAlbaranCliente.dfm
+++ b/Source/Modulos/Albaranes de cliente/Views/uViewDetallesAlbaranCliente.dfm
@@ -1,51 +1,43 @@
inherited frViewDetallesAlbaranCliente: TfrViewDetallesAlbaranCliente
inherited ToolBar1: TToolBar
- Height = 73
- ExplicitHeight = 73
- inherited ToolButton3: TToolButton
- Wrap = False
- end
- inherited ToolButton4: TToolButton
- Left = 278
- Top = 0
- ExplicitLeft = 278
- ExplicitTop = 0
- end
- inherited ToolButton14: TToolButton
- Left = 334
- Top = 0
- ExplicitLeft = 334
- ExplicitTop = 0
- end
- inherited FontName: TJvFontComboBox
+ Height = 95
+ ExplicitHeight = 95
+ inherited FontName: TJvFontComboBox [4]
+ Left = 56
Top = 22
+ ExplicitLeft = 56
ExplicitTop = 22
end
+ inherited ToolButton14: TToolButton [5]
+ Left = 201
+ Wrap = False
+ ExplicitLeft = 201
+ end
inherited FontSize: TEdit
+ Left = 266
Top = 22
+ ExplicitLeft = 266
ExplicitTop = 22
end
inherited UpDown1: TUpDown
+ Left = 308
Top = 22
+ ExplicitLeft = 308
ExplicitTop = 22
end
inherited ToolButton13: TToolButton
+ Left = 325
Top = 22
+ ExplicitLeft = 325
ExplicitTop = 22
end
- inherited ToolButton6: TToolButton
+ inherited ToolButton11: TToolButton [9]
+ Left = 333
Top = 22
+ ExplicitLeft = 333
ExplicitTop = 22
end
- inherited ToolButton7: TToolButton
- Top = 22
- ExplicitTop = 22
- end
- inherited ToolButton8: TToolButton
- Top = 22
- ExplicitTop = 22
- end
- inherited ToolButton12: TToolButton
+ inherited ToolButton12: TToolButton [10]
Left = 0
Top = 22
Wrap = True
@@ -53,30 +45,41 @@ inherited frViewDetallesAlbaranCliente: TfrViewDetallesAlbaranCliente
ExplicitTop = 22
ExplicitHeight = 27
end
- inherited ToolButton9: TToolButton
+ inherited ToolButton9: TToolButton [11]
Left = 0
Top = 49
ExplicitLeft = 0
ExplicitTop = 49
end
- inherited ToolButton10: TToolButton
+ inherited ToolButton10: TToolButton [12]
Left = 145
Top = 49
ExplicitLeft = 145
ExplicitTop = 49
end
- inherited ToolButton11: TToolButton
+ inherited ToolButton6: TToolButton [13]
Left = 270
Top = 49
ExplicitLeft = 270
ExplicitTop = 49
end
+ inherited ToolButton7: TToolButton [14]
+ Left = 336
+ Top = 49
+ Wrap = True
+ ExplicitLeft = 336
+ ExplicitTop = 49
+ end
+ inherited ToolButton8: TToolButton [15]
+ Left = 0
+ Top = 71
+ ExplicitLeft = 0
+ ExplicitTop = 71
+ end
end
inherited cxGrid: TcxGrid
- Top = 99
- Height = 205
- ExplicitTop = 99
- ExplicitHeight = 205
+ Top = 121
+ Height = 183
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewTIPO: TcxGridDBColumn
Visible = False
@@ -85,8 +88,7 @@ inherited frViewDetallesAlbaranCliente: TfrViewDetallesAlbaranCliente
end
end
inherited TBXDock1: TTBXDock
- Top = 73
- ExplicitTop = 73
+ Top = 95
inherited TBXToolbar1: TTBXToolbar
DockPos = 0
inherited TBXSubmenuItem1: TTBXSubmenuItem
diff --git a/Source/Modulos/Albaranes de cliente/Views/uViewDetallesAlbaranCliente.pas b/Source/Modulos/Albaranes de cliente/Views/uViewDetallesAlbaranCliente.pas
index fe0a0f80..fd007bca 100644
--- a/Source/Modulos/Albaranes de cliente/Views/uViewDetallesAlbaranCliente.pas
+++ b/Source/Modulos/Albaranes de cliente/Views/uViewDetallesAlbaranCliente.pas
@@ -30,6 +30,7 @@ type
procedure SetAlbaran(const Value: IBizAlbaranCliente);
procedure AnadirArticulosInterno; override;
+ procedure RellenarArticulosInterno; override;
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
public
@@ -64,6 +65,14 @@ begin
Result := FAlbaran;
end;
+procedure TfrViewDetallesAlbaranCliente.RellenarArticulosInterno;
+begin
+ (Controller as IDetallesAlbaranClienteController).AnadirArticulos(Detalles, Albaran.Cliente, False);
+
+ if (Albaran.TIPO = CTE_TIPO_ALBARAN_DEV) then
+ (Controller as IDetallesAlbaranClienteController).CambiarSignoDetalles(Detalles);
+end;
+
procedure TfrViewDetallesAlbaranCliente.SetAlbaran(const Value: IBizAlbaranCliente);
begin
FAlbaran := Value;
diff --git a/Source/Modulos/Albaranes de proveedor/Controller/uDetallesAlbaranProveedorController.pas b/Source/Modulos/Albaranes de proveedor/Controller/uDetallesAlbaranProveedorController.pas
index b94a5020..ed3b03a2 100644
--- a/Source/Modulos/Albaranes de proveedor/Controller/uDetallesAlbaranProveedorController.pas
+++ b/Source/Modulos/Albaranes de proveedor/Controller/uDetallesAlbaranProveedorController.pas
@@ -9,7 +9,7 @@ uses
type
IDetallesAlbaranProveedorController = interface(IControllerDetallesArticulos)
['{6E35D49A-C78D-481D-93E9-859CD27EB79F}']
- procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
+ procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean = True); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
@@ -31,7 +31,7 @@ type
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
public
- procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
+ procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean = True); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
constructor Create; override;
destructor Destroy; override;
@@ -61,7 +61,7 @@ begin
end;
end;
-procedure TDetallesAlbaranProveedorController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor);
+procedure TDetallesAlbaranProveedorController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean);
var
AArticulos: IBizArticulo;
begin
@@ -69,8 +69,19 @@ begin
begin
try
AArticulos := (FArticulosController.BuscarTodos as IBizArticulo);
- AArticulos := (FArticulosController as IArticulosAlbaranProveedorController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a este albarán de proveedor', True, AProveedor);
- Add(ADetalles, AArticulos);
+
+ //Si nueva fila es false, quiere decir que se sustituye un determinado artículo, por ello la lista a seleccionar no debe ser multiselect
+ if ANuevaFila then
+ begin
+ AArticulos := (FArticulosController as IArticulosAlbaranProveedorController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a este albarán de proveedor', True, AProveedor);
+ Add(ADetalles, AArticulos)
+ end
+ else
+ begin
+ AArticulos := (FArticulosController as IArticulosAlbaranProveedorController).ElegirArticulos(AArticulos, 'Elija el artículo que desea añadir a este albarán de proveedor', False, AProveedor);
+ RellenarDetalle(ADetalles, AArticulos);
+ end;
+
finally
AArticulos := Nil;
end;
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uViewDetallesAlbaranProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Views/uViewDetallesAlbaranProveedor.dfm
index c02ca492..b9700f08 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uViewDetallesAlbaranProveedor.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Views/uViewDetallesAlbaranProveedor.dfm
@@ -1,51 +1,43 @@
inherited frViewDetallesAlbaranProveedor: TfrViewDetallesAlbaranProveedor
inherited ToolBar1: TToolBar
- Height = 73
- ExplicitHeight = 73
- inherited ToolButton3: TToolButton
- Wrap = False
- end
- inherited ToolButton4: TToolButton
- Left = 278
- Top = 0
- ExplicitLeft = 278
- ExplicitTop = 0
- end
- inherited ToolButton14: TToolButton
- Left = 334
- Top = 0
- ExplicitLeft = 334
- ExplicitTop = 0
- end
- inherited FontName: TJvFontComboBox
+ Height = 95
+ ExplicitHeight = 95
+ inherited FontName: TJvFontComboBox [4]
+ Left = 56
Top = 22
+ ExplicitLeft = 56
ExplicitTop = 22
end
+ inherited ToolButton14: TToolButton [5]
+ Left = 201
+ Wrap = False
+ ExplicitLeft = 201
+ end
inherited FontSize: TEdit
+ Left = 266
Top = 22
+ ExplicitLeft = 266
ExplicitTop = 22
end
inherited UpDown1: TUpDown
+ Left = 308
Top = 22
+ ExplicitLeft = 308
ExplicitTop = 22
end
inherited ToolButton13: TToolButton
+ Left = 325
Top = 22
+ ExplicitLeft = 325
ExplicitTop = 22
end
- inherited ToolButton6: TToolButton
+ inherited ToolButton11: TToolButton [9]
+ Left = 333
Top = 22
+ ExplicitLeft = 333
ExplicitTop = 22
end
- inherited ToolButton7: TToolButton
- Top = 22
- ExplicitTop = 22
- end
- inherited ToolButton8: TToolButton
- Top = 22
- ExplicitTop = 22
- end
- inherited ToolButton12: TToolButton
+ inherited ToolButton12: TToolButton [10]
Left = 0
Top = 22
Wrap = True
@@ -53,30 +45,42 @@ inherited frViewDetallesAlbaranProveedor: TfrViewDetallesAlbaranProveedor
ExplicitTop = 22
ExplicitHeight = 27
end
- inherited ToolButton9: TToolButton
+ inherited ToolButton9: TToolButton [11]
Left = 0
Top = 49
ExplicitLeft = 0
ExplicitTop = 49
end
- inherited ToolButton10: TToolButton
+ inherited ToolButton10: TToolButton [12]
Left = 145
Top = 49
ExplicitLeft = 145
ExplicitTop = 49
end
- inherited ToolButton11: TToolButton
+ inherited ToolButton6: TToolButton [13]
Left = 270
Top = 49
ExplicitLeft = 270
ExplicitTop = 49
end
+ inherited ToolButton7: TToolButton [14]
+ Left = 336
+ Top = 49
+ Wrap = True
+ ExplicitLeft = 336
+ ExplicitTop = 49
+ end
+ inherited ToolButton8: TToolButton [15]
+ Left = 0
+ Top = 71
+ ExplicitLeft = 0
+ ExplicitTop = 71
+ end
end
inherited cxGrid: TcxGrid
- Top = 99
- Height = 205
+ Top = 121
+ Height = 183
ExplicitTop = 99
- ExplicitHeight = 205
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewIMPORTENETO: TcxGridDBColumn
Properties.ReadOnly = False
@@ -84,8 +88,7 @@ inherited frViewDetallesAlbaranProveedor: TfrViewDetallesAlbaranProveedor
end
end
inherited TBXDock1: TTBXDock
- Top = 73
- ExplicitTop = 73
+ Top = 95
inherited TBXToolbar1: TTBXToolbar
inherited TBXSubmenuItem1: TTBXSubmenuItem
Visible = False
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uViewDetallesAlbaranProveedor.pas b/Source/Modulos/Albaranes de proveedor/Views/uViewDetallesAlbaranProveedor.pas
index 63a5a0cf..a77c6084 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uViewDetallesAlbaranProveedor.pas
+++ b/Source/Modulos/Albaranes de proveedor/Views/uViewDetallesAlbaranProveedor.pas
@@ -29,6 +29,7 @@ type
procedure SetAlbaran(const Value: IBizAlbaranProveedor);
procedure AnadirArticulosInterno; override;
+ procedure RellenarArticulosInterno; override;
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
public
@@ -63,6 +64,14 @@ begin
Result := FAlbaran;
end;
+procedure TfrViewDetallesAlbaranProveedor.RellenarArticulosInterno;
+begin
+ (Controller as IDetallesAlbaranProveedorController).AnadirArticulos(Detalles, Albaran.Proveedor, False);
+
+ if (Albaran.TIPO = CTE_TIPO_ALBARAN_DEV) then
+ (Controller as IDetallesAlbaranProveedorController).CambiarSignoDetalles(Detalles);
+end;
+
procedure TfrViewDetallesAlbaranProveedor.SetAlbaran(const Value: IBizAlbaranProveedor);
begin
FAlbaran := Value;
diff --git a/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas b/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas
index 57ec9644..e6c326fd 100644
--- a/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas
+++ b/Source/Modulos/Articulos/Model/schArticulosClient_Intf.pas
@@ -9,8 +9,8 @@ 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 = '{79461C02-C303-4849-B89B-1A86EB440B71}';
- RID_ArticulosParaCliente = '{79CE72E6-EEE0-4CD7-BF63-178D4CBAD3E7}';
+ RID_Articulos = '{6930163F-C204-4661-9B8E-E5EB08652E93}';
+ RID_ArticulosParaCliente = '{02961EF0-4BAA-4C29-B66E-E1FCD09DBC15}';
{ Data table names }
nme_Articulos = 'Articulos';
@@ -107,7 +107,7 @@ const
type
{ IArticulos }
IArticulos = interface(IDAStronglyTypedDataTable)
- ['{1F24EC6B-18D1-43B7-B276-6889F602834E}']
+ ['{0E1C6D96-6382-45DF-8992-448C25CF4CED}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -370,7 +370,7 @@ type
{ IArticulosParaCliente }
IArticulosParaCliente = interface(IDAStronglyTypedDataTable)
- ['{009C7FBB-A768-4BF4-9FB7-5CDB273A163C}']
+ ['{82CAF5F9-F5A9-4A0D-9FBB-6229D32300DA}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
diff --git a/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas b/Source/Modulos/Articulos/Model/schArticulosServer_Intf.pas
index 6606e504..5d69a3fe 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 = '{C0937769-365F-4948-AE41-A6B3B28A4C51}';
- RID_ArticulosParaClienteDelta = '{D132BF20-DB8F-4A41-A479-9F31BABB1922}';
+ RID_ArticulosDelta = '{A56987C7-0587-447A-80F8-44F882CC1326}';
+ RID_ArticulosParaClienteDelta = '{4BF57D32-A849-47E2-9AC3-81691DC7B0CA}';
type
{ IArticulosDelta }
IArticulosDelta = interface(IArticulos)
- ['{C0937769-365F-4948-AE41-A6B3B28A4C51}']
+ ['{A56987C7-0587-447A-80F8-44F882CC1326}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -278,7 +278,7 @@ type
{ IArticulosParaClienteDelta }
IArticulosParaClienteDelta = interface(IArticulosParaCliente)
- ['{D132BF20-DB8F-4A41-A479-9F31BABB1922}']
+ ['{4BF57D32-A849-47E2-9AC3-81691DC7B0CA}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
diff --git a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm
index 93f39ec6..a6c3a106 100644
--- a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm
+++ b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm
@@ -1,4 +1,4 @@
-object srvArticulos: TsrvArticulos
+object srvArticulos: TsrvArticulos
OldCreateOrder = True
OnCreate = DARemoteServiceCreate
RequiresSession = True
@@ -530,6 +530,8 @@ object srvArticulos: TsrvArticulos
Params = <
item
Name = 'ID'
+ DataType = datAutoInc
+ GeneratorName = 'GEN_ARTICULOS_ID'
Value = ''
end
item
diff --git a/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas
index 6c305cb6..81284ec5 100644
--- a/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas
+++ b/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas
@@ -9,7 +9,7 @@ uses
type
IDetallesFacturaClienteController = interface(IControllerDetallesArticulos)
['{D3942A48-C55B-4A98-AC5B-B5E652ED393E}']
- procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
+ procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente);
procedure AnadirDetalleFacturaAsociadaAbono(ADetalles: IBizDetallesFacturaCliente; AReferencia: String; AFecha: String);
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
@@ -32,7 +32,7 @@ type
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
public
- procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
+ procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
//ABONOS
@@ -65,16 +65,27 @@ begin
end;
end;
-procedure TDetallesFacturaClienteController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente);
+procedure TDetallesFacturaClienteController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean);
var
AArticulos: IBizArticulo;
begin
if Assigned(ADetalles) then
begin
- AArticulos := (FArticulosController.BuscarTodos(ACliente) as IBizArticulo);
try
- AArticulos := (FArticulosController as IArticulosFacturaClienteController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a esta factura de cliente', True);
- Add(ADetalles, AArticulos);
+ AArticulos := (FArticulosController.BuscarTodos(ACliente) as IBizArticulo);
+
+ //Si nueva fila es false, quiere decir que se sustituye un determinado artículo, por ello la lista a seleccionar no debe ser multiselect
+ if ANuevaFila then
+ begin
+ AArticulos := (FArticulosController as IArticulosFacturaClienteController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a esta factura de cliente', True);
+ Add(ADetalles, AArticulos)
+ end
+ else
+ begin
+ AArticulos := (FArticulosController as IArticulosFacturaClienteController).ElegirArticulos(AArticulos, 'Elija el artículo que desea añadir a esta factura de cliente', False);
+ RellenarDetalle(ADetalles, AArticulos);
+ end;
+
finally
AArticulos := Nil;
end;
diff --git a/Source/Modulos/Facturas de cliente/Views/uViewDetallesFacturaCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uViewDetallesFacturaCliente.dfm
index 60866831..faf905a8 100644
--- a/Source/Modulos/Facturas de cliente/Views/uViewDetallesFacturaCliente.dfm
+++ b/Source/Modulos/Facturas de cliente/Views/uViewDetallesFacturaCliente.dfm
@@ -1,9 +1,87 @@
inherited frViewDetallesFacturaCliente: TfrViewDetallesFacturaCliente
- inherited cxGrid: TcxGrid
- inherited cxGridView: TcxGridDBTableView
- inherited cxGridViewIMPORTEPORTE: TcxGridDBColumn
- Visible = False
- end
+ inherited ToolBar1: TToolBar
+ Height = 95
+ ExplicitHeight = 95
+ inherited FontName: TJvFontComboBox [4]
+ Left = 56
+ Top = 22
+ ExplicitLeft = 56
+ ExplicitTop = 22
+ end
+ inherited ToolButton14: TToolButton [5]
+ Left = 201
+ Wrap = False
+ ExplicitLeft = 201
+ end
+ inherited FontSize: TEdit
+ Left = 266
+ Top = 22
+ ExplicitLeft = 266
+ ExplicitTop = 22
+ end
+ inherited UpDown1: TUpDown
+ Left = 308
+ Top = 22
+ ExplicitLeft = 308
+ ExplicitTop = 22
+ end
+ inherited ToolButton13: TToolButton
+ Left = 325
+ Top = 22
+ ExplicitLeft = 325
+ ExplicitTop = 22
+ end
+ inherited ToolButton11: TToolButton [9]
+ Left = 333
+ Top = 22
+ ExplicitLeft = 333
+ ExplicitTop = 22
+ end
+ inherited ToolButton12: TToolButton [10]
+ Left = 0
+ Top = 22
+ Wrap = True
+ ExplicitLeft = 0
+ ExplicitTop = 22
+ ExplicitHeight = 27
+ end
+ inherited ToolButton9: TToolButton [11]
+ Left = 0
+ Top = 49
+ ExplicitLeft = 0
+ ExplicitTop = 49
+ end
+ inherited ToolButton10: TToolButton [12]
+ Left = 145
+ Top = 49
+ ExplicitLeft = 145
+ ExplicitTop = 49
+ end
+ inherited ToolButton6: TToolButton [13]
+ Left = 270
+ Top = 49
+ ExplicitLeft = 270
+ ExplicitTop = 49
+ end
+ inherited ToolButton7: TToolButton [14]
+ Left = 336
+ Top = 49
+ Wrap = True
+ ExplicitLeft = 336
+ ExplicitTop = 49
+ end
+ inherited ToolButton8: TToolButton [15]
+ Left = 0
+ Top = 71
+ ExplicitLeft = 0
+ ExplicitTop = 71
end
end
+ inherited cxGrid: TcxGrid
+ Top = 121
+ Height = 183
+ end
+ inherited TBXDock1: TTBXDock
+ Top = 95
+ end
end
diff --git a/Source/Modulos/Facturas de cliente/Views/uViewDetallesFacturaCliente.pas b/Source/Modulos/Facturas de cliente/Views/uViewDetallesFacturaCliente.pas
index e29d30a7..ac1bd4e1 100644
--- a/Source/Modulos/Facturas de cliente/Views/uViewDetallesFacturaCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Views/uViewDetallesFacturaCliente.pas
@@ -29,6 +29,7 @@ type
procedure SetFactura(const Value: IBizFacturaCliente);
procedure AnadirArticulosInterno; override;
+ procedure RellenarArticulosInterno; override;
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
public
@@ -63,6 +64,14 @@ begin
Result := FFactura;
end;
+procedure TfrViewDetallesFacturaCliente.RellenarArticulosInterno;
+begin
+ (Controller as IDetallesFacturaClienteController).AnadirArticulos(Detalles, Factura.Cliente, False);
+
+ if (Factura.TIPO = CTE_TIPO_ABONO) then
+ (Controller as IDetallesFacturaClienteController).CambiarSignoDetalles(Detalles);
+end;
+
procedure TfrViewDetallesFacturaCliente.SetFactura(const Value: IBizFacturaCliente);
begin
FFactura := Value;
diff --git a/Source/Modulos/Facturas de proveedor/Controller/uDetallesFacturaProveedorController.pas b/Source/Modulos/Facturas de proveedor/Controller/uDetallesFacturaProveedorController.pas
index f63870ce..f5570fee 100644
--- a/Source/Modulos/Facturas de proveedor/Controller/uDetallesFacturaProveedorController.pas
+++ b/Source/Modulos/Facturas de proveedor/Controller/uDetallesFacturaProveedorController.pas
@@ -9,7 +9,7 @@ uses
type
IDetallesFacturaProveedorController = interface(IControllerDetallesArticulos)
['{49F6199E-E031-42F5-AEA5-E70C3E3479A1}']
- procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
+ procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean = True); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor);
procedure AnadirDetalleFacturaAsociadaAbono(ADetalles: IBizDetallesFacturaProveedor; AReferencia: String; AFecha: String);
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
@@ -31,7 +31,7 @@ type
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
public
- procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
+ procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean = True); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
procedure AnadirDetalleFacturaAsociadaAbono(ADetalles: IBizDetallesFacturaProveedor; AReferencia: String; AFecha: String);
constructor Create; override;
@@ -62,16 +62,27 @@ begin
end;
end;
-procedure TDetallesFacturaProveedorController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor);
+procedure TDetallesFacturaProveedorController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean);
var
AArticulos: IBizArticulo;
begin
if Assigned(ADetalles) then
begin
- AArticulos := (FArticulosController.BuscarTodos as IBizArticulo);
try
- AArticulos := (FArticulosController as IArticulosFacturaProveedorController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a esta factura de Proveedor', True, AProveedor);
- Add(ADetalles, AArticulos);
+ AArticulos := (FArticulosController.BuscarTodos as IBizArticulo);
+
+ //Si nueva fila es false, quiere decir que se sustituye un determinado artículo, por ello la lista a seleccionar no debe ser multiselect
+ if ANuevaFila then
+ begin
+ AArticulos := (FArticulosController as IArticulosFacturaProveedorController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a esta factura de Proveedor', True, AProveedor);
+ Add(ADetalles, AArticulos)
+ end
+ else
+ begin
+ AArticulos := (FArticulosController as IArticulosFacturaProveedorController).ElegirArticulos(AArticulos, 'Elija el artículo que desea añadir a esta factura de Proveedor', False, AProveedor);
+ RellenarDetalle(ADetalles, AArticulos);
+ end;
+
finally
AArticulos := Nil;
end;
diff --git a/Source/Modulos/Facturas de proveedor/Views/uViewDetallesFacturaProveedor.dfm b/Source/Modulos/Facturas de proveedor/Views/uViewDetallesFacturaProveedor.dfm
index 15ac118d..8737039f 100644
--- a/Source/Modulos/Facturas de proveedor/Views/uViewDetallesFacturaProveedor.dfm
+++ b/Source/Modulos/Facturas de proveedor/Views/uViewDetallesFacturaProveedor.dfm
@@ -1,5 +1,85 @@
inherited frViewDetallesFacturaProveedor: TfrViewDetallesFacturaProveedor
+ inherited ToolBar1: TToolBar
+ Height = 95
+ ExplicitHeight = 95
+ inherited FontName: TJvFontComboBox [4]
+ Left = 56
+ Top = 22
+ ExplicitLeft = 56
+ ExplicitTop = 22
+ end
+ inherited ToolButton14: TToolButton [5]
+ Left = 201
+ Wrap = False
+ ExplicitLeft = 201
+ end
+ inherited FontSize: TEdit
+ Left = 266
+ Top = 22
+ ExplicitLeft = 266
+ ExplicitTop = 22
+ end
+ inherited UpDown1: TUpDown
+ Left = 308
+ Top = 22
+ ExplicitLeft = 308
+ ExplicitTop = 22
+ end
+ inherited ToolButton13: TToolButton
+ Left = 325
+ Top = 22
+ ExplicitLeft = 325
+ ExplicitTop = 22
+ end
+ inherited ToolButton11: TToolButton [9]
+ Left = 333
+ Top = 22
+ ExplicitLeft = 333
+ ExplicitTop = 22
+ end
+ inherited ToolButton12: TToolButton [10]
+ Left = 0
+ Top = 22
+ Wrap = True
+ ExplicitLeft = 0
+ ExplicitTop = 22
+ ExplicitHeight = 27
+ end
+ inherited ToolButton9: TToolButton [11]
+ Left = 0
+ Top = 49
+ ExplicitLeft = 0
+ ExplicitTop = 49
+ end
+ inherited ToolButton10: TToolButton [12]
+ Left = 145
+ Top = 49
+ ExplicitLeft = 145
+ ExplicitTop = 49
+ end
+ inherited ToolButton6: TToolButton [13]
+ Left = 270
+ Top = 49
+ ExplicitLeft = 270
+ ExplicitTop = 49
+ end
+ inherited ToolButton7: TToolButton [14]
+ Left = 336
+ Top = 49
+ Wrap = True
+ ExplicitLeft = 336
+ ExplicitTop = 49
+ end
+ inherited ToolButton8: TToolButton [15]
+ Left = 0
+ Top = 71
+ ExplicitLeft = 0
+ ExplicitTop = 71
+ end
+ end
inherited cxGrid: TcxGrid
+ Top = 121
+ Height = 183
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewIMPORTENETO: TcxGridDBColumn
Properties.ReadOnly = False
@@ -7,4 +87,7 @@ inherited frViewDetallesFacturaProveedor: TfrViewDetallesFacturaProveedor
end
end
end
+ inherited TBXDock1: TTBXDock
+ Top = 95
+ end
end
diff --git a/Source/Modulos/Facturas de proveedor/Views/uViewDetallesFacturaProveedor.pas b/Source/Modulos/Facturas de proveedor/Views/uViewDetallesFacturaProveedor.pas
index fe92c0aa..41438274 100644
--- a/Source/Modulos/Facturas de proveedor/Views/uViewDetallesFacturaProveedor.pas
+++ b/Source/Modulos/Facturas de proveedor/Views/uViewDetallesFacturaProveedor.pas
@@ -29,6 +29,7 @@ type
procedure SetFactura(const Value: IBizFacturaProveedor);
procedure AnadirArticulosInterno; override;
+ procedure RellenarArticulosInterno; override;
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
public
@@ -63,6 +64,14 @@ begin
Result := FFactura;
end;
+procedure TfrViewDetallesFacturaProveedor.RellenarArticulosInterno;
+begin
+ (Controller as IDetallesFacturaProveedorController).AnadirArticulos(Detalles, Factura.Proveedor, False);
+
+ if (Factura.TIPO = CTE_TIPO_ABONO) then
+ (Controller as IDetallesFacturaProveedorController).CambiarSignoDetalles(Detalles);
+end;
+
procedure TfrViewDetallesFacturaProveedor.SetFactura(const Value: IBizFacturaProveedor);
begin
FFactura := Value;
diff --git a/Source/Modulos/Pedidos a proveedor/Controller/uDetallesPedidoProveedorController.pas b/Source/Modulos/Pedidos a proveedor/Controller/uDetallesPedidoProveedorController.pas
index bcb32a3d..eef54d6b 100644
--- a/Source/Modulos/Pedidos a proveedor/Controller/uDetallesPedidoProveedorController.pas
+++ b/Source/Modulos/Pedidos a proveedor/Controller/uDetallesPedidoProveedorController.pas
@@ -9,7 +9,7 @@ uses
type
IDetallesPedidoProveedorController = interface(IControllerDetallesArticulos)
['{942428EC-BCB8-4C56-BFA6-EB9F05D5E0DB}']
- procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
+ procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean = True); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
function ArticulosPendientes(const ID : Integer): IBizDetallesPedidoProveedorPend;
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
@@ -32,7 +32,7 @@ type
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
public
- procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
+ procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean = True); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
function ArticulosPendientes(const ID : Integer): IBizDetallesPedidoProveedorPend;
constructor Create; override;
@@ -62,7 +62,7 @@ begin
end;
end;
-procedure TDetallesPedidoProveedorController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor);
+procedure TDetallesPedidoProveedorController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean);
var
AArticulos: IBizArticulo;
begin
@@ -70,8 +70,19 @@ begin
begin
try
AArticulos := (FArticulosController.BuscarTodos as IBizArticulo);
- AArticulos := (FArticulosController as IArticulosPedidoProveedorController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a este pedido a proveedor', True, AProveedor);
- Add(ADetalles, AArticulos);
+
+ //Si nueva fila es false, quiere decir que se sustituye un determinado artículo, por ello la lista a seleccionar no debe ser multiselect
+ if ANuevaFila then
+ begin
+ AArticulos := (FArticulosController as IArticulosPedidoProveedorController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a este pedido a proveedor', True, AProveedor);
+ Add(ADetalles, AArticulos)
+ end
+ else
+ begin
+ AArticulos := (FArticulosController as IArticulosPedidoProveedorController).ElegirArticulos(AArticulos, 'Elija el artículo que desea añadir a este pedido a proveedor', False, AProveedor);
+ RellenarDetalle(ADetalles, AArticulos);
+ end;
+
finally
AArticulos := Nil;
end;
diff --git a/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.dfm b/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.dfm
index 8e5b982b..c49df060 100644
--- a/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.dfm
+++ b/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.dfm
@@ -1,9 +1,92 @@
inherited frViewDetallesPedidoProveedor: TfrViewDetallesPedidoProveedor
+ inherited ToolBar1: TToolBar
+ Height = 95
+ ExplicitHeight = 95
+ inherited FontName: TJvFontComboBox [4]
+ Left = 56
+ Top = 22
+ ExplicitLeft = 56
+ ExplicitTop = 22
+ end
+ inherited ToolButton14: TToolButton [5]
+ Left = 201
+ Wrap = False
+ ExplicitLeft = 201
+ end
+ inherited FontSize: TEdit
+ Left = 266
+ Top = 22
+ ExplicitLeft = 266
+ ExplicitTop = 22
+ end
+ inherited UpDown1: TUpDown
+ Left = 308
+ Top = 22
+ ExplicitLeft = 308
+ ExplicitTop = 22
+ end
+ inherited ToolButton13: TToolButton
+ Left = 325
+ Top = 22
+ ExplicitLeft = 325
+ ExplicitTop = 22
+ end
+ inherited ToolButton11: TToolButton [9]
+ Left = 333
+ Top = 22
+ ExplicitLeft = 333
+ ExplicitTop = 22
+ end
+ inherited ToolButton12: TToolButton [10]
+ Left = 0
+ Top = 22
+ Wrap = True
+ ExplicitLeft = 0
+ ExplicitTop = 22
+ ExplicitHeight = 27
+ end
+ inherited ToolButton9: TToolButton [11]
+ Left = 0
+ Top = 49
+ ExplicitLeft = 0
+ ExplicitTop = 49
+ end
+ inherited ToolButton10: TToolButton [12]
+ Left = 145
+ Top = 49
+ ExplicitLeft = 145
+ ExplicitTop = 49
+ end
+ inherited ToolButton6: TToolButton [13]
+ Left = 270
+ Top = 49
+ ExplicitLeft = 270
+ ExplicitTop = 49
+ end
+ inherited ToolButton7: TToolButton [14]
+ Left = 336
+ Top = 49
+ Wrap = True
+ ExplicitLeft = 336
+ ExplicitTop = 49
+ end
+ inherited ToolButton8: TToolButton [15]
+ Left = 0
+ Top = 71
+ ExplicitLeft = 0
+ ExplicitTop = 71
+ end
+ end
inherited cxGrid: TcxGrid
+ Top = 121
+ Height = 183
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewIMPORTENETO: TcxGridDBColumn
Properties.ReadOnly = False
end
end
end
+ inherited TBXDock1: TTBXDock
+ Top = 95
+ end
end
diff --git a/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.pas b/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.pas
index eca00938..aec02cb2 100644
--- a/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.pas
+++ b/Source/Modulos/Pedidos a proveedor/Views/uViewDetallesPedidoProveedor.pas
@@ -30,6 +30,7 @@ type
procedure SetPedido(const Value: IBizPedidoProveedor);
procedure AnadirArticulosInterno; override;
+ procedure RellenarArticulosInterno; override;
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
public
@@ -45,6 +46,7 @@ uses uDetallesPedidoProveedorController;
procedure TfrViewDetallesPedidoProveedor.AnadirArticulosInterno;
begin
+//No sé porque está en este módulo hecho así, supongo que por seguridad.
if Assigned(Pedido) and Assigned(Pedido.Proveedor)
then (Controller as IDetallesPedidoProveedorController).AnadirArticulos(Detalles, Pedido.Proveedor)
else (Controller as IDetallesPedidoProveedorController).AnadirArticulos(Detalles);
@@ -66,6 +68,14 @@ begin
Result := FPedido;
end;
+procedure TfrViewDetallesPedidoProveedor.RellenarArticulosInterno;
+begin
+//No sé porque está en este módulo hecho así, supongo que por seguridad.
+ if Assigned(Pedido) and Assigned(Pedido.Proveedor)
+ then (Controller as IDetallesPedidoProveedorController).AnadirArticulos(Detalles, Pedido.Proveedor, False)
+ else (Controller as IDetallesPedidoProveedorController).AnadirArticulos(Detalles, False);
+end;
+
procedure TfrViewDetallesPedidoProveedor.SetPedido(const Value: IBizPedidoProveedor);
begin
FPedido := Value;
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uDetallesPresupuestoClienteController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uDetallesPresupuestoClienteController.pas
index 92ee8e74..cadc9e97 100644
--- a/Source/Modulos/Presupuestos de cliente/Controller/uDetallesPresupuestoClienteController.pas
+++ b/Source/Modulos/Presupuestos de cliente/Controller/uDetallesPresupuestoClienteController.pas
@@ -9,7 +9,7 @@ uses
type
IDetallesPresupuestoClienteController = interface(IControllerDetallesArticulos)
['{8D1D3559-E695-4962-9999-404B26B50D6C}']
- procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
+ procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
@@ -31,7 +31,7 @@ type
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
public
- procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); reintroduce; overload;
+ procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True); reintroduce; overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
constructor Create; override;
destructor Destroy; override;
@@ -53,14 +53,14 @@ begin
try
AArticulos := (FArticulosController.BuscarTodos(ACliente) as IBizArticulo);
ActualizarDetalles(ADetalles, AArticulos);
- ShowInfoMessage('Se han actualizado los descuentos para el cliente seleccionado');
+ ShowInfoMessage('Se han actualizado los descuentos para el cliente seleccionado');
finally
AArticulos := Nil;
end;
end;
end;
-procedure TDetallesPresupuestoClienteController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente);
+procedure TDetallesPresupuestoClienteController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean);
var
AArticulos: IBizArticulo;
begin
@@ -68,8 +68,19 @@ begin
begin
try
AArticulos := (FArticulosController.BuscarTodos(ACliente) as IBizArticulo);
- AArticulos := (FArticulosController as IArticulosPresupuestoClienteController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a este pedido de cliente', True);
- Add(ADetalles, AArticulos);
+
+ //Si nueva fila es false, quiere decir que se sustituye un determinado artículo, por ello la lista a seleccionar no debe ser multiselect
+ if ANuevaFila then
+ begin
+ AArticulos := (FArticulosController as IArticulosPresupuestoClienteController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a este presupuesto de cliente', True);
+ Add(ADetalles, AArticulos)
+ end
+ else
+ begin
+ AArticulos := (FArticulosController as IArticulosPresupuestoClienteController).ElegirArticulos(AArticulos, 'Elija el artículo que desea añadir a este presupuesto de cliente', False);
+ RellenarDetalle(ADetalles, AArticulos);
+ end;
+
finally
AArticulos := Nil;
end;
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.dfm
index 2cd01c73..c5d0108c 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.dfm
@@ -1,49 +1,94 @@
inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente
inherited ToolBar1: TToolBar
- inherited FontSize: TEdit
- ExplicitLeft = 278
+ Height = 95
+ inherited ToolButton3: TToolButton [1]
+ Left = 109
+ Wrap = False
+ ExplicitLeft = 109
end
- inherited UpDown1: TUpDown [4]
- Left = 320
- Top = 0
- ExplicitLeft = 320
- ExplicitTop = 0
+ inherited ToolButton2: TToolButton [2]
+ Left = 164
+ ExplicitLeft = 164
end
- inherited ToolButton4: TToolButton [5]
- Left = 337
- Wrap = True
- ExplicitLeft = 337
- end
- inherited ToolButton14: TToolButton [6]
+ inherited ToolButton12: TToolButton [3]
Left = 0
- Top = 22
+ Top = 0
+ Wrap = True
ExplicitLeft = 0
- ExplicitTop = 22
+ ExplicitTop = 0
+ ExplicitHeight = 27
+ end
+ inherited ToolButton4: TToolButton [4]
+ Top = 27
+ ExplicitTop = 27
+ end
+ inherited ToolButton14: TToolButton [5]
+ Top = 27
+ Wrap = False
+ ExplicitTop = 27
+ end
+ inherited ToolButton10: TToolButton [6]
+ Left = 121
+ Top = 27
+ Wrap = True
+ ExplicitLeft = 121
+ ExplicitTop = 27
end
inherited FontName: TJvFontComboBox [7]
- Left = 65
+ Top = 49
+ ExplicitTop = 49
end
- inherited ToolButton13: TToolButton
- Left = 210
- Wrap = False
- ExplicitLeft = 210
+ inherited UpDown1: TUpDown [8]
+ Left = 145
+ Top = 49
+ ExplicitLeft = 145
+ ExplicitTop = 49
end
inherited ToolButton6: TToolButton
- Left = 218
- ExplicitLeft = 218
+ Left = 162
+ Top = 49
+ ExplicitLeft = 162
+ ExplicitTop = 49
end
- inherited ToolButton7: TToolButton
- Left = 284
- ExplicitLeft = 284
+ inherited ToolButton11: TToolButton [10]
+ Left = 228
+ Top = 49
+ Wrap = True
+ ExplicitLeft = 228
+ ExplicitTop = 49
end
- inherited ToolButton8: TToolButton
- Left = 351
- Wrap = False
- ExplicitLeft = 351
+ inherited ToolButton9: TToolButton [11]
+ Left = 0
+ Top = 71
+ ExplicitLeft = 0
+ ExplicitTop = 71
+ end
+ inherited FontSize: TEdit [12]
+ Top = 71
+ ExplicitTop = 71
+ end
+ inherited ToolButton8: TToolButton [13]
+ Left = 187
+ Top = 71
+ ExplicitLeft = 187
+ ExplicitTop = 71
+ end
+ inherited ToolButton13: TToolButton [14]
+ Left = 270
+ Top = 71
+ ExplicitLeft = 270
+ ExplicitTop = 71
+ end
+ inherited ToolButton7: TToolButton [15]
+ Top = 71
+ ExplicitTop = 71
end
end
inherited cxGrid: TcxGrid
- ExplicitTop = 99
- ExplicitHeight = 205
+ Top = 121
+ Height = 183
+ end
+ inherited TBXDock1: TTBXDock
+ Top = 95
end
end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.pas
index 009b02b0..7e98f610 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.pas
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewDetallesPresupuestoCliente.pas
@@ -30,6 +30,7 @@ type
procedure SetPresupuesto(const Value: IBizPresupuestoCliente);
procedure AnadirArticulosInterno; override;
+ procedure RellenarArticulosInterno; override;
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
public
@@ -64,6 +65,11 @@ begin
Result := FPresupuesto;
end;
+procedure TfrViewDetallesPresupuestoCliente.RellenarArticulosInterno;
+begin
+ (Controller as IDetallesPresupuestoClienteController).AnadirArticulos(Detalles, Presupuesto.Cliente, False);
+end;
+
procedure TfrViewDetallesPresupuestoCliente.SetPresupuesto(const Value: IBizPresupuestoCliente);
begin
FPresupuesto := Value;
diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES
index e1e32989..2ffcb1ef 100644
Binary files a/Source/Servidor/FactuGES_Server.RES and b/Source/Servidor/FactuGES_Server.RES differ
diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr
index 09db9442..dc00f75d 100644
--- a/Source/Servidor/FactuGES_Server.dpr
+++ b/Source/Servidor/FactuGES_Server.dpr
@@ -95,8 +95,6 @@ uses
srvUnidadesMedida_Impl in '..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas' {srvUnidadesMedida: TDataAbstractService},
schUnidadesMedidaClient_Intf in '..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas',
schUnidadesMedidaServer_Intf in '..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas',
- schArticulosClient_Intf in '..\Modulos\Articulos\Model\schArticulosClient_Intf.pas',
- schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas',
schAlbaranesClienteClient_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas',
schAlbaranesClienteServer_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas',
schUsuariosClient_Intf in '..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas',
@@ -104,7 +102,9 @@ uses
uRptAlbaranesCliente_Server in '..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas' {RptAlbaranesCliente: TDataModule},
schEmpresasClient_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas',
schEmpresasServer_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas',
- uStringsUtils in '..\Base\Utiles\uStringsUtils.pas';
+ uStringsUtils in '..\Base\Utiles\uStringsUtils.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.rc b/Source/Servidor/FactuGES_Server.rc
index 086a9ee7..40a243fa 100644
--- a/Source/Servidor/FactuGES_Server.rc
+++ b/Source/Servidor/FactuGES_Server.rc
@@ -14,7 +14,7 @@ BEGIN
BEGIN
VALUE "FileVersion", "1.0.0.0\0"
VALUE "ProductVersion", "1.0.0.0\0"
- VALUE "CompileDate", "martes, 05 de febrero de 2008 16:13\0"
+ VALUE "CompileDate", "martes, 05 de febrero de 2008 21:13\0"
END
END
BLOCK "VarFileInfo"