FactuGES2/Source/Modulos/Contabilidad/Views/uEditorDiario.pas

157 lines
4.2 KiB
ObjectPascal

unit uEditorDiario;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorBase, ToolWin, ComCtrls, JvExControls, JvComponent,
JvNavigationPane, uViewDiario, uBizAsientos, ActnList, DBActns, uViewGrid,
Menus, uDataModuleBase, ImgList, PngImageList, TB2Dock, TB2Toolbar, TBX,
TB2Item, StdActns, TB2ExtItems, TBXExtItems, TB2MRU, DB, uDADataTable,
JvFormAutoSize, uDAScriptingProvider, uDACDSDataTable, JvAppStorage,
JvAppRegistryStorage, JvFormPlacement, ExtCtrls, uCustomView, uViewBase,
uViewBarraSeleccion, pngimage, uIEditorDiario, uEditorGridBase,
JvComponentBase, uViewGridBase, uAsientosController, JvExComCtrls,
JvStatusBar, uDAInterfaces, uViewEpigrafes, uBizDiario;
type
TfEditorDiario = class(TfEditorGridBase, IEditorDiario)
frViewDiario1: TfrViewDiario;
procedure FormShow(Sender: TObject);
private
FDiario: IBizDiario;
FController : IAsientosController;
protected
function GetDiario: IBizDiario;
procedure SetDiario(const Value: IBizDiario);
function GetController : IAsientosController; virtual;
procedure SetController (const Value : IAsientosController); virtual;
procedure NuevoInterno; override;
procedure EliminarInterno; override;
procedure ModificarInterno; override;
procedure DuplicarInterno; override;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
property Diario: IBizDiario read GetDiario write SetDiario;
property Controller : IAsientosController read GetController write SetController;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
uses
uCustomEditor, uDataModuleUsuarios,
// uEditorEpigrafe,
uEditorDBBase, uFactuGES_App,
cxGrid, cxGridCustomTableView; //, uListaAsientos;
{$R *.dfm}
{
****************************** TfEditorAsientos *******************************
}
procedure TfEditorDiario.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(ViewGrid) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(Diario) then
raise Exception.Create('No hay ningún Diario asignado');
Diario.DataTable.Active := True;
ViewGrid.GotoFirst;
end;
function TfEditorDiario.GetDiario: IBizDiario;
begin
Result := FDiario;
end;
function TfEditorDiario.GetController: IAsientosController;
begin
Result := FController;
end;
procedure TfEditorDiario.ModificarInterno;
begin
inherited;
FController.Ver(FController.Buscar(Diario.ID_ASIENTO));
end;
procedure TfEditorDiario.NuevoInterno;
begin
inherited;
FController.Ver(FController.Anadir);
end;
procedure TfEditorDiario.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := 'Lista de Asientos - ' + AppFactuGES.EmpresaActiva.NOMBRE + ' - ' + AppFactuGES.EjercicioActivo.NOMBRE;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorDiario.SetDiario(const Value: IBizDiario);
begin
FDiario := Value;
dsDataTable.DataTable := FDiario.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewDiario).Diario := Diario;
end;
procedure TfEditorDiario.SetController(const Value: IAsientosController);
begin
FController := Value;
end;
destructor TfEditorDiario.Destroy;
begin
FDiario := NIL;
inherited;
end;
procedure TfEditorDiario.DuplicarInterno;
var
AEpigrafe : IBizAsiento;
begin
AppFactuGES.ShowCapado;
{
inherited;
AEpigrafe := FController.Duplicar(Asientos);
try
FController.Ver(AEpigrafe);
finally
actRefrescar.Execute;
end;
}
end;
procedure TfEditorDiario.EliminarInterno;
begin
{
if (Application.MessageBox('¿Desea borrar este almacén?', 'Atención', MB_YESNO) = IDYES) then
begin
inherited;
//Para que en el caso de no poderse realizar la operación se refresquen
//los datos y no nos permita eliminar un registro a la segunda
if not FController.Eliminar(Asientos) then
actRefrescar.Execute;
end;
}
end;
constructor TfEditorDiario.Create(AOwner: TComponent);
begin
inherited;
ViewGrid := frViewDiario1; //CreateView(TfrViewAsientos) as IViewAsientos;
end;
end.