Repaso de recepcion de articulos y envio de articulos desde inventario

git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/trunk@236 c93665c3-c93d-084d-9b98-7d5f4a9c3376
This commit is contained in:
roberto 2008-05-29 13:58:49 +00:00
parent 798dab2347
commit 05bc30f293
14 changed files with 228 additions and 73 deletions

View File

@ -1265,14 +1265,24 @@ inner join v_ped_cli_con_albaranes on (v_ped_cli_con_albaranes.ID_PEDIDO = v_ped
;
CREATE VIEW V_PED_CLI_ART_SIN_ALBARAN(
ID,
ID_PEDIDO,
ID_EMPRESA,
REFERENCIA_PEDIDO,
REFERENCIA_CLI_PEDIDO,
FECHA_PEDIDO,
FECHA_PREVISTA_PEDIDO,
ID_CLIENTE,
CALLE,
CODIGO_POSTAL,
POBLACION,
PROVINCIA,
PERSONA_CONTACTO,
TELEFONO,
IVA,
ID_FORMA_PAGO,
CLIENTE,
ID,
ID_ARTICULO,
FAMILIA,
REFERENCIA,
REFERENCIA_PROVEEDOR,
@ -1281,15 +1291,28 @@ CREATE VIEW V_PED_CLI_ART_SIN_ALBARAN(
CANTIDAD_RESERVADA,
CANTIDAD_ENVIADA,
CANTIDAD_SERVIDA,
CANTIDAD_PENDIENTE)
CANTIDAD_PENDIENTE,
PRECIO_COSTE,
DESCUENTO,
PRECION_NETO)
AS
SELECT
V_PED_CLI_ARTICULOS.ID_PEDIDO || V_PED_CLI_ARTICULOS.ID_ARTICULO as ID, /*Para tener un ID unico sobre el que poder consultar en la sentencia de selección del grid*/
V_PED_CLI_ARTICULOS.ID_PEDIDO,
PEDIDOS_CLIENTE.ID_EMPRESA,
PEDIDOS_CLIENTE.referencia,
PEDIDOS_CLIENTE.referencia_cliente,
PEDIDOS_CLIENTE.fecha_pedido,
PEDIDOS_CLIENTE.fecha_prevista_envio,
PEDIDOS_CLIENTE.id_cliente,
PEDIDOS_CLIENTE.CALLE,
PEDIDOS_CLIENTE.CODIGO_POSTAL,
PEDIDOS_CLIENTE.POBLACION,
PEDIDOS_CLIENTE.PROVINCIA,
PEDIDOS_CLIENTE.PERSONA_CONTACTO,
PEDIDOS_CLIENTE.TELEFONO,
PEDIDOS_CLIENTE.IVA,
PEDIDOS_CLIENTE.ID_FORMA_PAGO,
CONTACTOS.nombre,
V_PED_CLI_ARTICULOS.ID_ARTICULO,
articulos.familia,
@ -1300,11 +1323,22 @@ SELECT
V_PED_CLI_ARTICULOS.CANTIDAD_RESERVADA,
V_PED_CLI_ARTICULOS.CANTIDAD_ENVIADA,
V_PED_CLI_ARTICULOS.CANTIDAD_SERVIDA,
V_PED_CLI_ARTICULOS.CANTIDAD_PENDIENTE
V_PED_CLI_ARTICULOS.CANTIDAD_PENDIENTE,
ARTICULOS.PRECIO_COSTE,
CLIENTES_DTOS_PROVEEDORES.DESCUENTO,
(ARTICULOS.PRECIO_COSTE * CLIENTES_DTOS_PROVEEDORES.DESCUENTO)/100 as PRECIO_NETO
from V_PED_CLI_ARTICULOS
left join PEDIDOS_CLIENTE on (PEDIDOS_CLIENTE.id = V_PED_CLI_ARTICULOS.id_pedido)
left join CONTACTOS on (contactos.id = PEDIDOS_CLIENTE.id_cliente)
left join articulos on (articulos.id = V_PED_CLI_ARTICULOS.ID_ARTICULO)
LEFT OUTER JOIN CLIENTES_DTOS_PROVEEDORES
ON ((CLIENTES_DTOS_PROVEEDORES.ID_PROVEEDOR = ARTICULOS.ID_PROVEEDOR)
AND (CLIENTES_DTOS_PROVEEDORES.ID_CLIENTE = contactos.id))
where cantidad_pendiente > 0;
/*Aqui tendremos la situacion de todos los pedidos, por lógica de grupos*/

View File

@ -15,6 +15,10 @@ type
function GetController : IInventarioController;
procedure SetController (const Value : IInventarioController);
property Controller : IInventarioController read GetController write SetController;
procedure SetAlmacen(const Value: Integer);
function GetAlmacen: Integer;
property Almacen: Integer write SetAlmacen;
end;

View File

@ -15,6 +15,10 @@ type
function GetController : IInventarioController;
procedure SetController (const Value : IInventarioController);
property Controller : IInventarioController read GetController write SetController;
procedure SetAlmacen(const Value: Integer);
function GetAlmacen: Integer;
property Almacen: Integer write SetAlmacen;
end;

View File

@ -25,8 +25,8 @@ type
function Ver(AArticulos: IBizInventario; AInventario : IBizInventario; APedido: IBizPedidoProveedor = Nil): Boolean;
procedure VerTodos(AInventario: IBizInventario);
procedure VerReservas(AArticulo: IBizInventario);
procedure VerSinAlbaran;
procedure VerSinRecibir;
procedure VerSinAlbaran(const IDAlmacenOrigen: Integer);
procedure VerSinRecibir(const IDAlmacenDestino: Integer);
function BuscarTodos: IBizInventario;
function Buscar(const ID_ALMACEN: Integer): IBizInventario;
@ -133,8 +133,8 @@ type
function Ver(AArticulos: IBizInventario; AInventario : IBizInventario; APedido: IBizPedidoProveedor = Nil): Boolean;
procedure VerReservas(AArticulo: IBizInventario);
procedure VerSinAlbaran;
procedure VerSinRecibir;
procedure VerSinAlbaran(const IDAlmacenOrigen: Integer);
procedure VerSinRecibir(const IDAlmacenDestino: Integer);
function Guardar(AArticulos : IBizInventario; const FechaMovimiento: TDateTime; const CausaMovimiento: String): Boolean;
@ -524,7 +524,7 @@ begin
end;
end;
procedure TInventarioController.VerSinAlbaran;
procedure TInventarioController.VerSinAlbaran(const IDAlmacenOrigen: Integer);
var
AEditor : IEditorDetallesSinAlbaran;
begin
@ -535,6 +535,7 @@ begin
with AEditor do
begin
Controller := Self; //OJO ORDEN MUY IMPORTANTE
Almacen := IDAlmacenOrigen;
Detalles := BuscarDetallesSinAlbaran;
MultiSelect := True;
end;
@ -551,7 +552,7 @@ begin
end;
end;
procedure TInventarioController.VerSinRecibir;
procedure TInventarioController.VerSinRecibir(const IDAlmacenDestino: Integer);
var
AEditor : IEditorDetallesSinRecibir;
begin
@ -562,6 +563,7 @@ begin
with AEditor do
begin
Controller := Self; //OJO ORDEN MUY IMPORTANTE
Almacen := IDAlmacenDestino;
Detalles := BuscarDetallesSinRecibir;
MultiSelect := True;
end;

View File

@ -10,10 +10,14 @@ inherited fEditorDetallesSinAlbaran: TfEditorDetallesSinAlbaran
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 669
Height = 25
Caption = 'Detalle de art'#237'culos sin albaranar'
WordWrap = True
ExplicitWidth = 669
ExplicitHeight = 25
inherited Image1: TImage
Left = 642
Height = 25
Picture.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800
0000180806000000E0773DF80000000970485973000017120000171201679FD2
@ -36,10 +40,13 @@ inherited fEditorDetallesSinAlbaran: TfEditorDetallesSinAlbaran
5494DB7086380DA45A00B644AF97680DA0CC06004618670C84C9DA7D00000000
49454E44AE426082}
ExplicitLeft = 603
ExplicitHeight = 49
end
end
inherited TBXDock: TTBXDock
Top = 50
Width = 669
ExplicitTop = 49
ExplicitWidth = 669
inherited tbxMain: TTBXToolbar
ExplicitWidth = 358
@ -102,9 +109,9 @@ inherited fEditorDetallesSinAlbaran: TfEditorDetallesSinAlbaran
end
inline frViewDetallesSinAlbaran1: TfrViewDetallesSinAlbaran [3]
Left = 0
Top = 102
Top = 125
Width = 669
Height = 419
Height = 396
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -114,14 +121,14 @@ inherited fEditorDetallesSinAlbaran: TfEditorDetallesSinAlbaran
ParentFont = False
TabOrder = 3
ReadOnly = False
ExplicitTop = 102
ExplicitTop = 124
ExplicitWidth = 669
ExplicitHeight = 419
ExplicitHeight = 397
inherited cxGrid: TcxGrid
Width = 669
Height = 291
Height = 268
ExplicitWidth = 669
ExplicitHeight = 291
ExplicitHeight = 269
inherited cxGridView: TcxGridDBTableView
DataController.Summary.DefaultGroupSummaryItems = <
item
@ -184,15 +191,9 @@ inherited fEditorDetallesSinAlbaran: TfEditorDetallesSinAlbaran
ExplicitWidth = 273
Width = 273
end
inherited edtFechaIniFiltro: TcxDateEdit
ExplicitWidth = 121
Width = 121
end
inherited edtFechaFinFiltro: TcxDateEdit
Left = 413
ExplicitLeft = 413
ExplicitWidth = 121
Width = 121
Left = 412
ExplicitLeft = 412
end
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
@ -206,8 +207,8 @@ inherited fEditorDetallesSinAlbaran: TfEditorDetallesSinAlbaran
end
end
inherited pnlAgrupaciones: TTBXDockablePanel
Top = 393
ExplicitTop = 393
Top = 370
ExplicitTop = 371
ExplicitWidth = 669
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 669
@ -238,7 +239,27 @@ inherited fEditorDetallesSinAlbaran: TfEditorDetallesSinAlbaran
end
end
end
inherited EditorActionList: TActionList [4]
object JvNavPanelHeader1: TJvNavPanelHeader [4]
Left = 0
Top = 25
Width = 669
Height = 25
Align = alTop
Caption = 'Almac'#233'n de salida: '
Font.Charset = DEFAULT_CHARSET
Font.Color = 13553407
Font.Height = -16
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
WordWrap = True
ColorFrom = 8684164
ColorTo = 8684164
ImageIndex = 0
ParentStyleManager = False
ExplicitTop = 8
end
inherited EditorActionList: TActionList [5]
Left = 96
Top = 112
inherited actNuevo: TAction
@ -286,7 +307,7 @@ inherited fEditorDetallesSinAlbaran: TfEditorDetallesSinAlbaran
OnExecute = actAlbaranarExecute
end
end
inherited SmallImages: TPngImageList [5]
inherited SmallImages: TPngImageList [6]
PngImages = <
item
PngImage.Data = {
@ -903,7 +924,7 @@ inherited fEditorDetallesSinAlbaran: TfEditorDetallesSinAlbaran
Top = 160
Bitmap = {}
end
inherited LargeImages: TPngImageList [6]
inherited LargeImages: TPngImageList [7]
PngImages = <
item
PngImage.Data = {
@ -1836,12 +1857,12 @@ inherited fEditorDetallesSinAlbaran: TfEditorDetallesSinAlbaran
Top = 160
Bitmap = {}
end
inherited JvFormStorage: TJvFormStorage [7]
inherited JvFormStorage: TJvFormStorage [8]
end
inherited dsDataTable: TDADataSource [9]
inherited dsDataTable: TDADataSource [10]
Left = 8
end
inherited StatusBarImages: TPngImageList [10]
inherited StatusBarImages: TPngImageList [11]
end
inherited GridPopupMenu: TPopupMenu
inherited Nuevo1: TMenuItem [3]

View File

@ -11,7 +11,8 @@ uses
JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls, uCustomView,
uViewBase, uViewBarraSeleccion, JvComponentBase, uEditorGridBase,
uIEditorDetallesSinAlbaran, uBizInventario, uViewGridBase,
JvExComCtrls, JvStatusBar, uViewGrid2Niveles, JSDialog, uInventarioController;
JvExComCtrls, JvStatusBar, uViewGrid2Niveles, JSDialog, uInventarioController,
uBizAlmacenes;
type
@ -22,16 +23,17 @@ type
frViewDetallesSinAlbaran1: TfrViewDetallesSinAlbaran;
TBXItem38: TTBXItem;
actAlbaranar: TAction;
JvNavPanelHeader1: TJvNavPanelHeader;
procedure FormShow(Sender: TObject);
procedure actAlbaranarExecute(Sender: TObject);
private
// function SeleccionarAlmacen(Descripcion: String): Integer;
// function DarIDAlmacenSeleccionado(Descripcion: String): Integer;
FAlmacen: IBizAlmacen;
function GetAlmacen: Integer;
procedure SetAlmacen(const Value: Integer);
protected
// FArticulo: IBizInventario;
FDetalles: IBizDetalleSinAlbaran;
FController : IInventarioController;
@ -51,7 +53,7 @@ type
procedure PrevisualizarInterno; override;
public
// property Articulo: IBizInventario read GetArticulo write SetArticulo;
property Almacen: Integer read GetAlmacen write SetAlmacen;
property DetallesSinAlbaran: IBizDetalleSinAlbaran read GetDetalles write SetDetalles;
property Controller : IInventarioController read GetController write SetController;
@ -69,7 +71,7 @@ implementation
uses
cxControls, uGridUtils, uDataModuleInventario, uDataModuleUsuarios,
uEditorBase, uDBSelectionListUtils, cxGridDBTableView, cxGridCustomTableView,
uAlmacenesController, uBizAlmacenes, uGenerarAlbaranesProvUtils,
uAlmacenesController, uGenerarAlbaranesProvUtils,
schInventarioClient_Intf, uDialogUtils, uBizAlbaranesCliente, uGenerarAlbaranesCliUtils;
{, uDBSelectionList, uDataModulePedidosProveedor,
@ -95,7 +97,10 @@ begin
ArticulosSeleccionados := (Controller as IInventarioController).ExtraerSeleccionados(DetallesSinAlbaran) as IBizDetalleSinAlbaran;
if (ArticulosSeleccionados.DataTable.RecordCount > 0) then
GenerarAlbaranesCli(ArticulosSeleccionados, AlbaranesCliente)
begin
GenerarAlbaranesCli(ArticulosSeleccionados, AlbaranesCliente, Almacen);
RefrescarInterno;
end
else
ShowWarningMessage('Debe seleccionar los artículos que desea albaranar');
finally
@ -107,6 +112,7 @@ end;
constructor TfEditorDetallesSinAlbaran.Create(AOwner: TComponent);
begin
inherited;
FAlmacen := Nil;
ViewGrid := frViewDetallesSinAlbaran1;
end;
@ -127,6 +133,7 @@ end;
destructor TfEditorDetallesSinAlbaran.Destroy;
begin
FDetalles := NIL;
FAlmacen := NIL;
inherited;
end;
@ -163,6 +170,14 @@ begin
end;
}
function TfEditorDetallesSinAlbaran.GetAlmacen: Integer;
begin
if Assigned(FAlmacen) then
Result := FAlmacen.ID
else
Result := -1;
end;
function TfEditorDetallesSinAlbaran.GetController: IInventarioController;
begin
Result := FController;
@ -189,6 +204,7 @@ var
begin
FTitulo := 'Detalle de artículos sin albaranar - ' + dmUsuarios.EmpresaActual.NOMBRE;
inherited PonerTitulos(FTitulo);
JvNavPanelHeader1.Caption := 'Almacén de salida: ' + FAlmacen.NOMBRE;
end;
procedure TfEditorDetallesSinAlbaran.PrevisualizarInterno;
@ -250,6 +266,19 @@ begin
end;
end;
}
procedure TfEditorDetallesSinAlbaran.SetAlmacen(const Value: Integer);
var
AAlmacenesController : IAlmacenesController;
begin
AAlmacenesController := TAlmacenesController.Create;
try
FAlmacen := AAlmacenesController.Buscar(Value);
FAlmacen.DataTable.Active := True;
finally
AAlmacenesController := NIL;
end;
end;
procedure TfEditorDetallesSinAlbaran.SetController(const Value: IInventarioController);
begin
FController := Value;
@ -272,3 +301,4 @@ end;
}
end.

