AbetoDesign_FactuGES2/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranDevProveedor.pas

115 lines
3.6 KiB
ObjectPascal
Raw Normal View History

unit uEditorAlbaranDevProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorAlbaranProveedor, dxLayoutLookAndFeels, DB, uDADataTable,
JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList,
PngImageList, StdActns, ActnList, uViewTotales, ComCtrls, JvExComCtrls,
JvStatusBar, uViewIncidencias, uViewDetallesBase, uViewDetallesDTO,
uViewDetallesArticulos, uViewDetallesAlbaranProveedor, uCustomView, uViewBase,
uViewAlbaranProveedor, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls,
JvExControls, JvComponent, JvNavigationPane, uIEditorAlbaranDevProveedor,
uDAInterfaces, StdCtrls;
type
TfEditorAlbaranDevProveedor = class(TfEditorAlbaranProveedor, IEditorAlbaranDevProveedor)
procedure pgPaginasChanging(Sender: TObject; var AllowChange: Boolean);
protected
//Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este metodo
procedure AsignarVista; override;
procedure GuardarInterno; override;
procedure EliminarInterno; override;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
end;
implementation
{$R *.dfm}
uses
cxControls, uDataTableUtils, uDialogUtils, uViewAlbaranDevProveedor;
{ TfEditorAlbaranDevProveedor }
procedure TfEditorAlbaranDevProveedor.AsignarVista;
var
AViewAlbaranDevProveedor: TfrViewAlbaranDevProveedor;
begin
AViewAlbaranDevProveedor := TfrViewAlbaranDevProveedor.create(Self);
with AViewAlbaranDevProveedor do
begin
Parent := pagGeneral;
Align := alClient;
dxLayoutControl1.LookAndFeel := dxLayoutOfficeLookAndFeel1;
end;
ViewAlbaran := AViewAlbaranDevProveedor;
end;
procedure TfEditorAlbaranDevProveedor.EliminarInterno;
begin
//inherited; <- No descomentar. No hacer la parte del padre (por el mensaje)
if (Application.MessageBox('<27>Desea borrar esta orden de devoluci<63>n?', 'Atenci<63>n', MB_YESNO) = IDYES) then
begin
FController.Eliminar(FAlbaran);
inherited
end
end;
procedure TfEditorAlbaranDevProveedor.GuardarInterno;
var
bEsNuevo : Boolean;
begin
//inherited; <- No descomentar. No hacer la parte del padre (por el mensaje)
bEsNuevo := False;
ShowHourglassCursor;
// frViewDetallesAlbaranProveedor1.SaveGridStatus;
frViewDetallesAlbaranProveedor1.BeginUpdate;
try
bEsNuevo := FAlbaran.EsNuevo;
FController.Guardar(FAlbaran);
finally
frViewDetallesAlbaranProveedor1.EndUpdate;
// frViewDetallesAlbaranProveedor1.RestoreGridStatus;
HideHourglassCursor;
end;
if bEsNuevo then
ShowInfoMessage('La orden de devoluci<63>n se ha dado de alta con el c<>digo ' + FAlbaran.REFERENCIA);
Modified := False;
end;
procedure TfEditorAlbaranDevProveedor.pgPaginasChanging(Sender: TObject;
var AllowChange: Boolean);
begin
// inherited; <- No descomentar. No quiero hacer la parte del padre
if (not Assigned(FAlbaran)) or (FAlbaran.ID_PROVEEDOR = ID_NULO) then
begin
ShowWarningMessage('Antes de introducir conceptos debe elegir un proveedor para esta orden de devoluci<63>n');
AllowChange := False;
end;
end;
procedure TfEditorAlbaranDevProveedor.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := ATitulo;
if (FTitulo = '') and Assigned(FAlbaran) then
begin
if FAlbaran.EsNuevo then
FTitulo := 'Nueva orden de devoluci<63>n de proveedor'
else
FTitulo := 'Orden de devoluci<63>n de proveedor' + ' - ' + FAlbaran.Proveedor.Nombre;
end;
inherited PonerTitulos(FTitulo);
end;
end.