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 - - - - - -
srvEmpresas
- TDARemoteService -
- -
srvProvinciasPoblaciones_Impl
- TDataModule -
- - - -
srvUsuarios
- TDataAbstractService -
- - - - - - - -
RptAlbaranesCliente
- TDataModule -
- -
RptWordAlbaranCliente
- TDataModule -
- -
srvAlbaranesCliente
- TDataAbstractService -
- - - - -
RptAlbaranesProveedor
- TDataModule -
- -
RptWordAlbaranProveedor
- TDataModule -
- -
srvAlbaranesProveedor
- TDataAbstractService -
- - - -
srvAlmacenes
- TDARemoteService -
- - - - -
srvArticulos
- TDARemoteService -
- - - - - - - -
RptEtiquetasContacto
- TDataModule -
- -
RptFichasEmpleado
- TDataModule -
- -
srvContactos
- TDARemoteService -
- - - -
srvFabricantes
- TDataAbstractService -
- - - - -
RptFacturasCliente
- TDataModule -
- -
RptWordFacturaCliente
- TDataModule -
- -
srvFacturasCliente
- TDataAbstractService -
- - - - -
RptFacturasProveedor
- TDataModule -
- -
srvFacturasProveedor
- TDataAbstractService -
- - - -
srvFamilias
- TDataAbstractService -
- - - -
srvFormasPago
- TDataAbstractService -
- -
srvGestorDocumentos
- TDataAbstractService -
- -
srvGestorInformes
- TDataAbstractService -
- - - -
srvHistoricoMovimientos
- TDataAbstractService -
- - - -
srvInventario
- TDataAbstractService -
- - - - -
srvObras
- TDataAbstractService -
- - - - -
RptPedidosProveedor
- TDataModule -
- -
RptWordPedidoProveedor
- TDataModule -
- -
srvPedidosProveedor
- TDataAbstractService -
- - - - -
RptPresupuestosCliente
- TDataModule -
- -
RptWordCertificadoTrabajo
- TDataModule -
- -
RptWordPresupuestoCliente
- TDataModule -
- -
srvPresupuestosCliente
- TDataAbstractService -
- - - -
RptRecibosCliente
- TDataModule -
- -
srvRecibosCliente
- TDataAbstractService -
- - - -
RptRecibosProveedor
- TDataModule -
- -
srvRecibosProveedor
- TDataAbstractService -
- - - -
srvReferencias
- TDataAbstractService -
- - - - -
srvRemesasCliente
- TDataAbstractService -
- - - - -
srvRemesasProveedor
- TDataAbstractService -
- - - -
srvTiposIVA
- TDataAbstractService -
- - - -
srvUnidadesMedida
- TDataAbstractService -
- - - -
srvConfiguracion
- TDataAbstractService -
- -
frConexionBD
- TFrame -
- -
frConfGeneral
- TFrame -
- -
fConfiguracion
- TForm -
- -
FrameConfiguracion
- TFrame -
- -
srvLogin
- TDARemoteService -
- -
fAcercaDe
-
- -
dmServer
- TDataModule -
- -
fServerForm
-
- - - - - - - - - -
+ + {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 + + + + + +
srvEmpresas
+ TDARemoteService +
+ +
srvProvinciasPoblaciones_Impl
+ TDataModule +
+ + + +
srvUsuarios
+ TDataAbstractService +
+ + + + + + + +
RptAlbaranesCliente
+ TDataModule +
+ +
RptWordAlbaranCliente
+ TDataModule +
+ +
srvAlbaranesCliente
+ TDataAbstractService +
+ + + + +
RptAlbaranesProveedor
+ TDataModule +
+ +
RptWordAlbaranProveedor
+ TDataModule +
+ +
srvAlbaranesProveedor
+ TDataAbstractService +
+ + + +
srvAlmacenes
+ TDARemoteService +
+ + + + +
srvArticulos
+ TDARemoteService +
+ + + + + + + +
RptEtiquetasContacto
+ TDataModule +
+ +
RptFichasEmpleado
+ TDataModule +
+ +
srvContactos
+ TDARemoteService +
+ + + +
srvFabricantes
+ TDataAbstractService +
+ + + + +
RptFacturasCliente
+ TDataModule +
+ +
RptWordFacturaCliente
+ TDataModule +
+ +
srvFacturasCliente
+ TDataAbstractService +
+ + + + +
RptFacturasProveedor
+ TDataModule +
+ +
srvFacturasProveedor
+ TDataAbstractService +
+ + + +
srvFamilias
+ TDataAbstractService +
+ + + +
srvFormasPago
+ TDataAbstractService +
+ +
srvGestorDocumentos
+ TDataAbstractService +
+ +
srvGestorInformes
+ TDataAbstractService +
+ + + +
srvHistoricoMovimientos
+ TDataAbstractService +
+ + + +
srvInventario
+ TDataAbstractService +
+ + + + +
srvObras
+ TDataAbstractService +
+ + + + +
RptPedidosProveedor
+ TDataModule +
+ +
RptWordPedidoProveedor
+ TDataModule +
+ +
srvPedidosProveedor
+ TDataAbstractService +
+ + + + +
RptPresupuestosCliente
+ TDataModule +
+ +
RptWordCertificadoTrabajo
+ TDataModule +
+ +
RptWordPresupuestoCliente
+ TDataModule +
+ +
srvPresupuestosCliente
+ TDataAbstractService +
+ + + +
RptRecibosCliente
+ TDataModule +
+ +
srvRecibosCliente
+ TDataAbstractService +
+ + + +
RptRecibosProveedor
+ TDataModule +
+ +
srvRecibosProveedor
+ TDataAbstractService +
+ + + +
srvReferencias
+ TDataAbstractService +
+ + + + +
srvRemesasCliente
+ TDataAbstractService +
+ + + + +
srvRemesasProveedor
+ TDataAbstractService +
+ + + +
srvTiposIVA
+ TDataAbstractService +
+ + + +
srvUnidadesMedida
+ TDataAbstractService +
+ + + +
srvConfiguracion
+ TDataAbstractService +
+ +
frConexionBD
+ TFrame +
+ +
frConfGeneral
+ TFrame +
+ +
fConfiguracion
+ TForm +
+ +
FrameConfiguracion
+ TFrame +
+ +
srvLogin
+ TDARemoteService +
+ +
fAcercaDe
+
+ +
dmServer
+ TDataModule +
+ +
fServerForm
+
+ + + + + + + + + +