242 lines
7.6 KiB
ObjectPascal
242 lines
7.6 KiB
ObjectPascal
unit uEditorControlVentaProceso;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, uEditorControlBase, DB, uDADataTable, JvAppStorage,
|
|
JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList,
|
|
PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock,
|
|
TB2Toolbar, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uBizControlesBase,
|
|
uCustomView, uViewBase, uViewControlBase, uViewControlVentaProceso,
|
|
Grids, DBGrids, pngimage;
|
|
|
|
type
|
|
IEditorControlVentaProceso = interface(IEditorControlBase)
|
|
['{7F768AD2-1FF0-41E0-9157-4AB2E2CD7D32}']
|
|
end;
|
|
|
|
TfEditorControlVentaProceso = class(TfEditorControlBase, IEditorControlVentaProceso)
|
|
frViewControlVentaProceso1: TfrViewControlVentaProceso;
|
|
dsVentasProceso: TDADataSource;
|
|
TBXSeparatorItem16: TTBXSeparatorItem;
|
|
tbxiExpandir: TTBXItem;
|
|
tbxiContraer: TTBXItem;
|
|
tbxiAnchoAuto: TTBXItem;
|
|
actExpandir: TAction;
|
|
actContraer: TAction;
|
|
actAnchoAuto: TAction;
|
|
TBXItem37: TTBXItem;
|
|
TBXItem36: TTBXItem;
|
|
TBXItem35: TTBXItem;
|
|
TBXSeparatorItem17: TTBXSeparatorItem;
|
|
procedure actRefrescarExecute(Sender: TObject);
|
|
procedure actExpandirExecute(Sender: TObject);
|
|
procedure actContraerExecute(Sender: TObject);
|
|
procedure actAnchoAutoExecute(Sender: TObject);
|
|
procedure CustomEditorCreate(Sender: TObject);
|
|
procedure CustomEditorGetModified(Sender: TObject;
|
|
var Modified: Boolean);
|
|
procedure actGuardarExecute(Sender: TObject);
|
|
procedure FormShow(Sender: TObject);
|
|
procedure actPrevisualizarExecute(Sender: TObject);
|
|
procedure actImprimirExecute(Sender: TObject);
|
|
procedure actConfPaginaExecute(Sender: TObject);
|
|
procedure frViewControlVentaProceso1bRefrescarClick(Sender: TObject);
|
|
private
|
|
procedure RestaurarConfiguracion;
|
|
procedure GuardarConfiguracion;
|
|
protected
|
|
FModificado : Boolean;
|
|
procedure OnViewControlChanged(Sender: TObject);
|
|
procedure SetControl(const Value: IBizControlBase); override;
|
|
procedure RellenarCabeceraInforme;
|
|
public
|
|
constructor Create(AOwner: TComponent); override;
|
|
end;
|
|
|
|
|
|
implementation
|
|
|
|
uses
|
|
uEditorUtils, uBizControlVentasProceso, uROClasses,
|
|
cxGridTableView;
|
|
|
|
{$R *.dfm}
|
|
|
|
function ShowEditorVentasProceso (ABizObject : TDADataTableRules): TModalResult;
|
|
var
|
|
AEditor: IEditorControlVentaProceso; //TfEditorInformeVentas;
|
|
begin
|
|
AEditor := TfEditorControlVentaProceso.Create(Application);
|
|
try
|
|
AEditor.Control := (ABizObject as IBizControlVentasProceso);
|
|
Result := AEditor.ShowModal;
|
|
finally
|
|
AEditor.Release;
|
|
end;
|
|
end;
|
|
|
|
|
|
{ TfEditorControlVentaProceso }
|
|
|
|
procedure TfEditorControlVentaProceso.SetControl(
|
|
const Value: IBizControlBase);
|
|
begin
|
|
inherited;
|
|
RefrescarTituloEditor;
|
|
if Assigned(FControl) then
|
|
begin
|
|
frViewControlVentaProceso1.Control := FControl;
|
|
frViewControlVentaProceso1.OnViewChanged := OnViewControlChanged;
|
|
dsDataTable.DataTable := FControl.DataTable;
|
|
with (FControl as IBizControlVentasProceso) do
|
|
begin
|
|
Items.DataTable.Active := False; // No se abre la tabla hasta que no se pulse en 'Refrescar'
|
|
dsVentasProceso.DataTable := Items.DataTable;
|
|
frViewControlVentaProceso1.frViewControlGridVentaProceso1.FocusedView.DataController.DataSource := dsVentasProceso;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.actRefrescarExecute(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
frViewControlVentaProceso1.Refresh;
|
|
|
|
while (frViewControlVentaProceso1.frViewControlGridVentaProceso1.FocusedView.Controller.FocusedRecord is TcxGridGroupRow) do
|
|
begin
|
|
frViewControlVentaProceso1.frViewControlGridVentaProceso1.FocusedView.Controller.FocusedRecord.Expand(True);
|
|
if (frViewControlVentaProceso1.frViewControlGridVentaProceso1.FocusedView.Controller.FocusedRecordIndex <
|
|
frViewControlVentaProceso1.frViewControlGridVentaProceso1.FocusedView.DataController.RowCount - 1) then
|
|
frViewControlVentaProceso1.frViewControlGridVentaProceso1.FocusedView.Controller.GoToNext(False, True)
|
|
else
|
|
Exit;
|
|
end;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.actExpandirExecute(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
frViewControlVentaProceso1.frViewControlGridVentaProceso1.ExpandirTodo;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.actContraerExecute(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
frViewControlVentaProceso1.frViewControlGridVentaProceso1.ContraerTodo;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.actAnchoAutoExecute(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
frViewControlVentaProceso1.frViewControlGridVentaProceso1.AjustarAncho;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.OnViewControlChanged(
|
|
Sender: TObject);
|
|
begin
|
|
FModificado := True;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.CustomEditorCreate(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
FModificado := False;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.CustomEditorGetModified(
|
|
Sender: TObject; var Modified: Boolean);
|
|
begin
|
|
inherited;
|
|
Modified := FModificado;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.actGuardarExecute(Sender: TObject);
|
|
begin
|
|
GuardarConfiguracion;
|
|
inherited;
|
|
FModificado := False;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.GuardarConfiguracion;
|
|
var
|
|
Aux : IROStrings;
|
|
begin
|
|
Aux := NewROStrings();
|
|
Aux.Add(frViewControlVentaProceso1.frViewControlGridVentaProceso1.ViewProperties);
|
|
if not (FControl.DataTable.State in dsEditModes) then
|
|
FControl.Edit;
|
|
FControl.VISTA := Aux;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.RestaurarConfiguracion;
|
|
begin
|
|
frViewControlVentaProceso1.frViewControlGridVentaProceso1.ViewProperties := FControl.VISTA.Text;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.FormShow(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
if FControl.DataTable.State <> dsInsert then // No restaurar si estamos insertando
|
|
RestaurarConfiguracion;
|
|
frViewControlVentaProceso1.frViewColumnas1.Refresh;
|
|
frViewControlVentaProceso1.frViewAgrupaciones1.Refresh;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.actPrevisualizarExecute(
|
|
Sender: TObject);
|
|
begin
|
|
inherited;
|
|
RellenarCabeceraInforme;
|
|
frViewControlVentaProceso1.frViewControlGridVentaProceso1.Preview;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.actImprimirExecute(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
RellenarCabeceraInforme;
|
|
frViewControlVentaProceso1.frViewControlGridVentaProceso1.Print;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.actConfPaginaExecute(
|
|
Sender: TObject);
|
|
begin
|
|
inherited;
|
|
RellenarCabeceraInforme;
|
|
frViewControlVentaProceso1.frViewControlGridVentaProceso1.PrintSetup;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.RellenarCabeceraInforme;
|
|
begin
|
|
with frViewControlVentaProceso1.frViewControlGridVentaProceso1.dxPrintStyleManager1Style1.PrinterPage.PageHeader do
|
|
begin
|
|
LeftTitle.Clear;
|
|
LeftTitle.Add(FControl.NOMBRE);
|
|
RightTitle.Clear;
|
|
RightTitle.Add(frViewControlVentaProceso1.frViewControlGridVentaProceso1.FocusedView.DataController.Filter.FilterText);
|
|
end;
|
|
end;
|
|
|
|
constructor TfEditorControlVentaProceso.Create(AOwner: TComponent);
|
|
begin
|
|
inherited;
|
|
FViewControl := frViewControlVentaProceso1;
|
|
Self.Caption := 'Nueva consulta de ventas en proceso';
|
|
JvNavPanelHeader.Caption := Self.Caption;
|
|
end;
|
|
|
|
procedure TfEditorControlVentaProceso.frViewControlVentaProceso1bRefrescarClick(
|
|
Sender: TObject);
|
|
begin
|
|
inherited;
|
|
frViewControlVentaProceso1.actRefrescarExecute(Sender);
|
|
|
|
end;
|
|
|
|
initialization
|
|
RegisterEditor(IBizControlVentasProceso, ShowEditorVentasProceso, etItem);
|
|
|
|
end.
|
|
|