git-svn-id: https://192.168.0.254/svn/Proyectos.EstudioCarnicero_ProGestion/trunk@4 1b8572a8-2d6b-b84e-8c90-20ed86fa4eca
285 lines
8.9 KiB
ObjectPascal
285 lines
8.9 KiB
ObjectPascal
{
|
|
===============================================================================
|
|
Copyright (©) 2006. Rodax Software.
|
|
===============================================================================
|
|
Los contenidos de este fichero son propiedad de Rodax Software titular del
|
|
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
|
|
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
|
|
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
|
|
bajo el que se suministra.
|
|
-----------------------------------------------------------------------------
|
|
Web: www.rodax-software.com
|
|
===============================================================================
|
|
Fecha primera versión: 22-05-2006
|
|
Versión actual: 1.0.0
|
|
Fecha versión actual: 22-05-2006
|
|
===============================================================================
|
|
Modificaciones:
|
|
|
|
Fecha Comentarios
|
|
---------------------------------------------------------------------------
|
|
===============================================================================
|
|
}
|
|
|
|
unit uEditorContactoObra;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, uEditorDBItem, dxLayoutLookAndFeels, DB, uDADataTable,
|
|
JvAppStorage, JvAppRegistryStorage, JvComponent, JvFormPlacement,
|
|
ImgList, PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item,
|
|
TB2Dock, TB2Toolbar, ExtCtrls, JvExControls, JvNavigationPane, uViewGrid,
|
|
ToolWin, JvComponentBase, uViewDatosYSeleccionContacto, uBizObra,
|
|
uViewPresupuestosContacto, uCustomView, uViewBase, uBizContacto, cxGridCustomTableView;
|
|
|
|
type
|
|
IEditorContactoObra = interface(IEditorDBItem)
|
|
['{37D8A488-2B72-479C-93FD-70053CBDC9D5}']
|
|
end;
|
|
|
|
TfEditorContactoObra = class(TfEditorDBItem, IEditorContactoObra)
|
|
frViewContactoObra: TfrViewDatosYSeleccionContacto;
|
|
pnlViewGrid: TPanel;
|
|
frViewPresupuestosContacto: TfrViewPresupuestosContacto;
|
|
|
|
procedure frViewPresupuestosContactoactAnadirExecute(Sender: TObject);
|
|
procedure frViewPresupuestosContactoactEliminarExecute(Sender: TObject);
|
|
procedure frViewPresupuestosContactoactEliminarTodoExecute(Sender: TObject);
|
|
procedure frViewPresupuestosContactoactEditarExecute(Sender: TObject);
|
|
|
|
procedure actGuardarExecute(Sender: TObject);
|
|
procedure actGuardarCerrarExecute(Sender: TObject);
|
|
procedure actEliminarExecute(Sender: TObject);
|
|
procedure actEliminarUpdate(Sender: TObject);
|
|
|
|
procedure dsDataTableDataChange(Sender: TObject; Field: TField);
|
|
procedure frViewPresupuestosContactocxGridViewCellDblClick(
|
|
Sender: TcxCustomGridTableView;
|
|
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
|
AShift: TShiftState; var AHandled: Boolean);
|
|
procedure frViewPresupuestosContactocxGridView2CellDblClick(
|
|
Sender: TcxCustomGridTableView;
|
|
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
|
AShift: TShiftState; var AHandled: Boolean);
|
|
|
|
private
|
|
FContactosObra: IBizContactosObra;
|
|
FPresupuestosContacto: IViewPresupuestosContacto;
|
|
|
|
function GetContactosObra: IBizContactosObra;
|
|
procedure SetContactosObra(const Value: IBizContactosObra);
|
|
|
|
protected
|
|
function GetModified: Boolean; override;
|
|
|
|
public
|
|
property ContactosObra: IBizContactosObra read GetContactosObra write SetContactosObra;
|
|
constructor Create(AOwner: TComponent); override;
|
|
destructor Destroy; override;
|
|
end;
|
|
|
|
var
|
|
fEditorContactoObra: TfEditorContactoObra;
|
|
|
|
implementation
|
|
{$R *.dfm}
|
|
|
|
uses uExceptions, LiteralesObras, uEditorUtils, schObrasClient_Intf,
|
|
uEditorBase, uEditorDBBase;
|
|
|
|
function ShowEditorContactoObra (ABizObject : TDADataTableRules) : TModalResult;
|
|
var
|
|
AEditor: TfEditorContactoObra;
|
|
begin
|
|
AEditor := TfEditorContactoObra.Create(Application);
|
|
try
|
|
AEditor.ContactosObra := (ABizObject as IBizContactosObra);
|
|
Result := AEditor.ShowModal;
|
|
finally
|
|
AEditor.Release;
|
|
end;
|
|
end;
|
|
|
|
{ TfEditorContactoObra }
|
|
|
|
function TfEditorContactoObra.GetContactosObra: IBizContactosObra;
|
|
begin
|
|
Result := FContactosObra;
|
|
end;
|
|
|
|
procedure TfEditorContactoObra.SetContactosObra(const Value: IBizContactosObra);
|
|
begin
|
|
FContactosObra := Value;
|
|
|
|
if Assigned(FContactosObra) then
|
|
begin
|
|
dsDataTable.DataTable := FContactosObra.DataTable;
|
|
frViewContactoObra.Contacto := FContactosObra.Contacto;
|
|
FPresupuestosContacto.PresupuestosContacto := FContactosObra.Presupuestos;
|
|
end
|
|
else
|
|
begin
|
|
dsDataTable.DataTable := Nil;
|
|
frViewContactoObra.Contacto := Nil;
|
|
FPresupuestosContacto.PresupuestosContacto := Nil;
|
|
end;
|
|
end;
|
|
|
|
procedure TfEditorContactoObra.frViewPresupuestosContactoactEditarExecute(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
|
|
FPresupuestosContacto.DesactivarFiltros;
|
|
|
|
ContactosObra.Presupuestos.Show;
|
|
|
|
FPresupuestosContacto.ActivarFiltros;
|
|
FPresupuestosContacto.RefreshGrid;
|
|
end;
|
|
|
|
procedure TfEditorContactoObra.frViewPresupuestosContactoactAnadirExecute(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
|
|
//Orden importante no tocar
|
|
FPresupuestosContacto.DesactivarFiltros;
|
|
|
|
ContactosObra.Presupuestos.Insert;
|
|
if FPresupuestosContacto.ClasePresupuesto = CLASE_PRESUPUESTO
|
|
then ContactosObra.Presupuestos.CLASE := CLASE_PRESUPUESTO
|
|
else ContactosObra.Presupuestos.CLASE := CLASE_TRABAJO;
|
|
ContactosObra.Presupuestos.Contacto := ContactosObra.Contacto;
|
|
ContactosObra.Presupuestos.Show;
|
|
|
|
FPresupuestosContacto.ActivarFiltros;
|
|
FPresupuestosContacto.RefreshGrid;
|
|
end;
|
|
|
|
procedure TfEditorContactoObra.frViewPresupuestosContactoactEliminarExecute(Sender: TObject);
|
|
var
|
|
Cadena : String;
|
|
begin
|
|
if FPresupuestosContacto.ClasePresupuesto = CLASE_PRESUPUESTO
|
|
then Cadena := msgLitBorrarP
|
|
else Cadena := msgLitBorrarT;
|
|
|
|
if (MessageDlg(Cadena, mtConfirmation, [mbYes, mbNo], 0) = mrNo) then
|
|
Exit;
|
|
|
|
ContactosObra.Presupuestos.Delete;
|
|
FPresupuestosContacto.RefreshGrid;
|
|
Modified := True;
|
|
end;
|
|
|
|
procedure TfEditorContactoObra.frViewPresupuestosContactoactEliminarTodoExecute(Sender: TObject);
|
|
var
|
|
Cadena: String;
|
|
begin
|
|
if FPresupuestosContacto.ClasePresupuesto = CLASE_PRESUPUESTO
|
|
then Cadena := msgLitBorrarTodosP
|
|
else Cadena := msgLitBorrarTodosT;
|
|
|
|
if (MessageDlg(Cadena, mtConfirmation, [mbYes, mbNo], 0) = mrNo) then
|
|
Exit;
|
|
|
|
with ContactosObra.Presupuestos do
|
|
begin
|
|
DataTable.DisableControls;
|
|
DataTable.First;
|
|
while not DataTable.EOF do
|
|
begin
|
|
if CLASE = FPresupuestosContacto.ClasePresupuesto
|
|
then DataTable.Delete
|
|
else DataTable.Next;
|
|
end;
|
|
DataTable.EnableControls;
|
|
end;
|
|
|
|
FPresupuestosContacto.RefreshGrid;
|
|
Modified := True;
|
|
end;
|
|
|
|
procedure TfEditorContactoObra.actGuardarExecute(Sender: TObject);
|
|
begin
|
|
//No hacemos nada en ContactosObra
|
|
// inherited;
|
|
end;
|
|
|
|
procedure TfEditorContactoObra.actGuardarCerrarExecute(Sender: TObject);
|
|
begin
|
|
//No hacemos nada solo cerramos
|
|
// inherited;
|
|
actCerrar.Execute;
|
|
end;
|
|
|
|
procedure TfEditorContactoObra.actEliminarExecute(Sender: TObject);
|
|
begin
|
|
// inherited;
|
|
//Eliminamos el contacto seleccionado.
|
|
ContactosObra.Delete;
|
|
actCerrar.Execute;
|
|
end;
|
|
|
|
procedure TfEditorContactoObra.actEliminarUpdate(Sender: TObject);
|
|
begin
|
|
// inherited; //No quitar ya que no queremos que se lance el del padre
|
|
end;
|
|
|
|
constructor TfEditorContactoObra.Create(AOwner: TComponent);
|
|
begin
|
|
inherited;
|
|
FPresupuestosContacto := frViewPresupuestosContacto;
|
|
end;
|
|
|
|
destructor TfEditorContactoObra.Destroy;
|
|
begin
|
|
FPresupuestosContacto := Nil;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TfEditorContactoObra.dsDataTableDataChange(Sender: TObject;
|
|
Field: TField);
|
|
begin
|
|
inherited;
|
|
if Assigned(FContactosObra) and (not (FContactosObra.DataTable.Fetching) or
|
|
not (FContactosObra.DataTable.Opening) or not (FContactosObra.DataTable.Closing)) then
|
|
begin
|
|
if Length(FContactosObra.NOMBRE) = 0 then
|
|
JvNavPanelHeader.Caption := msgLitContactosObraNuv
|
|
else
|
|
JvNavPanelHeader.Caption := msgContactosObra + FContactosObra.NOMBRE;
|
|
Self.Caption := JvNavPanelHeader.Caption;
|
|
end;
|
|
end;
|
|
|
|
procedure TfEditorContactoObra.frViewPresupuestosContactocxGridViewCellDblClick(
|
|
Sender: TcxCustomGridTableView;
|
|
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
|
AShift: TShiftState; var AHandled: Boolean);
|
|
begin
|
|
inherited;
|
|
frViewPresupuestosContactoactEditarExecute(Self);
|
|
end;
|
|
|
|
procedure TfEditorContactoObra.frViewPresupuestosContactocxGridView2CellDblClick(
|
|
Sender: TcxCustomGridTableView;
|
|
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
|
AShift: TShiftState; var AHandled: Boolean);
|
|
begin
|
|
inherited;
|
|
frViewPresupuestosContactoactEditarExecute(Self);
|
|
end;
|
|
|
|
function TfEditorContactoObra.GetModified: Boolean;
|
|
begin
|
|
//Para que no pregunte nunca
|
|
Result := False;
|
|
end;
|
|
|
|
initialization
|
|
RegisterEditor(IBizContactosObra, ShowEditorContactoObra, etItem);
|
|
|
|
end.
|