diff --git a/Source/Cliente/FactuGES.bdsproj b/Source/Cliente/FactuGES.bdsproj
index 3dfef782..6922c57a 100644
--- a/Source/Cliente/FactuGES.bdsproj
+++ b/Source/Cliente/FactuGES.bdsproj
@@ -149,7 +149,7 @@
False
2
3
- 2
+ 3
0
False
False
@@ -162,7 +162,7 @@
Rodax Software S.L.
- 2.3.2.0
+ 2.3.3.0
FactuGES
diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res
index 1c8c1f05..b68c3d50 100644
Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ
diff --git a/Source/FactuGES_Group.bdsgroup b/Source/FactuGES_Group.bdsgroup
index e800c23b..991e16b2 100644
--- a/Source/FactuGES_Group.bdsgroup
+++ b/Source/FactuGES_Group.bdsgroup
@@ -8,7 +8,9 @@
-
+
+
+
DataAbstract_D10\DataAbstract_D10.bdsproj
Base\Base.bdsproj
Base\ControllerBase\ControllerBase.bdsproj
@@ -85,14 +87,13 @@
Modulos\Albaranes de proveedor\Plugin\AlbaranesProveedor_plugin.bdsproj
Cliente\FactuGES.bdsproj
Servidor\FactuGES_Server.bdsproj
- Modulos\Relaciones\Pedidos de proveedor - Albaranes de proveedor\PedProv_AlbProv_relation.bdsproj
+ Modulos\Comisiones\Model\Comisiones_model.bdsproj
+ Modulos\Comisiones\Data\Comisiones_data.bdsproj
+ Modulos\Comisiones\Controller\Comisiones_controller.bdsproj
+ Modulos\Comisiones\Views\Comisiones_view.bdsproj
+ Modulos\Comisiones\Plugin\Comisiones_plugin.bdsproj
Modulos\Relaciones\Albaranes de cliente - Facturas de cliente\AlbCli_FacCli_relation.bdsproj
- Modulos\Facturas de proveedor\Model\FacturasProveedor_model.bdsproj
- Modulos\Facturas de proveedor\Data\FacturasProveedor_data.bdsproj
- Modulos\Relaciones\Albaranes de proveedor - Facturas de proveedor\AlbProv_FacProv_relation.bdsproj
- Modulos\Facturas de proveedor\Controller\FacturasProveedor_controller.bdsproj
- Modulos\Facturas de proveedor\Views\FacturasProveedor_view.bdsproj
- DataAbstract_D10.bpl Base.bpl ControllerBase.bpl GUIBase.bpl Empresas_model.bpl Empresas_data.bpl Empresas_controller.bpl Usuarios.bpl Empresas_view.bpl Empresas_plugin.bpl TiposIVA_model.bpl TiposIVA_data.bpl TiposIVA_controller.bpl TiposIVA_view.bpl TiposIVA_plugin.bpl Contactos_model.bpl Contactos_data.bpl Contactos_controller.bpl Contactos_view.bpl Contactos_plugin.bpl Almacenes_model.bpl Almacenes_data.bpl Almacenes_controller.bpl Almacenes_view.bpl Almacenes_plugin.bpl Articulos_model.bpl Articulos_data.bpl Articulos_controller.bpl Articulos_view.bpl Articulos_plugin.bpl RecibosCliente_model.bpl RecibosCliente_data.bpl RecibosCliente_controller.bpl RecibosCliente_view.bpl RecibosCliente_plugin.bpl RemesasCliente_model.bpl RemesasCliente_data.bpl RemesasCliente_controller.bpl BancaElectronica_controller.bpl BancaElectronica_view.bpl RemesasCliente_view.bpl RemesasCliente_plugin.bpl PedidosCliente_model.bpl PedidosCliente_data.bpl PedidosCliente_controller.bpl AlbaranesCliente_model.bpl AlbaranesCliente_data.bpl AlbaranesCliente_controller.bpl FacturasCliente_model.bpl FacturasCliente_data.bpl FacturasCliente_controller.bpl PedidosProveedor_model.bpl PedidosProveedor_data.bpl PedidosProveedor_controller.bpl Inventario_model.bpl Inventario_data.bpl Inventario_controller.bpl AlbaranesProveedor_model.bpl AlbaranesProveedor_data.bpl AlbaranesProveedor_controller.bpl PedCli_PedProv_relation.bpl PedCli_AlbCli_relation.bpl PedidosCliente_view.bpl PedidosCliente_plugin.bpl AlbaranesCliente_view.bpl AlbaranesCliente_plugin.bpl FacturasCliente_view.bpl FacturasCliente_plugin.bpl Inventario_view.bpl Inventario_plugin.bpl PedidosProveedor_view.bpl PedidosProveedor_plugin.bpl AlbaranesProveedor_view.bpl AlbaranesProveedor_plugin.bpl FactuGES.exe FactuGES_Server.exe PedProv_AlbProv_relation.bpl AlbCli_FacCli_relation.bpl FacturasProveedor_model.bpl FacturasProveedor_data.bpl AlbProv_FacProv_relation.bpl FacturasProveedor_controller.bpl FacturasProveedor_view.bpl
+ DataAbstract_D10.bpl Base.bpl ControllerBase.bpl GUIBase.bpl Empresas_model.bpl Empresas_data.bpl Empresas_controller.bpl Usuarios.bpl Empresas_view.bpl Empresas_plugin.bpl TiposIVA_model.bpl TiposIVA_data.bpl TiposIVA_controller.bpl TiposIVA_view.bpl TiposIVA_plugin.bpl Contactos_model.bpl Contactos_data.bpl Contactos_controller.bpl Contactos_view.bpl Contactos_plugin.bpl Almacenes_model.bpl Almacenes_data.bpl Almacenes_controller.bpl Almacenes_view.bpl Almacenes_plugin.bpl Articulos_model.bpl Articulos_data.bpl Articulos_controller.bpl Articulos_view.bpl Articulos_plugin.bpl RecibosCliente_model.bpl RecibosCliente_data.bpl RecibosCliente_controller.bpl RecibosCliente_view.bpl RecibosCliente_plugin.bpl RemesasCliente_model.bpl RemesasCliente_data.bpl RemesasCliente_controller.bpl BancaElectronica_controller.bpl BancaElectronica_view.bpl RemesasCliente_view.bpl RemesasCliente_plugin.bpl PedidosCliente_model.bpl PedidosCliente_data.bpl PedidosCliente_controller.bpl AlbaranesCliente_model.bpl AlbaranesCliente_data.bpl AlbaranesCliente_controller.bpl FacturasCliente_model.bpl FacturasCliente_data.bpl FacturasCliente_controller.bpl PedidosProveedor_model.bpl PedidosProveedor_data.bpl PedidosProveedor_controller.bpl Inventario_model.bpl Inventario_data.bpl Inventario_controller.bpl AlbaranesProveedor_model.bpl AlbaranesProveedor_data.bpl AlbaranesProveedor_controller.bpl PedCli_PedProv_relation.bpl PedCli_AlbCli_relation.bpl PedidosCliente_view.bpl PedidosCliente_plugin.bpl AlbaranesCliente_view.bpl AlbaranesCliente_plugin.bpl FacturasCliente_view.bpl FacturasCliente_plugin.bpl Inventario_view.bpl Inventario_plugin.bpl PedidosProveedor_view.bpl PedidosProveedor_plugin.bpl AlbaranesProveedor_view.bpl AlbaranesProveedor_plugin.bpl FactuGES.exe FactuGES_Server.exe Comisiones_model.bpl Comisiones_data.bpl Comisiones_controller.bpl Comisiones_view.bpl Comisiones_plugin.bpl AlbCli_FacCli_relation.bpl
diff --git a/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteController.pas b/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteController.pas
index 601620c7..05df4e39 100644
--- a/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteController.pas
+++ b/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteController.pas
@@ -55,10 +55,14 @@ type
AAlbaran: IBizAlbaranCliente);
procedure QuitarDireccionEnvio(AAlbaran: IBizAlbaranCliente);
procedure RecuperarCliente(AAlbaran: IBizAlbaranCliente);
+
function CambiarSituacion(AAlbaran : IBizAlbaranCliente;
ANuevaSituacion: String; AFechaEnvio : TDateTime = 0;
AFechaRecibido : TDateTime = 0;
DoPost: Boolean = True) : Boolean;
+ function ValidarSituacion(ASituacion: String;
+ AFechaEnvio : TDateTime = 0;
+ AFechaRecibido : TDateTime = 0) : Boolean;
end;
TAlbaranesClienteController = class(TObservador, IAlbaranesClienteController)
@@ -83,10 +87,6 @@ type
procedure FiltrarEmpresa(AAlbaran: IBizAlbaranCliente);
function _Vacio : IBizAlbaranCliente;
function ValidarAlbaran(AAlbaran: IBizAlbaranCliente): Boolean;
- function ValidarSituacion(ASituacion: String;
- AFechaAlbaran : TDateTime;
- var AFechaEnvio : TDateTime;
- var AFechaRecibido : TDateTime) : Boolean;
public
property ClienteController: IClientesController read GetClienteController write SetClienteController;
@@ -128,6 +128,9 @@ type
function EsModificable(AAlbaran: IBizAlbaranCliente): Boolean;
function EsEliminable(AAlbaran: IBizAlbaranCliente): Boolean;
+ function ValidarSituacion(ASituacion: String;
+ AFechaEnvio : TDateTime = 0;
+ AFechaRecibido : TDateTime = 0) : Boolean;
function CambiarSituacion(AAlbaran : IBizAlbaranCliente;
ANuevaSituacion: String; AFechaEnvio : TDateTime = 0;
AFechaRecibido : TDateTime = 0;
@@ -279,6 +282,10 @@ begin
OpenBraket;
AddText(fld_AlbaranesClienteID_FACTURA + ' is null');
CloseBraket;
+ AddOperator(opAND);
+ OpenBraket;
+ AddText(fld_AlbaranesClienteFECHA_ENVIO + ' is not null');
+ CloseBraket;
end;
finally
HideHourglassCursor;
@@ -298,8 +305,8 @@ begin
AAlbaran.DataTable.Active := True;
// Validar la situación del albarán
- if ValidarSituacion(ANuevaSituacion, AAlbaran.FECHA_ALBARAN, AFechaEnvio, AFechaRecibido) then
- begin
+// if ValidarSituacion(ANuevaSituacion, AAlbaran.FECHA_ALBARAN, AFechaEnvio, AFechaRecibido) then
+// begin
ShowHourglassCursor;
AAlbaran.DataTable.DisableControls;
try
@@ -315,7 +322,7 @@ begin
AAlbaran.DataTable.EnableControls;
HideHourglassCursor;
end;
- end;
+// end;
end;
procedure TAlbaranesClienteController.CopiarDireccionEnvio(
@@ -501,24 +508,16 @@ begin
end;
function TAlbaranesClienteController.ValidarSituacion(ASituacion: String;
- AFechaAlbaran: TDateTime; var AFechaEnvio,
- AFechaRecibido: TDateTime): Boolean;
+ AFechaEnvio, AFechaRecibido: TDateTime): Boolean;
begin
Result := False;
- if ASituacion = SITUACION_ALBARAN_PENDIENTE then
+ if (ASituacion = SITUACION_ALBARAN_ENVIADO) then
begin
- AFechaEnvio := 0;
- AFechaRecibido := 0
- end
- else begin
- if (ASituacion = SITUACION_ALBARAN_ENVIADO) then
- begin
- AFechaRecibido := 0;
if (EsFechaVacia(AFechaEnvio)) then
raise Exception.Create('Hay que indicar la fecha de envío del albarán')
- end;
- if (ASituacion = SITUACION_ALBARAN_SERVIDO) then
- begin
+ end
+ else if (ASituacion = SITUACION_ALBARAN_SERVIDO) then
+ begin
if (EsFechaVacia(AFechaEnvio)) then
raise Exception.Create('Hay que indicar la fecha de envío del albarán');
if (EsFechaVacia(AFechaRecibido)) then
@@ -526,7 +525,6 @@ begin
if (AFechaRecibido < AFechaEnvio) then
raise Exception.Create('La fecha de recepción y firma del albarán por parte '
+ 'del cliente no puede ser anterior a la fecha de envio del material del albarán');
- end;
end;
Result := True;
end;
diff --git a/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.pas b/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.pas
index 555d6044..3d3421d6 100644
--- a/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.pas
+++ b/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.pas
@@ -122,7 +122,8 @@ begin
inherited;
try
- FController.CambiarSituacion(FAlbaranes, SITUACION_ALBARAN_SERVIDO, FAlbaranes.FECHA_ENVIO, Now);
+ if FController.ValidarSituacion(SITUACION_ALBARAN_SERVIDO, FAlbaranes.FECHA_ENVIO, Now) then
+ FController.CambiarSituacion(FAlbaranes, SITUACION_ALBARAN_SERVIDO, FAlbaranes.FECHA_ENVIO, Now);
except
on E : Exception do
ShowErrorMessage('Error al cambiar la situación del albarán', E.Message, E);
@@ -182,6 +183,7 @@ begin
(Sender as TAction).Enabled := HayDatos
and not (ViewGrid.NumSeleccionados > 1)
and (FAlbaranes.REF_FACTURA = '')
+ and (FAlbaranes.SITUACION <> SITUACION_ALBARAN_PENDIENTE)
and ViewGrid.esSeleccionCeldaDatos;
end;
@@ -215,7 +217,8 @@ begin
if bCambiarEstado then
begin
try
- FController.CambiarSituacion(FAlbaranes, SITUACION_ALBARAN_ENVIADO, Now);
+ if FController.ValidarSituacion(SITUACION_ALBARAN_ENVIADO, Now) then
+ FController.CambiarSituacion(FAlbaranes, SITUACION_ALBARAN_ENVIADO, Now);
{
if (ShowConfirmMessage('', 'Se ha realizado correctamente la salida del albarán de cliente. ¿Desea generar la factura de cliente correspondiente?') = IDYES) then
begin
diff --git a/Source/Modulos/Comisiones/Views/uEditorComisionesReport.dfm b/Source/Modulos/Comisiones/Views/uEditorComisionesReport.dfm
index a67e3383..b62d0edb 100644
--- a/Source/Modulos/Comisiones/Views/uEditorComisionesReport.dfm
+++ b/Source/Modulos/Comisiones/Views/uEditorComisionesReport.dfm
@@ -1,7 +1,13 @@
inherited fEditorComisionesPreview: TfEditorComisionesPreview
Caption = 'Previsualizar la factura'
+ ExplicitWidth = 803
PixelsPerInch = 96
TextHeight = 13
+ inherited JvNavPanelHeader: TJvNavPanelHeader
+ inherited Image1: TImage
+ Left = 768
+ end
+ end
object pnlFiltrar: TTBXDockablePanel [3]
Left = 0
Top = 102
diff --git a/Source/Modulos/Comisiones/Views/uEditorComisionesReport.pas b/Source/Modulos/Comisiones/Views/uEditorComisionesReport.pas
index 2b191fe8..5675ae1b 100644
--- a/Source/Modulos/Comisiones/Views/uEditorComisionesReport.pas
+++ b/Source/Modulos/Comisiones/Views/uEditorComisionesReport.pas
@@ -76,9 +76,15 @@ begin
try
AStream := FDataModule.GetReport(Null, False, edtFechaFiltro1.Text, edtFechaFiltro2.Text, cbAgentes.EditValue);
try
+ //Para que refresque el editor que presenta el informe y no falle al aplicar un filtro y cambiar el numero de hojas del informe
+ actPrimeraPagina.Execute;
+
Report.PreviewPages.Clear;
LoadFromStream(AStream);
Report.Preview.Refresh;
+
+ //Para que refresque el editor que presenta el informe y no falle al aplicar un filtro y cambiar el numero de hojas del informe
+ actAnchoPagina.Execute;
finally
AStream.Free;
end;
diff --git a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
index 96430dd5..e576c047 100644
--- a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
+++ b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
@@ -305,7 +305,7 @@ begin
with AFacturaActual.Detalles do
begin
Edit;
- CONCEPTO := 'Albarán ' + AListaAlbaranes.REFERENCIA + ' del ' + DateToStr(AListaAlbaranes.FECHA_ALBARAN);
+ CONCEPTO := 'Albarán ' + AListaAlbaranes.REFERENCIA + ' (Ref.Cliente: ' + AListaAlbaranes.REFERENCIA_CLIENTE + ') del ' + DateToStr(AListaAlbaranes.FECHA_ALBARAN);
Post;
end;
// Añado el contenido del albarán
@@ -342,9 +342,10 @@ begin
// Guardo la factura que acabo de generar o editar
AFacturaActual.CalcularImporteTotal;
Self.Guardar(AFacturaActual);
- // Asocio la factura con el albarán
+ // Asocio la factura con el albarán, y la fecha de la misma a la recepción del mismo
AListaAlbaranes.Edit;
AListaAlbaranes.ID_FACTURA := AFacturaActual.ID;
+ AListaAlbaranes.FECHA_RECEPCION := AFacturaActual.FECHA_FACTURA;
AListaAlbaranes.Post;
AAlbaranesController.Guardar(AListaAlbaranes);
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
index 0f9ca3ab..1e6019b6 100644
--- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
@@ -2,7 +2,6 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Caption = 'Lista de facturas de cliente'
ClientHeight = 666
ClientWidth = 640
- ExplicitTop = -78
ExplicitWidth = 648
ExplicitHeight = 700
PixelsPerInch = 96
@@ -122,9 +121,19 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
inherited dxLayoutControl1: TdxLayoutControl
Width = 640
ExplicitWidth = 640
+ inherited txtFiltroTodo: TcxTextEdit
+ ExplicitWidth = 273
+ Width = 273
+ end
+ inherited edtFechaIniFiltro: TcxDateEdit
+ ExplicitWidth = 121
+ Width = 121
+ end
inherited edtFechaFinFiltro: TcxDateEdit
- Left = 296
- ExplicitLeft = 296
+ Left = 295
+ ExplicitLeft = 295
+ ExplicitWidth = 244
+ Width = 244
end
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas
index 8121d2c3..9f4c09c0 100644
--- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas
@@ -302,7 +302,7 @@ begin
GenerarFacturaCli;
actRefrescar.Execute;
end;
- 100 : begin // Albaran nuevo vacio
+ 100 : begin // Factura nueva vacia
if FController.Anadir(Facturas) then
FController.Ver(Facturas);
end;
diff --git a/Source/Modulos/Relaciones/Albaranes de cliente - Facturas de cliente/uGenerarFacturasCliAlbCliUtils.pas b/Source/Modulos/Relaciones/Albaranes de cliente - Facturas de cliente/uGenerarFacturasCliAlbCliUtils.pas
index 8c3b7600..71e2f6b1 100644
--- a/Source/Modulos/Relaciones/Albaranes de cliente - Facturas de cliente/uGenerarFacturasCliAlbCliUtils.pas
+++ b/Source/Modulos/Relaciones/Albaranes de cliente - Facturas de cliente/uGenerarFacturasCliAlbCliUtils.pas
@@ -211,8 +211,8 @@ begin
end;
end;
dmGenerarFacturasCli.JsListaFacturasGeneradas.Execute;
- end;
- end;
+ end;
+ end;
if Assigned(AAlbaranesClienteController) then
Finalizar;
diff --git a/Source/Servidor/FactuGES_Server.bdsproj b/Source/Servidor/FactuGES_Server.bdsproj
index 26a179af..4e89cc64 100644
--- a/Source/Servidor/FactuGES_Server.bdsproj
+++ b/Source/Servidor/FactuGES_Server.bdsproj
@@ -1,4 +1,4 @@
-
+
+ RemObjects Pascal Script - RemObjects SDK 3.0 Integration
False
-