diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql
index c2150123..42fc209b 100644
--- a/Database/scripts/factuges.sql
+++ b/Database/scripts/factuges.sql
@@ -430,7 +430,8 @@ CREATE TABLE ALBARANES_PROVEEDOR (
IMPORTE_NETO TIPO_IMPORTE,
IMPORTE_PORTE TIPO_IMPORTE,
REFERENCIA_PROVEEDOR VARCHAR(255),
- REF_FACTURA_PROV VARCHAR(255)
+ REF_FACTURA_PROV VARCHAR(255),
+ ID_ALBARAN TIPO_ID
);
CREATE TABLE ALBARANES_PROVEEDOR_DETALLES (
@@ -1516,7 +1517,9 @@ CREATE VIEW V_ALBARANES_PROVEEDOR(
FECHA_ALTA,
FECHA_MODIFICACION,
USUARIO,
- ID_FORMA_PAGO)
+ ID_FORMA_PAGO,
+ ID_ALBARAN,
+ REFERENCIA_ALBARAN)
AS
SELECT
ALBARANES_PROVEEDOR.ID,
@@ -1557,13 +1560,16 @@ SELECT
ALBARANES_PROVEEDOR.FECHA_ALTA,
ALBARANES_PROVEEDOR.FECHA_MODIFICACION,
ALBARANES_PROVEEDOR.USUARIO,
- ALBARANES_PROVEEDOR.ID_FORMA_PAGO
+ ALBARANES_PROVEEDOR.ID_FORMA_PAGO,
+ ALBARANES_PROVEEDOR.ID_ALBARAN,
+ ALB2.REFERENCIA AS REFERENCIA_ALBARAN
FROM
ALBARANES_PROVEEDOR
- LEFT OUTER JOIN CONTACTOS ON (CONTACTOS.ID = ALBARANES_PROVEEDOR.ID_PROVEEDOR)
+ INNER JOIN CONTACTOS ON (CONTACTOS.ID = ALBARANES_PROVEEDOR.ID_PROVEEDOR)
LEFT OUTER JOIN PEDIDOS_PROVEEDOR ON (PEDIDOS_PROVEEDOR.ID = ALBARANES_PROVEEDOR.ID_PEDIDO)
LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = ALBARANES_PROVEEDOR.ID_FACTURA)
LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = ALBARANES_PROVEEDOR.ID_ALMACEN)
+ LEFT OUTER JOIN ALBARANES_PROVEEDOR ALB2 ON (ALB2.ID = ALBARANES_PROVEEDOR.ID_ALBARAN)
;
diff --git a/Source/Base/Base.res b/Source/Base/Base.res
index 8b251f31..1641339f 100644
Binary files a/Source/Base/Base.res and b/Source/Base/Base.res differ
diff --git a/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj b/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj
index 24c6dc55..f87851e9 100644
--- a/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj
+++ b/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj
@@ -110,6 +110,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -146,33 +182,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -182,23 +191,14 @@
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
\ No newline at end of file
diff --git a/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas b/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas
index 69ddfa16..655902fa 100644
--- a/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas
+++ b/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas
@@ -61,6 +61,8 @@ type
procedure Preview(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false);
procedure Print(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false);
+
+ function GenerarDevolucion(AAlbaran : IBizAlbaranProveedor) : IBizAlbaranProveedor;
end;
TAlbaranesProveedorController = class(TControllerBase, IAlbaranesProveedorController)
@@ -101,6 +103,7 @@ type
function Anadir(AAlbaran : IBizAlbaranProveedor) : Boolean; overload;
function AnadirAlbaranDev(AAlbaran : IBizAlbaranProveedor) : Boolean;
function Anadir(AAlbaran : IBizAlbaranProveedor; const IDPedido : Integer; AInventarioRecibido: IBizInventario): Boolean; overload;
+
function Buscar(const ID: Integer): IBizAlbaranProveedor;
function BuscarTodos: IBizAlbaranProveedor; overload;
function BuscarTodos(const ID_Proveedor: Integer): IBizAlbaranProveedor; overload;
@@ -109,7 +112,9 @@ type
function BuscarAlbaranesDevolucion: IBizAlbaranProveedor; overload;
function BuscarAlbaranesDevolucion(const ID_Proveedor: Integer): IBizAlbaranProveedor; overload;
function BuscarSinFacturar : IBizAlbaranProveedor;
+
function Nuevo : IBizAlbaranProveedor;
+
procedure Ver(AAlbaran : IBizAlbaranProveedor);
procedure VerTodosAlbaranes(AAlbarans: IBizAlbaranProveedor;
const AVerModal : Boolean = False; const AWindowCaption: String = '';
@@ -132,6 +137,8 @@ type
procedure Preview(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false);
procedure Print(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false);
+
+ function GenerarDevolucion(AAlbaran : IBizAlbaranProveedor) : IBizAlbaranProveedor;
end;
implementation
@@ -592,6 +599,8 @@ begin
REFERENCIA := '';
ID_PEDIDO := 0;
ID_FACTURA := 0;
+ ID_ALBARAN := 0;
+ REFERENCIA_ALBARAN := '';
end;
Result.Post;
finally
@@ -1129,6 +1138,32 @@ begin
Result := FProveedorController;
end;
+function TAlbaranesProveedorController.GenerarDevolucion(
+ AAlbaran: IBizAlbaranProveedor): IBizAlbaranProveedor;
+begin
+ if not Assigned(AAlbaran) then
+ raise Exception.Create ('Albarán no asignado (QuitarDireccionEnvio)');
+
+ if AAlbaran.DataTable.Active then
+ AAlbaran.DataTable.Active := True;
+
+ ShowHourglassCursor;
+ try
+ Result := Duplicar(AAlbaran);
+
+ //Convierte todos los articulos del albaran a negativos por ser una devolucion
+ FDetallesController.CambiarSignoDetalles(Result.Detalles);
+
+ // Hay que dejar algunos campos como si fuera una factura nueva
+ Result.Edit;
+ Result.TIPO := CTE_TIPO_ALBARAN_DEV;
+ Result.Post;
+
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
function TAlbaranesProveedorController.GetDetallesController: IDetallesAlbaranProveedorController;
begin
Result := FDetallesController;
diff --git a/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm
index b8339226..3ffddd78 100644
--- a/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm
@@ -281,6 +281,20 @@ inherited DataModuleAlbaranesProveedor: TDataModuleAlbaranesProveedor
Name = 'ID_FORMA_PAGO'
DataType = datInteger
DictionaryEntry = 'AlbaranesProveedor_ID_FORMA_PAGO'
+ end
+ item
+ Name = 'ID_ALBARAN'
+ DataType = datInteger
+ DisplayLabel = 'AlbaranesProveedor_ID_ALBARAN'
+ DictionaryEntry = 'AlbaranesProveedor_ID_ALBARAN'
+ end
+ item
+ Name = 'REFERENCIA_ALBARAN'
+ DataType = datString
+ Size = 255
+ DisplayLabel = 'AlbaranesProveedor_REFERENCIA_ALBARAN'
+ ServerAutoRefresh = True
+ DictionaryEntry = 'AlbaranesProveedor_REFERENCIA_ALBARAN'
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
diff --git a/Source/Modulos/Albaranes de proveedor/Model/AlbaranesProveedor_model.res b/Source/Modulos/Albaranes de proveedor/Model/AlbaranesProveedor_model.res
index 8b251f31..1641339f 100644
Binary files a/Source/Modulos/Albaranes de proveedor/Model/AlbaranesProveedor_model.res and b/Source/Modulos/Albaranes de proveedor/Model/AlbaranesProveedor_model.res differ
diff --git a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas
index ebbabc19..40519500 100644
--- a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas
+++ b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas
@@ -9,8 +9,8 @@ const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
- RID_AlbaranesProveedor = '{53E15711-9D7A-4623-9F91-5C032C3C9418}';
- RID_AlbaranesProveedor_Detalles = '{1E0933DA-42E0-4523-9E38-7C83457FEAA1}';
+ RID_AlbaranesProveedor = '{97135F3A-B8D7-4534-8A29-CB50202C8413}';
+ RID_AlbaranesProveedor_Detalles = '{D817CBF4-1C3C-4003-9145-8923D9187710}';
{ Data table names }
nme_AlbaranesProveedor = 'AlbaranesProveedor';
@@ -56,6 +56,8 @@ const
fld_AlbaranesProveedorFECHA_MODIFICACION = 'FECHA_MODIFICACION';
fld_AlbaranesProveedorUSUARIO = 'USUARIO';
fld_AlbaranesProveedorID_FORMA_PAGO = 'ID_FORMA_PAGO';
+ fld_AlbaranesProveedorID_ALBARAN = 'ID_ALBARAN';
+ fld_AlbaranesProveedorREFERENCIA_ALBARAN = 'REFERENCIA_ALBARAN';
{ AlbaranesProveedor field indexes }
idx_AlbaranesProveedorID = 0;
@@ -97,6 +99,8 @@ const
idx_AlbaranesProveedorFECHA_MODIFICACION = 36;
idx_AlbaranesProveedorUSUARIO = 37;
idx_AlbaranesProveedorID_FORMA_PAGO = 38;
+ idx_AlbaranesProveedorID_ALBARAN = 39;
+ idx_AlbaranesProveedorREFERENCIA_ALBARAN = 40;
{ AlbaranesProveedor_Detalles fields }
fld_AlbaranesProveedor_DetallesID = 'ID';
@@ -139,7 +143,7 @@ const
type
{ IAlbaranesProveedor }
IAlbaranesProveedor = interface(IDAStronglyTypedDataTable)
- ['{F4357865-BECE-4FC7-95C0-DDE7FABBDFF0}']
+ ['{8B370BF7-B54A-4FDD-B65B-90F2C8EBBC78}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -295,6 +299,14 @@ type
procedure SetID_FORMA_PAGOValue(const aValue: Integer);
function GetID_FORMA_PAGOIsNull: Boolean;
procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean);
+ function GetID_ALBARANValue: Integer;
+ procedure SetID_ALBARANValue(const aValue: Integer);
+ function GetID_ALBARANIsNull: Boolean;
+ procedure SetID_ALBARANIsNull(const aValue: Boolean);
+ function GetREFERENCIA_ALBARANValue: String;
+ procedure SetREFERENCIA_ALBARANValue(const aValue: String);
+ function GetREFERENCIA_ALBARANIsNull: Boolean;
+ procedure SetREFERENCIA_ALBARANIsNull(const aValue: Boolean);
{ Properties }
@@ -376,6 +388,10 @@ type
property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
+ property ID_ALBARAN: Integer read GetID_ALBARANValue write SetID_ALBARANValue;
+ property ID_ALBARANIsNull: Boolean read GetID_ALBARANIsNull write SetID_ALBARANIsNull;
+ property REFERENCIA_ALBARAN: String read GetREFERENCIA_ALBARANValue write SetREFERENCIA_ALBARANValue;
+ property REFERENCIA_ALBARANIsNull: Boolean read GetREFERENCIA_ALBARANIsNull write SetREFERENCIA_ALBARANIsNull;
end;
{ TAlbaranesProveedorDataTableRules }
@@ -541,6 +557,14 @@ type
procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
function GetID_FORMA_PAGOIsNull: Boolean; virtual;
procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual;
+ function GetID_ALBARANValue: Integer; virtual;
+ procedure SetID_ALBARANValue(const aValue: Integer); virtual;
+ function GetID_ALBARANIsNull: Boolean; virtual;
+ procedure SetID_ALBARANIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIA_ALBARANValue: String; virtual;
+ procedure SetREFERENCIA_ALBARANValue(const aValue: String); virtual;
+ function GetREFERENCIA_ALBARANIsNull: Boolean; virtual;
+ procedure SetREFERENCIA_ALBARANIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@@ -621,6 +645,10 @@ type
property USUARIOIsNull: Boolean read GetUSUARIOIsNull write SetUSUARIOIsNull;
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
+ property ID_ALBARAN: Integer read GetID_ALBARANValue write SetID_ALBARANValue;
+ property ID_ALBARANIsNull: Boolean read GetID_ALBARANIsNull write SetID_ALBARANIsNull;
+ property REFERENCIA_ALBARAN: String read GetREFERENCIA_ALBARANValue write SetREFERENCIA_ALBARANValue;
+ property REFERENCIA_ALBARANIsNull: Boolean read GetREFERENCIA_ALBARANIsNull write SetREFERENCIA_ALBARANIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@@ -630,7 +658,7 @@ type
{ IAlbaranesProveedor_Detalles }
IAlbaranesProveedor_Detalles = interface(IDAStronglyTypedDataTable)
- ['{C3CD4BF2-4FBF-40E1-9F50-7994CDDE3956}']
+ ['{4E46B4A0-F866-4EFA-819C-D89CA70CA42E}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -1701,6 +1729,48 @@ begin
DataTable.Fields[idx_AlbaranesProveedorID_FORMA_PAGO].AsVariant := Null;
end;
+function TAlbaranesProveedorDataTableRules.GetID_ALBARANValue: Integer;
+begin
+ result := DataTable.Fields[idx_AlbaranesProveedorID_ALBARAN].AsInteger;
+end;
+
+procedure TAlbaranesProveedorDataTableRules.SetID_ALBARANValue(const aValue: Integer);
+begin
+ DataTable.Fields[idx_AlbaranesProveedorID_ALBARAN].AsInteger := aValue;
+end;
+
+function TAlbaranesProveedorDataTableRules.GetID_ALBARANIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_AlbaranesProveedorID_ALBARAN].IsNull;
+end;
+
+procedure TAlbaranesProveedorDataTableRules.SetID_ALBARANIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_AlbaranesProveedorID_ALBARAN].AsVariant := Null;
+end;
+
+function TAlbaranesProveedorDataTableRules.GetREFERENCIA_ALBARANValue: String;
+begin
+ result := DataTable.Fields[idx_AlbaranesProveedorREFERENCIA_ALBARAN].AsString;
+end;
+
+procedure TAlbaranesProveedorDataTableRules.SetREFERENCIA_ALBARANValue(const aValue: String);
+begin
+ DataTable.Fields[idx_AlbaranesProveedorREFERENCIA_ALBARAN].AsString := aValue;
+end;
+
+function TAlbaranesProveedorDataTableRules.GetREFERENCIA_ALBARANIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_AlbaranesProveedorREFERENCIA_ALBARAN].IsNull;
+end;
+
+procedure TAlbaranesProveedorDataTableRules.SetREFERENCIA_ALBARANIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_AlbaranesProveedorREFERENCIA_ALBARAN].AsVariant := Null;
+end;
+
{ TAlbaranesProveedor_DetallesDataTableRules }
constructor TAlbaranesProveedor_DetallesDataTableRules.Create(aDataTable: TDADataTable);
diff --git a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas
index 4343853b..8c90a381 100644
--- a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas
+++ b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas
@@ -9,13 +9,13 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
- RID_AlbaranesProveedorDelta = '{467DAA7D-392D-4AB6-BCC2-65A785D65AC7}';
- RID_AlbaranesProveedor_DetallesDelta = '{C386AE7F-4999-4952-95E5-6798E0E4CA00}';
+ RID_AlbaranesProveedorDelta = '{4418764D-F55C-4159-8188-FB26EB2712F2}';
+ RID_AlbaranesProveedor_DetallesDelta = '{F4091255-CE14-4478-BE97-D015483ED476}';
type
{ IAlbaranesProveedorDelta }
IAlbaranesProveedorDelta = interface(IAlbaranesProveedor)
- ['{467DAA7D-392D-4AB6-BCC2-65A785D65AC7}']
+ ['{4418764D-F55C-4159-8188-FB26EB2712F2}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -56,6 +56,8 @@ type
function GetOldFECHA_MODIFICACIONValue : DateTime;
function GetOldUSUARIOValue : String;
function GetOldID_FORMA_PAGOValue : Integer;
+ function GetOldID_ALBARANValue : Integer;
+ function GetOldREFERENCIA_ALBARANValue : String;
{ Properties }
property OldID : Integer read GetOldIDValue;
@@ -97,6 +99,8 @@ type
property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue;
property OldUSUARIO : String read GetOldUSUARIOValue;
property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
+ property OldID_ALBARAN : Integer read GetOldID_ALBARANValue;
+ property OldREFERENCIA_ALBARAN : String read GetOldREFERENCIA_ALBARANValue;
end;
{ TAlbaranesProveedorBusinessProcessorRules }
@@ -340,6 +344,18 @@ type
function GetOldID_FORMA_PAGOIsNull: Boolean; virtual;
procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual;
+ function GetID_ALBARANValue: Integer; virtual;
+ function GetID_ALBARANIsNull: Boolean; virtual;
+ function GetOldID_ALBARANValue: Integer; virtual;
+ function GetOldID_ALBARANIsNull: Boolean; virtual;
+ procedure SetID_ALBARANValue(const aValue: Integer); virtual;
+ procedure SetID_ALBARANIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIA_ALBARANValue: String; virtual;
+ function GetREFERENCIA_ALBARANIsNull: Boolean; virtual;
+ function GetOldREFERENCIA_ALBARANValue: String; virtual;
+ function GetOldREFERENCIA_ALBARANIsNull: Boolean; virtual;
+ procedure SetREFERENCIA_ALBARANValue(const aValue: String); virtual;
+ procedure SetREFERENCIA_ALBARANIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@@ -498,6 +514,14 @@ type
property ID_FORMA_PAGOIsNull : Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
property OldID_FORMA_PAGOIsNull : Boolean read GetOldID_FORMA_PAGOIsNull;
+ property ID_ALBARAN : Integer read GetID_ALBARANValue write SetID_ALBARANValue;
+ property ID_ALBARANIsNull : Boolean read GetID_ALBARANIsNull write SetID_ALBARANIsNull;
+ property OldID_ALBARAN : Integer read GetOldID_ALBARANValue;
+ property OldID_ALBARANIsNull : Boolean read GetOldID_ALBARANIsNull;
+ property REFERENCIA_ALBARAN : String read GetREFERENCIA_ALBARANValue write SetREFERENCIA_ALBARANValue;
+ property REFERENCIA_ALBARANIsNull : Boolean read GetREFERENCIA_ALBARANIsNull write SetREFERENCIA_ALBARANIsNull;
+ property OldREFERENCIA_ALBARAN : String read GetOldREFERENCIA_ALBARANValue;
+ property OldREFERENCIA_ALBARANIsNull : Boolean read GetOldREFERENCIA_ALBARANIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@@ -507,7 +531,7 @@ type
{ IAlbaranesProveedor_DetallesDelta }
IAlbaranesProveedor_DetallesDelta = interface(IAlbaranesProveedor_Detalles)
- ['{C386AE7F-4999-4952-95E5-6798E0E4CA00}']
+ ['{F4091255-CE14-4478-BE97-D015483ED476}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_ALBARANValue : Integer;
@@ -1970,6 +1994,68 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_FORMA_PAGO] := Null;
end;
+function TAlbaranesProveedorBusinessProcessorRules.GetID_ALBARANValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_ALBARAN];
+end;
+
+function TAlbaranesProveedorBusinessProcessorRules.GetID_ALBARANIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_ALBARAN]);
+end;
+
+function TAlbaranesProveedorBusinessProcessorRules.GetOldID_ALBARANValue: Integer;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorID_ALBARAN];
+end;
+
+function TAlbaranesProveedorBusinessProcessorRules.GetOldID_ALBARANIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorID_ALBARAN]);
+end;
+
+procedure TAlbaranesProveedorBusinessProcessorRules.SetID_ALBARANValue(const aValue: Integer);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_ALBARAN] := aValue;
+end;
+
+procedure TAlbaranesProveedorBusinessProcessorRules.SetID_ALBARANIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_ALBARAN] := Null;
+end;
+
+function TAlbaranesProveedorBusinessProcessorRules.GetREFERENCIA_ALBARANValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREFERENCIA_ALBARAN];
+end;
+
+function TAlbaranesProveedorBusinessProcessorRules.GetREFERENCIA_ALBARANIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREFERENCIA_ALBARAN]);
+end;
+
+function TAlbaranesProveedorBusinessProcessorRules.GetOldREFERENCIA_ALBARANValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorREFERENCIA_ALBARAN];
+end;
+
+function TAlbaranesProveedorBusinessProcessorRules.GetOldREFERENCIA_ALBARANIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorREFERENCIA_ALBARAN]);
+end;
+
+procedure TAlbaranesProveedorBusinessProcessorRules.SetREFERENCIA_ALBARANValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREFERENCIA_ALBARAN] := aValue;
+end;
+
+procedure TAlbaranesProveedorBusinessProcessorRules.SetREFERENCIA_ALBARANIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREFERENCIA_ALBARAN] := Null;
+end;
+
{ TAlbaranesProveedor_DetallesBusinessProcessorRules }
constructor TAlbaranesProveedor_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
diff --git a/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas b/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas
index a5e5250c..a9251c59 100644
--- a/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas
+++ b/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas
@@ -58,6 +58,7 @@ type
procedure SetID_ALMACENValue(const aValue: Integer); override;
procedure SetID_FACTURAValue(const aValue: Integer); override;
procedure SetID_FORMA_PAGOValue(const aValue: Integer); override;
+ procedure SetID_ALBARANValue(const aValue: Integer); override;
procedure IMPORTE_NETOOnChange(Sender: TDACustomField);
procedure IMPORTE_PORTEOnChange(Sender: TDACustomField);
@@ -254,6 +255,14 @@ begin
inherited;
end;
+procedure TBizAlbaranProveedor.SetID_ALBARANValue(const aValue: Integer);
+begin
+ if (aValue = 0) then
+ SetFieldNull(DataTable, fld_AlbaranesProveedorID_ALBARAN)
+ else
+ inherited;
+end;
+
procedure TBizAlbaranProveedor.SetID_ALMACENValue(const aValue: Integer);
begin
if (aValue = 0) then
diff --git a/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm b/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm
index 221963f3..35e0a581 100644
--- a/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm
@@ -38,6 +38,14 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
DatasetField = 'NOMBRE'
TableField = 'NOMBRE'
end
+ item
+ DatasetField = 'ID_DIRECCION'
+ TableField = 'ID_DIRECCION'
+ end
+ item
+ DatasetField = 'PERSONA_CONTACTO_PROV'
+ TableField = 'PERSONA_CONTACTO_PROV'
+ end
item
DatasetField = 'FECHA_ALBARAN'
TableField = 'FECHA_ALBARAN'
@@ -58,6 +66,10 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
DatasetField = 'ID_ALMACEN'
TableField = 'ID_ALMACEN'
end
+ item
+ DatasetField = 'TIPO_ALMACEN'
+ TableField = 'TIPO_ALMACEN'
+ end
item
DatasetField = 'NOMBRE_ALMACEN'
TableField = 'NOMBRE_ALMACEN'
@@ -167,16 +179,12 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
TableField = 'ID_FORMA_PAGO'
end
item
- DatasetField = 'TIPO_ALMACEN'
- TableField = 'TIPO_ALMACEN'
+ DatasetField = 'ID_ALBARAN'
+ TableField = 'ID_ALBARAN'
end
item
- DatasetField = 'ID_DIRECCION'
- TableField = 'ID_DIRECCION'
- end
- item
- DatasetField = 'PERSONA_CONTACTO_PROV'
- TableField = 'PERSONA_CONTACTO_PROV'
+ DatasetField = 'REFERENCIA_ALBARAN'
+ TableField = 'REFERENCIA_ALBARAN'
end>
end>
Name = 'AlbaranesProveedor'
@@ -401,6 +409,18 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
Name = 'ID_FORMA_PAGO'
DataType = datInteger
DictionaryEntry = 'AlbaranesProveedor_ID_FORMA_PAGO'
+ end
+ item
+ Name = 'ID_ALBARAN'
+ DataType = datInteger
+ DictionaryEntry = 'AlbaranesProveedor_ID_ALBARAN'
+ end
+ item
+ Name = 'REFERENCIA_ALBARAN'
+ DataType = datString
+ Size = 255
+ ServerAutoRefresh = True
+ DictionaryEntry = 'AlbaranesProveedor_REFERENCIA_ALBARAN'
end>
end
item
@@ -436,7 +456,8 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
end
item
DatasetField = 'ID_ALBARAN'
- TableField = 'ID_ALBARAN'
+ TableField = 'ALBARANES_PROVEEDOR_DETALLES.ID_ALBARAN'
+ SQLOrigin = 'ID_ALBARAN'
end
item
DatasetField = 'POSICION'
@@ -454,6 +475,10 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
DatasetField = 'CANTIDAD'
TableField = 'CANTIDAD'
end
+ item
+ DatasetField = 'UNIDAD_MEDIDA'
+ TableField = 'UNIDAD_MEDIDA'
+ end
item
DatasetField = 'IMPORTE_UNIDAD'
TableField = 'IMPORTE_UNIDAD'
@@ -493,10 +518,6 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
item
DatasetField = 'REFERENCIA_FABRICANTE'
TableField = 'REFERENCIA_FABRICANTE'
- end
- item
- DatasetField = 'UNIDAD_MEDIDA'
- TableField = 'UNIDAD_MEDIDA'
end>
end>
Name = 'AlbaranesProveedor_Detalles'
@@ -720,6 +741,10 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
Name = 'USUARIO'
Value = ''
end
+ item
+ Name = 'ID_ALBARAN'
+ Value = ''
+ end
item
Name = 'ID_ALMACEN'
Value = ''
@@ -750,17 +775,18 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
'RTE_DESCUENTO,'#10' IVA,'#10' IMPORTE_IVA,'#10' IMPORTE_TOTAL,'#10' ' +
'OBSERVACIONES,'#10' INCIDENCIAS,'#10' INCIDENCIAS_ACTIVAS,'#10' FEC' +
'HA_ALTA,'#10' FECHA_MODIFICACION,'#10' USUARIO,'#10' ID_ALMACEN,'#10' ' +
- ' ID_FORMA_PAGO,'#10' IMPORTE_NETO,'#10' IMPORTE_PORTE)'#10' VALUES (' +
- #10' :ID,'#10' :ID_EMPRESA,'#10' :ID_PROVEEDOR,'#10' :ID_DIRECCION,' +
- #10' :PERSONA_CONTACTO_PROV,'#10' :FECHA_ALBARAN,'#10' :ID_PEDIDO,' +
- #10' :ID_FACTURA,'#10' :TIPO,'#10' :REFERENCIA,'#10' :REFERENCIA_PR' +
- 'OVEEDOR,'#10' :REF_FACTURA_PROV,'#10' :CALLE,'#10' :CODIGO_POSTAL,'#10 +
- ' :POBLACION,'#10' :PROVINCIA,'#10' :PERSONA_CONTACTO,'#10' :TELE' +
- 'FONO,'#10' :BASE_IMPONIBLE,'#10' :DESCUENTO,'#10' :IMPORTE_DESCUENT' +
- 'O,'#10' :IVA,'#10' :IMPORTE_IVA,'#10' :IMPORTE_TOTAL,'#10' :OBSERVAC' +
- 'IONES,'#10' :INCIDENCIAS,'#10' :INCIDENCIAS_ACTIVAS,'#10' :FECHA_AL' +
- 'TA,'#10' :FECHA_MODIFICACION,'#10' :USUARIO,'#10' :ID_ALMACEN,'#10' ' +
- ':ID_FORMA_PAGO,'#10' :IMPORTE_NETO,'#10' :IMPORTE_PORTE);'#10
+ ' ID_FORMA_PAGO,'#10' IMPORTE_NETO,'#10' IMPORTE_PORTE,'#10' ID_ALB' +
+ 'ARAN)'#10' VALUES ('#10' :ID,'#10' :ID_EMPRESA,'#10' :ID_PROVEEDOR,'#10' ' +
+ ' :ID_DIRECCION,'#10' :PERSONA_CONTACTO_PROV,'#10' :FECHA_ALBARAN,' +
+ #10' :ID_PEDIDO,'#10' :ID_FACTURA,'#10' :TIPO,'#10' :REFERENCIA,'#10' ' +
+ ' :REFERENCIA_PROVEEDOR,'#10' :REF_FACTURA_PROV,'#10' :CALLE,'#10' ' +
+ ':CODIGO_POSTAL,'#10' :POBLACION,'#10' :PROVINCIA,'#10' :PERSONA_CON' +
+ 'TACTO,'#10' :TELEFONO,'#10' :BASE_IMPONIBLE,'#10' :DESCUENTO,'#10' :' +
+ 'IMPORTE_DESCUENTO,'#10' :IVA,'#10' :IMPORTE_IVA,'#10' :IMPORTE_TOTA' +
+ 'L,'#10' :OBSERVACIONES,'#10' :INCIDENCIAS,'#10' :INCIDENCIAS_ACTIVA' +
+ 'S,'#10' :FECHA_ALTA,'#10' :FECHA_MODIFICACION,'#10' :USUARIO,'#10' :' +
+ 'ID_ALMACEN,'#10' :ID_FORMA_PAGO,'#10' :IMPORTE_NETO,'#10' :IMPORTE_' +
+ 'PORTE,'#10' :ID_ALBARAN);'#10
StatementType = stSQL
ColumnMappings = <>
end>
@@ -786,6 +812,10 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
end
item
Params = <
+ item
+ Name = 'ID_ALBARAN'
+ Value = ''
+ end
item
Name = 'PERSONA_CONTACTO_PROV'
Value = ''
@@ -949,7 +979,7 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
'_MODIFICACION = :FECHA_MODIFICACION,'#10' USUARIO = :USUARIO,'#10' ' +
' ID_ALMACEN = :ID_ALMACEN,'#10' ID_FORMA_PAGO = :ID_FORMA_PAGO,'#10' ' +
' IMPORTE_NETO = :IMPORTE_NETO,'#10' IMPORTE_PORTE = :IMPORTE_PO' +
- 'RTE'#10' WHERE'#10' (ID = :OLD_ID);'#10
+ 'RTE,'#10' ID_ALBARAN = :ID_ALBARAN'#10' WHERE'#10' (ID = :OLD_ID);'#10
StatementType = stSQL
ColumnMappings = <>
end>
@@ -1560,6 +1590,15 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
DataType = datString
Size = 10
ServerAutoRefresh = True
+ end
+ item
+ Name = 'AlbaranesProveedor_ID_ALBARAN'
+ DataType = datInteger
+ end
+ item
+ Name = 'AlbaranesProveedor_REFERENCIA_ALBARAN'
+ DataType = datString
+ Size = 255
end>
Left = 48
Top = 128
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranDevProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranDevProveedor.dfm
index 5b7f7132..b2c73a28 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranDevProveedor.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranDevProveedor.dfm
@@ -39,49 +39,41 @@ inherited fEditorAlbaranDevProveedor: TfEditorAlbaranDevProveedor
inherited pagContenido: TTabSheet
inherited frViewDetallesAlbaranProveedor1: TfrViewDetallesAlbaranProveedor
inherited ToolBar1: TToolBar
- inherited UpDown1: TUpDown [7]
- Left = 666
- Top = 0
- ExplicitLeft = 666
- ExplicitTop = 0
+ inherited UpDown1: TUpDown [1]
+ Left = 109
+ ExplicitLeft = 109
end
- inherited ToolButton13: TToolButton [8]
+ inherited ToolButton2: TToolButton [2]
+ Left = 126
end
- inherited ToolButton6: TToolButton
- Left = 0
- ExplicitLeft = 0
+ inherited ToolButton3: TToolButton [3]
+ Left = 240
+ end
+ inherited FontSize: TEdit [4]
+ Left = 295
+ ExplicitLeft = 295
+ end
+ inherited ToolButton4: TToolButton [5]
+ Left = 417
+ ExplicitLeft = 417
+ end
+ inherited ToolButton14: TToolButton [6]
+ Left = 473
+ ExplicitLeft = 473
+ end
+ inherited FontName: TJvFontComboBox [7]
+ Left = 538
+ ExplicitLeft = 538
end
inherited ToolButton7: TToolButton
- Left = 66
- ExplicitLeft = 66
- end
- inherited ToolButton8: TToolButton
- Left = 133
- ExplicitLeft = 133
+ Wrap = False
end
inherited ToolButton12: TToolButton
- Left = 216
- ExplicitLeft = 216
- end
- inherited ToolButton9: TToolButton
- Left = 224
- ExplicitLeft = 224
- end
- inherited ToolButton10: TToolButton
- Left = 369
- ExplicitLeft = 369
- end
- inherited ToolButton11: TToolButton
- Left = 494
- ExplicitLeft = 494
+ Wrap = False
end
end
inherited cxGrid: TcxGrid
ExplicitTop = 99
- ExplicitHeight = 345
- end
- inherited TBXDock1: TTBXDock
- ExplicitTop = 73
end
inherited cxGridPopupMenu: TcxGridPopupMenu
PopupMenus = <
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranDevProveedor.pas b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranDevProveedor.pas
index ee3892de..38e98cdc 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranDevProveedor.pas
+++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranDevProveedor.pas
@@ -56,7 +56,7 @@ begin
if (Application.MessageBox('¿Desea borrar esta orden de devolución?', 'Atención', MB_YESNO) = IDYES) then
begin
FController.Eliminar(FAlbaran);
- inherited
+ actCerrar.Execute;
end
end;
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.dfm
index a8c13124..b2833e6c 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.dfm
@@ -164,6 +164,10 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
object pagContenido: TTabSheet
Caption = 'Contenido'
ImageIndex = 1
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
inline frViewDetallesAlbaranProveedor1: TfrViewDetallesAlbaranProveedor
Left = 0
Top = 0
@@ -196,14 +200,13 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
ExplicitLeft = 278
ExplicitTop = 0
end
- inherited ToolButton14: TToolButton
+ inherited ToolButton14: TToolButton [4]
Left = 334
Top = 0
- Wrap = False
ExplicitLeft = 334
ExplicitTop = 0
end
- inherited FontName: TJvFontComboBox
+ inherited FontName: TJvFontComboBox [5]
Left = 399
Top = 0
ExplicitLeft = 399
@@ -217,7 +220,13 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
ExplicitTop = 0
ExplicitWidth = 122
end
- inherited ToolButton13: TToolButton [7]
+ inherited UpDown1: TUpDown
+ Left = 666
+ Top = 0
+ ExplicitLeft = 666
+ ExplicitTop = 0
+ end
+ inherited ToolButton13: TToolButton
Left = 0
Top = 0
Wrap = True
@@ -225,52 +234,47 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
ExplicitTop = 0
ExplicitHeight = 27
end
- inherited UpDown1: TUpDown [8]
+ inherited ToolButton6: TToolButton [9]
Left = 0
Top = 27
ExplicitLeft = 0
ExplicitTop = 27
end
- inherited ToolButton6: TToolButton
- Left = 17
+ inherited ToolButton7: TToolButton [10]
+ Left = 66
Top = 27
- ExplicitLeft = 17
+ ExplicitLeft = 66
ExplicitTop = 27
end
- inherited ToolButton7: TToolButton
- Left = 83
+ inherited ToolButton8: TToolButton [11]
+ Left = 133
Top = 27
- ExplicitLeft = 83
+ ExplicitLeft = 133
ExplicitTop = 27
end
- inherited ToolButton8: TToolButton
- Left = 150
+ inherited ToolButton12: TToolButton [12]
+ Left = 216
Top = 27
- ExplicitLeft = 150
+ ExplicitLeft = 216
+ ExplicitTop = 27
+ ExplicitHeight = 22
+ end
+ inherited ToolButton9: TToolButton [13]
+ Left = 224
+ Top = 27
+ ExplicitLeft = 224
ExplicitTop = 27
end
- inherited ToolButton12: TToolButton
- Left = 233
+ inherited ToolButton10: TToolButton [14]
+ Left = 369
Top = 27
- ExplicitLeft = 233
+ ExplicitLeft = 369
ExplicitTop = 27
end
- inherited ToolButton9: TToolButton
- Left = 241
+ inherited ToolButton11: TToolButton [15]
+ Left = 494
Top = 27
- ExplicitLeft = 241
- ExplicitTop = 27
- end
- inherited ToolButton10: TToolButton
- Left = 386
- Top = 27
- ExplicitLeft = 386
- ExplicitTop = 27
- end
- inherited ToolButton11: TToolButton
- Left = 511
- Top = 27
- ExplicitLeft = 511
+ ExplicitLeft = 494
ExplicitTop = 27
end
end
@@ -305,6 +309,10 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
object pagInicidencias: TTabSheet
Caption = 'Incidencias'
ImageIndex = 2
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
inline frViewIncidenciasCli: TfrViewIncidencias
Left = 0
Top = 0
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesDevProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesDevProveedor.dfm
index 1498c1f4..527977b3 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesDevProveedor.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesDevProveedor.dfm
@@ -6,7 +6,7 @@ inherited fEditorAlbaranesDevProveedor: TfEditorAlbaranesDevProveedor
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 872
- Caption = 'Lista de '#243'rdenes de devoluci'#243'n de proveedor'
+ Caption = 'Lista de '#243'rdenes de devoluci'#243'n a proveedor'
ExplicitWidth = 872
inherited Image1: TImage
Left = 845
@@ -46,7 +46,7 @@ inherited fEditorAlbaranesDevProveedor: TfEditorAlbaranesDevProveedor
Width = 872
ExplicitWidth = 872
inherited tbxMain: TTBXToolbar
- ExplicitWidth = 632
+ ExplicitWidth = 872
end
inherited tbxMenu: TTBXToolbar
ExplicitWidth = 872
@@ -66,6 +66,10 @@ inherited fEditorAlbaranesDevProveedor: TfEditorAlbaranesDevProveedor
inherited actGenerarFactura: TAction
Caption = 'Generar abono'
end
+ inherited actGenerarDevolucion: TAction
+ Enabled = False
+ Visible = False
+ end
end
inherited SmallImages: TPngImageList
PngImages = <
@@ -1590,6 +1594,22 @@ inherited fEditorAlbaranesDevProveedor: TfEditorAlbaranesDevProveedor
Action = actGenerarFactura
end
end
+ inherited JsNuevoAlbaranDialog: TJSDialog
+ Instruction.Text = 'Nueva orden de devoluci'#243'n a proveedor'
+ CustomButtons = <
+ item
+ Caption = 'Orden de devoluci'#243'n nueva vac'#237'a'
+ Value = 100
+ end
+ item
+ Caption = 'Utilizar un albar'#225'n de proveedor.'
+ Value = 200
+ Info.Strings = (
+
+ 'Puede utilizar un albar'#225'n de proveedor existente para dar de alt' +
+ 'a la orden de devoluci'#243'n.')
+ end>
+ end
inherited JsPrevisualizarDialog: TJSDialog
CustomButtons = <
item
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesDevProveedor.pas b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesDevProveedor.pas
index 40294fbe..394a9432 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesDevProveedor.pas
+++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesDevProveedor.pas
@@ -21,14 +21,15 @@ type
procedure NuevoInterno; override;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
- constructor Create(AOwner: TComponent);
+ constructor Create(AOwner: TComponent); override;
end;
implementation
{$R *.dfm}
uses
- uDataModuleUsuarios, uViewAlbaranesDevProveedor, uFactuGES_App;
+ uDataModuleUsuarios, uViewAlbaranesDevProveedor, uFactuGES_App,
+ uGenerarAlbaranesProvUtils, uBizAlbaranesProveedor;
{ TfEditorAlbaranesDevProveedor }
@@ -46,10 +47,37 @@ begin
end;
procedure TfEditorAlbaranesDevProveedor.NuevoInterno;
+var
+ Respuesta : Integer;
+ AAlbaran : IBizAlbaranProveedor;
+ ADevolucion : IBizAlbaranProveedor;
begin
-// inherited;
- if FController.AnadirAlbaranDev(Albaranes) then
- FController.Ver(Albaranes);
+// inherited; <-- No llamar al padre
+
+ Respuesta := JsNuevoAlbaranDialog.Execute;
+
+ if Respuesta <> IDCANCEL then
+ begin
+ case JsNuevoAlbaranDialog.CustomButtonResult of
+ 200 : begin // Utilizar un albaran
+ AAlbaran := FController.ElegirAlbaranes(FController.BuscarAlbaranesNormales,
+ 'Elija el albarán de proveedor que desea utilizar para dar de alta la orden de devolución.', False);
+ if Assigned(AAlbaran) then
+ begin
+ ADevolucion := FController.GenerarDevolucion(AAlbaran);
+ if Assigned(ADevolucion) then
+ begin
+ FController.Ver(ADevolucion);
+ actRefrescar.Execute;
+ end;
+ end;
+ end;
+ 100 : begin // Devolución nueva vacÃa
+ if FController.AnadirAlbaranDev(Albaranes) then
+ FController.Ver(Albaranes);
+ end;
+ end;
+ end;
end;
procedure TfEditorAlbaranesDevProveedor.PonerTitulos(const ATitulo: string);
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.dfm
index 15d367b6..41360fda 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.dfm
@@ -128,10 +128,23 @@ inherited fEditorAlbaranesProveedor: TfEditorAlbaranesProveedor
end
inherited tbxMenu: TTBXToolbar
ExplicitWidth = 606
+ object TBXSubmenuItem2: TTBXSubmenuItem [4]
+ Caption = 'A&cciones'
+ object TBXItem40: TTBXItem
+ Action = actGenerarDevolucion
+ end
+ object TBXItem38: TTBXItem
+ Action = actGenerarFactura
+ end
+ end
end
inherited TBXTMain2: TTBXToolbar
Visible = True
- ExplicitWidth = 117
+ ExplicitWidth = 237
+ object TBXItem41: TTBXItem
+ Action = actGenerarDevolucion
+ DisplayMode = nbdmImageAndText
+ end
object TBXItem39: TTBXItem
Action = actGenerarFactura
DisplayMode = nbdmImageAndText
@@ -159,11 +172,22 @@ inherited fEditorAlbaranesProveedor: TfEditorAlbaranesProveedor
ImageIndex = 22
end
object actGenerarFactura: TAction
+ Category = 'Acciones'
Caption = 'Generar factura'
ImageIndex = 23
OnExecute = actGenerarFacturaExecute
OnUpdate = actGenerarFacturaUpdate
end
+ object actGenerarDevolucion: TAction
+ Category = 'Acciones'
+ Caption = 'Generar devoluci'#243'n'
+ Hint =
+ 'Generar una orden de devoluci'#243'n a partir del albar'#225'n seleccionad' +
+ 'o'
+ ImageIndex = 23
+ OnExecute = actGenerarDevolucionExecute
+ OnUpdate = actGenerarDevolucionUpdate
+ end
end
inherited SmallImages: TPngImageList
PngImages = <
@@ -1629,6 +1653,15 @@ inherited fEditorAlbaranesProveedor: TfEditorAlbaranesProveedor
inherited N2: TMenuItem
Visible = False
end
+ object Generardevolucin1: TMenuItem [9]
+ Action = actGenerarDevolucion
+ end
+ object Generarfactura1: TMenuItem [10]
+ Action = actGenerarFactura
+ end
+ object N5: TMenuItem [11]
+ Caption = '-'
+ end
end
object JsNuevoAlbaranDialog: TJSDialog
Content.Strings = (
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.pas b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.pas
index 7c794dd0..d790f839 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.pas
+++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.pas
@@ -22,10 +22,20 @@ type
JsImprimirDialog: TJSDialog;
TBXItem39: TTBXItem;
JsListaAlbaranesNoEliminados: TJSDialog;
+ actGenerarDevolucion: TAction;
+ N5: TMenuItem;
+ Generardevolucin1: TMenuItem;
+ Generarfactura1: TMenuItem;
+ TBXSubmenuItem2: TTBXSubmenuItem;
+ TBXItem38: TTBXItem;
+ TBXItem40: TTBXItem;
+ TBXItem41: TTBXItem;
procedure FormShow(Sender: TObject);
procedure actGenerarFacturaExecute(Sender: TObject);
procedure actGenerarFacturaUpdate(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
+ procedure actGenerarDevolucionUpdate(Sender: TObject);
+ procedure actGenerarDevolucionExecute(Sender: TObject);
protected
FAlbaranes: IBizAlbaranProveedor;
@@ -77,6 +87,26 @@ begin
(Sender as TAction).Enabled := not (FAlbaranes.ID_FACTURA > 0)
end;
+procedure TfEditorAlbaranesProveedor.actGenerarDevolucionExecute(
+ Sender: TObject);
+var
+ ADevolucion : IBizAlbaranProveedor;
+begin
+ inherited;
+ ADevolucion := FController.GenerarDevolucion(FAlbaranes);
+ if Assigned(ADevolucion) then
+ FController.Ver(ADevolucion);
+end;
+
+procedure TfEditorAlbaranesProveedor.actGenerarDevolucionUpdate(
+ Sender: TObject);
+begin
+ (Sender as TAction).Enabled := HayDatos
+ and not (ViewGrid.NumSeleccionados > 1)
+ and (Albaranes.REF_FACTURA = '')
+ and ViewGrid.esSeleccionCeldaDatos;
+end;
+
procedure TfEditorAlbaranesProveedor.actGenerarFacturaExecute(Sender: TObject);
begin
inherited;
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirAlbaranesProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirAlbaranesProveedor.dfm
index 847370a6..7b62708e 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirAlbaranesProveedor.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirAlbaranesProveedor.dfm
@@ -53,7 +53,7 @@ inherited fEditorElegirAlbaranesProveedor: TfEditorElegirAlbaranesProveedor
ExplicitTop = 87
ExplicitWidth = 790
inherited tbxMain: TTBXToolbar
- ExplicitWidth = 126
+ ExplicitWidth = 231
inherited TBXItem2: TTBXItem
Visible = False
end
@@ -89,11 +89,11 @@ inherited fEditorElegirAlbaranesProveedor: TfEditorElegirAlbaranesProveedor
end
end
inherited tbxFiltro: TTBXToolbar
- Left = 126
+ Left = 231
Top = 23
DockPos = 104
DockRow = 1
- ExplicitLeft = 126
+ ExplicitLeft = 231
ExplicitTop = 23
inherited TBXItem34: TTBXItem
Action = actQuitarFiltro2
diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj
index 663af061..aca1c6e7 100644
--- a/Source/Servidor/FactuGES_Server.dproj
+++ b/Source/Servidor/FactuGES_Server.dproj
@@ -1,331 +1,331 @@
-
+
-
- {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}
- FactuGES_Server.dpr
- Debug
- AnyCPU
- DCC32
- ..\..\Output\Debug\Servidor\FactuGES_Server.exe
- vcl;rtl;vclx;vclactnband;dbrtl;vcldb;vcldbx;bdertl;dsnap;dsnapcon;teeUI;teedb;tee;adortl;vclib;ibxpress;dbxcds;dbexpress;DbxCommonDriver;IndyCore;IndySystem;IndyProtocols;VclSmp;vclie;webdsnap;xmlrtl;inet;inetdbbde;inetdbxpress;RemObjects_BPDX_D11;RemObjects_RODX_D11;RemObjects_Indy_D11;RemObjects_Synapse_D11;RemObjects_WebBroker_D11;DataAbstract_Core_D11;DataAbstract_DBXDriver_D11;DataAbstract_IDE_D11;DataAbstract_Scripting_D11;DataAbstract_SDACDriver_D11;sdac105;dac105;DataAbstract_SQLiteDriver_D11;cxEditorsD10;cxLibraryD10;dxThemeD10;cxDataD10;cxExtEditorsD10;cxGridD10;cxPageControlD10;cxSchedulerD10;cxTreeListD10;cxVerticalGridD10;dxBarD10;dxComnD10;dxBarDBNavD10;dxBarExtDBItemsD10;dxBarExtItemsD10;dxDockingD10;dxLayoutControlD10;dxNavBarD10;dxPSCoreD10;dxsbD10;dxPScxCommonD10;dxPSLnksD10;vclshlctrls;dxPScxExtCommonD10;dxPScxGridLnkD10;dxPScxPCProdD10;dxPScxScheduler2LnkD10;dxPScxTLLnkD10;dxPSdxLCLnkD10;dxPsPrVwAdvD10;pckMD5;pckUCDataConnector;pckUserControl_RT;PluginSDK_D10R;PNG_D10;PngComponentsD10;tb2k_d10;tbx_d10;JclVcl;Jcl;JvXPCtrlsD11R;JvCoreD11R;JvSystemD11R;JvStdCtrlsD11R;JvAppFrmD11R;JvBandsD11R;JvDBD11R;JvDlgsD11R;JvBDED11R;JvCmpD11R;JvCryptD11R;JvCtrlsD11R;JvCustomD11R;JvDockingD11R;JvDotNetCtrlsD11R;JvEDID11R;JvGlobusD11R;JvHMID11R;JvInterpreterD11R;JvJansD11R;JvManagedThreadsD11R;JvMMD11R;JvNetD11R;JvPageCompsD11R;JvPluginD11R;JvPrintPreviewD11R;JvRuntimeDesignD11R;JvTimeFrameworkD11R;JvUIBD11R;JvValidatorsD11R;JvWizardD11R;pckUCADOConn;pckUCBDEConn;pckUCIBXConn;pckUCMidasConn;cxIntlPrintSys3D10;cxExportD10;cxIntl5D10;GUISDK_D11;ccpackD11;JSDialog100;fsTee11;fs11;frx11;frxADO11;frxBDE11;frxDB11;frxDBX11;frxe11;frxIBX11;frxTee11;fsADO11;fsBDE11;fsDB11;fsIBX11;websnap;soaprtl;IntrawebDB_90_100;Intraweb_90_100
-
-
- 7.0
- False
- False
- 0
- 3
- ..\..\Output\Release\Servidor
- RELEASE
-
-
- 7.0
- 3
- ..\..\Output\Debug\Servidor
- DEBUG;
- True
- True
- True
- $(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
- $(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
- $(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
- $(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
-
-
- Delphi.Personality
-
-
- FalseTrueFalse/standaloneTrueFalse1640FalseFalseFalseFalseFalse308212521.6.4.01.6.4.0viernes, 16 de enero de 2009 21:22FactuGES_Server.dpr
-
-
-
-
- MainSource
-
-
-
-
-
-
- TDARemoteService
-
-
-
- TDataModule
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDARemoteService
-
-
-
-
-
-
- TDARemoteService
-
-
-
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDARemoteService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
- TDataAbstractService
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
- TFrame
-
-
-
- TFrame
-
-
-
- TForm
-
-
-
- TFrame
-
-
-
- TDARemoteService
-
-
-
-
-
-
- TDataModule
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}
+ FactuGES_Server.dpr
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\Output\Debug\Servidor\FactuGES_Server.exe
+ vcl;rtl;vclx;vclactnband;dbrtl;vcldb;vcldbx;bdertl;dsnap;dsnapcon;teeUI;teedb;tee;adortl;vclib;ibxpress;dbxcds;dbexpress;DbxCommonDriver;IndyCore;IndySystem;IndyProtocols;VclSmp;vclie;webdsnap;xmlrtl;inet;inetdbbde;inetdbxpress;RemObjects_BPDX_D11;RemObjects_RODX_D11;RemObjects_Indy_D11;RemObjects_Synapse_D11;RemObjects_WebBroker_D11;DataAbstract_Core_D11;DataAbstract_DBXDriver_D11;DataAbstract_IDE_D11;DataAbstract_Scripting_D11;DataAbstract_SDACDriver_D11;sdac105;dac105;DataAbstract_SQLiteDriver_D11;cxEditorsD10;cxLibraryD10;dxThemeD10;cxDataD10;cxExtEditorsD10;cxGridD10;cxPageControlD10;cxSchedulerD10;cxTreeListD10;cxVerticalGridD10;dxBarD10;dxComnD10;dxBarDBNavD10;dxBarExtDBItemsD10;dxBarExtItemsD10;dxDockingD10;dxLayoutControlD10;dxNavBarD10;dxPSCoreD10;dxsbD10;dxPScxCommonD10;dxPSLnksD10;vclshlctrls;dxPScxExtCommonD10;dxPScxGridLnkD10;dxPScxPCProdD10;dxPScxScheduler2LnkD10;dxPScxTLLnkD10;dxPSdxLCLnkD10;dxPsPrVwAdvD10;pckMD5;pckUCDataConnector;pckUserControl_RT;PluginSDK_D10R;PNG_D10;PngComponentsD10;tb2k_d10;tbx_d10;JclVcl;Jcl;JvXPCtrlsD11R;JvCoreD11R;JvSystemD11R;JvStdCtrlsD11R;JvAppFrmD11R;JvBandsD11R;JvDBD11R;JvDlgsD11R;JvBDED11R;JvCmpD11R;JvCryptD11R;JvCtrlsD11R;JvCustomD11R;JvDockingD11R;JvDotNetCtrlsD11R;JvEDID11R;JvGlobusD11R;JvHMID11R;JvInterpreterD11R;JvJansD11R;JvManagedThreadsD11R;JvMMD11R;JvNetD11R;JvPageCompsD11R;JvPluginD11R;JvPrintPreviewD11R;JvRuntimeDesignD11R;JvTimeFrameworkD11R;JvUIBD11R;JvValidatorsD11R;JvWizardD11R;pckUCADOConn;pckUCBDEConn;pckUCIBXConn;pckUCMidasConn;cxIntlPrintSys3D10;cxExportD10;cxIntl5D10;GUISDK_D11;ccpackD11;JSDialog100;fsTee11;fs11;frx11;frxADO11;frxBDE11;frxDB11;frxDBX11;frxe11;frxIBX11;frxTee11;fsADO11;fsBDE11;fsDB11;fsIBX11;websnap;soaprtl;IntrawebDB_90_100;Intraweb_90_100
+
+
+ 7.0
+ False
+ False
+ 0
+ 3
+ ..\..\Output\Release\Servidor
+ RELEASE
+
+
+ 7.0
+ 3
+ ..\..\Output\Debug\Servidor
+ DEBUG;
+ True
+ True
+ True
+ $(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
+ $(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
+ $(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
+ $(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
+
+
+ Delphi.Personality
+
+
+FalseTrueFalse/standaloneTrueFalse1640FalseFalseFalseFalseFalse308212521.6.4.01.6.4.0viernes, 16 de enero de 2009 21:22FactuGES_Server.dpr
+
+
+
+
+ MainSource
+
+
+
+
+
+
+ TDARemoteService
+
+
+
+ TDataModule
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDARemoteService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+ TDataAbstractService
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TForm
+
+
+
+ TFrame
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+ TDataModule
+
+
+
+
+
+
+
+
+
+
+
+
+
+