git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES/trunk@5 9a1d36f3-7752-2d40-8ccb-50eb49674c68
290 lines
8.9 KiB
ObjectPascal
290 lines
8.9 KiB
ObjectPascal
unit uEditorArticulosAlmacen;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
||
uCustomEditor, uEditorGrid, uBizArticulos, ImgList,
|
||
PngImageList, StdActns, ActnList, TB2ExtItems, TBXExtItems, TBX, TB2Item,
|
||
TB2Dock, TB2Toolbar, JvExControls, JvComponent, JvNavigationPane,
|
||
uViewArticulosAlmacen, Menus, DB, uDADataTable, ComCtrls, uViewGrid,
|
||
uDAScriptingProvider, uDACDSDataTable, JvAppStorage,
|
||
JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls, uCustomView,
|
||
uViewBase, uViewBarraSeleccion, JvComponentBase;
|
||
|
||
type
|
||
IEditorArticulosAlmacen = interface(IEditorGrid)
|
||
['{24939779-BF07-43C4-AA66-FD59CD2A0692}']
|
||
function GetArticulosAlmacen: IBizArticulosAlmacen;
|
||
procedure SetArticulosAlmacen(const Value: IBizArticulosAlmacen);
|
||
property ArticulosAlmacen: IBizArticulosAlmacen read GetArticulosAlmacen write
|
||
SetArticulosAlmacen;
|
||
end;
|
||
|
||
TfEditorArticulosAlmacen = class(TfEditorGrid, IEditorArticulosAlmacen)
|
||
actRecibirPedido: TAction;
|
||
actTrasladar: TAction;
|
||
actReservar: TAction;
|
||
actLiberar: TAction;
|
||
TBXSeparatorItem16: TTBXSeparatorItem;
|
||
TBXSeparatorItem17: TTBXSeparatorItem;
|
||
rasladar1: TMenuItem;
|
||
Liberar1: TMenuItem;
|
||
Reservar1: TMenuItem;
|
||
frViewBarraSeleccion: TfrViewBarraSeleccion;
|
||
procedure actEliminarExecute(Sender: TObject);
|
||
procedure actModificarExecute(Sender: TObject);
|
||
procedure actNuevoExecute(Sender: TObject);
|
||
procedure frViewBarraSeleccionactSeleccionarExecute(Sender: TObject);
|
||
procedure frViewBarraSeleccionbCancelarClick(Sender: TObject);
|
||
procedure actRecibirPedidoExecute(Sender: TObject);
|
||
procedure actTrasladarExecute(Sender: TObject);
|
||
procedure actReservarExecute(Sender: TObject);
|
||
procedure actLiberarExecute(Sender: TObject);
|
||
procedure actTrasladarUpdate(Sender: TObject);
|
||
procedure actReservarUpdate(Sender: TObject);
|
||
procedure actLiberarUpdate(Sender: TObject);
|
||
procedure frViewBarraSeleccionactCancelarExecute(Sender: TObject);
|
||
private
|
||
FArticulosAlmacen: IBizArticulosAlmacen;
|
||
protected
|
||
function GetArticulosAlmacen: IBizArticulosAlmacen;
|
||
function GetSelectionBarVisible: Boolean;
|
||
procedure SetArticulosAlmacen(const Value: IBizArticulosAlmacen);
|
||
procedure SetSelectionBarVisible(const Value: Boolean);
|
||
procedure SetViewGrid(const Value: IViewGrid); override;
|
||
public
|
||
constructor Create(AOwner: TComponent); override;
|
||
destructor Destroy; override;
|
||
property ArticulosAlmacen: IBizArticulosAlmacen read GetArticulosAlmacen write
|
||
SetArticulosAlmacen;
|
||
property SelectionBarVisible: Boolean read GetSelectionBarVisible write
|
||
SetSelectionBarVisible;
|
||
end;
|
||
|
||
var
|
||
fEditorArticulosAlmacen : TfEditorArticulosAlmacen;
|
||
|
||
implementation
|
||
|
||
uses uDataModuleArticulos, uEditorUtils, uDBSelectionList, uDataModulePedidosProveedor,
|
||
uBizPedidosProveedor, uBizMontajes, uDataModuleMontajes;
|
||
|
||
{$R *.DFM}
|
||
|
||
function ShowEditorArticulosAlmacen (ABizObject : TDADataTableRules) : TModalResult;
|
||
var
|
||
AEditor: TfEditorArticulosAlmacen;
|
||
begin
|
||
AEditor := TfEditorArticulosAlmacen.Create(Application);
|
||
try
|
||
AEditor.ArticulosAlmacen := (ABizObject as IBizArticulosAlmacen);
|
||
Result := AEditor.ShowModal;
|
||
finally
|
||
AEditor.Release;
|
||
end;
|
||
end;
|
||
|
||
function ShowSelectEditorArticulosAlmacen (ABizObject : TDADataTableRules) : TModalResult;
|
||
var
|
||
AEditor: TfEditorArticulosAlmacen;
|
||
begin
|
||
AEditor := TfEditorArticulosAlmacen.Create(Application);
|
||
try
|
||
AEditor.ArticulosAlmacen := (ABizObject as IBizArticulosAlmacen);
|
||
AEditor.SelectionBarVisible := True;
|
||
Result := AEditor.ShowModal;
|
||
finally
|
||
AEditor.Release;
|
||
end;
|
||
end;
|
||
|
||
{ TfEditorArticulosAlmacen }
|
||
|
||
{
|
||
***************************** TfEditorArticulosAlmacen *****************************
|
||
}
|
||
constructor TfEditorArticulosAlmacen.Create(AOwner: TComponent);
|
||
begin
|
||
inherited;
|
||
ViewGrid := CreateView(TfrViewArticulosAlmacen) as IViewArticulosAlmacen;
|
||
end;
|
||
|
||
destructor TfEditorArticulosAlmacen.Destroy;
|
||
begin
|
||
FArticulosAlmacen := NIL;
|
||
inherited;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.actEliminarExecute(Sender: TObject);
|
||
var
|
||
aAux : ISelectedRowList;
|
||
aPregunta : String;
|
||
begin
|
||
aPregunta := '<27>Desea realizar la salida del almac<61>n de este art<72>culo?';
|
||
if Supports(ArticulosAlmacen, ISelectedRowList, aAux) then
|
||
if (aAux.SelectedRows.Count > 1) then
|
||
aPregunta := '<27>Desea realizar la salida del almac<61>n de los art<72>culos que ha seleccionado?';
|
||
|
||
if (Application.MessageBox(PAnsiChar(aPregunta), 'Confirmaci<63>n', MB_YESNO) = IDYES) then
|
||
begin
|
||
//inherited;
|
||
ArticulosAlmacen.Eliminar;
|
||
ViewGrid.RefreshGrid;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.actModificarExecute(Sender: TObject);
|
||
begin
|
||
// inherited;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.actNuevoExecute(Sender: TObject);
|
||
begin
|
||
ArticulosAlmacen.RecibirArticulos(ViewGrid.Grid.ActiveLevel.Tag);
|
||
ViewGrid.RefreshGrid;
|
||
ViewGrid.SyncFocusedRecordsFromDataSet;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.frViewBarraSeleccionactSeleccionarExecute(
|
||
Sender: TObject);
|
||
begin
|
||
inherited;
|
||
ViewGrid.SyncFocusedRecordsFromGrid;
|
||
ModalResult := mrOK;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.frViewBarraSeleccionbCancelarClick(Sender:
|
||
TObject);
|
||
begin
|
||
inherited;
|
||
frViewBarraSeleccion.actCancelarExecute(Sender);
|
||
end;
|
||
|
||
function TfEditorArticulosAlmacen.GetArticulosAlmacen: IBizArticulosAlmacen;
|
||
begin
|
||
Result := FArticulosAlmacen;
|
||
end;
|
||
|
||
function TfEditorArticulosAlmacen.GetSelectionBarVisible: Boolean;
|
||
begin
|
||
Result := frViewBarraSeleccion.Visible
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.SetArticulosAlmacen(const Value: IBizArticulosAlmacen);
|
||
begin
|
||
FArticulosAlmacen := Value;
|
||
dsDataTable.DataTable := FArticulosAlmacen.DataTable;
|
||
if Assigned(ViewGrid) then
|
||
(ViewGrid as IViewArticulosAlmacen).ArticulosAlmacen := ArticulosAlmacen;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.SetSelectionBarVisible(const Value: Boolean);
|
||
begin
|
||
frViewBarraSeleccion.Visible := True;
|
||
ViewGrid.OnDblClick := frViewBarraSeleccion.actSeleccionar.OnExecute;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.SetViewGrid(const Value: IViewGrid);
|
||
begin
|
||
inherited;
|
||
if Assigned(ViewGrid) and Assigned(ArticulosAlmacen) then
|
||
(ViewGrid as IViewArticulosAlmacen).ArticulosAlmacen := ArticulosAlmacen;
|
||
|
||
ViewGrid.OnDblClick := Nil;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.actRecibirPedidoExecute(Sender: TObject);
|
||
var
|
||
APedido: IBizPedidosProveedor;
|
||
begin
|
||
inherited;
|
||
APedido := dmPedidos.GetItemsPendientesRecepcion;
|
||
|
||
try
|
||
if APedido.ShowForSelect = mrOK then
|
||
begin
|
||
ArticulosAlmacen.RecibirArticulos(APedido, ViewGrid.Grid.ActiveLevel.Tag);
|
||
end;
|
||
finally
|
||
APedido := NIL;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.actTrasladarExecute(Sender: TObject);
|
||
begin
|
||
ArticulosAlmacen.Trasladar;
|
||
ViewGrid.RefreshGrid;
|
||
ViewGrid.SyncFocusedRecordsFromDataSet;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.actReservarExecute(Sender: TObject);
|
||
var
|
||
AMontaje: IBizMontaje;
|
||
begin
|
||
inherited;
|
||
AMontaje := dmMontajes.GetItemsPendientes(sitPendientes);
|
||
|
||
try
|
||
if AMontaje.ShowForSelect = mrOK then
|
||
begin
|
||
ArticulosAlmacen.Reservar(AMontaje);
|
||
ViewGrid.RefreshGrid;
|
||
ViewGrid.SyncFocusedRecordsFromDataSet;
|
||
end;
|
||
finally
|
||
AMontaje := NIL;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.actLiberarExecute(Sender: TObject);
|
||
begin
|
||
if (MessageDlg('<27>Est<73> seguro que desea liberar los art<72>culos seleccionados?', mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
|
||
ArticulosAlmacen.Liberar;
|
||
ViewGrid.RefreshGrid;
|
||
ViewGrid.SyncFocusedRecordsFromDataSet;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.actTrasladarUpdate(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
if Assigned(dsDataTable.DataTable) then
|
||
(Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
|
||
else
|
||
(Sender as TAction).Enabled := False;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.actReservarUpdate(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
if Assigned(dsDataTable.DataTable) then
|
||
(Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
|
||
else
|
||
(Sender as TAction).Enabled := False;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.actLiberarUpdate(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
if Assigned(dsDataTable.DataTable) then
|
||
(Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
|
||
else
|
||
(Sender as TAction).Enabled := False;
|
||
end;
|
||
|
||
procedure TfEditorArticulosAlmacen.frViewBarraSeleccionactCancelarExecute(
|
||
Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frViewBarraSeleccion.actCancelarExecute(Sender);
|
||
end;
|
||
|
||
initialization
|
||
RegisterEditor(IBizArticulosAlmacen, ShowEditorArticulosAlmacen, etItems);
|
||
RegisterEditor(IBizArticulosAlmacen, ShowSelectEditorArticulosAlmacen, etSelectItems);
|
||
|
||
finalization
|
||
|
||
end.
|
||
|