diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql index 3e318998..df675b74 100644 --- a/Database/scripts/factuges.sql +++ b/Database/scripts/factuges.sql @@ -1272,12 +1272,13 @@ CREATE TABLE CONTRATOS_CLIENTE ( ID_CLIENTE TIPO_ID, NIF_CIF VARCHAR(15), NOMBRE VARCHAR(255), + ID_DIRECCION TIPO_ID, CALLE VARCHAR(255), POBLACION VARCHAR(255), PROVINCIA VARCHAR(255), CODIGO_POSTAL VARCHAR(10), - TELEFONO VARCHAR(25), - MOVIL VARCHAR(25), + TELEFONO VARCHAR(25), + MOVIL VARCHAR(25), REFERENCIA VARCHAR(255), FECHA_CONTRATO DATE, SITUACION VARCHAR(255), @@ -3701,6 +3702,7 @@ CREATE VIEW V_CONTRATOS_CLIENTE( NOMBRE_COMERCIAL_CLIENTE, NIF_CIF, NOMBRE, + ID_DIRECCION, CALLE, POBLACION, PROVINCIA, @@ -3746,6 +3748,7 @@ SELECT CONTRATOS_CLIENTE.ID, CLIENTES_DATOS.NOMBRE_COMERCIAL, CONTRATOS_CLIENTE.NIF_CIF, CONTRATOS_CLIENTE.NOMBRE, + CONTRATOS_CLIENTE.ID_DIRECCION, CONTRATOS_CLIENTE.CALLE, CONTRATOS_CLIENTE.POBLACION, CONTRATOS_CLIENTE.PROVINCIA, diff --git a/Source/Base/Controladores/uControllerDetallesBase.pas b/Source/Base/Controladores/uControllerDetallesBase.pas index ee898218..93dac15b 100644 --- a/Source/Base/Controladores/uControllerDetallesBase.pas +++ b/Source/Base/Controladores/uControllerDetallesBase.pas @@ -52,7 +52,7 @@ type procedure Mover(DataTable: TDADataTable; Posicion: Integer; NumPosiciones: Integer); //Si en los hijos existen campos a tener en cuenta se sobreescribira este metodo - procedure validarCampos(DataTable: TDADataTable); virtual; + procedure ValidarCampos(DataTable: TDADataTable); virtual; //Si sobreescribimos este método podremos tener en cuenta otras columnas para el calculo del importe total de un concepto function CalcularImporteTotalConcepto(DataTable: TDADataTable): Double; virtual; diff --git a/Source/Informes/InfContratoCliente.fr3 b/Source/Informes/InfContratoCliente.fr3 index 8e0735cd..3c7e372a 100644 --- a/Source/Informes/InfContratoCliente.fr3 +++ b/Source/Informes/InfContratoCliente.fr3 @@ -1,5 +1,5 @@ - + @@ -14,19 +14,19 @@ - + - + - + @@ -34,7 +34,7 @@ - + @@ -57,10 +57,10 @@ - + - + diff --git a/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas b/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas index 1ff4794f..5c7e2d70 100644 --- a/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas +++ b/Source/Modulos/Contratos de cliente/Controller/uContratosClienteController.pas @@ -35,7 +35,6 @@ type procedure VerTodos(AContratos: IBizContratoCliente; const AVerModal : Boolean = False; const AWindowCaption: String = ''; const AHeaderText: String = ''); - procedure VerDireccionEntrega(AContrato : IBizContratoCliente); function Nuevo : IBizContratoCliente; function Anadir(AContrato : IBizContratoCliente) : Boolean; function Eliminar(const ID : Integer): Boolean; overload; @@ -49,8 +48,6 @@ type function ExtraerSeleccionados(AContrato: IBizContratoCliente) : IBizContratoCliente; function ElegirContratos(AContrato: IBizContratoCliente; AMensaje: String; AMultiSelect: Boolean): IBizContratoCliente; - procedure QuitarDireccionEnvio(AContrato: IBizContratoCliente); - procedure RecalcularImportes(AContrato : IBizContratoCliente); function EsModificable(AContrato : IBizContratoCliente): Boolean; function EsEliminable(AContrato : IBizContratoCliente): Boolean; @@ -116,10 +113,8 @@ type procedure VerTodos(AContratos: IBizContratoCliente; const AVerModal : Boolean = False; const AWindowCaption: String = ''; const AHeaderText: String = ''); - procedure VerDireccionEntrega(AContrato : IBizContratoCliente); function Duplicar(AContrato: IBizContratoCliente): IBizContratoCliente; - procedure QuitarDireccionEnvio(AContrato: IBizContratoCliente); function ExtraerSeleccionados(AContrato: IBizContratoCliente) : IBizContratoCliente; function ElegirContratos(AContrato: IBizContratoCliente; AMensaje: String; AMultiSelect: Boolean): IBizContratoCliente; @@ -456,29 +451,6 @@ begin end; end; -procedure TContratosClienteController.VerDireccionEntrega( - AContrato: IBizContratoCliente); -{var - AEditor : IEditorDireccionEntregaContratoCliente;} -begin -{ - AEditor := NIL; - //RecuperarObjetos(AContrato); <- No descomentar. No hace falta - CreateEditor('EditorDireccionEntregaContratoCliente', IEditorDireccionEntregaContratoCliente, AEditor); - if Assigned(AEditor) then - with (AEditor as IEditorDireccionEntregaContratoCliente) do - begin - try - Presupuesto := AContrato; - ShowModal; - finally - AEditor.Release; - AEditor := NIL; - end; - end; -} -end; - procedure TContratosClienteController.VerTodos(AContratos: IBizContratoCliente; const AVerModal : Boolean = False; const AWindowCaption: String = ''; const AHeaderText: String = ''); @@ -882,40 +854,6 @@ begin Result := AContrato; end; -procedure TContratosClienteController.QuitarDireccionEnvio( - AContrato: IBizContratoCliente); -{var - bEnEdicion : Boolean;} -begin -{ - if not Assigned(AContrato) then - raise Exception.Create ('Contrato no asignado (QuitarDireccionEnvio)'); - - if AContrato.DataTable.Active then - AContrato.DataTable.Active := True; - - bEnEdicion := (AContrato.DataTable.State in dsEditModes); - if not bEnEdicion then - AContrato.Edit; - - ShowHourglassCursor; - AContrato.Edit; - try - AContrato.DataTable.FieldByName(fld_ContratosClienteCALLE).Clear; - AContrato.DataTable.FieldByName(fld_ContratosClientePOBLACION).Clear; - AContrato.DataTable.FieldByName(fld_ContratosClienteCODIGO_POSTAL).Clear; - AContrato.DataTable.FieldByName(fld_ContratosClientePROVINCIA).Clear; - AContrato.DataTable.FieldByName(fld_ContratosClienteTELEFONO).Clear; - AContrato.DataTable.FieldByName(fld_ContratosClientePERSONA_CONTACTO).Clear; - - if not bEnEdicion then - AContrato.Post; - finally - HideHourglassCursor; - end; -} -end; - procedure TContratosClienteController.Preview(AContrato: IBizContratoCliente; AllItems: Boolean = false); var AReportController : IContratosClienteReportController; diff --git a/Source/Modulos/Contratos de cliente/Controller/uContratosClienteReportController.pas b/Source/Modulos/Contratos de cliente/Controller/uContratosClienteReportController.pas index 78b4ad02..3cc67117 100644 --- a/Source/Modulos/Contratos de cliente/Controller/uContratosClienteReportController.pas +++ b/Source/Modulos/Contratos de cliente/Controller/uContratosClienteReportController.pas @@ -59,9 +59,10 @@ end; function TContratosClienteReportController.ExportToPDF(const AID: Integer; const AFileName: String): Boolean; -var - AStream: Binary; +{var + AStream: Binary;} begin + Result := False; { Result := False; if EsCadenaVacia(AFileName) then @@ -116,12 +117,12 @@ begin end; procedure TContratosClienteReportController.Print(const AListaID : TIntegerList); -var +{var AStream: Binary; - AEditor : IEditorContratosClientePreview; + AEditor : IEditorContratosClientePreview;} begin - AEditor := NIL; -{ +{ AEditor := NIL; + ShowHourglassCursor; try AStream := FDataModule.GetRptPresupuestos(AListaID); diff --git a/Source/Modulos/Contratos de cliente/Controller/uDetallesContratoClienteController.pas b/Source/Modulos/Contratos de cliente/Controller/uDetallesContratoClienteController.pas index 577c85e0..3f8990e1 100644 --- a/Source/Modulos/Contratos de cliente/Controller/uDetallesContratoClienteController.pas +++ b/Source/Modulos/Contratos de cliente/Controller/uDetallesContratoClienteController.pas @@ -24,10 +24,7 @@ type private //Propiedad temporal hasta que exista el controlador independiente de propiedades y capitulos, valores, etc FDetallesPresupuestoCliente: IDetallesPresupuestoClienteController; - FDataModule : IDataModuleContratosCliente; - function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean; - protected procedure RellenarOtros(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); overload; override; procedure RellenarImportes(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); override; @@ -130,11 +127,6 @@ begin FDetallesPresupuestoCliente:= TDetallesPresupuestoClienteController.Create; end; -function TDetallesContratoClienteController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean; -begin - Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf); -end; - function TDetallesContratoClienteController.DarPropiedades: IBizPropiedades; begin Result := FDetallesPresupuestoCliente.DarPropiedades; @@ -207,7 +199,7 @@ begin while ADataTable.DataTable.Locate(CAMPO_POSICION, AuxPosicion, []) do begin if (ADataTable.DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_TITULO) then - AuxTipoArticulo := ADataTable.DataTable.FieldByName(fld_CapitulosPresupuestoTIPO_ARTICULO).AsString + AuxTipoArticulo := ADataTable.DataTable.FieldByName(fld_TiposCapitulosTIPO_ARTICULO).AsString else if (ADataTable.DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_SUBTOTAL) then AuxTipoArticulo := '' else if (ADataTable.DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_CONCEPTO) then @@ -215,7 +207,7 @@ begin begin if not ADataTable.DataTable.Editing then ADataTable.DataTable.Edit; - ADataTable.DataTable.FieldByName(fld_CapitulosPresupuestoTIPO_ARTICULO).AsString := AuxTipoArticulo; + ADataTable.DataTable.FieldByName(fld_TiposCapitulosTIPO_ARTICULO).AsString := AuxTipoArticulo; ADataTable.DataTable.Post; end; diff --git a/Source/Modulos/Contratos de cliente/Data/ContratosCliente_data.dproj b/Source/Modulos/Contratos de cliente/Data/ContratosCliente_data.dproj index add048fd..160b9273 100644 --- a/Source/Modulos/Contratos de cliente/Data/ContratosCliente_data.dproj +++ b/Source/Modulos/Contratos de cliente/Data/ContratosCliente_data.dproj @@ -49,18 +49,18 @@ MainSource - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.dfm b/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.dfm index 8a8f549c..abe85de5 100644 --- a/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.dfm +++ b/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.dfm @@ -49,17 +49,28 @@ inherited DataModuleContratosCliente: TDataModuleContratosCliente Name = 'NOMBRE_CLIENTE' DataType = datString Size = 255 + DisplayLabel = 'ContratosCliente_NOMBRE_CLIENTE' + DictionaryEntry = 'ContratosCliente_NOMBRE_CLIENTE' + end + item + Name = 'REF_CLIENTE' + DataType = datString + Size = 255 + DisplayLabel = 'Ref. Cliente' + DictionaryEntry = 'ContratosCliente_REF_CLIENTE' end item Name = 'NOMBRE_COMERCIAL_CLIENTE' DataType = datString Size = 255 + DisplayLabel = 'ContratosCliente_NOMBRE_COMERCIAL_CLIENTE' + DictionaryEntry = 'ContratosCliente_NOMBRE_COMERCIAL_CLIENTE' end item Name = 'NIF_CIF' DataType = datString Size = 15 - DisplayLabel = 'ContratosCliente_NIF_CIF' + DisplayLabel = 'NIF/CIF' ServerAutoRefresh = True DictionaryEntry = 'ContratosCliente_NIF_CIF' end @@ -71,25 +82,53 @@ inherited DataModuleContratosCliente: TDataModuleContratosCliente ServerAutoRefresh = True DictionaryEntry = 'ContratosCliente_NOMBRE' end + item + Name = 'ID_DIRECCION' + DataType = datInteger + DisplayLabel = 'ContratosCliente_ID_DIRECCION' + DictionaryEntry = 'ContratosCliente_ID_DIRECCION' + end item Name = 'CALLE' DataType = datString Size = 255 + DisplayLabel = 'Calle' + DictionaryEntry = 'ContratosCliente_CALLE' end item Name = 'POBLACION' DataType = datString Size = 255 + DisplayLabel = 'Poblaci'#243'n' + DictionaryEntry = 'ContratosCliente_POBLACION' end item Name = 'PROVINCIA' DataType = datString Size = 255 + DisplayLabel = 'ContratosCliente_PROVINCIA' + DictionaryEntry = 'ContratosCliente_PROVINCIA' end item Name = 'CODIGO_POSTAL' DataType = datString Size = 10 + DisplayLabel = 'C'#243'd. postal' + DictionaryEntry = 'ContratosCliente_CODIGO_POSTAL' + end + item + Name = 'TELEFONO' + DataType = datString + Size = 25 + DisplayLabel = 'Tel'#233'fono' + DictionaryEntry = 'ContratosCliente_TELEFONO' + end + item + Name = 'MOVIL' + DataType = datString + Size = 25 + DisplayLabel = 'M'#243'vil' + DictionaryEntry = 'ContratosCliente_MOVIL' end item Name = 'REFERENCIA' @@ -101,6 +140,8 @@ inherited DataModuleContratosCliente: TDataModuleContratosCliente item Name = 'FECHA_CONTRATO' DataType = datDateTime + DisplayLabel = 'Fecha contrato' + DictionaryEntry = 'ContratosCliente_FECHA_CONTRATO' end item Name = 'SITUACION' @@ -112,10 +153,14 @@ inherited DataModuleContratosCliente: TDataModuleContratosCliente item Name = 'FORMA_PAGO' DataType = datMemo + DisplayLabel = 'ContratosCliente_FORMA_PAGO' + DictionaryEntry = 'ContratosCliente_FORMA_PAGO' end item Name = 'PLAZO_ENTREGA' DataType = datMemo + DisplayLabel = 'ContratosCliente_PLAZO_ENTREGA' + DictionaryEntry = 'ContratosCliente_PLAZO_ENTREGA' end item Name = 'OBSERVACIONES' @@ -152,18 +197,26 @@ inherited DataModuleContratosCliente: TDataModuleContratosCliente item Name = 'RECARGO_EQUIVALENCIA' DataType = datSmallInt + DisplayLabel = 'ContratosCliente_RECARGO_EQUIVALENCIA' + DictionaryEntry = 'ContratosCliente_RECARGO_EQUIVALENCIA' end item Name = 'RE' DataType = datFloat + DisplayLabel = 'ContratosCliente_RE' + DictionaryEntry = 'ContratosCliente_RE' end item Name = 'IMPORTE_RE' DataType = datCurrency + DisplayLabel = 'Importe RE' + DictionaryEntry = 'ContratosCliente_IMPORTE_RE' end item Name = 'ID_TIPO_IVA' DataType = datInteger + DisplayLabel = 'ContratosCliente_ID_TIPO_IVA' + DictionaryEntry = 'ContratosCliente_ID_TIPO_IVA' end item Name = 'IVA' @@ -196,11 +249,15 @@ inherited DataModuleContratosCliente: TDataModuleContratosCliente item Name = 'ID_TIENDA' DataType = datInteger + DisplayLabel = 'ContratosCliente_ID_TIENDA' + DictionaryEntry = 'ContratosCliente_ID_TIENDA' end item Name = 'TIENDA' DataType = datString Size = 255 + DisplayLabel = 'ContratosCliente_TIENDA' + DictionaryEntry = 'ContratosCliente_TIENDA' end item Name = 'BASE_IMPONIBLE' @@ -239,16 +296,22 @@ inherited DataModuleContratosCliente: TDataModuleContratosCliente item Name = 'ID_VENDEDOR' DataType = datInteger + DisplayLabel = 'ContratosCliente_ID_VENDEDOR' + DictionaryEntry = 'ContratosCliente_ID_VENDEDOR' end item Name = 'VENDEDOR' DataType = datString Size = 255 + DisplayLabel = 'Vendedor' + DictionaryEntry = 'ContratosCliente_VENDEDOR' end item Name = 'PERSONA_CONTACTO' DataType = datString Size = 255 + DisplayLabel = 'Persona de contacto' + DictionaryEntry = 'ContratosCliente_PERSONA_CONTACTO' end> Params = <> StreamingOptions = [soDisableEventsWhileStreaming] @@ -448,7 +511,7 @@ inherited DataModuleContratosCliente: TDataModuleContratosCliente Left = 544 Top = 152 end - object tbl_CapitulosPresupuesto: TDAMemDataTable + object tbl_TiposCapitulos: TDAMemDataTable RemoteUpdatesOptions = [] Fields = < item @@ -483,14 +546,14 @@ inherited DataModuleContratosCliente: TDataModuleContratosCliente Params = <> StreamingOptions = [soDisableEventsWhileStreaming] RemoteDataAdapter = rda_ContratosCliente - LogicalName = 'CapitulosPresupuesto' + LogicalName = 'TiposCapitulos' IndexDefs = <> Left = 352 Top = 312 end - object ds_CapitulosPresupuesto: TDADataSource - DataSet = tbl_CapitulosPresupuesto.Dataset - DataTable = tbl_CapitulosPresupuesto + object ds_TiposCapitulos: TDADataSource + DataSet = tbl_TiposCapitulos.Dataset + DataTable = tbl_TiposCapitulos Left = 352 Top = 256 end diff --git a/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.pas b/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.pas index 4c0e3111..c02a781d 100644 --- a/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.pas +++ b/Source/Modulos/Contratos de cliente/Data/uDataModuleContratosCliente.pas @@ -29,8 +29,8 @@ type ds_Propiedades: TDADataSource; tbl_Valores: TDAMemDataTable; ds_Valores: TDADataSource; - tbl_CapitulosPresupuesto: TDAMemDataTable; - ds_CapitulosPresupuesto: TDADataSource; + tbl_TiposCapitulos: TDAMemDataTable; + ds_TiposCapitulos: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); private @@ -220,20 +220,20 @@ end; function TDataModuleContratosCliente.GetItems: IBizContratoCliente; var - APresupuesto: TDAMemDataTable; + AContrato: TDAMemDataTable; begin ShowHourglassCursor; try - APresupuesto := CloneDataTable(tbl_ContratosCliente); - AsignarClaseNegocio(APresupuesto); + AContrato := CloneDataTable(tbl_ContratosCliente); + AsignarClaseNegocio(AContrato); // EL CAMPO REFERENCIA TIENEN QUE SER AUTOREFRESH!!!!! - APresupuesto.FieldByName(fld_ContratosClienteREFERENCIA).ServerAutoRefresh := TRUE; + AContrato.FieldByName(fld_ContratosClienteREFERENCIA).ServerAutoRefresh := TRUE; - with TBizContratoCliente(APresupuesto.BusinessEventsObj) do + with TBizContratoCliente(AContrato.BusinessEventsObj) do Detalles := _GetDetalles; - Result := (APresupuesto as IBizContratoCliente); + Result := (AContrato as IBizContratoCliente); finally HideHourglassCursor; diff --git a/Source/Modulos/Contratos de cliente/Model/ContratosCliente_model.dpk b/Source/Modulos/Contratos de cliente/Model/ContratosCliente_model.dpk index 8c1e2c75..d0e79815 100644 --- a/Source/Modulos/Contratos de cliente/Model/ContratosCliente_model.dpk +++ b/Source/Modulos/Contratos de cliente/Model/ContratosCliente_model.dpk @@ -33,13 +33,16 @@ requires adortl, Base, Contactos_model, - Contactos_controller; - + Contactos_controller, + RemObjects_Core_D11, + DataAbstract_Core_D11; contains uBizDetallesContratoCliente in 'uBizDetallesContratoCliente.pas', uBizContratosCliente in 'uBizContratosCliente.pas', uIDataModuleContratosCliente in 'Data\uIDataModuleContratosCliente.pas', - uIDataModuleContratosClienteReport in 'Data\uIDataModuleContratosClienteReport.pas'; + uIDataModuleContratosClienteReport in 'Data\uIDataModuleContratosClienteReport.pas', + schContratosClienteClient_Intf in 'schContratosClienteClient_Intf.pas', + schContratosClienteServer_Intf in 'schContratosClienteServer_Intf.pas'; end. diff --git a/Source/Modulos/Contratos de cliente/Model/ContratosCliente_model.dproj b/Source/Modulos/Contratos de cliente/Model/ContratosCliente_model.dproj index 2fa9bb61..3aab6d3b 100644 --- a/Source/Modulos/Contratos de cliente/Model/ContratosCliente_model.dproj +++ b/Source/Modulos/Contratos de cliente/Model/ContratosCliente_model.dproj @@ -43,6 +43,8 @@ Package FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + + RemObjects Pascal Script - RemObjects SDK 3.0 Integration EurekaLog 5.1.9 ContratosCliente_model.dpk @@ -52,28 +54,23 @@ MainSource - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +