diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj index 2ce3c063..4042672c 100644 --- a/Source/Base/Base.dproj +++ b/Source/Base/Base.dproj @@ -58,53 +58,53 @@ MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
fConfigurarConexion
TForm diff --git a/Source/Base/Base.res b/Source/Base/Base.res index 8b251f31..1641339f 100644 Binary files a/Source/Base/Base.res and b/Source/Base/Base.res differ diff --git a/Source/Informes/InformeIVAProveedores.fr3 b/Source/Informes/InformeIVAProveedores.fr3 index cbbfb58d..fd59f2ed 100644 --- a/Source/Informes/InformeIVAProveedores.fr3 +++ b/Source/Informes/InformeIVAProveedores.fr3 @@ -1,5 +1,5 @@ - + @@ -17,8 +17,8 @@ - - + + @@ -27,8 +27,8 @@ - - + + diff --git a/Source/Informes/InformeIVAProveedoresDesglosado.fr3 b/Source/Informes/InformeIVAProveedoresDesglosado.fr3 index 466fe6c0..8104a234 100644 --- a/Source/Informes/InformeIVAProveedoresDesglosado.fr3 +++ b/Source/Informes/InformeIVAProveedoresDesglosado.fr3 @@ -1,5 +1,5 @@ - + @@ -18,8 +18,8 @@ - - + + @@ -27,8 +27,8 @@ - - + + diff --git a/Source/Informes/InformeListadoFacturasProveedor.fr3 b/Source/Informes/InformeListadoFacturasProveedor.fr3 index 4d6b87ab..b9da54fb 100644 --- a/Source/Informes/InformeListadoFacturasProveedor.fr3 +++ b/Source/Informes/InformeListadoFacturasProveedor.fr3 @@ -1,5 +1,5 @@ - + @@ -17,20 +17,20 @@ - - + + - + - + - - + + diff --git a/Source/Informes/InformeListadoFacturasProveedorDesglosado.fr3 b/Source/Informes/InformeListadoFacturasProveedorDesglosado.fr3 index 8a13f3b1..580b04e9 100644 --- a/Source/Informes/InformeListadoFacturasProveedorDesglosado.fr3 +++ b/Source/Informes/InformeListadoFacturasProveedorDesglosado.fr3 @@ -1,5 +1,5 @@ - + @@ -17,20 +17,20 @@ - - + + - + - + - - + + diff --git a/Source/Informes/InformeListadoRecibosProvPendientes.fr3 b/Source/Informes/InformeListadoRecibosProvPendientes.fr3 index 7f399ec3..2289c674 100644 --- a/Source/Informes/InformeListadoRecibosProvPendientes.fr3 +++ b/Source/Informes/InformeListadoRecibosProvPendientes.fr3 @@ -1,5 +1,5 @@ - + @@ -7,7 +7,7 @@ - + @@ -17,20 +17,20 @@ - - + + - + - + - - - + + + - - + + diff --git a/Source/Informes/InformeListadoRecibosProvPendientesDesglosado.fr3 b/Source/Informes/InformeListadoRecibosProvPendientesDesglosado.fr3 index f851bf97..1f05a8a6 100644 --- a/Source/Informes/InformeListadoRecibosProvPendientesDesglosado.fr3 +++ b/Source/Informes/InformeListadoRecibosProvPendientesDesglosado.fr3 @@ -1,5 +1,5 @@ - + @@ -7,7 +7,7 @@ - + @@ -17,20 +17,20 @@ - - + + - + - + - - - + + + - - + + diff --git a/Source/Informes/InformeListadoRecibosProveedor.fr3 b/Source/Informes/InformeListadoRecibosProveedor.fr3 index 83b6aab2..e2e34369 100644 --- a/Source/Informes/InformeListadoRecibosProveedor.fr3 +++ b/Source/Informes/InformeListadoRecibosProveedor.fr3 @@ -1,5 +1,5 @@ - + @@ -7,7 +7,7 @@ - + @@ -17,20 +17,20 @@ - - + + - + - + - - - + + + - - + + diff --git a/Source/Informes/InformeListadoRecibosProveedorDesglosado.fr3 b/Source/Informes/InformeListadoRecibosProveedorDesglosado.fr3 index 79ce2c51..d6c5ec29 100644 --- a/Source/Informes/InformeListadoRecibosProveedorDesglosado.fr3 +++ b/Source/Informes/InformeListadoRecibosProveedorDesglosado.fr3 @@ -1,5 +1,5 @@ - + @@ -7,7 +7,7 @@ - + @@ -17,20 +17,20 @@ - - + + - + - + - - - + + + - - + + diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm index 166a5733..c40d26bd 100644 --- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm +++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm @@ -363,29 +363,30 @@ object RptFacturasCliente: TRptFacturasCliente Default = True Name = 'IBX' SQL = - 'select ID_EMPRESA,'#10'extract (month from fecha_factura) as MES,'#10'ca' + - 'se'#10'when extract (month from fecha_factura) = 1 then '#39'ENERO - '#39' |' + - '| extract (year from fecha_factura)'#10'when extract (month from fec' + - 'ha_factura) = 2 then '#39'FEBRERO - '#39' || extract (year from fecha_fa' + - 'ctura)'#10'when extract (month from fecha_factura) = 3 then '#39'MARZO -' + - ' '#39' || extract (year from fecha_factura)'#10'when extract (month from' + - ' fecha_factura) = 4 then '#39'ABRIL - '#39' || extract (year from fecha_' + - 'factura)'#10'when extract (month from fecha_factura) = 5 then '#39'MAYO ' + - '- '#39' || extract (year from fecha_factura)'#10'when extract (month fro' + - 'm fecha_factura) = 6 then '#39'JUNIO - '#39' || extract (year from fecha' + - '_factura)'#10'when extract (month from fecha_factura) = 7 then '#39'JULI' + - 'O - '#39' || extract (year from fecha_factura)'#10'when extract (month f' + - 'rom fecha_factura) = 8 then '#39'AGOSTO - '#39' || extract (year from fe' + - 'cha_factura)'#10'when extract (month from fecha_factura) = 9 then '#39'S' + - 'EPTIEMBRE - '#39' || extract (year from fecha_factura)'#10'when extract ' + - '(month from fecha_factura) = 10 then '#39'OCTUBRE - '#39' || extract (ye' + - 'ar from fecha_factura)'#10'when extract (month from fecha_factura) =' + - ' 11 then '#39'NOVIEMBRE - '#39' || extract (year from fecha_factura)'#10'whe' + - 'n extract (month from fecha_factura) = 12 then '#39'DICIEMBRE - '#39' ||' + - ' extract (year from fecha_factura)'#10'end as TITULO,'#10'REFERENCIA, I' + - 'D_CLIENTE, NOMBRE, SITUACION, NIF_CIF, FECHA_FACTURA, BASE_IMPON' + - 'IBLE, IMPORTE_IVA, IMPORTE_TOTAL'#10#10'from V_facturas_cliente'#10'where ' + - '{where}'#10'order by FECHA_FACTURA'#10#10 + 'select ID_EMPRESA,'#10'extract (year from fecha_factura) as ANO,'#10'ext' + + 'ract (month from fecha_factura) as MES,'#10'case'#10'when extract (month' + + ' from fecha_factura) = 1 then '#39'ENERO - '#39' || extract (year from f' + + 'echa_factura)'#10'when extract (month from fecha_factura) = 2 then '#39 + + 'FEBRERO - '#39' || extract (year from fecha_factura)'#10'when extract (m' + + 'onth from fecha_factura) = 3 then '#39'MARZO - '#39' || extract (year fr' + + 'om fecha_factura)'#10'when extract (month from fecha_factura) = 4 th' + + 'en '#39'ABRIL - '#39' || extract (year from fecha_factura)'#10'when extract ' + + '(month from fecha_factura) = 5 then '#39'MAYO - '#39' || extract (year f' + + 'rom fecha_factura)'#10'when extract (month from fecha_factura) = 6 t' + + 'hen '#39'JUNIO - '#39' || extract (year from fecha_factura)'#10'when extract' + + ' (month from fecha_factura) = 7 then '#39'JULIO - '#39' || extract (year' + + ' from fecha_factura)'#10'when extract (month from fecha_factura) = 8' + + ' then '#39'AGOSTO - '#39' || extract (year from fecha_factura)'#10'when extr' + + 'act (month from fecha_factura) = 9 then '#39'SEPTIEMBRE - '#39' || extra' + + 'ct (year from fecha_factura)'#10'when extract (month from fecha_fact' + + 'ura) = 10 then '#39'OCTUBRE - '#39' || extract (year from fecha_factura)' + + #10'when extract (month from fecha_factura) = 11 then '#39'NOVIEMBRE - ' + + #39' || extract (year from fecha_factura)'#10'when extract (month from ' + + 'fecha_factura) = 12 then '#39'DICIEMBRE - '#39' || extract (year from fe' + + 'cha_factura)'#10'end as TITULO,'#10'REFERENCIA, ID_CLIENTE, NOMBRE, SIT' + + 'UACION, NIF_CIF, FECHA_FACTURA, BASE_IMPONIBLE, IMPORTE_IVA, IMP' + + 'ORTE_TOTAL'#10#10'from V_facturas_cliente'#10'where {where}'#10'order by ANO, ' + + 'MES, NOMBRE'#10#10 StatementType = stSQL ColumnMappings = < item @@ -435,6 +436,10 @@ object RptFacturasCliente: TRptFacturasCliente item DatasetField = 'IMPORTE_TOTAL' TableField = 'IMPORTE_TOTAL' + end + item + DatasetField = 'ANO' + TableField = 'ANO' end> end> Name = 'ListadoFacturas' @@ -443,6 +448,10 @@ object RptFacturasCliente: TRptFacturasCliente Name = 'ID_EMPRESA' DataType = datInteger end + item + Name = 'ANO' + DataType = datSmallInt + end item Name = 'MES' DataType = datSmallInt @@ -1298,187 +1307,50 @@ object RptFacturasCliente: TRptFacturasCliente EngineOptions.DoublePass = True IniFile = '\Software\Fast Reports' PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick] - PreviewOptions.OutlineWidth = 180 PreviewOptions.Zoom = 1.000000000000000000 - PrintOptions.Printer = 'Default' + PrintOptions.Printer = 'Por defecto' PrintOptions.PrintOnSheet = 0 - ReportOptions.CreateDate = 37871.995398692100000000 - ReportOptions.LastChange = 39629.545549768520000000 - ReportOptions.VersionBuild = '1' - ReportOptions.VersionMajor = '12' - ReportOptions.VersionMinor = '13' - ReportOptions.VersionRelease = '1' + ReportOptions.CreateDate = 37800.807714351900000000 + ReportOptions.LastChange = 39770.742049143520000000 ScriptLanguage = 'PascalScript' ScriptText.Strings = ( - 'procedure DatosClienteOnBeforePrint(Sender: TfrxComponent);' + 'procedure frxReportOnStartReport(Sender: TfrxComponent);' 'begin' - ' DatosCliente.Lines.Clear;' - ' DatosCliente.Lines.Add();' - '' - ' if ( <> '#39#39')' - ' or ( <> '#39#39') then' - - ' DatosCliente.Lines.Add( + '#39' ' + - ' '#39' + );' - '' - ' if ( <> '#39#39') then' - ' DatosCliente.Lines.Add();' + ' Set('#39'Pagina'#39', 0);' + ' Set('#39'TotalPaginas'#39', 0); ' 'end;' '' - 'procedure BandaDetallesOnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' BandaDetalles.StartNewPage := False;' - ' BandaDetalles.Visible := True;' - ' MemPrecio.Style := '#39'Concepto normal'#39';' - ' MemCantidad.Style := '#39'Concepto normal'#39';' - ' MemImpTotal.Style := '#39'Concepto normal'#39';' - ' RichConcepto.Visible := True;' - '' - ' case of' - ' '#39'Salto'#39': begin' - ' BandaDetalles.StartNewPage := True;' - ' RichConcepto.Visible := False;' - ' end;' - ' '#39'Titulo'#39': begin' - ' MemPrecio.Style := '#39'Concepto titulo'#39';' - ' MemCantidad.Style := '#39'Concepto titulo'#39';' - ' MemImpTotal.Style := '#39'Concepto titulo'#39';' - ' end;' - ' '#39'Concepto'#39': begin' - ' MemPrecio.Style := '#39'Concepto normal'#39';' - ' MemCantidad.Style := '#39'Concepto normal'#39';' - ' MemImpTotal.Style := '#39'Concepto normal'#39';' - ' end;' - ' '#39'Subtotal'#39': begin' - ' MemPrecio.Style := '#39'Concepto subtotal'#39';' - ' MemCantidad.Style := '#39'Concepto subtotal'#39';' - ' MemImpTotal.Style := '#39'Concepto subtotal'#39';' - ' end;' - ' '#39'Descuento'#39': begin' - ' BandaDetalles.Visible := False;' - ' RichConcepto.Color := clNone;' - ' end;' - ' end;' - '' - ' RichConcepto.Color := MemImpTotal.Color;' - ' RichConcepto.Frame := MemImpTotal.Frame;' - 'end;' - '' - 'procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);' - 'begin' - '// if Engine.FreeSpace > ReportSummary1.Height then ' - - ' Engine.CurY := Engine.PageHeight - ReportSummary1.Height - ' + - 'Band3.Height - 1' - 'end;' - '' - 'procedure Memo15OnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' Memo15.Lines.Clear;' - ' if (StrToFloat() < 0) then' - ' Memo15.Lines.Add('#39'ABONO'#39')' - ' else' - ' Memo15.Lines.Add('#39'FACTURA'#39')' - 'end;' - '' - 'procedure Band2OnBeforePrint(Sender: TfrxComponent);' + 'procedure Band1OnBeforePrint(Sender: TfrxComponent);' 'begin' ' if not Engine.FinalPass then' ' Set('#39'TotalPaginas'#39', ( + 1));' '' ' if Engine.FinalPass then' - ' Set('#39'Pagina'#39', ( + 1));' + ' Set('#39'Pagina'#39', ( + 1)); ' + 'end;' '' - ' if Engine.FinalPass and ( > ) then' - ' begin ' - ' LineaCorta1.visible := False; ' - ' LineaLarga1.visible := True; ' - ' LineaCorta2.visible := False; ' - ' LineaLarga2.visible := True; ' - ' ' - ' end' - ' else' + 'procedure mContinuaOnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if Engine.FinalPass then' ' begin' - ' LineaCorta1.visible := True; ' - ' LineaLarga1.visible := False;' - ' LineaCorta2.visible := True; ' - ' LineaLarga2.visible := False;' - ' ' + + ' //A la vez que salta este salta la asignacion de pagina por ' + + 'lo que no coincide nunca si no suponemos +1 ' + + ' ' + + ' ' + + ' ' + + ' ' + ' if (( + 1) = ) then' + ' begin ' + ' mContinua.Visible := True;' + ' end ' + ' else' + ' begin ' + ' mContinua.Visible := False;' + ' end ' ' end; ' 'end;' '' - 'procedure frxReportOnStartReport(Sender: TfrxComponent);' - 'begin' - ' Set('#39'Pagina'#39', 0);' - ' Set('#39'TotalPaginas'#39', 0);' - 'end;' - '' - 'procedure Memo26OnBeforePrint(Sender: TfrxComponent);' - 'begin ' - ' if ( > 0) then' - ' begin' - - ' Memo26.visible := True; ' + - ' ' - ' end' - ' else' - ' begin' - ' Memo26.visible := False; ' - ' end; ' - 'end;' - '' - 'procedure Memo25OnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' if ( > 0) then' - ' begin' - - ' Memo25.visible := True; ' + - ' ' - ' end' - ' else' - ' begin' - ' Memo25.visible := False; ' - ' end; ' - 'end;' - '' - 'procedure Memo21OnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' if ( > 0) then' - ' begin' - - ' Memo21.visible := True; ' + - ' ' - ' end' - ' else' - ' begin' - ' Memo21.visible := False; ' - ' end; ' - 'end;' - '' - '' - - 'procedure ReportSummary1OnAfterCalcHeight(Sender: TfrxComponent)' + - ';' - 'begin' - - '//Es peor el remedio que la enfermedad, en el caso de sobre pasa' + - 'r en uno el numero de conceptos para que no quepa el reportsumar' + - 'y,' - - '//no hay forma de ponerlo al final en la p'#225'gina siguiente hasta ' + - 'que el numero de conceptos rellene al menos un concepto de la si' + - 'guiente hoja. ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' - '// if Engine.FreeSpace > ReportSummary1.Height then ' - - '// Engine.CurY := Engine.PageHeight - ReportSummary1.Height ' + - '- Band3.Height - 1' - 'end;' - '' 'begin' '' 'end.') diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas index c751581d..9c6ed7b8 100644 --- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas +++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas @@ -30,10 +30,10 @@ type DataDictionary: TDADataDictionary; frxReport: TfrxReport; Bin2DataStreamer: TDABin2DataStreamer; - schReport: TDASchema; tbl_InformeListadoFacturas: TDAMemDataTable; DADSInformeListadoFacturas: TDADataSource; frxDBInformeListadoFacturas: TfrxDBDataset; + schReport: TDASchema; procedure DataModuleCreate(Sender: TObject); private FConnection: IDAConnection; @@ -56,12 +56,7 @@ uses const rptFacturaCliente = 'InfFacturaCliente.fr3'; - rptFacturaClienteAbeto = 'InfFacturaClienteAbeto.fr3'; - - { Dataset names for schReport } -// ds_InformeFacturasCliente = 'InformeFacturasCliente'; -// ds_InformeFacturasCliente_Detalles = 'InformeFacturasCliente_Detalles'; -// ds_InformeFacturasCliente_Vencimientos = 'InformeFacturasCliente_Vencimientos'; + rptFacturaClienteAbeto = 'InfFacturaClienteAbeto.fr3'; rptInformeIVA = 'InformeIVAClientes.fr3'; rptInformeIVADesglosado = 'InformeIVAClientesDesglosado.fr3'; @@ -159,7 +154,6 @@ begin else ATipoInforme := rptInformeListadoFactuasClientePendiente; - Result := _GenerarInforme(ATipoInforme, IdEmpresa, FechaInicio, FechaFin, ListaIDClientes, ImporteMinimo); end; diff --git a/Source/Modulos/Facturas de proveedor/FacturasProveedor_Group.groupproj b/Source/Modulos/Facturas de proveedor/FacturasProveedor_Group.groupproj index 92e79d6c..7953858e 100644 --- a/Source/Modulos/Facturas de proveedor/FacturasProveedor_Group.groupproj +++ b/Source/Modulos/Facturas de proveedor/FacturasProveedor_Group.groupproj @@ -20,6 +20,8 @@ + + @@ -241,14 +243,32 @@ + + + + + + + + + + + + + + + + + + - + - + - + \ No newline at end of file diff --git a/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.dfm b/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.dfm index 14d2b765..36c1cbb8 100644 --- a/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.dfm +++ b/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.dfm @@ -2,59 +2,7 @@ object RptFacturasProveedor: TRptFacturasProveedor OldCreateOrder = True OnCreate = DataModuleCreate Height = 405 - Width = 447 - object DADataCabecera: TDADataSource - DataTable = tbl_FacturaProveedor - Left = 264 - Top = 72 - end - object DADataDetalles: TDADataSource - DataTable = tbl_DetallesFacturaProveedor - Left = 344 - Top = 72 - end - object tbl_FacturaProveedor: TDACDSDataTable - RemoteUpdatesOptions = [] - Fields = <> - Params = <> - MasterMappingMode = mmDataRequest - LogChanges = False - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteFetchEnabled = False - SchemaCall.Params = <> - DataRequestCall.Params = <> - DataUpdateCall.Params = <> - ScriptCall.Params = <> - ReadOnly = False - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] - IndexDefs = <> - Left = 264 - Top = 128 - end - object tbl_DetallesFacturaProveedor: TDACDSDataTable - RemoteUpdatesOptions = [] - Fields = <> - Params = <> - MasterMappingMode = mmDataRequest - LogChanges = False - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteFetchEnabled = False - SchemaCall.Params = <> - DataRequestCall.Params = <> - DataUpdateCall.Params = <> - ScriptCall.Params = <> - ReadOnly = False - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] - IndexDefs = <> - Left = 344 - Top = 128 - end - object DABINAdapter: TDABINAdapter - Left = 48 - Top = 80 - end + Width = 570 object frxRichObject1: TfrxRichObject Left = 48 Top = 296 @@ -88,136 +36,71 @@ object RptFacturasProveedor: TRptFacturasProveedor DataDictionary = DataDictionary Datasets = < item - Params = < - item - Name = 'ID_FACTURA' - DataType = datInteger - BlobType = dabtUnknown - Value = '' - ParamType = daptInput - end> - Statements = < - item - Connection = 'IBX' - TargetTable = 'V_RECIBOS_PROVEEDOR' - SQL = - 'SELECT'#10' V_RECIBOS_PROVEEDOR.FECHA_VENCIMIENTO, V_RECIBOS_PROV' + - 'EEDOR.IMPORTE_TOTAL'#10'FROM V_RECIBOS_PROVEEDOR'#10'WHERE V_RECIBOS_PRO' + - 'VEEDOR.ID_FACTURA = :ID_FACTURA'#10'ORDER BY V_RECIBOS_PROVEEDOR.FEC' + - 'HA_VENCIMIENTO' - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'FECHA_VENCIMIENTO' - TableField = 'FECHA_VENCIMIENTO' - end - item - DatasetField = 'IMPORTE_TOTAL' - TableField = 'IMPORTE_TOTAL' - end> - end> - Name = 'InformeFacturasProveedor_Vencimientos' - Fields = < - item - Name = 'FECHA_VENCIMIENTO' - DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'IMPORTE_TOTAL' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript - end - item - Params = < - item - Name = 'ID' - DataType = datInteger - BlobType = dabtUnknown - Value = '12' - ParamType = daptInput - end> + Params = <> Statements = < item Connection = 'IBX' TargetTable = 'V_FACTURAS_PROVEEDOR' SQL = - 'SELECT'#10' V_FACTURAS_PROVEEDOR.ID, V_FACTURAS_PROVEEDOR.REFEREN' + - 'CIA, V_FACTURAS_PROVEEDOR.FECHA_FACTURA,'#10' V_FACTURAS_PROVEEDO' + - 'R.BASE_IMPONIBLE, V_FACTURAS_PROVEEDOR.DESCUENTO, V_FACTURAS_PRO' + - 'VEEDOR.IMPORTE_DESCUENTO,'#10' V_FACTURAS_PROVEEDOR.IVA, V_FACTUR' + - 'AS_PROVEEDOR.IMPORTE_IVA,'#10' V_FACTURAS_PROVEEDOR.RE, V_FACTURA' + - 'S_PROVEEDOR.IMPORTE_RE,'#10' V_FACTURAS_PROVEEDOR.IMPORTE_TOTAL,'#10 + - ' V_FACTURAS_PROVEEDOR.OBSERVACIONES, FORMAS_PAGO.DESCRIPCION ' + - 'AS FORMA_PAGO, V_FACTURAS_PROVEEDOR.ID_PROVEEDOR,'#10' V_FACTURAS' + - '_PROVEEDOR.NIF_CIF, V_FACTURAS_PROVEEDOR.NOMBRE, V_FACTURAS_PROV' + - 'EEDOR.CALLE,'#10' V_FACTURAS_PROVEEDOR.PROVINCIA, V_FACTURAS_PROV' + - 'EEDOR.CODIGO_POSTAL, V_FACTURAS_PROVEEDOR.POBLACION,'#10#10' ID_EMP' + - 'RESA, EMPRESAS.NIF_CIF as NIF_CIF_EMPRESA, EMPRESAS.RAZON_SOCIAL' + - ','#10' EMPRESAS.CALLE as CALLE_EMPRESA, EMPRESAS.POBLACION as POB' + - 'LACION_EMPRESA,'#10' EMPRESAS.PROVINCIA as PROVINCIA_EMPRESA, EMP' + - 'RESAS.CODIGO_POSTAL as CODIGO_POSTAL_EMPRESA,'#10' EMPRESAS.TELEF' + - 'ONO_1, EMPRESAS.FAX, EMPRESAS.MOVIL_1, EMPRESAS.EMAIL_1,'#10' EMP' + - 'RESAS.PAGINA_WEB, EMPRESAS.REGISTRO_MERCANTIL, EMPRESAS.LOGOTIPO' + - #10#10'FROM V_FACTURAS_PROVEEDOR'#10'LEFT JOIN EMPRESAS ON EMPRESAS.ID = ' + - 'ID_EMPRESA'#10'LEFT JOIN FORMAS_PAGO ON (FORMAS_PAGO.ID = V_FACTURAS' + - '_PROVEEDOR.ID_FORMA_PAGO)'#10'WHERE V_FACTURAS_PROVEEDOR.ID = :ID' + 'select ID_EMPRESA,'#10'extract (year from fecha_factura) as ANO,'#10'ext' + + 'ract (month from fecha_factura) as MES,'#10'case'#10'when extract (month' + + ' from fecha_factura) = 1 then '#39'ENERO - '#39' || extract (year from f' + + 'echa_factura)'#10'when extract (month from fecha_factura) = 2 then '#39 + + 'FEBRERO - '#39' || extract (year from fecha_factura)'#10'when extract (m' + + 'onth from fecha_factura) = 3 then '#39'MARZO - '#39' || extract (year fr' + + 'om fecha_factura)'#10'when extract (month from fecha_factura) = 4 th' + + 'en '#39'ABRIL - '#39' || extract (year from fecha_factura)'#10'when extract ' + + '(month from fecha_factura) = 5 then '#39'MAYO - '#39' || extract (year f' + + 'rom fecha_factura)'#10'when extract (month from fecha_factura) = 6 t' + + 'hen '#39'JUNIO - '#39' || extract (year from fecha_factura)'#10'when extract' + + ' (month from fecha_factura) = 7 then '#39'JULIO - '#39' || extract (year' + + ' from fecha_factura)'#10'when extract (month from fecha_factura) = 8' + + ' then '#39'AGOSTO - '#39' || extract (year from fecha_factura)'#10'when extr' + + 'act (month from fecha_factura) = 9 then '#39'SEPTIEMBRE - '#39' || extra' + + 'ct (year from fecha_factura)'#10'when extract (month from fecha_fact' + + 'ura) = 10 then '#39'OCTUBRE - '#39' || extract (year from fecha_factura)' + + #10'when extract (month from fecha_factura) = 11 then '#39'NOVIEMBRE - ' + + #39' || extract (year from fecha_factura)'#10'when extract (month from ' + + 'fecha_factura) = 12 then '#39'DICIEMBRE - '#39' || extract (year from fe' + + 'cha_factura)'#10'end as TITULO,'#10'REFERENCIA, ID_PROVEEDOR, NOMBRE, S' + + 'ITUACION, NIF_CIF, FECHA_FACTURA, BASE_IMPONIBLE, IMPORTE_IVA, I' + + 'MPORTE_TOTAL'#10#10'from V_facturas_proveedor'#10'where {where}'#10'order by A' + + 'NO, MES, NOMBRE'#10#10 StatementType = stSQL ColumnMappings = < item - DatasetField = 'DESCUENTO' - TableField = 'DESCUENTO' + DatasetField = 'ID_EMPRESA' + TableField = 'ID_EMPRESA' end item - DatasetField = 'IVA' - TableField = 'IVA' + DatasetField = 'MES' + TableField = '' + SQLOrigin = 'MES' end item - DatasetField = 'OBSERVACIONES' - TableField = 'OBSERVACIONES' - end - item - DatasetField = 'NOMBRE' - TableField = 'NOMBRE' - end - item - DatasetField = 'CALLE' - TableField = 'CALLE' - end - item - DatasetField = 'PROVINCIA' - TableField = 'PROVINCIA' - end - item - DatasetField = 'POBLACION' - TableField = 'POBLACION' + DatasetField = 'TITULO' + TableField = '' + SQLOrigin = 'TITULO' end item DatasetField = 'REFERENCIA' TableField = 'REFERENCIA' end item - DatasetField = 'ID' - TableField = 'ID' + DatasetField = 'ID_PROVEEDOR' + TableField = 'ID_PROVEEDOR' end item - DatasetField = 'ID_EMPRESA' - TableField = 'ID_EMPRESA' + DatasetField = 'NOMBRE' + TableField = 'NOMBRE' + end + item + DatasetField = 'SITUACION' + TableField = 'SITUACION' + end + item + DatasetField = 'NIF_CIF' + TableField = 'NIF_CIF' end item DatasetField = 'FECHA_FACTURA' @@ -227,10 +110,6 @@ object RptFacturasProveedor: TRptFacturasProveedor DatasetField = 'BASE_IMPONIBLE' TableField = 'BASE_IMPONIBLE' end - item - DatasetField = 'IMPORTE_DESCUENTO' - TableField = 'IMPORTE_DESCUENTO' - end item DatasetField = 'IMPORTE_IVA' TableField = 'IMPORTE_IVA' @@ -240,634 +119,77 @@ object RptFacturasProveedor: TRptFacturasProveedor TableField = 'IMPORTE_TOTAL' end item - DatasetField = 'FORMA_PAGO' - TableField = 'FORMA_PAGO' - end - item - DatasetField = 'NIF_CIF' - TableField = 'NIF_CIF' - end - item - DatasetField = 'CODIGO_POSTAL' - TableField = 'CODIGO_POSTAL' - end - item - DatasetField = 'NIF_CIF_EMPRESA' - TableField = 'NIF_CIF_EMPRESA' - end - item - DatasetField = 'RAZON_SOCIAL' - TableField = 'RAZON_SOCIAL' - end - item - DatasetField = 'CALLE_EMPRESA' - TableField = 'CALLE_EMPRESA' - end - item - DatasetField = 'POBLACION_EMPRESA' - TableField = 'POBLACION_EMPRESA' - end - item - DatasetField = 'PROVINCIA_EMPRESA' - TableField = 'PROVINCIA_EMPRESA' - end - item - DatasetField = 'CODIGO_POSTAL_EMPRESA' - TableField = 'CODIGO_POSTAL_EMPRESA' - end - item - DatasetField = 'TELEFONO_1' - TableField = 'TELEFONO_1' - end - item - DatasetField = 'FAX' - TableField = 'FAX' - end - item - DatasetField = 'MOVIL_1' - TableField = 'MOVIL_1' - end - item - DatasetField = 'EMAIL_1' - TableField = 'EMAIL_1' - end - item - DatasetField = 'PAGINA_WEB' - TableField = 'PAGINA_WEB' - end - item - DatasetField = 'REGISTRO_MERCANTIL' - TableField = 'REGISTRO_MERCANTIL' - end - item - DatasetField = 'LOGOTIPO' - TableField = 'LOGOTIPO' - end - item - DatasetField = 'RE' - TableField = 'RE' - end - item - DatasetField = 'IMPORTE_RE' - TableField = 'IMPORTE_RE' - end - item - DatasetField = 'ID_PROVEEDOR' - TableField = 'ID_PROVEEDOR' + DatasetField = 'ANO' + TableField = '' + SQLOrigin = 'ANO' end> end> - Name = 'InformeFacturasProveedor' + Name = 'ListadoFacturasProveedor' Fields = < - item - Name = 'ID' - DataType = datAutoInc - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_ID' - InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False - end item Name = 'ID_EMPRESA' DataType = datInteger - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_ID_EMPRESA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item - Name = 'FECHA_FACTURA' - DataType = datDateTime - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_FECHA_FACTURA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + Name = 'ANO' + DataType = datSmallInt end item - Name = 'BASE_IMPONIBLE' - DataType = datFloat - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_BASE_IMPONIBLE' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + Name = 'MES' + DataType = datSmallInt + end + item + Name = 'TITULO' + DataType = datString + Size = 19 end item Name = 'REFERENCIA' DataType = datString - Size = 20 - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_REFERENCIA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'IMPORTE_DESCUENTO' - DataType = datFloat - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_IMPORTE_DESCUENTO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'DESCUENTO' - DataType = datFloat - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_DESCUENTO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'IMPORTE_IVA' - DataType = datFloat - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_IMPORTE_IVA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'RE' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'IMPORTE_RE' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'IMPORTE_TOTAL' - DataType = datFloat - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_IMPORTE_TOTAL' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'IVA' - DataType = datFloat - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_IVA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'FORMA_PAGO' - DataType = datMemo - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_FORMA_PAGO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + Size = 255 end item Name = 'ID_PROVEEDOR' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + end + item + Name = 'NOMBRE' + DataType = datString + Size = 255 + end + item + Name = 'SITUACION' + DataType = datString + Size = 19 end item Name = 'NIF_CIF' DataType = datString Size = 15 - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_NIF_CIF' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item - Name = 'OBSERVACIONES' - DataType = datMemo - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_OBSERVACIONES' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + Name = 'FECHA_FACTURA' + DataType = datDateTime end item - Name = 'NOMBRE' - DataType = datString - Size = 100 - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_NOMBRE' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + Name = 'BASE_IMPONIBLE' + DataType = datCurrency end item - Name = 'CALLE' - DataType = datString - Size = 150 - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_CALLE' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'PROVINCIA' - DataType = datString - Size = 30 - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_PROVINCIA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'CODIGO_POSTAL' - DataType = datString - Size = 10 - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_CODIGO_POSTAL' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'POBLACION' - DataType = datString - Size = 150 - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_POBLACION' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'NIF_CIF_EMPRESA' - DataType = datString - Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'RAZON_SOCIAL' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'CALLE_EMPRESA' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'POBLACION_EMPRESA' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'PROVINCIA_EMPRESA' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'CODIGO_POSTAL_EMPRESA' - DataType = datString - Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'TELEFONO_1' - DataType = datString - Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'FAX' - DataType = datString - Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'MOVIL_1' - DataType = datString - Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'EMAIL_1' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'PAGINA_WEB' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'REGISTRO_MERCANTIL' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'LOGOTIPO' - DataType = datBlob - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript - end - item - Params = < - item - Name = 'ID_FACTURA' - DataType = datInteger - BlobType = dabtUnknown - Value = '13' - ParamType = daptInput - end> - Statements = < - item - Connection = 'IBX' - TargetTable = 'FACTURAS_PROVEEDOR_DETALLES' - SQL = - 'SELECT'#10' ID, ID_FACTURA, POSICION, TIPO_DETALLE, CONCEPTO, CAN' + - 'TIDAD,'#10' IMPORTE_UNIDAD, DESCUENTO, IMPORTE_TOTAL, VISIBLE'#10'FRO' + - 'M FACTURAS_PROVEEDOR_DETALLES'#10'WHERE ID_FACTURA = :ID_FACTURA'#10'ORD' + - 'ER BY POSICION;' - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'CANTIDAD' - TableField = 'CANTIDAD' - end - item - DatasetField = 'POSICION' - TableField = 'POSICION' - end - item - DatasetField = 'ID' - TableField = 'ID' - end - item - DatasetField = 'ID_FACTURA' - TableField = 'ID_FACTURA' - end - item - DatasetField = 'TIPO_DETALLE' - TableField = 'TIPO_DETALLE' - end - item - DatasetField = 'CONCEPTO' - TableField = 'CONCEPTO' - end - item - DatasetField = 'IMPORTE_UNIDAD' - TableField = 'IMPORTE_UNIDAD' - end - item - DatasetField = 'IMPORTE_TOTAL' - TableField = 'IMPORTE_TOTAL' - end - item - DatasetField = 'VISIBLE' - TableField = 'VISIBLE' - end - item - DatasetField = 'DESCUENTO' - TableField = 'DESCUENTO' - end> - end> - Name = 'InformeFacturasProveedor_Detalles' - Fields = < - item - Name = 'ID' - DataType = datAutoInc - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_Detalles_ID' - InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'ID_FACTURA' - DataType = datInteger - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_Detalles_ID_FACTURA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'POSICION' - DataType = datInteger - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_Detalles_POSICION' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'TIPO_DETALLE' - DataType = datString - Size = 10 - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_Detalles_TIPO_DETALLE' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'CONCEPTO' - DataType = datString - Size = 2000 - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_Detalles_CONCEPTO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'CANTIDAD' - DataType = datInteger - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_Detalles_CANTIDAD' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'IMPORTE_UNIDAD' - DataType = datFloat - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_Detalles_IMPORTE_UNIDAD' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'DESCUENTO' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + Name = 'IMPORTE_IVA' + DataType = datCurrency end item Name = 'IMPORTE_TOTAL' - DataType = datFloat - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_Detalles_IMPORTE_TOTAL' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'VISIBLE' - DataType = datInteger - BlobType = dabtUnknown - DictionaryEntry = 'FacturasCliente_Detalles_VISIBLE' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + DataType = datCurrency end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = <> RelationShips = <> UpdateRules = <> + Version = 0 Left = 48 Top = 16 end @@ -876,293 +198,197 @@ object RptFacturasProveedor: TRptFacturasProveedor item Name = 'FacturasCliente_ID' DataType = datAutoInc - BlobType = dabtUnknown Required = True - DisplayWidth = 0 DisplayLabel = 'ID' - Alignment = taLeftJustify end item Name = 'FacturasCliente_ID_EMPRESA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'ID_EMPRESA' - Alignment = taLeftJustify end item Name = 'FacturasCliente_ID_CONTRATO' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'ID_CONTRATO' - Alignment = taLeftJustify end item Name = 'FacturasCliente_FECHA_FACTURA' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Fecha de las factura' - Alignment = taLeftJustify end item Name = 'FacturasCliente_VENCIMIENTO' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Vencimiento' - Alignment = taLeftJustify end item Name = 'FacturasCliente_SITUACION' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Situaci'#243'n' - Alignment = taLeftJustify end item Name = 'FacturasCliente_BASE_IMPONIBLE' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Base imponible' Alignment = taRightJustify end item Name = 'FacturasCliente_IMPORTE_DESCUENTO' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Importe dto.' Alignment = taRightJustify end item Name = 'FacturasCliente_IMPORTE_IVA' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Importe IVA' Alignment = taRightJustify end item Name = 'FacturasCliente_IMPORTE_TOTAL' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Importe total' Alignment = taRightJustify end item Name = 'FacturasCliente_FORMA_PAGO' DataType = datMemo - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Forma de pago' - Alignment = taLeftJustify end item Name = 'FacturasCliente_ID_CLIENTE' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'ID_CLIENTE' - Alignment = taLeftJustify end item Name = 'FacturasCliente_NIF_CIF' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'NIF/CIF' - Alignment = taLeftJustify end item Name = 'FacturasCliente_CODIGO_POSTAL' DataType = datString Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'C'#243'd. postal' - Alignment = taLeftJustify end item Name = 'FacturasCliente_FECHA_ALTA' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'FECHA_ALTA' - Alignment = taLeftJustify end item Name = 'FacturasCliente_FECHA_MODIFICACION' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'FECHA_MODIFICACION' - Alignment = taLeftJustify end item Name = 'FacturasCliente_OBSERVACIONES' DataType = datMemo - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Observaciones' - Alignment = taLeftJustify end item Name = 'FacturasCliente_NOMBRE' DataType = datString Size = 100 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Cliente' - Alignment = taLeftJustify end item Name = 'FacturasCliente_CALLE' DataType = datString Size = 150 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Direcci'#243'n' - Alignment = taLeftJustify end item Name = 'FacturasCliente_PROVINCIA' DataType = datString Size = 30 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Provincia' - Alignment = taLeftJustify end item Name = 'FacturasCliente_POBLACION' DataType = datString Size = 150 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Poblaci'#243'n' - Alignment = taLeftJustify end item Name = 'FacturasCliente_IVA' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'IVA' - Alignment = taLeftJustify end item Name = 'FacturasCliente_USUARIO' DataType = datString Size = 100 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'USUARIO' - Alignment = taLeftJustify end item Name = 'FacturasCliente_REFERENCIA' DataType = datString Size = 20 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Referencia' - Alignment = taLeftJustify end item Name = 'FacturasCliente_DESCUENTO' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Dto.' - Alignment = taLeftJustify end item Name = 'FacturasCliente_Detalles_ID' DataType = datAutoInc - BlobType = dabtUnknown Required = True - DisplayWidth = 0 DisplayLabel = 'ID' - Alignment = taLeftJustify end item Name = 'FacturasCliente_Detalles_ID_FACTURA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'ID_FACTURA' - Alignment = taLeftJustify end item Name = 'FacturasCliente_Detalles_TIPO_DETALLE' DataType = datString Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Tipo detalle' - Alignment = taLeftJustify end item Name = 'FacturasCliente_Detalles_CONCEPTO' DataType = datString Size = 2000 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Concepto' - Alignment = taLeftJustify end item Name = 'FacturasCliente_Detalles_IMPORTE_UNIDAD' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Importe unidad' Alignment = taRightJustify end item Name = 'FacturasCliente_Detalles_IMPORTE_TOTAL' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Importe total' Alignment = taRightJustify end item Name = 'FacturasCliente_Detalles_VISIBLE' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = #191'Visible?' - Alignment = taLeftJustify end item Name = 'FacturasCliente_Detalles_POSICION' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Posici'#243'n' - Alignment = taLeftJustify end item Name = 'FacturasCliente_Detalles_CANTIDAD' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Cantidad' - Alignment = taLeftJustify end> Left = 46 Top = 158 end object frxReport: TfrxReport - Version = '3.23.7' + Version = '4.3' DotMatrixReport = False EngineOptions.DoublePass = True IniFile = '\Software\Fast Reports' @@ -1170,6 +396,7 @@ object RptFacturasProveedor: TRptFacturasProveedor PreviewOptions.OutlineWidth = 180 PreviewOptions.Zoom = 1.000000000000000000 PrintOptions.Printer = 'Default' + PrintOptions.PrintOnSheet = 0 ReportOptions.CreateDate = 37871.995398692100000000 ReportOptions.LastChange = 39293.765855208330000000 ReportOptions.VersionBuild = '1' @@ -1309,114 +536,237 @@ object RptFacturasProveedor: TRptFacturasProveedor OnStartReport = 'frxReportOnStartReport' Left = 169 Top = 16 - Datasets = < - item - DataSet = frxDBCabecera - DataSetName = 'frxDBCabecera' - end - item - DataSet = frxDBDetalles - DataSetName = 'frxDBDetalles' - end - item - DataSet = frxDBDataset1 - DataSetName = 'frxDBVencimientos' - end> - Variables = < - item - Name = ' Paginacion' - Value = Null - end - item - Name = 'Pagina' - Value = Null - end - item - Name = 'TotalPaginas' - Value = Null - end> - Style = < - item - Name = 'Concepto normal' - Color = clNone - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = 'Tahoma' - Font.Style = [] - end - item - Name = 'Concepto subtotal' - Color = clNone - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = 'Tahoma' - Font.Style = [fsBold] - end - item - Name = 'Cabecera de columna' - Color = 15790320 - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = 'Tahoma' - Font.Style = [fsBold] - Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom] - end - item - Name = 'Concepto titulo' - Color = clNone - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -13 - Font.Name = 'Tahoma' - Font.Style = [fsBold] - end> end - object frxDBCabecera: TfrxDBDataset - UserName = 'frxDBCabecera' - CloseDataSource = False - DataSource = DADataCabecera - Left = 264 - Top = 16 - end - object frxDBDetalles: TfrxDBDataset - UserName = 'frxDBDetalles' - CloseDataSource = False - DataSource = DADataDetalles - Left = 344 - Top = 16 - end - object tbl_Vencimientos: TDACDSDataTable + object tbl_InformeListadoFacturas: TDAMemDataTable RemoteUpdatesOptions = [] - Fields = <> - Params = <> - MasterMappingMode = mmDataRequest + Fields = < + item + Name = 'ID' + DataType = datInteger + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + end + item + Name = 'FECHA_FACTURA' + DataType = datDateTime + end + item + Name = 'TIENDA' + DataType = datString + Size = 255 + end + item + Name = 'ID_TIENDA' + DataType = datInteger + end + item + Name = 'IMPORTE_NETO' + DataType = datCurrency + end + item + Name = 'BASE_IMPONIBLE' + DataType = datCurrency + end + item + Name = 'DESCUENTO' + DataType = datFloat + end + item + Name = 'IMPORTE_DESCUENTO' + DataType = datCurrency + end + item + Name = 'IVA' + DataType = datFloat + end + item + Name = 'IMPORTE_IVA' + DataType = datCurrency + end + item + Name = 'RE' + DataType = datFloat + end + item + Name = 'IMPORTE_RE' + DataType = datCurrency + end + item + Name = 'IMPORTE_TOTAL' + DataType = datCurrency + end + item + Name = 'OBSERVACIONES' + DataType = datMemo + end + item + Name = 'FORMA_PAGO' + DataType = datString + Size = 255 + end + item + Name = 'ID_PROVEEDOR' + DataType = datInteger + end + item + Name = 'NIF_CIF' + DataType = datString + Size = 15 + end + item + Name = 'NOMBRE' + DataType = datString + Size = 255 + end + item + Name = 'CALLE' + DataType = datString + Size = 255 + end + item + Name = 'PROVINCIA' + DataType = datString + Size = 255 + end + item + Name = 'CODIGO_POSTAL' + DataType = datString + Size = 10 + end + item + Name = 'POBLACION' + DataType = datString + Size = 255 + end + item + Name = 'TITULAR' + DataType = datString + Size = 255 + end + item + Name = 'ENTIDAD' + DataType = datString + Size = 15 + end + item + Name = 'SUCURSAL' + DataType = datString + Size = 15 + end + item + Name = 'DC' + DataType = datString + Size = 15 + end + item + Name = 'CUENTA' + DataType = datString + Size = 15 + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + end + item + Name = 'NIF_CIF_EMPRESA' + DataType = datString + Size = 15 + end + item + Name = 'RAZON_SOCIAL' + DataType = datString + Size = 255 + end + item + Name = 'CALLE_EMPRESA' + DataType = datString + Size = 255 + end + item + Name = 'POBLACION_EMPRESA' + DataType = datString + Size = 255 + end + item + Name = 'PROVINCIA_EMPRESA' + DataType = datString + Size = 255 + end + item + Name = 'CODIGO_POSTAL_EMPRESA' + DataType = datString + Size = 10 + end + item + Name = 'TELEFONO_1' + DataType = datString + Size = 25 + end + item + Name = 'FAX' + DataType = datString + Size = 25 + end + item + Name = 'MOVIL_1' + DataType = datString + Size = 25 + end + item + Name = 'EMAIL_1' + DataType = datString + Size = 255 + end + item + Name = 'PAGINA_WEB' + DataType = datString + Size = 255 + end + item + Name = 'REGISTRO_MERCANTIL' + DataType = datString + Size = 255 + end + item + Name = 'LOGOTIPO' + DataType = datBlob + end> + Params = < + item + Name = 'ID' + Value = '' + ParamType = daptInput + end> LogChanges = False StreamingOptions = [soDisableEventsWhileStreaming] RemoteFetchEnabled = False - SchemaCall.Params = <> - DataRequestCall.Params = <> - DataUpdateCall.Params = <> - ScriptCall.Params = <> - ReadOnly = False + LocalSchema = schReport + LocalDataStreamer = Bin2DataStreamer DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'ListadoFacturasProveedor' IndexDefs = <> - Left = 264 - Top = 240 + Left = 464 + Top = 128 end - object DADataVencimientos: TDADataSource - DataTable = tbl_Vencimientos - Left = 264 - Top = 184 + object DADSInformeListadoFacturas: TDADataSource + DataSet = tbl_InformeListadoFacturas.Dataset + DataTable = tbl_InformeListadoFacturas + Left = 464 + Top = 72 end - object frxDBDataset1: TfrxDBDataset - UserName = 'frxDBVencimientos' + object frxDBInformeListadoFacturas: TfrxDBDataset + UserName = 'frxDBInformeListadoFacturas' CloseDataSource = True - DataSource = DADataVencimientos - Left = 344 - Top = 184 + DataSource = DADSInformeListadoFacturas + Left = 464 + Top = 16 + end + object Bin2DataStreamer: TDABin2DataStreamer + Left = 48 + Top = 80 end end diff --git a/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas b/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas index 010b6c0a..1ecb3230 100644 --- a/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas +++ b/Source/Modulos/Facturas de proveedor/Reports/uRptFacturasProveedor_Server.pas @@ -5,17 +5,13 @@ interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, frxClass, frxDBSet, uDAScriptingProvider, - uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient, + uDADataTable, DB, uDAClasses, frxChart, frxGradient, frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes, - uDAInterfaces; + uDAInterfaces, uDAMemDataTable, uDADataStreamer, uDABin2DataStreamer, + FactuGES_Intf; type TRptFacturasProveedor = class(TDataModule) - DADataCabecera: TDADataSource; - DADataDetalles: TDADataSource; - tbl_FacturaProveedor: TDACDSDataTable; - tbl_DetallesFacturaProveedor: TDACDSDataTable; - DABINAdapter: TDABINAdapter; frxRichObject1: TfrxRichObject; frxBarCodeObject1: TfrxBarCodeObject; frxOLEObject1: TfrxOLEObject; @@ -23,20 +19,22 @@ type frxCheckBoxObject1: TfrxCheckBoxObject; frxGradientObject1: TfrxGradientObject; frxChartObject1: TfrxChartObject; - frxDBCabecera: TfrxDBDataset; - frxDBDetalles: TfrxDBDataset; - tbl_Vencimientos: TDACDSDataTable; - DADataVencimientos: TDADataSource; - frxDBDataset1: TfrxDBDataset; + frxReport: TfrxReport; + tbl_InformeListadoFacturas: TDAMemDataTable; + DADSInformeListadoFacturas: TDADataSource; + frxDBInformeListadoFacturas: TfrxDBDataset; + Bin2DataStreamer: TDABin2DataStreamer; schReport: TDASchema; DataDictionary: TDADataDictionary; - frxReport: TfrxReport; procedure DataModuleCreate(Sender: TObject); private FConnection: IDAConnection; - procedure GenerarFactura(const AFacturaID: integer); overload; + function _GenerarInforme(const TipoInforme: String; const IdEmpresa: Integer; const FechaInicio: DateTime; const FechaFin: DateTime; const ListaIDProveedores: TIntegerArray; const ImporteMinimo: Currency): Binary; + public - function GenerarFactura(const AFacturaID : String): Binary; overload; + function GenerarInformeIVA(const IdEmpresa: Integer; const FechaInicio: DateTime; const FechaFin: DateTime; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; + function GenerarInformeListadoFacturas(const IdEmpresa: Integer; const FechaInicio: DateTime; const FechaFin: DateTime; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; + function GenerarInformeListadoFacturasPendientes(const IdEmpresa: Integer; const FechaInicio: DateTime; const FechaFin: DateTime; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; end; implementation @@ -48,15 +46,16 @@ uses const rptFacturaProveedor = 'InfFacturaProveedor.fr3'; + rptInformeIVA = 'InformeIVAProveedores.fr3'; + rptInformeIVADesglosado = 'InformeIVAProveedoresDesglosado.fr3'; + rptInformeListadoFacturasProveedor = 'InformeListadoFacturasProveedor.fr3'; + rptInformeListadoFacturasProveedorDesglosado = 'InformeListadoFacturasProveedorDesglosado.fr3'; + rptInformeListadoFactuasProveedorPendiente = 'InformeListadoFacturasProveedorPendientes.fr3'; + rptInformeListadoFactuasProveedorPendienteDesglosado = 'InformeListadoFacturasProveedorPendientesDesglosado.fr3'; - { Dataset names for schReport } - ds_InformeFacturasProveedor = 'InformeFacturasProveedor'; - ds_InformeFacturasProveedor_Detalles = 'InformeFacturasProveedor_Detalles'; - ds_InformeFacturasProveedor_Vencimientos = 'InformeFacturasProveedor_Vencimientos'; { TRptFacturasProveedor } - procedure TRptFacturasProveedor.DataModuleCreate(Sender: TObject); begin schReport.ConnectionManager := dmServer.ConnectionManager; @@ -64,64 +63,162 @@ begin frxReport.EngineOptions.NewSilentMode := simReThrow; end; -function TRptFacturasProveedor.GenerarFactura(const AFacturaID: String): Binary; +function TRptFacturasProveedor.GenerarInformeIVA(const IdEmpresa: Integer; + const FechaInicio, FechaFin: DateTime; + const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; + const ImporteMinimo: Currency): Binary; var - ID_Facturas: TStringList; + ATipoInforme: String; + +begin +//DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE + if Desglosado then + ATipoInforme := rptInformeIVADesglosado + else + ATipoInforme := rptInformeIVA; + + Result := _GenerarInforme(ATipoInforme, IdEmpresa, FechaInicio, FechaFin, ListaIDProveedores, ImporteMinimo); +end; + +function TRptFacturasProveedor.GenerarInformeListadoFacturas( + const IdEmpresa: Integer; const FechaInicio, FechaFin: DateTime; + const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; + const ImporteMinimo: Currency): Binary; +var + ATipoInforme: String; + +begin + +//DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE + if Desglosado then + ATipoInforme := rptInformeListadoFacturasProveedorDesglosado + else + ATipoInforme := rptInformeListadoFacturasProveedor; + + Result := _GenerarInforme(ATipoInforme, IdEmpresa, FechaInicio, FechaFin, ListaIDProveedores, ImporteMinimo); +end; + +function TRptFacturasProveedor.GenerarInformeListadoFacturasPendientes( + const IdEmpresa: Integer; const FechaInicio, FechaFin: DateTime; + const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; + const ImporteMinimo: Currency): Binary; +var + Condicion: TDAWhereExpression; + ATipoInforme: String; + +begin + if tbl_InformeListadoFacturas.Active then + tbl_InformeListadoFacturas.Active := False; + + // Filtrar el informe por situacion + with tbl_InformeListadoFacturas.DynamicWhere do + begin + // (ID_EMPRESA >= ID) + Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorSITUACION), NewConstant('PAGADA', datString), dboNotEqual); + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + + +//DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE + if Desglosado then + ATipoInforme := rptInformeListadoFactuasProveedorPendienteDesglosado + else + ATipoInforme := rptInformeListadoFactuasProveedorPendiente; + + + Result := _GenerarInforme(ATipoInforme, IdEmpresa, FechaInicio, FechaFin, ListaIDProveedores, ImporteMinimo); +end; + +function TRptFacturasProveedor._GenerarInforme(const TipoInforme: String; + const IdEmpresa: Integer; const FechaInicio, FechaFin: DateTime; + const ListaIDProveedores: TIntegerArray; const ImporteMinimo: Currency): Binary; +var + Condicion: TDAWhereExpression; i: Integer; begin Result := Binary.Create; - FConnection.BeginTransaction; + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" try - ID_Facturas := TStringList.Create; - ID_Facturas.CommaText := AFacturaID; + if tbl_InformeListadoFacturas.Active then + tbl_InformeListadoFacturas.Active := False; - //Vamos generando todos y cada uno de los albaranes recibidos - for i := 0 to ID_Facturas.Count - 1 do - GenerarFactura(StrToInt(ID_Facturas.Strings[i])); + // Filtrar el informe por empresa + with tbl_InformeListadoFacturas.DynamicWhere do + begin + // (ID_EMPRESA >= ID) + Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorID_EMPRESA), NewConstant(IdEmpresa, datInteger), dboEqual); + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + // Filtrar el informe por fechas + if not VarIsNull(FechaInicio) + and not VarIsNull(FechaFin) then + begin + with tbl_InformeListadoFacturas.DynamicWhere do + begin + // (FECHA_INICIO between FECHA_FIN) + Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorFECHA_FACTURA), NewConstant(FechaInicio, datDateTime), dboGreaterOrEqual); + Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_FacturasProveedorFECHA_FACTURA), NewConstant(FechaFin, datDateTime), dboLessOrEqual), Condicion, dboAnd); + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + end; + + // Filtrar el informe por proveedor + if Assigned(ListaIDProveedores) then + begin + with tbl_InformeListadoFacturas.DynamicWhere do + begin + for i := 0 to ListaIDProveedores.Count - 1 do + begin + + // (ID_PROVEEDOR = ID) + Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorID_PROVEEDOR), NewConstant(ListaIDProveedores.Items[i], datInteger), dboEqual); + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + end; + end; + + // Filtrar el informe por importe minimo + if (ImporteMinimo > 0) then + begin + with tbl_InformeListadoFacturas.DynamicWhere do + begin + // (IMPORTE_TOTAL > ImporteMinimo) + Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorIMPORTE_TOTAL), NewConstant(ImporteMinimo, datCurrency), dboGreaterOrEqual); + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + end; + + + tbl_InformeListadoFacturas.Active := True; + + frxReport.LoadFromFile(DarRutaInformes + TipoInforme, True); +// frxReport.LoadFromFile(DarRutaInformes + IntToStr(IdEmpresa) + '\' + TipoInforme, True); + frxReport.Variables.Variables['FechaInicio'] := FechaInicio; + frxReport.Variables.Variables['FechaFin'] := FechaFin; + + frxReport.PrepareReport(False); frxReport.PreviewPages.SaveToStream(Result); finally - FConnection.RollbackTransaction; - end; -end; - -procedure TRptFacturasProveedor.GenerarFactura(const AFacturaID: integer); -var - AStream: TMemoryStream; - dsMaster: IDADataset; - dsDetail: IDADataset; - dsVencimientos : IDADataset; -begin - AStream := TMemoryStream.Create; - - try - dsMaster := schReport.NewDataset(FConnection, ds_InformeFacturasProveedor, ['ID'], [AFacturaID]); - dsDetail := schReport.NewDataset(FConnection, ds_InformeFacturasProveedor_Detalles, ['ID_FACTURA'], [AFacturaID], False); - dsVencimientos := schReport.NewDataset(FConnection, ds_InformeFacturasProveedor_Vencimientos, ['ID_FACTURA'], [AFacturaID], False); - - AStream.Clear; - DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1); - DABINAdapter.ReadDataset(AStream, tbl_FacturaProveedor, TRUE, '', TRUE, TRUE); - - AStream.Clear; - DABINAdapter.WriteDataset(AStream, dsDetail, [woRows, woSchema], -1); - DABINAdapter.ReadDataset(AStream, tbl_DetallesFacturaProveedor, TRUE, '', TRUE, TRUE); - - AStream.Clear; - DABINAdapter.WriteDataset(AStream, dsVencimientos, [woRows, woSchema], -1); - DABINAdapter.ReadDataset(AStream, tbl_Vencimientos, TRUE, '', TRUE, TRUE); - - - frxReport.LoadFromFile(DarRutaInformes + rptFacturaProveedor, True); - frxReport.PrepareReport(False); - - finally - AStream.Free; - dsMaster := Nil; - dsDetail := Nil; + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; diff --git a/Source/Modulos/Facturas de proveedor/Views/FacturasProveedor_view.dpk b/Source/Modulos/Facturas de proveedor/Views/FacturasProveedor_view.dpk index 6c77e71a..f80a532f 100644 Binary files a/Source/Modulos/Facturas de proveedor/Views/FacturasProveedor_view.dpk and b/Source/Modulos/Facturas de proveedor/Views/FacturasProveedor_view.dpk differ diff --git a/Source/Modulos/Facturas de proveedor/Views/FacturasProveedor_view.dproj b/Source/Modulos/Facturas de proveedor/Views/FacturasProveedor_view.dproj index 75248000..ef4219ab 100644 --- a/Source/Modulos/Facturas de proveedor/Views/FacturasProveedor_view.dproj +++ b/Source/Modulos/Facturas de proveedor/Views/FacturasProveedor_view.dproj @@ -40,11 +40,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 FacturasProveedor_view.dpk @@ -54,34 +50,35 @@ MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
fEditorElegirArticulosFacturaProveedor
TfEditorElegirArticulosFacturaProveedor diff --git a/Source/Modulos/Facturas de proveedor/Views/FacturasProveedor_view.res b/Source/Modulos/Facturas de proveedor/Views/FacturasProveedor_view.res index 8b251f31..1641339f 100644 Binary files a/Source/Modulos/Facturas de proveedor/Views/FacturasProveedor_view.res and b/Source/Modulos/Facturas de proveedor/Views/FacturasProveedor_view.res differ diff --git a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.dfm b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.dfm index 73a2fba7..5ac8b941 100644 --- a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.dfm +++ b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.dfm @@ -61,6 +61,13 @@ inherited fEditorFacturasProveedor: TfEditorFacturasProveedor inherited tbxMenu: TTBXToolbar ExplicitWidth = 640 end + inherited TBXTMain2: TTBXToolbar + Visible = True + ExplicitWidth = 66 + object TBXItem40: TTBXItem + Action = actInformes + end + end end inherited StatusBar: TJvStatusBar Top = 647 @@ -131,15 +138,27 @@ inherited fEditorFacturasProveedor: TfEditorFacturasProveedor Width = 640 ExplicitWidth = 640 inherited txtFiltroTodo: TcxTextEdit + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitWidth = 543 Width = 543 end inherited edtFechaIniFiltro: TcxDateEdit + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitWidth = 263 Width = 263 end inherited edtFechaFinFiltro: TcxDateEdit Left = 367 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 367 ExplicitWidth = 263 Width = 263 @@ -210,6 +229,11 @@ inherited fEditorFacturasProveedor: TfEditorFacturasProveedor ImageIndex = 24 OnExecute = actNuevoAbonoExecute end + object actInformes: TAction + Category = 'Archivo' + Caption = 'Informes' + OnExecute = actInformesExecute + end end inherited SmallImages: TPngImageList [5] PngImages = < @@ -3624,4 +3648,319 @@ inherited fEditorFacturasProveedor: TfEditorFacturasProveedor Left = 184 Top = 112 end + object JSInformesDialog: TJSDialog + Content.Strings = ( + 'Seleccione el informe que desea realizar') + DialogOptions = [doCommandLinks, doModal] + Glyph.Data = { + 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 + 00001C0806000000720DDF940000000970485973000017120000171201679FD2 + 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14 + 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD + 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2 + 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD + B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010 + 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3 + 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045 + A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8 + 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281 + 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87 + A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F + 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B + EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F + 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8 + 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10 + 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8 + CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF + 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32 + F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF + 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165 + 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF + 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2 + ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312 + FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312 + 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA + 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082} + Instruction.Text = 'Nuevo informe' + Instruction.Glyph.Data = { + 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 + 00001C0806000000720DDF940000000970485973000017120000171201679FD2 + 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14 + 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD + 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2 + 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD + B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010 + 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3 + 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045 + A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8 + 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281 + 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87 + A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F + 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B + EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F + 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8 + 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10 + 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8 + CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF + 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32 + F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF + 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165 + 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF + 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2 + ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312 + FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312 + 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA + 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082} + Instruction.Icon = tdiCustom + CustomButtons = < + item + Caption = 'Listado de facturas pendientes.' + Value = 100 + Default = True + end + item + Caption = 'Listado de IVA.' + Value = 200 + end + item + Caption = 'Listado de facturas' + Value = 300 + end> + ButtonBar.Buttons = [cbCancel] + MainIcon = tdiCustom + Title = 'FactuGES' + Position = dpMainFormCenter + Icon.Data = { + 0000010003002020100001000400E8020000360000002020000001000800A808 + 00001E0300002020000001002000A8100000C60B000028000000200000004000 + 0000010004000000000000020000000000000000000000000000000000000000 + 000000008000008000000080800080000000800080008080000080808000C0C0 + C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 + 0000000000000000000000000000000008777777777777777777777700000000 + 0877767777677776777767760000000008F88888888888888888888700000000 + 08F8FF8F8F888888888888860000000008FF8F8F88F8F8888888888C00000000 + 08F88888F8888888888888860000000008F8688878E8888E88E8788700000000 + 08F8688888F8F8FFFFFF88760000000008FF4888888F8FFFFFFF788700000000 + 08F8676767677677677658E50000000008FF8888888887878787888700000000 + 08FF8887887E8888888888860000000008FFE8E8E788C8E8FF8F8F8600000000 + 08FFF8F8F8F8FF8F88F8F8870000000008FFFFFF8FF8F8F8F88F888600000000 + 0FF8477878787878788788860000000008FF68888888F8FF8F8F788700000000 + 08B7588888FF8FFFFFFF78860000083008BB47887776777777776F86000000B7 + 8B9B73BB88788787E87878870000008BB8B9BB78888888EFF8F8FF8600000087 + B8BB8B888E8E8E88FFF8F886000000088BBB888FFFFFFFFFF8F877770000B9BB + B8FFBB9B9BFFFFFFF87466460000BBB9BB8FBBBBB8FFFFFFF88F888700000008 + B8BB88888FFFFFFFF88F8F7700000008BBBBBB8FFFFFFFFFFF8887700000007B + B7B98BB8FFFFFFFFF8887700000000B78B9B87B888F88F88F8877000000007B0 + 08BB883B78888788787700000000000000B9000000000000000000000000FFFF + FFFFF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000F9800000FC000000FC000000FC000000FE000000F0000 + 000F0000000FE000000FE000001FC000003FC000007F980000FFFCFFFFFF2800 + 0000200000004000000001000800000000000004000000000000000000000001 + 00000001000000000000694731007C5D49007E604C0081635000826451008567 + 540085685500886B5900896D5B008A6E5D008B705F008E715F008B7260008C72 + 61008E74640084766C00957A6900977D6D00887B72009A8171009D8272009C84 + 76009D8778009F897B00A28A7900A08B7D00A18C7E00E1B06E00E1B67D003E7A + 970073A0A5007AA2B70074AFBD007BB2BB003CAACE0028A5DB0020ADDF000D9A + E500209EE3000DA6E2001AA4EF0000A6FF000CABFE0009ACFE0010A4F10015AC + FA0000B5FB0000B0FD000CB6FC0000BFF90000BAFD0004BAFD0009BBFB0013B6 + F40015BFFA001CBDFB0026B7FD00589EC50040A4CD0040ABCC0050A2C7005DAE + C00060A3C20062A4C60060B7CB006AB0CD007BB6C80077BAC80061BADD0044AD + E50000C3F80007C6FB0000CAF80000CFFB0000D4F90026C8FA0026CDF8002BCC + F90039C4FB0039C2FC0039CAFA003FCFFB0024D6F80030D2F80039D5F80000F8 + F8001FF8F8002CF6F8003EF4F8005AC6DC0070CDDF0052C0E40054C9E3004DCE + FA005FC7FF004FD2FB004DD9F8005FD9FB006ED3E70063CDFE0060D1FB0060D8 + F90060DDF80046F8F90056F0F8005FFAFA0073E3F80073E4F90073EEF80060F1 + F800958A84009A918C0081999500A68F8200AD968500A3968C00AE988900AD9A + 8D00B19A8B00AF9C9000B09E9200B59F9200B7A29300B2A19600B5A19400B7A4 + 9700BDA79700B4A39800B1A59D00B4A79F00BAA69800BCA79900B4A89F00BCA8 + 9900BAA89C00BDAA9D00BEAC9E0083ADBD00B5A9A100BDABA000BEADA100BFAF + A500A0BABE00C0AB9E00C1AC9E00C6AE9F00E2B98100E4BA8300E4BB8400E5BC + 8500E1BD8E00E3BF9000C0ADA000C2B0A300C2B1A500C4B2A600C1B2A800C3B5 + AB00C8B4A800CCB9AD00CEBCB100D0BEB200D1BFB400E4C19300E5C29400E6C4 + 9600E8C69900D0C9A300CFC1B800D2C1B600D3C3B800D5C4B900D6C6BC00D8C6 + BC00D6C8BE00DAC9BF00ECD3B000EDD4B200EFD6B500E7D1B800E7D3BD00F0D8 + B6008CB7C40080BEC70097C3C70099C3C900ABD7CF00AFD9DD0086E3F90086E7 + F90086ECF8009EE5FB0090E8F900ACEDFC00BCEAFD00BCF1FB00BFF1FD00D7C9 + C000D9CAC100DCCBC200DACCC200DDCCC300DACCC400DDCEC400DED0C600DED1 + C900DED3CC00DFD4CD00E1D1C900E2D5CD00F0DCC200E3D8D200E5D9D200E2DA + D500E6DBD400E5DCD500E8DDD600E6DDD800E9DFD900E6E0DB00EAE0DA00EAE2 + DD00ECE3DE00EBE4DE00ECE4DE00F3E7D900C6E1EF00C9EFFD00D7F6FD00DFF3 + FF00DFFEFE00EBE7E300EDE6E100EFE7E400EEE8E400F0EAE600F2EDE900F2EE + EC00F4EFEC00F5F0EE00F9F4ED00E7FAFD00EBF8FF00F6F2F000F7F4F100F8F4 + F200F9F7F500FAF8F600FBF9F900FCFBFA00FCFCFB00FEFEFE00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000007D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D + 0D0D0000000000000000009C9C19191919191919191919191919191919191919 + 1903000000000000000000ABDECBCBC7C7AFABABABABAAA3A2A2A0A0A0A0A0A0 + 8607000000000000000000ABECEAE9DEDEDEDED7D5D2D2D2CBCBCBCBB0CBB0CB + 9007000000000000000000ABEDECEAE9DEDEDBD7D7D5D2D2D2CDCDCBB0B0B0B0 + 9007000000000000000000AFEDE9A9CFD2CFD2CDCBCBCBB0B0ABACA3A3A3A3B0 + 9007000000000000000000AFF0D5017783838386868686869099909999907BB0 + 9007000000000000000000B0F4D501A0B0CBD2D5DEECEDF7FAFAFAFAFAF77BAA + 9007000000000000000000CBF4DC01A0B0B0B0D2D5DBEAEDF7FAFAFAFAF47BB0 + 9007000000000000000000CBF8DC010404070604090909090D0D110D110D02A3 + 9007000000000000000000CBFAED9E9E9E9C999E8C8C8C868683837E7D7D7ACB + 9007000000000000000000CBFAF1A7A7A6A6A6A69898989898B5DBDBD5D5D2D2 + 9907000000000000000000CDFAF796969696961D961D931D1DB4DEDBD7D5D5D2 + 9C07000000000000000000CFFAFAFAFAF8F7F0F0EDEDEDECE9E9DEDEDED7D5D5 + 9907000000000000000000CDFAFAEAF0EDEDECEAEAE9DEDEDBDCD5D5D5D5D2D5 + 9C07000000000000000000D2FAEC01737D7D7B7D7D7B7D7B7D7B7B7B7D7B7DD2 + 9907000000000000000000CFFAEC019EABB0CBD2D5DCDEECEDF4F4F4F4EA7BD2 + 9C07000000000000000000B9524601A0B0B0CBB5D5DEEAEDF7FAFAFAFAF47DD5 + 9C070000000000213F0000B83226010C3F5C1F111214141616191B1B1B1807D2 + 9C07000000000000253D8A5B322D711E2860BA7E7E7A7E797A797979767676D5 + 9E0700000000000041375E662F2B65314EBBB6B6B6B6B4B4B1E2F4EDEDEDECEA + 9C070000000000008F5D66663232394EC1A81C1C1C1C1C1C1CD3F7F4EDDED7D5 + 9C0700000000000000B7BE6E5758BEBDE4E6E6F3FAFAFAFAFAFAF7F4D5928675 + 7304000000002A2A2A2A4A6AFAE7562F2A2A2A5FFAFAFAFAFAFAF8D577010101 + 0101000000004747472F4A59C5E7564A32474766FAFAFAFAFAFAFADCA0D2CFB0 + A20C00000000000000436C6958686D6BC2C5C5E7FAFAFAFAFAFAFADEAADEDBCB + 1470000000000000004551534A4A5250C0E7FAFAFAFAFAFAFAFAFADEAAD7B514 + 700000000000000042384C54472B613550C3FAFAFAFAFAFAFAFAFADEA1B0196F + 000000000000000024234463322EBC5A3664E3ECE9E9E9E9E9E9E9CF90731300 + 000000000000003A3C00002232298B8B3E3B207E8B7E8B7E827E817E74100000 + 0000000000000000000000003227000000000000000000000000000000000000 + 000000000000FFFFFFFFF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000FF800000FF800000F9800000FC000000FC000000FC000 + 000FE000000F0000000F0000000FE000000FE000001FC000003FC000007F9800 + 00FFFCFFFFFF2800000020000000400000000100200000000000801000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000007067 + 5F70AA9382E570513CE3735540E3735540E3735540E3735540E3735540E37355 + 40E3735540E3735540E3735540E3735540E3735540E3735540E3735540E37355 + 40E3735540E3735540E3735540E3735540E3735540E3735540E372533EE5BAAB + A070000000000000000000000000000000000000000000000000000000005E54 + 4C7FCAB7ABFFC5B5AAFFA18877FFA28A78FFA28A79FFA28A79FFA28A79FFA28A + 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A + 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA58D7CFF7A5B46FFB2A1 + 967F000000000000000000000000000000000000000000000000000000006055 + 4D7ED7C6BBFFEDE4E0FFD9CCC4FFD9CCC4FFD9CBC3FFD8CAC1FFD7C9BFFFD6C7 + BDFFD5C6BBFFD4C4BAFFD3C3B8FFD2C1B7FFD1C0B5FFD0BEB3FFCFBDB2FFCEBC + B0FFCEBBAFFFCEBBAFFFCEBBAFFFCEBBAFFFCEBCB0FFBEAA9CFF82644FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006056 + 4D7ED7C8BCFFF2EBE8FFEFE9E5FFEEE7E2FFECE5E0FFEBE2DEFFEAE0DBFFE9DE + D8FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCDC4FFDCCB + C2FFDBC9BFFFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC1FFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006155 + 4E7ED8C9BDFFF3EDE9FFF1EAE6FFF0E9E6FFEEE6E1FFECE4DFFFEBE2DDFFEAE0 + DAFFE9DED7FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCD + C4FFDCCBC2FFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC0FFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006157 + 4E7ED9C9BFFFF4EFEDFFEFE8E3FFD0C2B9FFDFD5CEFFE0D5CEFFE0D4CCFFDED3 + CBFFDDD1C8FFDCCFC6FFDACCC4FFD9CBC1FFD8C9BFFFD7C7BDFFD6C5BBFFD5C4 + B9FFD3C2B7FFD2C0B5FFD2BFB4FFD2BFB4FFDAC8BEFFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006256 + 4F7EDACCC0FFF5F2EFFFE5DDD9FF5C3821FFB0998AFFB8A394FFB8A394FFB9A3 + 94FFB8A495FFB9A597FFB9A698FFBAA698FFBBA799FFBBA89AFFBBA89BFFBCA8 + 9BFFBCA89BFFBCA89BFFBBA89AFFB49E8FFFD8C6BBFFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006256 + 4F7EDBCBC1FFF8F4F3FFE7E0DBFF5F3C24FFD0BDB2FFDCCBC1FFDDCCC3FFE2D2 + CBFFE7DBD4FFEDE2DEFFF0E8E6FFF5F0EDFFF9F7F4FFFDFDFDFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFAF8F7FFB39D8DFFD8C6BBFFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006256 + 4F7EDCCEC3FFFAF6F5FFE9E2DDFF5F3C24FFD2BFB5FFDFCDC4FFDECCC3FFE0CE + C6FFE4D4CDFFE9DDD6FFEFE4E0FFF1EAE8FFF7F1EFFFFBF8F6FFFFFEFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFCFBFAFFB5A090FFD9C7BEFFC1AD9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006257 + 4F7EDDCFC4FFFCF9F9FFE9E4E0FF5F3A23FF7C5D49FF7F5F4CFF7E5F4CFF7E60 + 4DFF7F614DFF816350FF826552FF836654FF846856FF856A57FF866B59FF876C + 5BFF876D5BFF876D5BFF866B59FF72523DFFD5C3B9FFC1AFA1FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006357 + 507EDECFC6FFFCFCFBFFF4F1F0FFC3B6AEFFC3B5ADFFC1B4ACFFC0B3AAFFBFB1 + A9FFBEB0A6FFBDAEA5FFBDACA3FFBCABA2FFBBAAA0FFBAA99FFFB8A69AFFB8A4 + 98FFB6A396FFB5A194FFB49F93FFB39D90FFDCCDC4FFC2AEA1FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006357 + 507EDFD2C7FFFEFEFDFFF9F5EFFFE8C696FFE9C799FFE8C697FFE7C596FFE7C4 + 95FFE6C394FFE5C293FFE4C091FFE4C090FFE3BF8FFFE2BD8CFFE9D5BFFFEBE1 + DCFFEADFD8FFE7DCD5FFE5DAD3FFE4D8D0FFE3D4CCFFC2AFA2FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006458 + 517EE0D3C8FFFFFFFFFFFAF5EFFFE3B77CFFE4B97FFFE2B87EFFE3B77DFFE2B7 + 7CFFE2B67BFFE1B57AFFE1B479FFE0B478FFE0B377FFDFB174FFE6D0B7FFEBE1 + DCFFE8DFD9FFE8DDD6FFE6D9D2FFE3D8D1FFE4D7CFFFC3AFA2FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006458 + 517EE1D2C9FFFFFFFFFFFEFEFDFFFEFFFFFFFCFDFEFFFBFBFBFFF9F7F8FFF8F5 + F6FFF7F3F2FFF5F1F0FFF4EFEEFFF1EDEBFFF0EBE9FFEEE9E6FFEDE6E2FFECE3 + DEFFEBE1DBFFE9DFD9FFE8DDD6FFE6DAD3FFE5D9D2FFC3B0A3FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006459 + 517EE1D4CAFFFFFFFFFFFDFDFCFFEEEBE8FFF5F2F0FFF4F0EFFFF3EFECFFF2ED + EAFFF1EBE8FFEEE9E5FFEFE7E3FFECE5E1FFEAE4DEFFEAE1DCFFE8E0DAFFE7DE + D8FFE6DDD6FFE5DBD4FFE4D8D1FFE2D6CEFFE6DBD4FFC3B1A4FF81634EFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006559 + 527EE2D4CAFFFFFFFFFFF0ECEAFF5B361EFFAB9383FFB39D8EFFB39D8DFFB39D + 8DFFB29D8DFFB29C8DFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C + 8CFFB29C8CFFB29C8CFFB29C8DFFB39D8EFFE3D8D0FFC4B1A4FF81634EFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006559 + 527EE5D4CAFFFFFFFFFFF7F0EBFF5F3B24FFCCB8ADFFD7C5BAFFD9C7BDFFDCCC + C3FFE1D4CCFFE5DAD4FFE8E0DBFFEDE5E1FFF1EBE9FFF5F2EFFFF7F5F3FFF8F6 + F4FFF8F5F4FFF8F6F4FFF1EEEAFFB29C8DFFE6DAD3FFC4B2A5FF81634EFFB2A1 + 967E00000000000000000000000000000000000000000000000000000000685A + 527E9AC6C9FF35CFFEFF3DAEEBFF663E24FFD2BFB4FFE0CBBFFFE0C9BDFFE1CD + C4FFE4D5CDFFE9DED7FFEEE5E0FFF2EBE8FFF6F2F0FFFCF8F8FFFFFFFEFFFFFF + FFFFFFFFFFFFFFFFFFFFFCFAF9FFB49E8FFFE7DED7FFC5B3A6FF81634EFFB2A1 + 967E00000000000000000000000000000000007792910072A7A3001E33366957 + 4C7C86C1C8FF00BFFBFF079AEBFF6A3E23FF926D57FF5FA3C8FF4AC1E8FF6C9C + A2FF917260FF927767FF947A69FF957C6CFF977E6FFF998171FF9A8374FF9B85 + 76FF9C8678FF9C8678FF998274FF7D5E49FFE3D9D4FFC5B3A7FF81634EFFB2A1 + 967E00000000000000000000000000000000005A6F7000A9E5E40075AEAE5C90 + A5BD75D0E0FF00BFFAFF0CA3F4FF8A9A91FF3C7492FF03A4E4FF4AD5FFFF98C4 + CBFFB3A196FFB1A197FFB0A096FFB09F95FFAF9D92FFAF9C91FFAD9A8EFFAC99 + 8CFFAB988AFFAB9789FFAA9688FFA99386FFE8E0DAFFC5B4A7FF81634EFFB2A1 + 967E00000000000000000000000000000000000000002DA5BFC110C2FFFF4DD0 + FDFF64DBF9FF00B3FAFF09A8FEFF68D7FFFF04B5FFFF24CCFBFFAFD8CEFFF7DA + B8FFF3DBBBFFF3DBBAFFF2D9B9FFF1D8B7FFF0D7B4FFEED5B2FFF6EADDFFF9F6 + F4FFF7F3F1FFF5F1EEFFF5EFECFFF4EDEAFFF1EBE7FFC6B4A8FF81634EFFB2A1 + 967E00000000000000000000000000000000000000005F8A909142C7E4E960DE + F8FF64D7FAFF00B6FDFF00B8FDFF21B2FDFF1ECCF7FF93EBFCFFD2C69BFFE1AB + 63FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDEA961FFEFDBC0FFF8F6 + F5FFF6F2F0FFF3EDEBFFECE2DCFFE9DFD9FFE5DBD6FFC2B1A4FF81634FFFB2A1 + 967E000000000000000000000000000E171A000E171A00040B145994A4A990EB + FCFF61F1F7FF13FAF7FF23F9F7FF93EDF7FF8CE5F8FFD5F2FDFFE9F8FFFFE7F8 + FFFFF0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFEFFFFFAFAF9FFF9F7 + F5FFF7F2F0FFE8DFD8FFC7AE9FFFBEA998FFAF9888FFB09A8AFF7F604DFFB2A1 + 967E00000000000000000000000000AAFFFF00AAFFFF00AAFFFF00A4FFFF00CD + FAFF5DFCF9FFFFFFFFFFEEFEFEFF00FBF7FF00AAFEFF00A1FFFF00A1FFFF00A0 + FFFF56C3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFBFFFCFBFAFFFBFA + F8FFE6DDD6FFAA9180FF5D3922FF603D26FF613E27FF613E28FF634029FFB4A3 + 987E00000000000000000000000000CAFFFF00CAFFFF00CBFFFF00B0FFFF00CD + FBFF38F5F7FFC3EFFAFFF0FFFEFF00FAF7FF00C8F7FF00C2F7FF00C2F7FF00C1 + F7FF57D7FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFDFDFCFFFCFC + FBFFE7DED8FFCCB9ACFFE6DBD5FFE2D7D0FFDCCFC5FFD7C5BBFF8E705DFFB4A2 + 9680000000000000000000000000002E383C002E383C00252F364C99B0B57DE8 + FBFF59F1F7FF25F7F7FF41FAF8FF7CEEF7FF77E4F7FFB5EFFCFFC6F2FDFFC3F2 + FDFFD9F6FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFEFE + FEFFE9E1DAFFCEBCAFFFF1E9E3FFEADFD8FFE4D5CCFF9D816FFF3A291F868985 + 831C00000000000000000000000000000000000000004E7073774AB0DADC37C9 + FBFF22D5F7FF00D3F9FF02C3FBFF37D5F7FF34BEFCFFA2E6FAFFECFBFDFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF + FFFFEAE2DCFFCDBBADFFEADFD8FFE3D5CBFF9F8271FF3E2D2386050100200000 + 000000000000000000000000000000000000000000003E9CC4C219C0FFFF23C9 + FCFF30D3F8FF00BEF8FF06A8FEFF4FDCF8FF00B8FCFF32C2FBFFC0EBFCFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFEAE3DEFFCDB9ABFFDDCEC4FFA58979FF3E2C1F8F0905041B000000000000 + 000000000000000000000000000000000000003451510099DDDB0091C0C35DAD + BCCF76D7E9FF00BEF9FF10A9FBFFBDDEDEFF5AC8DDFF0AB5F7FF62CEFFFFCBE4 + F1FFF1E7E0FFEFE7E1FFEEE6E1FFEEE6E1FFEEE6E0FFEDE6E0FFEDE5E0FFEEE6 + E1FFE1D4CCFFC5AE9FFFA68D7FF53E2718A10402000E00000000000000000000 + 0000000000000000000000000000000000000075B7AF0099C7C500323E425442 + 3B5C6BA8B1DA00C1FCFF0EA1F3F8A98E80C0AB9081C12698B1C10088C4C14C85 + A3C1A18D80C19E8D81C19E8B81C19D8C80C19B8C7FC19B8A7FC19C897FC19A89 + 7EC19B8B7EC1897769C2432B1BAC000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000045565A00C5FFFF0094E6E2000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000FFFFFFFFF0000007F0000007F0000007F000 + 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000 + 0007F0000007F0000007F0000007F0000007F0000007F0000007800000078000 + 0007C0000007C000000700000007000000070000000700000007C000000FC000 + 001F8000003F800000FFF8FFFFFF} + Width = 450 + Left = 408 + Top = 80 + end end diff --git a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.pas b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.pas index 916a64c5..5f838961 100644 --- a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.pas +++ b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.pas @@ -31,10 +31,14 @@ type JsPrevisualizarDialog: TJSDialog; JsImprimirDialog: TJSDialog; JsListaFacturasNoEliminadas: TJSDialog; + actInformes: TAction; + TBXItem40: TTBXItem; + JSInformesDialog: TJSDialog; procedure FormShow(Sender: TObject); procedure actEliminarUpdate(Sender: TObject); procedure actNuevaFacturaExecute(Sender: TObject); procedure actNuevoAbonoExecute(Sender: TObject); + procedure actInformesExecute(Sender: TObject); private FFacturas: IBizFacturaProveedor; FController : IFacturasProveedorController; @@ -65,7 +69,7 @@ uses uDataModuleFacturasProveedor, uDataModuleUsuarios, uGridUtils, uDBSelectionListUtils, uFactuGES_App, uAlbaranesProveedorController, uBizAlbaranesProveedor, - uEditorBase; + uEditorBase, uGestorInformesController; // , uGenerarFacturasProvAlbProvUtils; @@ -81,6 +85,37 @@ begin (Sender as TAction).Enabled := (FFacturas.SITUACION = CTE_PENDIENTE); end; +procedure TfEditorFacturasProveedor.actInformesExecute(Sender: TObject); +var + Respuesta : Integer; + AGestorInformesController : IGestorInformesController; + +begin + AGestorInformesController := TGestorInformesController.Create; + try + + Respuesta := JsInformesDialog.Execute; + + if Respuesta <> IDCANCEL then + begin + case JsInformesDialog.CustomButtonResult of + 100 : begin // Listado de facturas pendientes + AGestorInformesController.VerInformeListadoFacturasProvPendientes; + end; + 200 : begin // Listado de IVA + AGestorInformesController.VerInformeIVAProveedores; + end; + 300 : begin // Listado de facturas de cliente + AGestorInformesController.VerInformeListadoFacturasProv; + end; + end; + end; + + finally + AGestorInformesController := NIL; + end; +end; + procedure TfEditorFacturasProveedor.actNuevaFacturaExecute(Sender: TObject); begin actNuevo.Execute; diff --git a/Source/Modulos/Gestion de documentos/Controller/GestorDocumentos_controller.drc b/Source/Modulos/Gestion de documentos/Controller/GestorDocumentos_controller.drc index 59c4ec5f..25042e25 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 Acana\Source\Modulos\Gestion de documentos\Controller\GestorDocumentos_Controller.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf54.tmp */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf5F.tmp */ diff --git a/Source/Modulos/Gestion de documentos/Data/GestorDocumentos_data.drc b/Source/Modulos/Gestion de documentos/Data/GestorDocumentos_data.drc index bbc9098e..1ab1968c 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 Acana\Source\Modulos\Gestion de documentos\Data\uDataModuleGestorDocumentos.dfm */ /* C:\Codigo Acana\Source\Modulos\Gestion de documentos\Data\GestorDocumentos_data.res */ -/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf52.tmp */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf5D.tmp */ diff --git a/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas b/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas index f7003dbf..7f296d7a 100644 --- a/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas +++ b/Source/Modulos/Gestor de informes/Data/uDataModuleGestorInformes.pas @@ -76,7 +76,7 @@ function TDataModuleGestorInformes.GenerarInformeIVAProveedores( const ImporteMinimo: Currency): Binary; begin try -// Result := (RORemoteService as IsrvGestorInformes).GenerarInformeIVAProveedores(IdEmpresa, FechaInicio, FechaFin, ListaIdProveedores, Desglosado, ImporteMinimo); + Result := (RORemoteService as IsrvGestorInformes).GenerarInformeIVAProveedores(IdEmpresa, FechaInicio, FechaFin, ListaIdProveedores, Desglosado, ImporteMinimo); finally end; end; @@ -109,7 +109,7 @@ function TDataModuleGestorInformes.GenerarInformeListadoFacturasProv( const ImporteMinimo: Currency): Binary; begin try -// Result := (RORemoteService as IsrvGestorInformes).GenerarInformeListadoFacturasProv(IdEmpresa, FechaInicio, FechaFin, ListaIdProveedores, Desglosado, ImporteMinimo); + Result := (RORemoteService as IsrvGestorInformes).GenerarInformeListadoFacturasProv(IdEmpresa, FechaInicio, FechaFin, ListaIdProveedores, Desglosado, ImporteMinimo); finally end; end; @@ -120,7 +120,7 @@ function TDataModuleGestorInformes.GenerarInformeListadoFacturasProvPendientes( const ImporteMinimo: Currency): Binary; begin try -// Result := (RORemoteService as IsrvGestorInformes).GenerarInformeListadoFacturasProvPendientes(IdEmpresa, FechaInicio, FechaFin, ListaIdProveedores, Desglosado, ImporteMinimo); + Result := (RORemoteService as IsrvGestorInformes).GenerarInformeListadoFacturasProvPendientes(IdEmpresa, FechaInicio, FechaFin, ListaIdProveedores, Desglosado, ImporteMinimo); finally end; end; @@ -164,7 +164,7 @@ function TDataModuleGestorInformes.GenerarInformeListadoRecibosProveedor( const ImporteMinimo: Currency): Binary; begin try -// Result := (RORemoteService as IsrvGestorInformes).GenerarInformeListadoRecibosProveedor(IdEmpresa, FechaInicio, FechaFin, ListaIdProveedores, Desglosado, ImporteMinimo); + Result := (RORemoteService as IsrvGestorInformes).GenerarInformeListadoRecibosProveedor(IdEmpresa, FechaInicio, FechaFin, ListaIdProveedores, Desglosado, ImporteMinimo); finally end; end; @@ -175,7 +175,7 @@ function TDataModuleGestorInformes.GenerarInformeListadoRecibosProvPendientes( const ImporteMinimo: Currency): Binary; begin try -// Result := (RORemoteService as IsrvGestorInformes).GenerarInformeListadoRecibosProvPendientes(IdEmpresa, FechaInicio, FechaFin, ListaIdProveedores, Desglosado, ImporteMinimo); + Result := (RORemoteService as IsrvGestorInformes).GenerarInformeListadoRecibosProvPendientes(IdEmpresa, FechaInicio, FechaFin, ListaIdProveedores, Desglosado, ImporteMinimo); finally end; end; diff --git a/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.pas b/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.pas index 773c37df..48251bc5 100644 --- a/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.pas +++ b/Source/Modulos/Gestor de informes/Servidor/srvGestorInformes_Impl.pas @@ -72,8 +72,8 @@ implementation {$R *.dfm} uses {Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils, Dialogs, - uRptPresupuestosCliente_Server, uRptFacturasCliente_Server, uRptRecibosCliente_Server; -// uRptFacturasProveedor_Server, uRptRecibosProveedor_Server; + uRptPresupuestosCliente_Server, uRptFacturasCliente_Server, uRptRecibosCliente_Server, + uRptFacturasProveedor_Server, uRptRecibosProveedor_Server; procedure Create_srvGestorInformes(out anInstance: IUnknown); begin @@ -178,17 +178,15 @@ end; function TsrvGestorInformes.GenerarInformeIVAProveedores(const IdEmpresa: Integer; const FechaInicio, FechaFin: DateTime; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; -//var -// AReportGenerator : TRptFacturasProveedor; +var + AReportGenerator : TRptFacturasProveedor; begin -{ AReportGenerator := TRptFacturasProveedor.Create(nil); try Result := AReportGenerator.GenerarInformeIVA(IdEmpresa, FechaInicio, FechaFin, ListaIDProveedores, Desglosado, ImporteMinimo); finally FreeAndNIL(AReportGenerator); end; -} end; function TsrvGestorInformes.GenerarInformeListadoFacturasCli(const IdEmpresa: Integer; @@ -224,34 +222,30 @@ function TsrvGestorInformes.GenerarInformeListadoFacturasProv( const IdEmpresa: Integer; const FechaInicio, FechaFin: DateTime; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; -//var -// AReportGenerator : TRptFacturasProveedor; +var + AReportGenerator : TRptFacturasProveedor; begin -{ AReportGenerator := TRptFacturasProveedor.Create(nil); try Result := AReportGenerator.GenerarInformeListadoFacturas(IdEmpresa, FechaInicio, FechaFin, ListaIDProveedores, Desglosado, ImporteMinimo); finally FreeAndNIL(AReportGenerator); end; -} end; function TsrvGestorInformes.GenerarInformeListadoFacturasProvPendientes( const IdEmpresa: Integer; const FechaInicio, FechaFin: DateTime; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; -//var -// AReportGenerator : TRptFacturasProveedor; +var + AReportGenerator : TRptFacturasProveedor; begin -{ AReportGenerator := TRptFacturasProveedor.Create(nil); try Result := AReportGenerator.GenerarInformeListadoFacturasPendientes(IdEmpresa, FechaInicio, FechaFin, ListaIDProveedores, Desglosado, ImporteMinimo); finally FreeAndNIL(AReportGenerator); end; -} end; function TsrvGestorInformes.GenerarInformeListadoPresupuestos( @@ -303,34 +297,30 @@ function TsrvGestorInformes.GenerarInformeListadoRecibosProveedor( const IdEmpresa: Integer; const FechaInicio, FechaFin: DateTime; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; -//var -// AReportGenerator : TRptRecibosProveedor; +var + AReportGenerator : TRptRecibosProveedor; begin -{ AReportGenerator := TRptRecibosProveedor.Create(nil); try Result := AReportGenerator.GenerarInformeListadoRecibos(IdEmpresa, FechaInicio, FechaFin, ListaIDProveedores, Desglosado, ImporteMinimo); finally FreeAndNIL(AReportGenerator); end; -} end; function TsrvGestorInformes.GenerarInformeListadoRecibosProvPendientes( const IdEmpresa: Integer; const FechaInicio, FechaFin: DateTime; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; -//var -// AReportGenerator : TRptRecibosProveedor; +var + AReportGenerator : TRptRecibosProveedor; begin -{ AReportGenerator := TRptRecibosProveedor.Create(nil); try Result := AReportGenerator.GenerarInformeListadoRecibosPendientes(IdEmpresa, FechaInicio, FechaFin, ListaIDProveedores, Desglosado, ImporteMinimo); finally FreeAndNIL(AReportGenerator); end; -} end; procedure TsrvGestorInformes.DataAbstractServiceBeforeGetDatasetData( diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm index 0dc76cf5..65573933 100644 --- a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm +++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.dfm @@ -48,31 +48,31 @@ object RptPresupuestosCliente: TRptPresupuestosCliente Default = True Name = 'IBX' SQL = - 'select ID_EMPRESA,'#10'extract (month from fecha_presupuesto) as MES' + - ','#10'case'#10'when extract (month from fecha_presupuesto) = 1 then '#39'ENE' + - 'RO - '#39' || extract (year from fecha_presupuesto)'#10'when extract (mo' + - 'nth from fecha_presupuesto) = 2 then '#39'FEBRERO - '#39' || extract (ye' + + 'select ID_EMPRESA,'#10'extract (year from fecha_presupuesto) as ANO,' + + #10'extract (month from fecha_presupuesto) as MES,'#10'case'#10'when extrac' + + 't (month from fecha_presupuesto) = 1 then '#39'ENERO - '#39' || extract ' + + '(year from fecha_presupuesto)'#10'when extract (month from fecha_pre' + + 'supuesto) = 2 then '#39'FEBRERO - '#39' || extract (year from fecha_pres' + + 'upuesto)'#10'when extract (month from fecha_presupuesto) = 3 then '#39'M' + + 'ARZO - '#39' || extract (year from fecha_presupuesto)'#10'when extract (' + + 'month from fecha_presupuesto) = 4 then '#39'ABRIL - '#39' || extract (ye' + 'ar from fecha_presupuesto)'#10'when extract (month from fecha_presup' + - 'uesto) = 3 then '#39'MARZO - '#39' || extract (year from fecha_presupues' + - 'to)'#10'when extract (month from fecha_presupuesto) = 4 then '#39'ABRIL ' + - '- '#39' || extract (year from fecha_presupuesto)'#10'when extract (month' + - ' from fecha_presupuesto) = 5 then '#39'MAYO - '#39' || extract (year fro' + + 'uesto) = 5 then '#39'MAYO - '#39' || extract (year from fecha_presupuest' + + 'o)'#10'when extract (month from fecha_presupuesto) = 6 then '#39'JUNIO -' + + ' '#39' || extract (year from fecha_presupuesto)'#10'when extract (month ' + + 'from fecha_presupuesto) = 7 then '#39'JULIO - '#39' || extract (year fro' + 'm fecha_presupuesto)'#10'when extract (month from fecha_presupuesto)' + - ' = 6 then '#39'JUNIO - '#39' || extract (year from fecha_presupuesto)'#10'wh' + - 'en extract (month from fecha_presupuesto) = 7 then '#39'JULIO - '#39' ||' + - ' extract (year from fecha_presupuesto)'#10'when extract (month from ' + - 'fecha_presupuesto) = 8 then '#39'AGOSTO - '#39' || extract (year from fe' + - 'cha_presupuesto)'#10'when extract (month from fecha_presupuesto) = 9' + - ' then '#39'SEPTIEMBRE - '#39' || extract (year from fecha_presupuesto)'#10'w' + - 'hen extract (month from fecha_presupuesto) = 10 then '#39'OCTUBRE - ' + - #39' || extract (year from fecha_presupuesto)'#10'when extract (month f' + - 'rom fecha_presupuesto) = 11 then '#39'NOVIEMBRE - '#39' || extract (year' + + ' = 8 then '#39'AGOSTO - '#39' || extract (year from fecha_presupuesto)'#10'w' + + 'hen extract (month from fecha_presupuesto) = 9 then '#39'SEPTIEMBRE ' + + '- '#39' || extract (year from fecha_presupuesto)'#10'when extract (month' + + ' from fecha_presupuesto) = 10 then '#39'OCTUBRE - '#39' || extract (year' + ' from fecha_presupuesto)'#10'when extract (month from fecha_presupue' + - 'sto) = 12 then '#39'DICIEMBRE - '#39' || extract (year from fecha_presup' + - 'uesto)'#10'end as TITULO,'#10'REFERENCIA, ID_CLIENTE, NOMBRE, SITUACION' + - ', NIF_CIF, FECHA_PRESUPUESTO, FECHA_DECISION, '#39#39' as FACTURA, IMP' + - 'ORTE_TOTAL'#10#10'from V_presupuestos_cliente'#10'where {where}'#10'order by F' + - 'ECHA_PRESUPUESTO'#10 + 'sto) = 11 then '#39'NOVIEMBRE - '#39' || extract (year from fecha_presup' + + 'uesto)'#10'when extract (month from fecha_presupuesto) = 12 then '#39'DI' + + 'CIEMBRE - '#39' || extract (year from fecha_presupuesto)'#10'end as TITU' + + 'LO,'#10'REFERENCIA, ID_CLIENTE, NOMBRE, SITUACION, NIF_CIF, FECHA_P' + + 'RESUPUESTO, FECHA_DECISION, '#39#39' as FACTURA, IMPORTE_TOTAL'#10#10'from V' + + '_presupuestos_cliente'#10'where {where}'#10'order by ANO, MES, NOMBRE'#10 StatementType = stSQL ColumnMappings = < item @@ -122,6 +122,10 @@ object RptPresupuestosCliente: TRptPresupuestosCliente item DatasetField = 'IMPORTE_TOTAL' TableField = 'IMPORTE_TOTAL' + end + item + DatasetField = 'ANO' + TableField = 'ANO' end> end> Name = 'InformeListadoPresupuestos' @@ -130,6 +134,10 @@ object RptPresupuestosCliente: TRptPresupuestosCliente Name = 'ID_EMPRESA' DataType = datInteger end + item + Name = 'ANO' + DataType = datSmallInt + end item Name = 'MES' DataType = datSmallInt diff --git a/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.dfm b/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.dfm index deafc8b0..d332bf4c 100644 --- a/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.dfm +++ b/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.dfm @@ -250,31 +250,32 @@ object RptRecibosCliente: TRptRecibosCliente Default = True Name = 'IBX' SQL = - 'select ID_EMPRESA,'#10'extract (month from fecha_vencimiento) as MES' + - ','#10'case'#10'when extract (month from fecha_vencimiento) = 1 then '#39'ENE' + - 'RO - '#39' || extract (year from fecha_vencimiento)'#10'when extract (mo' + - 'nth from fecha_vencimiento) = 2 then '#39'FEBRERO - '#39' || extract (ye' + + 'select ID_EMPRESA,'#10'extract (year from fecha_vencimiento) as ANO,' + + #10'extract (month from fecha_vencimiento) as MES,'#10'case'#10'when extrac' + + 't (month from fecha_vencimiento) = 1 then '#39'ENERO - '#39' || extract ' + + '(year from fecha_vencimiento)'#10'when extract (month from fecha_ven' + + 'cimiento) = 2 then '#39'FEBRERO - '#39' || extract (year from fecha_venc' + + 'imiento)'#10'when extract (month from fecha_vencimiento) = 3 then '#39'M' + + 'ARZO - '#39' || extract (year from fecha_vencimiento)'#10'when extract (' + + 'month from fecha_vencimiento) = 4 then '#39'ABRIL - '#39' || extract (ye' + 'ar from fecha_vencimiento)'#10'when extract (month from fecha_vencim' + - 'iento) = 3 then '#39'MARZO - '#39' || extract (year from fecha_vencimien' + - 'to)'#10'when extract (month from fecha_vencimiento) = 4 then '#39'ABRIL ' + - '- '#39' || extract (year from fecha_vencimiento)'#10'when extract (month' + - ' from fecha_vencimiento) = 5 then '#39'MAYO - '#39' || extract (year fro' + + 'iento) = 5 then '#39'MAYO - '#39' || extract (year from fecha_vencimient' + + 'o)'#10'when extract (month from fecha_vencimiento) = 6 then '#39'JUNIO -' + + ' '#39' || extract (year from fecha_vencimiento)'#10'when extract (month ' + + 'from fecha_vencimiento) = 7 then '#39'JULIO - '#39' || extract (year fro' + 'm fecha_vencimiento)'#10'when extract (month from fecha_vencimiento)' + - ' = 6 then '#39'JUNIO - '#39' || extract (year from fecha_vencimiento)'#10'wh' + - 'en extract (month from fecha_vencimiento) = 7 then '#39'JULIO - '#39' ||' + - ' extract (year from fecha_vencimiento)'#10'when extract (month from ' + - 'fecha_vencimiento) = 8 then '#39'AGOSTO - '#39' || extract (year from fe' + - 'cha_vencimiento)'#10'when extract (month from fecha_vencimiento) = 9' + - ' then '#39'SEPTIEMBRE - '#39' || extract (year from fecha_vencimiento)'#10'w' + - 'hen extract (month from fecha_vencimiento) = 10 then '#39'OCTUBRE - ' + - #39' || extract (year from fecha_vencimiento)'#10'when extract (month f' + - 'rom fecha_vencimiento) = 11 then '#39'NOVIEMBRE - '#39' || extract (year' + + ' = 8 then '#39'AGOSTO - '#39' || extract (year from fecha_vencimiento)'#10'w' + + 'hen extract (month from fecha_vencimiento) = 9 then '#39'SEPTIEMBRE ' + + '- '#39' || extract (year from fecha_vencimiento)'#10'when extract (month' + + ' from fecha_vencimiento) = 10 then '#39'OCTUBRE - '#39' || extract (year' + ' from fecha_vencimiento)'#10'when extract (month from fecha_vencimie' + - 'nto) = 12 then '#39'DICIEMBRE - '#39' || extract (year from fecha_vencim' + - 'iento)'#10'end as TITULO,'#10'REFERENCIA, ID_CLIENTE, NOMBRE_CLIENTE, S' + - 'ITUACION, NIF_CIF as NIF_CIF_CLIENTE, fecha_vencimiento, FECHA_E' + - 'MISION,'#10'IMPORTE_TOTAL'#10#10'from V_recibos_cliente'#10'where {where}'#10'orde' + - 'r by FECHA_VENCIMIENTO'#10 + 'nto) = 11 then '#39'NOVIEMBRE - '#39' || extract (year from fecha_vencim' + + 'iento)'#10'when extract (month from fecha_vencimiento) = 12 then '#39'DI' + + 'CIEMBRE - '#39' || extract (year from fecha_vencimiento)'#10'end as TITU' + + 'LO,'#10'REFERENCIA, ID_CLIENTE, NOMBRE_CLIENTE, SITUACION, NIF_CIF ' + + 'as NIF_CIF_CLIENTE, fecha_vencimiento, FECHA_EMISION,'#10'IMPORTE_TO' + + 'TAL'#10#10'from V_recibos_cliente'#10'where {where}'#10'order by ANO, MES, NOM' + + 'BRE_CLIENTE'#10 StatementType = stSQL ColumnMappings = < item @@ -320,6 +321,10 @@ object RptRecibosCliente: TRptRecibosCliente item DatasetField = 'IMPORTE_TOTAL' TableField = 'IMPORTE_TOTAL' + end + item + DatasetField = 'ANO' + TableField = 'ANO' end> end> Name = 'InformeListadoRecibos' @@ -328,6 +333,10 @@ object RptRecibosCliente: TRptRecibosCliente Name = 'ID_EMPRESA' DataType = datInteger end + item + Name = 'ANO' + DataType = datSmallInt + end item Name = 'MES' DataType = datSmallInt diff --git a/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas b/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas index 39e0d4ef..0cdadfca 100644 --- a/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas +++ b/Source/Modulos/Recibos de cliente/Reports/uRptRecibosCliente_Server.pas @@ -27,11 +27,11 @@ type tbl_Compensados: TDAMemDataTable; frxReport: TfrxReport; Bin2DataStreamer: TDABin2DataStreamer; - schReport: TDASchema; - DataDictionary: TDADataDictionary; tbl_InformeListadoRecibos: TDAMemDataTable; DADSInformeListadoRecibos: TDADataSource; frxDBInformeListadoRecibos: TfrxDBDataset; + schReport: TDASchema; + DataDictionary: TDADataDictionary; procedure DataModuleCreate(Sender: TObject); private FConnection: IDAConnection; @@ -57,10 +57,6 @@ const rptInformeListadoRecibosCliPendientes = 'InformeListadoRecibosCliPendientes.fr3'; rptInformeListadoRecibosCliPendientesDesglosado = 'InformeListadoRecibosCliPendientesDesglosado.fr3'; - { Dataset names for schReport } -// ds_InformeCabecera = 'Informe_Cabecera'; -// ds_InformeCompensados = 'Informe_Compensados'; - { TRptReciboCliente } diff --git a/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosCliente_Server.dfm b/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosCliente_Server.dfm deleted file mode 100644 index 39427bb8..00000000 --- a/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosCliente_Server.dfm +++ /dev/null @@ -1,755 +0,0 @@ -object RptRecibosCliente: TRptRecibosCliente - OldCreateOrder = True - OnCreate = DataModuleCreate - Height = 405 - Width = 447 - object DADataCabecera: TDADataSource - DataTable = tbl_Cabecera - Left = 264 - Top = 72 - end - object tbl_Cabecera: TDACDSDataTable - RemoteUpdatesOptions = [] - Fields = <> - Params = <> - MasterMappingMode = mmDataRequest - LogChanges = False - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteFetchEnabled = False - SchemaCall.Params = <> - DataRequestCall.Params = <> - DataUpdateCall.Params = <> - ScriptCall.Params = <> - ReadOnly = False - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] - IndexDefs = <> - Left = 264 - Top = 128 - end - object DABINAdapter: TDABINAdapter - Left = 48 - Top = 80 - end - object frxRichObject1: TfrxRichObject - Left = 48 - Top = 296 - end - object frxBarCodeObject1: TfrxBarCodeObject - Left = 144 - Top = 296 - end - object frxOLEObject1: TfrxOLEObject - Left = 48 - Top = 344 - end - object frxCrossObject1: TfrxCrossObject - Left = 144 - Top = 344 - end - object frxCheckBoxObject1: TfrxCheckBoxObject - Left = 256 - Top = 296 - end - object frxGradientObject1: TfrxGradientObject - Left = 360 - Top = 296 - end - object frxChartObject1: TfrxChartObject - Left = 256 - Top = 344 - end - object schReport: TDASchema - ConnectionManager = dmServer.ConnectionManager - DataDictionary = DataDictionary - Datasets = < - item - Params = < - item - Name = 'ID' - DataType = datInteger - BlobType = dabtUnknown - Value = '' - ParamType = daptInput - end> - Statements = < - item - Connection = 'IBX' - TargetTable = 'REMESAS_CLIENTE' - SQL = - 'SELECT'#10' V_RECIBOS_CLIENTE.ID,'#10' V_RECIBOS_CLIENTE.ID_EMPRES' + - 'A,'#10' V_RECIBOS_CLIENTE.REFERENCIA,'#10' V_RECIBOS_CLIENTE.SITUA' + - 'CION,'#10' V_RECIBOS_CLIENTE.ID_FACTURA,'#10' V_RECIBOS_CLIENTE.ID' + - '_REMESA,'#10' V_RECIBOS_CLIENTE.REFERENCIA_REMESA,'#10' V_RECIBOS_' + - 'CLIENTE.FECHA_EMISION,'#10' V_RECIBOS_CLIENTE.FECHA_VENCIMIENTO,'#10 + - ' V_RECIBOS_CLIENTE.DESCRIPCION,'#10' V_RECIBOS_CLIENTE.OBSERVA' + - 'CIONES,'#10' V_RECIBOS_CLIENTE.IMPORTE,'#10' V_RECIBOS_CLIENTE.OTR' + - 'OS_GASTOS,'#10' V_RECIBOS_CLIENTE.IMPORTE_TOTAL,'#10' V_RECIBOS_CL' + - 'IENTE.FECHA_FACTURA,'#10' V_RECIBOS_CLIENTE.FORMA_PAGO_FACTURA,'#10' ' + - ' V_RECIBOS_CLIENTE.IMPORTE_FACTURA,'#10' V_RECIBOS_CLIENTE.NOMB' + - 'RE_CLIENTE,'#10' V_RECIBOS_CLIENTE.NIF_CIF_CLIENTE,'#10' V_RECIBOS' + - '_CLIENTE.ENTIDAD_CLIENTE,'#10' V_RECIBOS_CLIENTE.SUCURSAL_CLIENTE' + - ','#10' V_RECIBOS_CLIENTE.DC_CLIENTE,'#10' V_RECIBOS_CLIENTE.CUENTA' + - '_CLIENTE,'#10#10' EMPRESAS.NIF_CIF as NIF_CIF_EMPRESA, EMPRESAS.RAZ' + - 'ON_SOCIAL,'#10' EMPRESAS.CALLE as CALLE_EMPRESA, EMPRESAS.POBLACI' + - 'ON as POBLACION_EMPRESA,'#10' EMPRESAS.PROVINCIA as PROVINCIA_EMP' + - 'RESA, EMPRESAS.CODIGO_POSTAL as CODIGO_POSTAL_EMPRESA,'#10' EMPRE' + - 'SAS.TELEFONO_1, EMPRESAS.FAX, EMPRESAS.MOVIL_1, EMPRESAS.EMAIL_1' + - ','#10' EMPRESAS.PAGINA_WEB, EMPRESAS.REGISTRO_MERCANTIL, EMPRESAS' + - '.LOGOTIPO'#10#10'FROM'#10' V_RECIBOS_CLIENTE'#10' LEFT OUTER JOIN EMPRESAS O' + - 'N (EMPRESAS.ID = V_RECIBOS_CLIENTE.ID_EMPRESA)'#10'WHERE'#10' V_RECIBOS' + - '_CLIENTE.ID = :ID' - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'ID' - TableField = 'ID' - end - item - DatasetField = 'ID_EMPRESA' - TableField = 'ID_EMPRESA' - end - item - DatasetField = 'REFERENCIA' - TableField = 'REFERENCIA' - end - item - DatasetField = 'SITUACION' - TableField = 'SITUACION' - end - item - DatasetField = 'ID_FACTURA' - TableField = 'ID_FACTURA' - end - item - DatasetField = 'ID_REMESA' - TableField = 'ID_REMESA' - end - item - DatasetField = 'REFERENCIA_REMESA' - TableField = 'REFERENCIA_REMESA' - end - item - DatasetField = 'FECHA_VENCIMIENTO' - TableField = 'FECHA_VENCIMIENTO' - end - item - DatasetField = 'DESCRIPCION' - TableField = 'DESCRIPCION' - end - item - DatasetField = 'OBSERVACIONES' - TableField = 'OBSERVACIONES' - end - item - DatasetField = 'IMPORTE' - TableField = 'IMPORTE' - end - item - DatasetField = 'FECHA_FACTURA' - TableField = 'FECHA_FACTURA' - end - item - DatasetField = 'FORMA_PAGO_FACTURA' - TableField = 'FORMA_PAGO_FACTURA' - end - item - DatasetField = 'IMPORTE_FACTURA' - TableField = 'IMPORTE_FACTURA' - end - item - DatasetField = 'NOMBRE_CLIENTE' - TableField = 'NOMBRE_CLIENTE' - end - item - DatasetField = 'NIF_CIF_CLIENTE' - TableField = 'NIF_CIF_CLIENTE' - end - item - DatasetField = 'ENTIDAD_CLIENTE' - TableField = 'ENTIDAD_CLIENTE' - end - item - DatasetField = 'SUCURSAL_CLIENTE' - TableField = 'SUCURSAL_CLIENTE' - end - item - DatasetField = 'DC_CLIENTE' - TableField = 'DC_CLIENTE' - end - item - DatasetField = 'CUENTA_CLIENTE' - TableField = 'CUENTA_CLIENTE' - end - item - DatasetField = 'NIF_CIF_EMPRESA' - TableField = 'NIF_CIF_EMPRESA' - end - item - DatasetField = 'RAZON_SOCIAL' - TableField = 'RAZON_SOCIAL' - end - item - DatasetField = 'CALLE_EMPRESA' - TableField = 'CALLE_EMPRESA' - end - item - DatasetField = 'POBLACION_EMPRESA' - TableField = 'POBLACION_EMPRESA' - end - item - DatasetField = 'PROVINCIA_EMPRESA' - TableField = 'PROVINCIA_EMPRESA' - end - item - DatasetField = 'CODIGO_POSTAL_EMPRESA' - TableField = 'CODIGO_POSTAL_EMPRESA' - end - item - DatasetField = 'TELEFONO_1' - TableField = 'TELEFONO_1' - end - item - DatasetField = 'FAX' - TableField = 'FAX' - end - item - DatasetField = 'MOVIL_1' - TableField = 'MOVIL_1' - end - item - DatasetField = 'EMAIL_1' - TableField = 'EMAIL_1' - end - item - DatasetField = 'PAGINA_WEB' - TableField = 'PAGINA_WEB' - end - item - DatasetField = 'REGISTRO_MERCANTIL' - TableField = 'REGISTRO_MERCANTIL' - end - item - DatasetField = 'LOGOTIPO' - TableField = 'LOGOTIPO' - end - item - DatasetField = 'OTROS_GASTOS' - TableField = 'OTROS_GASTOS' - end - item - DatasetField = 'IMPORTE_TOTAL' - TableField = 'IMPORTE_TOTAL' - end - item - DatasetField = 'FECHA_EMISION' - TableField = 'FECHA_EMISION' - end> - end> - Name = 'Informe_Cabecera' - Fields = < - item - Name = 'ID' - DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'ID_EMPRESA' - DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'REFERENCIA' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'SITUACION' - DataType = datString - Size = 9 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'ID_FACTURA' - DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'ID_REMESA' - DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'REFERENCIA_REMESA' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'FECHA_EMISION' - DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'FECHA_VENCIMIENTO' - DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'DESCRIPCION' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'OBSERVACIONES' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'IMPORTE' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'OTROS_GASTOS' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'IMPORTE_TOTAL' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'FECHA_FACTURA' - DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'FORMA_PAGO_FACTURA' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'IMPORTE_FACTURA' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'NOMBRE_CLIENTE' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'NIF_CIF_CLIENTE' - DataType = datString - Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'ENTIDAD_CLIENTE' - DataType = datString - Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'SUCURSAL_CLIENTE' - DataType = datString - Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'DC_CLIENTE' - DataType = datString - Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'CUENTA_CLIENTE' - DataType = datString - Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'NIF_CIF_EMPRESA' - DataType = datString - Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'RAZON_SOCIAL' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'CALLE_EMPRESA' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'POBLACION_EMPRESA' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'PROVINCIA_EMPRESA' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'CODIGO_POSTAL_EMPRESA' - DataType = datString - Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'TELEFONO_1' - DataType = datString - Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'FAX' - DataType = datString - Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'MOVIL_1' - DataType = datString - Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'EMAIL_1' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'PAGINA_WEB' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'REGISTRO_MERCANTIL' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'LOGOTIPO' - DataType = datBlob - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript - end> - Commands = <> - RelationShips = <> - UpdateRules = <> - Left = 48 - Top = 16 - end - object DataDictionary: TDADataDictionary - Fields = <> - Left = 46 - Top = 158 - end - object frxReport: TfrxReport - Version = '3.23.7' - DotMatrixReport = False - EngineOptions.DoublePass = True - IniFile = '\Software\Fast Reports' - PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick] - PreviewOptions.OutlineWidth = 180 - PreviewOptions.Zoom = 1.000000000000000000 - PrintOptions.Printer = 'Default' - ReportOptions.CreateDate = 37871.995398692100000000 - ReportOptions.Description.Strings = ( - 'Demonstrates how to create simple list report.') - ReportOptions.LastChange = 39169.739683333330000000 - ReportOptions.VersionBuild = '1' - ReportOptions.VersionMajor = '12' - ReportOptions.VersionMinor = '13' - ReportOptions.VersionRelease = '1' - ScriptLanguage = 'PascalScript' - ScriptText.Strings = ( - 'procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);' - 'var' - ' Cadena: String;' - 'begin' - ' DatosEmpresa.Lines.Clear;' - ' DatosEmpresa.Lines.Add();' - ' DatosEmpresa.Lines.Add();' - '' - ' Cadena := '#39#39';' - ' if ( <> '#39#39') then' - ' Cadena := '#39'TLF: '#39' + ;' - ' if ( <> '#39#39') then' - ' Cadena := Cadena + '#39' FAX: '#39' + ;' - ' DatosEmpresa.Lines.Add(Cadena);' - '' - ' Cadena := '#39#39';' - ' if ( <> '#39#39') then' - ' Cadena := ;' - ' if ( <> '#39#39') then' - - ' Cadena := Cadena + '#39' '#39' + ;' - ' if ( <> '#39#39') then' - - ' Cadena := Cadena + '#39' - '#39' + ;' - ' DatosEmpresa.Lines.Add(Cadena);' - 'end;' - '' - 'begin' - '' - 'end.') - ShowProgress = False - StoreInDFM = False - Left = 169 - Top = 16 - Datasets = < - item - DataSet = frxDBCabecera - DataSetName = 'frxDBCabecera' - end> - Variables = <> - Style = <> - end - object frxDBCabecera: TfrxDBDataset - UserName = 'frxDBCabecera' - CloseDataSource = False - DataSource = DADataCabecera - Left = 264 - Top = 16 - end -end diff --git a/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosCliente_Server.pas b/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosCliente_Server.pas deleted file mode 100644 index 97eb3d1a..00000000 --- a/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosCliente_Server.pas +++ /dev/null @@ -1,82 +0,0 @@ -unit uRptRecibosCliente_Server; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, frxClass, frxDBSet, uDAScriptingProvider, - uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient, - frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes, - uDAInterfaces; - -type - TRptRecibosCliente = class(TDataModule) - DADataCabecera: TDADataSource; - tbl_Cabecera: TDACDSDataTable; - DABINAdapter: TDABINAdapter; - frxRichObject1: TfrxRichObject; - frxBarCodeObject1: TfrxBarCodeObject; - frxOLEObject1: TfrxOLEObject; - frxCrossObject1: TfrxCrossObject; - frxCheckBoxObject1: TfrxCheckBoxObject; - frxGradientObject1: TfrxGradientObject; - frxChartObject1: TfrxChartObject; - frxDBCabecera: TfrxDBDataset; - schReport: TDASchema; - DataDictionary: TDADataDictionary; - frxReport: TfrxReport; - procedure DataModuleCreate(Sender: TObject); - private - FConnection: IDAConnection; - public - function GenerarRecibo(const ID : Integer): Binary; - end; - -implementation - -{$R *.dfm} - -uses - uDataModuleServer; - -const - rptInforme = 'InfReciboCliente.fr3'; - - { Dataset names for schReport } - ds_InformeCabecera = 'Informe_Cabecera'; - -{ TRptReciboCliente } - - -procedure TRptRecibosCliente.DataModuleCreate(Sender: TObject); -begin - schReport.ConnectionManager := dmServer.ConnectionManager; - FConnection := dmServer.DarNuevaConexion; - frxReport.EngineOptions.NewSilentMode := simReThrow; -end; - -function TRptRecibosCliente.GenerarRecibo(const ID: Integer): Binary; -var - dsMaster: IDADataset; - AStream: TMemoryStream; -begin - AStream := TMemoryStream.Create; - Result := Binary.Create; - FConnection.BeginTransaction; - try - dsMaster := schReport.NewDataset(FConnection, ds_InformeCabecera, ['ID'], [ID]); - - AStream.Clear; - DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1); - DABINAdapter.ReadDataset(AStream, tbl_Cabecera, TRUE, '', TRUE, TRUE); - - frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); - frxReport.PrepareReport; - frxReport.PreviewPages.SaveToStream(Result); - finally - AStream.Free; - FConnection.RollbackTransaction; - end; -end; - -end. diff --git a/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.dfm b/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.dfm index 39427bb8..663e2230 100644 --- a/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.dfm +++ b/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.dfm @@ -1,36 +1,8 @@ -object RptRecibosCliente: TRptRecibosCliente +object RptRecibosProveedor: TRptRecibosProveedor OldCreateOrder = True OnCreate = DataModuleCreate Height = 405 - Width = 447 - object DADataCabecera: TDADataSource - DataTable = tbl_Cabecera - Left = 264 - Top = 72 - end - object tbl_Cabecera: TDACDSDataTable - RemoteUpdatesOptions = [] - Fields = <> - Params = <> - MasterMappingMode = mmDataRequest - LogChanges = False - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteFetchEnabled = False - SchemaCall.Params = <> - DataRequestCall.Params = <> - DataUpdateCall.Params = <> - ScriptCall.Params = <> - ReadOnly = False - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] - IndexDefs = <> - Left = 264 - Top = 128 - end - object DABINAdapter: TDABINAdapter - Left = 48 - Top = 80 - end + Width = 511 object frxRichObject1: TfrxRichObject Left = 48 Top = 296 @@ -64,616 +36,155 @@ object RptRecibosCliente: TRptRecibosCliente DataDictionary = DataDictionary Datasets = < item - Params = < - item - Name = 'ID' - DataType = datInteger - BlobType = dabtUnknown - Value = '' - ParamType = daptInput - end> + Params = <> Statements = < item Connection = 'IBX' - TargetTable = 'REMESAS_CLIENTE' + TargetTable = 'V_RECIBOS_PROVEEDOR' SQL = - 'SELECT'#10' V_RECIBOS_CLIENTE.ID,'#10' V_RECIBOS_CLIENTE.ID_EMPRES' + - 'A,'#10' V_RECIBOS_CLIENTE.REFERENCIA,'#10' V_RECIBOS_CLIENTE.SITUA' + - 'CION,'#10' V_RECIBOS_CLIENTE.ID_FACTURA,'#10' V_RECIBOS_CLIENTE.ID' + - '_REMESA,'#10' V_RECIBOS_CLIENTE.REFERENCIA_REMESA,'#10' V_RECIBOS_' + - 'CLIENTE.FECHA_EMISION,'#10' V_RECIBOS_CLIENTE.FECHA_VENCIMIENTO,'#10 + - ' V_RECIBOS_CLIENTE.DESCRIPCION,'#10' V_RECIBOS_CLIENTE.OBSERVA' + - 'CIONES,'#10' V_RECIBOS_CLIENTE.IMPORTE,'#10' V_RECIBOS_CLIENTE.OTR' + - 'OS_GASTOS,'#10' V_RECIBOS_CLIENTE.IMPORTE_TOTAL,'#10' V_RECIBOS_CL' + - 'IENTE.FECHA_FACTURA,'#10' V_RECIBOS_CLIENTE.FORMA_PAGO_FACTURA,'#10' ' + - ' V_RECIBOS_CLIENTE.IMPORTE_FACTURA,'#10' V_RECIBOS_CLIENTE.NOMB' + - 'RE_CLIENTE,'#10' V_RECIBOS_CLIENTE.NIF_CIF_CLIENTE,'#10' V_RECIBOS' + - '_CLIENTE.ENTIDAD_CLIENTE,'#10' V_RECIBOS_CLIENTE.SUCURSAL_CLIENTE' + - ','#10' V_RECIBOS_CLIENTE.DC_CLIENTE,'#10' V_RECIBOS_CLIENTE.CUENTA' + - '_CLIENTE,'#10#10' EMPRESAS.NIF_CIF as NIF_CIF_EMPRESA, EMPRESAS.RAZ' + - 'ON_SOCIAL,'#10' EMPRESAS.CALLE as CALLE_EMPRESA, EMPRESAS.POBLACI' + - 'ON as POBLACION_EMPRESA,'#10' EMPRESAS.PROVINCIA as PROVINCIA_EMP' + - 'RESA, EMPRESAS.CODIGO_POSTAL as CODIGO_POSTAL_EMPRESA,'#10' EMPRE' + - 'SAS.TELEFONO_1, EMPRESAS.FAX, EMPRESAS.MOVIL_1, EMPRESAS.EMAIL_1' + - ','#10' EMPRESAS.PAGINA_WEB, EMPRESAS.REGISTRO_MERCANTIL, EMPRESAS' + - '.LOGOTIPO'#10#10'FROM'#10' V_RECIBOS_CLIENTE'#10' LEFT OUTER JOIN EMPRESAS O' + - 'N (EMPRESAS.ID = V_RECIBOS_CLIENTE.ID_EMPRESA)'#10'WHERE'#10' V_RECIBOS' + - '_CLIENTE.ID = :ID' + 'select ID_EMPRESA,'#10'extract (year from fecha_vencimiento) as ANO,' + + #10'extract (month from fecha_vencimiento) as MES,'#10'case'#10'when extrac' + + 't (month from fecha_vencimiento) = 1 then '#39'ENERO - '#39' || extract ' + + '(year from fecha_vencimiento)'#10'when extract (month from fecha_ven' + + 'cimiento) = 2 then '#39'FEBRERO - '#39' || extract (year from fecha_venc' + + 'imiento)'#10'when extract (month from fecha_vencimiento) = 3 then '#39'M' + + 'ARZO - '#39' || extract (year from fecha_vencimiento)'#10'when extract (' + + 'month from fecha_vencimiento) = 4 then '#39'ABRIL - '#39' || extract (ye' + + 'ar from fecha_vencimiento)'#10'when extract (month from fecha_vencim' + + 'iento) = 5 then '#39'MAYO - '#39' || extract (year from fecha_vencimient' + + 'o)'#10'when extract (month from fecha_vencimiento) = 6 then '#39'JUNIO -' + + ' '#39' || extract (year from fecha_vencimiento)'#10'when extract (month ' + + 'from fecha_vencimiento) = 7 then '#39'JULIO - '#39' || extract (year fro' + + 'm fecha_vencimiento)'#10'when extract (month from fecha_vencimiento)' + + ' = 8 then '#39'AGOSTO - '#39' || extract (year from fecha_vencimiento)'#10'w' + + 'hen extract (month from fecha_vencimiento) = 9 then '#39'SEPTIEMBRE ' + + '- '#39' || extract (year from fecha_vencimiento)'#10'when extract (month' + + ' from fecha_vencimiento) = 10 then '#39'OCTUBRE - '#39' || extract (year' + + ' from fecha_vencimiento)'#10'when extract (month from fecha_vencimie' + + 'nto) = 11 then '#39'NOVIEMBRE - '#39' || extract (year from fecha_vencim' + + 'iento)'#10'when extract (month from fecha_vencimiento) = 12 then '#39'DI' + + 'CIEMBRE - '#39' || extract (year from fecha_vencimiento)'#10'end as TITU' + + 'LO,'#10'REFERENCIA, ID_PROVEEDOR, NOMBRE_PROVEEDOR, SITUACION, NIF_' + + 'CIF as NIF_CIF_PROVEEDOR, fecha_vencimiento, FECHA_EMISION,'#10'IMPO' + + 'RTE_TOTAL'#10#10'from V_recibos_proveedor'#10'where {where}'#10'order by ANO, ' + + 'MES, NOMBRE_PROVEEDOR'#10 StatementType = stSQL ColumnMappings = < - item - DatasetField = 'ID' - TableField = 'ID' - end item DatasetField = 'ID_EMPRESA' TableField = 'ID_EMPRESA' end + item + DatasetField = 'MES' + TableField = '' + SQLOrigin = 'MES' + end + item + DatasetField = 'TITULO' + TableField = '' + SQLOrigin = 'TITULO' + end item DatasetField = 'REFERENCIA' TableField = 'REFERENCIA' end + item + DatasetField = 'ID_PROVEEDOR' + TableField = 'ID_PROVEEDOR' + end + item + DatasetField = 'NOMBRE_PROVEEDOR' + TableField = 'NOMBRE_PROVEEDOR' + end item DatasetField = 'SITUACION' TableField = 'SITUACION' end item - DatasetField = 'ID_FACTURA' - TableField = 'ID_FACTURA' - end - item - DatasetField = 'ID_REMESA' - TableField = 'ID_REMESA' - end - item - DatasetField = 'REFERENCIA_REMESA' - TableField = 'REFERENCIA_REMESA' + DatasetField = 'NIF_CIF_PROVEEDOR' + TableField = '' + SQLOrigin = 'NIF_CIF_PROVEEDOR' end item DatasetField = 'FECHA_VENCIMIENTO' TableField = 'FECHA_VENCIMIENTO' end item - DatasetField = 'DESCRIPCION' - TableField = 'DESCRIPCION' - end - item - DatasetField = 'OBSERVACIONES' - TableField = 'OBSERVACIONES' - end - item - DatasetField = 'IMPORTE' - TableField = 'IMPORTE' - end - item - DatasetField = 'FECHA_FACTURA' - TableField = 'FECHA_FACTURA' - end - item - DatasetField = 'FORMA_PAGO_FACTURA' - TableField = 'FORMA_PAGO_FACTURA' - end - item - DatasetField = 'IMPORTE_FACTURA' - TableField = 'IMPORTE_FACTURA' - end - item - DatasetField = 'NOMBRE_CLIENTE' - TableField = 'NOMBRE_CLIENTE' - end - item - DatasetField = 'NIF_CIF_CLIENTE' - TableField = 'NIF_CIF_CLIENTE' - end - item - DatasetField = 'ENTIDAD_CLIENTE' - TableField = 'ENTIDAD_CLIENTE' - end - item - DatasetField = 'SUCURSAL_CLIENTE' - TableField = 'SUCURSAL_CLIENTE' - end - item - DatasetField = 'DC_CLIENTE' - TableField = 'DC_CLIENTE' - end - item - DatasetField = 'CUENTA_CLIENTE' - TableField = 'CUENTA_CLIENTE' - end - item - DatasetField = 'NIF_CIF_EMPRESA' - TableField = 'NIF_CIF_EMPRESA' - end - item - DatasetField = 'RAZON_SOCIAL' - TableField = 'RAZON_SOCIAL' - end - item - DatasetField = 'CALLE_EMPRESA' - TableField = 'CALLE_EMPRESA' - end - item - DatasetField = 'POBLACION_EMPRESA' - TableField = 'POBLACION_EMPRESA' - end - item - DatasetField = 'PROVINCIA_EMPRESA' - TableField = 'PROVINCIA_EMPRESA' - end - item - DatasetField = 'CODIGO_POSTAL_EMPRESA' - TableField = 'CODIGO_POSTAL_EMPRESA' - end - item - DatasetField = 'TELEFONO_1' - TableField = 'TELEFONO_1' - end - item - DatasetField = 'FAX' - TableField = 'FAX' - end - item - DatasetField = 'MOVIL_1' - TableField = 'MOVIL_1' - end - item - DatasetField = 'EMAIL_1' - TableField = 'EMAIL_1' - end - item - DatasetField = 'PAGINA_WEB' - TableField = 'PAGINA_WEB' - end - item - DatasetField = 'REGISTRO_MERCANTIL' - TableField = 'REGISTRO_MERCANTIL' - end - item - DatasetField = 'LOGOTIPO' - TableField = 'LOGOTIPO' - end - item - DatasetField = 'OTROS_GASTOS' - TableField = 'OTROS_GASTOS' + DatasetField = 'FECHA_EMISION' + TableField = 'FECHA_EMISION' end item DatasetField = 'IMPORTE_TOTAL' TableField = 'IMPORTE_TOTAL' end item - DatasetField = 'FECHA_EMISION' - TableField = 'FECHA_EMISION' + DatasetField = 'ANO' + TableField = '' + SQLOrigin = 'ANO' end> end> - Name = 'Informe_Cabecera' + Name = 'InformeListadoRecibos' Fields = < - item - Name = 'ID' - DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end item Name = 'ID_EMPRESA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + end + item + Name = 'ANO' + DataType = datSmallInt + end + item + Name = 'MES' + DataType = datSmallInt + end + item + Name = 'TITULO' + DataType = datString + Size = 19 end item Name = 'REFERENCIA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + end + item + Name = 'ID_PROVEEDOR' + DataType = datInteger + end + item + Name = 'NOMBRE_PROVEEDOR' + DataType = datString + Size = 255 end item Name = 'SITUACION' DataType = datString Size = 9 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item - Name = 'ID_FACTURA' - DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'ID_REMESA' - DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'REFERENCIA_REMESA' + Name = 'NIF_CIF_PROVEEDOR' DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'FECHA_EMISION' - DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + Size = 15 end item Name = 'FECHA_VENCIMIENTO' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item - Name = 'DESCRIPCION' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'OBSERVACIONES' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'IMPORTE' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'OTROS_GASTOS' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + Name = 'FECHA_EMISION' + DataType = datDateTime end item Name = 'IMPORTE_TOTAL' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'FECHA_FACTURA' - DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'FORMA_PAGO_FACTURA' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'IMPORTE_FACTURA' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'NOMBRE_CLIENTE' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'NIF_CIF_CLIENTE' - DataType = datString - Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'ENTIDAD_CLIENTE' - DataType = datString - Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'SUCURSAL_CLIENTE' - DataType = datString - Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'DC_CLIENTE' - DataType = datString - Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'CUENTA_CLIENTE' - DataType = datString - Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'NIF_CIF_EMPRESA' - DataType = datString - Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'RAZON_SOCIAL' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'CALLE_EMPRESA' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'POBLACION_EMPRESA' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'PROVINCIA_EMPRESA' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'CODIGO_POSTAL_EMPRESA' - DataType = datString - Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'TELEFONO_1' - DataType = datString - Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'FAX' - DataType = datString - Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'MOVIL_1' - DataType = datString - Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'EMAIL_1' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'PAGINA_WEB' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'REGISTRO_MERCANTIL' - DataType = datString - Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'LOGOTIPO' - DataType = datBlob - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + DataType = datCurrency end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = <> RelationShips = <> UpdateRules = <> + Version = 0 Left = 48 Top = 16 end @@ -683,7 +194,7 @@ object RptRecibosCliente: TRptRecibosCliente Top = 158 end object frxReport: TfrxReport - Version = '3.23.7' + Version = '4.3' DotMatrixReport = False EngineOptions.DoublePass = True IniFile = '\Software\Fast Reports' @@ -691,6 +202,7 @@ object RptRecibosCliente: TRptRecibosCliente PreviewOptions.OutlineWidth = 180 PreviewOptions.Zoom = 1.000000000000000000 PrintOptions.Printer = 'Default' + PrintOptions.PrintOnSheet = 0 ReportOptions.CreateDate = 37871.995398692100000000 ReportOptions.Description.Strings = ( 'Demonstrates how to create simple list report.') @@ -737,19 +249,87 @@ object RptRecibosCliente: TRptRecibosCliente StoreInDFM = False Left = 169 Top = 16 - Datasets = < - item - DataSet = frxDBCabecera - DataSetName = 'frxDBCabecera' - end> - Variables = <> - Style = <> end - object frxDBCabecera: TfrxDBDataset - UserName = 'frxDBCabecera' - CloseDataSource = False - DataSource = DADataCabecera - Left = 264 + object tbl_InformeListadoRecibos: TDAMemDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ID_EMPRESA' + DataType = datInteger + end + item + Name = 'MES' + DataType = datSmallInt + end + item + Name = 'TITULO' + DataType = datString + Size = 19 + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + end + item + Name = 'ID_PROVEEDOR' + DataType = datInteger + end + item + Name = 'NOMBRE_PROVEEDOR' + DataType = datString + Size = 255 + end + item + Name = 'SITUACION' + DataType = datString + Size = 9 + end + item + Name = 'NIF_CIF_PROVEEDOR' + DataType = datString + Size = 15 + end + item + Name = 'FECHA_VENCIMIENTO' + DataType = datDateTime + end + item + Name = 'FECHA_EMISION' + DataType = datDateTime + end + item + Name = 'IMPORTE_TOTAL' + DataType = datCurrency + end> + Params = <> + LogChanges = False + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteFetchEnabled = False + LocalSchema = schReport + LocalDataStreamer = Bin2DataStreamer + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'InformeListadoRecibos' + IndexDefs = <> + Left = 360 + Top = 128 + end + object DADSInformeListadoRecibos: TDADataSource + DataSet = tbl_InformeListadoRecibos.Dataset + DataTable = tbl_InformeListadoRecibos + Left = 360 + Top = 72 + end + object frxDBInformeListadoRecibos: TfrxDBDataset + UserName = 'frxDBInformeListadoRecibos' + CloseDataSource = True + DataSource = DADSInformeListadoRecibos + Left = 360 Top = 16 end + object Bin2DataStreamer: TDABin2DataStreamer + Left = 48 + Top = 88 + end end diff --git a/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas b/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas index decfe3af..05e48f86 100644 --- a/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas +++ b/Source/Modulos/Recibos de proveedor/Reports/uRptRecibosProveedor_Server.pas @@ -7,13 +7,11 @@ uses Dialogs, frxClass, frxDBSet, uDAScriptingProvider, uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient, frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes, - uDAInterfaces; + uDAInterfaces, uDADataStreamer, uDABin2DataStreamer, uDAMemDataTable, + FactuGES_Intf; type - TRptRecibosCliente = class(TDataModule) - DADataCabecera: TDADataSource; - tbl_Cabecera: TDACDSDataTable; - DABINAdapter: TDABINAdapter; + TRptRecibosProveedor = class(TDataModule) frxRichObject1: TfrxRichObject; frxBarCodeObject1: TfrxBarCodeObject; frxOLEObject1: TfrxOLEObject; @@ -21,15 +19,20 @@ type frxCheckBoxObject1: TfrxCheckBoxObject; frxGradientObject1: TfrxGradientObject; frxChartObject1: TfrxChartObject; - frxDBCabecera: TfrxDBDataset; + frxReport: TfrxReport; + tbl_InformeListadoRecibos: TDAMemDataTable; + DADSInformeListadoRecibos: TDADataSource; + frxDBInformeListadoRecibos: TfrxDBDataset; + Bin2DataStreamer: TDABin2DataStreamer; schReport: TDASchema; DataDictionary: TDADataDictionary; - frxReport: TfrxReport; procedure DataModuleCreate(Sender: TObject); private FConnection: IDAConnection; + function _GenerarInforme(const TipoInforme: String; const IdEmpresa: Integer; const FechaInicio: DateTime; const FechaFin: DateTime; const ListaIDProveedores: TIntegerArray; const ImporteMinimo: Currency): Binary; public - function GenerarRecibo(const ID : Integer): Binary; + function GenerarInformeListadoRecibos(const IdEmpresa: Integer; const FechaInicio: DateTime; const FechaFin: DateTime; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; + function GenerarInformeListadoRecibosPendientes(const IdEmpresa: Integer; const FechaInicio: DateTime; const FechaFin: DateTime; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; end; implementation @@ -37,45 +40,164 @@ implementation {$R *.dfm} uses - uDataModuleServer; + uDataModuleServer, schRecibosProveedorClient_Intf; const - rptInforme = 'InfReciboCliente.fr3'; - - { Dataset names for schReport } - ds_InformeCabecera = 'Informe_Cabecera'; - -{ TRptReciboCliente } + rptInformeListadoRecibosProveedorDesglosado = 'InformeListadoRecibosProveedorDesglosado.fr3'; + rptInformeListadoRecibosProveedor = 'InformeListadoRecibosProveedor.fr3'; + rptInformeListadoRecibosProvPendientes = 'InformeListadoRecibosProvPendientes.fr3'; + rptInformeListadoRecibosProvPendientesDesglosado = 'InformeListadoRecibosProvPendientesDesglosado.fr3'; -procedure TRptRecibosCliente.DataModuleCreate(Sender: TObject); +{ TRptReciboProveedor } + + +procedure TRptRecibosProveedor.DataModuleCreate(Sender: TObject); begin schReport.ConnectionManager := dmServer.ConnectionManager; FConnection := dmServer.DarNuevaConexion; frxReport.EngineOptions.NewSilentMode := simReThrow; end; -function TRptRecibosCliente.GenerarRecibo(const ID: Integer): Binary; + +function TRptRecibosProveedor.GenerarInformeListadoRecibos( + const IdEmpresa: Integer; const FechaInicio, FechaFin: DateTime; + const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; + const ImporteMinimo: Currency): Binary; var - dsMaster: IDADataset; - AStream: TMemoryStream; + ATipoInforme: String; +begin + +//DESGLOSADO POR PROVEEDOR EN ESTE INFORME NO SE DESGLOSARÁ POR PROVEEDOR + if Desglosado then + ATipoInforme := rptInformeListadoRecibosProveedorDesglosado + else + ATipoInforme := rptInformeListadoRecibosProveedor; + + Result := _GenerarInforme(ATipoInforme, IdEmpresa, FechaInicio, FechaFin, ListaIDProveedores, ImporteMinimo); +end; + +function TRptRecibosProveedor.GenerarInformeListadoRecibosPendientes( + const IdEmpresa: Integer; const FechaInicio, FechaFin: DateTime; + const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; + const ImporteMinimo: Currency): Binary; +var + Condicion: TDAWhereExpression; + ATipoInforme: String; + +begin + if tbl_InformeListadoRecibos.Active then + tbl_InformeListadoRecibos.Active := False; + + // Filtrar el informe por situacion + with tbl_InformeListadoRecibos.DynamicWhere do + begin + // (ID_EMPRESA >= ID) + Condicion := NewBinaryExpression(NewField('', fld_RecibosProveedorSITUACION), NewConstant('COBRADO', datString), dboNotEqual); + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + + +//DESGLOSADO POR PROVEEDOR EN ESTE INFORME NO SE DESGLOSARÁ POR PROVEEDOR + if Desglosado then + ATipoInforme := rptInformeListadoRecibosProvPendientesDesglosado + else + ATipoInforme := rptInformeListadoRecibosProvPendientes; + + Result := _GenerarInforme(ATipoInforme, IdEmpresa, FechaInicio, FechaFin, ListaIDProveedores, ImporteMinimo); +end; + +function TRptRecibosProveedor._GenerarInforme(const TipoInforme: String; + const IdEmpresa: Integer; const FechaInicio, FechaFin: DateTime; + const ListaIDProveedores: TIntegerArray; + const ImporteMinimo: Currency): Binary; +var + Condicion: TDAWhereExpression; + i: Integer; + begin - AStream := TMemoryStream.Create; Result := Binary.Create; - FConnection.BeginTransaction; + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" + try - dsMaster := schReport.NewDataset(FConnection, ds_InformeCabecera, ['ID'], [ID]); - AStream.Clear; - DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1); - DABINAdapter.ReadDataset(AStream, tbl_Cabecera, TRUE, '', TRUE, TRUE); + if tbl_InformeListadoRecibos.Active then + tbl_InformeListadoRecibos.Active := False; - frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); - frxReport.PrepareReport; + // Filtrar el informe por empresa + with tbl_InformeListadoRecibos.DynamicWhere do + begin + // (ID_EMPRESA >= ID) + Condicion := NewBinaryExpression(NewField('', fld_RecibosProveedorID_EMPRESA), NewConstant(IdEmpresa, datInteger), dboEqual); + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + + // Filtrar el informe por fechas + if not VarIsNull(FechaInicio) + and not VarIsNull(FechaFin) then + begin + with tbl_InformeListadoRecibos.DynamicWhere do + begin + // (FECHA_INICIO between FECHA_FIN) + Condicion := NewBinaryExpression(NewField('', fld_RecibosProveedorFECHA_VENCIMIENTO), NewConstant(FechaInicio, datDateTime), dboGreaterOrEqual); + Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_RecibosProveedorFECHA_VENCIMIENTO), NewConstant(FechaFin, datDateTime), dboLessOrEqual), Condicion, dboAnd); + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + end; + + // Filtrar el informe por proveedor + if Assigned(ListaIDProveedores) then + begin + with tbl_InformeListadoRecibos.DynamicWhere do + begin + for i := 0 to ListaIDProveedores.Count - 1 do + begin + + // (ID_PROVEEDOR = ID) + Condicion := NewBinaryExpression(NewField('', fld_RecibosProveedorID_PROVEEDOR), NewConstant(ListaIDProveedores.Items[i], datInteger), dboEqual); + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + end; + end; + + // Filtrar el informe por importe minimo + if (ImporteMinimo > 0) then + begin + with tbl_InformeListadoRecibos.DynamicWhere do + begin + // (IMPORTE_TOTAL > ImporteMinimo) + Condicion := NewBinaryExpression(NewField('', fld_RecibosProveedorIMPORTE_TOTAL), NewConstant(ImporteMinimo, datCurrency), dboGreaterOrEqual); + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Expression, Condicion, dboAnd); + end; + end; + + tbl_InformeListadoRecibos.Active := True; + + frxReport.LoadFromFile(DarRutaInformes + TipoInforme, True); +// frxReport.LoadFromFile(DarRutaInformes + IntToStr(IdEmpresa) + '\' + TipoInforme, True); + frxReport.Variables.Variables['FechaInicio'] := FechaInicio; + frxReport.Variables.Variables['FechaFin'] := FechaFin; + + frxReport.PrepareReport(False); frxReport.PreviewPages.SaveToStream(Result); + finally - AStream.Free; - FConnection.RollbackTransaction; + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; diff --git a/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.dpk b/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.dpk index aa5c7f45..b9c7cc5a 100644 Binary files a/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.dpk and b/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.dpk differ diff --git a/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.dproj b/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.dproj index 5d8e314d..8d25708b 100644 --- a/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.dproj +++ b/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.dproj @@ -47,33 +47,34 @@ MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + +
fEditorElegirRecibosProveedor
TfEditorElegirRecibosProveedor diff --git a/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.res b/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.res index 8b251f31..1641339f 100644 Binary files a/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.res and b/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.res differ diff --git a/Source/Modulos/Recibos de proveedor/Views/uEditorRecibosProveedor.dfm b/Source/Modulos/Recibos de proveedor/Views/uEditorRecibosProveedor.dfm index cf6a8281..1070aa94 100644 --- a/Source/Modulos/Recibos de proveedor/Views/uEditorRecibosProveedor.dfm +++ b/Source/Modulos/Recibos de proveedor/Views/uEditorRecibosProveedor.dfm @@ -41,11 +41,18 @@ inherited fEditorRecibosProveedor: TfEditorRecibosProveedor Width = 638 ExplicitWidth = 638 inherited tbxMain: TTBXToolbar - ExplicitWidth = 403 + ExplicitWidth = 546 end inherited tbxMenu: TTBXToolbar ExplicitWidth = 638 end + inherited TBXTMain2: TTBXToolbar + Visible = True + ExplicitWidth = 66 + object TBXItem38: TTBXItem + Action = actInformes + end + end end inherited StatusBar: TJvStatusBar Top = 645 @@ -113,15 +120,27 @@ inherited fEditorRecibosProveedor: TfEditorRecibosProveedor Width = 638 ExplicitWidth = 638 inherited txtFiltroTodo: TcxTextEdit + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitWidth = 541 Width = 541 end inherited edtFechaIniFiltro: TcxDateEdit + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitWidth = 190 Width = 190 end inherited edtFechaFinFiltro: TcxDateEdit Left = 294 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 294 ExplicitWidth = 334 Width = 334 @@ -181,6 +200,11 @@ inherited fEditorRecibosProveedor: TfEditorRecibosProveedor Enabled = False Visible = False end + object actInformes: TAction + Category = 'Archivo' + Caption = 'Informes' + OnExecute = actInformesExecute + end end inherited SmallImages: TPngImageList [5] PngImages = < @@ -1520,4 +1544,315 @@ inherited fEditorRecibosProveedor: TfEditorRecibosProveedor end inherited StatusBarImages: TPngImageList [10] end + object JSInformesDialog: TJSDialog + Content.Strings = ( + 'Seleccione el informe que desea realizar') + DialogOptions = [doCommandLinks, doModal] + Glyph.Data = { + 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 + 00001C0806000000720DDF940000000970485973000017120000171201679FD2 + 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14 + 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD + 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2 + 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD + B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010 + 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3 + 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045 + A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8 + 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281 + 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87 + A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F + 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B + EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F + 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8 + 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10 + 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8 + CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF + 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32 + F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF + 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165 + 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF + 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2 + ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312 + FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312 + 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA + 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082} + Instruction.Text = 'Nuevo informe' + Instruction.Glyph.Data = { + 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 + 00001C0806000000720DDF940000000970485973000017120000171201679FD2 + 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14 + 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD + 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2 + 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD + B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010 + 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3 + 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045 + A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8 + 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281 + 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87 + A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F + 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B + EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F + 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8 + 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10 + 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8 + CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF + 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32 + F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF + 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165 + 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF + 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2 + ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312 + FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312 + 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA + 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082} + Instruction.Icon = tdiCustom + CustomButtons = < + item + Caption = 'Listado de recibos pendientes.' + Value = 100 + Default = True + end + item + Caption = 'Listado de recibos' + Value = 200 + end> + ButtonBar.Buttons = [cbCancel] + MainIcon = tdiCustom + Title = 'FactuGES' + Position = dpMainFormCenter + Icon.Data = { + 0000010003002020100001000400E8020000360000002020000001000800A808 + 00001E0300002020000001002000A8100000C60B000028000000200000004000 + 0000010004000000000000020000000000000000000000000000000000000000 + 000000008000008000000080800080000000800080008080000080808000C0C0 + C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 + 0000000000000000000000000000000008777777777777777777777700000000 + 0877767777677776777767760000000008F88888888888888888888700000000 + 08F8FF8F8F888888888888860000000008FF8F8F88F8F8888888888C00000000 + 08F88888F8888888888888860000000008F8688878E8888E88E8788700000000 + 08F8688888F8F8FFFFFF88760000000008FF4888888F8FFFFFFF788700000000 + 08F8676767677677677658E50000000008FF8888888887878787888700000000 + 08FF8887887E8888888888860000000008FFE8E8E788C8E8FF8F8F8600000000 + 08FFF8F8F8F8FF8F88F8F8870000000008FFFFFF8FF8F8F8F88F888600000000 + 0FF8477878787878788788860000000008FF68888888F8FF8F8F788700000000 + 08B7588888FF8FFFFFFF78860000083008BB47887776777777776F86000000B7 + 8B9B73BB88788787E87878870000008BB8B9BB78888888EFF8F8FF8600000087 + B8BB8B888E8E8E88FFF8F886000000088BBB888FFFFFFFFFF8F877770000B9BB + B8FFBB9B9BFFFFFFF87466460000BBB9BB8FBBBBB8FFFFFFF88F888700000008 + B8BB88888FFFFFFFF88F8F7700000008BBBBBB8FFFFFFFFFFF8887700000007B + B7B98BB8FFFFFFFFF8887700000000B78B9B87B888F88F88F8877000000007B0 + 08BB883B78888788787700000000000000B9000000000000000000000000FFFF + FFFFF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000F9800000FC000000FC000000FC000000FE000000F0000 + 000F0000000FE000000FE000001FC000003FC000007F980000FFFCFFFFFF2800 + 0000200000004000000001000800000000000004000000000000000000000001 + 00000001000000000000694731007C5D49007E604C0081635000826451008567 + 540085685500886B5900896D5B008A6E5D008B705F008E715F008B7260008C72 + 61008E74640084766C00957A6900977D6D00887B72009A8171009D8272009C84 + 76009D8778009F897B00A28A7900A08B7D00A18C7E00E1B06E00E1B67D003E7A + 970073A0A5007AA2B70074AFBD007BB2BB003CAACE0028A5DB0020ADDF000D9A + E500209EE3000DA6E2001AA4EF0000A6FF000CABFE0009ACFE0010A4F10015AC + FA0000B5FB0000B0FD000CB6FC0000BFF90000BAFD0004BAFD0009BBFB0013B6 + F40015BFFA001CBDFB0026B7FD00589EC50040A4CD0040ABCC0050A2C7005DAE + C00060A3C20062A4C60060B7CB006AB0CD007BB6C80077BAC80061BADD0044AD + E50000C3F80007C6FB0000CAF80000CFFB0000D4F90026C8FA0026CDF8002BCC + F90039C4FB0039C2FC0039CAFA003FCFFB0024D6F80030D2F80039D5F80000F8 + F8001FF8F8002CF6F8003EF4F8005AC6DC0070CDDF0052C0E40054C9E3004DCE + FA005FC7FF004FD2FB004DD9F8005FD9FB006ED3E70063CDFE0060D1FB0060D8 + F90060DDF80046F8F90056F0F8005FFAFA0073E3F80073E4F90073EEF80060F1 + F800958A84009A918C0081999500A68F8200AD968500A3968C00AE988900AD9A + 8D00B19A8B00AF9C9000B09E9200B59F9200B7A29300B2A19600B5A19400B7A4 + 9700BDA79700B4A39800B1A59D00B4A79F00BAA69800BCA79900B4A89F00BCA8 + 9900BAA89C00BDAA9D00BEAC9E0083ADBD00B5A9A100BDABA000BEADA100BFAF + A500A0BABE00C0AB9E00C1AC9E00C6AE9F00E2B98100E4BA8300E4BB8400E5BC + 8500E1BD8E00E3BF9000C0ADA000C2B0A300C2B1A500C4B2A600C1B2A800C3B5 + AB00C8B4A800CCB9AD00CEBCB100D0BEB200D1BFB400E4C19300E5C29400E6C4 + 9600E8C69900D0C9A300CFC1B800D2C1B600D3C3B800D5C4B900D6C6BC00D8C6 + BC00D6C8BE00DAC9BF00ECD3B000EDD4B200EFD6B500E7D1B800E7D3BD00F0D8 + B6008CB7C40080BEC70097C3C70099C3C900ABD7CF00AFD9DD0086E3F90086E7 + F90086ECF8009EE5FB0090E8F900ACEDFC00BCEAFD00BCF1FB00BFF1FD00D7C9 + C000D9CAC100DCCBC200DACCC200DDCCC300DACCC400DDCEC400DED0C600DED1 + C900DED3CC00DFD4CD00E1D1C900E2D5CD00F0DCC200E3D8D200E5D9D200E2DA + D500E6DBD400E5DCD500E8DDD600E6DDD800E9DFD900E6E0DB00EAE0DA00EAE2 + DD00ECE3DE00EBE4DE00ECE4DE00F3E7D900C6E1EF00C9EFFD00D7F6FD00DFF3 + FF00DFFEFE00EBE7E300EDE6E100EFE7E400EEE8E400F0EAE600F2EDE900F2EE + EC00F4EFEC00F5F0EE00F9F4ED00E7FAFD00EBF8FF00F6F2F000F7F4F100F8F4 + F200F9F7F500FAF8F600FBF9F900FCFBFA00FCFCFB00FEFEFE00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000007D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D + 0D0D0000000000000000009C9C19191919191919191919191919191919191919 + 1903000000000000000000ABDECBCBC7C7AFABABABABAAA3A2A2A0A0A0A0A0A0 + 8607000000000000000000ABECEAE9DEDEDEDED7D5D2D2D2CBCBCBCBB0CBB0CB + 9007000000000000000000ABEDECEAE9DEDEDBD7D7D5D2D2D2CDCDCBB0B0B0B0 + 9007000000000000000000AFEDE9A9CFD2CFD2CDCBCBCBB0B0ABACA3A3A3A3B0 + 9007000000000000000000AFF0D5017783838386868686869099909999907BB0 + 9007000000000000000000B0F4D501A0B0CBD2D5DEECEDF7FAFAFAFAFAF77BAA + 9007000000000000000000CBF4DC01A0B0B0B0D2D5DBEAEDF7FAFAFAFAF47BB0 + 9007000000000000000000CBF8DC010404070604090909090D0D110D110D02A3 + 9007000000000000000000CBFAED9E9E9E9C999E8C8C8C868683837E7D7D7ACB + 9007000000000000000000CBFAF1A7A7A6A6A6A69898989898B5DBDBD5D5D2D2 + 9907000000000000000000CDFAF796969696961D961D931D1DB4DEDBD7D5D5D2 + 9C07000000000000000000CFFAFAFAFAF8F7F0F0EDEDEDECE9E9DEDEDED7D5D5 + 9907000000000000000000CDFAFAEAF0EDEDECEAEAE9DEDEDBDCD5D5D5D5D2D5 + 9C07000000000000000000D2FAEC01737D7D7B7D7D7B7D7B7D7B7B7B7D7B7DD2 + 9907000000000000000000CFFAEC019EABB0CBD2D5DCDEECEDF4F4F4F4EA7BD2 + 9C07000000000000000000B9524601A0B0B0CBB5D5DEEAEDF7FAFAFAFAF47DD5 + 9C070000000000213F0000B83226010C3F5C1F111214141616191B1B1B1807D2 + 9C07000000000000253D8A5B322D711E2860BA7E7E7A7E797A797979767676D5 + 9E0700000000000041375E662F2B65314EBBB6B6B6B6B4B4B1E2F4EDEDEDECEA + 9C070000000000008F5D66663232394EC1A81C1C1C1C1C1C1CD3F7F4EDDED7D5 + 9C0700000000000000B7BE6E5758BEBDE4E6E6F3FAFAFAFAFAFAF7F4D5928675 + 7304000000002A2A2A2A4A6AFAE7562F2A2A2A5FFAFAFAFAFAFAF8D577010101 + 0101000000004747472F4A59C5E7564A32474766FAFAFAFAFAFAFADCA0D2CFB0 + A20C00000000000000436C6958686D6BC2C5C5E7FAFAFAFAFAFAFADEAADEDBCB + 1470000000000000004551534A4A5250C0E7FAFAFAFAFAFAFAFAFADEAAD7B514 + 700000000000000042384C54472B613550C3FAFAFAFAFAFAFAFAFADEA1B0196F + 000000000000000024234463322EBC5A3664E3ECE9E9E9E9E9E9E9CF90731300 + 000000000000003A3C00002232298B8B3E3B207E8B7E8B7E827E817E74100000 + 0000000000000000000000003227000000000000000000000000000000000000 + 000000000000FFFFFFFFF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 + 000FF800000FF800000FF800000FF800000F9800000FC000000FC000000FC000 + 000FE000000F0000000F0000000FE000000FE000001FC000003FC000007F9800 + 00FFFCFFFFFF2800000020000000400000000100200000000000801000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000007067 + 5F70AA9382E570513CE3735540E3735540E3735540E3735540E3735540E37355 + 40E3735540E3735540E3735540E3735540E3735540E3735540E3735540E37355 + 40E3735540E3735540E3735540E3735540E3735540E3735540E372533EE5BAAB + A070000000000000000000000000000000000000000000000000000000005E54 + 4C7FCAB7ABFFC5B5AAFFA18877FFA28A78FFA28A79FFA28A79FFA28A79FFA28A + 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A + 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA58D7CFF7A5B46FFB2A1 + 967F000000000000000000000000000000000000000000000000000000006055 + 4D7ED7C6BBFFEDE4E0FFD9CCC4FFD9CCC4FFD9CBC3FFD8CAC1FFD7C9BFFFD6C7 + BDFFD5C6BBFFD4C4BAFFD3C3B8FFD2C1B7FFD1C0B5FFD0BEB3FFCFBDB2FFCEBC + B0FFCEBBAFFFCEBBAFFFCEBBAFFFCEBBAFFFCEBCB0FFBEAA9CFF82644FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006056 + 4D7ED7C8BCFFF2EBE8FFEFE9E5FFEEE7E2FFECE5E0FFEBE2DEFFEAE0DBFFE9DE + D8FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCDC4FFDCCB + C2FFDBC9BFFFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC1FFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006155 + 4E7ED8C9BDFFF3EDE9FFF1EAE6FFF0E9E6FFEEE6E1FFECE4DFFFEBE2DDFFEAE0 + DAFFE9DED7FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCD + C4FFDCCBC2FFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC0FFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006157 + 4E7ED9C9BFFFF4EFEDFFEFE8E3FFD0C2B9FFDFD5CEFFE0D5CEFFE0D4CCFFDED3 + CBFFDDD1C8FFDCCFC6FFDACCC4FFD9CBC1FFD8C9BFFFD7C7BDFFD6C5BBFFD5C4 + B9FFD3C2B7FFD2C0B5FFD2BFB4FFD2BFB4FFDAC8BEFFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006256 + 4F7EDACCC0FFF5F2EFFFE5DDD9FF5C3821FFB0998AFFB8A394FFB8A394FFB9A3 + 94FFB8A495FFB9A597FFB9A698FFBAA698FFBBA799FFBBA89AFFBBA89BFFBCA8 + 9BFFBCA89BFFBCA89BFFBBA89AFFB49E8FFFD8C6BBFFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006256 + 4F7EDBCBC1FFF8F4F3FFE7E0DBFF5F3C24FFD0BDB2FFDCCBC1FFDDCCC3FFE2D2 + CBFFE7DBD4FFEDE2DEFFF0E8E6FFF5F0EDFFF9F7F4FFFDFDFDFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFAF8F7FFB39D8DFFD8C6BBFFC1AC9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006256 + 4F7EDCCEC3FFFAF6F5FFE9E2DDFF5F3C24FFD2BFB5FFDFCDC4FFDECCC3FFE0CE + C6FFE4D4CDFFE9DDD6FFEFE4E0FFF1EAE8FFF7F1EFFFFBF8F6FFFFFEFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFCFBFAFFB5A090FFD9C7BEFFC1AD9FFF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006257 + 4F7EDDCFC4FFFCF9F9FFE9E4E0FF5F3A23FF7C5D49FF7F5F4CFF7E5F4CFF7E60 + 4DFF7F614DFF816350FF826552FF836654FF846856FF856A57FF866B59FF876C + 5BFF876D5BFF876D5BFF866B59FF72523DFFD5C3B9FFC1AFA1FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006357 + 507EDECFC6FFFCFCFBFFF4F1F0FFC3B6AEFFC3B5ADFFC1B4ACFFC0B3AAFFBFB1 + A9FFBEB0A6FFBDAEA5FFBDACA3FFBCABA2FFBBAAA0FFBAA99FFFB8A69AFFB8A4 + 98FFB6A396FFB5A194FFB49F93FFB39D90FFDCCDC4FFC2AEA1FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006357 + 507EDFD2C7FFFEFEFDFFF9F5EFFFE8C696FFE9C799FFE8C697FFE7C596FFE7C4 + 95FFE6C394FFE5C293FFE4C091FFE4C090FFE3BF8FFFE2BD8CFFE9D5BFFFEBE1 + DCFFEADFD8FFE7DCD5FFE5DAD3FFE4D8D0FFE3D4CCFFC2AFA2FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006458 + 517EE0D3C8FFFFFFFFFFFAF5EFFFE3B77CFFE4B97FFFE2B87EFFE3B77DFFE2B7 + 7CFFE2B67BFFE1B57AFFE1B479FFE0B478FFE0B377FFDFB174FFE6D0B7FFEBE1 + DCFFE8DFD9FFE8DDD6FFE6D9D2FFE3D8D1FFE4D7CFFFC3AFA2FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006458 + 517EE1D2C9FFFFFFFFFFFEFEFDFFFEFFFFFFFCFDFEFFFBFBFBFFF9F7F8FFF8F5 + F6FFF7F3F2FFF5F1F0FFF4EFEEFFF1EDEBFFF0EBE9FFEEE9E6FFEDE6E2FFECE3 + DEFFEBE1DBFFE9DFD9FFE8DDD6FFE6DAD3FFE5D9D2FFC3B0A3FF81634FFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006459 + 517EE1D4CAFFFFFFFFFFFDFDFCFFEEEBE8FFF5F2F0FFF4F0EFFFF3EFECFFF2ED + EAFFF1EBE8FFEEE9E5FFEFE7E3FFECE5E1FFEAE4DEFFEAE1DCFFE8E0DAFFE7DE + D8FFE6DDD6FFE5DBD4FFE4D8D1FFE2D6CEFFE6DBD4FFC3B1A4FF81634EFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006559 + 527EE2D4CAFFFFFFFFFFF0ECEAFF5B361EFFAB9383FFB39D8EFFB39D8DFFB39D + 8DFFB29D8DFFB29C8DFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C + 8CFFB29C8CFFB29C8CFFB29C8DFFB39D8EFFE3D8D0FFC4B1A4FF81634EFFB2A1 + 967E000000000000000000000000000000000000000000000000000000006559 + 527EE5D4CAFFFFFFFFFFF7F0EBFF5F3B24FFCCB8ADFFD7C5BAFFD9C7BDFFDCCC + C3FFE1D4CCFFE5DAD4FFE8E0DBFFEDE5E1FFF1EBE9FFF5F2EFFFF7F5F3FFF8F6 + F4FFF8F5F4FFF8F6F4FFF1EEEAFFB29C8DFFE6DAD3FFC4B2A5FF81634EFFB2A1 + 967E00000000000000000000000000000000000000000000000000000000685A + 527E9AC6C9FF35CFFEFF3DAEEBFF663E24FFD2BFB4FFE0CBBFFFE0C9BDFFE1CD + C4FFE4D5CDFFE9DED7FFEEE5E0FFF2EBE8FFF6F2F0FFFCF8F8FFFFFFFEFFFFFF + FFFFFFFFFFFFFFFFFFFFFCFAF9FFB49E8FFFE7DED7FFC5B3A6FF81634EFFB2A1 + 967E00000000000000000000000000000000007792910072A7A3001E33366957 + 4C7C86C1C8FF00BFFBFF079AEBFF6A3E23FF926D57FF5FA3C8FF4AC1E8FF6C9C + A2FF917260FF927767FF947A69FF957C6CFF977E6FFF998171FF9A8374FF9B85 + 76FF9C8678FF9C8678FF998274FF7D5E49FFE3D9D4FFC5B3A7FF81634EFFB2A1 + 967E00000000000000000000000000000000005A6F7000A9E5E40075AEAE5C90 + A5BD75D0E0FF00BFFAFF0CA3F4FF8A9A91FF3C7492FF03A4E4FF4AD5FFFF98C4 + CBFFB3A196FFB1A197FFB0A096FFB09F95FFAF9D92FFAF9C91FFAD9A8EFFAC99 + 8CFFAB988AFFAB9789FFAA9688FFA99386FFE8E0DAFFC5B4A7FF81634EFFB2A1 + 967E00000000000000000000000000000000000000002DA5BFC110C2FFFF4DD0 + FDFF64DBF9FF00B3FAFF09A8FEFF68D7FFFF04B5FFFF24CCFBFFAFD8CEFFF7DA + B8FFF3DBBBFFF3DBBAFFF2D9B9FFF1D8B7FFF0D7B4FFEED5B2FFF6EADDFFF9F6 + F4FFF7F3F1FFF5F1EEFFF5EFECFFF4EDEAFFF1EBE7FFC6B4A8FF81634EFFB2A1 + 967E00000000000000000000000000000000000000005F8A909142C7E4E960DE + F8FF64D7FAFF00B6FDFF00B8FDFF21B2FDFF1ECCF7FF93EBFCFFD2C69BFFE1AB + 63FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDEA961FFEFDBC0FFF8F6 + F5FFF6F2F0FFF3EDEBFFECE2DCFFE9DFD9FFE5DBD6FFC2B1A4FF81634FFFB2A1 + 967E000000000000000000000000000E171A000E171A00040B145994A4A990EB + FCFF61F1F7FF13FAF7FF23F9F7FF93EDF7FF8CE5F8FFD5F2FDFFE9F8FFFFE7F8 + FFFFF0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFEFFFFFAFAF9FFF9F7 + F5FFF7F2F0FFE8DFD8FFC7AE9FFFBEA998FFAF9888FFB09A8AFF7F604DFFB2A1 + 967E00000000000000000000000000AAFFFF00AAFFFF00AAFFFF00A4FFFF00CD + FAFF5DFCF9FFFFFFFFFFEEFEFEFF00FBF7FF00AAFEFF00A1FFFF00A1FFFF00A0 + FFFF56C3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFBFFFCFBFAFFFBFA + F8FFE6DDD6FFAA9180FF5D3922FF603D26FF613E27FF613E28FF634029FFB4A3 + 987E00000000000000000000000000CAFFFF00CAFFFF00CBFFFF00B0FFFF00CD + FBFF38F5F7FFC3EFFAFFF0FFFEFF00FAF7FF00C8F7FF00C2F7FF00C2F7FF00C1 + F7FF57D7FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFDFDFCFFFCFC + FBFFE7DED8FFCCB9ACFFE6DBD5FFE2D7D0FFDCCFC5FFD7C5BBFF8E705DFFB4A2 + 9680000000000000000000000000002E383C002E383C00252F364C99B0B57DE8 + FBFF59F1F7FF25F7F7FF41FAF8FF7CEEF7FF77E4F7FFB5EFFCFFC6F2FDFFC3F2 + FDFFD9F6FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFEFE + FEFFE9E1DAFFCEBCAFFFF1E9E3FFEADFD8FFE4D5CCFF9D816FFF3A291F868985 + 831C00000000000000000000000000000000000000004E7073774AB0DADC37C9 + FBFF22D5F7FF00D3F9FF02C3FBFF37D5F7FF34BEFCFFA2E6FAFFECFBFDFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF + FFFFEAE2DCFFCDBBADFFEADFD8FFE3D5CBFF9F8271FF3E2D2386050100200000 + 000000000000000000000000000000000000000000003E9CC4C219C0FFFF23C9 + FCFF30D3F8FF00BEF8FF06A8FEFF4FDCF8FF00B8FCFF32C2FBFFC0EBFCFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFEAE3DEFFCDB9ABFFDDCEC4FFA58979FF3E2C1F8F0905041B000000000000 + 000000000000000000000000000000000000003451510099DDDB0091C0C35DAD + BCCF76D7E9FF00BEF9FF10A9FBFFBDDEDEFF5AC8DDFF0AB5F7FF62CEFFFFCBE4 + F1FFF1E7E0FFEFE7E1FFEEE6E1FFEEE6E1FFEEE6E0FFEDE6E0FFEDE5E0FFEEE6 + E1FFE1D4CCFFC5AE9FFFA68D7FF53E2718A10402000E00000000000000000000 + 0000000000000000000000000000000000000075B7AF0099C7C500323E425442 + 3B5C6BA8B1DA00C1FCFF0EA1F3F8A98E80C0AB9081C12698B1C10088C4C14C85 + A3C1A18D80C19E8D81C19E8B81C19D8C80C19B8C7FC19B8A7FC19C897FC19A89 + 7EC19B8B7EC1897769C2432B1BAC000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000045565A00C5FFFF0094E6E2000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000FFFFFFFFF0000007F0000007F0000007F000 + 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000 + 0007F0000007F0000007F0000007F0000007F0000007F0000007800000078000 + 0007C0000007C000000700000007000000070000000700000007C000000FC000 + 001F8000003F800000FFF8FFFFFF} + Width = 450 + Left = 408 + Top = 80 + end end diff --git a/Source/Modulos/Recibos de proveedor/Views/uEditorRecibosProveedor.pas b/Source/Modulos/Recibos de proveedor/Views/uEditorRecibosProveedor.pas index 0c6fba6b..e4969170 100644 --- a/Source/Modulos/Recibos de proveedor/Views/uEditorRecibosProveedor.pas +++ b/Source/Modulos/Recibos de proveedor/Views/uEditorRecibosProveedor.pas @@ -36,14 +36,18 @@ uses uEditorGridBase, uCustomView, uBizRecibosProveedor, uIEditorRecibosProveedor, uRecibosProveedorController, - uViewRecibosProveedor, uDAInterfaces; + uViewRecibosProveedor, uDAInterfaces, JSDialog; type TfEditorRecibosProveedor = class(TfEditorGridBase, IEditorRecibosProveedor) frViewRecibosProveedor1: TfrViewRecibosProveedor; + actInformes: TAction; + TBXItem38: TTBXItem; + JSInformesDialog: TJSDialog; procedure FormShow(Sender: TObject); procedure actEliminarUpdate(Sender: TObject); + procedure actInformesExecute(Sender: TObject); private FRecibosProveedor: IBizRecibosProveedor; FController : IRecibosProveedorController; @@ -72,7 +76,8 @@ type implementation uses - uDataModuleRecibosProveedor, uFactuGES_App, uDataModuleUsuarios, uGridUtils, uDBSelectionListUtils; + uDataModuleRecibosProveedor, uFactuGES_App, uDataModuleUsuarios, uGridUtils, uDBSelectionListUtils, + uGestorInformesController; {$R *.dfm} @@ -86,6 +91,34 @@ begin (Sender as TAction).Enabled := (FRecibosProveedor.SITUACION = CTE_PENDIENTE) AND (FRecibosProveedor.ID_FACTURA < 1); end; +procedure TfEditorRecibosProveedor.actInformesExecute(Sender: TObject); +var + Respuesta : Integer; + AGestorInformesController : IGestorInformesController; + +begin + AGestorInformesController := TGestorInformesController.Create; + try + + Respuesta := JsInformesDialog.Execute; + + if Respuesta <> IDCANCEL then + begin + case JsInformesDialog.CustomButtonResult of + 100 : begin // Listado de recibos pendientes + AGestorInformesController.VerInformeListadoRecibosProvPendientes; + end; + 200 : begin // Listado de recibos de cliente + AGestorInformesController.VerInformeListadoRecibosProveedor; + end; + end; + end; + + finally + AGestorInformesController := NIL; + end; +end; + constructor TfEditorRecibosProveedor.Create(AOwner: TComponent); begin inherited; diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES index fd690993..b34d8158 100644 Binary files a/Source/Servidor/FactuGES_Server.RES and b/Source/Servidor/FactuGES_Server.RES differ diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr index 1f10dbda..b6c956ec 100644 --- a/Source/Servidor/FactuGES_Server.dpr +++ b/Source/Servidor/FactuGES_Server.dpr @@ -129,7 +129,9 @@ uses srvGestorDocumentos_Impl in '..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas' {srvGestorDocumentos: TDataAbstractService}, uStringsUtils in '..\Base\Utiles\uStringsUtils.pas', uSistemaFunc in '..\Base\Utiles\uSistemaFunc.pas', - srvGestorInformes_Impl in '..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas' {srvGestorInformes: TDataAbstractService}; + srvGestorInformes_Impl in '..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas' {srvGestorInformes: TDataAbstractService}, + uRptFacturasProveedor_Server in '..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas' {RptFacturasProveedor: TDataModule}, + uRptRecibosProveedor_Server in '..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas' {RptRecibosProveedor: TDataModule}; {$R *.res} {$R ..\Servicios\RODLFile.res} diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj index f0d1f393..d2ec3eb4 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -1,276 +1,287 @@ - + - - {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} - FactuGES_Server.dpr - Debug - AnyCPU - DCC32 - ..\..\Output\Debug\Servidor\FactuGES_Server.exe - - - 7.0 - False - False - 0 - 3 - ..\..\Output\Release\Servidor - RELEASE - - - 7.0 - 3 - ..\..\Output\Debug\Servidor - DEBUG; - True - - - Delphi.Personality - - - FalseTrueFalseTrueFalse2240FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.2.4.0FactuGES (Servidor)2.2.4.0martes, 22 de julio de 2008 19:27 - RemObjects Pascal Script - RemObjects SDK 3.0 Integration - FactuGES_Server.dpr - - - - - MainSource - - - - - -
srvEjercicios
- TDataAbstractService -
- - - -
srvEmpresas
- TDARemoteService -
- -
srvProvinciasPoblaciones
- TRORemoteDataModule -
- - - - - - - - - - - -
srvAlbaranesCliente
- TDataAbstractService -
- - - - -
srvAlbaranesProveedor
- TDataAbstractService -
- - - -
srvAlmacenes
- TDARemoteService -
- - - - - - - -
RptComisiones
- TDataModule -
- -
srvComisiones
- TDataAbstractService -
- - - - -
srvContabilidad
- TDataAbstractService -
- - - - - - - -
RptEtiquetasContacto
- TDataModule -
- -
srvContactos
- TDARemoteService -
- - - - -
RptFacturasCliente
- TDataModule -
- -
srvFacturasCliente
- TDataAbstractService -
- - - - -
srvFacturasProveedor
- TDataAbstractService -
- - - - - - - -
srvGestorDocumentos
- TDataAbstractService -
- -
srvGestorInformes
- TDataAbstractService -
- - - -
srvHistoricoMovimientos
- TDataAbstractService -
- - - -
srvInventario
- TDataAbstractService -
- - - - -
srvPedidosProveedor
- TDataAbstractService -
- - - - -
RptPresupuestosCliente
-
- -
srvPresupuestosCliente
- TDataAbstractService -
- - - - - -
RptRecibosCliente
- TDataModule -
- -
srvRecibosCliente
- TDataAbstractService -
- - - - - -
srvRecibosProveedor
- TDataAbstractService -
- - - -
srvReferencias
- TDataAbstractService -
- - - - -
srvRemesasCliente
- TDataAbstractService -
- - - - -
srvRemesasProveedor
- TDataAbstractService -
- - - - - - -
srvUnidadesMedida
- TDataAbstractService -
- - - -
srvConfiguracion
- TDataAbstractService -
- -
frConexionBD
- TFrame -
- -
frConfGeneral
- TFrame -
- -
fConfiguracion
- TForm -
- -
FrameConfiguracion
- TFrame -
- -
srvLogin
- TDARemoteService -
- -
fAcercaDe
-
- -
dmServer
- TDataModule -
- -
fServerForm
-
- - - - - - - - -
+ + {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} + FactuGES_Server.dpr + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Servidor\FactuGES_Server.exe + + + 7.0 + False + False + 0 + 3 + ..\..\Output\Release\Servidor + RELEASE + + + 7.0 + 3 + ..\..\Output\Debug\Servidor + DEBUG; + True + + + Delphi.Personality + + +FalseTrueFalseTrueFalse2240FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.2.4.0FactuGES (Servidor)2.2.4.0martes, 22 de julio de 2008 19:27 + + + + RemObjects Pascal Script - RemObjects SDK 3.0 Integration + FactuGES_Server.dpr + + + + + MainSource + + + + + +
srvEjercicios
+ TDataAbstractService +
+ + + +
srvEmpresas
+ TDARemoteService +
+ +
srvProvinciasPoblaciones
+ TRORemoteDataModule +
+ + + + + + + + + + + +
srvAlbaranesCliente
+ TDataAbstractService +
+ + + + +
srvAlbaranesProveedor
+ TDataAbstractService +
+ + + +
srvAlmacenes
+ TDARemoteService +
+ + + + + + + +
RptComisiones
+ TDataModule +
+ +
srvComisiones
+ TDataAbstractService +
+ + + + +
srvContabilidad
+ TDataAbstractService +
+ + + + + + + +
RptEtiquetasContacto
+ TDataModule +
+ +
srvContactos
+ TDARemoteService +
+ + + + +
RptFacturasCliente
+ TDataModule +
+ +
srvFacturasCliente
+ TDataAbstractService +
+ + + + +
RptFacturasProveedor
+ TDataModule +
+ +
srvFacturasProveedor
+ TDataAbstractService +
+ + + + + + + +
srvGestorDocumentos
+ TDataAbstractService +
+ +
srvGestorInformes
+ TDataAbstractService +
+ + + +
srvHistoricoMovimientos
+ TDataAbstractService +
+ + + +
srvInventario
+ TDataAbstractService +
+ + + + +
srvPedidosProveedor
+ TDataAbstractService +
+ + + + +
RptPresupuestosCliente
+
+ +
srvPresupuestosCliente
+ TDataAbstractService +
+ + + + + +
RptRecibosCliente
+ TDataModule +
+ +
srvRecibosCliente
+ TDataAbstractService +
+ + + + + +
RptRecibosProveedor
+ TDataModule +
+ +
srvRecibosProveedor
+ TDataAbstractService +
+ + + +
srvReferencias
+ TDataAbstractService +
+ + + + +
srvRemesasCliente
+ TDataAbstractService +
+ + + + +
srvRemesasProveedor
+ TDataAbstractService +
+ + + + + + +
srvUnidadesMedida
+ TDataAbstractService +
+ + + +
srvConfiguracion
+ TDataAbstractService +
+ +
frConexionBD
+ TFrame +
+ +
frConfGeneral
+ TFrame +
+ +
fConfiguracion
+ TForm +
+ +
FrameConfiguracion
+ TFrame +
+ +
srvLogin
+ TDARemoteService +
+ +
fAcercaDe
+
+ +
dmServer
+ TDataModule +
+ +
fServerForm
+
+ + + + + + + + +