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

114 lines
3.6 KiB
ObjectPascal

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, dxGDIPlusClasses, cxControls, cxContainer, cxEdit, cxLabel;
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
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('¿Desea borrar esta orden de devolución?', 'Atención', MB_YESNO) = IDYES) then
begin
FController.Eliminar(FAlbaran);
actCerrar.Execute;
end
end;
procedure TfEditorAlbaranDevProveedor.GuardarInterno;
var
bEsNuevo : Boolean;
begin
//inherited; <- No descomentar. No hacer la parte del padre (por el mensaje)
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ó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ó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ón de proveedor'
else
FTitulo := 'Orden de devolución de proveedor' + ' - ' + FAlbaran.Proveedor.Nombre;
end;
inherited PonerTitulos(FTitulo);
end;
end.