diff --git a/Build/BuildRoberto.fbl5 b/Build/BuildRoberto.fbl5 index 72bd3cc1..2d1ac100 100644 Binary files a/Build/BuildRoberto.fbl5 and b/Build/BuildRoberto.fbl5 differ diff --git a/Database/FACTUGES.FDB b/Database/FACTUGES.FDB index 83900fba..a5c09d3b 100644 Binary files a/Database/FACTUGES.FDB and b/Database/FACTUGES.FDB differ diff --git a/Source/Base/GUIBase/uViewFiltroBase.pas b/Source/Base/GUIBase/uViewFiltroBase.pas index b22ab8fe..ec3a0030 100644 --- a/Source/Base/GUIBase/uViewFiltroBase.pas +++ b/Source/Base/GUIBase/uViewFiltroBase.pas @@ -68,9 +68,10 @@ type end; implementation - {$R *.dfm} +uses uDialogUtils; + { TfrViewFiltroBase } function TfrViewFiltroBase.GetFiltrosChange: TNotifyEvent; @@ -117,7 +118,7 @@ begin begin if (edtFechaIniFiltro.EditValue > edtFechaFinFiltro.EditValue) then begin - ShowMessage('La fecha de inicio debe ser anterior a la fecha final'); + ShowWarningMessage('La fecha de inicio debe ser anterior a la fecha final'); edtFechaIniFiltro.SetFocus; Result := False; end diff --git a/Source/Base/Utiles/uDateUtils.pas b/Source/Base/Utiles/uDateUtils.pas index bf261c97..ac53f0a0 100644 --- a/Source/Base/Utiles/uDateUtils.pas +++ b/Source/Base/Utiles/uDateUtils.pas @@ -5,7 +5,8 @@ interface uses SysUtils, Classes; - +function DarFechaPrimerDia(Date: TDateTime): TDateTime; +function DarFechaUltimoDia(Date: TDateTime): TDateTime; function EsFechaVacia(AFecha : TDateTime): Boolean; implementation @@ -18,4 +19,23 @@ begin Result := (AFecha = FECHA_NULA) or (AFecha = 0); end; +function DarFechaPrimerDia(Date: TDateTime): TDateTime; +var + Year, Month, Day: Word; +begin + DecodeDate(Date, Year, Month, Day); + Result := EncodeDate(Year, Month, 1); +end; + +function DarFechaUltimoDia(Date: TDateTime): TDateTime; +var + Year, Month, Day: Word; +begin + DecodeDate(Date, Year, Month, Day); + // (if Month < 12 then inc(Month) + // else begin Month := 1; inc(Year) end; + // Result := EncodeDate(Year, Month, 1) - 1; + Result := EncodeDate(Year, Month, + MonthDays[IsLeapYear(Year), Month]); +end; end. diff --git a/Source/Modulos/Albaranes de cliente/Controller/uDetallesAlbaranClienteController.pas b/Source/Modulos/Albaranes de cliente/Controller/uDetallesAlbaranClienteController.pas index 801db593..c89289f9 100644 --- a/Source/Modulos/Albaranes de cliente/Controller/uDetallesAlbaranClienteController.pas +++ b/Source/Modulos/Albaranes de cliente/Controller/uDetallesAlbaranClienteController.pas @@ -31,7 +31,7 @@ type implementation -uses Dialogs, Variants, uControllerDetallesBase, uControllerDetallesDTO, uDataModuleAlbaranesCliente, uArticulosAlbaranClienteController; +uses Dialogs, uDialogUtils, Variants, uControllerDetallesBase, uControllerDetallesDTO, uDataModuleAlbaranesCliente, uArticulosAlbaranClienteController; { TDetallesAlbaranClienteController } @@ -44,7 +44,7 @@ begin try AArticulos := (FArticulosController.BuscarTodos(ACliente) as IBizArticulo); ActualizarDetalles(ADetalles, AArticulos); - ShowMessage('Se han actualizado los descuentos para el cliente seleccionado'); + ShowInfoMessage('Se han actualizado los descuentos para el cliente seleccionado'); finally AArticulos := Nil; end; diff --git a/Source/Modulos/Albaranes de proveedor/Controller/View/uIEditorElegirArticulosAlbaranesProveedor.pas b/Source/Modulos/Albaranes de proveedor/Controller/View/uIEditorElegirArticulosAlbaranesProveedor.pas index 14a491e4..9b0b9c36 100644 --- a/Source/Modulos/Albaranes de proveedor/Controller/View/uIEditorElegirArticulosAlbaranesProveedor.pas +++ b/Source/Modulos/Albaranes de proveedor/Controller/View/uIEditorElegirArticulosAlbaranesProveedor.pas @@ -3,11 +3,14 @@ unit uIEditorElegirArticulosAlbaranesProveedor; interface uses - uIEditorElegirArticulos; + uIEditorElegirArticulos, uBizContactos; type IEditorElegirArticulosAlbaranesProveedor = interface(IEditorElegirArticulos) ['{CAA16595-482A-4936-875E-F19263772C0D}'] + function GetProveedor: IBizProveedor; + procedure SetProveedor(const Value: IBizProveedor); + property Proveedor: IBizProveedor read GetProveedor write SetProveedor; end; diff --git a/Source/Modulos/Albaranes de proveedor/Controller/uArticulosAlbaranProveedorController.pas b/Source/Modulos/Albaranes de proveedor/Controller/uArticulosAlbaranProveedorController.pas index 2cbf4294..8ca6fd07 100644 --- a/Source/Modulos/Albaranes de proveedor/Controller/uArticulosAlbaranProveedorController.pas +++ b/Source/Modulos/Albaranes de proveedor/Controller/uArticulosAlbaranProveedorController.pas @@ -3,16 +3,17 @@ unit uArticulosAlbaranProveedorController; interface uses - uDADataTable, uArticulosController, uBizArticulos; + uDADataTable, uArticulosController, uBizArticulos, uBizContactos; type IArticulosAlbaranProveedorController = interface(IArticulosController) ['{8E3C2FF0-9D42-461C-BF14-6E77843E4173}'] + function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean; const AProveedor: IBizProveedor): IBizArticulo; end; TArticulosAlbaranProveedorController = class(TArticulosController, IArticulosAlbaranProveedorController) public - function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean): IBizArticulo; override; + function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean; const AProveedor: IBizProveedor): IBizArticulo; overload; end; implementation @@ -21,8 +22,7 @@ implementation uses Controls, uIEditorElegirArticulosAlbaranesProveedor, uIEditorElegirArticulos; -function TArticulosAlbaranProveedorController.ElegirArticulos(AArticulos: IBizArticulo; AMensaje: String; - AMultiSelect: Boolean): IBizArticulo; +function TArticulosAlbaranProveedorController.ElegirArticulos(AArticulos: IBizArticulo; AMensaje: String; AMultiSelect: Boolean; const AProveedor: IBizProveedor): IBizArticulo; var AEditor : IEditorElegirArticulosAlbaranesProveedor; begin @@ -33,6 +33,7 @@ begin begin Controller := Self; Articulos := AArticulos; + Proveedor := AProveedor; MultiSelect := AMultiSelect; Mensaje := AMensaje; if IsPositiveResult(ShowModal) then diff --git a/Source/Modulos/Albaranes de proveedor/Controller/uDetallesAlbaranProveedorController.pas b/Source/Modulos/Albaranes de proveedor/Controller/uDetallesAlbaranProveedorController.pas index af188a22..6fd64188 100644 --- a/Source/Modulos/Albaranes de proveedor/Controller/uDetallesAlbaranProveedorController.pas +++ b/Source/Modulos/Albaranes de proveedor/Controller/uDetallesAlbaranProveedorController.pas @@ -31,7 +31,7 @@ type implementation -uses Variants, uControllerDetallesBase, uControllerDetallesDTO, uDataModuleAlbaranesProveedor, uArticulosAlbaranProveedorController; +uses Variants, uDialogUtils, uControllerDetallesBase, uControllerDetallesDTO, uDataModuleAlbaranesProveedor, uArticulosAlbaranProveedorController; { TDetallesAlbaranProveedorController } @@ -45,6 +45,7 @@ begin AArticulos := (FArticulosController.BuscarTodos(AProveedor) as IBizArticulo); ActualizarDetalles(ADetalles, AArticulos); EliminarArticulosProveedor(ADetalles); + ShowInfoMessage('Se han eliminado todos los artículos que no pertenecen al nuevo proveedor seleccionado, y los que pertenecen sus descuentos han sido adaptados al proveedor seleccionado'); finally AArticulos := Nil; end; @@ -58,8 +59,8 @@ begin if Assigned(ADetalles) then begin try - AArticulos := (FArticulosController.BuscarTodos(AProveedor) as IBizArticulo); - AArticulos := (FArticulosController as IArticulosAlbaranProveedorController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a este albarán de proveedor', True); + 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); finally AArticulos := Nil; diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirArticulosAlbaranProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirArticulosAlbaranProveedor.dfm index a9186737..e34b8b62 100644 --- a/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirArticulosAlbaranProveedor.dfm +++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirArticulosAlbaranProveedor.dfm @@ -1,6 +1,5 @@ inherited fEditorElegirArticulosAlbaranProveedor: TfEditorElegirArticulosAlbaranProveedor Caption = 'fEditorElegirArticulosAlbaranProveedor' - ExplicitHeight = 480 PixelsPerInch = 96 TextHeight = 13 end diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirArticulosAlbaranProveedor.pas b/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirArticulosAlbaranProveedor.pas index cbea9012..2851ce73 100644 --- a/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirArticulosAlbaranProveedor.pas +++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirArticulosAlbaranProveedor.pas @@ -9,12 +9,22 @@ uses StdActns, ActnList, uCustomView, uViewBase, uViewBarraSeleccion, ComCtrls, JvExComCtrls, JvStatusBar, TBX, TB2ExtItems, TBXExtItems, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, - JvgWizardHeader, uIEditorElegirArticulosAlbaranesProveedor; + JvgWizardHeader, uIEditorElegirArticulosAlbaranesProveedor, uBizContactos; type TfEditorElegirArticulosAlbaranProveedor = class(TfEditorElegirArticulos, IEditorElegirArticulosAlbaranesProveedor) + procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); + private + FProveedor: IBizProveedor; + function GetProveedor: IBizProveedor; + procedure SetProveedor(const Value: IBizProveedor); + protected procedure AsignarVista; override; + + public + property Proveedor: IBizProveedor read GetProveedor write SetProveedor; + end; @@ -30,4 +40,26 @@ begin ViewGrid := CreateView(TfrViewElegirArticulosAlbaranesProveedor) as IViewElegirArticulosAlbaranesProveedor; end; +procedure TfEditorElegirArticulosAlbaranProveedor.FormCloseQuery( + Sender: TObject; var CanClose: Boolean); +begin + FProveedor := Nil; + inherited; +end; + +function TfEditorElegirArticulosAlbaranProveedor.GetProveedor: IBizProveedor; +begin + Result := FProveedor; +end; + +procedure TfEditorElegirArticulosAlbaranProveedor.SetProveedor(const Value: IBizProveedor); +begin + FProveedor := Value; + if Assigned(FProveedor) then + begin + if Assigned(Self.ViewGrid) then + (Self.ViewGrid as IViewElegirArticulosAlbaranesProveedor).Proveedor := FProveedor; + end; +end; + end. diff --git a/Source/Modulos/Albaranes de proveedor/Views/uViewElegirArticulosAlbaranesProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Views/uViewElegirArticulosAlbaranesProveedor.dfm index 3f6efc6c..cf41590e 100644 --- a/Source/Modulos/Albaranes de proveedor/Views/uViewElegirArticulosAlbaranesProveedor.dfm +++ b/Source/Modulos/Albaranes de proveedor/Views/uViewElegirArticulosAlbaranesProveedor.dfm @@ -1,7 +1,55 @@ inherited frViewElegirArticulosAlbaranesProveedor: TfrViewElegirArticulosAlbaranesProveedor + Height = 414 + OnDestroy = CustomViewDestroy + ExplicitHeight = 414 + inherited cxGrid: TcxGrid + Height = 286 + RootLevelOptions.DetailTabsPosition = dtpTop + OnActiveTabChanged = cxGridActiveTabChanged + ExplicitHeight = 286 + inherited cxGridView: TcxGridDBTableView + object cxGridViewID_PROVEEDOR: TcxGridDBColumn + DataBinding.FieldName = 'ID_PROVEEDOR' + Visible = False + end + end + object cxGridLevel1: TcxGridLevel + Caption = 'Otros proveedores' + end + end + inherited frViewFiltroBase1: TfrViewFiltroBase + inherited TBXDock1: TTBXDock + inherited TBXDockablePanel1: TTBXDockablePanel + inherited dxLayoutControl1: TdxLayoutControl + inherited txtFiltroTodo: TcxTextEdit + ExplicitWidth = 273 + Width = 273 + end + inherited edtFechaIniFiltro: TcxDateEdit + ExplicitWidth = 121 + Width = 121 + end + inherited edtFechaFinFiltro: TcxDateEdit + ExplicitWidth = 121 + Width = 121 + end + end + end + end + end + inherited pnlAgrupaciones: TTBXDockablePanel + Top = 388 + ExplicitTop = 388 + end inherited dxComponentPrinter: TdxComponentPrinter inherited dxComponentPrinterLink: TdxGridReportLink + ReportDocument.CreationDate = 39252.489745000000000000 BuiltInReportLink = True end end + inherited dxPrintStyleManager1: TdxPrintStyleManager + inherited dxPrintStyleManager1Style1: TdxPSPrintStyle + BuiltInStyle = True + end + end end diff --git a/Source/Modulos/Albaranes de proveedor/Views/uViewElegirArticulosAlbaranesProveedor.pas b/Source/Modulos/Albaranes de proveedor/Views/uViewElegirArticulosAlbaranesProveedor.pas index cb9fc393..27cbc174 100644 --- a/Source/Modulos/Albaranes de proveedor/Views/uViewElegirArticulosAlbaranesProveedor.pas +++ b/Source/Modulos/Albaranes de proveedor/Views/uViewElegirArticulosAlbaranesProveedor.pas @@ -10,17 +10,99 @@ uses dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, ImgList, PngImageList, cxGridCustomPopupMenu, cxGridPopupMenu, dxPSCore, dxPScxCommon, dxPScxGridLnk, uDADataTable, cxGridLevel, cxGridCustomTableView, cxGridTableView, - cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid; + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, uBizContactos, + dxPgsDlg, ActnList, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, + uViewFiltroBase; type IViewElegirArticulosAlbaranesProveedor = interface(IViewArticulos) ['{93C55517-8F37-4EDF-A1B0-95461D0AD807}'] + function GetProveedor: IBizProveedor; + procedure SetProveedor(const Value: IBizProveedor); + property Proveedor: IBizProveedor read GetProveedor write SetProveedor; end; TfrViewElegirArticulosAlbaranesProveedor = class(TfrViewArticulos, IViewElegirArticulosAlbaranesProveedor) + cxGridLevel1: TcxGridLevel; + cxGridViewID_PROVEEDOR: TcxGridDBColumn; + procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; + ALevel: TcxGridLevel); + procedure CustomViewDestroy(Sender: TObject); + + private + FProveedor: IBizProveedor; + function GetProveedor: IBizProveedor; + procedure SetProveedor(const Value: IBizProveedor); + + //Filtros relativos a la vista + procedure AnadirFiltroProveedor; + + public + property Proveedor: IBizProveedor read GetProveedor write SetProveedor; + procedure AnadirOtrosFiltros; override; + end; implementation {$R *.dfm} +{ TfrViewElegirArticulosAlbaranesProveedor } + +procedure TfrViewElegirArticulosAlbaranesProveedor.AnadirFiltroProveedor; +var + FFiltro : TcxFilterCriteriaItemList; +begin + FFiltro := AddFilterGrid(fboAnd); + + case cxGrid.ActiveLevel.Index of + 0 : if Assigned(FProveedor) then + FFiltro.AddItem(cxGridViewID_PROVEEDOR, foEqual, FProveedor.ID, FProveedor.NOMBRE); + 1 : if Assigned(FProveedor) then + FFiltro.AddItem(cxGridViewID_PROVEEDOR, foNotEqual, FProveedor.ID, FProveedor.NOMBRE); + end; +end; + +procedure TfrViewElegirArticulosAlbaranesProveedor.AnadirOtrosFiltros; +begin + inherited; + + AnadirFiltroProveedor; + + //Finalmente activamos el filtro si tenemos algo + if cxGridView.DataController.Filter.IsEmpty + then cxGridView.DataController.Filter.Active := False + else cxGridView.DataController.Filter.Active := True; + cxGrid.ActiveLevel.GridView := cxGridView; +end; + +procedure TfrViewElegirArticulosAlbaranesProveedor.CustomViewDestroy( + Sender: TObject); +begin + inherited; + FProveedor := Nil; +end; + +procedure TfrViewElegirArticulosAlbaranesProveedor.cxGridActiveTabChanged( + Sender: TcxCustomGrid; ALevel: TcxGridLevel); +begin + inherited; + RefrescarFiltro; +end; + +function TfrViewElegirArticulosAlbaranesProveedor.GetProveedor: IBizProveedor; +begin + Result := FProveedor; +end; + +procedure TfrViewElegirArticulosAlbaranesProveedor.SetProveedor( + const Value: IBizProveedor); +begin + FProveedor := Value; + if Assigned(FProveedor) then + begin + cxGridLevel.Caption := FProveedor.NOMBRE; + RefrescarFiltro; + end; +end; + end. diff --git a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm index 7ae18de0..a054273b 100644 --- a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm +++ b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm @@ -2,6 +2,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos Caption = 'Seleccionar art'#237'culos' ClientWidth = 656 ExplicitWidth = 664 + ExplicitHeight = 478 PixelsPerInch = 96 TextHeight = 13 object JvgWizardHeader1: TJvgWizardHeader [0] @@ -55,7 +56,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos inherited tbxMain: TTBXToolbar Align = alLeft DockPos = -6 - ExplicitWidth = 346 + ExplicitWidth = 117 inherited TBXItem2: TTBXItem Visible = False end @@ -73,12 +74,12 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos end end inherited tbxFiltro: TTBXToolbar - Left = 346 + Left = 117 Top = 23 Align = alLeft DockPos = 101 DockRow = 1 - ExplicitLeft = 346 + ExplicitLeft = 117 ExplicitTop = 23 inherited TBXItem34: TTBXItem Action = actQuitarFiltro2 @@ -136,6 +137,15 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos inherited EditorActionList: TActionList [5] Left = 112 Top = 192 + inherited actPrevisualizar: TAction + Visible = False + end + inherited actImprimir: TAction + Visible = False + end + inherited actDuplicar: TAction + Visible = False + end end inherited SmallImages: TPngImageList [6] end diff --git a/Source/Modulos/Comisiones/Controller/uComisionesController.pas b/Source/Modulos/Comisiones/Controller/uComisionesController.pas index 9b6b7960..11fac65c 100644 --- a/Source/Modulos/Comisiones/Controller/uComisionesController.pas +++ b/Source/Modulos/Comisiones/Controller/uComisionesController.pas @@ -68,7 +68,7 @@ uses Variants, Dialogs, cxControls, DB, uEditorRegistryUtils, schComisionesClient_Intf, uIEditorComisiones, uDataModuleComisiones, uDataModuleUsuarios, uDAInterfaces, uDataTableUtils, uIEditorComision, uComisionesReportController, - uDateUtils, uROTypes, DateUtils, Controls, Windows; + uDateUtils, uROTypes, DateUtils, Controls, Windows, uDialogUtils; { TComisionesController } @@ -384,7 +384,7 @@ begin AFacturasDesglosadas := Nil; end else - Showmessage('Debe elegir primero el agente asociado a la liquidación'); + ShowWarningMessage('Debe elegir primero el agente asociado a la liquidación'); end; function TComisionesController.Eliminar(AComision: IBizComisiones): Boolean; diff --git a/Source/Modulos/Comisiones/Views/uEditorComisionesReport.dfm b/Source/Modulos/Comisiones/Views/uEditorComisionesReport.dfm index e5677fe1..db21f14b 100644 --- a/Source/Modulos/Comisiones/Views/uEditorComisionesReport.dfm +++ b/Source/Modulos/Comisiones/Views/uEditorComisionesReport.dfm @@ -1,20 +1,9 @@ inherited fEditorComisionesPreview: TfEditorComisionesPreview Caption = 'Previsualizar la factura' - ExplicitWidth = 658 - ExplicitHeight = 492 + ExplicitWidth = 320 + ExplicitHeight = 240 PixelsPerInch = 96 TextHeight = 13 - inherited JvNavPanelHeader: TJvNavPanelHeader - ExplicitWidth = 650 - inherited Image1: TImage - Left = 623 - ExplicitLeft = 623 - end - end - inherited StatusBar: TJvStatusBar - ExplicitTop = 439 - ExplicitWidth = 650 - 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 5df790f3..41003383 100644 --- a/Source/Modulos/Comisiones/Views/uEditorComisionesReport.pas +++ b/Source/Modulos/Comisiones/Views/uEditorComisionesReport.pas @@ -44,7 +44,7 @@ type implementation {$R *.dfm} -uses uROTypes, uBizContactos, uAgentesController; +uses uROTypes, uDialogUtils, uBizContactos, uAgentesController; procedure TfEditorComisionesPreview.Button1Click(Sender: TObject); begin @@ -98,7 +98,7 @@ begin begin if (edtFechaFiltro1.EditValue > edtFechaFiltro2.EditValue) then begin - ShowMessage('La fecha de inicio debe ser anterior a la fecha final'); + ShowWarningMessage('La fecha de inicio debe ser anterior a la fecha final'); edtFechaFiltro1.SetFocus; end else diff --git a/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas index 893c9b3c..09fbcd12 100644 --- a/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas +++ b/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas @@ -40,7 +40,7 @@ implementation { TDetallesFacturaClienteController } uses Variants, uControllerDetallesDTO, uDataModuleFacturasCliente, uArticulosFacturaClienteController, - uControllerDetallesBase, Dialogs, SysUtils; + uControllerDetallesBase, Dialogs, uDialogUtils, SysUtils; procedure TDetallesFacturaClienteController.ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); var @@ -51,7 +51,7 @@ begin try AArticulos := (FArticulosController.BuscarTodos(ACliente) as IBizArticulo); ActualizarDetalles(ADetalles, AArticulos); - ShowMessage('Se han actualizado los descuentos para el cliente seleccionado'); + ShowInfoMessage('Se han actualizado los descuentos para el cliente seleccionado'); finally AArticulos := Nil; end; diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorElegirFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uEditorElegirFacturasCliente.dfm index 727ccfa1..fef9d4d0 100644 --- a/Source/Modulos/Facturas de cliente/Views/uEditorElegirFacturasCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Views/uEditorElegirFacturasCliente.dfm @@ -40,7 +40,7 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente ExplicitWidth = 656 end inherited JvNavPanelHeader: TJvNavPanelHeader - Top = 144 + Top = 60 Width = 654 Caption = 'Lista de facturas de cliente para liquidar su comisi'#243'n' Visible = False @@ -52,14 +52,17 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente end end inherited TBXDock: TTBXDock - Top = 171 + Top = 87 Width = 654 Height = 49 ExplicitTop = 171 ExplicitWidth = 654 ExplicitHeight = 49 inherited tbxMain: TTBXToolbar - ExplicitWidth = 181 + ExplicitWidth = 117 + inherited TBXSubmenuItem2: TTBXSubmenuItem + Visible = False + end inherited TBXItem5: TTBXItem Visible = False end @@ -71,12 +74,12 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente end end inherited tbxFiltro: TTBXToolbar - Left = 181 + Left = 117 Top = 23 DockPos = 104 DockRow = 1 Visible = False - ExplicitLeft = 181 + ExplicitLeft = 117 ExplicitTop = 23 inherited TBXItem34: TTBXItem Action = actQuitarFiltro2 @@ -136,15 +139,15 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente end end inherited frViewFacturasCliente1: TfrViewFacturasCliente [5] - Top = 220 + Top = 136 Width = 654 - Height = 391 + Height = 475 ExplicitTop = 220 ExplicitWidth = 654 ExplicitHeight = 391 inherited cxGrid: TcxGrid Width = 654 - Height = 263 + Height = 347 RootLevelOptions.DetailTabsPosition = dtpNone ExplicitWidth = 654 ExplicitHeight = 263 @@ -171,6 +174,7 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente end inherited frViewFiltroBase1: TfrViewFiltroBase Width = 654 + Visible = True ExplicitWidth = 654 inherited TBXDock1: TTBXDock Width = 654 @@ -180,6 +184,20 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente inherited dxLayoutControl1: TdxLayoutControl Width = 650 ExplicitWidth = 650 + inherited txtFiltroTodo: TcxTextEdit + ExplicitWidth = 273 + Width = 273 + end + inherited edtFechaIniFiltro: TcxDateEdit + ExplicitWidth = 121 + Width = 121 + end + inherited edtFechaFinFiltro: TcxDateEdit + Left = 401 + ExplicitLeft = 401 + ExplicitWidth = 121 + Width = 121 + end end inherited TBXAlignmentPanel1: TTBXAlignmentPanel Width = 650 @@ -193,13 +211,15 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente end end inherited pnlAgrupaciones: TTBXDockablePanel - Top = 365 + Top = 449 ExplicitTop = 365 + ExplicitWidth = 654 inherited TBXAlignmentPanel1: TTBXAlignmentPanel Width = 654 ExplicitWidth = 654 inherited TBXToolbar1: TTBXToolbar Width = 644 + ExplicitWidth = 644 end end end @@ -222,145 +242,7 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente end end end - object pnlFiltrar: TTBXDockablePanel [6] - Left = 0 - Top = 60 - Align = alTop - Caption = 'Filtrar' - CaptionRotation = dpcrAlwaysVert - DockedHeight = 84 - DockMode = dmCannotFloat - DockPos = 88 - DockRow = 2 - FloatingWidth = 128 - FloatingHeight = 84 - ShowCaptionWhenDocked = False - SupportedDocks = [dkStandardDock, dkMultiDock] - TabOrder = 5 - object Label1: TLabel - Left = 296 - Top = 50 - Width = 17 - Height = 13 - Caption = 'y el' - end - object txtFiltroTodo: TcxTextEdit - Left = 168 - Top = 16 - Properties.OnChange = txtFiltroTodoPropertiesChange - 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 = 0 - Width = 273 - end - object edtFechaFiltro1: TcxDateEdit - Left = 168 - Top = 46 - Enabled = False - Properties.OnEditValueChanged = edtFechaFiltro1PropertiesEditValueChanged - 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 = 1 - Width = 121 - end - object edtFechaFiltro2: TcxDateEdit - Left = 320 - Top = 46 - Enabled = False - Properties.OnEditValueChanged = edtFechaFiltro1PropertiesEditValueChanged - 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 = 2 - Width = 121 - end - object rbTodo: TcxRadioButton - Left = 16 - Top = 18 - Width = 145 - Height = 17 - Caption = 'Facturas que contengan:' - Checked = True - TabOrder = 3 - TabStop = True - OnClick = rbTodoClick - LookAndFeel.Kind = lfStandard - LookAndFeel.NativeStyle = True - end - object rbFechas: TcxRadioButton - Left = 16 - Top = 48 - Width = 145 - Height = 17 - Caption = 'Facturas con fechas entre:' - TabOrder = 4 - OnClick = rbTodoClick - LookAndFeel.Kind = lfStandard - LookAndFeel.NativeStyle = True - end - object Button1: TBitBtn - Left = 470 - Top = 43 - Width = 163 - Height = 25 - Action = actQuitarFiltro2 - Caption = 'Quitar filtro y ver todo' - TabOrder = 5 - Glyph.Data = { - 36040000424D3604000000000000360000002800000010000000100000000100 - 2000000000000004000000000000000000000000000000000000FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00A505 - E1007204CA00FE00FF00FF00FF00FF00FF00E800F5003E09C100FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00AB17 - F900161DC600C400E700FF00FF00FF00FF00520DC9000F30D600D71BCF00942A - 8A004D493C004D493C00942A8A00D71BCF00FF00FF00FF00FF00D71BCF008B2C - 92002843B900141B980070208D004615BA000F30D600C20BF80069605800F8D5 - AD00F8C89000F8C89000E7AB63004D493C00FF00FF00FF00FF0069605800F8D5 - AD00C8ACA6001036E4002125A6000F30D600B20EF600FF00FF0069605800FFD8 - C000F8D5AD00F8C89000F8C890004D493C004D493C004D493C0069605800FFD8 - C000EFCDAD005F65C6000A38ED002637A300927C6C00FF00FF0069605800F0F0 - F000FFD8C000F8D5AD00F8C8900069605800696058006960580069605800FFF8 - FF008372B1000F30D6002750F7000F30D60025256F00FF00FF00942A8A006960 - 58006960580069605800942A8A00D71BCF00FF00FF00FF00FF00D71BCF004F24 - 9E000F30D600434D8A00605D6C004D69E3000F30D6006D05CC00FF00FF006648 - 54004D493C00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000F30 - D6008F1FF300FF00FF00FF00FF00C811FD003154EB000024D300FF00FF00FF00 - FF00664854004D493C00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF004D493C004D493C00FF00FF00FF00FF00FF00 - FF00FF00FF0066485400696058004D493C00FF00FF00FF00FF00FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF00696058004D493C00FF00FF00FF00FF00FF00 - FF00FF00FF00FF00FF0066485400D419D000FF00FF00FF00FF00FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF00A8658D0069605800FF00FF00FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 - FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00} - end - end - inherited EditorActionList: TActionList [9] + inherited EditorActionList: TActionList [8] Left = 112 Top = 192 inherited actNuevo: TAction @@ -383,19 +265,19 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente Left = 8 Top = 192 end - inherited JvFormStorage: TJvFormStorage [13] + inherited JvFormStorage: TJvFormStorage [12] end - inherited GridPopupMenu: TPopupMenu [14] + inherited GridPopupMenu: TPopupMenu [13] Left = 80 Top = 192 end - inherited JsNuevaFacturaDialog: TJSDialog [15] + inherited JsNuevaFacturaDialog: TJSDialog [14] end - inherited JsListaFacturasGeneradas: TJSDialog [16] + inherited JsListaFacturasGeneradas: TJSDialog [15] end - inherited JsPrevisualizarDialog: TJSDialog [17] + inherited JsPrevisualizarDialog: TJSDialog [16] end - inherited JsImprimirDialog: TJSDialog [18] + inherited JsImprimirDialog: TJSDialog [17] end object EditorSeleccionActionList: TActionList Images = SmallImages @@ -411,7 +293,6 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente Category = 'Buscar' Caption = 'Quitar filtro y ver todo' ImageIndex = 19 - OnExecute = actQuitarFiltro2Execute end object actAnchoAuto2: TAction Category = 'Ver' diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorElegirFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Views/uEditorElegirFacturasCliente.pas index 025810f9..53b8c2cf 100644 --- a/Source/Modulos/Facturas de cliente/Views/uEditorElegirFacturasCliente.pas +++ b/Source/Modulos/Facturas de cliente/Views/uEditorElegirFacturasCliente.pas @@ -38,7 +38,7 @@ uses uViewFacturasCliente, uEditorFacturasCliente, uBizFacturasCliente, uIEditorElegirFacturasCliente, Buttons, cxRadioGroup, cxMaskEdit, cxDropDownEdit, cxCalendar, cxControls, cxContainer, cxEdit, cxTextEdit, TBXDkPanels, JSDialog; - + type TfEditorElegirFacturasCliente = class(TfEditorFacturasCliente, IEditorElegirFacturasCliente) @@ -48,23 +48,11 @@ type actBuscar2: TAction; actQuitarFiltro2: TAction; actAnchoAuto2: TAction; - pnlFiltrar: TTBXDockablePanel; - Label1: TLabel; - txtFiltroTodo: TcxTextEdit; - edtFechaFiltro1: TcxDateEdit; - edtFechaFiltro2: TcxDateEdit; - rbTodo: TcxRadioButton; - rbFechas: TcxRadioButton; - Button1: TBitBtn; procedure frViewBarraSeleccion1actSeleccionarUpdate(Sender: TObject); procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject); procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject); procedure FormShow(Sender: TObject); procedure actAnchoAuto2Execute(Sender: TObject); - procedure actQuitarFiltro2Execute(Sender: TObject); - procedure txtFiltroTodoPropertiesChange(Sender: TObject); - procedure edtFechaFiltro1PropertiesEditValueChanged(Sender: TObject); - procedure rbTodoClick(Sender: TObject); protected procedure SetMultiSelect (AValue : Boolean); function GetMultiSelect : Boolean; @@ -82,7 +70,7 @@ implementation uses uEditorGridBase, cxGridCustomTableView, uIntegerListUtils, uDBSelectionListUtils, - uGridUtils, uEditorBase, uFacturasClienteController; + uGridUtils, uDialogUtils, uEditorBase, uFacturasClienteController, uDateUtils; {$R *.dfm} @@ -94,40 +82,13 @@ begin actAnchoAuto.Execute; end; -procedure TfEditorElegirFacturasCliente.actQuitarFiltro2Execute(Sender: TObject); -begin -// inherited; - - if Assigned(ViewGrid) then - begin - txtFiltroTodo.Clear; - edtFechaFiltro1.Clear; - edtFechaFiltro2.Clear; -// (ViewGrid as IViewFacturasCliente).FiltrarPorFechas(null, null); - inherited; - end; - -// actQuitarFiltro.Execute; -end; - -procedure TfEditorElegirFacturasCliente.edtFechaFiltro1PropertiesEditValueChanged(Sender: TObject); -begin - if not VarIsNull(edtFechaFiltro1.EditValue) and not VarIsNull(edtFechaFiltro2.EditValue) then - begin - if (edtFechaFiltro1.EditValue > edtFechaFiltro2.EditValue) then - begin - ShowMessage('La fecha de inicio debe ser anterior a la fecha final'); - edtFechaFiltro1.SetFocus; - end - else -// (ViewGrid as IViewFacturasCliente).FiltrarPorFechas(edtFechaFiltro1.EditValue, edtFechaFiltro2.EditValue); - end; -end; - procedure TfEditorElegirFacturasCliente.FormShow(Sender: TObject); begin inherited; EditorActionList.State := asSuspended; + + frViewFacturasCliente1.frViewFiltroBase1.edtFechaIniFiltro.EditValue := darFechaPrimerDia(now); + frViewFacturasCliente1.frViewFiltroBase1.edtFechaFinFiltro.EditValue := darFechaUltimoDia(now); end; procedure TfEditorElegirFacturasCliente.frViewBarraSeleccion1actCancelarExecute( @@ -158,23 +119,6 @@ begin Result := (Controller as IFacturasClienteController).ExtraerSeleccionados(Facturas) as IBizFacturaCliente; end; -procedure TfEditorElegirFacturasCliente.rbTodoClick(Sender: TObject); -begin - actQuitarFiltro.Execute; - - if rbTodo.Checked then - begin - edtFechaFiltro1.Enabled := False; - edtFechaFiltro2.Enabled := False; - txtFiltroTodo.Enabled := True; - end - else begin - edtFechaFiltro1.Enabled := True; - edtFechaFiltro2.Enabled := True; - txtFiltroTodo.Enabled := False; - end; -end; - function TfEditorElegirFacturasCliente.GetMensaje: String; begin Result := JvgWizardHeader1.Comments.Text; @@ -201,10 +145,4 @@ begin ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute; end; -procedure TfEditorElegirFacturasCliente.txtFiltroTodoPropertiesChange(Sender: TObject); -begin - if Assigned(ViewGrid) then - ViewGrid.Filter := txtFiltroTodo.Text; -end; - end. diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm index 72766508..8753fb87 100644 --- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm @@ -127,6 +127,24 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente ExplicitWidth = 332 inherited edtlNombre: TcxDBTextEdit Properties.OnChange = frViewClienteFacturaedtlNombrePropertiesChange + ExplicitWidth = 224 + Width = 224 + end + inherited edtNIFCIF: TcxDBTextEdit + ExplicitWidth = 562 + Width = 562 + end + inherited edtCalle: TcxDBTextEdit + ExplicitWidth = 562 + Width = 562 + end + inherited edtPoblacion: TcxDBTextEdit + ExplicitWidth = 177 + Width = 177 + end + inherited edtProvincia: TcxDBTextEdit + ExplicitWidth = 327 + Width = 327 end end end diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas index 4fd10a88..ce16baab 100644 --- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas +++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas @@ -295,7 +295,7 @@ begin ACadena := 'Antes debe elegir un cliente para esta factura' else ACadena := 'Antes debe elegir un cliente para este abono'; - Showmessage(ACadena); + ShowWarningMessage(ACadena); AllowChange := False; end; end; diff --git a/Source/Modulos/Facturas de proveedor/Controller/View/uIEditorElegirArticulosFacturasProveedor.pas b/Source/Modulos/Facturas de proveedor/Controller/View/uIEditorElegirArticulosFacturasProveedor.pas index 5471b12b..f01488f9 100644 --- a/Source/Modulos/Facturas de proveedor/Controller/View/uIEditorElegirArticulosFacturasProveedor.pas +++ b/Source/Modulos/Facturas de proveedor/Controller/View/uIEditorElegirArticulosFacturasProveedor.pas @@ -3,11 +3,14 @@ unit uIEditorElegirArticulosFacturasProveedor; interface uses - uIEditorElegirArticulos; + uIEditorElegirArticulos, uBizContactos; type IEditorElegirArticulosFacturasProveedor = interface(IEditorElegirArticulos) ['{21C9BC41-C4B2-44CD-BCB3-F32A4BD5AC4E}'] + function GetProveedor: IBizProveedor; + procedure SetProveedor(const Value: IBizProveedor); + property Proveedor: IBizProveedor read GetProveedor write SetProveedor; end; diff --git a/Source/Modulos/Facturas de proveedor/Controller/uArticulosFacturaProveedorController.pas b/Source/Modulos/Facturas de proveedor/Controller/uArticulosFacturaProveedorController.pas index 45fdc13c..61087ba3 100644 --- a/Source/Modulos/Facturas de proveedor/Controller/uArticulosFacturaProveedorController.pas +++ b/Source/Modulos/Facturas de proveedor/Controller/uArticulosFacturaProveedorController.pas @@ -3,16 +3,17 @@ unit uArticulosFacturaProveedorController; interface uses - uDADataTable, uArticulosController, uBizArticulos; + uDADataTable, uArticulosController, uBizArticulos, uBizContactos; type IArticulosFacturaProveedorController = interface(IArticulosController) ['{9B6F6963-D16F-43FE-B33F-47824A5FAFE7}'] + function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean; const AProveedor: IBizProveedor): IBizArticulo; end; TArticulosFacturaProveedorController = class(TArticulosController, IArticulosFacturaProveedorController) public - function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean): IBizArticulo; override; + function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean; const AProveedor: IBizProveedor): IBizArticulo; overload; end; implementation @@ -22,7 +23,7 @@ implementation uses Controls, uIEditorElegirArticulosFacturasProveedor, uIEditorElegirArticulos; function TArticulosFacturaProveedorController.ElegirArticulos(AArticulos: IBizArticulo; AMensaje: String; - AMultiSelect: Boolean): IBizArticulo; + AMultiSelect: Boolean; const AProveedor: IBizProveedor): IBizArticulo; var AEditor : IEditorElegirArticulosFacturasProveedor; begin @@ -33,11 +34,12 @@ begin begin Controller := Self; Articulos := AArticulos; + Proveedor := AProveedor; MultiSelect := AMultiSelect; - Mensaje := AMensaje; + Mensaje := AMensaje; if IsPositiveResult(ShowModal) then Result := ArticulosSeleccionados; - Release; + Release; end; finally AEditor := NIL; diff --git a/Source/Modulos/Facturas de proveedor/Controller/uDetallesFacturaProveedorController.pas b/Source/Modulos/Facturas de proveedor/Controller/uDetallesFacturaProveedorController.pas index f5318529..85c662eb 100644 --- a/Source/Modulos/Facturas de proveedor/Controller/uDetallesFacturaProveedorController.pas +++ b/Source/Modulos/Facturas de proveedor/Controller/uDetallesFacturaProveedorController.pas @@ -37,7 +37,7 @@ implementation { TDetallesFacturaProveedorController } uses Variants, uControllerDetallesDTO, uDataModuleFacturasProveedor, uArticulosFacturaProveedorController, - uControllerDetallesBase, Dialogs, SysUtils; + uControllerDetallesBase, Dialogs, SysUtils, uDialogUtils; procedure TDetallesFacturaProveedorController.ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); var @@ -48,7 +48,8 @@ begin try AArticulos := (FArticulosController.BuscarTodos(AProveedor) as IBizArticulo); ActualizarDetalles(ADetalles, AArticulos); - ShowMessage('Se han actualizado los descuentos para el Proveedor seleccionado'); + EliminarArticulosProveedor(ADetalles); + ShowInfoMessage('Se han eliminado todos los artículos que no pertenecen al nuevo proveedor seleccionado, y los que pertenecen sus descuentos han sido adaptados al proveedor seleccionado'); finally AArticulos := Nil; end; @@ -61,9 +62,9 @@ var begin if Assigned(ADetalles) then begin - AArticulos := (FArticulosController.BuscarTodos(AProveedor) as IBizArticulo); + 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); + AArticulos := (FArticulosController as IArticulosFacturaProveedorController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a esta factura de Proveedor', True, AProveedor); Add(ADetalles, AArticulos); finally AArticulos := Nil; diff --git a/Source/Modulos/Facturas de proveedor/Views/uEditorElegirArticulosFacturaProveedor.dfm b/Source/Modulos/Facturas de proveedor/Views/uEditorElegirArticulosFacturaProveedor.dfm index ec2539ef..ceb4200b 100644 --- a/Source/Modulos/Facturas de proveedor/Views/uEditorElegirArticulosFacturaProveedor.dfm +++ b/Source/Modulos/Facturas de proveedor/Views/uEditorElegirArticulosFacturaProveedor.dfm @@ -1,6 +1,7 @@ inherited fEditorElegirArticulosFacturaProveedor: TfEditorElegirArticulosFacturaProveedor Caption = 'fEditorElegirArticulosFacturaProveedor' - ExplicitHeight = 478 + ExplicitWidth = 320 + ExplicitHeight = 240 PixelsPerInch = 96 TextHeight = 13 end diff --git a/Source/Modulos/Facturas de proveedor/Views/uEditorElegirArticulosFacturaProveedor.pas b/Source/Modulos/Facturas de proveedor/Views/uEditorElegirArticulosFacturaProveedor.pas index 5f39e5b4..cd95ebb4 100644 --- a/Source/Modulos/Facturas de proveedor/Views/uEditorElegirArticulosFacturaProveedor.pas +++ b/Source/Modulos/Facturas de proveedor/Views/uEditorElegirArticulosFacturaProveedor.pas @@ -9,12 +9,22 @@ uses StdActns, ActnList, uCustomView, uViewBase, uViewBarraSeleccion, ComCtrls, JvExComCtrls, JvStatusBar, TBX, TB2ExtItems, TBXExtItems, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, - JvgWizardHeader, uIEditorElegirArticulosFacturasProveedor; + JvgWizardHeader, uIEditorElegirArticulosFacturasProveedor, uBizContactos; type TfEditorElegirArticulosFacturaProveedor = class(TfEditorElegirArticulos, IEditorElegirArticulosFacturasProveedor) + procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); + private + FProveedor: IBizProveedor; + function GetProveedor: IBizProveedor; + procedure SetProveedor(const Value: IBizProveedor); + protected procedure AsignarVista; override; + + public + property Proveedor: IBizProveedor read GetProveedor write SetProveedor; + end; @@ -30,4 +40,26 @@ begin ViewGrid := CreateView(TfrViewElegirArticulosFacturasProveedor) as IViewElegirArticulosFacturasProveedor; end; +procedure TfEditorElegirArticulosFacturaProveedor.FormCloseQuery( + Sender: TObject; var CanClose: Boolean); +begin + FProveedor := Nil; + inherited; +end; + +function TfEditorElegirArticulosFacturaProveedor.GetProveedor: IBizProveedor; +begin + Result := FProveedor; +end; + +procedure TfEditorElegirArticulosFacturaProveedor.SetProveedor(const Value: IBizProveedor); +begin + FProveedor := Value; + if Assigned(FProveedor) then + begin + if Assigned(Self.ViewGrid) then + (Self.ViewGrid as IViewElegirArticulosFacturasProveedor).Proveedor := FProveedor; + end; +end; + end. diff --git a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.dfm b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.dfm index d8051c96..e9285456 100644 --- a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.dfm +++ b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.dfm @@ -165,6 +165,10 @@ inherited fEditorFacturaProveedor: TfEditorFacturaProveedor object pagContenido: TTabSheet Caption = 'Contenido' ImageIndex = 1 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 inline frViewDetallesFacturaProveedor1: TfrViewDetallesFacturaProveedor Left = 0 Top = 0 diff --git a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.pas b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.pas index 256d1f23..d6d65d3d 100644 --- a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.pas +++ b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.pas @@ -292,7 +292,7 @@ begin AMensaje := 'Antes debe elegir un proveedor para esta factura' else AMensaje := 'Antes debe elegir un proveedor para este abono'; - Showmessage(AMensaje); + ShowWarningMessage(AMensaje); AllowChange := False; end; end; diff --git a/Source/Modulos/Facturas de proveedor/Views/uViewElegirArticulosFacturasProveedor.dfm b/Source/Modulos/Facturas de proveedor/Views/uViewElegirArticulosFacturasProveedor.dfm index 23cf7134..b4862719 100644 --- a/Source/Modulos/Facturas de proveedor/Views/uViewElegirArticulosFacturasProveedor.dfm +++ b/Source/Modulos/Facturas de proveedor/Views/uViewElegirArticulosFacturasProveedor.dfm @@ -1,7 +1,54 @@ inherited frViewElegirArticulosFacturasProveedor: TfrViewElegirArticulosFacturasProveedor + Height = 449 + OnDestroy = CustomViewDestroy + ExplicitHeight = 449 + inherited cxGrid: TcxGrid + Height = 321 + RootLevelOptions.DetailTabsPosition = dtpTop + OnActiveTabChanged = cxGridActiveTabChanged + inherited cxGridView: TcxGridDBTableView + object cxGridViewID_PROVEEDOR: TcxGridDBColumn + DataBinding.FieldName = 'ID_PROVEEDOR' + Visible = False + end + end + object cxGridLevel1: TcxGridLevel + Caption = 'Otros proveedores' + end + end + inherited frViewFiltroBase1: TfrViewFiltroBase + inherited TBXDock1: TTBXDock + inherited TBXDockablePanel1: TTBXDockablePanel + inherited dxLayoutControl1: TdxLayoutControl + ExplicitWidth = 550 + inherited txtFiltroTodo: TcxTextEdit + ExplicitWidth = 273 + Width = 273 + end + inherited edtFechaIniFiltro: TcxDateEdit + ExplicitWidth = 121 + Width = 121 + end + inherited edtFechaFinFiltro: TcxDateEdit + ExplicitWidth = 121 + Width = 121 + end + end + end + end + end + inherited pnlAgrupaciones: TTBXDockablePanel + Top = 423 + end inherited dxComponentPrinter: TdxComponentPrinter inherited dxComponentPrinterLink: TdxGridReportLink + ReportDocument.CreationDate = 39252.442388773150000000 BuiltInReportLink = True end end + inherited dxPrintStyleManager1: TdxPrintStyleManager + inherited dxPrintStyleManager1Style1: TdxPSPrintStyle + BuiltInStyle = True + end + end end diff --git a/Source/Modulos/Facturas de proveedor/Views/uViewElegirArticulosFacturasProveedor.pas b/Source/Modulos/Facturas de proveedor/Views/uViewElegirArticulosFacturasProveedor.pas index 745431dd..cb081c72 100644 --- a/Source/Modulos/Facturas de proveedor/Views/uViewElegirArticulosFacturasProveedor.pas +++ b/Source/Modulos/Facturas de proveedor/Views/uViewElegirArticulosFacturasProveedor.pas @@ -10,17 +10,96 @@ uses dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, ImgList, PngImageList, cxGridCustomPopupMenu, cxGridPopupMenu, dxPSCore, dxPScxCommon, dxPScxGridLnk, uDADataTable, cxGridLevel, cxGridCustomTableView, cxGridTableView, - cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid; + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, dxPgsDlg, + ActnList, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uViewFiltroBase, + uBizContactos; type IViewElegirArticulosFacturasProveedor = interface(IViewArticulos) ['{8F2E6451-0A4E-4DF1-908A-62BB5785A150}'] + function GetProveedor: IBizProveedor; + procedure SetProveedor(const Value: IBizProveedor); + property Proveedor: IBizProveedor read GetProveedor write SetProveedor; end; TfrViewElegirArticulosFacturasProveedor = class(TfrViewArticulos, IViewElegirArticulosFacturasProveedor) + cxGridLevel1: TcxGridLevel; + cxGridViewID_PROVEEDOR: TcxGridDBColumn; + procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; + ALevel: TcxGridLevel); + procedure CustomViewDestroy(Sender: TObject); + + private + FProveedor: IBizProveedor; + function GetProveedor: IBizProveedor; + procedure SetProveedor(const Value: IBizProveedor); + + //Filtros relativos a la vista + procedure AnadirFiltroProveedor; + + public + property Proveedor: IBizProveedor read GetProveedor write SetProveedor; + procedure AnadirOtrosFiltros; override; + end; implementation {$R *.dfm} +procedure TfrViewElegirArticulosFacturasProveedor.AnadirFiltroProveedor; +var + FFiltro : TcxFilterCriteriaItemList; +begin + FFiltro := AddFilterGrid(fboAnd); + + case cxGrid.ActiveLevel.Index of + 0 : if Assigned(FProveedor) then + FFiltro.AddItem(cxGridViewID_PROVEEDOR, foEqual, FProveedor.ID, FProveedor.NOMBRE); + 1 : if Assigned(FProveedor) then + FFiltro.AddItem(cxGridViewID_PROVEEDOR, foNotEqual, FProveedor.ID, FProveedor.NOMBRE); + end; +end; + +procedure TfrViewElegirArticulosFacturasProveedor.AnadirOtrosFiltros; +begin + inherited; + + AnadirFiltroProveedor; + + //Finalmente activamos el filtro si tenemos algo + if cxGridView.DataController.Filter.IsEmpty + then cxGridView.DataController.Filter.Active := False + else cxGridView.DataController.Filter.Active := True; + cxGrid.ActiveLevel.GridView := cxGridView; +end; + +procedure TfrViewElegirArticulosFacturasProveedor.CustomViewDestroy(Sender: TObject); +begin + FProveedor := Nil; + inherited; +end; + +procedure TfrViewElegirArticulosFacturasProveedor.cxGridActiveTabChanged( + Sender: TcxCustomGrid; ALevel: TcxGridLevel); +begin + inherited; + RefrescarFiltro; +end; + +function TfrViewElegirArticulosFacturasProveedor.GetProveedor: IBizProveedor; +begin + Result := FProveedor; +end; + +procedure TfrViewElegirArticulosFacturasProveedor.SetProveedor( + const Value: IBizProveedor); +begin + FProveedor := Value; + if Assigned(FProveedor) then + begin + cxGridLevel.Caption := FProveedor.NOMBRE; + RefrescarFiltro; + end; +end; + end. diff --git a/Source/Modulos/Pedidos a proveedor/Controller/PedidosProveedor_controller.bdsproj b/Source/Modulos/Pedidos a proveedor/Controller/PedidosProveedor_controller.bdsproj index d57cb437..6ba1ac57 100644 --- a/Source/Modulos/Pedidos a proveedor/Controller/PedidosProveedor_controller.bdsproj +++ b/Source/Modulos/Pedidos a proveedor/Controller/PedidosProveedor_controller.bdsproj @@ -174,7 +174,7 @@