This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
AlonsoYSal_FactuGES/Modulos/Facturas de proveedor/Cliente/uEditorFacturaProveedor.pas
2014-07-14 17:22:53 +00:00

179 lines
5.9 KiB
ObjectPascal
Raw Blame History

unit uEditorFacturaProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorDBItem, DB, uDADataTable, JvAppStorage,
JvAppRegistryStorage, JvComponent, JvFormPlacement, ImgList,
PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock,
TB2Toolbar, ExtCtrls, JvExControls, JvNavigationPane,
uViewFacturaProveedor, uCustomView, uViewBase, uViewContenido, uViewTotales,
StdCtrls, pngimage, AppEvnts,
uBizFacturasProveedor, JvComponentBase;
type
IEditorFacturaProveedor = interface(IEditorDBItem)
['{22C02CC0-035C-4405-A610-C5734B09BB9F}']
function GetFacturaProveedor: IBizFacturasProveedor;
procedure SetFacturaProveedor(const Value: IBizFacturasProveedor);
property FacturaProveedor: IBizFacturasProveedor read GetFacturaProveedor write
SetFacturaProveedor;
end;
TfEditorFacturaProveedor = class(TfEditorDBItem, IEditorFacturaProveedor)
frViewTotales1: TfrViewTotales;
frViewFacturaProveedor1: TfrViewFacturaProveedor;
procedure actEliminarExecute(Sender: TObject);
procedure dsDataTableDataChange(Sender: TObject; Field: TField);
procedure FormShow(Sender: TObject); override;
procedure frViewDatosYSeleccionContacto1edtlNombrePropertiesChange(
Sender: TObject);
private
FFacturaProveedor: IBizFacturasProveedor;
FViewFacturaProveedor: IViewFacturaProveedor;
protected
function GetFacturaProveedor: IBizFacturasProveedor;
function GetViewFactura: IViewFacturaProveedor;
procedure SetFacturaProveedor(const Value: IBizFacturasProveedor);
procedure SetViewFactura(const Value: IViewFacturaProveedor);
property ViewFacturaProveedor: IViewFacturaProveedor read GetViewFactura write
SetViewFactura;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property FacturaProveedor: IBizFacturasProveedor read GetFacturaProveedor write
SetFacturaProveedor;
end;
var
fEditorFacturaProveedor: TfEditorFacturaProveedor;
implementation
uses uEditorUtils, uDataModuleFacturasProveedor, uBizImportesDetalleBase,
schFacturasProveedorClient_Intf, uExceptions;
{$R *.dfm}
function ShowEditorFacturaProveedor (ABizObject : TDADataTableRules) : TModalResult;
var
AEditor: TfEditorFacturaProveedor;
begin
AEditor := TfEditorFacturaProveedor.Create(Application);
try
AEditor.FacturaProveedor := (ABizObject as IBizFacturasProveedor);
Result := AEditor.ShowModal;
finally
AEditor.Release;
end;
end;
{ TfEditorFacturaProveedor }
{
**************************** TfEditorFacturaProveedor ****************************
}
constructor TfEditorFacturaProveedor.Create(AOwner: TComponent);
begin
inherited;
// ViewFacturaProveedor := CreateView(TfrViewFacturaProveedor) as IViewFacturaProveedor;
pgPaginas.ActivePageIndex := 0;
ViewFacturaProveedor := frViewFacturaProveedor1;
end;
destructor TfEditorFacturaProveedor.Destroy;
begin
FViewFacturaProveedor := NIL;
FFacturaProveedor := NIL;
inherited;
end;
procedure TfEditorFacturaProveedor.actEliminarExecute(Sender: TObject);
begin
if (Application.MessageBox('<27>Desea borrar este albar<61>n de proveedor?', 'Atenci<63>n', MB_YESNO) = IDYES) then
inherited;
end;
procedure TfEditorFacturaProveedor.dsDataTableDataChange(Sender: TObject; Field:
TField);
begin
inherited;
if Assigned(FFacturaProveedor) and (not (FFacturaProveedor.DataTable.Fetching) or
not (FFacturaProveedor.DataTable.Opening) or not (FFacturaProveedor.DataTable.Closing)) then
begin
if Length(FFacturaProveedor.NOMBRE) = 0 then
JvNavPanelHeader.Caption := 'Nueva factura de proveedor'
else
JvNavPanelHeader.Caption := 'Factura de ' + FFacturaProveedor.NOMBRE;
Caption := JvNavPanelHeader.Caption;
end;
end;
procedure TfEditorFacturaProveedor.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(FViewFacturaProveedor) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(FacturaProveedor) then
raise Exception.Create('No hay ninguna factura asignada');
FacturaProveedor.DataTable.Active := True;
// FViewFacturaProveedor.ShowEmbedded(pagGeneral);
// FViewFacturaProveedor.SetFocus;
end;
function TfEditorFacturaProveedor.GetFacturaProveedor: IBizFacturasProveedor;
begin
Result := FFacturaProveedor;
end;
function TfEditorFacturaProveedor.GetViewFactura: IViewFacturaProveedor;
begin
Result := FViewFacturaProveedor;
end;
procedure TfEditorFacturaProveedor.SetFacturaProveedor(const Value:
IBizFacturasProveedor);
begin
FFacturaProveedor := Value;
if Assigned(FFacturaProveedor) then
begin
dsDataTable.DataTable := FFacturaProveedor.DataTable;
frViewTotales1.DADataSource.DataTable := FFacturaProveedor.DataTable;
if Assigned(FViewFacturaProveedor) then
FViewFacturaProveedor.FacturaProveedor := FFacturaProveedor;
end;
end;
procedure TfEditorFacturaProveedor.SetViewFactura(const Value:
IViewFacturaProveedor);
begin
FViewFacturaProveedor := Value;
if Assigned(FViewFacturaProveedor) and Assigned(FacturaProveedor) then
FViewFacturaProveedor.FacturaProveedor := FacturaProveedor;
end;
procedure TfEditorFacturaProveedor.frViewDatosYSeleccionContacto1edtlNombrePropertiesChange(
Sender: TObject);
begin
inherited;
if Length(frViewFacturaProveedor1.frViewDatosYSeleccionContacto1.edtlNombre.Text) = 0 then
JvNavPanelHeader.Caption := 'Nueva factura de proveedor'
else
JvNavPanelHeader.Caption := 'Factura de ' + frViewFacturaProveedor1.frViewDatosYSeleccionContacto1.edtlNombre.Text;
Caption := JvNavPanelHeader.Caption;
end;
initialization
RegisterEditor(IBizFacturasProveedor, ShowEditorFacturaProveedor, etItem);
finalization
end.