git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES/trunk@17 9a1d36f3-7752-2d40-8ccb-50eb49674c68
223 lines
6.8 KiB
ObjectPascal
223 lines
6.8 KiB
ObjectPascal
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.
|
||
|