diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql index c1dd63d9..f77255e1 100644 --- a/Database/scripts/factuges.sql +++ b/Database/scripts/factuges.sql @@ -1004,7 +1004,8 @@ CREATE TABLE PRESUPUESTOS_CLIENTE ( ID_FORMA_PAGO TIPO_ID, REFERENCIA_CLIENTE VARCHAR(255), CLIENTE_FINAL VARCHAR(255), - ID_FACTURA TIPO_ID + ID_FACTURA TIPO_ID, + PERSONA_CONTACTO VARCHAR(255) ); @@ -2786,7 +2787,8 @@ CREATE VIEW V_PRESUPUESTOS_CLIENTE( IMPORTE_TOTAL, ID_FORMA_PAGO, ID_FACTURA, - FACTURA) + FACTURA, + PERSONA_CONTACTO) AS SELECT PRESUPUESTOS_CLIENTE.ID, @@ -2819,7 +2821,8 @@ SELECT PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL, PRESUPUESTOS_CLIENTE.ID_FORMA_PAGO, PRESUPUESTOS_CLIENTE.ID_FACTURA, - FACTURAS_CLIENTE.REFERENCIA + FACTURAS_CLIENTE.REFERENCIA, + PRESUPUESTOS_CLIENTE.PERSONA_CONTACTO FROM PRESUPUESTOS_CLIENTE INNER JOIN CONTACTOS ON (CONTACTOS.ID = PRESUPUESTOS_CLIENTE.ID_CLIENTE) diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.dpk b/Source/Modulos/Contactos/Controller/Contactos_controller.dpk index 82bd8236..34f11fe4 100644 --- a/Source/Modulos/Contactos/Controller/Contactos_controller.dpk +++ b/Source/Modulos/Contactos/Controller/Contactos_controller.dpk @@ -31,7 +31,14 @@ requires GUIBase, ApplicationBase, Contactos_model, - Contactos_data; + Contactos_data, + GUISDK_D11, + xmlrtl, + cfpack_d11, + vclx, + vclactnband, + designide, + ccpackD11; contains uContactosController in 'uContactosController.pas', @@ -65,6 +72,7 @@ contains uDatosBancariosContactoController in 'uDatosBancariosContactoController.pas', uIEditorDatoBancarioContacto in 'View\uIEditorDatoBancarioContacto.pas', uPersonalContactoController in 'uPersonalContactoController.pas', - uIEditorPersonalContacto in 'View\uIEditorPersonalContacto.pas'; + uIEditorPersonalContacto in 'View\uIEditorPersonalContacto.pas', + uIEditorElegirPersonaContactoCliente in 'View\uIEditorElegirPersonaContactoCliente.pas'; end. diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.dproj b/Source/Modulos/Contactos/Controller/Contactos_controller.dproj index 1d76aa49..14d16ac5 100644 --- a/Source/Modulos/Contactos/Controller/Contactos_controller.dproj +++ b/Source/Modulos/Contactos/Controller/Contactos_controller.dproj @@ -43,15 +43,6 @@ Package FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 - - - - - - - - - JCL Debug IDE extension JCL Project Analyzer JCL Open and Save IDE dialogs with favorite folders @@ -62,13 +53,6 @@ MainSource - - - - - - - @@ -81,6 +65,16 @@ + + + + + + + + + + @@ -90,6 +84,7 @@ + @@ -101,6 +96,10 @@ + + + + diff --git a/Source/Modulos/Contactos/Controller/View/uIEditorElegirPersonaContactoCliente.pas b/Source/Modulos/Contactos/Controller/View/uIEditorElegirPersonaContactoCliente.pas new file mode 100644 index 00000000..98d08b84 --- /dev/null +++ b/Source/Modulos/Contactos/Controller/View/uIEditorElegirPersonaContactoCliente.pas @@ -0,0 +1,29 @@ +unit uIEditorElegirPersonaContactoCliente; + +interface + +uses + uBizContactosPersonal, uGUIBase; + +type + IEditorElegirPersonaContactoCliente = interface + ['{40EBA9D9-EFE4-4A0E-B433-AD61E2EAF94F}'] + function GetPersonas: IBizContactoPersonal; + procedure SetPersonas(const Value: IBizContactoPersonal); + property Personas: IBizContactoPersonal read GetPersonas write SetPersonas; + + procedure SetMensaje (const AValue: String); + function GetMensaje: String; + property Mensaje : String read GetMensaje write SetMensaje; + + function GetPersonaSeleccionada: IBizContactoPersonal; + property PersonaSeleccionada: IBizContactoPersonal read GetPersonaSeleccionada; + + function ShowModal : Integer; + procedure Release; + end; + + +implementation + +end. diff --git a/Source/Modulos/Contactos/Controller/uClientesController.pas b/Source/Modulos/Contactos/Controller/uClientesController.pas index 8b98983f..fafae4ed 100644 --- a/Source/Modulos/Contactos/Controller/uClientesController.pas +++ b/Source/Modulos/Contactos/Controller/uClientesController.pas @@ -6,7 +6,7 @@ uses uCustomEditor, uContactosController, uBizContactos, uBizDireccionesContacto, uIEditorClientes, uIEditorCliente, uIDataModuleContactos, uIDataModuleClientes, - uDireccionesContactoController; + uDireccionesContactoController, uBizContactosPersonal; type IClientesController = interface(IContactosController) @@ -14,6 +14,7 @@ type function BuscarTodosTiendaWeb: IBizCliente; function TieneDatosBancarios(ACliente: IBizCliente) : Boolean; function ElegirDireccionEntrega(ADirecciones: IBizDireccionesContacto; AMensaje: String): IBizDireccionesContacto; + function ElegirPersonaContacto(APersonal: IBizContactoPersonal; AMensaje: String): IBizContactoPersonal; function EsEliminable(ACliente: IBizContacto): Boolean; function Eliminar(ACliente: IBizContacto; AllItems: Boolean = false): Boolean; overload; procedure Preview(ACliente : IBizCliente; AllItems: Boolean = false); @@ -41,6 +42,8 @@ type function TieneDatosBancarios(ACliente: IBizCliente) : Boolean; function ElegirDireccionEntrega(ADirecciones: IBizDireccionesContacto; AMensaje: String): IBizDireccionesContacto; + function ElegirPersonaContacto(APersonal: IBizContactoPersonal; + AMensaje: String): IBizContactoPersonal; function EsEliminable(ACliente: IBizContacto): Boolean; function Eliminar(ACliente: IBizContacto; AllItems: Boolean = false): Boolean; overload; procedure Preview(ACliente : IBizCliente; AllItems: Boolean = false); @@ -53,7 +56,7 @@ uses Forms, Classes, Windows, SysUtils, Controls, cxControls, uDialogUtils, uDataModuleClientes, uEditorRegistryUtils, uDataTableUtils, uDADataTable, DB, schContactosClient_Intf, uEtiquetasContactosReportController, uIEditorElegirClientes, uIEditorElegirDireccionEntrega, uEditorGridBase, - Dialogs, uIntegerListUtils; + Dialogs, uIntegerListUtils, uIEditorElegirPersonaContactoCliente; { TClientesController } @@ -128,17 +131,39 @@ begin Result := NIL; CreateEditor('EditorElegirDireccionEntrega', IEditorElegirDireccionEntrega, AEditor); - try - with AEditor do - begin - Direccion := ADirecciones; - Mensaje := AMensaje; - if IsPositiveResult(ShowModal) then - Result := DireccionSeleccionada; - Release; + if Assigned(AEditor) then + begin + try + AEditor.Direccion := ADirecciones; + AEditor.Mensaje := AMensaje; + if IsPositiveResult(AEditor.ShowModal) then + Result := AEditor.DireccionSeleccionada; + finally + AEditor.Release; + AEditor := NIL; + end; + end; +end; + +function TClientesController.ElegirPersonaContacto( + APersonal: IBizContactoPersonal; AMensaje: String): IBizContactoPersonal; +var + AEditor : IEditorElegirPersonaContactoCliente; +begin + Result := NIL; + + CreateEditor('EditorElegirPersonaContactoCliente', IEditorElegirPersonaContactoCliente, AEditor); + if Assigned(AEditor) then + begin + try + AEditor.Personas := APersonal; + AEditor.Mensaje := AMensaje; + if IsPositiveResult(AEditor.ShowModal) then + Result := AEditor.PersonaSeleccionada; + finally + AEditor.Release; + AEditor := NIL; end; - finally - AEditor := NIL; end; end; diff --git a/Source/Modulos/Contactos/Views/Contactos_view.dpk b/Source/Modulos/Contactos/Views/Contactos_view.dpk index 278bf5ab..7594ff77 100644 --- a/Source/Modulos/Contactos/Views/Contactos_view.dpk +++ b/Source/Modulos/Contactos/Views/Contactos_view.dpk @@ -35,7 +35,7 @@ requires TiposIVA_model, TiposIVA_controller, Contactos_model, - Contactos_controller, + Contactos_controller, JvGlobusD11R, dbrtl, DataAbstract_Core_D11, @@ -82,7 +82,7 @@ contains uViewDireccionesEntrega in 'uViewDireccionesEntrega.pas' {frViewDireccionesEntrega: TFrame}, uViewClienteDescuentos in 'uViewClienteDescuentos.pas' {frViewClienteDescuentos: TFrame}, uEditorDatoBancario in 'uEditorDatoBancario.pas' {fEditorDatoBancario}, - uEditorElegirDireccionEntrega in 'uEditorElegirDireccionEntrega.pas' {fEditorElegirDireccionEntrega: TfEditorElegirDireccionEntrega}, + uEditorElegirPersonaContactoCliente in 'uEditorElegirPersonaContactoCliente.pas' {fEditorElegirPersonaContactoCliente: TfEditorElegirDireccionEntrega}, uViewContactoDatosBancarios in 'uViewContactoDatosBancarios.pas' {frViewClienteDatosBancarios: TFrame}, uViewProveedorDatosComerciales in 'uViewProveedorDatosComerciales.pas' {frViewProveedorDatosComerciales: TFrame}, uViewClienteDatosComerciales in 'uViewClienteDatosComerciales.pas' {frViewClienteDatosComerciales: TFrame}, diff --git a/Source/Modulos/Contactos/Views/Contactos_view.dproj b/Source/Modulos/Contactos/Views/Contactos_view.dproj index cadc3d06..13840958 100644 --- a/Source/Modulos/Contactos/Views/Contactos_view.dproj +++ b/Source/Modulos/Contactos/Views/Contactos_view.dproj @@ -49,38 +49,52 @@ MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
fEditorCliente
@@ -109,8 +123,8 @@
fEditorElegirClientes
TCustomEditor
- -
fEditorElegirDireccionEntrega
+ +
fEditorElegirPersonaContactoCliente
TfEditorElegirDireccionEntrega
diff --git a/Source/Modulos/Contactos/Views/uContactosViewRegister.pas b/Source/Modulos/Contactos/Views/uContactosViewRegister.pas index e72432c8..2afbd8d1 100644 --- a/Source/Modulos/Contactos/Views/uContactosViewRegister.pas +++ b/Source/Modulos/Contactos/Views/uContactosViewRegister.pas @@ -15,7 +15,7 @@ uses uEditorEmpleado, uEditorElegirProveedores, uEditorDireccion, uEditorElegirDireccionEntrega, uEditorGruposCliente, uEditorGruposProveedor, uEditorGruposEmpleado, uEditorFichasEmpleadoReport, uEditorEtiquetasContactosReport, - uEditorDatoBancario, uEditorPersonal; + uEditorDatoBancario, uEditorPersonal, uEditorElegirPersonaContactoCliente; procedure RegisterViews; begin @@ -43,6 +43,8 @@ begin EditorRegistry.RegisterClass(TfEditorFichasEmpleadoPreview, 'EditorFichasEmpleadoPreview'); EditorRegistry.RegisterClass(TfEditorEtiquetasContactosPreview, 'EditorEtiquetasContactosPreview'); + + EditorRegistry.RegisterClass(TfEditorElegirPersonaContactoCliente, 'EditorElegirPersonaContactoCliente'); end; procedure UnregisterViews; @@ -70,7 +72,9 @@ begin EditorRegistry.UnRegisterClass(TfEditorDatoBancario); EditorRegistry.UnRegisterClass(TfEditorFichasEmpleadoPreview); - EditorRegistry.UnRegisterClass(TfEditorEtiquetasContactosPreview); + EditorRegistry.UnRegisterClass(TfEditorEtiquetasContactosPreview); + + EditorRegistry.UnRegisterClass(TfEditorElegirPersonaContactoCliente); end; end. diff --git a/Source/Modulos/Contactos/Views/uEditorElegirPersonaContactoCliente.dfm b/Source/Modulos/Contactos/Views/uEditorElegirPersonaContactoCliente.dfm new file mode 100644 index 00000000..76bc83b1 --- /dev/null +++ b/Source/Modulos/Contactos/Views/uEditorElegirPersonaContactoCliente.dfm @@ -0,0 +1,247 @@ +object fEditorElegirPersonaContactoCliente: TfEditorElegirPersonaContactoCliente + Left = 227 + Top = 108 + BorderStyle = bsDialog + Caption = 'Elegir una direcciones de cliente' + ClientHeight = 383 + ClientWidth = 599 + Color = clBtnFace + ParentFont = True + OldCreateOrder = True + Position = poOwnerFormCenter + PixelsPerInch = 96 + TextHeight = 13 + object JvgWizardHeader1: TJvgWizardHeader + Left = 0 + Top = 0 + Width = 599 + Height = 60 + CaptionFont.Charset = DEFAULT_CHARSET + CaptionFont.Color = clWindowText + CaptionFont.Height = -11 + CaptionFont.Name = 'Tahoma' + CaptionFont.Style = [fsBold] + CommentFont.Charset = DEFAULT_CHARSET + CommentFont.Color = clWindowText + CommentFont.Height = -11 + CommentFont.Name = 'Tahoma' + CommentFont.Style = [] + SymbolFont.Charset = DEFAULT_CHARSET + SymbolFont.Color = clHighlightText + SymbolFont.Height = -35 + SymbolFont.Name = 'Wingdings' + SymbolFont.Style = [fsBold] + Captions.Strings = ( + 'Seleccione una persona de contacto') + Comments.Strings = ( + + 'El cliente dispone de personas de contacto dadas de alta en su f' + + 'icha. Seleccione la que quiere utilizar.') + Gradient.FromColor = clHighlight + Gradient.ToColor = clWindow + Gradient.Active = False + Gradient.Orientation = fgdVertical + BufferedDraw = False + ExplicitLeft = -57 + ExplicitTop = 27 + ExplicitWidth = 656 + end + inline frViewBarraSeleccion1: TfrViewBarraSeleccion + Left = 0 + Top = 334 + Width = 599 + Height = 49 + Align = alBottom + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + TabOrder = 0 + ReadOnly = False + ExplicitTop = 334 + ExplicitWidth = 599 + inherited JvFooter1: TJvFooter + Width = 599 + ExplicitWidth = 599 + inherited bSeleccionar: TJvFooterBtn + Left = 387 + ExplicitLeft = 387 + end + inherited bCancelar: TJvFooterBtn + Left = 491 + ExplicitLeft = 491 + end + end + inherited BarraSeleccionActionList: TActionList + Top = 11 + inherited actSeleccionar: TAction + OnExecute = frViewBarraSeleccion1actSeleccionarExecute + end + inherited actCancelar: TAction + OnExecute = frViewBarraSeleccion1actCancelarExecute + end + end + end + object DBCtrlGrid1: TDBCtrlGrid + Left = 8 + Top = 66 + Width = 583 + Height = 261 + Margins.Left = 10 + Margins.Top = 10 + Margins.Right = 10 + Margins.Bottom = 0 + AllowDelete = False + AllowInsert = False + Color = clBtnFace + DataSource = dsPersonas + PanelHeight = 87 + PanelWidth = 566 + ParentColor = False + TabOrder = 1 + SelectedColor = clHighlight + OnDblClick = DBCtrlGrid1DblClick + object ePuesto: TDBText + Left = 58 + Top = 28 + Width = 502 + Height = 17 + DataField = 'PUESTO' + DataSource = dsPersonas + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + Transparent = True + OnDblClick = ComponenteDblClick + end + object eTelefono: TDBText + Left = 70 + Top = 47 + Width = 187 + Height = 17 + DataField = 'TELEFONO' + DataSource = dsPersonas + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + Transparent = True + OnDblClick = ComponenteDblClick + end + object eNombre: TDBText + Left = 8 + Top = 7 + Width = 537 + Height = 17 + DataField = 'NOMBRE' + DataSource = dsPersonas + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + Transparent = True + OnDblClick = ComponenteDblClick + end + object Label1: TLabel + Left = 15 + Top = 28 + Width = 37 + Height = 13 + Caption = 'Puesto:' + OnDblClick = ComponenteDblClick + end + object Label2: TLabel + Left = 15 + Top = 47 + Width = 46 + Height = 13 + Caption = 'Tel'#233'fono:' + OnDblClick = ComponenteDblClick + end + object Label3: TLabel + Left = 281 + Top = 47 + Width = 47 + Height = 13 + Caption = 'Tlf. m'#243'vil:' + OnDblClick = ComponenteDblClick + end + object eMovil: TDBText + Left = 334 + Top = 47 + Width = 187 + Height = 17 + DataField = 'MOVIL' + DataSource = dsPersonas + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + Transparent = True + OnDblClick = ComponenteDblClick + end + object Label4: TLabel + Left = 16 + Top = 66 + Width = 48 + Height = 13 + Caption = 'N'#250'm. fax:' + OnDblClick = ComponenteDblClick + end + object eFax: TDBText + Left = 70 + Top = 66 + Width = 187 + Height = 17 + DataField = 'FAX' + DataSource = dsPersonas + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + Transparent = True + OnDblClick = ComponenteDblClick + end + object Label5: TLabel + Left = 281 + Top = 66 + Width = 32 + Height = 13 + Caption = 'E-mail:' + OnDblClick = ComponenteDblClick + end + object eEMail: TDBText + Left = 334 + Top = 66 + Width = 187 + Height = 17 + DataField = 'EMAIL' + DataSource = dsPersonas + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + Transparent = True + OnDblClick = ComponenteDblClick + end + end + object dsPersonas: TDADataSource + Left = 24 + Top = 286 + end +end diff --git a/Source/Modulos/Contactos/Views/uEditorElegirPersonaContactoCliente.pas b/Source/Modulos/Contactos/Views/uEditorElegirPersonaContactoCliente.pas new file mode 100644 index 00000000..d48dc589 --- /dev/null +++ b/Source/Modulos/Contactos/Views/uEditorElegirPersonaContactoCliente.pas @@ -0,0 +1,110 @@ +unit uEditorElegirPersonaContactoCliente; + +interface + +uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, + Buttons, ExtCtrls, Mask, DBCtrls, DB, uDADataTable, + cxControls, cxContainer, cxEdit, cxTextEdit, cxDBEdit, + uIEditorElegirPersonaContactoCliente, uCustomView, + uViewBase, uViewBarraSeleccion, JvExControls, JvComponent, JvgWizardHeader, + DBCGrids, uBizContactosPersonal, uDAInterfaces; + +type + TfEditorElegirPersonaContactoCliente = class(TForm, IEditorElegirPersonaContactoCliente) + dsPersonas: TDADataSource; + frViewBarraSeleccion1: TfrViewBarraSeleccion; + JvgWizardHeader1: TJvgWizardHeader; + DBCtrlGrid1: TDBCtrlGrid; + ePuesto: TDBText; + eTelefono: TDBText; + eNombre: TDBText; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + eMovil: TDBText; + Label4: TLabel; + eFax: TDBText; + Label5: TLabel; + eEMail: TDBText; + procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject); + procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject); + procedure DBCtrlGrid1DblClick(Sender: TObject); + procedure ComponenteDblClick(Sender: TObject); + + protected + FPersonas: IBizContactoPersonal; + function GetPersonas: IBizContactoPersonal; + procedure SetPersonas(const Value: IBizContactoPersonal); + + function GetPersonaSeleccionada: IBizContactoPersonal; + + procedure SetMensaje (const AValue: String); + function GetMensaje: String; + public + property Mensaje : String read GetMensaje write SetMensaje; + property Personas: IBizContactoPersonal read GetPersonas write SetPersonas; + property PersonaSeleccionada: IBizContactoPersonal read GetPersonaSeleccionada; + end; + +implementation +{$R *.dfm} + +uses + uDireccionesContactoController; + +{ TfEditorDireccionEntrega } + +procedure TfEditorElegirPersonaContactoCliente.DBCtrlGrid1DblClick(Sender: TObject); +begin + frViewBarraSeleccion1.actSeleccionar.Execute; +end; + +procedure TfEditorElegirPersonaContactoCliente.ComponenteDblClick(Sender: TObject); +begin + DBCtrlGrid1DblClick(Sender); +end; + +procedure TfEditorElegirPersonaContactoCliente.frViewBarraSeleccion1actCancelarExecute( + Sender: TObject); +begin + ModalResult := mrCancel; +end; + +procedure TfEditorElegirPersonaContactoCliente.frViewBarraSeleccion1actSeleccionarExecute( + Sender: TObject); +begin + ModalResult := mrOk; +end; + +function TfEditorElegirPersonaContactoCliente.GetPersonas: IBizContactoPersonal; +begin + Result := FPersonas; +end; + +function TfEditorElegirPersonaContactoCliente.GetPersonaSeleccionada: IBizContactoPersonal; +begin + // Devuelvo el mismo objeto que recibo pero con el punto de lectura + // posicionado en la dirección elegida. + Result := FPersonas; +end; + +function TfEditorElegirPersonaContactoCliente.GetMensaje: String; +begin + Result := JvgWizardHeader1.Comments.Text; +end; + +procedure TfEditorElegirPersonaContactoCliente.SetPersonas(const Value: IBizContactoPersonal); +begin + FPersonas := Value; + if Assigned(FPersonas) then + dsPersonas.DataTable := FPersonas.DataTable + else + dsPersonas.DataTable := NIL; +end; + +procedure TfEditorElegirPersonaContactoCliente.SetMensaje(const AValue: String); +begin + JvgWizardHeader1.Comments.Text := AValue; +end; + +end. diff --git a/Source/Modulos/Contactos/Views/uEditorEmpleado.dfm b/Source/Modulos/Contactos/Views/uEditorEmpleado.dfm index 55b3a2ec..4b893c04 100644 --- a/Source/Modulos/Contactos/Views/uEditorEmpleado.dfm +++ b/Source/Modulos/Contactos/Views/uEditorEmpleado.dfm @@ -67,6 +67,8 @@ inherited fEditorEmpleado: TfEditorEmpleado ExplicitWidth = 923 ExplicitHeight = 482 inherited pagGeneral: TTabSheet + ExplicitLeft = 0 + ExplicitTop = 0 ExplicitWidth = 915 ExplicitHeight = 454 inline frViewEmpleado1: TfrViewEmpleado @@ -111,18 +113,30 @@ inherited fEditorEmpleado: TfEditorEmpleado end inherited eCalle: TcxDBTextEdit Top = 243 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitTop = 243 ExplicitWidth = 341 Width = 341 end inherited cbProvincia: TcxDBComboBox Top = 270 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitTop = 270 ExplicitWidth = 240 Width = 240 end inherited cbPoblacion: TcxDBComboBox Top = 297 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitTop = 297 ExplicitWidth = 341 Width = 341 @@ -130,11 +144,19 @@ inherited fEditorEmpleado: TfEditorEmpleado inherited eCodigoPostal: TcxDBTextEdit Left = 397 Top = 270 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 397 ExplicitTop = 270 end inherited eObservaciones: TcxDBMemo Top = 375 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitTop = 375 ExplicitWidth = 871 ExplicitHeight = 63 @@ -143,18 +165,30 @@ inherited fEditorEmpleado: TfEditorEmpleado end inherited eFechaNacimiento: TcxDBDateEdit Top = 84 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitTop = 84 ExplicitWidth = 341 Width = 341 end inherited eFechaAltaEmpresa: TcxDBDateEdit Top = 111 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitTop = 111 ExplicitWidth = 341 Width = 341 end inherited cbCategoria: TcxDBComboBox Top = 138 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitTop = 138 ExplicitWidth = 341 Width = 341 @@ -162,6 +196,10 @@ inherited fEditorEmpleado: TfEditorEmpleado inherited cbContrato: TcxDBComboBox Left = 585 Top = 270 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 585 ExplicitTop = 270 ExplicitWidth = 308 @@ -170,6 +208,10 @@ inherited fEditorEmpleado: TfEditorEmpleado inherited eDuracionContrato: TcxDBTextEdit Left = 585 Top = 297 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 585 ExplicitTop = 297 ExplicitWidth = 308 @@ -178,6 +220,10 @@ inherited fEditorEmpleado: TfEditorEmpleado inherited eTlfParticular: TcxDBTextEdit Left = 585 Top = 57 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 585 ExplicitTop = 57 ExplicitWidth = 308 @@ -186,6 +232,10 @@ inherited fEditorEmpleado: TfEditorEmpleado inherited eTlfTrabajo: TcxDBTextEdit Left = 585 Top = 30 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 585 ExplicitTop = 30 ExplicitWidth = 308 @@ -194,6 +244,10 @@ inherited fEditorEmpleado: TfEditorEmpleado inherited eTlfMovil: TcxDBTextEdit Left = 585 Top = 84 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 585 ExplicitTop = 84 ExplicitWidth = 308 @@ -202,6 +256,10 @@ inherited fEditorEmpleado: TfEditorEmpleado inherited eFax: TcxDBTextEdit Left = 585 Top = 111 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 585 ExplicitTop = 111 ExplicitWidth = 308 @@ -209,6 +267,10 @@ inherited fEditorEmpleado: TfEditorEmpleado end inherited eNombre: TcxDBTextEdit Top = 57 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitTop = 57 ExplicitWidth = 341 Width = 341 @@ -216,6 +278,10 @@ inherited fEditorEmpleado: TfEditorEmpleado inherited eNIFCIF: TcxDBTextEdit Left = 259 Top = 30 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 259 ExplicitTop = 30 ExplicitWidth = 203 @@ -225,6 +291,10 @@ inherited fEditorEmpleado: TfEditorEmpleado Left = 585 Top = 162 Properties.Prefix = 'mailto:' + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 585 ExplicitTop = 162 ExplicitWidth = 279 @@ -234,6 +304,10 @@ inherited fEditorEmpleado: TfEditorEmpleado Left = 585 Top = 190 Properties.Prefix = 'mailto:' + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 585 ExplicitTop = 190 ExplicitWidth = 279 @@ -242,12 +316,20 @@ inherited fEditorEmpleado: TfEditorEmpleado inherited eFechaBaja: TcxDBDateEdit Top = 165 Properties.ImmediatePost = True + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitTop = 165 ExplicitWidth = 341 Width = 341 end inherited eCausaBaja: TcxDBTextEdit Top = 192 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitTop = 192 ExplicitWidth = 341 Width = 341 @@ -255,6 +337,10 @@ inherited fEditorEmpleado: TfEditorEmpleado inherited ePaginaWeb: TcxDBHyperLinkEdit Left = 585 Top = 217 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 585 ExplicitTop = 217 ExplicitWidth = 279 @@ -262,12 +348,20 @@ inherited fEditorEmpleado: TfEditorEmpleado end inherited eReferencia: TcxDBTextEdit Top = 30 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitTop = 30 ExplicitWidth = 105 Width = 105 end inherited ePersonaContacto: TcxDBTextEdit Top = 324 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitTop = 324 ExplicitWidth = 341 Width = 341 @@ -347,6 +441,10 @@ inherited fEditorEmpleado: TfEditorEmpleado object pagFormacion: TTabSheet Caption = 'Formaci'#243'n' ImageIndex = 2 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object dxLayoutControl1: TdxLayoutControl Left = 0 Top = 0 @@ -369,12 +467,16 @@ inherited fEditorEmpleado: TfEditorEmpleado Style.HotTrack = False Style.LookAndFeel.Kind = lfStandard Style.LookAndFeel.NativeStyle = True + Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.Kind = lfStandard StyleDisabled.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.Kind = lfStandard StyleFocused.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.SkinName = '' TabOrder = 0 Height = 116 Width = 871 @@ -390,12 +492,16 @@ inherited fEditorEmpleado: TfEditorEmpleado Style.HotTrack = False Style.LookAndFeel.Kind = lfStandard Style.LookAndFeel.NativeStyle = True + Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.Kind = lfStandard StyleDisabled.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.Kind = lfStandard StyleFocused.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.SkinName = '' TabOrder = 1 Height = 116 Width = 871 @@ -411,12 +517,16 @@ inherited fEditorEmpleado: TfEditorEmpleado Style.HotTrack = False Style.LookAndFeel.Kind = lfStandard Style.LookAndFeel.NativeStyle = True + Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.Kind = lfStandard StyleDisabled.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.Kind = lfStandard StyleFocused.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.SkinName = '' TabOrder = 2 Height = 116 Width = 871 @@ -465,6 +575,10 @@ inherited fEditorEmpleado: TfEditorEmpleado object pagExperiencia: TTabSheet Caption = 'Experiencia' ImageIndex = 3 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object dxLayoutControl2: TdxLayoutControl Left = 0 Top = 0 @@ -488,12 +602,16 @@ inherited fEditorEmpleado: TfEditorEmpleado Style.HotTrack = False Style.LookAndFeel.Kind = lfStandard Style.LookAndFeel.NativeStyle = True + Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.Kind = lfStandard StyleDisabled.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.Kind = lfStandard StyleFocused.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.SkinName = '' TabOrder = 0 Height = 408 Width = 871 diff --git a/Source/Modulos/Contactos/Views/uEditorEmpleado.pas b/Source/Modulos/Contactos/Views/uEditorEmpleado.pas index 6d2c548d..0c78cd0b 100644 --- a/Source/Modulos/Contactos/Views/uEditorEmpleado.pas +++ b/Source/Modulos/Contactos/Views/uEditorEmpleado.pas @@ -86,13 +86,9 @@ end; procedure TfEditorEmpleado.ImprimirInterno; var - Respuesta : Integer; AFichas: IBizEmpleado; - AllItems: Boolean; begin AFichas := Nil; - AllItems := False; - AFichas := (Contacto as IBizEmpleado); if Assigned(AFichas) then @@ -116,13 +112,9 @@ end; procedure TfEditorEmpleado.PrevisualizarInterno; var - Respuesta : Integer; AFichas: IBizEmpleado; - AllItems: Boolean; begin AFichas := Nil; - AllItems := False; - AFichas := (Contacto as IBizEmpleado); if Assigned(AFichas) then diff --git a/Source/Modulos/Contactos/Views/uViewDatosYSeleccionCliente.pas b/Source/Modulos/Contactos/Views/uViewDatosYSeleccionCliente.pas index 382013ff..cb97c1c6 100644 --- a/Source/Modulos/Contactos/Views/uViewDatosYSeleccionCliente.pas +++ b/Source/Modulos/Contactos/Views/uViewDatosYSeleccionCliente.pas @@ -71,23 +71,23 @@ type procedure actVerContactoUpdate(Sender: TObject); private - FController : IClientesController; - FCliente : IBizCliente; FOnClienteChanged : TNotifyEvent; FMsgElegirCliente: String; function GetMsgElegirCliente: String; procedure SetMsgElegirCliente(const Value: String); protected + FController : IClientesController; + FCliente : IBizCliente; function GetController: IClientesController; procedure SetController(Value: IClientesController); - function GetCliente: IBizCliente; - procedure SetCliente(Value: IBizCliente); + function GetCliente: IBizCliente; virtual; + procedure SetCliente(Value: IBizCliente); virtual; function GetOnClienteChanged : TNotifyEvent; procedure SetOnClienteChanged (const Value : TNotifyEvent); procedure SetReadOnly(Value: Boolean); override; - function GetID_Cliente: integer; - procedure SetID_Cliente(const Value: integer); + function GetID_Cliente: integer; virtual; + procedure SetID_Cliente(const Value: integer); virtual; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; diff --git a/Source/Modulos/Gestion de documentos/Controller/GestorDocumentos_controller.drc b/Source/Modulos/Gestion de documentos/Controller/GestorDocumentos_controller.drc index 438112db..395d12e7 100644 --- a/Source/Modulos/Gestion de documentos/Controller/GestorDocumentos_controller.drc +++ b/Source/Modulos/Gestion de documentos/Controller/GestorDocumentos_controller.drc @@ -13,4 +13,4 @@ BEGIN END /* C:\Codigo Tecsitel\Source\Modulos\Gestion de documentos\Controller\GestorDocumentos_Controller.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf260.tmp */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf285.tmp */ diff --git a/Source/Modulos/Gestion de documentos/Data/GestorDocumentos_data.drc b/Source/Modulos/Gestion de documentos/Data/GestorDocumentos_data.drc index e09dd37e..67288f6a 100644 --- a/Source/Modulos/Gestion de documentos/Data/GestorDocumentos_data.drc +++ b/Source/Modulos/Gestion de documentos/Data/GestorDocumentos_data.drc @@ -14,4 +14,4 @@ END /* C:\Codigo Tecsitel\Source\Modulos\Gestion de documentos\Data\uDataModuleGestorDocumentos.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Gestion de documentos\Data\GestorDocumentos_data.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf25E.tmp */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf283.tmp */ diff --git a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm index 2e964059..9c06efe5 100644 --- a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm +++ b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm @@ -221,6 +221,13 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente Name = 'FACTURA' DataType = datString Size = 255 + end + item + Name = 'PERSONA_CONTACTO' + DataType = datString + Size = 255 + DisplayLabel = 'Persona de contacto' + DictionaryEntry = 'PresupuestosCliente_PERSONA_CONTACTO' end> Params = <> StreamingOptions = [soDisableEventsWhileStreaming] diff --git a/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dproj b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dproj index cec3ab45..04031b26 100644 --- a/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dproj +++ b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dproj @@ -42,7 +42,7 @@ Delphi.Personality Package -FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 RemObjects Pascal Script - RemObjects SDK 3.0 Integration EurekaLog 5.1.9 PresupuestosCliente_model.dpk diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas index 69673d7d..f8ca3ddd 100644 --- a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas +++ b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas @@ -9,8 +9,8 @@ const { Data table rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_PresupuestosCliente = '{89F89777-0F3D-4773-BCF7-D9EDC642EB9F}'; - RID_PresupuestosCliente_Detalles = '{F2B28DDF-AFEE-424B-AC4F-4BB35ED49C18}'; + RID_PresupuestosCliente = '{469001A1-C0ED-4AA1-AFA1-D87F447B92D3}'; + RID_PresupuestosCliente_Detalles = '{0C15349E-9BB9-437D-9152-BB070D344F3B}'; { Data table names } nme_PresupuestosCliente = 'PresupuestosCliente'; @@ -48,6 +48,7 @@ const fld_PresupuestosClienteID_FORMA_PAGO = 'ID_FORMA_PAGO'; fld_PresupuestosClienteID_FACTURA = 'ID_FACTURA'; fld_PresupuestosClienteFACTURA = 'FACTURA'; + fld_PresupuestosClientePERSONA_CONTACTO = 'PERSONA_CONTACTO'; { PresupuestosCliente field indexes } idx_PresupuestosClienteID = 0; @@ -81,6 +82,7 @@ const idx_PresupuestosClienteID_FORMA_PAGO = 28; idx_PresupuestosClienteID_FACTURA = 29; idx_PresupuestosClienteFACTURA = 30; + idx_PresupuestosClientePERSONA_CONTACTO = 31; { PresupuestosCliente_Detalles fields } fld_PresupuestosCliente_DetallesID = 'ID'; @@ -119,7 +121,7 @@ const type { IPresupuestosCliente } IPresupuestosCliente = interface(IDAStronglyTypedDataTable) - ['{75476B18-14DA-4F77-9CCA-CBB84940A43C}'] + ['{879349D0-AFB3-4D2C-8736-9C44B8F1C0E2}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -241,6 +243,10 @@ type procedure SetFACTURAValue(const aValue: String); function GetFACTURAIsNull: Boolean; procedure SetFACTURAIsNull(const aValue: Boolean); + function GetPERSONA_CONTACTOValue: String; + procedure SetPERSONA_CONTACTOValue(const aValue: String); + function GetPERSONA_CONTACTOIsNull: Boolean; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); { Properties } @@ -306,6 +312,8 @@ type property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull; property FACTURA: String read GetFACTURAValue write SetFACTURAValue; property FACTURAIsNull: Boolean read GetFACTURAIsNull write SetFACTURAIsNull; + property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; end; { TPresupuestosClienteDataTableRules } @@ -441,6 +449,10 @@ type procedure SetFACTURAValue(const aValue: String); virtual; function GetFACTURAIsNull: Boolean; virtual; procedure SetFACTURAIsNull(const aValue: Boolean); virtual; + function GetPERSONA_CONTACTOValue: String; virtual; + procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual; + function GetPERSONA_CONTACTOIsNull: Boolean; virtual; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; @@ -505,6 +517,8 @@ type property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull; property FACTURA: String read GetFACTURAValue write SetFACTURAValue; property FACTURAIsNull: Boolean read GetFACTURAIsNull write SetFACTURAIsNull; + property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -514,7 +528,7 @@ type { IPresupuestosCliente_Detalles } IPresupuestosCliente_Detalles = interface(IDAStronglyTypedDataTable) - ['{DD64698E-5579-4A4D-BA5F-6CADB7B70DCB}'] + ['{4D852074-23F1-488D-9188-EE0A686AA6AC}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -1403,6 +1417,27 @@ begin DataTable.Fields[idx_PresupuestosClienteFACTURA].AsVariant := Null; end; +function TPresupuestosClienteDataTableRules.GetPERSONA_CONTACTOValue: String; +begin + result := DataTable.Fields[idx_PresupuestosClientePERSONA_CONTACTO].AsString; +end; + +procedure TPresupuestosClienteDataTableRules.SetPERSONA_CONTACTOValue(const aValue: String); +begin + DataTable.Fields[idx_PresupuestosClientePERSONA_CONTACTO].AsString := aValue; +end; + +function TPresupuestosClienteDataTableRules.GetPERSONA_CONTACTOIsNull: boolean; +begin + result := DataTable.Fields[idx_PresupuestosClientePERSONA_CONTACTO].IsNull; +end; + +procedure TPresupuestosClienteDataTableRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_PresupuestosClientePERSONA_CONTACTO].AsVariant := Null; +end; + { TPresupuestosCliente_DetallesDataTableRules } constructor TPresupuestosCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable); diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas index fad4e5a2..731681d9 100644 --- a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas +++ b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_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_PresupuestosClienteDelta = '{41FB8E7F-7AF2-4249-9C75-76E6586FC80C}'; - RID_PresupuestosCliente_DetallesDelta = '{6B4F2438-4896-46C7-8D87-B21770DA9B2E}'; + RID_PresupuestosClienteDelta = '{8DECA7AC-12C3-4688-867C-EF1FBF18E4BC}'; + RID_PresupuestosCliente_DetallesDelta = '{AC56C197-1697-4E61-96A2-AAEC2E9F783D}'; type { IPresupuestosClienteDelta } IPresupuestosClienteDelta = interface(IPresupuestosCliente) - ['{41FB8E7F-7AF2-4249-9C75-76E6586FC80C}'] + ['{8DECA7AC-12C3-4688-867C-EF1FBF18E4BC}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -48,6 +48,7 @@ type function GetOldID_FORMA_PAGOValue : Integer; function GetOldID_FACTURAValue : Integer; function GetOldFACTURAValue : String; + function GetOldPERSONA_CONTACTOValue : String; { Properties } property OldID : Integer read GetOldIDValue; @@ -81,6 +82,7 @@ type property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue; property OldID_FACTURA : Integer read GetOldID_FACTURAValue; property OldFACTURA : String read GetOldFACTURAValue; + property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue; end; { TPresupuestosClienteBusinessProcessorRules } @@ -278,6 +280,12 @@ type function GetOldFACTURAIsNull: Boolean; virtual; procedure SetFACTURAValue(const aValue: String); virtual; procedure SetFACTURAIsNull(const aValue: Boolean); virtual; + function GetPERSONA_CONTACTOValue: String; virtual; + function GetPERSONA_CONTACTOIsNull: Boolean; virtual; + function GetOldPERSONA_CONTACTOValue: String; virtual; + function GetOldPERSONA_CONTACTOIsNull: Boolean; virtual; + procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual; + procedure SetPERSONA_CONTACTOIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; @@ -404,6 +412,10 @@ type property FACTURAIsNull : Boolean read GetFACTURAIsNull write SetFACTURAIsNull; property OldFACTURA : String read GetOldFACTURAValue; property OldFACTURAIsNull : Boolean read GetOldFACTURAIsNull; + property PERSONA_CONTACTO : String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue; + property PERSONA_CONTACTOIsNull : Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull; + property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue; + property OldPERSONA_CONTACTOIsNull : Boolean read GetOldPERSONA_CONTACTOIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -413,7 +425,7 @@ type { IPresupuestosCliente_DetallesDelta } IPresupuestosCliente_DetallesDelta = interface(IPresupuestosCliente_Detalles) - ['{6B4F2438-4896-46C7-8D87-B21770DA9B2E}'] + ['{AC56C197-1697-4E61-96A2-AAEC2E9F783D}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_PRESUPUESTOValue : Integer; @@ -1616,6 +1628,37 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteFACTURA] := Null; end; +function TPresupuestosClienteBusinessProcessorRules.GetPERSONA_CONTACTOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClientePERSONA_CONTACTO]; +end; + +function TPresupuestosClienteBusinessProcessorRules.GetPERSONA_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClientePERSONA_CONTACTO]); +end; + +function TPresupuestosClienteBusinessProcessorRules.GetOldPERSONA_CONTACTOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClientePERSONA_CONTACTO]; +end; + +function TPresupuestosClienteBusinessProcessorRules.GetOldPERSONA_CONTACTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClientePERSONA_CONTACTO]); +end; + +procedure TPresupuestosClienteBusinessProcessorRules.SetPERSONA_CONTACTOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClientePERSONA_CONTACTO] := aValue; +end; + +procedure TPresupuestosClienteBusinessProcessorRules.SetPERSONA_CONTACTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClientePERSONA_CONTACTO] := Null; +end; + { TPresupuestosCliente_DetallesBusinessProcessorRules } constructor TPresupuestosCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm index d7c9ed3c..dfecb115 100644 --- a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm +++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm @@ -61,12 +61,12 @@ object RptPresupuestosCliente: TRptPresupuestosCliente 'STOS_CLIENTE.ID_CLIENTE,'#10' V_PRESUPUESTOS_CLIENTE.REFERENCIA_C' + 'LIENTE,'#10' V_PRESUPUESTOS_CLIENTE.CLIENTE_FINAL,'#10' V_CLIENTES' + '.NIF_CIF, V_CLIENTES.NOMBRE,'#10' V_PRESUPUESTOS_CLIENTE.IMPORTE_' + - 'IVA, V_PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL,'#10' V_CLIENTES.PERSON' + - 'A_CONTACTO, V_CLIENTES.CALLE, V_CLIENTES.POBLACION,'#10' V_CLIENT' + - 'ES.PROVINCIA, V_CLIENTES.CODIGO_POSTAL'#10'FROM'#10' V_PRESUPUESTOS_C' + - 'LIENTE INNER JOIN V_CLIENTES ON'#10' (V_PRESUPUESTOS_CLIENTE.' + - 'ID_CLIENTE = V_CLIENTES.ID)'#10' WHERE V_PRESUPUESTOS_CLIENTE.ID = ' + - ':ID'#10 + 'IVA, V_PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL,'#10' V_CLIENTES.CALLE,' + + ' V_CLIENTES.POBLACION,'#10' V_CLIENTES.PROVINCIA, V_CLIENTES.CODI' + + 'GO_POSTAL,'#10' V_PRESUPUESTOS_CLIENTE.PERSONA_CONTACTO'#10'FROM'#10' ' + + 'V_PRESUPUESTOS_CLIENTE INNER JOIN V_CLIENTES ON'#10' (V_PRESU' + + 'PUESTOS_CLIENTE.ID_CLIENTE = V_CLIENTES.ID)'#10' WHERE V_PRESUPUEST' + + 'OS_CLIENTE.ID = :ID'#10 StatementType = stSQL ColumnMappings = < item @@ -259,11 +259,6 @@ object RptPresupuestosCliente: TRptPresupuestosCliente Name = 'IMPORTE_TOTAL' DataType = datCurrency end - item - Name = 'PERSONA_CONTACTO' - DataType = datString - Size = 255 - end item Name = 'CALLE' DataType = datString @@ -283,6 +278,11 @@ object RptPresupuestosCliente: TRptPresupuestosCliente Name = 'CODIGO_POSTAL' DataType = datString Size = 10 + end + item + Name = 'PERSONA_CONTACTO' + DataType = datString + Size = 255 end> ReadOnly = True end @@ -618,7 +618,7 @@ object RptPresupuestosCliente: TRptPresupuestosCliente PrintOptions.Printer = 'Por defecto' PrintOptions.PrintOnSheet = 0 ReportOptions.CreateDate = 39065.872423495400000000 - ReportOptions.LastChange = 39604.452998402800000000 + ReportOptions.LastChange = 39680.550162581000000000 ScriptLanguage = 'PascalScript' ScriptText.Strings = ( '' @@ -721,10 +721,12 @@ object RptPresupuestosCliente: TRptPresupuestosCliente ' if Engine.FinalPass then' ' begin ' ' Set('#39'Capitulo'#39', ( + 1));' - ' if ( = 1) then' + + ' if (( = 1) and ( =' + + ' '#39'General'#39')) then' ' MasterData1.Visible := False; ' + - ' ' + ' ' ' end' ' else' ' Set('#39'NumCapitulos'#39', ( + 1)); ' @@ -741,6 +743,17 @@ object RptPresupuestosCliente: TRptPresupuestosCliente ' end ' 'end;' '' + 'procedure Footer2OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if not (() > 0) then' + ' begin' + ' mBonificacion.Visible := False;' + + ' mImporteFinal.Visible := False; ' + + ' ' + ' end; ' + 'end;' + '' 'begin' '' 'end.') diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas index 29089f09..39552a41 100644 --- a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas +++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas @@ -75,9 +75,9 @@ type tbl_Resumen: TDAMemDataTable; DAMemDataTable1: TDAMemDataTable; DAMemDataTable2: TDAMemDataTable; + frxPDFExport1: TfrxPDFExport; schReport: TDASchema; DataDictionary: TDADataDictionary; - frxPDFExport1: TfrxPDFExport; procedure DataModuleCreate(Sender: TObject); private FConnection: IDAConnection; diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.dfm index 3fb141f3..2d35be80 100644 --- a/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.dfm +++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.dfm @@ -29,12 +29,12 @@ object RptWordPresupuestoCliente: TRptWordPresupuestoCliente 'STOS_CLIENTE.ID_CLIENTE,'#10' V_PRESUPUESTOS_CLIENTE.REFERENCIA_C' + 'LIENTE,'#10' V_PRESUPUESTOS_CLIENTE.CLIENTE_FINAL,'#10' V_CLIENTES' + '.NIF_CIF, V_CLIENTES.NOMBRE,'#10' V_PRESUPUESTOS_CLIENTE.IMPORTE_' + - 'IVA, V_PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL,'#10' V_CLIENTES.PERSON' + - 'A_CONTACTO, V_CLIENTES.CALLE, V_CLIENTES.POBLACION,'#10' V_CLIENT' + - 'ES.PROVINCIA, V_CLIENTES.CODIGO_POSTAL'#10'FROM'#10' V_PRESUPUESTOS_C' + - 'LIENTE INNER JOIN V_CLIENTES ON'#10' (V_PRESUPUESTOS_CLIENTE.' + - 'ID_CLIENTE = V_CLIENTES.ID)'#10' WHERE V_PRESUPUESTOS_CLIENTE.ID = ' + - ':ID'#10 + 'IVA, V_PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL,'#10' V_PRESUPUESTOS_CL' + + 'IENTE.PERSONA_CONTACTO, V_CLIENTES.CALLE, V_CLIENTES.POBLACION,'#10 + + ' V_CLIENTES.PROVINCIA, V_CLIENTES.CODIGO_POSTAL'#10'FROM'#10' V_PR' + + 'ESUPUESTOS_CLIENTE INNER JOIN V_CLIENTES ON'#10' (V_PRESUPUES' + + 'TOS_CLIENTE.ID_CLIENTE = V_CLIENTES.ID)'#10' WHERE V_PRESUPUESTOS_C' + + 'LIENTE.ID = :ID'#10 StatementType = stSQL ColumnMappings = < item diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.pas index cd776b9b..df369d9a 100644 --- a/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.pas +++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.pas @@ -19,9 +19,9 @@ type DABin2DataStreamer: TDABin2DataStreamer; tbl_Cabecera: TDAMemDataTable; tbl_Detalles: TDAMemDataTable; + tbl_Empresa: TDAMemDataTable; schReport: TDASchema; DataDictionary: TDADataDictionary; - tbl_Empresa: TDAMemDataTable; procedure DataModuleCreate(Sender: TObject); private FConnection: IDAConnection; diff --git a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm index 9eada94b..a59afbd3 100644 --- a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm +++ b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm @@ -144,6 +144,10 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente item DatasetField = 'FACTURA' TableField = 'FACTURA' + end + item + DatasetField = 'PERSONA_CONTACTO' + TableField = 'PERSONA_CONTACTO' end> end> Name = 'PresupuestosCliente' @@ -314,6 +318,12 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente Name = 'FACTURA' DataType = datString Size = 255 + end + item + Name = 'PERSONA_CONTACTO' + DataType = datString + Size = 255 + DictionaryEntry = 'PresupuestosCliente_PERSONA_CONTACTO' end> end item @@ -497,8 +507,6 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente Params = < item Name = 'ID' - DataType = datAutoInc - GeneratorName = 'GEN_PRESUPUESTOS_CLI_ID' Value = '' end item @@ -608,6 +616,10 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente item Name = 'ID_FACTURA' Value = '' + end + item + Name = 'PERSONA_CONTACTO' + Value = '' end> Statements = < item @@ -621,15 +633,15 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente 'DA, MEMORIA, OBSERVACIONES, INCIDENCIAS, '#10' INCIDENCIAS_ACTIV' + 'AS, FECHA_ALTA, FECHA_MODIFICACION, '#10' USUARIO, IMPORTE_NETO,' + ' IMPORTE_PORTE, DESCUENTO, IMPORTE_DESCUENTO, '#10' BASE_IMPONIB' + - 'LE, IVA, IMPORTE_IVA, IMPORTE_TOTAL, ID_FORMA_PAGO, ID_FACTURA)'#10 + - ' VALUES'#10' (:ID, :ID_EMPRESA, :FECHA_PRESUPUESTO, :FECHA_DECIS' + - 'ION, :REFERENCIA,'#10' :REFERENCIA_AUX, :SITUACION, :ID_CLIENTE,' + - ' :REFERENCIA_CLIENTE,'#10' :CLIENTE_FINAL, :PORTADA, :MEMORIA, :' + - 'OBSERVACIONES, '#10' :INCIDENCIAS, :INCIDENCIAS_ACTIVAS, :FECHA_' + - 'ALTA, :FECHA_MODIFICACION, '#10' :USUARIO, :IMPORTE_NETO, :IMPOR' + - 'TE_PORTE, :DESCUENTO, '#10' :IMPORTE_DESCUENTO, :BASE_IMPONIBLE,' + - ' :IVA, :IMPORTE_IVA, '#10' :IMPORTE_TOTAL, :ID_FORMA_PAGO, :ID_F' + - 'ACTURA)'#10 + 'LE, IVA, IMPORTE_IVA, IMPORTE_TOTAL, ID_FORMA_PAGO, ID_FACTURA,'#10 + + ' PERSONA_CONTACTO)'#10' VALUES'#10' (:ID, :ID_EMPRESA, :FECHA_PR' + + 'ESUPUESTO, :FECHA_DECISION, :REFERENCIA,'#10' :REFERENCIA_AUX, :' + + 'SITUACION, :ID_CLIENTE, :REFERENCIA_CLIENTE,'#10' :CLIENTE_FINAL' + + ', :PORTADA, :MEMORIA, :OBSERVACIONES, '#10' :INCIDENCIAS, :INCID' + + 'ENCIAS_ACTIVAS, :FECHA_ALTA, :FECHA_MODIFICACION, '#10' :USUARIO' + + ', :IMPORTE_NETO, :IMPORTE_PORTE, :DESCUENTO, '#10' :IMPORTE_DESC' + + 'UENTO, :BASE_IMPONIBLE, :IVA, :IMPORTE_IVA, '#10' :IMPORTE_TOTAL' + + ', :ID_FORMA_PAGO, :ID_FACTURA, :PERSONA_CONTACTO)'#10 StatementType = stSQL ColumnMappings = <> end> @@ -659,8 +671,6 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente Params = < item Name = 'ID' - DataType = datAutoInc - GeneratorName = 'GEN_PRESUPUESTOS_CLI_ID' Value = '' end item @@ -771,6 +781,10 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente Name = 'ID_FACTURA' Value = '' end + item + Name = 'PERSONA_CONTACTO' + Value = '' + end item Name = 'OLD_ID' Value = '' @@ -796,7 +810,8 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente 'TO = :IMPORTE_DESCUENTO, '#10' BASE_IMPONIBLE = :BASE_IMPONIBLE, ' + #10' IVA = :IVA, '#10' IMPORTE_IVA = :IMPORTE_IVA, '#10' IMPORTE_T' + 'OTAL = :IMPORTE_TOTAL, '#10' ID_FORMA_PAGO = :ID_FORMA_PAGO,'#10' ' + - 'ID_FACTURA = :ID_FACTURA'#10' WHERE'#10' (ID = :OLD_ID)'#10 + 'ID_FACTURA = :ID_FACTURA,'#10' PERSONA_CONTACTO = :PERSONA_CONTAC' + + 'TO'#10' WHERE'#10' (ID = :OLD_ID)'#10 StatementType = stSQL ColumnMappings = <> end> @@ -1137,6 +1152,12 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente DisplayLabel = 'Importe neto' Alignment = taRightJustify end + item + Name = 'PresupuestosCliente_PERSONA_CONTACTO' + DataType = datString + Size = 255 + DisplayLabel = 'Persona de contacto' + end item Name = 'PresupuestosCliente_IMPORTE_PORTE' DataType = datCurrency diff --git a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dpk b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dpk index ec1e6366..be837499 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dpk +++ b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dpk @@ -43,7 +43,17 @@ requires cxDataD11, dbrtl, vcljpg, - vcldb; + vcldb, + DataAbstract_Core_D11, + dsnap, + adortl, + RemObjects_Core_D11, + PngComponentsD10, + PNG_D10, + vclactnband, + vclx, + dxLayoutControlD11, + dxComnD11; contains uPresupuestosClienteViewRegister in 'uPresupuestosClienteViewRegister.pas', @@ -58,6 +68,7 @@ contains uEditorPresupuestosClienteReport in 'uEditorPresupuestosClienteReport.pas' {fEditorPresupuestosClientePreview: TfEditorPedidosClientePreview}, uViewDireccionEntregaPresupuestoCliente in 'uViewDireccionEntregaPresupuestoCliente.pas' {frViewDireccionEntregaPresupuestoCliente: TFrame}, uEditorFechaDecision in 'uEditorFechaDecision.pas' {fEditorFechaDecision}, - uViewDocumentosPresupuestoCliente in 'uViewDocumentosPresupuestoCliente.pas' {frViewDocumentosPresupuestoCliente: TFrame}; + uViewDocumentosPresupuestoCliente in 'uViewDocumentosPresupuestoCliente.pas' {frViewDocumentosPresupuestoCliente: TFrame}, + uViewDatosClientePresupuesto in 'uViewDatosClientePresupuesto.pas' {frViewDatosClientePresupuesto: TFrame}; end. diff --git a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj index 4bff09a7..862c3ba5 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj +++ b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj @@ -49,19 +49,27 @@ MainSource + + + + + + + + @@ -89,6 +97,10 @@ TfEditorPedidosClientePreview + +
frViewDatosClientePresupuesto
+ TFrame +
frViewDetallesPresupuestoCliente
TFrame @@ -114,8 +126,10 @@ TFrame
+ +