git-svn-id: https://192.168.0.254/svn/Proyectos.EstudioCarnicero_ProGestion/trunk@4 1b8572a8-2d6b-b84e-8c90-20ed86fa4eca
317 lines
11 KiB
ObjectPascal
317 lines
11 KiB
ObjectPascal
unit uEditorObrasFinal;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, uEditorObras, dxLayoutLookAndFeels, Menus, DB, uDADataTable,
|
||
JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement,
|
||
ImgList, PngImageList, StdActns, ActnList, uViewGrid, uCustomView, uViewBase,
|
||
uViewBarraSeleccion, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock,
|
||
TB2Toolbar, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, cxGridCustomTableView,
|
||
uViewObras, uViewProyectosObra, uViewFacturasCliente, uViewFacturasObra,
|
||
uViewRecibosObra, pngimage;
|
||
|
||
type
|
||
IEditorObrasFinal = interface(IEditorObras)
|
||
['{361560A6-C86F-4C2A-AAA1-D006C8CB1E70}']
|
||
end;
|
||
|
||
TfEditorObrasFinal = class(TfEditorObras, IEditorObrasFinal)
|
||
pagFacturas: TTabSheet;
|
||
frViewFacturasObra1: TfrViewFacturasObra;
|
||
pagRecibos: TTabSheet;
|
||
frViewRecibosObra1: TfrViewRecibosObra;
|
||
procedure frViewBarraSeleccionactSeleccionarExecute(Sender: TObject);
|
||
procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FocusedRecordChange(Sender: TcxCustomGridTableView; APrevFocusedRecord,
|
||
AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure paginasChange(Sender: TObject);
|
||
|
||
procedure frViewFacturasObra1actAnadirExecute(Sender: TObject);
|
||
procedure frViewFacturasObra1actModificarExecute(Sender: TObject);
|
||
procedure frViewFacturasObra1actEliminarExecute(Sender: TObject);
|
||
procedure frViewFacturasObra1actEliminarTodoExecute(Sender: TObject);
|
||
procedure frViewFacturasObra1actDuplicarExecute(Sender: TObject);
|
||
procedure frViewFacturasObra1actAnadirUpdate(Sender: TObject);
|
||
procedure frViewFacturasObra1cxGridViewDataControllerDataChanged(Sender: TObject);
|
||
|
||
procedure frViewRecibosObra1actAnadirExecute(Sender: TObject);
|
||
procedure frViewRecibosObra1actAnadirUpdate(Sender: TObject);
|
||
procedure frViewRecibosObra1actEditarExecute(Sender: TObject);
|
||
procedure frViewRecibosObra1actEliminarExecute(Sender: TObject);
|
||
procedure frViewRecibosObra1actEliminarTodoExecute(Sender: TObject);
|
||
procedure frViewRecibosObra1actDuplicarExecute(Sender: TObject);
|
||
procedure frViewRecibosObra1cxGridViewDataControllerDataChanged(Sender: TObject);
|
||
|
||
procedure frViewProyectosObracxGridViewCellDblClick(Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
procedure frViewFacturasObra1cxGridViewCellDblClick(Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
procedure frViewRecibosObra1cxGridViewCellDblClick(Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
|
||
protected
|
||
procedure SetSelectionBarVisible(const Value: Boolean); override;
|
||
end;
|
||
|
||
implementation
|
||
{$R *.dfm}
|
||
|
||
uses
|
||
uEditorUtils, uDBSelectionList, uBizObraFinal, uDataModuleObrasFinal,
|
||
LiteralesObrasFinal;
|
||
|
||
function ShowEditorObrasFinal (ABizObject : TDADataTableRules) : TModalResult;
|
||
var
|
||
AEditor: TfEditorObrasFinal;
|
||
begin
|
||
AEditor := TfEditorObrasFinal.Create(Application);
|
||
try
|
||
AEditor.Obras := (ABizObject as IBizObraFinal);
|
||
Result := AEditor.ShowModal;
|
||
finally
|
||
AEditor.Release;
|
||
end;
|
||
end;
|
||
|
||
function ShowSelectEditorObrasFinal (ABizObject : TDADataTableRules) : TModalResult;
|
||
var
|
||
AEditor: TfEditorObrasFinal;
|
||
begin
|
||
AEditor := TfEditorObrasFinal.Create(Application);
|
||
try
|
||
AEditor.Obras := (ABizObject as IBizObraFinal);
|
||
AEditor.SelectionBarVisible := True;
|
||
Result := AEditor.ShowModal;
|
||
finally
|
||
AEditor.Release;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewBarraSeleccionactSeleccionarExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
(Obras as ISelectedRowList).SelectedRows.CurrentRowSelected := True;
|
||
ModalResult := mrOK;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.CustomEditorClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
inherited;
|
||
frViewObras.cxGridView.OnFocusedRecordChanged := Nil;
|
||
|
||
if ModalResult <> mrOk then
|
||
(Obras as ISelectedRowList).SelectedRows.Clear;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.SetSelectionBarVisible(const Value: Boolean);
|
||
begin
|
||
inherited;
|
||
if Value then
|
||
begin
|
||
frViewObras.Grid.ActiveView.OnDblClick := frViewBarraSeleccion.actSeleccionar.OnExecute;
|
||
paginas.Visible := False;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.FocusedRecordChange(Sender: TcxCustomGridTableView; APrevFocusedRecord,
|
||
AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
||
begin
|
||
inherited;
|
||
if (Obras.DataTable.State = dsBrowse) then
|
||
paginasChange(Self);
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.FormShow(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frViewObras.cxGridView.OnFocusedRecordChanged := FocusedRecordChange;
|
||
Paginas.ActivePage := pagProyectos;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.paginasChange(Sender: TObject);
|
||
begin
|
||
if (paginas.ActivePageIndex = pagFacturas.PageIndex) then
|
||
begin
|
||
frViewFacturasObra1.Facturas := (Obras as IBizObraFinal).Facturas;
|
||
frViewFacturasObra1.setFiltro(Obras.CODIGO);
|
||
end
|
||
else if (paginas.ActivePageIndex = pagRecibos.PageIndex) then
|
||
begin
|
||
frViewRecibosObra1.Recibos := (Obras as IBizObraFinal).Recibos;
|
||
frViewRecibosObra1.setFiltro(Obras.CODIGO);
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewFacturasObra1actAnadirExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
(Obras as IBizObraFinal).Facturas.Insert;
|
||
(Obras as IBizObraFinal).Facturas.Obra := dmObrasFinal.GetObraItem(Obras.CODIGO);
|
||
(Obras as IBizObraFinal).Facturas.Show;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewFacturasObra1actModificarExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
(Obras as IBizObraFinal).Facturas.Show;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewFacturasObra1actEliminarExecute(Sender: TObject);
|
||
begin
|
||
if (MessageDlg('<27>Esta seguro de desear borrar esta factura?', mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
|
||
begin
|
||
(Obras as IBizObraFinal).Facturas.Delete;
|
||
(Obras as IBizObraFinal).Facturas.DataTable.ApplyUpdates;
|
||
frViewFacturasObra1.RefreshGrid;
|
||
frViewFacturasObra1.GotoFirst;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewFacturasObra1actAnadirUpdate(Sender: TObject);
|
||
begin
|
||
if Assigned(dsDataTable.DataTable) then
|
||
(Sender as TAction).Enabled := not dsDataTable.DataTable.IsEmpty
|
||
else
|
||
(Sender as TAction).Enabled := False;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewFacturasObra1cxGridViewDataControllerDataChanged(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
if not (Obras.DataTable.Fetching)
|
||
or not (Obras.DataTable.Opening)
|
||
or not (Obras.DataTable.Closing) then
|
||
frViewFacturasObra1.JvNavPanelHeader.Caption := 'Lista de facturas de la obra ' + Obras.NOMBRE;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewRecibosObra1actAnadirExecute(Sender: TObject);
|
||
begin
|
||
(Obras as IBizObraFinal).Recibos.Insert;
|
||
(Obras as IBizObraFinal).Recibos.Obra := dmObrasFinal.GetObraItem(Obras.CODIGO);
|
||
(Obras as IBizObraFinal).Recibos.Show;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewRecibosObra1actAnadirUpdate(Sender: TObject);
|
||
begin
|
||
if Assigned(dsDataTable.DataTable) then
|
||
(Sender as TAction).Enabled := not dsDataTable.DataTable.IsEmpty
|
||
else
|
||
(Sender as TAction).Enabled := False;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewRecibosObra1actEditarExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
(Obras as IBizObraFinal).Recibos.Show;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewFacturasObra1actEliminarTodoExecute(Sender: TObject);
|
||
begin
|
||
if (MessageDlg(msgLitBorrarTFactura, mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
|
||
begin
|
||
frViewFacturasObra1.Facturas.DataTable.ClearRows;
|
||
frViewFacturasObra1.Facturas.DataTable.ApplyUpdates;
|
||
frViewFacturasObra1.RefreshGrid;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewFacturasObra1actDuplicarExecute(Sender: TObject);
|
||
var
|
||
AFactura : IBizFacturasObras;
|
||
begin
|
||
inherited;
|
||
|
||
AFactura := dmObrasFinal.GetFacturasItem(frViewFacturasObra1.Facturas.CODIGO);
|
||
if not AFactura.DataTable.Active then
|
||
AFactura.DataTable.Active := True;
|
||
|
||
frViewFacturasObra1.Facturas.Insert;
|
||
frViewFacturasObra1.Facturas.CopyFrom(AFactura);
|
||
frViewFacturasObra1.Facturas.DataTable.ApplyUpdates;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewProyectosObracxGridViewCellDblClick(
|
||
Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
begin
|
||
inherited;
|
||
frViewProyectosObra.actModificar.Execute;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewFacturasObra1cxGridViewCellDblClick(
|
||
Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
begin
|
||
inherited;
|
||
frViewFacturasObra1.actModificar.Execute;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewRecibosObra1cxGridViewCellDblClick(
|
||
Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
begin
|
||
inherited;
|
||
frViewRecibosObra1.actEditar.Execute;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewRecibosObra1actDuplicarExecute(Sender: TObject);
|
||
var
|
||
ARecibo : IBizRecibosObras;
|
||
begin
|
||
inherited;
|
||
|
||
ARecibo := dmObrasFinal.GetRecibosItem(frViewRecibosObra1.Recibos.CODIGO);
|
||
if not ARecibo.DataTable.Active then
|
||
ARecibo.DataTable.Active := True;
|
||
|
||
frViewRecibosObra1.Recibos.Insert;
|
||
frViewRecibosObra1.Recibos.CopyFrom(ARecibo);
|
||
frViewRecibosObra1.Recibos.DataTable.ApplyUpdates;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewRecibosObra1actEliminarExecute(Sender: TObject);
|
||
begin
|
||
if (MessageDlg('<27>Esta seguro de desear borrar este recibo?', mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
|
||
begin
|
||
(Obras as IBizObraFinal).Recibos.Delete;
|
||
(Obras as IBizObraFinal).Recibos.DataTable.ApplyUpdates;
|
||
frViewRecibosObra1.RefreshGrid;
|
||
frViewRecibosObra1.GotoFirst;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewRecibosObra1actEliminarTodoExecute(Sender: TObject);
|
||
begin
|
||
if (MessageDlg(msgLitBorrarTRecibo, mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
|
||
begin
|
||
frViewRecibosObra1.Recibos.DataTable.ClearRows;
|
||
frViewRecibosObra1.Recibos.DataTable.ApplyUpdates;
|
||
frViewRecibosObra1.RefreshGrid;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorObrasFinal.frViewRecibosObra1cxGridViewDataControllerDataChanged(
|
||
Sender: TObject);
|
||
begin
|
||
inherited;
|
||
if not (Obras.DataTable.Fetching)
|
||
or not (Obras.DataTable.Opening)
|
||
or not (Obras.DataTable.Closing) then
|
||
frViewRecibosObra1.JvNavPanelHeader.Caption := 'Lista de recibos de la obra ' + Obras.NOMBRE;
|
||
end;
|
||
|
||
initialization
|
||
RegisterEditor(IBizObraFinal, ShowEditorObrasFinal, etItems);
|
||
RegisterEditor(IBizObraFinal, ShowSelectEditorObrasFinal, etSelectItem);
|
||
|
||
end.
|