diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql index 442b6be..e3f6773 100644 --- a/Database/scripts/factuges.sql +++ b/Database/scripts/factuges.sql @@ -356,6 +356,7 @@ CREATE TABLE ALBARANES_PROVEEDOR ( ID TIPO_ID NOT NULL, ID_EMPRESA TIPO_ID, ID_PROVEEDOR TIPO_ID, + ID_CLIENTE_FINAL TIPO_ID, ID_DIRECCION TIPO_ID, PERSONA_CONTACTO_PROV VARCHAR(255), FECHA_ALBARAN DATE, @@ -1494,8 +1495,10 @@ FROM CREATE VIEW V_ALBARANES_PROVEEDOR( ID, ID_EMPRESA, - ID_PROVEEDOR, + ID_PROVEEDOR, + ID_CLIENTE_FINAL, NOMBRE, + NOMBRE_CLIENTE_FINAL, ID_DIRECCION, PERSONA_CONTACTO_PROV, FECHA_ALBARAN, @@ -1542,7 +1545,9 @@ SELECT ALBARANES_PROVEEDOR.ID, ALBARANES_PROVEEDOR.ID_EMPRESA, ALBARANES_PROVEEDOR.ID_PROVEEDOR, - CONTACTOS.NOMBRE, + ALBARANES_PROVEEDOR.ID_CLIENTE_FINAL, + PROVEEDORES.NOMBRE, + CLIENTES.NOMBRE as NOMBRE_CLI_FINAL, ALBARANES_PROVEEDOR.ID_DIRECCION, ALBARANES_PROVEEDOR.PERSONA_CONTACTO_PROV, ALBARANES_PROVEEDOR.FECHA_ALBARAN, @@ -1586,7 +1591,8 @@ SELECT REGISTRO_CORREOS.NUM_CORREOS FROM ALBARANES_PROVEEDOR - INNER JOIN CONTACTOS ON (CONTACTOS.ID = ALBARANES_PROVEEDOR.ID_PROVEEDOR) + INNER JOIN CONTACTOS PROVEEDORES ON (PROVEEDORES.ID = ALBARANES_PROVEEDOR.ID_PROVEEDOR) + INNER JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = ALBARANES_PROVEEDOR.ID_CLIENTE_FINAL) LEFT OUTER JOIN ALBARANES_PROVEEDOR ALB_DEV ON (ALB_DEV.ID = ALBARANES_PROVEEDOR.ID_ALBARAN_DEV) LEFT OUTER JOIN FACTURAS_PROVEEDOR FAC_PROV_ALB_DEV ON (FAC_PROV_ALB_DEV.ID = ALB_DEV.ID_FACTURA) LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = ALBARANES_PROVEEDOR.ID_FACTURA) @@ -1597,7 +1603,7 @@ FROM ON ((IMPRESIONES.ID_TABLA = ALBARANES_PROVEEDOR.ID) AND (IMPRESIONES.TABLA = 'ALBARANESPROVEEDOR')) LEFT JOIN REGISTRO_CORREOS ON ((REGISTRO_CORREOS.ID_TABLA = ALBARANES_PROVEEDOR.ID) AND (REGISTRO_CORREOS.TABLA = 'ALBARANESPROVEEDOR')) -; +; diff --git a/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj b/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj index 0816a9b..203cc0c 100644 --- a/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj +++ b/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj @@ -12,6 +12,7 @@ + @@ -201,14 +202,23 @@ + + + + + + + + + - + - + - + \ 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 df9adb7..05c9798 100644 --- a/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas +++ b/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas @@ -5,7 +5,7 @@ interface uses Classes, SysUtils, uDADataTable, uEditorDBItem, - uControllerBase, uIDataModuleAlbaranesProveedor, uProveedoresController, + uControllerBase, uIDataModuleAlbaranesProveedor, uProveedoresController, uClientesController, uDetallesAlbaranProveedorController, uBizAlbaranesProveedor, uBizDireccionesContacto, uBizInventario; @@ -54,6 +54,7 @@ type procedure CopiarDireccionEnvio (const ADireccionEnvio: IBizDireccionesContacto; AAlbaran: IBizAlbaranProveedor); procedure QuitarDireccionEnvio(AAlbaran: IBizAlbaranProveedor); procedure RecuperarProveedor(AAlbaran: IBizAlbaranProveedor); + procedure RecuperarClienteFinal(AAlbaran: IBizAlbaranProveedor); procedure RecalcularImportes(AAlbaran: IBizAlbaranProveedor); function EsModificable(AAlbaran: IBizAlbaranProveedor): Boolean; @@ -84,11 +85,13 @@ type protected FDataModule : IDataModuleAlbaranesProveedor; FProveedorController : IProveedoresController; + FClienteController : IClientesController; FDetallesController : IDetallesAlbaranProveedorController; function GetProveedorController: IProveedoresController; procedure SetProveedorController(const Value: IProveedoresController); procedure RecuperarProveedor(AAlbaran : IBizAlbaranProveedor); + procedure RecuperarClienteFinal(AAlbaran: IBizAlbaranProveedor); function GetDetallesController: IDetallesAlbaranProveedorController; procedure SetDetallesController(const Value: IDetallesAlbaranProveedorController); @@ -575,6 +578,7 @@ begin AsignarDataModule; FProveedorController := TProveedoresController.Create; + FClienteController := TClientesController.Create; FDetallesController := TDetallesAlbaranProveedorController.Create; FDetallesController.addObservador(Self); end; @@ -610,6 +614,7 @@ destructor TAlbaranesProveedorController.Destroy; begin FDataModule := Nil; FProveedorController := Nil; + FClienteController := Nil; FDetallesController := Nil; inherited; end; @@ -696,6 +701,11 @@ begin and (AAlbaran.ID_PROVEEDOR <> AAlbaran.Proveedor.ID) then AAlbaran.ID_PROVEEDOR := AAlbaran.Proveedor.ID; + if Assigned(AAlbaran.ClienteFinal) + and (AAlbaran.ID_CLIENTE_FINAL <> AAlbaran.ClienteFinal.ID) then + AAlbaran.ID_CLIENTE_FINAL := AAlbaran.ClienteFinal.ID; + + Result := True; finally AAlbaran.Post; @@ -956,6 +966,9 @@ begin RecuperarProveedor(AAlbaran); AAlbaran.Proveedor.DataTable.Active := True; + RecuperarClienteFinal(AAlbaran); + AAlbaran.ClienteFinal.DataTable.Active := True; + AFicheroTMP := DarFicheroPDFTemporal(EscapeIllegalChars(AAlbaran.REFERENCIA)); if not EsCadenaVacia(ADireccionEMail) then @@ -1095,9 +1108,16 @@ begin end; end; +procedure TAlbaranesProveedorController.RecuperarClienteFinal( + AAlbaran: IBizAlbaranProveedor); +begin + AAlbaran._ClienteFinal := (FClienteController.Buscar(AAlbaran.ID_CLIENTE_FINAL) as IBizCliente); +end; + procedure TAlbaranesProveedorController.RecuperarObjetos(AAlbaran: IBizAlbaranProveedor); begin RecuperarProveedor(AAlbaran); + RecuperarClienteFinal(AAlbaran); end; procedure TAlbaranesProveedorController.RecuperarProveedor(AAlbaran: IBizAlbaranProveedor); @@ -1366,6 +1386,7 @@ begin ShowHourglassCursor; try RecuperarProveedor(AAlbaran); + RecuperarClienteFinal(AAlbaran); EnviarAlbaranPorEMail(AAlbaran, False, AAlbaran.Proveedor.EMAIL_ADMINISTRACION); finally HideHourglassCursor; diff --git a/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm index 25a2bda..b19f7a3 100644 --- a/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm +++ b/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm @@ -45,6 +45,10 @@ inherited DataModuleAlbaranesProveedor: TDataModuleAlbaranesProveedor DataType = datInteger DictionaryEntry = 'AlbaranesProveedor_ID_PROVEEDOR' end + item + Name = 'ID_CLIENTE_FINAL' + DataType = datInteger + end item Name = 'NOMBRE' DataType = datString @@ -53,6 +57,11 @@ inherited DataModuleAlbaranesProveedor: TDataModuleAlbaranesProveedor ServerAutoRefresh = True DictionaryEntry = 'AlbaranesProveedor_NOMBRE' end + item + Name = 'NOMBRE_CLIENTE_FINAL' + DataType = datString + Size = 255 + end item Name = 'ID_DIRECCION' DataType = datInteger diff --git a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas index 9d36327..01c5cf5 100644 --- a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas +++ b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas @@ -3,15 +3,15 @@ unit schAlbaranesProveedorClient_Intf; interface uses - Classes, DB, schBase_Intf, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf; + Classes, DB, SysUtils, uROClasses, uDAInterfaces, 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_ListaAnosAlbaranes = '{98D7B136-B7B5-4752-A6A7-FA4DA78F9F91}'; - RID_AlbaranesProveedor = '{3D378181-80D9-4ACB-8CDD-405C735C9E64}'; - RID_AlbaranesProveedor_Detalles = '{21C597CD-B3DF-4B1F-9FD9-5C28713E211D}'; + RID_ListaAnosAlbaranes = '{D863F588-DD74-4F1F-A7D4-15C0B8B3AFF5}'; + RID_AlbaranesProveedor = '{A1E3DCE2-4616-4F91-A1CB-9283EB49201B}'; + RID_AlbaranesProveedor_Detalles = '{67E55271-D427-4912-A94C-02C2784E4346}'; { Data table names } nme_ListaAnosAlbaranes = 'ListaAnosAlbaranes'; @@ -28,7 +28,9 @@ const fld_AlbaranesProveedorID = 'ID'; fld_AlbaranesProveedorID_EMPRESA = 'ID_EMPRESA'; fld_AlbaranesProveedorID_PROVEEDOR = 'ID_PROVEEDOR'; + fld_AlbaranesProveedorID_CLIENTE_FINAL = 'ID_CLIENTE_FINAL'; fld_AlbaranesProveedorNOMBRE = 'NOMBRE'; + fld_AlbaranesProveedorNOMBRE_CLIENTE_FINAL = 'NOMBRE_CLIENTE_FINAL'; fld_AlbaranesProveedorID_DIRECCION = 'ID_DIRECCION'; fld_AlbaranesProveedorPERSONA_CONTACTO_PROV = 'PERSONA_CONTACTO_PROV'; fld_AlbaranesProveedorFECHA_ALBARAN = 'FECHA_ALBARAN'; @@ -75,48 +77,50 @@ const idx_AlbaranesProveedorID = 0; idx_AlbaranesProveedorID_EMPRESA = 1; idx_AlbaranesProveedorID_PROVEEDOR = 2; - idx_AlbaranesProveedorNOMBRE = 3; - idx_AlbaranesProveedorID_DIRECCION = 4; - idx_AlbaranesProveedorPERSONA_CONTACTO_PROV = 5; - idx_AlbaranesProveedorFECHA_ALBARAN = 6; - idx_AlbaranesProveedorREFERENCIA = 7; - idx_AlbaranesProveedorREFERENCIA_PROVEEDOR = 8; - idx_AlbaranesProveedorTIPO = 9; - idx_AlbaranesProveedorID_ALBARAN_DEV = 10; - idx_AlbaranesProveedorREFERENCIA_ALB_DEV = 11; - idx_AlbaranesProveedorID_FAC_ALB_DEV = 12; - idx_AlbaranesProveedorREFERENCIA_FAC_ALB_DEV = 13; - idx_AlbaranesProveedorID_ALMACEN = 14; - idx_AlbaranesProveedorTIPO_ALMACEN = 15; - idx_AlbaranesProveedorNOMBRE_ALMACEN = 16; - idx_AlbaranesProveedorID_PEDIDO = 17; - idx_AlbaranesProveedorREF_PED_PROVEEDOR = 18; - idx_AlbaranesProveedorID_FACTURA = 19; - idx_AlbaranesProveedorREF_FACTURA = 20; - idx_AlbaranesProveedorREF_FACTURA_PROV = 21; - idx_AlbaranesProveedorCALLE = 22; - idx_AlbaranesProveedorCODIGO_POSTAL = 23; - idx_AlbaranesProveedorPOBLACION = 24; - idx_AlbaranesProveedorPROVINCIA = 25; - idx_AlbaranesProveedorPERSONA_CONTACTO = 26; - idx_AlbaranesProveedorTELEFONO = 27; - idx_AlbaranesProveedorIMPORTE_NETO = 28; - idx_AlbaranesProveedorIMPORTE_PORTE = 29; - idx_AlbaranesProveedorDESCUENTO = 30; - idx_AlbaranesProveedorIMPORTE_DESCUENTO = 31; - idx_AlbaranesProveedorBASE_IMPONIBLE = 32; - idx_AlbaranesProveedorIVA = 33; - idx_AlbaranesProveedorIMPORTE_IVA = 34; - idx_AlbaranesProveedorIMPORTE_TOTAL = 35; - idx_AlbaranesProveedorOBSERVACIONES = 36; - idx_AlbaranesProveedorINCIDENCIAS = 37; - idx_AlbaranesProveedorINCIDENCIAS_ACTIVAS = 38; - idx_AlbaranesProveedorFECHA_ALTA = 39; - idx_AlbaranesProveedorFECHA_MODIFICACION = 40; - idx_AlbaranesProveedorUSUARIO = 41; - idx_AlbaranesProveedorID_FORMA_PAGO = 42; - idx_AlbaranesProveedorNUM_COPIAS = 43; - idx_AlbaranesProveedorNUM_CORREOS = 44; + idx_AlbaranesProveedorID_CLIENTE_FINAL = 3; + idx_AlbaranesProveedorNOMBRE = 4; + idx_AlbaranesProveedorNOMBRE_CLIENTE_FINAL = 5; + idx_AlbaranesProveedorID_DIRECCION = 6; + idx_AlbaranesProveedorPERSONA_CONTACTO_PROV = 7; + idx_AlbaranesProveedorFECHA_ALBARAN = 8; + idx_AlbaranesProveedorREFERENCIA = 9; + idx_AlbaranesProveedorREFERENCIA_PROVEEDOR = 10; + idx_AlbaranesProveedorTIPO = 11; + idx_AlbaranesProveedorID_ALBARAN_DEV = 12; + idx_AlbaranesProveedorREFERENCIA_ALB_DEV = 13; + idx_AlbaranesProveedorID_FAC_ALB_DEV = 14; + idx_AlbaranesProveedorREFERENCIA_FAC_ALB_DEV = 15; + idx_AlbaranesProveedorID_ALMACEN = 16; + idx_AlbaranesProveedorTIPO_ALMACEN = 17; + idx_AlbaranesProveedorNOMBRE_ALMACEN = 18; + idx_AlbaranesProveedorID_PEDIDO = 19; + idx_AlbaranesProveedorREF_PED_PROVEEDOR = 20; + idx_AlbaranesProveedorID_FACTURA = 21; + idx_AlbaranesProveedorREF_FACTURA = 22; + idx_AlbaranesProveedorREF_FACTURA_PROV = 23; + idx_AlbaranesProveedorCALLE = 24; + idx_AlbaranesProveedorCODIGO_POSTAL = 25; + idx_AlbaranesProveedorPOBLACION = 26; + idx_AlbaranesProveedorPROVINCIA = 27; + idx_AlbaranesProveedorPERSONA_CONTACTO = 28; + idx_AlbaranesProveedorTELEFONO = 29; + idx_AlbaranesProveedorIMPORTE_NETO = 30; + idx_AlbaranesProveedorIMPORTE_PORTE = 31; + idx_AlbaranesProveedorDESCUENTO = 32; + idx_AlbaranesProveedorIMPORTE_DESCUENTO = 33; + idx_AlbaranesProveedorBASE_IMPONIBLE = 34; + idx_AlbaranesProveedorIVA = 35; + idx_AlbaranesProveedorIMPORTE_IVA = 36; + idx_AlbaranesProveedorIMPORTE_TOTAL = 37; + idx_AlbaranesProveedorOBSERVACIONES = 38; + idx_AlbaranesProveedorINCIDENCIAS = 39; + idx_AlbaranesProveedorINCIDENCIAS_ACTIVAS = 40; + idx_AlbaranesProveedorFECHA_ALTA = 41; + idx_AlbaranesProveedorFECHA_MODIFICACION = 42; + idx_AlbaranesProveedorUSUARIO = 43; + idx_AlbaranesProveedorID_FORMA_PAGO = 44; + idx_AlbaranesProveedorNUM_COPIAS = 45; + idx_AlbaranesProveedorNUM_CORREOS = 46; { AlbaranesProveedor_Detalles fields } fld_AlbaranesProveedor_DetallesID = 'ID'; @@ -159,7 +163,7 @@ const type { IListaAnosAlbaranes } IListaAnosAlbaranes = interface(IDAStronglyTypedDataTable) - ['{F9DF0229-A5B1-42A1-9FC4-EF535631B1C1}'] + ['{129709FB-F54C-4830-9C08-F0B64D4A73F5}'] { Property getters and setters } function GetANOValue: String; procedure SetANOValue(const aValue: String); @@ -173,7 +177,7 @@ type end; { TListaAnosAlbaranesDataTableRules } - TListaAnosAlbaranesDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosAlbaranes) + TListaAnosAlbaranesDataTableRules = class(TDADataTableRules, IListaAnosAlbaranes) private protected { Property getters and setters } @@ -194,7 +198,7 @@ type { IAlbaranesProveedor } IAlbaranesProveedor = interface(IDAStronglyTypedDataTable) - ['{6E9B6CFF-35D0-4A6E-A176-9B569D453557}'] + ['{F6DA3DCB-4265-4AC4-9F2E-82E54071EE76}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -208,10 +212,18 @@ type procedure SetID_PROVEEDORValue(const aValue: Integer); function GetID_PROVEEDORIsNull: Boolean; procedure SetID_PROVEEDORIsNull(const aValue: Boolean); + function GetID_CLIENTE_FINALValue: Integer; + procedure SetID_CLIENTE_FINALValue(const aValue: Integer); + function GetID_CLIENTE_FINALIsNull: Boolean; + procedure SetID_CLIENTE_FINALIsNull(const aValue: Boolean); function GetNOMBREValue: String; procedure SetNOMBREValue(const aValue: String); function GetNOMBREIsNull: Boolean; procedure SetNOMBREIsNull(const aValue: Boolean); + function GetNOMBRE_CLIENTE_FINALValue: String; + procedure SetNOMBRE_CLIENTE_FINALValue(const aValue: String); + function GetNOMBRE_CLIENTE_FINALIsNull: Boolean; + procedure SetNOMBRE_CLIENTE_FINALIsNull(const aValue: Boolean); function GetID_DIRECCIONValue: Integer; procedure SetID_DIRECCIONValue(const aValue: Integer); function GetID_DIRECCIONIsNull: Boolean; @@ -383,8 +395,12 @@ type property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue; property ID_PROVEEDORIsNull: Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull; + property ID_CLIENTE_FINAL: Integer read GetID_CLIENTE_FINALValue write SetID_CLIENTE_FINALValue; + property ID_CLIENTE_FINALIsNull: Boolean read GetID_CLIENTE_FINALIsNull write SetID_CLIENTE_FINALIsNull; property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; + property NOMBRE_CLIENTE_FINAL: String read GetNOMBRE_CLIENTE_FINALValue write SetNOMBRE_CLIENTE_FINALValue; + property NOMBRE_CLIENTE_FINALIsNull: Boolean read GetNOMBRE_CLIENTE_FINALIsNull write SetNOMBRE_CLIENTE_FINALIsNull; property ID_DIRECCION: Integer read GetID_DIRECCIONValue write SetID_DIRECCIONValue; property ID_DIRECCIONIsNull: Boolean read GetID_DIRECCIONIsNull write SetID_DIRECCIONIsNull; property PERSONA_CONTACTO_PROV: String read GetPERSONA_CONTACTO_PROVValue write SetPERSONA_CONTACTO_PROVValue; @@ -470,7 +486,7 @@ type end; { TAlbaranesProveedorDataTableRules } - TAlbaranesProveedorDataTableRules = class(TIntfObjectDADataTableRules, IAlbaranesProveedor) + TAlbaranesProveedorDataTableRules = class(TDADataTableRules, IAlbaranesProveedor) private f_OBSERVACIONES: IROStrings; f_INCIDENCIAS: IROStrings; @@ -490,10 +506,18 @@ type procedure SetID_PROVEEDORValue(const aValue: Integer); virtual; function GetID_PROVEEDORIsNull: Boolean; virtual; procedure SetID_PROVEEDORIsNull(const aValue: Boolean); virtual; + function GetID_CLIENTE_FINALValue: Integer; virtual; + procedure SetID_CLIENTE_FINALValue(const aValue: Integer); virtual; + function GetID_CLIENTE_FINALIsNull: Boolean; virtual; + procedure SetID_CLIENTE_FINALIsNull(const aValue: Boolean); virtual; function GetNOMBREValue: String; virtual; procedure SetNOMBREValue(const aValue: String); virtual; function GetNOMBREIsNull: Boolean; virtual; procedure SetNOMBREIsNull(const aValue: Boolean); virtual; + function GetNOMBRE_CLIENTE_FINALValue: String; virtual; + procedure SetNOMBRE_CLIENTE_FINALValue(const aValue: String); virtual; + function GetNOMBRE_CLIENTE_FINALIsNull: Boolean; virtual; + procedure SetNOMBRE_CLIENTE_FINALIsNull(const aValue: Boolean); virtual; function GetID_DIRECCIONValue: Integer; virtual; procedure SetID_DIRECCIONValue(const aValue: Integer); virtual; function GetID_DIRECCIONIsNull: Boolean; virtual; @@ -664,8 +688,12 @@ type property ID_EMPRESAIsNull: Boolean read GetID_EMPRESAIsNull write SetID_EMPRESAIsNull; property ID_PROVEEDOR: Integer read GetID_PROVEEDORValue write SetID_PROVEEDORValue; property ID_PROVEEDORIsNull: Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull; + property ID_CLIENTE_FINAL: Integer read GetID_CLIENTE_FINALValue write SetID_CLIENTE_FINALValue; + property ID_CLIENTE_FINALIsNull: Boolean read GetID_CLIENTE_FINALIsNull write SetID_CLIENTE_FINALIsNull; property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; property NOMBREIsNull: Boolean read GetNOMBREIsNull write SetNOMBREIsNull; + property NOMBRE_CLIENTE_FINAL: String read GetNOMBRE_CLIENTE_FINALValue write SetNOMBRE_CLIENTE_FINALValue; + property NOMBRE_CLIENTE_FINALIsNull: Boolean read GetNOMBRE_CLIENTE_FINALIsNull write SetNOMBRE_CLIENTE_FINALIsNull; property ID_DIRECCION: Integer read GetID_DIRECCIONValue write SetID_DIRECCIONValue; property ID_DIRECCIONIsNull: Boolean read GetID_DIRECCIONIsNull write SetID_DIRECCIONIsNull; property PERSONA_CONTACTO_PROV: String read GetPERSONA_CONTACTO_PROVValue write SetPERSONA_CONTACTO_PROVValue; @@ -757,7 +785,7 @@ type { IAlbaranesProveedor_Detalles } IAlbaranesProveedor_Detalles = interface(IDAStronglyTypedDataTable) - ['{8D8878BC-70B7-4059-AE14-3CD914908425}'] + ['{CD0E6D3A-FD12-485E-957A-AEEE0582BB42}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -867,7 +895,7 @@ type end; { TAlbaranesProveedor_DetallesDataTableRules } - TAlbaranesProveedor_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IAlbaranesProveedor_Detalles) + TAlbaranesProveedor_DetallesDataTableRules = class(TDADataTableRules, IAlbaranesProveedor_Detalles) private protected { Property getters and setters } @@ -1113,6 +1141,27 @@ begin DataTable.Fields[idx_AlbaranesProveedorID_PROVEEDOR].AsVariant := Null; end; +function TAlbaranesProveedorDataTableRules.GetID_CLIENTE_FINALValue: Integer; +begin + result := DataTable.Fields[idx_AlbaranesProveedorID_CLIENTE_FINAL].AsInteger; +end; + +procedure TAlbaranesProveedorDataTableRules.SetID_CLIENTE_FINALValue(const aValue: Integer); +begin + DataTable.Fields[idx_AlbaranesProveedorID_CLIENTE_FINAL].AsInteger := aValue; +end; + +function TAlbaranesProveedorDataTableRules.GetID_CLIENTE_FINALIsNull: boolean; +begin + result := DataTable.Fields[idx_AlbaranesProveedorID_CLIENTE_FINAL].IsNull; +end; + +procedure TAlbaranesProveedorDataTableRules.SetID_CLIENTE_FINALIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_AlbaranesProveedorID_CLIENTE_FINAL].AsVariant := Null; +end; + function TAlbaranesProveedorDataTableRules.GetNOMBREValue: String; begin result := DataTable.Fields[idx_AlbaranesProveedorNOMBRE].AsString; @@ -1134,6 +1183,27 @@ begin DataTable.Fields[idx_AlbaranesProveedorNOMBRE].AsVariant := Null; end; +function TAlbaranesProveedorDataTableRules.GetNOMBRE_CLIENTE_FINALValue: String; +begin + result := DataTable.Fields[idx_AlbaranesProveedorNOMBRE_CLIENTE_FINAL].AsString; +end; + +procedure TAlbaranesProveedorDataTableRules.SetNOMBRE_CLIENTE_FINALValue(const aValue: String); +begin + DataTable.Fields[idx_AlbaranesProveedorNOMBRE_CLIENTE_FINAL].AsString := aValue; +end; + +function TAlbaranesProveedorDataTableRules.GetNOMBRE_CLIENTE_FINALIsNull: boolean; +begin + result := DataTable.Fields[idx_AlbaranesProveedorNOMBRE_CLIENTE_FINAL].IsNull; +end; + +procedure TAlbaranesProveedorDataTableRules.SetNOMBRE_CLIENTE_FINALIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_AlbaranesProveedorNOMBRE_CLIENTE_FINAL].AsVariant := Null; +end; + function TAlbaranesProveedorDataTableRules.GetID_DIRECCIONValue: Integer; begin result := DataTable.Fields[idx_AlbaranesProveedorID_DIRECCION].AsInteger; diff --git a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas index db12ae4..87078a7 100644 --- a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas +++ b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas @@ -9,14 +9,14 @@ 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_ListaAnosAlbaranesDelta = '{DB9DEA01-7FC2-4E0F-B54E-413F1154998B}'; - RID_AlbaranesProveedorDelta = '{9A475349-808C-47EC-BC60-A25DB945FA9D}'; - RID_AlbaranesProveedor_DetallesDelta = '{A4C8326F-19C5-4746-BDB7-71A170AF14E0}'; + RID_ListaAnosAlbaranesDelta = '{14C5B976-CA00-4615-9651-B414EDAC591D}'; + RID_AlbaranesProveedorDelta = '{C37BDD8D-FAD2-4F99-8CEB-EE981496C9F2}'; + RID_AlbaranesProveedor_DetallesDelta = '{C77BA736-E7BC-409E-A5CB-DE950F03BBA6}'; type { IListaAnosAlbaranesDelta } IListaAnosAlbaranesDelta = interface(IListaAnosAlbaranes) - ['{DB9DEA01-7FC2-4E0F-B54E-413F1154998B}'] + ['{14C5B976-CA00-4615-9651-B414EDAC591D}'] { Property getters and setters } function GetOldANOValue : String; @@ -50,12 +50,14 @@ type { IAlbaranesProveedorDelta } IAlbaranesProveedorDelta = interface(IAlbaranesProveedor) - ['{9A475349-808C-47EC-BC60-A25DB945FA9D}'] + ['{C37BDD8D-FAD2-4F99-8CEB-EE981496C9F2}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; function GetOldID_PROVEEDORValue : Integer; + function GetOldID_CLIENTE_FINALValue : Integer; function GetOldNOMBREValue : String; + function GetOldNOMBRE_CLIENTE_FINALValue : String; function GetOldID_DIRECCIONValue : Integer; function GetOldPERSONA_CONTACTO_PROVValue : String; function GetOldFECHA_ALBARANValue : DateTime; @@ -102,7 +104,9 @@ type property OldID : Integer read GetOldIDValue; property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue; + property OldID_CLIENTE_FINAL : Integer read GetOldID_CLIENTE_FINALValue; property OldNOMBRE : String read GetOldNOMBREValue; + property OldNOMBRE_CLIENTE_FINAL : String read GetOldNOMBRE_CLIENTE_FINALValue; property OldID_DIRECCION : Integer read GetOldID_DIRECCIONValue; property OldPERSONA_CONTACTO_PROV : String read GetOldPERSONA_CONTACTO_PROVValue; property OldFECHA_ALBARAN : DateTime read GetOldFECHA_ALBARANValue; @@ -173,12 +177,24 @@ type function GetOldID_PROVEEDORIsNull: Boolean; virtual; procedure SetID_PROVEEDORValue(const aValue: Integer); virtual; procedure SetID_PROVEEDORIsNull(const aValue: Boolean); virtual; + function GetID_CLIENTE_FINALValue: Integer; virtual; + function GetID_CLIENTE_FINALIsNull: Boolean; virtual; + function GetOldID_CLIENTE_FINALValue: Integer; virtual; + function GetOldID_CLIENTE_FINALIsNull: Boolean; virtual; + procedure SetID_CLIENTE_FINALValue(const aValue: Integer); virtual; + procedure SetID_CLIENTE_FINALIsNull(const aValue: Boolean); virtual; function GetNOMBREValue: String; virtual; function GetNOMBREIsNull: Boolean; virtual; function GetOldNOMBREValue: String; virtual; function GetOldNOMBREIsNull: Boolean; virtual; procedure SetNOMBREValue(const aValue: String); virtual; procedure SetNOMBREIsNull(const aValue: Boolean); virtual; + function GetNOMBRE_CLIENTE_FINALValue: String; virtual; + function GetNOMBRE_CLIENTE_FINALIsNull: Boolean; virtual; + function GetOldNOMBRE_CLIENTE_FINALValue: String; virtual; + function GetOldNOMBRE_CLIENTE_FINALIsNull: Boolean; virtual; + procedure SetNOMBRE_CLIENTE_FINALValue(const aValue: String); virtual; + procedure SetNOMBRE_CLIENTE_FINALIsNull(const aValue: Boolean); virtual; function GetID_DIRECCIONValue: Integer; virtual; function GetID_DIRECCIONIsNull: Boolean; virtual; function GetOldID_DIRECCIONValue: Integer; virtual; @@ -437,10 +453,18 @@ type property ID_PROVEEDORIsNull : Boolean read GetID_PROVEEDORIsNull write SetID_PROVEEDORIsNull; property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue; property OldID_PROVEEDORIsNull : Boolean read GetOldID_PROVEEDORIsNull; + property ID_CLIENTE_FINAL : Integer read GetID_CLIENTE_FINALValue write SetID_CLIENTE_FINALValue; + property ID_CLIENTE_FINALIsNull : Boolean read GetID_CLIENTE_FINALIsNull write SetID_CLIENTE_FINALIsNull; + property OldID_CLIENTE_FINAL : Integer read GetOldID_CLIENTE_FINALValue; + property OldID_CLIENTE_FINALIsNull : Boolean read GetOldID_CLIENTE_FINALIsNull; property NOMBRE : String read GetNOMBREValue write SetNOMBREValue; property NOMBREIsNull : Boolean read GetNOMBREIsNull write SetNOMBREIsNull; property OldNOMBRE : String read GetOldNOMBREValue; property OldNOMBREIsNull : Boolean read GetOldNOMBREIsNull; + property NOMBRE_CLIENTE_FINAL : String read GetNOMBRE_CLIENTE_FINALValue write SetNOMBRE_CLIENTE_FINALValue; + property NOMBRE_CLIENTE_FINALIsNull : Boolean read GetNOMBRE_CLIENTE_FINALIsNull write SetNOMBRE_CLIENTE_FINALIsNull; + property OldNOMBRE_CLIENTE_FINAL : String read GetOldNOMBRE_CLIENTE_FINALValue; + property OldNOMBRE_CLIENTE_FINALIsNull : Boolean read GetOldNOMBRE_CLIENTE_FINALIsNull; property ID_DIRECCION : Integer read GetID_DIRECCIONValue write SetID_DIRECCIONValue; property ID_DIRECCIONIsNull : Boolean read GetID_DIRECCIONIsNull write SetID_DIRECCIONIsNull; property OldID_DIRECCION : Integer read GetOldID_DIRECCIONValue; @@ -614,7 +638,7 @@ type { IAlbaranesProveedor_DetallesDelta } IAlbaranesProveedor_DetallesDelta = interface(IAlbaranesProveedor_Detalles) - ['{A4C8326F-19C5-4746-BDB7-71A170AF14E0}'] + ['{C77BA736-E7BC-409E-A5CB-DE950F03BBA6}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_ALBARANValue : Integer; @@ -1010,6 +1034,37 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_PROVEEDOR] := Null; end; +function TAlbaranesProveedorBusinessProcessorRules.GetID_CLIENTE_FINALValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_CLIENTE_FINAL]; +end; + +function TAlbaranesProveedorBusinessProcessorRules.GetID_CLIENTE_FINALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_CLIENTE_FINAL]); +end; + +function TAlbaranesProveedorBusinessProcessorRules.GetOldID_CLIENTE_FINALValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorID_CLIENTE_FINAL]; +end; + +function TAlbaranesProveedorBusinessProcessorRules.GetOldID_CLIENTE_FINALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorID_CLIENTE_FINAL]); +end; + +procedure TAlbaranesProveedorBusinessProcessorRules.SetID_CLIENTE_FINALValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_CLIENTE_FINAL] := aValue; +end; + +procedure TAlbaranesProveedorBusinessProcessorRules.SetID_CLIENTE_FINALIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_CLIENTE_FINAL] := Null; +end; + function TAlbaranesProveedorBusinessProcessorRules.GetNOMBREValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorNOMBRE]; @@ -1041,6 +1096,37 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorNOMBRE] := Null; end; +function TAlbaranesProveedorBusinessProcessorRules.GetNOMBRE_CLIENTE_FINALValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorNOMBRE_CLIENTE_FINAL]; +end; + +function TAlbaranesProveedorBusinessProcessorRules.GetNOMBRE_CLIENTE_FINALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorNOMBRE_CLIENTE_FINAL]); +end; + +function TAlbaranesProveedorBusinessProcessorRules.GetOldNOMBRE_CLIENTE_FINALValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorNOMBRE_CLIENTE_FINAL]; +end; + +function TAlbaranesProveedorBusinessProcessorRules.GetOldNOMBRE_CLIENTE_FINALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorNOMBRE_CLIENTE_FINAL]); +end; + +procedure TAlbaranesProveedorBusinessProcessorRules.SetNOMBRE_CLIENTE_FINALValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorNOMBRE_CLIENTE_FINAL] := aValue; +end; + +procedure TAlbaranesProveedorBusinessProcessorRules.SetNOMBRE_CLIENTE_FINALIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorNOMBRE_CLIENTE_FINAL] := Null; +end; + function TAlbaranesProveedorBusinessProcessorRules.GetID_DIRECCIONValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_DIRECCION]; diff --git a/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas b/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas index 61c9f68..cb29471 100644 --- a/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas +++ b/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas @@ -21,12 +21,22 @@ type function GetProveedor : IBizProveedor; property Proveedor : IBizProveedor read GetProveedor write SetProveedor; + procedure SetClienteFinal(AValue : IBizCliente); + function GetClienteFinal : IBizCliente; + property ClienteFinal : IBizCliente read GetClienteFinal write SetClienteFinal; + // Esta propidad es para que el controlador pueda acceder directamente // a la propiedad Proveedor procedure _SetProveedor(AValue : IBizProveedor); function _GetProveedor : IBizProveedor; property _Proveedor : IBizProveedor read _GetProveedor write _SetProveedor; + // Esta propidad es para que el controlador pueda acceder directamente + // a la propiedad Cliente Final + procedure _SetClienteFinal(AValue : IBizCliente); + function _GetCLienteFinal : IBizCLiente; + property _ClienteFinal : IBizCliente read _GetClienteFinal write _SetClienteFinal; + function GetDetalles: IBizDetallesAlbaranProveedor; procedure SetDetalles(Value: IBizDetallesAlbaranProveedor); property Detalles: IBizDetallesAlbaranProveedor read GetDetalles write SetDetalles; @@ -41,6 +51,7 @@ type protected FSeleccionableInterface : ISeleccionable; FProveedor : IBizProveedor; + FClienteFinal : IBizCliente; FDetalles : IBizDetallesAlbaranProveedor; FDetallesLink : TDADataSource; @@ -50,6 +61,12 @@ type procedure _SetProveedor(AValue : IBizProveedor); function _GetProveedor : IBizProveedor; + procedure SetClienteFinal(AValue : IBizCliente); + function GetClienteFinal : IBizCliente; + + procedure _SetClienteFinal(AValue : IBizCliente); + function _GetCLienteFinal : IBizCLiente; + function GetDetalles: IBizDetallesAlbaranProveedor; procedure SetDetalles(Value: IBizDetallesAlbaranProveedor); @@ -74,6 +91,9 @@ type property Proveedor : IBizProveedor read GetProveedor write SetProveedor; property _Proveedor : IBizProveedor read _GetProveedor write _SetProveedor; + property _ClienteFinal : IBizCliente read _GetClienteFinal write _SetClienteFinal; + property ClienteFinal : IBizCliente read GetClienteFinal write SetClienteFinal; + property Detalles: IBizDetallesAlbaranProveedor read GetDetalles write SetDetalles; property SeleccionableInterface : ISeleccionable read FSeleccionableInterface @@ -127,6 +147,7 @@ constructor TBizAlbaranProveedor.Create(aDataTable: TDADataTable); begin inherited; FProveedor := Nil; + FClienteFinal := Nil; with DataTable do begin @@ -150,6 +171,7 @@ end; destructor TBizAlbaranProveedor.Destroy; begin FProveedor := NIL; + FClienteFinal := NIL; FDetalles := NIL; FDetallesLink.Free; @@ -193,6 +215,11 @@ begin CalcularImporteTotal; end; +function TBizAlbaranProveedor.GetClienteFinal: IBizCliente; +begin + Result := FClienteFinal; +end; + function TBizAlbaranProveedor.GetDetalles: IBizDetallesAlbaranProveedor; begin Result := FDetalles; @@ -232,16 +259,53 @@ begin end; end; +function TBizAlbaranProveedor._GetCLienteFinal: IBizCLiente; +begin + Result := FClienteFinal; +end; + function TBizAlbaranProveedor._GetProveedor: IBizProveedor; begin Result := FProveedor; end; +procedure TBizAlbaranProveedor._SetClienteFinal(AValue: IBizCliente); +begin + FClienteFinal := AValue; +end; + procedure TBizAlbaranProveedor._SetProveedor(AValue: IBizProveedor); begin FProveedor := AValue; end; +procedure TBizAlbaranProveedor.SetClienteFinal(AValue: IBizCliente); +var + bEnEdicion : Boolean; +begin + FClienteFinal := AValue; + + if Assigned(FClienteFinal) then + begin + if not FClienteFinal.DataTable.Active then + FClienteFinal.DataTable.Active := True; + + if Self.ID_CLIENTE_FINAL <> FClienteFinal.ID then + begin + bEnEdicion := (DataTable.State in dsEditModes); + if not bEnEdicion then + DataTable.Edit; + + Self.ID_CLIENTE_FINAL := FClienteFinal.ID; + + DataTable.Post; //Muy importante ya que es necesario hacer un post de la cabecera antes de añadir detalles + //si se quita el id de la cabecera y los detalles se desincroniza + if bEnEdicion then + DataTable.Edit; + end; + end; +end; + procedure TBizAlbaranProveedor.SetDetalles(Value: IBizDetallesAlbaranProveedor); begin FDetalles := Value; diff --git a/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm b/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm index 8b49199..5bdd218 100644 --- a/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm +++ b/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm @@ -226,6 +226,14 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor item DatasetField = 'NUM_CORREOS' TableField = 'NUM_CORREOS' + end + item + DatasetField = 'ID_CLIENTE_FINAL' + TableField = 'ID_CLIENTE_FINAL' + end + item + DatasetField = 'NOMBRE_CLIENTE_FINAL' + TableField = 'NOMBRE_CLIENTE_FINAL' end> end> Name = 'AlbaranesProveedor' @@ -248,6 +256,10 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor DataType = datInteger DictionaryEntry = 'AlbaranesProveedor_ID_PROVEEDOR' end + item + Name = 'ID_CLIENTE_FINAL' + DataType = datInteger + end item Name = 'NOMBRE' DataType = datString @@ -255,6 +267,11 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor ServerAutoRefresh = True DictionaryEntry = 'AlbaranesProveedor_NOMBRE' end + item + Name = 'NOMBRE_CLIENTE_FINAL' + DataType = datString + Size = 255 + end item Name = 'ID_DIRECCION' DataType = datInteger @@ -692,6 +709,11 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor DataType = datInteger Value = '' end + item + Name = 'ID_CLIENTE_FINAL' + DataType = datInteger + Value = '' + end item Name = 'ID_DIRECCION' DataType = datInteger @@ -860,26 +882,27 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor TargetTable = 'ALBARANES_PROVEEDOR' SQL = 'INSERT INTO ALBARANES_PROVEEDOR ('#10' ID,'#10' ID_EMPRESA,'#10' ID' + - '_PROVEEDOR,'#10' ID_DIRECCION,'#10' PERSONA_CONTACTO_PROV,'#10' FEC' + - 'HA_ALBARAN,'#10' ID_PEDIDO,'#10' ID_FACTURA,'#10' TIPO,'#10' REFEREN' + - 'CIA,'#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' IMPO' + - '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' ID_ALB' + - 'ARAN_DEV)'#10' VALUES ('#10' :ID,'#10' :ID_EMPRESA,'#10' :ID_PROVEEDOR' + - ','#10' :ID_DIRECCION,'#10' :PERSONA_CONTACTO_PROV,'#10' :FECHA_ALBA' + - 'RAN,'#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' + - '_CONTACTO,'#10' :TELEFONO,'#10' :BASE_IMPONIBLE,'#10' :DESCUENTO,'#10' ' + - ' :IMPORTE_DESCUENTO,'#10' :IVA,'#10' :IMPORTE_IVA,'#10' :IMPORTE_' + - 'TOTAL,'#10' :OBSERVACIONES,'#10' :INCIDENCIAS,'#10' :INCIDENCIAS_AC' + - 'TIVAS,'#10' CURRENT_TIMESTAMP,'#10' CURRENT_TIMESTAMP,'#10' :USUARI' + - 'O,'#10' :ID_ALMACEN,'#10' :ID_FORMA_PAGO,'#10' :IMPORTE_NETO,'#10' :' + - 'IMPORTE_PORTE,'#10' :ID_ALBARAN_DEV);'#10 + '_PROVEEDOR,'#10' ID_CLIENTE_FINAL,'#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_FAC' + + 'TURA_PROV,'#10' CALLE,'#10' CODIGO_POSTAL,'#10' POBLACION,'#10' PROV' + + 'INCIA,'#10' PERSONA_CONTACTO,'#10' TELEFONO,'#10' BASE_IMPONIBLE,'#10' ' + + ' DESCUENTO,'#10' IMPORTE_DESCUENTO,'#10' IVA,'#10' IMPORTE_IVA,'#10' ' + + ' IMPORTE_TOTAL,'#10' OBSERVACIONES,'#10' INCIDENCIAS,'#10' INCIDE' + + 'NCIAS_ACTIVAS,'#10' FECHA_ALTA,'#10' FECHA_MODIFICACION,'#10' USUAR' + + 'IO,'#10' ID_ALMACEN,'#10' ID_FORMA_PAGO,'#10' IMPORTE_NETO,'#10' IMP' + + 'ORTE_PORTE,'#10' ID_ALBARAN_DEV)'#10' VALUES ('#10' :ID,'#10' :ID_EMPR' + + 'ESA,'#10' :ID_PROVEEDOR,'#10' :ID_CLIENTE_FINAL,'#10' :ID_DIRECCION' + + ','#10' :PERSONA_CONTACTO_PROV,'#10' :FECHA_ALBARAN,'#10' :ID_PEDIDO' + + ','#10' :ID_FACTURA,'#10' :TIPO,'#10' :REFERENCIA,'#10' :REFERENCIA_P' + + 'ROVEEDOR,'#10' :REF_FACTURA_PROV,'#10' :CALLE,'#10' :CODIGO_POSTAL,' + + #10' :POBLACION,'#10' :PROVINCIA,'#10' :PERSONA_CONTACTO,'#10' :TEL' + + 'EFONO,'#10' :BASE_IMPONIBLE,'#10' :DESCUENTO,'#10' :IMPORTE_DESCUEN' + + 'TO,'#10' :IVA,'#10' :IMPORTE_IVA,'#10' :IMPORTE_TOTAL,'#10' :OBSERVA' + + 'CIONES,'#10' :INCIDENCIAS,'#10' :INCIDENCIAS_ACTIVAS,'#10' CURRENT_' + + 'TIMESTAMP,'#10' CURRENT_TIMESTAMP,'#10' :USUARIO,'#10' :ID_ALMACEN,' + + #10' :ID_FORMA_PAGO,'#10' :IMPORTE_NETO,'#10' :IMPORTE_PORTE,'#10' ' + + ':ID_ALBARAN_DEV);'#10 StatementType = stSQL ColumnMappings = <> end> @@ -920,6 +943,11 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor DataType = datInteger Value = '' end + item + Name = 'ID_CLIENTE_FINAL' + DataType = datInteger + Value = '' + end item Name = 'ID_DIRECCION' DataType = datInteger @@ -1092,24 +1120,25 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor TargetTable = 'ALBARANES_PROVEEDOR' SQL = 'UPDATE ALBARANES_PROVEEDOR'#10' SET'#10' ID = :ID,'#10' ID_EMPRESA = ' + - ':ID_EMPRESA,'#10' ID_PROVEEDOR = :ID_PROVEEDOR,'#10' ID_DIRECCION ' + - '= :ID_DIRECCION,'#10' PERSONA_CONTACTO_PROV = :PERSONA_CONTACTO_P' + - 'ROV,'#10' FECHA_ALBARAN = :FECHA_ALBARAN,'#10' ID_PEDIDO = :ID_PED' + - 'IDO,'#10' ID_FACTURA = :ID_FACTURA,'#10' TIPO = :TIPO,'#10' REFEREN' + - 'CIA = :REFERENCIA,'#10' REFERENCIA_PROVEEDOR = :REFERENCIA_PROVEE' + - 'DOR,'#10' REF_FACTURA_PROV = :REF_FACTURA_PROV,'#10' CALLE = :CALL' + - 'E,'#10' CODIGO_POSTAL = :CODIGO_POSTAL,'#10' POBLACION = :POBLACIO' + - 'N,'#10' PROVINCIA = :PROVINCIA,'#10' PERSONA_CONTACTO = :PERSONA_C' + - 'ONTACTO,'#10' TELEFONO = :TELEFONO,'#10' BASE_IMPONIBLE = :BASE_IM' + - 'PONIBLE,'#10' DESCUENTO = :DESCUENTO,'#10' IMPORTE_DESCUENTO = :IM' + - 'PORTE_DESCUENTO,'#10' IVA = :IVA,'#10' IMPORTE_IVA = :IMPORTE_IVA,' + - #10' IMPORTE_TOTAL = :IMPORTE_TOTAL,'#10' OBSERVACIONES = :OBSERV' + - 'ACIONES,'#10' INCIDENCIAS = :INCIDENCIAS,'#10' INCIDENCIAS_ACTIVAS' + - ' = :INCIDENCIAS_ACTIVAS,'#10' FECHA_MODIFICACION = CURRENT_TIMEST' + - 'AMP,'#10' USUARIO = :USUARIO,'#10' ID_ALMACEN = :ID_ALMACEN,'#10' I' + - 'D_FORMA_PAGO = :ID_FORMA_PAGO,'#10' IMPORTE_NETO = :IMPORTE_NETO,' + - #10' IMPORTE_PORTE = :IMPORTE_PORTE,'#10' ID_ALBARAN_DEV = :ID_AL' + - 'BARAN_DEV'#10' WHERE'#10' (ID = :OLD_ID);'#10 + ':ID_EMPRESA,'#10' ID_PROVEEDOR = :ID_PROVEEDOR,'#10' ID_CLIENTE_FI' + + 'NAL = :ID_CLIENTE_FINAL,'#10' ID_DIRECCION = :ID_DIRECCION,'#10' P' + + 'ERSONA_CONTACTO_PROV = :PERSONA_CONTACTO_PROV,'#10' FECHA_ALBARAN' + + ' = :FECHA_ALBARAN,'#10' ID_PEDIDO = :ID_PEDIDO,'#10' ID_FACTURA = ' + + ':ID_FACTURA,'#10' TIPO = :TIPO,'#10' REFERENCIA = :REFERENCIA,'#10' ' + + ' REFERENCIA_PROVEEDOR = :REFERENCIA_PROVEEDOR,'#10' REF_FACTURA_P' + + 'ROV = :REF_FACTURA_PROV,'#10' CALLE = :CALLE,'#10' CODIGO_POSTAL =' + + ' :CODIGO_POSTAL,'#10' POBLACION = :POBLACION,'#10' PROVINCIA = :PR' + + 'OVINCIA,'#10' PERSONA_CONTACTO = :PERSONA_CONTACTO,'#10' TELEFONO ' + + '= :TELEFONO,'#10' BASE_IMPONIBLE = :BASE_IMPONIBLE,'#10' DESCUENTO' + + ' = :DESCUENTO,'#10' IMPORTE_DESCUENTO = :IMPORTE_DESCUENTO,'#10' I' + + 'VA = :IVA,'#10' IMPORTE_IVA = :IMPORTE_IVA,'#10' IMPORTE_TOTAL = :' + + 'IMPORTE_TOTAL,'#10' OBSERVACIONES = :OBSERVACIONES,'#10' INCIDENCI' + + 'AS = :INCIDENCIAS,'#10' INCIDENCIAS_ACTIVAS = :INCIDENCIAS_ACTIVA' + + 'S,'#10' FECHA_MODIFICACION = CURRENT_TIMESTAMP,'#10' USUARIO = :US' + + 'UARIO,'#10' ID_ALMACEN = :ID_ALMACEN,'#10' ID_FORMA_PAGO = :ID_FOR' + + 'MA_PAGO,'#10' IMPORTE_NETO = :IMPORTE_NETO,'#10' IMPORTE_PORTE = :' + + 'IMPORTE_PORTE,'#10' ID_ALBARAN_DEV = :ID_ALBARAN_DEV'#10' WHERE'#10' (I' + + 'D = :OLD_ID);'#10 StatementType = stSQL ColumnMappings = <> end> diff --git a/Source/Modulos/Albaranes de proveedor/Views/AlbaranesProveedor_view.dpk b/Source/Modulos/Albaranes de proveedor/Views/AlbaranesProveedor_view.dpk index 9deefa5..2c3bd64 100644 --- a/Source/Modulos/Albaranes de proveedor/Views/AlbaranesProveedor_view.dpk +++ b/Source/Modulos/Albaranes de proveedor/Views/AlbaranesProveedor_view.dpk @@ -41,7 +41,31 @@ requires dxThemeD11, dxGDIPlusD11, dxCoreD11, - vclx; + vclx, + dbrtl, + vcldb, + PNG_D10, + PngComponentsD10, + vclactnband, + cxExtEditorsD11, + cxDataD11, + cxEditorsD11, + vcljpg, + DataAbstract_Core_D11, + dsnap, + adortl, + RemObjects_Core_D11, + GUISDK_D11R, + designide, + xmlrtl, + dxLayoutControlD11, + dxComnD11, + JvStdCtrlsD11R, + JclVcl, + Jcl, + JvCoreD11R, + JvSystemD11R, + JvCtrlsD11R; contains uAlbaranesProveedorViewRegister in 'uAlbaranesProveedorViewRegister.pas', @@ -62,6 +86,7 @@ contains uEditorAlbaranesProveedorReport in 'uEditorAlbaranesProveedorReport.pas' {fEditorAlbaranesProveedorReport: TEditorAlbaranesProveedorReport}, uViewDatosYSeleccionProveedorAlbaran in 'uViewDatosYSeleccionProveedorAlbaran.pas' {frViewDatosYSeleccionProveedorAlbaran: TCustomView}, uDialogOpcionesImpresionAlbaranesProveedor in 'uDialogOpcionesImpresionAlbaranesProveedor.pas' {fDialogOpcionesImpresionAlbaranesProveedor: TfEditorElegirAlbaranesProveedor}, - uDialogListaAlbaranesProveedorEnvioEMail in 'uDialogListaAlbaranesProveedorEnvioEMail.pas' {fDialogListaAlbaranesProveedorEnvioEMail: Tform}; + uDialogListaAlbaranesProveedorEnvioEMail in 'uDialogListaAlbaranesProveedorEnvioEMail.pas' {fDialogListaAlbaranesProveedorEnvioEMail: T}, + uViewDatosYSeleccionClienteFinalAlbaran in 'uViewDatosYSeleccionClienteFinalAlbaran.pas' {frViewDatosYSeleccionClienteFinalAlbaran: TCustomView}; end. diff --git a/Source/Modulos/Albaranes de proveedor/Views/AlbaranesProveedor_view.dproj b/Source/Modulos/Albaranes de proveedor/Views/AlbaranesProveedor_view.dproj index b067c26..7271ddc 100644 --- a/Source/Modulos/Albaranes de proveedor/Views/AlbaranesProveedor_view.dproj +++ b/Source/Modulos/Albaranes de proveedor/Views/AlbaranesProveedor_view.dproj @@ -49,24 +49,50 @@ MainSource - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
fuDialogListaAlbaranesProveedorEnvioEMail
+
fDialogListaAlbaranesProveedorEnvioEMail
T
@@ -121,6 +147,10 @@
frViewAlbaranProveedor
TFrame
+ +
frViewDatosYSeleccionProveedorAlbaran
+ TCustomView +
frViewDatosYSeleccionProveedorAlbaran
TCustomView @@ -137,8 +167,6 @@
frViewElegirArticulosAlbaranesProveedor
TFrame
- -