Tecsitel_FactuGES2/Source/Modulos/Remesas de proveedor/Views/uEditorRemesasProveedor.pas
david 15113e1a5e - Repaso global
- Habilitado portapapeles

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@392 0c75b7a4-871f-7646-8a2f-f78d34cc349f
2008-05-30 16:56:23 +00:00

307 lines
9.5 KiB
ObjectPascal
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit uEditorRemesasProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorBase, ToolWin, ComCtrls, JvExControls, JvComponent,
JvNavigationPane, uViewRemesasProveedor, uBizRemesasProveedor, 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, uIEditorRemesasProveedor, uEditorGridBase,
JvComponentBase, uViewGridBase, uRemesasProveedorController, JvExComCtrls,
JvStatusBar, JSDialog, uDAInterfaces;
type
TfEditorRemesasProveedor = class(TfEditorGridBase, IEditorRemesasProveedor)
actVolcarDisco: TAction;
TBXSeparatorItem17: TTBXSeparatorItem;
N4: TMenuItem;
Volcaradisco1: TMenuItem;
TBXSubmenuItem2: TTBXSubmenuItem;
TBXItem38: TTBXItem;
JsListaRemesasNoEliminadas: TJSDialog;
JsPrevisualizarDialog: TJSDialog;
JsImprimirDialog: TJSDialog;
procedure FormShow(Sender: TObject);
procedure actVolcarDiscoExecute(Sender: TObject);
procedure actVolcarDiscoUpdate(Sender: TObject);
private
FRemesasProveedor: IBizRemesaProveedor;
FController : IRemesasProveedorController;
protected
function GetRemesasProveedor: IBizRemesaProveedor;
procedure SetRemesasProveedor(const Value: IBizRemesaProveedor);
function GetController : IRemesasProveedorController; virtual;
procedure SetController (const Value : IRemesasProveedorController); virtual;
procedure NuevoInterno; override;
procedure EliminarInterno; override;
procedure ModificarInterno; override;
procedure PrevisualizarInterno; override;
procedure ImprimirInterno; override;
//Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este metodo
procedure AsignarVista; virtual;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
property RemesasProveedor: IBizRemesaProveedor read GetRemesasProveedor write SetRemesasProveedor;
property Controller : IRemesasProveedorController read GetController write SetController;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
uses
uCustomEditor, uDataModuleRemesasProveedor, uDataModuleUsuarios,
uGridStatusUtils, uDBSelectionListUtils, uFactuGES_App,
uEditorDBBase, uBizFamilias, uFamiliasController,
// uBancaElectronicaController,
cxGrid, cxGridCustomTableView; //, uListaRemesasProveedor;
{$R *.dfm}
{
****************************** TfEditorRemesasProveedor *******************************
}
procedure TfEditorRemesasProveedor.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(ViewGrid) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(RemesasProveedor) then
raise Exception.Create('No hay ning<6E>n RemesaProveedor asignado');
RemesasProveedor.DataTable.Active := True;
ViewGrid.GotoFirst;
end;
function TfEditorRemesasProveedor.GetRemesasProveedor: IBizRemesaProveedor;
begin
Result := FRemesasProveedor;
end;
procedure TfEditorRemesasProveedor.ImprimirInterno;
var
Respuesta : Integer;
ARemesasProveedor: IBizRemesaProveedor;
AllItems: Boolean;
begin
ARemesasProveedor := Nil;
AllItems := False;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
//Si esta agrupado solo podr<64> imprimir la lista de elementos visibles
if not ViewGrid.esSeleccionCeldaDatos then
inherited
else
begin
Respuesta := JsImprimirDialog.Execute;
if Respuesta <> IDCANCEL then
begin
case JsImprimirDialog.CustomButtonResult of
200 : begin // Lista de elementos visibles
inherited;
end;
100 : begin // Elemento Seleccionado
if AllItems then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (RemesasProveedor as ISeleccionable).SelectedRecords);
ARemesasProveedor := (Controller as IRemesasProveedorController).ExtraerSeleccionados(RemesasProveedor) as IBizRemesaProveedor;
end
else
ARemesasProveedor := RemesasProveedor;
if Assigned(ARemesasProveedor) then
FController.Print(ARemesasProveedor, AllItems);
end;
end;
end;
end;
end;
function TfEditorRemesasProveedor.GetController: IRemesasProveedorController;
begin
Result := FController;
end;
procedure TfEditorRemesasProveedor.ModificarInterno;
begin
inherited;
FController.Ver(RemesasProveedor);
end;
procedure TfEditorRemesasProveedor.NuevoInterno;
begin
inherited;
FController.Anadir(RemesasProveedor);
FController.Ver(RemesasProveedor);
end;
procedure TfEditorRemesasProveedor.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := 'Lista de remesas de pago - ' + AppFactuGES.EmpresaActiva.NOMBRE;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorRemesasProveedor.PrevisualizarInterno;
var
Respuesta : Integer;
ARemesasProveedor: IBizRemesaProveedor;
AllItems: Boolean;
begin
ARemesasProveedor := Nil;
AllItems := False;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
//Si esta agrupado solo podr<64> imprimir la lista de elementos visibles
if not ViewGrid.esSeleccionCeldaDatos then
inherited
else
begin
Respuesta := JsPrevisualizarDialog.Execute;
if Respuesta <> IDCANCEL then
begin
case JsPrevisualizarDialog.CustomButtonResult of
200 : begin // Lista de elementos visibles
inherited;
end;
100 : begin // Elemento Seleccionado
if AllItems then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (RemesasProveedor as ISeleccionable).SelectedRecords);
ARemesasProveedor := (Controller as IRemesasProveedorController).ExtraerSeleccionados(RemesasProveedor) as IBizRemesaProveedor;
end
else
ARemesasProveedor := RemesasProveedor;
if Assigned(ARemesasProveedor) then
FController.Preview(ARemesasProveedor, AllItems);
end;
end;
end;
end;
end;
procedure TfEditorRemesasProveedor.SetRemesasProveedor(const Value: IBizRemesaProveedor);
begin
FRemesasProveedor := Value;
dsDataTable.DataTable := FRemesasProveedor.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewRemesasProveedor).RemesasProveedor := RemesasProveedor;
end;
procedure TfEditorRemesasProveedor.SetController(const Value: IRemesasProveedorController);
begin
FController := Value;
end;
destructor TfEditorRemesasProveedor.Destroy;
begin
FRemesasProveedor := NIL;
FController := NIl;
inherited;
end;
procedure TfEditorRemesasProveedor.EliminarInterno;
var
ARemesas: IBizRemesaProveedor;
AllItems: Boolean;
begin
ARemesas := Nil;
AllItems := False;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
if AllItems then
begin
if (Application.MessageBox('<27>Desea borrar las remesas de proveedor seleccionadas?', 'Atenci<63>n', MB_YESNO) = IDYES) then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (RemesasProveedor as ISeleccionable).SelectedRecords);
ARemesas := (Controller as IRemesasProveedorController).ExtraerSeleccionados(RemesasProveedor) as IBizRemesaProveedor;
end
end
else begin
if (Application.MessageBox('<27>Desea borrar esta remesa de pago?', 'Atenci<63>n', MB_YESNO) = IDYES) then
ARemesas := RemesasProveedor;
end;
if Assigned(ARemesas) then
begin
FController.Eliminar(ARemesas, AllItems);
if AllItems then
begin
if (ARemesas.DataTable.RecordCount > 0) then
begin
with ARemesas.DataTable do
begin
First;
while not EOF do
begin
JsListaRemesasNoEliminadas.Content.Add('Ref. remesa: ' + ARemesas.REFERENCIA + ' ' + ARemesas.NOMBRE);
Next;
end;
end;
JsListaRemesasNoEliminadas.Execute;
end;
end;
end;
actRefrescar.Execute;
ViewGrid.GotoFirst;
end;
procedure TfEditorRemesasProveedor.actVolcarDiscoExecute(Sender: TObject);
//var
// ABancaController : IBancaElectronicaController;
begin
// inherited;
// ABancaController := TBancaElectronicaController.Create;
// try
// ABancaController.GenerarFicheroNorma19(FRemesasProveedor.ID);
// finally
// ABancaController := NIL;
// end;
end;
procedure TfEditorRemesasProveedor.actVolcarDiscoUpdate(Sender: TObject);
begin
inherited;
{
if HayDatos and Assigned(ViewGrid) then
(Sender as TAction).Enabled := not (dsDataTable.DataTable.State in dsEditModes)
and not ViewGrid.IsEmpty
else
(Sender as TAction).Enabled := False;
}
end;
procedure TfEditorRemesasProveedor.AsignarVista;
begin
ViewGrid := CreateView(TfrViewRemesasProveedor) as IViewRemesasProveedor;
end;
constructor TfEditorRemesasProveedor.Create(AOwner: TComponent);
begin
inherited;
AsignarVista;
end;
end.