This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
AlonsoYSal_FactuGES/Modulos/Articulos/Cliente/uEditorArticulosAlmacen.pas
2007-06-21 16:02:50 +00:00

290 lines
8.9 KiB
ObjectPascal
Raw Blame History

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.