diff --git a/Source/Informes/3/InfPresupuestoCliente.fr3 b/Source/Informes/3/InfPresupuestoCliente.fr3 index 1ef25a62..e43ff8c6 100644 --- a/Source/Informes/3/InfPresupuestoCliente.fr3 +++ b/Source/Informes/3/InfPresupuestoCliente.fr3 @@ -1,5 +1,5 @@ - + @@ -23,12 +23,12 @@ - + - - + + @@ -45,11 +45,12 @@ - + - + + @@ -103,16 +104,16 @@ + + - - - + - + diff --git a/Source/Informes/3/Presupuesto.rdx b/Source/Informes/3/Presupuesto.rdx index bdba47ca..d37616a2 100644 Binary files a/Source/Informes/3/Presupuesto.rdx and b/Source/Informes/3/Presupuesto.rdx differ diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas index 8d259956..642ccbf5 100644 --- a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas +++ b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas @@ -170,7 +170,7 @@ uses uIEditorElegirPresupuestosCliente, uIEditorDireccionEntregaPresupuestoCliente, schContactosClient_Intf, uPresupuestosClienteReportController, uSistemaFunc, uEMailUtils, uDialogElegirEMail, Dialogs, uStringsUtils, - uIDialogListaPresupuestosEnvioEMail, uModuleController, uPlugins_Intf; + uIDialogListaPresupuestosEnvioEMail, uModuleController, uPlugins_Intf, uRTFUtils; { TPresupuestosClienteController } @@ -501,14 +501,16 @@ begin if (APresupuesto.Detalles.DataTable.RecordCount = 0) then raise Exception.Create('El presupuesto debe tener en su contenido al menos un concepto'); - FDetallesController.ValidarDetalles(APresupuesto.Detalles); { Asegurarse de valores en campos "automáticos" tanto en MODIFICACIÓN como en INSERCIÓN. } APresupuesto.Edit; try - APresupuesto.USUARIO := AppFactuGES.UsuarioActivo.UserName; + if (Length(trim(RtfToText(APresupuesto.MEMORIA.Text))) = 0) then + APresupuesto.MEMORIA.Clear; + + APresupuesto.USUARIO := AppFactuGES.UsuarioActivo.UserName; if Assigned(APresupuesto.Cliente) and (APresupuesto.ID_CLIENTE <> APresupuesto.Cliente.ID) then diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm index cbee9611..73af36a1 100644 --- a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm +++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm @@ -453,27 +453,28 @@ object RptPresupuestosCliente: TRptPresupuestosCliente 'EMPRESA,'#10' V_PRESUPUESTOS_CLIENTE.FECHA_PRESUPUESTO,'#10' V_PRE' + 'SUPUESTOS_CLIENTE.REFERENCIA || '#39' '#39' || COALESCE(V_PRESUPUESTOS_C' + 'LIENTE.REFERENCIA_AUX, '#39#39') AS REFERENCIA,'#10' V_PRESUPUESTOS_CLI' + - 'ENTE.PORTADA,'#10' V_PRESUPUESTOS_CLIENTE.MEMORIA, V_PRESUPUESTOS' + - '_CLIENTE.OBSERVACIONES,'#10' V_PRESUPUESTOS_CLIENTE.IMPORTE_NETO,' + - ' V_PRESUPUESTOS_CLIENTE.IMPORTE_PORTE,'#10' V_PRESUPUESTOS_CLIENT' + - 'E.DESCUENTO, V_PRESUPUESTOS_CLIENTE.IMPORTE_DESCUENTO,'#10' V_PRE' + - 'SUPUESTOS_CLIENTE.BASE_IMPONIBLE, V_PRESUPUESTOS_CLIENTE.IVA,'#10' ' + - ' V_PRESUPUESTOS_CLIENTE.ID_CLIENTE,'#10' V_PRESUPUESTOS_CLIENTE.' + - 'REFERENCIA_CLIENTE,'#10' V_PRESUPUESTOS_CLIENTE.CLIENTE_FINAL,'#10' ' + - ' CONTACTOS.NIF_CIF, CONTACTOS.NOMBRE,'#10' V_PRESUPUESTOS_CLIENT' + - 'E.IMPORTE_IVA, V_PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL,'#10' COALESC' + - 'E(CONTACTOS_DIRECCIONES.CALLE, CONTACTOS.CALLE) AS CALLE,'#10' CO' + - 'ALESCE(CONTACTOS_DIRECCIONES.POBLACION, CONTACTOS.POBLACION) AS ' + - 'POBLACION,'#10' COALESCE(CONTACTOS_DIRECCIONES.PROVINCIA, CONTACT' + - 'OS.PROVINCIA) AS PROVINCIA,'#10' COALESCE(CONTACTOS_DIRECCIONES.C' + - 'ODIGO_POSTAL, CONTACTOS.CODIGO_POSTAL) AS CODIGO_POSTAL,'#10' V_P' + - 'RESUPUESTOS_CLIENTE.PERSONA_CONTACTO,'#10' V_PRESUPUESTOS_CLIENTE' + - '.DESCRIPCION_BONIFICACION,'#10' V_PRESUPUESTOS_CLIENTE.IMPORTE_BO' + - 'NIFICACION,'#10' V_PRESUPUESTOS_CLIENTE.CERTIFICADO_ISO'#10'FROM'#10' ' + - 'V_PRESUPUESTOS_CLIENTE'#10' INNER JOIN CONTACTOS ON (CONTACTOS.ID' + - ' = V_PRESUPUESTOS_CLIENTE.ID_CLIENTE)'#10' LEFT OUTER JOIN CONTAC' + - 'TOS_DIRECCIONES ON (CONTACTOS_DIRECCIONES.ID = V_PRESUPUESTOS_CL' + - 'IENTE.ID_DIRECCION)'#10'WHERE'#10' V_PRESUPUESTOS_CLIENTE.ID = :ID'#10 + 'ENTE.PORTADA,'#10' V_PRESUPUESTOS_CLIENTE.MEMORIA,'#10' V_PRESUPUE' + + 'STOS_CLIENTE.OBSERVACIONES,'#10' V_PRESUPUESTOS_CLIENTE.IMPORTE_N' + + 'ETO, V_PRESUPUESTOS_CLIENTE.IMPORTE_PORTE,'#10' V_PRESUPUESTOS_CL' + + 'IENTE.DESCUENTO, V_PRESUPUESTOS_CLIENTE.IMPORTE_DESCUENTO,'#10' V' + + '_PRESUPUESTOS_CLIENTE.BASE_IMPONIBLE, V_PRESUPUESTOS_CLIENTE.IVA' + + ','#10' V_PRESUPUESTOS_CLIENTE.ID_CLIENTE,'#10' V_PRESUPUESTOS_CLIE' + + 'NTE.REFERENCIA_CLIENTE,'#10' V_PRESUPUESTOS_CLIENTE.CLIENTE_FINAL' + + ','#10' CONTACTOS.NIF_CIF, CONTACTOS.NOMBRE,'#10' V_PRESUPUESTOS_CL' + + 'IENTE.IMPORTE_IVA, V_PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL,'#10' COA' + + 'LESCE(CONTACTOS_DIRECCIONES.CALLE, CONTACTOS.CALLE) AS CALLE,'#10' ' + + ' COALESCE(CONTACTOS_DIRECCIONES.POBLACION, CONTACTOS.POBLACION)' + + ' AS POBLACION,'#10' COALESCE(CONTACTOS_DIRECCIONES.PROVINCIA, CON' + + 'TACTOS.PROVINCIA) AS PROVINCIA,'#10' COALESCE(CONTACTOS_DIRECCION' + + 'ES.CODIGO_POSTAL, CONTACTOS.CODIGO_POSTAL) AS CODIGO_POSTAL,'#10' ' + + ' V_PRESUPUESTOS_CLIENTE.PERSONA_CONTACTO,'#10' V_PRESUPUESTOS_CLI' + + 'ENTE.DESCRIPCION_BONIFICACION,'#10' V_PRESUPUESTOS_CLIENTE.IMPORT' + + 'E_BONIFICACION,'#10' V_PRESUPUESTOS_CLIENTE.CERTIFICADO_ISO'#10'FROM'#10 + + ' V_PRESUPUESTOS_CLIENTE'#10' INNER JOIN CONTACTOS ON (CONTACTO' + + 'S.ID = V_PRESUPUESTOS_CLIENTE.ID_CLIENTE)'#10' LEFT OUTER JOIN CO' + + 'NTACTOS_DIRECCIONES ON (CONTACTOS_DIRECCIONES.ID = V_PRESUPUESTO' + + 'S_CLIENTE.ID_DIRECCION)'#10'WHERE'#10' V_PRESUPUESTOS_CLIENTE.ID = :I' + + 'D'#10 StatementType = stSQL ColumnMappings = < item @@ -1649,29 +1650,245 @@ object RptPresupuestosCliente: TRptPresupuestosCliente PreviewOptions.Zoom = 1.000000000000000000 PrintOptions.Printer = 'Por defecto' PrintOptions.PrintOnSheet = 0 - ReportOptions.CreateDate = 37800.807714351900000000 - ReportOptions.LastChange = 40652.573738773150000000 + ReportOptions.CreateDate = 39065.872423495400000000 + ReportOptions.LastChange = 42305.717481620370000000 ScriptLanguage = 'PascalScript' ScriptText.Strings = ( - 'procedure Chart1OnBeforePrint(Sender: TfrxComponent);' - 'begin' - '{ ' - ' if ( <> 0) then' - - ' TLineSeries(Chart1.Series[0]).Title := '#39'Total Facturado '#39' +' + - ' IntToStr();' '' - ' if ( <> 0) then' + 'procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);' + 'var' + ' Cadena: String;' + 'begin' + '{ DatosEmpresa.Lines.Clear;' + ' if ( <> '#39#39') then' + ' Cadena := '#39'TLF: '#39' + ;' + ' if ( <> '#39#39') then' - ' TLineSeries(Chart1.Series[1]).Title := '#39'Total Facturado '#39' +' + - ' IntToStr()' + ' Cadena := Cadena + '#39' FAX: '#39' + ;' + ' DatosEmpresa.Lines.Add(Cadena);' + '}' + 'end;' + '' + 'procedure NombreEmpresaOnBeforePrint(Sender: TfrxComponent);' + 'begin' + '{ NombreEmpresa.Lines.Clear;' + ' NombreEmpresa.Lines.Add();' + '}' + 'end;' + '' + 'procedure DireccionEnvioOnBeforePrint(Sender: TfrxComponent);' + 'var' + ' ACadena : String;' + 'begin' + '{ ACadena := '#39#39';' + ' DireccionEnvio.Lines.Clear;' + ' if ( <> '#39#39') then' + ' ACadena := ;' + '' + ' if ( <> '#39#39') then' + + ' ACadena := ACadena + '#39' '#39' + ;' + '' + ' DireccionEnvio.Lines.Add(ACadena);' + ' ACadena := '#39#39';' + ' DireccionEnvio.Lines.Add();' + ' if ( <> '#39#39') then' + ' ACadena := + '#39' '#39';' + ' if ( <> '#39#39') then' + ' ACadena := ACadena + ;' + '' + ' if (ACadena <> '#39#39') then' + ' DireccionEnvio.Lines.Add(ACadena);' + '' + ' if ( <> '#39#39') then' + ' DireccionEnvio.Lines.Add();' + '' + ' if ( <> '#39#39') then' + ' DireccionEnvio.Lines.Add();' + '}' + 'end;' + '' + 'procedure PageHeader1OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if not Engine.FinalPass then' + ' Set('#39'TotalPaginas'#39', ( + 1));' + '' + ' if Engine.FinalPass then' + ' Set('#39'Pagina'#39', ( + 1)); ' + 'end;' + '' + 'procedure frxReportOnStartReport(Sender: TfrxComponent);' + 'begin' + ' Set('#39'Pagina'#39', 0);' + ' Set('#39'TotalPaginas'#39', 0);' + ' Set('#39'Capitulo'#39', '#39'0'#39');' + ' Set('#39'NumCapitulos'#39', 0);' + ' Set('#39'TextoNumCapitulo'#39', '#39#39#39' '#39#39#39'); ' + 'end;' + '' + 'procedure Rich3OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if Engine.FinalPass then' + ' begin ' + ' Set('#39'Capitulo'#39', ( + 1));' + ' if ( = 1) then' + + ' MasterData1.Visible := False; ' + + ' ' + ' end' ' else' - ' Chart1.Series[1].Active := False;' - '} ' + ' Set('#39'NumCapitulos'#39', ( + 1)); ' + 'end;' + '' + 'procedure Page2OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if (Length() = 0) then' + ' Page2.Visible := false ' + ' else' + ' Page2.Visible := true; ' + ' ' + 'end;' + '' + 'procedure Memo45OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if Engine.FinalPass then' + ' begin' + + ' if ( <> '#39'Titulo opcional'#39') t' + + 'hen ' + ' Set('#39'Capitulo'#39', ( + 1));' + '' + ' Set('#39'TextoNumCapitulo'#39', );' + '' + + ' if (( = 1) and ( =' + + ' '#39'General'#39')) then' + ' MasterData1.Visible := False' + ' else begin ' + + ' if ( = '#39'Titulo opcional'#39') ' + + 'then' + ' begin' + ' Set('#39'TextoNumCapitulo'#39', '#39#39#39'OPCIONAL'#39#39#39');' + ' end' + ' end ' + ' end' + ' else ' + ' Set('#39'NumCapitulos'#39', ( + 1));' + 'end;' + '' + 'procedure Memo47OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if (Length() = 0) then' + ' begin' + + ' Memo11.Visible := False; ' + + ' ' + ' Memo47.Visible := False;' + ' end ' + 'end;' + '' + 'procedure Footer2OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if not (() > 0) then' + ' begin' + ' mBonificacion.Visible := False;' + + ' mImporteFinal.Visible := False; ' + + ' ' + ' end' + ' else' + ' begin' + ' mBonificacion.Visible := True;' + + ' mImporteFinal.Visible := True; ' + + ' ' + ' end;' + 'end;' + '' + '' + + 'procedure frxDBDetallesCANTIDADOnBeforePrint(Sender: TfrxCompone' + + 'nt);' + 'var ' + ' ACantidad: String; ' + ' AIndice: Integer;' + ' AText : String; ' + 'begin' + ' if ( <> 0) then' + ' begin ' + ' frxDBDetallesCANTIDAD.Memo.Clear; ' + ' ACantidad := FloatToStr(); ' + ' AIndice := Pos('#39','#39', ACantidad);' + + ' if AIndice > 0 then ' + + ' ' + + ' AText := '#39'[FormatFloat('#39#39'#,##0.00'#39#39',)] [frxDBDetalles."UNIDAD_MEDIDA"]'#39 + ' else ' + + ' AText := '#39'[FormatFloat('#39#39'#,##0.##'#39#39',)] [frxDBDetalles."UNIDAD_MEDIDA"]'#39'; ' + ' ' + ' frxDBDetallesCANTIDAD.Memo.Add(AText);' + ' end; ' + 'end;' + '' + 'procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if ( = 1) then' + ' begin' + ' Firma1.Visible := True;' + ' Firma2.Visible := False; ' + ' end' + ' else' + ' begin' + ' Firma1.Visible := False;' + ' Firma2.Visible := True; ' + ' end;' + 'end;' + '' + + 'procedure ReportSummary1OnAfterCalcHeight(Sender: TfrxComponent)' + + ';' + 'begin' + ' ReportSummary1.Height := Engine.FreeSpace - 20;' + 'end;' + '' + 'procedure MasterData4OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if (MasterData4.DataSet.RecordCount > 1) then' + ' begin ' + + ' Header2.Visible := True; ' + + ' ' + ' MasterData4.Visible := True;' + ' Memo38.Visible := True;' + ' end ' + ' else' + ' begin' + ' Header2.Visible := False; ' + ' MasterData4.Visible := False;' + ' Memo38.Visible := False;' + ' end;' + 'end;' + '' + 'procedure Picture4OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if ( = 0) then' + ' begin ' + ' end ' + ' else' + ' begin ' + ' end; ' 'end;' '' 'begin' - 'end. ') + '' + 'end.') ShowProgress = False StoreInDFM = False OnStartReport = 'frxReportOnStartReport' diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES index f70ea063..79b6ed48 100644 Binary files a/Source/Servidor/FactuGES_Server.RES and b/Source/Servidor/FactuGES_Server.RES differ diff --git a/Source/Servidor/FactuGES_Server.rc b/Source/Servidor/FactuGES_Server.rc index a9b47307..99ec6f0b 100644 --- a/Source/Servidor/FactuGES_Server.rc +++ b/Source/Servidor/FactuGES_Server.rc @@ -16,7 +16,7 @@ BEGIN VALUE "FileVersion", "2.1.1.0\0" VALUE "ProductName", "FactuGES Servidor\0" VALUE "ProductVersion", "2.1.1.0\0" - VALUE "CompileDate", "jueves, 22 de octubre de 2015 11:01\0" + VALUE "CompileDate", "jueves, 29 de octubre de 2015 12:49\0" END END BLOCK "VarFileInfo"