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:
parent
0edded6d97
commit
e420a19a8c
@ -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
|
||||
|
||||
@ -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 = ''
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -172,6 +172,7 @@ procedure TfEditorInventario.actReservadosExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FController.VerReservas(Inventario);
|
||||
RefrescarInterno;
|
||||
end;
|
||||
|
||||
procedure TfEditorInventario.actReservadosUpdate(Sender: TObject);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user