unit uViewPedidoProveedor; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewBase, uBizPedidosProveedor, DB, uDADataTable, uCustomView, uViewDatosYSeleccionContacto, uViewObservaciones, AppEvnts, uViewDestinoPedidoProveedor, uViewDatosPedidoProveedor, StdCtrls, Mask, DBCtrls, uViewMontajeRelacionado, uViewMontajePedido; type IViewPedidoProveedor = interface(IViewBase) ['{CC768E3B-B3A6-463E-8D3F-B954715E6432}'] function GetPedidoProveedor: IBizPedidosProveedor; procedure SetPedidoProveedor(const Value: IBizPedidosProveedor); property PedidoProveedor: IBizPedidosProveedor read GetPedidoProveedor write SetPedidoProveedor; end; TfrViewPedidoProveedor = class(TfrViewBase, IViewPedidoProveedor) DADataSource: TDADataSource; frViewDatosYSeleccionContacto: TfrViewDatosYSeleccionContacto; frViewObservaciones: TfrViewObservaciones; frViewDatosPedidoProveedor: TfrViewDatosPedidoProveedor; frViewDestinoPedidoProveedor: TfrViewDestinoPedidoProveedor; frViewMontajePedido: TfrViewMontajePedido; private FPedidoProveedor : IBizPedidosProveedor; procedure OnContactoChanged (Sender : TObject); procedure OnMontajeChanged(Sender : TObject); protected function GetPedidoProveedor: IBizPedidosProveedor; procedure SetPedidoProveedor(const Value: IBizPedidosProveedor); public property PedidoProveedor: IBizPedidosProveedor read GetPedidoProveedor write SetPedidoProveedor; end; var frViewPedidoProveedor: TfrViewPedidoProveedor; implementation uses uBizContacto, uExceptions; {$R *.dfm} { TfrViewAlbaranCliente } function TfrViewPedidoProveedor.GetPedidoProveedor: IBizPedidosProveedor; begin Result := FPedidoProveedor; end; procedure TfrViewPedidoProveedor.OnContactoChanged(Sender: TObject); begin FPedidoProveedor.Proveedor := (frViewDatosYSeleccionContacto.Contacto as IBizProveedor); end; procedure TfrViewPedidoProveedor.OnMontajeChanged(Sender: TObject); begin FPedidoProveedor.Montaje := frViewMontajePedido.Montaje; end; procedure TfrViewPedidoProveedor.SetPedidoProveedor(const Value: IBizPedidosProveedor); begin FPedidoProveedor := Value; if Assigned(FPedidoProveedor) then DADataSource.DataTable := FPedidoProveedor.DataTable else DADataSource.DataTable := NIL; frViewDatosPedidoProveedor.DADataSource.DataTable := DADataSource.DataTable; frViewObservaciones.DADataSource.DataTable := DADataSource.DataTable; frViewDestinoPedidoProveedor.PedidoProveedor := FPedidoProveedor; frViewDatosYSeleccionContacto.Contacto := FPedidoProveedor.Proveedor; frViewDatosYSeleccionContacto.OnContactoChanged := OnContactoChanged; frViewMontajePedido.Montaje := FPedidoProveedor.Montaje; frViewMontajePedido.OnMontajeChanged := OnMontajeChanged; end; end.