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 -