View File

@ -11,6 +11,7 @@ inherited fEditorDetallesSinRecibir: TfEditorDetallesSinRecibir
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 669
Caption = 'Detalle de art'#237'culos sin recibir'
ExplicitTop = -6
ExplicitWidth = 669
inherited Image1: TImage
Left = 642
@ -39,6 +40,7 @@ inherited fEditorDetallesSinRecibir: TfEditorDetallesSinRecibir
end
end
inherited TBXDock: TTBXDock
Top = 52
Width = 669
ExplicitWidth = 669
inherited tbxMain: TTBXToolbar
@ -102,9 +104,9 @@ inherited fEditorDetallesSinRecibir: TfEditorDetallesSinRecibir
end
inline frViewDetallesSinRecibir1: TfrViewDetallesSinRecibir [3]
Left = 0
Top = 102
Top = 127
Width = 669
Height = 419
Height = 394
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -119,7 +121,7 @@ inherited fEditorDetallesSinRecibir: TfEditorDetallesSinRecibir
ExplicitHeight = 419
inherited cxGrid: TcxGrid
Width = 669
Height = 291
Height = 266
ExplicitWidth = 669
ExplicitHeight = 291
inherited cxGridView: TcxGridDBTableView
@ -205,7 +207,7 @@ inherited fEditorDetallesSinRecibir: TfEditorDetallesSinRecibir
end
end
inherited pnlAgrupaciones: TTBXDockablePanel
Top = 393
Top = 368
ExplicitTop = 393
ExplicitWidth = 669
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
@ -213,7 +215,6 @@ inherited fEditorDetallesSinRecibir: TfEditorDetallesSinRecibir
ExplicitWidth = 669
inherited TBXToolbar1: TTBXToolbar
Width = 659
ExplicitLeft = 10
ExplicitWidth = 659
end
end
@ -238,7 +239,27 @@ inherited fEditorDetallesSinRecibir: TfEditorDetallesSinRecibir
end
end
end
inherited EditorActionList: TActionList [4]
object JvNavPanelHeader1: TJvNavPanelHeader [4]
Left = 0
Top = 27
Width = 669
Height = 25
Align = alTop
Caption = 'Almac'#233'n de entrada: '
Font.Charset = DEFAULT_CHARSET
Font.Color = 13553407
Font.Height = -16
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
WordWrap = True
ColorFrom = 8684164
ColorTo = 8684164
ImageIndex = 0
ParentStyleManager = False
ExplicitTop = 21
end
inherited EditorActionList: TActionList [5]
Left = 96
Top = 112
inherited actNuevo: TAction
@ -286,7 +307,7 @@ inherited fEditorDetallesSinRecibir: TfEditorDetallesSinRecibir
OnExecute = actRecibirExecute
end
end
inherited SmallImages: TPngImageList [5]
inherited SmallImages: TPngImageList [6]
PngImages = <
item
PngImage.Data = {
@ -903,7 +924,7 @@ inherited fEditorDetallesSinRecibir: TfEditorDetallesSinRecibir
Top = 160
Bitmap = {}
end
inherited LargeImages: TPngImageList [6]
inherited LargeImages: TPngImageList [7]
PngImages = <
item
PngImage.Data = {
@ -1836,12 +1857,12 @@ inherited fEditorDetallesSinRecibir: TfEditorDetallesSinRecibir
Top = 160
Bitmap = {}
end
inherited JvFormStorage: TJvFormStorage [7]
inherited JvFormStorage: TJvFormStorage [8]
end
inherited dsDataTable: TDADataSource [9]
inherited dsDataTable: TDADataSource [10]
Left = 8
end
inherited StatusBarImages: TPngImageList [10]
inherited StatusBarImages: TPngImageList [11]
end
inherited GridPopupMenu: TPopupMenu
inherited Nuevo1: TMenuItem [3]

View File

@ -11,7 +11,8 @@ uses
JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls, uCustomView,
uViewBase, uViewBarraSeleccion, JvComponentBase, uEditorGridBase,
uIEditorDetallesSinRecibir, uBizInventario, uViewGridBase,
JvExComCtrls, JvStatusBar, uViewGrid2Niveles, JSDialog, uInventarioController;
JvExComCtrls, JvStatusBar, uViewGrid2Niveles, JSDialog, uInventarioController,
uBizAlmacenes;
type
@ -22,13 +23,15 @@ type
frViewDetallesSinRecibir1: TfrViewDetallesSinRecibir;
TBXItem38: TTBXItem;
actRecibir: TAction;
JvNavPanelHeader1: TJvNavPanelHeader;
procedure FormShow(Sender: TObject);
procedure actRecibirExecute(Sender: TObject);
private
// function SeleccionarAlmacen(Descripcion: String): Integer;
// function DarIDAlmacenSeleccionado(Descripcion: String): Integer;
FAlmacen: IBizAlmacen;
function GetAlmacen: Integer;
procedure SetAlmacen(const Value: Integer);
protected
// FArticulo: IBizInventario;
@ -51,7 +54,7 @@ type
procedure PrevisualizarInterno; override;
public
// property Articulo: IBizInventario read GetArticulo write SetArticulo;
property Almacen: Integer read GetAlmacen write SetAlmacen;
property DetallesSinRecibir: IBizDetalleSinRecibir read GetDetalles write SetDetalles;
property Controller : IInventarioController read GetController write SetController;
@ -69,7 +72,7 @@ implementation
uses
cxControls, uGridUtils, uDataModuleInventario, uDataModuleUsuarios,
uEditorBase, uDBSelectionListUtils, cxGridDBTableView, cxGridCustomTableView,
uAlmacenesController, uBizAlmacenes, uGenerarAlbaranesProvUtils,
uAlmacenesController, uGenerarAlbaranesProvUtils,
schInventarioClient_Intf, uDialogUtils, uBizAlbaranesProveedor;
{, uDBSelectionList, uDataModulePedidosProveedor,
@ -95,7 +98,10 @@ begin
ArticulosSeleccionados := (Controller as IInventarioController).ExtraerSeleccionados(DetallesSinRecibir) as IBizDetalleSinRecibir;
if (ArticulosSeleccionados.DataTable.RecordCount > 0) then
GenerarAlbaranesProv(ArticulosSeleccionados, AlbaranesProveedor)
begin
GenerarAlbaranesProv(ArticulosSeleccionados, AlbaranesProveedor, Almacen);
RefrescarInterno;
end
else
ShowWarningMessage('Debe seleccionar los artículos que desea recibir');
@ -108,6 +114,7 @@ end;
constructor TfEditorDetallesSinRecibir.Create(AOwner: TComponent);
begin
inherited;
FAlmacen := Nil;
ViewGrid := frViewDetallesSinRecibir1;
end;
@ -128,6 +135,7 @@ end;
destructor TfEditorDetallesSinRecibir.Destroy;
begin
FDetalles := NIL;
FAlmacen := NIL;
inherited;
end;
@ -164,6 +172,14 @@ begin
end;
}
function TfEditorDetallesSinRecibir.GetAlmacen: Integer;
begin
if Assigned(FAlmacen) then
Result := FAlmacen.ID
else
Result := -1;
end;
function TfEditorDetallesSinRecibir.GetController: IInventarioController;
begin
Result := FController;
@ -190,6 +206,7 @@ var
begin
FTitulo := 'Detalle de artículos sin recibir - ' + dmUsuarios.EmpresaActual.NOMBRE;
inherited PonerTitulos(FTitulo);
JvNavPanelHeader1.Caption := 'Almacén de entrada: ' + FAlmacen.NOMBRE;
end;
procedure TfEditorDetallesSinRecibir.PrevisualizarInterno;
@ -251,6 +268,19 @@ begin
end;
end;
}
procedure TfEditorDetallesSinRecibir.SetAlmacen(const Value: Integer);
var
AAlmacenesController : IAlmacenesController;
begin
AAlmacenesController := TAlmacenesController.Create;
try
FAlmacen := AAlmacenesController.Buscar(Value);
FAlmacen.DataTable.Active := True;
finally
AAlmacenesController := NIL;
end;
end;
procedure TfEditorDetallesSinRecibir.SetController(const Value: IInventarioController);
begin
FController := Value;

View File

@ -295,9 +295,14 @@ begin
end;
procedure TfEditorInventario.actRecibirExecute(Sender: TObject);
var
IDAlmacenDestino: Integer;
begin
inherited;
FController.VerSinRecibir;
IDAlmacenDestino := DarIDAlmacenSeleccionado('Elija el almacén de destino (donde entran los artículos)');
FController.VerSinRecibir(IDAlmacenDestino);
RefrescarInterno;
end;
procedure TfEditorInventario.actRecibirPedidoExecute(Sender: TObject);
@ -330,9 +335,13 @@ begin
end;
procedure TfEditorInventario.actAlbaranarExecute(Sender: TObject);
var
IDAlmacenOrigen: Integer;
begin
inherited;
FController.VerSinAlbaran; //(Inventario);
IDAlmacenOrigen := DarIDAlmacenSeleccionado('Elija el almacén de origen (de donde salen los artículos)');
FController.VerSinAlbaran(IDAlmacenOrigen);
RefrescarInterno;
end;
procedure TfEditorInventario.actContraerExecute(Sender: TObject);

View File

@ -16,8 +16,8 @@ type
function ElegirPedidoYGenerarAlbaranCli(var IDAlbaran: Integer) : Boolean;
//Metodos para albaranar articulos pendientes
function GenerarAlbaranesCli(AArticulos : IBizDetalleSinAlbaran; var AAlbaranes: IBizAlbaranCliente) : Boolean; overload;
procedure InicializarAlbaran(var AAlbaranes: IBizAlbaranCliente; ACliente: IBizCliente; AArticulos: IBizDetalleSinAlbaran);
function GenerarAlbaranesCli(AArticulos : IBizDetalleSinAlbaran; var AAlbaranes: IBizAlbaranCliente; const IDAlmacen:Integer) : Boolean; overload;
procedure InicializarAlbaran(var AAlbaranes: IBizAlbaranCliente; ACliente: IBizCliente; const IDAlmacen:Integer; AArticulos: IBizDetalleSinAlbaran);
implementation
@ -275,7 +275,7 @@ begin
end;
end;
function GenerarAlbaranesCli(AArticulos : IBizDetalleSinAlbaran; var AAlbaranes: IBizAlbaranCliente) : Boolean; overload;
function GenerarAlbaranesCli(AArticulos : IBizDetalleSinAlbaran; var AAlbaranes: IBizAlbaranCliente; const IDAlmacen:Integer) : Boolean; overload;
var
ARespuesta : Integer;
ACliente: IBizCliente;
@ -306,7 +306,7 @@ begin
ACliente := (AClientesController.Buscar(AArticulos.ID_CLIENTE) as IBizCliente);
ACliente.DataTable.Active := True;
AAlbaranes := AAlbaranesClienteController.Nuevo;
InicializarAlbaran(AAlbaranes, ACliente, AArticulos);
InicializarAlbaran(AAlbaranes, ACliente, IDAlmacen, AArticulos);
//Aqui no es necesario BeginUpdate y EndUpdate de los detalles porque siempre añadimos una linea al final.
// Añado el título del pedido ya que siempre tendremos al menos un concepto de pedido
@ -368,7 +368,7 @@ begin
ACliente := (AClientesController.Buscar(AArticulos.ID_CLIENTE) as IBizCliente);
ACliente.DataTable.Active := True;
AAlbaranesClienteController.Anadir(AAlbaranes);
InicializarAlbaran(AAlbaranes, ACliente, AArticulos);
InicializarAlbaran(AAlbaranes, ACliente, IDAlmacen, AArticulos);
// Añado el título del pedido ya que siempre tendremos al menos un concepto de pedido
ADetallesAlbaranesCliController.Add(AAlbaranes.Detalles, TIPO_DETALLE_TITULO);
@ -430,11 +430,12 @@ begin
end;
end;
procedure InicializarAlbaran(var AAlbaranes: IBizAlbaranCliente; ACliente: IBizCliente; AArticulos: IBizDetalleSinAlbaran);
procedure InicializarAlbaran(var AAlbaranes: IBizAlbaranCliente; ACliente: IBizCliente; const IDAlmacen:Integer; AArticulos: IBizDetalleSinAlbaran);
begin
//El albaran debe venir abierto y posicionado para la copia.
AAlbaranes.Cliente := (ACliente as IBizCliente);
AAlbaranes.TIPO := CTE_TIPO_ALBARAN;
AAlbaranes.ID_ALMACEN := IDAlmacen;
AAlbaranes.REFERENCIA_CLIENTE := AArticulos.REFERENCIA_CLI_PEDIDO;
AAlbaranes.FECHA_PREVISTA_ENVIO := AArticulos.FECHA_PREVISTA_PEDIDO;
AAlbaranes.CALLE := AArticulos.CALLE;

View File

@ -69,7 +69,7 @@ object dmGenerarAlbaranesProv: TdmGenerarAlbaranesProv
Value = 200
Cancel = True
end>
ButtonBar.Buttons = []
ButtonBar.Buttons = [cbOK]
ButtonBar.Cancel = cbOK
ButtonBar.UseCancel = False
MainIcon = tdiCustom

View File

@ -18,8 +18,8 @@ type
function RecibirPedidoProv: Boolean; overload;
//Metodos para recibir articulos pendientes
function GenerarAlbaranesProv(AArticulos : IBizDetalleSinRecibir; var AAlbaranes: IBizAlbaranProveedor) : Boolean; overload;
procedure InicializarAlbaran(var AAlbaranes: IBizAlbaranProveedor; AProveedor: IBizProveedor; AArticulos: IBizDetalleSinRecibir);
function GenerarAlbaranesProv(AArticulos : IBizDetalleSinRecibir; var AAlbaranes: IBizAlbaranProveedor; const IDAlmacen:Integer) : Boolean; overload;
procedure InicializarAlbaran(var AAlbaranes: IBizAlbaranProveedor; AProveedor: IBizProveedor; const IDAlmacen:Integer; AArticulos: IBizDetalleSinRecibir);
implementation
@ -356,7 +356,7 @@ begin
end;
end;
function GenerarAlbaranesProv(AArticulos : IBizDetalleSinRecibir; var AAlbaranes: IBizAlbaranProveedor) : Boolean; overload;
function GenerarAlbaranesProv(AArticulos : IBizDetalleSinRecibir; var AAlbaranes: IBizAlbaranProveedor; const IDAlmacen:Integer) : Boolean; overload;
var
ARespuesta : Integer;
AProveedor: IBizProveedor;
@ -387,7 +387,7 @@ begin
AProveedor := (AProveedoresController.Buscar(AArticulos.ID_PROVEEDOR) as IBizProveedor);
AProveedor.DataTable.Active := True;
AAlbaranes := AAlbaranesProveedorController.Nuevo;
InicializarAlbaran(AAlbaranes, AProveedor, AArticulos);
InicializarAlbaran(AAlbaranes, AProveedor, IDAlmacen, AArticulos);
//Aqui no es necesario BeginUpdate y EndUpdate de los detalles porque siempre añadimos una linea al final.
// Añado el título del pedido ya que siempre tendremos al menos un concepto de pedido
@ -449,7 +449,7 @@ begin
AProveedor := (AProveedoresController.Buscar(AArticulos.ID_PROVEEDOR) as IBizProveedor);
AProveedor.DataTable.Active := True;
AAlbaranesProveedorController.Anadir(AAlbaranes);
InicializarAlbaran(AAlbaranes, AProveedor, AArticulos);
InicializarAlbaran(AAlbaranes, AProveedor, IDAlmacen, AArticulos);
// Añado el título del pedido ya que siempre tendremos al menos un concepto de pedido
ADetallesAlbaranesController.Add(AAlbaranes.Detalles, TIPO_DETALLE_TITULO);
@ -512,13 +512,12 @@ begin
end;
procedure InicializarAlbaran(var AAlbaranes: IBizAlbaranProveedor; AProveedor: IBizProveedor; AArticulos: IBizDetalleSinRecibir);
procedure InicializarAlbaran(var AAlbaranes: IBizAlbaranProveedor; AProveedor: IBizProveedor; const IDAlmacen:Integer; AArticulos: IBizDetalleSinRecibir);
begin
//El albaran debe venir abierto y posicionado para la copia.
AAlbaranes.Proveedor := (AProveedor as IBizProveedor);
AAlbaranes.TIPO := CTE_TIPO_ALBARAN;
// AAlbaranes.REFERENCIA_CLIENTE := AArticulos.REFERENCIA_CLI_PEDIDO;
// AAlbaranes.FECHA_PREVISTA_ENVIO := AArticulos.FECHA_PREVISTA_PEDIDO;
AAlbaranes.ID_ALMACEN := IDAlmacen;
AAlbaranes.CALLE := AArticulos.CALLE;
AAlbaranes.CODIGO_POSTAL := AArticulos.CODIGO_POSTAL;
AAlbaranes.POBLACION := AArticulos.POBLACION;

View File

@ -16,7 +16,7 @@ BEGIN
VALUE "FileVersion", "2.9.0.0\0"
VALUE "ProductName", "FactuGES Server\0"
VALUE "ProductVersion", "2.9.0.0\0"
VALUE "CompileDate", "miércoles, 28 de mayo de 2008 19:02\0"
VALUE "CompileDate", "miércoles, 28 de mayo de 2008 19:25\0"
END
END
BLOCK "VarFileInfo"

Binary file not shown.