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/Facturas de cliente/Cliente/uEditorFacturasCliente.pas
2007-06-21 15:59:26 +00:00

230 lines
6.7 KiB
ObjectPascal
Raw Blame History

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)
pnlFiltrar: TTBXDockablePanel;
TBXItemFiltro: TTBXItem;
actFiltrar: TAction;
txtFiltroTodo: TcxTextEdit;
edtFechaFiltro1: TcxDateEdit;
edtFechaFiltro2: TcxDateEdit;
Label1: TLabel;
rbTodo: TcxRadioButton;
rbFechas: TcxRadioButton;
Button1: TBitBtn;
procedure actEliminarExecute(Sender: TObject);
procedure actModificarExecute(Sender: TObject);
procedure actNuevoExecute(Sender: TObject);
procedure actQuitarFiltroExecute(Sender: TObject);
procedure edtFecha1PropertiesEditValueChanged(Sender: TObject);
procedure actFiltrarExecute(Sender: TObject);
procedure actFiltrarUpdate(Sender: TObject);
procedure rbTodoClick(Sender: TObject);
procedure txtFiltroTodoPropertiesChange(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;
{$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;
dsDataTable.DataTable := FFacturasCliente.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewFacturasCliente).FacturasCliente := FacturasCliente;
end;
procedure TfEditorFacturasCliente.SetViewGrid(const Value: IViewGrid);
begin
inherited;
if Assigned(ViewGrid) and Assigned(FacturasCliente) then
(ViewGrid as IViewFacturasCliente).FacturasCliente := FFacturasCliente;
end;
procedure TfEditorFacturasCliente.actQuitarFiltroExecute(Sender: TObject);
begin
if Assigned(ViewGrid) then
begin
txtFiltroTodo.Clear;
edtFechaFiltro1.Clear;
edtFechaFiltro2.Clear;
(ViewGrid as IViewFacturasCliente).FiltrarPorFechas(null, null);
inherited;
end;
end;
procedure TfEditorFacturasCliente.edtFecha1PropertiesEditValueChanged(Sender: TObject);
begin
inherited;
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 TfEditorFacturasCliente.actFiltrarExecute(Sender: TObject);
begin
inherited;
pnlFiltrar.Visible := not pnlFiltrar.Visible;
end;
procedure TfEditorFacturasCliente.actFiltrarUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Checked := pnlFiltrar.Visible;
end;
procedure TfEditorFacturasCliente.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;
procedure TfEditorFacturasCliente.txtFiltroTodoPropertiesChange(
Sender: TObject);
begin
if Assigned(ViewGrid) then
ViewGrid.Filter := txtFiltroTodo.Text;
end;
initialization
RegisterEditor(IBizFacturasCliente, ShowEditorFacturasCliente, etItems);
RegisterEditor(IBizFacturasCliente, ShowSelectEditorFacturasCliente, etSelectItems);
finalization
end.