git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES/trunk@17 9a1d36f3-7752-2d40-8ccb-50eb49674c68
182 lines
5.5 KiB
ObjectPascal
182 lines
5.5 KiB
ObjectPascal
unit uEditorFacturasCliente;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, uEditorGrid, Menus, DB, uDADataTable, JvAppStorage,
|
||
JvAppRegistryStorage, JvComponent, JvFormPlacement, ImgList,
|
||
PngImageList, StdActns, ActnList, ComCtrls, TB2ExtItems, TBXExtItems,
|
||
TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls,
|
||
JvNavigationPane, uViewGrid, pngimage, uBizFacturasCliente,
|
||
JvComponentBase, StdCtrls, cxControls, cxContainer, cxEdit, cxTextEdit,
|
||
cxMaskEdit, cxDropDownEdit, cxCalendar, cxDBEdit, TBXDkPanels,
|
||
dxLayoutControl, JvButton, cxRadioGroup, Buttons;
|
||
|
||
type
|
||
IEditorFacturasCliente = interface(IEditorGrid)
|
||
['{597BF875-BD19-4B68-898F-B09982B3360A}']
|
||
function GetFacturasCliente: IBizFacturasCliente;
|
||
procedure SetFacturasCliente(const Value: IBizFacturasCliente);
|
||
property FacturasCliente: IBizFacturasCliente read GetFacturasCliente
|
||
write SetFacturasCliente;
|
||
end;
|
||
|
||
TfEditorFacturasCliente = class(TfEditorGrid, IEditorFacturasCliente)
|
||
procedure actEliminarExecute(Sender: TObject);
|
||
procedure actModificarExecute(Sender: TObject);
|
||
procedure actNuevoExecute(Sender: TObject);
|
||
procedure OnListaAnosChange(Sender: TObject; const Text: string);
|
||
procedure FormShow(Sender: TObject);
|
||
|
||
private
|
||
FFacturasCliente: IBizFacturasCliente;
|
||
|
||
protected
|
||
function GetFacturasCliente: IBizFacturasCliente;
|
||
procedure SetFacturasCliente(const Value: IBizFacturasCliente);
|
||
procedure SetViewGrid(const Value: IViewGrid); override;
|
||
|
||
public
|
||
constructor Create(AOwner: TComponent); override;
|
||
destructor Destroy; override;
|
||
property FacturasCliente: IBizFacturasCliente read GetFacturasCliente write SetFacturasCliente;
|
||
end;
|
||
|
||
var
|
||
fEditorFacturasCliente: TfEditorFacturasCliente;
|
||
|
||
implementation
|
||
|
||
uses
|
||
uDataModuleFacturasCliente, uViewFacturasCliente,
|
||
uEditorUtils, uDBSelectionList;
|
||
|
||
{$R *.dfm}
|
||
|
||
function ShowEditorFacturasCliente (ABizObject : TDADataTableRules) : TModalResult;
|
||
var
|
||
AEditor: TfEditorFacturasCliente;
|
||
begin
|
||
AEditor := TfEditorFacturasCliente.Create(Application);
|
||
try
|
||
AEditor.FacturasCliente := (ABizObject as IBizFacturasCliente);
|
||
Result := AEditor.ShowModal;
|
||
finally
|
||
AEditor.Release;
|
||
end;
|
||
end;
|
||
|
||
function ShowSelectEditorFacturasCliente (ABizObject : TDADataTableRules) : TModalResult;
|
||
var
|
||
AEditor: TfEditorFacturasCliente;
|
||
begin
|
||
AEditor := TfEditorFacturasCliente.Create(Application);
|
||
try
|
||
AEditor.FacturasCliente := (ABizObject as IBizFacturasCliente);
|
||
// AEditor.SelectionBarVisible := True;
|
||
Result := AEditor.ShowModal;
|
||
finally
|
||
AEditor.Release;
|
||
end;
|
||
end;
|
||
|
||
{
|
||
*************************** TfEditorFacturasCliente ***************************
|
||
}
|
||
constructor TfEditorFacturasCliente.Create(AOwner: TComponent);
|
||
begin
|
||
inherited;
|
||
ViewGrid := CreateView(TfrViewFacturasCliente) as IViewFacturasCliente;
|
||
end;
|
||
|
||
destructor TfEditorFacturasCliente.Destroy;
|
||
begin
|
||
FFacturasCliente := NIL;
|
||
inherited;
|
||
end;
|
||
|
||
procedure TfEditorFacturasCliente.actEliminarExecute(Sender: TObject);
|
||
begin
|
||
if (Application.MessageBox('<27>Desea borrar esta factura de cliente?', 'Atenci<63>n', MB_YESNO) = IDYES) then
|
||
begin
|
||
inherited;
|
||
ViewGrid.RefreshGrid;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorFacturasCliente.actModificarExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
FacturasCliente.Show;
|
||
ViewGrid.RefreshGrid;
|
||
ViewGrid.SyncFocusedRecordsFromDataSet;
|
||
end;
|
||
|
||
procedure TfEditorFacturasCliente.actNuevoExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
FacturasCliente.Insert;
|
||
FacturasCliente.Show;
|
||
ViewGrid.RefreshGrid;
|
||
ViewGrid.SyncFocusedRecordsFromDataSet;
|
||
end;
|
||
|
||
function TfEditorFacturasCliente.GetFacturasCliente: IBizFacturasCliente;
|
||
begin
|
||
Result := FFacturasCliente;
|
||
end;
|
||
|
||
procedure TfEditorFacturasCliente.SetFacturasCliente(const Value: IBizFacturasCliente);
|
||
begin
|
||
FFacturasCliente := Value;
|
||
|
||
if Assigned(FFacturasCliente) then
|
||
begin
|
||
//Se guarda el where de la sentencia origen, por si el editor tiene filtros que
|
||
//afecten a este where y en un futuro se desea volver al where origen (filtro de a<>o))
|
||
WhereDataTable := FFacturasCliente.DataTable.Where.Clause;
|
||
|
||
dsDataTable.DataTable := FFacturasCliente.DataTable;
|
||
if Assigned(ViewGrid) then
|
||
(ViewGrid as IViewFacturasCliente).FacturasCliente := FacturasCliente;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorFacturasCliente.SetViewGrid(const Value: IViewGrid);
|
||
begin
|
||
inherited;
|
||
if Assigned(ViewGrid) and Assigned(FacturasCliente) then
|
||
(ViewGrid as IViewFacturasCliente).FacturasCliente := FFacturasCliente;
|
||
end;
|
||
|
||
procedure TfEditorFacturasCliente.FormShow(Sender: TObject);
|
||
begin
|
||
ListaAnos := dmFacturasCliente.DarListaAnosFacturas;
|
||
cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED
|
||
|
||
inherited;
|
||
end;
|
||
|
||
procedure TfEditorFacturasCliente.OnListaAnosChange(Sender: TObject; const Text: string);
|
||
var
|
||
aAux : ISelectedRowList;
|
||
begin
|
||
dmFacturasCliente.FiltrarAno(FacturasCliente, WhereDataTable, Text);
|
||
if FacturasCliente.DataTable.Active then
|
||
actRefrescar.Execute;
|
||
|
||
// Quitar las selecciones que hubiera anteriormente porque ya no valen
|
||
if Supports(FacturasCliente, ISelectedRowList, aAux) then
|
||
if (aAux.SelectedRows.Count > 0) then
|
||
aAux.SelectedRows.Clear;
|
||
end;
|
||
|
||
initialization
|
||
RegisterEditor(IBizFacturasCliente, ShowEditorFacturasCliente, etItems);
|
||
RegisterEditor(IBizFacturasCliente, ShowSelectEditorFacturasCliente, etSelectItems);
|
||
|
||
finalization
|
||
|
||
end.
|