Se sube la funcionalidad completa de reservas de material

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@572 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
roberto 2008-09-05 10:48:24 +00:00
parent 0edded6d97
commit e420a19a8c
4 changed files with 67 additions and 8 deletions

View File

@ -39,7 +39,8 @@ type
procedure SalidaArticulosLibre(AInventario: IBizInventario; Const CodigoAlmacenOrigen: Integer);
procedure TrasladarArticulosLibre(AInventario: IBizInventario; Const CodigoAlmacenOrigen: Integer; Const CodigoAlmacenDestino: Integer);
procedure ReservarArticulosLibre(AInventario: IBizInventario; Const CodigoAlmacenOrigen: Integer; Const CodigoAlmacenDestino: Integer);
procedure CancelarReservas(AReservas: IBizDetalleReservas);
procedure CancelarReservas(AReservas: IBizDetalleReservas);
procedure TrasladarReservas(AReservas: IBizDetalleReservas);
function EntradaPedido(AInventario: IBizInventario; APedido: IBizPedidoProveedor; ADetalles: IDAStronglyTypedDataTable; var ADetallesFinal: IBizInventario): Boolean;
function SalidaAlbaran(AInventario: IBizInventario; Const CodigoAlmacenOrigen: Integer; ADetalles: IDAStronglyTypedDataTable): Boolean;
@ -130,6 +131,7 @@ type
procedure TrasladarArticulosLibre(AInventario: IBizInventario; Const CodigoAlmacenOrigen: Integer; Const CodigoAlmacenDestino: Integer);
procedure ReservarArticulosLibre(AInventario: IBizInventario; Const CodigoAlmacenOrigen: Integer; Const CodigoAlmacenDestino: Integer);
procedure CancelarReservas(AReservas: IBizDetalleReservas);
procedure TrasladarReservas(AReservas: IBizDetalleReservas);
function EntradaPedido(AInventario: IBizInventario; APedido: IBizPedidoProveedor; ADetalles: IDAStronglyTypedDataTable; var ADetallesFinal: IBizInventario): Boolean;
function SalidaAlbaran(AInventario: IBizInventario; Const CodigoAlmacenOrigen: Integer; ADetalles: IDAStronglyTypedDataTable): Boolean;
@ -193,6 +195,8 @@ begin
end;
function TInventarioController.Buscar(const ID_ALMACEN: Integer): IBizInventario;
var
Condicion: TDAWhereExpression;
begin
Result := (FDataModule as IDataModuleInventario).GetItems(ID_ALMACEN);
FiltrarEmpresa(Result);
@ -264,9 +268,8 @@ begin
try
AReservas.DataTable.ClearRows;
AReservas.DataTable.ApplyUpdates;
HideHourglassCursor;
finally
//
HideHourglassCursor;
end;
end;
@ -930,6 +933,46 @@ begin
end;
end;
procedure TInventarioController.TrasladarReservas(AReservas: IBizDetalleReservas);
var
AArticulo: IBizInventario;
begin
ShowHourglassCursor;
try
with AReservas.DataTable do
begin
first;
while not eof do
begin
//Preparamos el articulo a trasladar con la cantidad correspondiente
AArticulo := Buscar(ID_NULO);
AArticulo.DataTable.Active := True;
// DesconectarTabla(AArticulo.DataTable);
AArticulo.Edit;
AArticulo.ID_ALMACEN := AReservas.ID_ALMACEN;
AArticulo.ID_ARTICULO := AReservas.ID_ARTICULO;
AArticulo.CANTIDAD := AReservas.CANTIDAD;
AArticulo.Post;
// ConectarTabla(AArticulo.DataTable);
//Se queda en la clase de negocio para así todos y cada uno de los artículos que
//se agreguen se asigne automáticamente el codigo de almacen destino en OnNewRecord
AArticulo.TipoMovimiento := tTraslado;
AArticulo.IDAlmacenOrigen := AReservas.ID_ALMACEN;
AArticulo.IDAlmacenDestino := AReservas.ID_ALMACEN_RESERVA;
GuardarMovimientos(AArticulo, AReservas.FECHA_RESERVA, 'Traslado de material por la reserva: ' + AReservas.CAUSA_RESERVA);
// showmessage('trasladar: ' + IntToStr(AReservas.ID_ARTICULO) + ',' + IntToStr(AReservas.ID_ALMACEN) + ',' + IntToStr(AReservas.ID_ALMACEN_RESERVA));
next;
end;
end;
//Eliminamos los registro de reserva relacionados en la tabla de movimientos
CancelarReservas(AReservas);
finally
HideHourglassCursor;
end;
end;
{
function TInventarioController.Trasladar: Boolean;
begin

View File

@ -174,8 +174,6 @@ inherited fEditorDetalleReservas: TfEditorDetalleReservas
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 273
Width = 273
end
inherited edtFechaIniFiltro: TcxDateEdit
Style.LookAndFeel.SkinName = ''

View File

@ -110,11 +110,28 @@ begin
end;
end;
procedure TfEditorDetalleReservas.actTrasladarReservadosExecute(
Sender: TObject);
procedure TfEditorDetalleReservas.actTrasladarReservadosExecute(Sender: TObject);
var
ReservasSeleccionadas: IBizDetalleReservas;
begin
inherited;
//
try
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (DetalleReservas as ISeleccionable).SelectedRecords);
// En SelectedRecords tengo los ID de las filas seleccionadas del grid
ReservasSeleccionadas := (Controller as IInventarioController).ExtraerSeleccionados(DetalleReservas) as IBizDetalleReservas;
if (ReservasSeleccionadas.DataTable.RecordCount > 0) then
begin
FController.TrasladarReservas(ReservasSeleccionadas);
RefrescarInterno;
end
else
ShowWarningMessage('Debe seleccionar las reservas que desea trasladar');
finally
ReservasSeleccionadas:= Nil;
end;
end;
constructor TfEditorDetalleReservas.Create(AOwner: TComponent);

View File

@ -172,6 +172,7 @@ procedure TfEditorInventario.actReservadosExecute(Sender: TObject);
begin
inherited;
FController.VerReservas(Inventario);
RefrescarInterno;
end;
procedure TfEditorInventario.actReservadosUpdate(Sender: TObject);