This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
AlonsoYSal_FactuGES/Modulos/Pedidos a proveedor/Cliente/uEditorPedidosProveedor.pas

223 lines
6.8 KiB
ObjectPascal
Raw Blame History

unit uEditorPedidosProveedor;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
uCustomEditor, uEditorGrid, uBizPedidosProveedor, ImgList,
PngImageList, StdActns, ActnList, TB2ExtItems, TBXExtItems, TBX, TB2Item,
TB2Dock, TB2Toolbar, JvExControls, JvComponent, JvNavigationPane,
uViewPedidosProveedor, Menus, DB, uDADataTable, ComCtrls, uViewGrid,
uDAScriptingProvider, uDACDSDataTable, JvAppStorage,
JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls, uCustomView,
uViewBase, uViewBarraSeleccion, JvComponentBase;
type
IEditorPedidosProveedor = interface(IEditorGrid)
['{B7F914EC-3EB4-436F-98B9-6D3E4486C84F}']
function GetPedidosProveedor: IBizPedidosProveedor;
procedure SetPedidosProveedor(const Value: IBizPedidosProveedor);
property PedidosProveedor: IBizPedidosProveedor read GetPedidosProveedor write
SetPedidosProveedor;
end;
TfEditorPedidosProveedor = class(TfEditorGrid, IEditorPedidosProveedor)
frViewBarraSeleccion: TfrViewBarraSeleccion;
procedure actEliminarExecute(Sender: TObject);
procedure actModificarExecute(Sender: TObject);
procedure actNuevoExecute(Sender: TObject);
procedure frViewBarraSeleccionactSeleccionarExecute(Sender: TObject);
procedure frViewBarraSeleccionbCancelarClick(Sender: TObject);
procedure actDuplicarExecute(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
procedure FormShow(Sender: TObject);
private
FPedidosProveedor: IBizPedidosProveedor;
protected
function GetPedidosProveedor: IBizPedidosProveedor;
function GetSelectionBarVisible: Boolean;
procedure SetPedidosProveedor(const Value: IBizPedidosProveedor);
procedure SetSelectionBarVisible(const Value: Boolean);
procedure SetViewGrid(const Value: IViewGrid); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property PedidosProveedor: IBizPedidosProveedor read GetPedidosProveedor write SetPedidosProveedor;
property SelectionBarVisible: Boolean read GetSelectionBarVisible write SetSelectionBarVisible;
end;
var
fEditorPedidosProveedor : TfEditorPedidosProveedor;
implementation
uses
uDataModulePedidosProveedor, uEditorUtils, uBizPresupuestosCliente,
uDataModulePresupuestos, uDBSelectionList;
{$R *.DFM}
function ShowEditorPedidosProveedor (ABizObject : TDADataTableRules) : TModalResult;
var
AEditor: TfEditorPedidosProveedor;
begin
AEditor := TfEditorPedidosProveedor.Create(Application);
try
AEditor.PedidosProveedor := (ABizObject as IBizPedidosProveedor);
Result := AEditor.ShowModal;
finally
AEditor.Release;
end;
end;
function ShowSelectEditorPedidosProveedor (ABizObject : TDADataTableRules) : TModalResult;
var
AEditor: TfEditorPedidosProveedor;
begin
AEditor := TfEditorPedidosProveedor.Create(Application);
try
AEditor.PedidosProveedor := (ABizObject as IBizPedidosProveedor);
AEditor.SelectionBarVisible := True;
Result := AEditor.ShowModal;
finally
AEditor.Release;
end;
end;
{ TfEditorPedidosProveedor }
{
***************************** TfEditorPedidosProveedor *****************************
}
constructor TfEditorPedidosProveedor.Create(AOwner: TComponent);
begin
inherited;
ViewGrid := CreateView(TfrViewPedidosProveedor) as IViewPedidosProveedor;
end;
destructor TfEditorPedidosProveedor.Destroy;
begin
FPedidosProveedor := NIL;
inherited;
end;
procedure TfEditorPedidosProveedor.actEliminarExecute(Sender: TObject);
begin
if (MessageDlg('<27>Desea borrar este presupuesto?', mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
begin
inherited;
ViewGrid.RefreshGrid;
end;
end;
procedure TfEditorPedidosProveedor.actModificarExecute(Sender: TObject);
begin
inherited;
PedidosProveedor.Show;
ViewGrid.RefreshGrid;
ViewGrid.SyncFocusedRecordsFromDataSet;
end;
procedure TfEditorPedidosProveedor.actNuevoExecute(Sender: TObject);
begin
inherited;
PedidosProveedor.Insert;
PedidosProveedor.Show;
ViewGrid.RefreshGrid;
ViewGrid.SyncFocusedRecordsFromDataSet;
end;
procedure TfEditorPedidosProveedor.frViewBarraSeleccionactSeleccionarExecute(
Sender: TObject);
begin
inherited;
ViewGrid.SyncFocusedRecordsFromGrid;
ModalResult := mrOK;
end;
procedure TfEditorPedidosProveedor.frViewBarraSeleccionbCancelarClick(Sender:
TObject);
begin
inherited;
frViewBarraSeleccion.actCancelarExecute(Sender);
end;
function TfEditorPedidosProveedor.GetPedidosProveedor: IBizPedidosProveedor;
begin
Result := FPedidosProveedor;
end;
function TfEditorPedidosProveedor.GetSelectionBarVisible: Boolean;
begin
Result := frViewBarraSeleccion.Visible
end;
procedure TfEditorPedidosProveedor.SetPedidosProveedor(const Value: IBizPedidosProveedor);
begin
FPedidosProveedor := Value;
dsDataTable.DataTable := FPedidosProveedor.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewPedidosProveedor).PedidosProveedor := PedidosProveedor;
end;
procedure TfEditorPedidosProveedor.SetSelectionBarVisible(const Value: Boolean);
begin
frViewBarraSeleccion.Visible := True;
ViewGrid.OnDblClick := frViewBarraSeleccion.actSeleccionar.OnExecute;
end;
procedure TfEditorPedidosProveedor.SetViewGrid(const Value: IViewGrid);
begin
inherited;
if Assigned(ViewGrid) and Assigned(PedidosProveedor) then
(ViewGrid as IViewPedidosProveedor).PedidosProveedor := PedidosProveedor;
end;
procedure TfEditorPedidosProveedor.actDuplicarExecute(Sender: TObject);
var
APedido: IBizPedidosProveedor;
begin
inherited;
APedido := dmPedidos.GetItem(PedidosProveedor.CODIGO);
PedidosProveedor.Insert;
PedidosProveedor.CopyFrom(APedido);
PedidosProveedor.DataTable.ApplyUpdates;
ViewGrid.RefreshGrid;
// ViewGrid.GotoFirst;
end;
procedure TfEditorPedidosProveedor.OnListaAnosChange(Sender: TObject;
const Text: string);
var
aAux : ISelectedRowList;
begin
dmPedidos.FiltrarAno(PedidosProveedor, WhereDataTable, Text);
if PedidosProveedor.DataTable.Active then
actRefrescar.Execute;
// Quitar las selecciones que hubiera anteriormente porque ya no valen
if Supports(PedidosProveedor, ISelectedRowList, aAux) then
if (aAux.SelectedRows.Count > 0) then
aAux.SelectedRows.Clear;
end;
procedure TfEditorPedidosProveedor.FormShow(Sender: TObject);
begin
ListaAnos := dmPedidos.DarListaAnosPedidos;
cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED
inherited;
end;
initialization
RegisterEditor(IBizPedidosProveedor, ShowEditorPedidosProveedor, etItems);
RegisterEditor(IBizPedidosProveedor, ShowSelectEditorPedidosProveedor, etSelectItems);
finalization
end.