git-svn-id: https://192.168.0.254/svn/Proyectos.EstudioCarnicero_ProGestion/trunk@4 1b8572a8-2d6b-b84e-8c90-20ed86fa4eca
127 lines
3.5 KiB
ObjectPascal
127 lines
3.5 KiB
ObjectPascal
unit uViewObraRelacionada;
|
||
|
||
interface
|
||
|
||
uses uViewBase, DB, uDADataTable, ImgList, Controls, PngImageList,
|
||
Classes, ActnList, dxLayoutControl, ComCtrls, ToolWin, cxContainer,
|
||
cxEdit, cxTextEdit, cxDBEdit, cxControls, uBizObraFinal;
|
||
|
||
type
|
||
IViewObraRelacionada = interface(IViewBase)
|
||
['{B2AC5AD9-5F73-4FF4-8F8E-B2C8CDBF1B89}']
|
||
function GetObra: IBizObraFinal;
|
||
procedure SetObra(const Value: IBizObraFinal);
|
||
property Obra: IBizObraFinal read GetObra write SetObra;
|
||
|
||
function GetOnObraChanged : TNotifyEvent;
|
||
procedure SetOnObraChanged (const Value : TNotifyEvent);
|
||
property OnObraChanged : TNotifyEvent read GetOnObraChanged write SetOnObraChanged;
|
||
end;
|
||
|
||
TfrViewObraRelacionada = class(TfrViewBase, IViewObraRelacionada)
|
||
ActionList1: TActionList;
|
||
actElegirObra: TAction;
|
||
actVerObra: TAction;
|
||
PngImageList: TPngImageList;
|
||
DADataSource: TDADataSource;
|
||
dxLayoutControl1Group_Root: TdxLayoutGroup;
|
||
dxLayoutControl1: TdxLayoutControl;
|
||
dxLayoutControl1Item2: TdxLayoutItem;
|
||
edtlNombre: TcxDBTextEdit;
|
||
dxLayoutControl1Group1: TdxLayoutGroup;
|
||
dxLayoutControl1Item1: TdxLayoutItem;
|
||
ToolBar1: TToolBar;
|
||
ToolButton1: TToolButton;
|
||
ToolButton3: TToolButton;
|
||
ToolButton2: TToolButton;
|
||
procedure actVerObraExecute(Sender: TObject);
|
||
procedure actVerObraUpdate(Sender: TObject);
|
||
procedure actElegirObraExecute(Sender: TObject);
|
||
private
|
||
FObra : IBizObraFinal;
|
||
FOnObraChanged : TNotifyEvent;
|
||
protected
|
||
function GetObra: IBizObraFinal;
|
||
procedure SetObra(const Value: IBizObraFinal);
|
||
function GetOnObraChanged : TNotifyEvent;
|
||
procedure SetOnObraChanged (const Value : TNotifyEvent);
|
||
public
|
||
property Obra: IBizObraFinal read GetObra write SetObra;
|
||
property OnObraChanged : TNotifyEvent read GetOnObraChanged write SetOnObraChanged;
|
||
end;
|
||
|
||
implementation
|
||
{$R *.dfm}
|
||
|
||
uses Windows, uDataModuleObrasFinal;
|
||
|
||
|
||
{ TfrViewObraRelacionada }
|
||
|
||
procedure TfrViewObraRelacionada.actVerObraExecute(Sender: TObject);
|
||
begin
|
||
FObra.Show;
|
||
end;
|
||
|
||
procedure TfrViewObraRelacionada.actVerObraUpdate(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
(Sender as TAction).Enabled := Assigned(FObra);
|
||
end;
|
||
|
||
function TfrViewObraRelacionada.GetObra: IBizObraFinal;
|
||
begin
|
||
Result := FObra;
|
||
end;
|
||
|
||
procedure TfrViewObraRelacionada.SetObra(const Value: IBizObraFinal);
|
||
begin
|
||
FObra := Value;
|
||
DADataSource.DataTable := FObra.DataTable;
|
||
|
||
if not FObra.DataTable.Active then
|
||
FObra.DataTable.Active := True;
|
||
|
||
if Assigned(FOnObraChanged) then
|
||
FOnObraChanged(Self);
|
||
end;
|
||
|
||
|
||
function TfrViewObraRelacionada.GetOnObraChanged: TNotifyEvent;
|
||
begin
|
||
Result := FOnObraChanged;
|
||
end;
|
||
|
||
procedure TfrViewObraRelacionada.SetOnObraChanged(const Value: TNotifyEvent);
|
||
begin
|
||
FOnObraChanged := Value;
|
||
end;
|
||
|
||
procedure TfrViewObraRelacionada.actElegirObraExecute(Sender: TObject);
|
||
var
|
||
AObra : IBizObraFinal;
|
||
|
||
begin
|
||
inherited;
|
||
|
||
if Length(edtlNombre.Text) > 0 then
|
||
if (MessageBox(0, 'Esta factura ya tiene asociada una obra. '+#13+#10+
|
||
'Si elige otra obra, se cambiar<61> en esta factura el cliente '+#13+#10+
|
||
'para hacerlos coincidir con la obra elegida. '+#13+#10+
|
||
'<27>Desea continuar?', 'Confirmaci<63>n', MB_ICONQUESTION or MB_YESNO) = idNo) then
|
||
Exit;
|
||
|
||
AObra := dmObrasFinal.GetObrasItems;
|
||
|
||
try
|
||
if AObra.ShowForSelect = mrOK then
|
||
begin
|
||
Obra := dmObrasFinal.GetItemsSeleccionados(AObra);
|
||
end;
|
||
finally
|
||
AObra := NIL;
|
||
end;
|
||
end;
|
||
|
||
end.
|