diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql index 6ead80f0..b1933211 100644 --- a/Database/scripts/factuges.sql +++ b/Database/scripts/factuges.sql @@ -1394,6 +1394,7 @@ CREATE VIEW V_ALBARANES_PROVEEDOR( REFERENCIA_PROVEEDOR, TIPO, ID_ALMACEN, + TIPO_ALMACEN, NOMBRE_ALMACEN, ID_PEDIDO, REF_PED_PROVEEDOR, @@ -1432,6 +1433,7 @@ SELECT ALBARANES_PROVEEDOR.REFERENCIA_PROVEEDOR, ALBARANES_PROVEEDOR.TIPO, ALBARANES_PROVEEDOR.ID_ALMACEN, + ALMACENES.TIPO_ALMACEN, ALMACENES.NOMBRE AS NOMBRE_ALMACEN, ALBARANES_PROVEEDOR.ID_PEDIDO, PEDIDOS_PROVEEDOR.REFERENCIA AS REF_PED_PROVEEDOR, diff --git a/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj b/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj index 4e41c749..3aa4a7db 100644 --- a/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj +++ b/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj @@ -11,7 +11,9 @@ + + @@ -141,14 +143,32 @@ + + + + + + + + + + + + + + + + + + - + - + - + \ No newline at end of file diff --git a/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm index 128e1896..ef8fef8f 100644 --- a/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm +++ b/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm @@ -84,6 +84,12 @@ inherited DataModuleAlbaranesProveedor: TDataModuleAlbaranesProveedor DataType = datInteger DictionaryEntry = 'AlbaranesProveedor_ID_ALMACEN' end + item + Name = 'TIPO_ALMACEN' + DataType = datString + Size = 10 + ServerAutoRefresh = True + end item Name = 'NOMBRE_ALMACEN' DataType = datString diff --git a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas index 6ed42258..ca1a6190 100644 --- a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas +++ b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas @@ -3,14 +3,14 @@ unit schAlbaranesProveedorClient_Intf; interface uses - Classes, DB, schBase_Intf, SysUtils, uROClasses, uDADataTable, FmtBCD, uROXMLIntf; + Classes, DB, SysUtils, uROClasses, uDADataTable, FmtBCD, uROXMLIntf; 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 = '{1FB6A9A8-C798-46A8-9224-D616CD25C983}'; - RID_AlbaranesProveedor_Detalles = '{88D37566-EF0B-4C02-8C06-0A90970BE427}'; + RID_AlbaranesProveedor = '{3A5B87A4-05C4-4A7D-BD0E-091B8622129E}'; + RID_AlbaranesProveedor_Detalles = '{BDCD22AF-3E75-41A4-B687-2877C9E4AA34}'; { Data table names } nme_AlbaranesProveedor = 'AlbaranesProveedor'; @@ -26,6 +26,7 @@ const fld_AlbaranesProveedorREFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR'; fld_AlbaranesProveedorTIPO = 'TIPO'; fld_AlbaranesProveedorID_ALMACEN = 'ID_ALMACEN'; + fld_AlbaranesProveedorTIPO_ALMACEN = 'TIPO_ALMACEN'; fld_AlbaranesProveedorNOMBRE_ALMACEN = 'NOMBRE_ALMACEN'; fld_AlbaranesProveedorID_PEDIDO = 'ID_PEDIDO'; fld_AlbaranesProveedorREF_PED_PROVEEDOR = 'REF_PED_PROVEEDOR'; @@ -64,33 +65,34 @@ const idx_AlbaranesProveedorREFERENCIA_PROVEEDOR = 6; idx_AlbaranesProveedorTIPO = 7; idx_AlbaranesProveedorID_ALMACEN = 8; - idx_AlbaranesProveedorNOMBRE_ALMACEN = 9; - idx_AlbaranesProveedorID_PEDIDO = 10; - idx_AlbaranesProveedorREF_PED_PROVEEDOR = 11; - idx_AlbaranesProveedorID_FACTURA = 12; - idx_AlbaranesProveedorREF_FACTURA = 13; - idx_AlbaranesProveedorREF_FACTURA_PROV = 14; - idx_AlbaranesProveedorCALLE = 15; - idx_AlbaranesProveedorCODIGO_POSTAL = 16; - idx_AlbaranesProveedorPOBLACION = 17; - idx_AlbaranesProveedorPROVINCIA = 18; - idx_AlbaranesProveedorPERSONA_CONTACTO = 19; - idx_AlbaranesProveedorTELEFONO = 20; - idx_AlbaranesProveedorIMPORTE_NETO = 21; - idx_AlbaranesProveedorIMPORTE_PORTE = 22; - idx_AlbaranesProveedorDESCUENTO = 23; - idx_AlbaranesProveedorIMPORTE_DESCUENTO = 24; - idx_AlbaranesProveedorBASE_IMPONIBLE = 25; - idx_AlbaranesProveedorIVA = 26; - idx_AlbaranesProveedorIMPORTE_IVA = 27; - idx_AlbaranesProveedorIMPORTE_TOTAL = 28; - idx_AlbaranesProveedorOBSERVACIONES = 29; - idx_AlbaranesProveedorINCIDENCIAS = 30; - idx_AlbaranesProveedorINCIDENCIAS_ACTIVAS = 31; - idx_AlbaranesProveedorFECHA_ALTA = 32; - idx_AlbaranesProveedorFECHA_MODIFICACION = 33; - idx_AlbaranesProveedorUSUARIO = 34; - idx_AlbaranesProveedorID_FORMA_PAGO = 35; + idx_AlbaranesProveedorTIPO_ALMACEN = 9; + idx_AlbaranesProveedorNOMBRE_ALMACEN = 10; + idx_AlbaranesProveedorID_PEDIDO = 11; + idx_AlbaranesProveedorREF_PED_PROVEEDOR = 12; + idx_AlbaranesProveedorID_FACTURA = 13; + idx_AlbaranesProveedorREF_FACTURA = 14; + idx_AlbaranesProveedorREF_FACTURA_PROV = 15; + idx_AlbaranesProveedorCALLE = 16; + idx_AlbaranesProveedorCODIGO_POSTAL = 17; + idx_AlbaranesProveedorPOBLACION = 18; + idx_AlbaranesProveedorPROVINCIA = 19; + idx_AlbaranesProveedorPERSONA_CONTACTO = 20; + idx_AlbaranesProveedorTELEFONO = 21; + idx_AlbaranesProveedorIMPORTE_NETO = 22; + idx_AlbaranesProveedorIMPORTE_PORTE = 23; + idx_AlbaranesProveedorDESCUENTO = 24; + idx_AlbaranesProveedorIMPORTE_DESCUENTO = 25; + idx_AlbaranesProveedorBASE_IMPONIBLE = 26; + idx_AlbaranesProveedorIVA = 27; + idx_AlbaranesProveedorIMPORTE_IVA = 28; + idx_AlbaranesProveedorIMPORTE_TOTAL = 29; + idx_AlbaranesProveedorOBSERVACIONES = 30; + idx_AlbaranesProveedorINCIDENCIAS = 31; + idx_AlbaranesProveedorINCIDENCIAS_ACTIVAS = 32; + idx_AlbaranesProveedorFECHA_ALTA = 33; + idx_AlbaranesProveedorFECHA_MODIFICACION = 34; + idx_AlbaranesProveedorUSUARIO = 35; + idx_AlbaranesProveedorID_FORMA_PAGO = 36; { AlbaranesProveedor_Detalles fields } fld_AlbaranesProveedor_DetallesID = 'ID'; @@ -131,7 +133,7 @@ const type { IAlbaranesProveedor } IAlbaranesProveedor = interface(IDAStronglyTypedDataTable) - ['{141F98AE-9887-4D24-9EA0-F828297F85CD}'] + ['{12014A01-A016-4D80-934F-3E446BD3931A}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -169,6 +171,10 @@ type procedure SetID_ALMACENValue(const aValue: Integer); function GetID_ALMACENIsNull: Boolean; procedure SetID_ALMACENIsNull(const aValue: Boolean); + function GetTIPO_ALMACENValue: String; + procedure SetTIPO_ALMACENValue(const aValue: String); + function GetTIPO_ALMACENIsNull: Boolean; + procedure SetTIPO_ALMACENIsNull(const aValue: Boolean); function GetNOMBRE_ALMACENValue: String; procedure SetNOMBRE_ALMACENValue(const aValue: String); function GetNOMBRE_ALMACENIsNull: Boolean; @@ -296,6 +302,8 @@ type property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull; property ID_ALMACEN: Integer read GetID_ALMACENValue write SetID_ALMACENValue; property ID_ALMACENIsNull: Boolean read GetID_ALMACENIsNull write SetID_ALMACENIsNull; + property TIPO_ALMACEN: String read GetTIPO_ALMACENValue write SetTIPO_ALMACENValue; + property TIPO_ALMACENIsNull: Boolean read GetTIPO_ALMACENIsNull write SetTIPO_ALMACENIsNull; property NOMBRE_ALMACEN: String read GetNOMBRE_ALMACENValue write SetNOMBRE_ALMACENValue; property NOMBRE_ALMACENIsNull: Boolean read GetNOMBRE_ALMACENIsNull write SetNOMBRE_ALMACENIsNull; property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue; @@ -353,7 +361,7 @@ type end; { TAlbaranesProveedorDataTableRules } - TAlbaranesProveedorDataTableRules = class(TIntfObjectDADataTableRules, IAlbaranesProveedor) + TAlbaranesProveedorDataTableRules = class(TDADataTableRules, IAlbaranesProveedor) private f_OBSERVACIONES: IROStrings; f_INCIDENCIAS: IROStrings; @@ -397,6 +405,10 @@ type procedure SetID_ALMACENValue(const aValue: Integer); virtual; function GetID_ALMACENIsNull: Boolean; virtual; procedure SetID_ALMACENIsNull(const aValue: Boolean); virtual; + function GetTIPO_ALMACENValue: String; virtual; + procedure SetTIPO_ALMACENValue(const aValue: String); virtual; + function GetTIPO_ALMACENIsNull: Boolean; virtual; + procedure SetTIPO_ALMACENIsNull(const aValue: Boolean); virtual; function GetNOMBRE_ALMACENValue: String; virtual; procedure SetNOMBRE_ALMACENValue(const aValue: String); virtual; function GetNOMBRE_ALMACENIsNull: Boolean; virtual; @@ -523,6 +535,8 @@ type property TIPOIsNull: Boolean read GetTIPOIsNull write SetTIPOIsNull; property ID_ALMACEN: Integer read GetID_ALMACENValue write SetID_ALMACENValue; property ID_ALMACENIsNull: Boolean read GetID_ALMACENIsNull write SetID_ALMACENIsNull; + property TIPO_ALMACEN: String read GetTIPO_ALMACENValue write SetTIPO_ALMACENValue; + property TIPO_ALMACENIsNull: Boolean read GetTIPO_ALMACENIsNull write SetTIPO_ALMACENIsNull; property NOMBRE_ALMACEN: String read GetNOMBRE_ALMACENValue write SetNOMBRE_ALMACENValue; property NOMBRE_ALMACENIsNull: Boolean read GetNOMBRE_ALMACENIsNull write SetNOMBRE_ALMACENIsNull; property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue; @@ -586,7 +600,7 @@ type { IAlbaranesProveedor_Detalles } IAlbaranesProveedor_Detalles = interface(IDAStronglyTypedDataTable) - ['{E15A8B06-496C-4A7B-AFF5-EA9F396B6C7A}'] + ['{5D73C93F-C093-4F2A-803D-44FECA360FD4}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -690,7 +704,7 @@ type end; { TAlbaranesProveedor_DetallesDataTableRules } - TAlbaranesProveedor_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IAlbaranesProveedor_Detalles) + TAlbaranesProveedor_DetallesDataTableRules = class(TDADataTableRules, IAlbaranesProveedor_Detalles) private protected { Property getters and setters } @@ -1023,6 +1037,27 @@ begin DataTable.Fields[idx_AlbaranesProveedorID_ALMACEN].AsVariant := Null; end; +function TAlbaranesProveedorDataTableRules.GetTIPO_ALMACENValue: String; +begin + result := DataTable.Fields[idx_AlbaranesProveedorTIPO_ALMACEN].AsString; +end; + +procedure TAlbaranesProveedorDataTableRules.SetTIPO_ALMACENValue(const aValue: String); +begin + DataTable.Fields[idx_AlbaranesProveedorTIPO_ALMACEN].AsString := aValue; +end; + +function TAlbaranesProveedorDataTableRules.GetTIPO_ALMACENIsNull: boolean; +begin + result := DataTable.Fields[idx_AlbaranesProveedorTIPO_ALMACEN].IsNull; +end; + +procedure TAlbaranesProveedorDataTableRules.SetTIPO_ALMACENIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_AlbaranesProveedorTIPO_ALMACEN].AsVariant := Null; +end; + function TAlbaranesProveedorDataTableRules.GetNOMBRE_ALMACENValue: String; begin result := DataTable.Fields[idx_AlbaranesProveedorNOMBRE_ALMACEN].AsString; diff --git a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas index 15f86beb..6f8d5af4 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 = '{1BCA1CCB-00EC-4FCE-8444-9D6C87B77754}'; - RID_AlbaranesProveedor_DetallesDelta = '{FF6EDFFA-2EFB-4B00-B095-7CAB514D7BD1}'; + RID_AlbaranesProveedorDelta = '{8C34C6D7-BC91-4324-A5D5-67927710645B}'; + RID_AlbaranesProveedor_DetallesDelta = '{6FEB7C72-73D0-40DE-B837-AB43E2791374}'; type { IAlbaranesProveedorDelta } IAlbaranesProveedorDelta = interface(IAlbaranesProveedor) - ['{1BCA1CCB-00EC-4FCE-8444-9D6C87B77754}'] + ['{8C34C6D7-BC91-4324-A5D5-67927710645B}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -26,6 +26,7 @@ type function GetOldREFERENCIA_PROVEEDORValue : String; function GetOldTIPOValue : String; function GetOldID_ALMACENValue : Integer; + function GetOldTIPO_ALMACENValue : String; function GetOldNOMBRE_ALMACENValue : String; function GetOldID_PEDIDOValue : Integer; function GetOldREF_PED_PROVEEDORValue : String; @@ -64,6 +65,7 @@ type property OldREFERENCIA_PROVEEDOR : String read GetOldREFERENCIA_PROVEEDORValue; property OldTIPO : String read GetOldTIPOValue; property OldID_ALMACEN : Integer read GetOldID_ALMACENValue; + property OldTIPO_ALMACEN : String read GetOldTIPO_ALMACENValue; property OldNOMBRE_ALMACEN : String read GetOldNOMBRE_ALMACENValue; property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue; property OldREF_PED_PROVEEDOR : String read GetOldREF_PED_PROVEEDORValue; @@ -156,6 +158,12 @@ type function GetOldID_ALMACENIsNull: Boolean; virtual; procedure SetID_ALMACENValue(const aValue: Integer); virtual; procedure SetID_ALMACENIsNull(const aValue: Boolean); virtual; + function GetTIPO_ALMACENValue: String; virtual; + function GetTIPO_ALMACENIsNull: Boolean; virtual; + function GetOldTIPO_ALMACENValue: String; virtual; + function GetOldTIPO_ALMACENIsNull: Boolean; virtual; + procedure SetTIPO_ALMACENValue(const aValue: String); virtual; + procedure SetTIPO_ALMACENIsNull(const aValue: Boolean); virtual; function GetNOMBRE_ALMACENValue: String; virtual; function GetNOMBRE_ALMACENIsNull: Boolean; virtual; function GetOldNOMBRE_ALMACENValue: String; virtual; @@ -354,6 +362,10 @@ type property ID_ALMACENIsNull : Boolean read GetID_ALMACENIsNull write SetID_ALMACENIsNull; property OldID_ALMACEN : Integer read GetOldID_ALMACENValue; property OldID_ALMACENIsNull : Boolean read GetOldID_ALMACENIsNull; + property TIPO_ALMACEN : String read GetTIPO_ALMACENValue write SetTIPO_ALMACENValue; + property TIPO_ALMACENIsNull : Boolean read GetTIPO_ALMACENIsNull write SetTIPO_ALMACENIsNull; + property OldTIPO_ALMACEN : String read GetOldTIPO_ALMACENValue; + property OldTIPO_ALMACENIsNull : Boolean read GetOldTIPO_ALMACENIsNull; property NOMBRE_ALMACEN : String read GetNOMBRE_ALMACENValue write SetNOMBRE_ALMACENValue; property NOMBRE_ALMACENIsNull : Boolean read GetNOMBRE_ALMACENIsNull write SetNOMBRE_ALMACENIsNull; property OldNOMBRE_ALMACEN : String read GetOldNOMBRE_ALMACENValue; @@ -471,7 +483,7 @@ type { IAlbaranesProveedor_DetallesDelta } IAlbaranesProveedor_DetallesDelta = interface(IAlbaranesProveedor_Detalles) - ['{FF6EDFFA-2EFB-4B00-B095-7CAB514D7BD1}'] + ['{6FEB7C72-73D0-40DE-B837-AB43E2791374}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_ALBARANValue : Integer; @@ -998,6 +1010,37 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_ALMACEN] := Null; end; +function TAlbaranesProveedorBusinessProcessorRules.GetTIPO_ALMACENValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorTIPO_ALMACEN]; +end; + +function TAlbaranesProveedorBusinessProcessorRules.GetTIPO_ALMACENIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorTIPO_ALMACEN]); +end; + +function TAlbaranesProveedorBusinessProcessorRules.GetOldTIPO_ALMACENValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorTIPO_ALMACEN]; +end; + +function TAlbaranesProveedorBusinessProcessorRules.GetOldTIPO_ALMACENIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorTIPO_ALMACEN]); +end; + +procedure TAlbaranesProveedorBusinessProcessorRules.SetTIPO_ALMACENValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorTIPO_ALMACEN] := aValue; +end; + +procedure TAlbaranesProveedorBusinessProcessorRules.SetTIPO_ALMACENIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorTIPO_ALMACEN] := Null; +end; + function TAlbaranesProveedorBusinessProcessorRules.GetNOMBRE_ALMACENValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorNOMBRE_ALMACEN]; diff --git a/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm b/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm index d425d28c..8d77215d 100644 --- a/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm +++ b/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm @@ -165,6 +165,10 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor item DatasetField = 'ID_FORMA_PAGO' TableField = 'ID_FORMA_PAGO' + end + item + DatasetField = 'TIPO_ALMACEN' + TableField = 'TIPO_ALMACEN' end> end> Name = 'AlbaranesProveedor' @@ -222,6 +226,12 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor DataType = datInteger DictionaryEntry = 'AlbaranesProveedor_ID_ALMACEN' end + item + Name = 'TIPO_ALMACEN' + DataType = datString + Size = 10 + ServerAutoRefresh = True + end item Name = 'NOMBRE_ALMACEN' DataType = datString diff --git a/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.dfm b/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.dfm index bb6e5e8c..ec59821d 100644 --- a/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.dfm +++ b/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.dfm @@ -1,25 +1,25 @@ inherited frViewDireccionEntregaAlbaranProv: TfrViewDireccionEntregaAlbaranProv - Width = 569 - Height = 225 - ExplicitWidth = 569 - ExplicitHeight = 225 + Width = 785 + Height = 515 + ExplicitWidth = 785 + ExplicitHeight = 515 object dxLayoutControl1: TdxLayoutControl Left = 0 Top = 0 - Width = 569 - Height = 225 + Width = 785 + Height = 515 Align = alClient ParentBackground = True TabOrder = 0 TabStop = False AutoContentSizes = [acsWidth, acsHeight] DesignSize = ( - 569 - 225) + 785 + 515) object rdxDestino1: TRadioButton Left = 10 Top = 10 - Width = 255 + Width = 765 Height = 17 Action = actLista Caption = 'Recibir el albar'#225'n en el almac'#233'n:' @@ -28,12 +28,12 @@ inherited frViewDireccionEntregaAlbaranProv: TfrViewDireccionEntregaAlbaranProv end object rdxDestino2: TRadioButton Left = 10 - Top = 60 - Width = 287 + Top = 110 + Width = 765 Height = 17 Action = actOtro Caption = 'Recibir el albar'#225'n en esta otra direcci'#243'n:' - TabOrder = 2 + TabOrder = 4 end object cbLista: TcxDBLookupComboBox Left = 25 @@ -58,37 +58,73 @@ inherited frViewDireccionEntregaAlbaranProv: TfrViewDireccionEntregaAlbaranProv Style.BorderStyle = ebs3D Style.HotTrack = False Style.LookAndFeel.NativeStyle = True - Style.LookAndFeel.SkinName = '' Style.ButtonStyle = bts3D Style.PopupBorderStyle = epbsFrame3D StyleDisabled.LookAndFeel.NativeStyle = True - StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.NativeStyle = True - StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.NativeStyle = True - StyleHot.LookAndFeel.SkinName = '' TabOrder = 1 - Width = 425 + Width = 750 end object bModificar: TBitBtn - Left = 431 - Top = 190 + Left = 647 + Top = 480 Width = 128 Height = 25 Caption = 'Modificar la direcci'#243'n...' - TabOrder = 4 + TabOrder = 6 OnClick = bModificarClick end object txtDireccion: TStaticText Left = 10 - Top = 83 - Width = 549 - Height = 110 + Top = 133 + Width = 765 + Height = 341 AutoSize = False BevelKind = bkFlat - TabOrder = 3 + TabOrder = 5 OnDblClick = txtDireccionDblClick end + object cbListaObras: TcxDBLookupComboBox + Left = 10 + Top = 83 + Anchors = [akLeft, akTop, akRight] + DataBinding.DataField = 'ID_ALMACEN' + DataBinding.DataSource = dsAlbaran + Properties.DropDownListStyle = lsFixedList + Properties.ImmediatePost = True + Properties.KeyFieldNames = 'ID' + Properties.ListColumns = < + item + FieldName = 'NOMBRE' + end> + Properties.ListOptions.AnsiSort = True + Properties.ListOptions.GridLines = glNone + Properties.ListOptions.ShowHeader = False + Properties.ListOptions.SyncMode = True + Properties.ListSource = dsObras + Properties.PostPopupValueOnTab = True + Properties.OnValidate = cbListaObrasPropertiesValidate + Style.BorderColor = clWindowFrame + Style.BorderStyle = ebs3D + Style.HotTrack = False + Style.LookAndFeel.NativeStyle = True + Style.ButtonStyle = bts3D + Style.PopupBorderStyle = epbsFrame3D + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 3 + Width = 765 + end + object RadioButton1: TRadioButton + Left = 10 + Top = 60 + Width = 765 + Height = 17 + Action = actListaObras + TabOrder = 2 + end object dxLayoutGroup1: TdxLayoutGroup ShowCaption = False Hidden = True @@ -107,6 +143,16 @@ inherited frViewDireccionEntregaAlbaranProv: TfrViewDireccionEntregaAlbaranProv Control = cbLista ControlOptions.ShowBorder = False end + object dxLayoutControl1Item6: TdxLayoutItem + ShowCaption = False + Control = RadioButton1 + ControlOptions.AutoColor = True + ControlOptions.ShowBorder = False + end + object dxLayoutControl1Item5: TdxLayoutItem + Control = cbListaObras + ControlOptions.ShowBorder = False + end object dxLayoutControl1Item2: TdxLayoutItem Caption = 'New Item' ShowCaption = False @@ -146,6 +192,11 @@ inherited frViewDireccionEntregaAlbaranProv: TfrViewDireccionEntregaAlbaranProv GroupIndex = 1 OnExecute = actOtroExecute end + object actListaObras: TAction + Caption = 'Recibir el albar'#225'n en la obra:' + GroupIndex = 1 + OnExecute = actListaObrasExecute + end end object dsAlbaran: TDADataSource Left = 8 @@ -155,4 +206,8 @@ inherited frViewDireccionEntregaAlbaranProv: TfrViewDireccionEntregaAlbaranProv Left = 8 Top = 48 end + object dsObras: TDADataSource + Left = 8 + Top = 80 + end end diff --git a/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.pas b/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.pas index 311746f5..7d75d1ab 100644 --- a/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.pas +++ b/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.pas @@ -14,7 +14,7 @@ uses dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinSilver, dxSkinStardust, dxSkinsDefaultPainters, dxSkinValentine, dxSkinXmas2008Blue, - dxSkinsdxLCPainter; + dxSkinsdxLCPainter, uBizObras, uObrasController; type IViewDireccionEntregaAlbaranProv = interface(IViewBase) @@ -42,19 +42,31 @@ type bModificar: TBitBtn; dxLayoutControl1Item4: TdxLayoutItem; txtDireccion: TStaticText; + dxLayoutControl1Item5: TdxLayoutItem; + cbListaObras: TcxDBLookupComboBox; + dxLayoutControl1Item6: TdxLayoutItem; + RadioButton1: TRadioButton; + dsObras: TDADataSource; + actListaObras: TAction; procedure actListaExecute(Sender: TObject); procedure actOtroExecute(Sender: TObject); procedure cbListaPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); procedure bModificarClick(Sender: TObject); procedure txtDireccionDblClick(Sender: TObject); + procedure cbListaObrasPropertiesValidate(Sender: TObject; + var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); + procedure actListaObrasExecute(Sender: TObject); protected FAlmacenesController : IAlmacenesController; FAlmacenes: IBizAlmacen; + FObrasController : IObrasController; + FObras: IBizObra; FAlbaran : IBizAlbaranProveedor; FController : IAlbaranesProveedorController; function GetAlbaranProveedor: IBizAlbaranProveedor; procedure SetAlbaranProveedor(const Value: IBizAlbaranProveedor); procedure CambioDireccionAlmacen; + procedure CambioDireccionObra; procedure RefrescarDireccion; procedure SetReadOnly(Value: Boolean); override; @@ -68,7 +80,7 @@ implementation {$R *.dfm} uses - uEditorRegistryUtils, uCustomView; + uEditorRegistryUtils, uCustomView, uInventarioController; procedure TfrViewDireccionEntregaAlbaranProv.actListaExecute(Sender: TObject); begin @@ -76,6 +88,12 @@ begin RefrescarDireccion; end; +procedure TfrViewDireccionEntregaAlbaranProv.actListaObrasExecute(Sender: TObject); +begin + actListaObras.Checked := True; + RefrescarDireccion; +end; + procedure TfrViewDireccionEntregaAlbaranProv.actOtroExecute(Sender: TObject); begin actOtro.Checked := True; @@ -117,6 +135,29 @@ begin end; end; +procedure TfrViewDireccionEntregaAlbaranProv.CambioDireccionObra; +begin + if Assigned(FAlbaran) and Assigned(FObras) then + begin + FAlbaran.Edit; + FAlbaran.CALLE := FObras.CALLE; + FAlbaran.POBLACION := FObras.POBLACION; + FAlbaran.POBLACION := FObras.POBLACION; + FAlbaran.PROVINCIA := FObras.PROVINCIA; + FAlbaran.CODIGO_POSTAL := FObras.CODIGO_POSTAL; + RefrescarDireccion; + end; +end; + +procedure TfrViewDireccionEntregaAlbaranProv.cbListaObrasPropertiesValidate( + Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; + var Error: Boolean); +begin + inherited; + if Assigned(FAlbaran) and Assigned(FObras) and (FAlbaran.ID_ALMACEN <> FObras.ID) then + CambioDireccionObra; +end; + procedure TfrViewDireccionEntregaAlbaranProv.cbListaPropertiesValidate( Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); @@ -134,13 +175,24 @@ begin FAlmacenes := FAlmacenesController.BuscarTodos; FAlmacenes.DataTable.Active := True; dsAlmacenes.DataTable := FAlmacenes.DataTable; + + FObrasController := TObrasController.Create; + FObras := FObrasController.BuscarTodos; + FObras.DataTable.Active := True; + dsObras.DataTable := FObras.DataTable; end; destructor TfrViewDireccionEntregaAlbaranProv.Destroy; begin + cbListaObras.Properties.OnValidate := Nil; cbLista.Properties.OnValidate := Nil; + FAlmacenesController := Nil; FAlmacenes := Nil; + + FObrasController := Nil; + FObras := Nil; + FController := NIL; inherited; end; @@ -159,17 +211,33 @@ begin begin cbLista.Enabled := False; cbLista.Text := ''; + cbListaObras.Enabled := False; + cbListaObras.Text := ''; + txtDireccion.Enabled := True; txtDireccion.Caption := FAlbaran.CALLE; txtDireccion.Caption := txtDireccion.Caption + #13#10 + FAlbaran.CODIGO_POSTAL + ' ' + FAlbaran.POBLACION; txtDireccion.Caption := txtDireccion.Caption + #13#10 + FAlbaran.PROVINCIA; bModificar.Enabled := True; end - else begin + else if (actLista.Checked) then + begin txtDireccion.Enabled := False; - bModificar.Enabled := False; + cbListaObras.Enabled := False; + cbListaObras.Text := ''; + cbLista.Enabled := True; cbLista.DroppedDown := True; + bModificar.Enabled := False; + end + else begin + txtDireccion.Enabled := False; + cbLista.Enabled := False; + cbLista.Text := ''; + + cbListaObras.Enabled := True; + cbListaObras.DroppedDown := True; + bModificar.Enabled := False; end; end; end; @@ -177,6 +245,7 @@ end; procedure TfrViewDireccionEntregaAlbaranProv.SetAlbaranProveedor(const Value: IBizAlbaranProveedor); begin cbLista.Properties.OnValidate := NIL; + cbListaObras.Properties.OnValidate := NIL; dsAlbaran.DataTable := nil; FAlbaran := Value; @@ -184,6 +253,7 @@ begin begin dsAlbaran.DataTable := FAlbaran.DataTable; cbLista.Properties.OnValidate := cbListaPropertiesValidate; + cbListaObras.Properties.OnValidate := cbListaPropertiesValidate; { Para poder inicializar con el almacén por defecto en el caso de un almacén nuevo, antes hay que comprobar que la dirección alternativa @@ -197,10 +267,15 @@ begin (Length(FAlbaran.POBLACION) = 0) and (Length(FAlbaran.PROVINCIA) = 0)) then CambioDireccionAlmacen - else - if (FAlbaran.ID_ALMACEN < 1) then - actOtro.Checked := True; - + else begin + if (FAlbaran.ID_ALMACEN > 0) then + if FAlbaran.TIPO_ALMACEN = CTE_INV_ALMACEN then + actLista.Checked := True + else + actListaObras.Checked := True + else + actOtro.Checked := True; + end; RefrescarDireccion; end; end; diff --git a/Source/Modulos/Pedidos a proveedor/Views/uViewDireccionEntregaPedidoProv.pas b/Source/Modulos/Pedidos a proveedor/Views/uViewDireccionEntregaPedidoProv.pas index 371d9d0f..81c5231e 100644 --- a/Source/Modulos/Pedidos a proveedor/Views/uViewDireccionEntregaPedidoProv.pas +++ b/Source/Modulos/Pedidos a proveedor/Views/uViewDireccionEntregaPedidoProv.pas @@ -157,7 +157,7 @@ procedure TfrViewDireccionEntregaPedidoProv.cbListaObrasPropertiesValidate( Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); begin - if Assigned(FPedido) and Assigned(FObras) and (FPedido.ID_OBRA <> FObras.ID) then + if Assigned(FPedido) and Assigned(FObras) and (FPedido.ID_ALMACEN <> FObras.ID) then CambioDireccionObra; end; diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr index 04fe9998..e3f0b9db 100644 --- a/Source/Servidor/FactuGES_Server.dpr +++ b/Source/Servidor/FactuGES_Server.dpr @@ -122,12 +122,12 @@ uses schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas', schFacturasProveedorClient_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas', schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas', - schAlbaranesProveedorClient_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas', - schAlbaranesProveedorServer_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas', schInventarioClient_Intf in '..\Modulos\Inventario\Model\schInventarioClient_Intf.pas', schInventarioServer_Intf in '..\Modulos\Inventario\Model\schInventarioServer_Intf.pas', schPedidosProveedorClient_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas', - schPedidosProveedorServer_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas'; + schPedidosProveedorServer_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas', + schAlbaranesProveedorClient_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas', + schAlbaranesProveedorServer_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas'; {$R *.res} {$R ..\Servicios\RODLFile.res}