ProGestion/Modulos/Facturas de cliente/Cliente/uEditorFacturasCliente.pas
2007-06-21 16:12:43 +00:00

178 lines
5.3 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, dxLayoutLookAndFeels, uCustomView, uViewBase,
uViewBarraSeleccion, StdCtrls;
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 actDuplicarExecute(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;
case ViewGrid.Grid.ActiveLevel.Index of
0: begin
FacturasCliente.CLASEFACTURA := CTE_NORMAL;
FacturasCliente.PAGADA := SITUACION_PENDIENTE;
FacturasCliente.setReferencia(CTE_NORMAL);
end;
1: begin
FacturasCliente.CLASEFACTURA := CTE_NORMAL;
FacturasCliente.PAGADA := SITUACION_PAGADO;
FacturasCliente.setReferencia(CTE_NORMAL);
end;
2: begin
FacturasCliente.CLASEFACTURA := CTE_PROFORMA;
FacturasCliente.setReferencia(CTE_PROFORMA);
end;
end;
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.actDuplicarExecute(Sender: TObject);
var
AFactura : IBizFacturasCliente;
begin
inherited;
AFactura := dmFacturasCliente.GetItem(FacturasCliente.CODIGO);
FacturasCliente.Insert;
FacturasCliente.CopyFrom(AFactura);
FacturasCliente.DataTable.ApplyUpdates;
ViewGrid.RefreshGrid;
ViewGrid.GotoFirst;
end;
initialization
RegisterEditor(IBizFacturasCliente, ShowEditorFacturasCliente, etItems);
RegisterEditor(IBizFacturasCliente, ShowSelectEditorFacturasCliente, etSelectItems);
finalization
end.