Se añade resumen en lo informes de facturación para que no tengan que andar sumando cantidades mensuales y se agrupa por cliente o proveedor

git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@405 f4e31baf-9722-1c47-927c-6f952f962d4b
This commit is contained in:
roberto 2009-03-10 18:20:34 +00:00
parent fff9c58fcc
commit ef315ee196
21 changed files with 1694 additions and 712 deletions

View File

@ -44,13 +44,6 @@
<Borland.ProjectType>Package</Borland.ProjectType> <Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="PackageDescription">Libreria base de FactuGES</Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys></VersionInfoKeys><Excluded_Packages> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="PackageDescription">Libreria base de FactuGES</Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="$(BDS)\Bin\dclintraweb_90_100.bpl">VCL for the Web Design Package for CodeGear RAD Studio</Excluded_Packages> <Excluded_Packages Name="$(BDS)\Bin\dclintraweb_90_100.bpl">VCL for the Web Design Package for CodeGear RAD Studio</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages> <Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages> <Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
@ -65,53 +58,53 @@
<DelphiCompile Include="Base.dpk"> <DelphiCompile Include="Base.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\Modulos\Facturas de proveedor\adortl.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\cxIntl6D11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\cxIntlPrintSys3D11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\cxLibraryD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dclIndyCore.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\designide.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dsnap.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dxNavBarD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\dxThemeD11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\GUISDK_D11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\IndyCore.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\IndyProtocols.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\IndySystem.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Jcl.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JclVcl.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JSDialog100.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvCmpD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvCoreD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvDlgsD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvMMD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvNetD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvPageCompsD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\JvSystemD11R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\pckMD5.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\pckUCDataConnector.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\pckUserControl_RT.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\PluginSDK_D10R.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\PngComponentsD10.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\PNG_D10.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\rtl.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\TB2k_D10.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\tbx_d10.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vcl.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vclactnband.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vcldb.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vcljpg.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\VclSmp.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\vclx.dcp" />
<DCCReference Include="..\Modulos\Facturas de proveedor\xmlrtl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxDockingD11.dcp" /> <DCCReference Include="..\Modulos\Presupuestos de cliente\dxDockingD11.dcp" />
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" /> <DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
<DCCReference Include="C:\Documents and Settings\Usuario\adortl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxIntl6D11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxIntlPrintSys3D11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\DataAbstract_Core_D11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dclIndyCore.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\designide.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dsnap.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxGDIPlusD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxNavBarD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\GUISDK_D11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\IndyCore.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\IndyProtocols.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\IndySystem.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Jcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JclVcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JSDialog100.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCmpD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvDlgsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvMMD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvNetD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvPageCompsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\pckMD5.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\pckUCDataConnector.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\pckUserControl_RT.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PluginSDK_D10R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Core_D11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\TB2k_D10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\tbx_d10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\VclSmp.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\xmlrtl.dcp" />
<DCCReference Include="Conexion\uConfigurarConexion.pas"> <DCCReference Include="Conexion\uConfigurarConexion.pas">
<Form>fConfigurarConexion</Form> <Form>fConfigurarConexion</Form>
<DesignClass>TForm</DesignClass> <DesignClass>TForm</DesignClass>

Binary file not shown.

View File

@ -53,7 +53,7 @@
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>VCLApplication</Borland.ProjectType> <Borland.ProjectType>VCLApplication</Borland.ProjectType>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">9</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.2.9.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.2.9.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">3</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.3.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.3.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,8 +1,9 @@
object RptFacturasCliente: TRptFacturasCliente object RptFacturasCliente: TRptFacturasCliente
OldCreateOrder = True OldCreateOrder = True
OnCreate = DataModuleCreate OnCreate = DataModuleCreate
OnDestroy = DataModuleDestroy
Height = 464 Height = 464
Width = 688 Width = 869
object DADataCabecera: TDADataSource object DADataCabecera: TDADataSource
DataSet = tbl_Cabecera.Dataset DataSet = tbl_Cabecera.Dataset
DataTable = tbl_Cabecera DataTable = tbl_Cabecera
@ -354,6 +355,66 @@ object RptFacturasCliente: TRptFacturasCliente
object schReport: TDASchema object schReport: TDASchema
ConnectionManager = dmServer.ConnectionManager ConnectionManager = dmServer.ConnectionManager
Datasets = < Datasets = <
item
Params = <>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
TargetTable = 'v_Facturas_cliente'
Name = 'IBX'
SQL =
'select ID_EMPRESA,'#10'NOMBRE,'#10'sum(BASE_IMPONIBLE) as BASE_IMPONIBLE' +
','#10'sum(IMPORTE_IVA) as IMPORTE_IVA,'#10'sum(IMPORTE_TOTAL) AS IMPORTE' +
'_TOTAL'#10'from V_facturas_cliente'#10'group by 1,2'#10'order by 1,2'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID_EMPRESA'
TableField = 'ID_EMPRESA'
end
item
DatasetField = 'NOMBRE'
TableField = 'NOMBRE'
end
item
DatasetField = 'BASE_IMPONIBLE'
TableField = 'BASE_IMPONIBLE'
end
item
DatasetField = 'IMPORTE_IVA'
TableField = 'IMPORTE_IVA'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end>
end>
Name = 'ListadoFacturasResumen'
Fields = <
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'BASE_IMPONIBLE'
DataType = datCurrency
end
item
Name = 'IMPORTE_IVA'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end>
end
item item
Params = <> Params = <>
Statements = < Statements = <
@ -1311,42 +1372,20 @@ object RptFacturasCliente: TRptFacturasCliente
PrintOptions.Printer = 'Por defecto' PrintOptions.Printer = 'Por defecto'
PrintOptions.PrintOnSheet = 0 PrintOptions.PrintOnSheet = 0
ReportOptions.CreateDate = 37800.807714351900000000 ReportOptions.CreateDate = 37800.807714351900000000
ReportOptions.LastChange = 39770.742049143520000000 ReportOptions.LastChange = 39882.453172557870000000
ScriptLanguage = 'PascalScript' ScriptLanguage = 'PascalScript'
ScriptText.Strings = ( ScriptText.Strings = (
'procedure frxReportOnStartReport(Sender: TfrxComponent);'
'begin'
' Set('#39'Pagina'#39', 0);'
' Set('#39'TotalPaginas'#39', 0); '
'end;'
''
'procedure Band1OnBeforePrint(Sender: TfrxComponent);'
'begin'
' if not Engine.FinalPass then'
' Set('#39'TotalPaginas'#39', (<TotalPaginas> + 1));'
''
' if Engine.FinalPass then'
' Set('#39'Pagina'#39', (<Pagina> + 1)); '
'end;'
''
'procedure mContinuaOnBeforePrint(Sender: TfrxComponent);' 'procedure mContinuaOnBeforePrint(Sender: TfrxComponent);'
'begin' 'begin'
' if Engine.FinalPass then' ' if Engine.FinalPass then'
' begin' ' begin'
' if (<Page#> = <TotalPages#>) then'
' //A la vez que salta este salta la asignacion de pagina por ' +
'lo que no coincide nunca si no suponemos +1 ' +
' ' +
' ' +
' ' +
' '
' if ((<Pagina> + 1) = <TotalPaginas>) then'
' begin ' ' begin '
' mContinua.Visible := True;' ' mContinua.Visible := False;'
' end ' ' end '
' else' ' else'
' begin ' ' begin '
' mContinua.Visible := False;' ' mContinua.Visible := True;'
' end ' ' end '
' end; ' ' end; '
'end;' 'end;'
@ -1503,4 +1542,31 @@ object RptFacturasCliente: TRptFacturasCliente
Left = 576 Left = 576
Top = 16 Top = 16
end end
object tbl_InformeListadoFacturasResumen: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <>
MasterMappingMode = mmDataRequest
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
IndexDefs = <>
Left = 584
Top = 304
end
object DADSInformeListadoFacturasResumen: TDADataSource
DataSet = tbl_InformeListadoFacturasResumen.Dataset
DataTable = tbl_InformeListadoFacturasResumen
Left = 584
Top = 248
end
object frxDBInformeListadoFacturasResumen: TfrxDBDataset
UserName = 'frxDBInformeListadoFacturasResumen'
CloseDataSource = True
DataSource = DADSInformeListadoFacturasResumen
Left = 584
Top = 192
end
end end

View File

@ -33,13 +33,33 @@ type
tbl_InformeListadoFacturas: TDAMemDataTable; tbl_InformeListadoFacturas: TDAMemDataTable;
DADSInformeListadoFacturas: TDADataSource; DADSInformeListadoFacturas: TDADataSource;
frxDBInformeListadoFacturas: TfrxDBDataset; frxDBInformeListadoFacturas: TfrxDBDataset;
tbl_InformeListadoFacturasResumen: TDAMemDataTable;
DADSInformeListadoFacturasResumen: TDADataSource;
frxDBInformeListadoFacturasResumen: TfrxDBDataset;
schReport: TDASchema; schReport: TDASchema;
procedure DataModuleCreate(Sender: TObject); procedure DataModuleCreate(Sender: TObject);
procedure DataModuleDestroy(Sender: TObject);
private private
FConnection: IDAConnection; FConnection: IDAConnection;
FIdEmpresa: Integer;
FFechaInicio: Variant;
FFechaFin: Variant;
FFechaVenInicio: Variant;
FFechaVenFin: Variant;
FListaIDClientes: TIntegerArray;
FListaNombresClientes : TStringList;
FImporteMinimo: Currency;
FDesglosado : Boolean;
//Genera cada uno de los albaranes a imprimir //Genera cada uno de los albaranes a imprimir
procedure _GenerarFactura(const ID: integer); overload; procedure _GenerarFactura(const ID: integer); overload;
function _GenerarInforme(const TipoInforme: String; const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const ImporteMinimo: Currency): Binary;
procedure PrepararTablaInforme(ATabla: TDAMemDataTable);
procedure PrepararTablaResumenInforme(ATabla: IDADataset);
function _GenerarInforme(const TipoInforme: String): Binary;
procedure IniciarParametrosInforme;
procedure RecuperarNombresClientes;
public public
function GenerarFactura(const ListaID : TIntegerArray): Binary; overload; function GenerarFactura(const ListaID : TIntegerArray): Binary; overload;
function GenerarInformeIVA(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; function GenerarInformeIVA(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
@ -52,7 +72,8 @@ implementation
{$R *.dfm} {$R *.dfm}
uses uses
uSistemaFunc, uDataModuleServer, schFacturasClienteClient_Intf; uSistemaFunc, StrUtils, uROServer, DataAbstract4_Intf,
uDataModuleServer, schFacturasClienteClient_Intf;
const const
rptFacturaCliente = 'InfFacturaCliente.fr3'; rptFacturaCliente = 'InfFacturaCliente.fr3';
@ -64,6 +85,7 @@ const
rptInformeListadoFactuasClientePendiente = 'InformeListadoFacturasClientePendientes.fr3'; rptInformeListadoFactuasClientePendiente = 'InformeListadoFacturasClientePendientes.fr3';
rptInformeListadoFactuasClientePendienteDesglosado = 'InformeListadoFacturasClientePendientesDesglosado.fr3'; rptInformeListadoFactuasClientePendienteDesglosado = 'InformeListadoFacturasClientePendientesDesglosado.fr3';
ds_InformeListadoFacturasResumen = 'ListadoFacturasResumen';
{ TRptFacturasCliente } { TRptFacturasCliente }
@ -72,7 +94,14 @@ procedure TRptFacturasCliente.DataModuleCreate(Sender: TObject);
begin begin
schReport.ConnectionManager := dmServer.ConnectionManager; schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion; FConnection := dmServer.DarNuevaConexion;
frxReport.EngineOptions.NewSilentMode := simReThrow; frxReport.EngineOptions.NewSilentMode := simReThrow;
FListaNombresClientes := TStringList.Create;
end;
procedure TRptFacturasCliente.DataModuleDestroy(Sender: TObject);
begin
FreeANDNIL(FListaNombresClientes);
end; end;
function TRptFacturasCliente.GenerarFactura(const ListaID: TIntegerArray): Binary; function TRptFacturasCliente.GenerarFactura(const ListaID: TIntegerArray): Binary;
@ -95,15 +124,58 @@ function TRptFacturasCliente.GenerarInformeIVA(const IdEmpresa: Integer; const F
const ImporteMinimo: Currency): Binary; const ImporteMinimo: Currency): Binary;
var var
ATipoInforme: String; ATipoInforme: String;
AStream: TMemoryStream;
dsMaster: IDADataset;
begin begin
//DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
AStream := TMemoryStream.Create;
try
//Inicializamos parametros
FIdEmpresa := IdEmpresa;
FFechaInicio := FechaInicio;
FFechaFin := FechaFin;
FFechaVenInicio := Null;
FFechaVenFin := Null;
FImporteMinimo := ImporteMinimo;
if Assigned(FListaIDClientes) then
FListaIDClientes.Free;
FListaIDClientes := ListaIDClientes;
//Se van a prepara las tablas del informe
if tbl_InformeListadoFacturas.Active then
tbl_InformeListadoFacturas.Active := False;
PrepararTablaInforme(tbl_InformeListadoFacturas);
//Se prepara la tabla del listado resumen del informe
if tbl_InformeListadoFacturasResumen.Active then
tbl_InformeListadoFacturasResumen.Active := False;
dsMaster := schReport.NewDataset(FConnection, ds_InformeListadoFacturasResumen, [], [], False);
PrepararTablaResumenInforme(dsMaster);
//Esto se hace para rellenar la tabla del datamodule que usa el informe.
dsMaster.Open;
AStream.Clear;
Bin2DataStreamer.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
Bin2DataStreamer.ReadDataset(AStream, tbl_InformeListadoFacturasResumen, TRUE, '', TRUE, TRUE);
//DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE
if Desglosado then if Desglosado then
ATipoInforme := rptInformeIVADesglosado ATipoInforme := rptInformeIVADesglosado
else else
ATipoInforme := rptInformeIVA; ATipoInforme := rptInformeIVA;
Result := _GenerarInforme(ATipoInforme, IdEmpresa, FechaInicio, FechaFin, ListaIDClientes, ImporteMinimo); //Finalmente se abren las tablas del informe
tbl_InformeListadoFacturas.Active := True;
tbl_InformeListadoFacturasResumen.Active := True;
Result := _GenerarInforme(ATipoInforme);
finally
AStream.Free;
dsMaster := Nil;
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
end; end;
function TRptFacturasCliente.GenerarInformeListadoFacturas(const IdEmpresa: Integer; function TRptFacturasCliente.GenerarInformeListadoFacturas(const IdEmpresa: Integer;
@ -111,16 +183,60 @@ function TRptFacturasCliente.GenerarInformeListadoFacturas(const IdEmpresa: Inte
const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
var var
ATipoInforme: String; ATipoInforme: String;
AStream: TMemoryStream;
dsMaster: IDADataset;
begin begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
//DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE AStream := TMemoryStream.Create;
if Desglosado then try
//Inicializamos parametros
FIdEmpresa := IdEmpresa;
FFechaInicio := FechaInicio;
FFechaFin := FechaFin;
// FFechaVenInicio := FechaVenInicio;
// FFechaVenFin := FechaVenFin;
FImporteMinimo := ImporteMinimo;
if Assigned(FListaIDClientes) then
FListaIDClientes.Free;
FListaIDClientes := ListaIDClientes;
//Se prepara la tabla del listado general del informe
if tbl_InformeListadoFacturas.Active then
tbl_InformeListadoFacturas.Active := False;
PrepararTablaInforme(tbl_InformeListadoFacturas);
//Se prepara la tabla del listado resumen del informe
if tbl_InformeListadoFacturasResumen.Active then
tbl_InformeListadoFacturasResumen.Active := False;
dsMaster := schReport.NewDataset(FConnection, ds_InformeListadoFacturasResumen, [], [], False);
PrepararTablaResumenInforme(dsMaster);
//Esto se hace para rellenar la tabla del datamodule que usa el informe.
dsMaster.Open;
AStream.Clear;
Bin2DataStreamer.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
Bin2DataStreamer.ReadDataset(AStream, tbl_InformeListadoFacturasResumen, TRUE, '', TRUE, TRUE);
//DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE
FDesglosado := Desglosado;
if FDesglosado then
ATipoInforme := rptInformeListadoFacturasClienteDesglosado ATipoInforme := rptInformeListadoFacturasClienteDesglosado
else else
ATipoInforme := rptInformeListadoFacturasCliente; ATipoInforme := rptInformeListadoFacturasCliente;
Result := _GenerarInforme(ATipoInforme, IdEmpresa, FechaInicio, FechaFin, ListaIDClientes, ImporteMinimo); //Finalmente se abren las tablas del informe
tbl_InformeListadoFacturas.Active := True;
tbl_InformeListadoFacturasResumen.Active := True;
Result := _GenerarInforme(ATipoInforme);
finally
AStream.Free;
dsMaster := Nil;
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
end; end;
function TRptFacturasCliente.GenerarInformeListadoFacturasPendientes( function TRptFacturasCliente.GenerarInformeListadoFacturasPendientes(
@ -130,13 +246,30 @@ function TRptFacturasCliente.GenerarInformeListadoFacturasPendientes(
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;
ATipoInforme: String; ATipoInforme: String;
AStream: TMemoryStream;
dsMaster: IDADataset;
begin begin
if tbl_InformeListadoFacturas.Active then FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
tbl_InformeListadoFacturas.Active := False; {
AStream := TMemoryStream.Create;
try
//Inicializamos parametros
FIdEmpresa := IdEmpresa;
FFechaInicio := FechaInicio;
FFechaFin := FechaFin;
// FFechaVenInicio := FechaVenInicio;
// FFechaVenFin := FechaVenFin;
FImporteMinimo := ImporteMinimo;
FListaIDClientes := ListaIDClientes;
//Se prepara la tabla del listado general del informe
if tbl_InformeListadoFacturasPendientes.Active then
tbl_InformeListadoFacturasPendientes.Active := False;
PrepararTablaInforme(tbl_InformeListadoFacturasPendientes);
// Filtrar el informe por situacion // Filtrar el informe por situacion
with tbl_InformeListadoFacturas.DynamicWhere do with tbl_InformeListadoFacturasPendientes.DynamicWhere do
begin begin
// (ID_EMPRESA >= ID) // (ID_EMPRESA >= ID)
Condicion := NewBinaryExpression(NewField('', fld_FacturasClienteSITUACION), NewConstant('PAGADA', datString), dboNotEqual); Condicion := NewBinaryExpression(NewField('', fld_FacturasClienteSITUACION), NewConstant('PAGADA', datString), dboNotEqual);
@ -146,14 +279,297 @@ begin
Expression := NewBinaryExpression(Expression, Condicion, dboAnd); Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end; end;
//DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE
//DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE FDesglosado := Desglosado;
if Desglosado then if FDesglosado then
ATipoInforme := rptInformeListadoFactuasClientePendienteDesglosado ATipoInforme := rptInformeListadoFactuasClientePendienteDesglosado
else else
ATipoInforme := rptInformeListadoFactuasClientePendiente; ATipoInforme := rptInformeListadoFactuasClientePendiente;
Result := _GenerarInforme(ATipoInforme, IdEmpresa, FechaInicio, FechaFin, ListaIDClientes, ImporteMinimo); //Finalmente se abren las tablas del informe
tbl_InformeListadoFacturasPendientes.Active := True;
Result := _GenerarInforme(ATipoInforme);
finally
AStream.Free;
dsMaster := Nil;
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
}
end;
procedure TRptFacturasCliente.IniciarParametrosInforme;
var
ATextos : TStringList;
ACadena : String;
begin
ATextos := TStringList.Create;
try
if (not VarIsNull(FFechaInicio)) and (not VarIsNull(FFechaFin)) then
ACadena := Format('Fechas de factura desde el %s hasta el %s', [VarToStr(FFechaInicio), VarToStr(FFechaFin)])
else
ACadena := 'Sin rango de fechas';
ATextos.Add(ACadena);
ACadena := '';
// Filtrar el informe por fechas de vencimiento
{ if (not VarIsNull(FFechaVenInicio)) and (not VarIsNull(FFechaVenFin)) then
begin
ACadena := Format('Vencimientos desde el %s hasta el %s', [VarToStr(FFechaVenInicio), VarToStr(FFechaVenFin)]);
ATextos.Add(ACadena);
ACadena := '';
end;
}
if (FImporteMinimo > 0) then
begin
ACadena := Format('Facturas con importe superior a %m', [FImporteMinimo]);
ATextos.Add(ACadena);
ACadena := '';
end;
if Assigned(FListaIDClientes) and (FListaIDClientes.Count > 0) then
begin
RecuperarNombresClientes;
ACadena := FListaNombresClientes.Text;
end
else begin
ACadena := 'Todos los clientes';
if FDesglosado then
ACadena := ACadena + ' (desglosados)'
end;
ATextos.Add(ACadena);
ACadena := '';
frxReport.Variables.Variables['TextoParametros'] := ATextos.Text;
finally
FreeAndNil(ATextos);
end;
end;
procedure TRptFacturasCliente.PrepararTablaInforme(ATabla: TDAMemDataTable);
var
Condicion: TDAWhereExpression;
i: Integer;
begin
// Filtrar el informe por empresa
with ATabla.DynamicWhere do
begin
// (ID_EMPRESA >= ID)
Condicion := NewBinaryExpression(NewField('', fld_FacturasClienteID_EMPRESA), NewConstant(FIdEmpresa, datInteger), dboEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
// Filtrar el informe por fechas
if not VarIsNull(FFechaInicio)
and not VarIsNull(FFechaFin) then
begin
with ATabla.DynamicWhere do
begin
// (FECHA_INICIO between FECHA_FIN)
Condicion := NewBinaryExpression(NewField('', fld_FacturasClienteFECHA_FACTURA), NewConstant(FFechaInicio, datDateTime), dboGreaterOrEqual);
Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_FacturasClienteFECHA_FACTURA), NewConstant(FFechaFin, datDateTime), dboLessOrEqual), Condicion, dboAnd);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
end;
// Filtrar el informe por fechas de vencimiento
{ if not VarIsNull(FFechaVenInicio)
and not VarIsNull(FFechaVenFin) then
begin
with ATabla.DynamicWhere do
begin
// (FECHA_VENCIMIENTO_INICIO between FECHA_VENCIMIENTO_FIN)
Condicion := NewBinaryExpression(NewField('', fld_FacturasClienteFECHA_VENCIMIENTO), NewConstant(FFechaVenInicio, datDateTime), dboGreaterOrEqual);
Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_FacturasClienteFECHA_VENCIMIENTO), NewConstant(FFechaVenFin, datDateTime), dboLessOrEqual), Condicion, dboAnd);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
end;
}
// Filtrar el informe por proveedor
if Assigned(FListaIDClientes) then
begin
with ATabla.DynamicWhere do
begin
for i := 0 to FListaIDClientes.Count - 1 do
begin
// (ID_CLIENTE = ID)
Condicion := NewBinaryExpression(NewField('', fld_FacturasClienteID_CLIENTE), NewConstant(FListaIDClientes.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 (FImporteMinimo > 0) then
begin
with ATabla.DynamicWhere do
begin
// (IMPORTE_TOTAL > ImporteMinimo)
Condicion := NewBinaryExpression(NewField('', fld_FacturasCLienteIMPORTE_TOTAL), NewConstant(FImporteMinimo, datCurrency), dboGreaterOrEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
end;
end;
procedure TRptFacturasCliente.PrepararTablaResumenInforme(ATabla: IDADataset);
var
i: Integer;
AWhereStr : String;
begin
// Filtrar el informe por empresa
AWhereStr := ' (' + fld_FacturasCLienteID_EMPRESA + ' = ' + IntToStr(FIdEmpresa) + ') ';
// Filtrar el informe por fechas
if not VarIsNull(FFechaInicio)
and not VarIsNull(FFechaFin) then
begin
if Length(AWhereStr) > 0 then
AWhereStr := AWhereStr + 'AND';
AWhereStr := AWhereStr + ' (' + fld_FacturasCLienteFECHA_FACTURA + ' between ''' + ReplaceStr(VarToStr(FFechaInicio),'/','.') + ''' and ''' + ReplaceStr(VarToStr(FFechaFin),'/','.') + ''') ';
end;
// Filtrar el informe por fechas de vencimiento
{ if not VarIsNull(FFechaVenInicio)
and not VarIsNull(FFechaVenFin) then
begin
if Length(AWhereStr) > 0 then
AWhereStr := AWhereStr + 'AND';
AWhereStr := AWhereStr + ' (' + fld_FacturasCLienteFECHA_VENCIMIENTO + ' between ''' + ReplaceStr(VarToStr(FFechaVenInicio),'/','.') + ''' and ''' + ReplaceStr(VarToStr(FFechaVenFin),'/','.') + ''') ';
end;
}
// Filtrar el informe por cliente
if Assigned(FListaIDClientes) then
begin
for i := 0 to FListaIDClientes.Count - 1 do
begin
if Length(AWhereStr) > 0 then
AWhereStr := AWhereStr + 'AND';
AWhereStr := AWhereStr + ' (' + fld_FacturasCLienteID_CLIENTE + ' = ' + IntToStr(FListaIDClientes.Items[i]) + ') ';
end;
end;
// Filtrar el informe por importe minimo
if (FImporteMinimo > 0) then
begin
if Length(AWhereStr) > 0 then
AWhereStr := AWhereStr + 'AND';
AWhereStr := AWhereStr + ' (' + fld_FacturasCLienteIMPORTE_TOTAL + ' >= ' + CurrToStr(FImporteMinimo) + ') ';
end;
ATabla.Where.AddText(AWhereStr);
end;
procedure TRptFacturasCliente.RecuperarNombresClientes;
var
AContactosService : IsrvContactos;
Intf : IInterface;
AClientID : TGUID;
ATableNameArray: StringArray;
ATableRequestInfoArray: TableRequestInfoArray;
ATableRequestInfo: TableRequestInfoV5;
AStream: TMemoryStream;
ADataTable: TDAMemDataTable;
i: Integer;
AWhereBuilder : TDAWhereBuilder;
ACondicion : TDAWhereExpression;
begin
CreateGUID(AClientID);
GetClassFactory('srvContactos').CreateInstance(AClientID, Intf);
if Assigned(Intf) then
begin
AContactosService := Intf as IsrvContactos;
ATableNameArray := StringArray.Create;
ATableRequestInfoArray := TableRequestInfoArray.Create;
AWhereBuilder := TDAWhereBuilder.Create;
try
ATableNameArray.Add('Clientes');
ATableRequestInfo := TableRequestInfoV5.Create;
with ATableRequestInfo do
begin
IncludeSchema := True;
MaxRecords := -1;
UserFilter := '';
AWhereBuilder.Clear;
with AWhereBuilder do
for i := 0 to FListaIDClientes.Count - 1 do
begin
ACondicion := NewBinaryExpression(
NewBinaryExpression(NewField('', 'ID'), NewConstant(FListaIDClientes[i], datInteger), dboEqual),
NewBinaryExpression(NewField('', 'ID_EMPRESA'), NewConstant(FIdEmpresa, datInteger), dboEqual),
dboAnd);
if not AWhereBuilder.IsEmpty then
Expression := NewBinaryExpression(Expression, ACondicion, dboOr)
else
Expression := ACondicion;
end;
WhereClause := AWhereBuilder.ExpressionToXmlNode(AWhereBuilder.Expression);
end;
try
ATableRequestInfoArray.Add(ATableRequestInfo);
AStream := AContactosService.GetData(ATableNameArray, ATableRequestInfoArray);
if Assigned(AStream) then
begin
ADataTable := TDAMemDataTable.Create(nil);
try
ADataTable.Name := 'Clientes';
ADataTable.LocalDataStreamer := Bin2DataStreamer;
ADataTable.RemoteFetchEnabled := False;
Bin2DataStreamer.ReadDataset(AStream, ADataTable, True);
ADataTable.Open;
FListaNombresClientes.Clear;
for i := 0 to ADataTable.RecordCount - 1 do
begin
FListaNombresClientes.Add(ADataTable.FieldByName('NOMBRE').AsString);
ADataTable.Next;
end;
finally
FreeANDNil(ADataTable);
end;
end;
except
on e: Exception do
dmServer.EscribirLog(e.Message);
end;
finally
FreeANDNIL(ATableRequestInfoArray);
FreeANDNIL(ATableNameArray);
FreeANDNIL(AWhereBuilder);
end;
end;
end; end;
procedure TRptFacturasCliente._GenerarFactura(const ID: integer); procedure TRptFacturasCliente._GenerarFactura(const ID: integer);
@ -186,98 +602,21 @@ begin
end; end;
end; end;
function TRptFacturasCliente._GenerarInforme(const TipoInforme: String; function TRptFacturasCliente._GenerarInforme(const TipoInforme: String): Binary;
const IdEmpresa: Integer; const FechaInicio, FechaFin: Variant;
const ListaIDClientes: TIntegerArray; const ImporteMinimo: Currency): Binary;
var var
Condicion: TDAWhereExpression;
i: Integer;
AInforme: Variant; AInforme: Variant;
begin begin
Result := Binary.Create; Result := Binary.Create;
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, IntToStr(FIdEmpresa));
if VarIsNull(AInforme) then
raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe ' + TipoInforme));
try frxReport.LoadFromFile(AInforme, True);
IniciarParametrosInforme;
if tbl_InformeListadoFacturas.Active then frxReport.PrepareReport(False);
tbl_InformeListadoFacturas.Active := False; frxReport.PreviewPages.SaveToStream(Result);
// Filtrar el informe por empresa
with tbl_InformeListadoFacturas.DynamicWhere do
begin
// (ID_EMPRESA >= ID)
Condicion := NewBinaryExpression(NewField('', fld_FacturasClienteID_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_FacturasClienteFECHA_FACTURA), NewConstant(FechaInicio, datDateTime), dboGreaterOrEqual);
Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_FacturasClienteFECHA_FACTURA), NewConstant(FechaFin, datDateTime), dboLessOrEqual), Condicion, dboAnd);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
end;
// Filtrar el informe por cliente
if Assigned(ListaIDClientes) then
begin
with tbl_InformeListadoFacturas.DynamicWhere do
begin
for i := 0 to ListaIDClientes.Count - 1 do
begin
// (ID_CLIENTE = ID)
Condicion := NewBinaryExpression(NewField('', fld_FacturasClienteID_CLIENTE), NewConstant(ListaIDClientes.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_FacturasClienteIMPORTE_TOTAL), NewConstant(ImporteMinimo, datCurrency), dboGreaterOrEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
end;
tbl_InformeListadoFacturas.Active := True;
AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, IntToStr(IdEmpresa));
if VarIsNull(AInforme) then
raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe' + TipoInforme));
frxReport.LoadFromFile(AInforme, True);
frxReport.Variables.Variables['FechaInicio'] := FechaInicio;
frxReport.Variables.Variables['FechaFin'] := FechaFin;
frxReport.PrepareReport(False);
frxReport.PreviewPages.SaveToStream(Result);
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
end; end;
end. end.

View File

@ -49,35 +49,35 @@
<DelphiCompile Include="FacturasCliente_view.dpk"> <DelphiCompile Include="FacturasCliente_view.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\adortl.dcp" /> <DCCReference Include="..\adortl.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\AlbCli_FacCli_relation.dcp" /> <DCCReference Include="..\AlbCli_FacCli_relation.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\Articulos_view.dcp" /> <DCCReference Include="..\Articulos_view.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\Contabilidad_controller.dcp" /> <DCCReference Include="..\Contabilidad_controller.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\Contabilidad_view.dcp" /> <DCCReference Include="..\Contabilidad_view.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\Contactos_view.dcp" /> <DCCReference Include="..\Contactos_view.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\cxDataD11.dcp" /> <DCCReference Include="..\cxDataD11.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\cxEditorsD11.dcp" /> <DCCReference Include="..\cxEditorsD11.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\cxLibraryD11.dcp" /> <DCCReference Include="..\cxLibraryD11.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\DataAbstract_Core_D11.dcp" /> <DCCReference Include="..\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\dbrtl.dcp" /> <DCCReference Include="..\dbrtl.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\dsnap.dcp" /> <DCCReference Include="..\dsnap.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\dxComnD11.dcp" /> <DCCReference Include="..\dxComnD11.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\dxGDIPlusD11.dcp" /> <DCCReference Include="..\dxGDIPlusD11.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\dxLayoutControlD11.dcp" /> <DCCReference Include="..\dxLayoutControlD11.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\dxThemeD11.dcp" /> <DCCReference Include="..\dxThemeD11.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\FacturasCliente_controller.dcp" /> <DCCReference Include="..\FacturasCliente_controller.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\FacturasCliente_model.dcp" /> <DCCReference Include="..\FacturasCliente_model.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\GestorInformes_controller.dcp" /> <DCCReference Include="..\GestorInformes_controller.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\GUIBase.dcp" /> <DCCReference Include="..\GUIBase.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\PngComponentsD10.dcp" /> <DCCReference Include="..\PngComponentsD10.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\PNG_D10.dcp" /> <DCCReference Include="..\PNG_D10.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\RemObjects_Core_D11.dcp" /> <DCCReference Include="..\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\rtl.dcp" /> <DCCReference Include="..\rtl.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\vcl.dcp" /> <DCCReference Include="..\vcl.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\vclactnband.dcp" /> <DCCReference Include="..\vclactnband.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\vcldb.dcp" /> <DCCReference Include="..\vcldb.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\vcljpg.dcp" /> <DCCReference Include="..\vcljpg.dcp" />
<DCCReference Include="..\..\..\..\Output\Debug\Servidor\vclx.dcp" /> <DCCReference Include="..\vclx.dcp" />
<DCCReference Include="uEditorElegirArticulosFacturaCliente.pas"> <DCCReference Include="uEditorElegirArticulosFacturaCliente.pas">
<Form>fEditorElegirArticulosFacturaCliente</Form> <Form>fEditorElegirArticulosFacturaCliente</Form>
<DesignClass>TForm</DesignClass> <DesignClass>TForm</DesignClass>

View File

@ -1,8 +1,9 @@
object RptFacturasProveedor: TRptFacturasProveedor object RptFacturasProveedor: TRptFacturasProveedor
OldCreateOrder = True OldCreateOrder = True
OnCreate = DataModuleCreate OnCreate = DataModuleCreate
OnDestroy = DataModuleDestroy
Height = 405 Height = 405
Width = 570 Width = 763
object frxRichObject1: TfrxRichObject object frxRichObject1: TfrxRichObject
Left = 48 Left = 48
Top = 296 Top = 296
@ -35,6 +36,66 @@ object RptFacturasProveedor: TRptFacturasProveedor
ConnectionManager = dmServer.ConnectionManager ConnectionManager = dmServer.ConnectionManager
DataDictionary = DataDictionary DataDictionary = DataDictionary
Datasets = < Datasets = <
item
Params = <>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
TargetTable = 'v_facturas_proveedor'
Name = 'IBX'
SQL =
'select ID_EMPRESA,'#10'NOMBRE,'#10'sum(BASE_IMPONIBLE) as BASE_IMPONIBLE' +
','#10'sum(IMPORTE_IVA) as IMPORTE_IVA,'#10'sum(IMPORTE_TOTAL) AS IMPORTE' +
'_TOTAL'#10'from V_facturas_proveedor'#10'group by 1,2'#10'order by 1,2'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID_EMPRESA'
TableField = 'ID_EMPRESA'
end
item
DatasetField = 'NOMBRE'
TableField = 'NOMBRE'
end
item
DatasetField = 'BASE_IMPONIBLE'
TableField = 'BASE_IMPONIBLE'
end
item
DatasetField = 'IMPORTE_IVA'
TableField = 'IMPORTE_IVA'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end>
end>
Name = 'ListadoFacturasProveedorResumen'
Fields = <
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'BASE_IMPONIBLE'
DataType = datCurrency
end
item
Name = 'IMPORTE_IVA'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end>
end
item item
Params = <> Params = <>
Statements = < Statements = <
@ -548,4 +609,31 @@ object RptFacturasProveedor: TRptFacturasProveedor
Left = 48 Left = 48
Top = 80 Top = 80
end end
object frxDBInformeListadoFacturasResumen: TfrxDBDataset
UserName = 'frxDBInformeListadoFacturasResumen'
CloseDataSource = True
DataSource = DADSInformeListadoFacturasResumen
Left = 648
Top = 24
end
object DADSInformeListadoFacturasResumen: TDADataSource
DataSet = tbl_InformeListadoFacturasResumen.Dataset
DataTable = tbl_InformeListadoFacturasResumen
Left = 648
Top = 80
end
object tbl_InformeListadoFacturasResumen: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <>
MasterMappingMode = mmDataRequest
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
IndexDefs = <>
Left = 648
Top = 136
end
end end

View File

@ -26,10 +26,29 @@ type
Bin2DataStreamer: TDABin2DataStreamer; Bin2DataStreamer: TDABin2DataStreamer;
schReport: TDASchema; schReport: TDASchema;
DataDictionary: TDADataDictionary; DataDictionary: TDADataDictionary;
frxDBInformeListadoFacturasResumen: TfrxDBDataset;
DADSInformeListadoFacturasResumen: TDADataSource;
tbl_InformeListadoFacturasResumen: TDAMemDataTable;
procedure DataModuleCreate(Sender: TObject); procedure DataModuleCreate(Sender: TObject);
procedure DataModuleDestroy(Sender: TObject);
private private
FConnection: IDAConnection; FConnection: IDAConnection;
function _GenerarInforme(const TipoInforme: String; const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const FechaVenInicio: Variant; const FechaVenFin: Variant; const ListaIDProveedores: TIntegerArray; const ImporteMinimo: Currency): Binary; FIdEmpresa: Integer;
FFechaInicio: Variant;
FFechaFin: Variant;
FFechaVenInicio: Variant;
FFechaVenFin: Variant;
FListaIDProveedores: TIntegerArray;
FListaNombresProveedores: TStringList;
FImporteMinimo: Currency;
FDesglosado : Boolean;
procedure PrepararTablaInforme(ATabla: TDAMemDataTable);
procedure PrepararTablaResumenInforme(ATabla: IDADataset);
function _GenerarInforme(const TipoInforme: String): Binary;
procedure IniciarParametrosInforme;
procedure RecuperarNombresProveedores;
public public
function GenerarInformeIVA(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; function GenerarInformeIVA(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDProveedores: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
@ -42,7 +61,8 @@ implementation
{$R *.dfm} {$R *.dfm}
uses uses
uSistemaFunc, uDataModuleServer, schFacturasProveedorClient_Intf; uSistemaFunc, StrUtils, uROServer, DataAbstract4_Intf,
uDataModuleServer, schFacturasProveedorClient_Intf;
const const
rptFacturaProveedor = 'InfFacturaProveedor.fr3'; rptFacturaProveedor = 'InfFacturaProveedor.fr3';
@ -52,6 +72,8 @@ const
rptInformeListadoFacturasProveedorDesglosado = 'InformeListadoFacturasProveedorDesglosado.fr3'; rptInformeListadoFacturasProveedorDesglosado = 'InformeListadoFacturasProveedorDesglosado.fr3';
rptInformeListadoFactuasProveedorPendiente = 'InformeListadoFacturasProveedorPendientes.fr3'; rptInformeListadoFactuasProveedorPendiente = 'InformeListadoFacturasProveedorPendientes.fr3';
rptInformeListadoFactuasProveedorPendienteDesglosado = 'InformeListadoFacturasProveedorPendientesDesglosado.fr3'; rptInformeListadoFactuasProveedorPendienteDesglosado = 'InformeListadoFacturasProveedorPendientesDesglosado.fr3';
ds_InformeListadoFacturasResumen = 'ListadoFacturasProveedorResumen';
ds_InformeListadoFacturasPendientesResumen = 'InformeListadoFacturasPendientesResumen';
{ TRptFacturasProveedor } { TRptFacturasProveedor }
@ -61,6 +83,13 @@ begin
schReport.ConnectionManager := dmServer.ConnectionManager; schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion; FConnection := dmServer.DarNuevaConexion;
frxReport.EngineOptions.NewSilentMode := simReThrow; frxReport.EngineOptions.NewSilentMode := simReThrow;
FListaNombresProveedores := TStringList.Create;
end;
procedure TRptFacturasProveedor.DataModuleDestroy(Sender: TObject);
begin
FreeANDNIL(FListaNombresProveedores);
end; end;
function TRptFacturasProveedor.GenerarInformeIVA(const IdEmpresa: Integer; function TRptFacturasProveedor.GenerarInformeIVA(const IdEmpresa: Integer;
@ -69,15 +98,64 @@ function TRptFacturasProveedor.GenerarInformeIVA(const IdEmpresa: Integer;
const ImporteMinimo: Currency): Binary; const ImporteMinimo: Currency): Binary;
var var
ATipoInforme: String; ATipoInforme: String;
AStream: TMemoryStream;
dsMaster: IDADataset;
begin begin
//DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
if Desglosado then
AStream := TMemoryStream.Create;
try
//Inicializamos parametros
FIdEmpresa := IdEmpresa;
FFechaInicio := FechaInicio;
FFechaFin := FechaFin;
FFechaVenInicio := Null;
FFechaVenFin := Null;
FImporteMinimo := ImporteMinimo;
FDesglosado := Desglosado;
if Assigned(FListaIDProveedores) then
FListaIDProveedores.Free;
FListaIDProveedores := ListaIDProveedores;
//Se van a prepara las tablas del informe
if tbl_InformeListadoFacturas.Active then
tbl_InformeListadoFacturas.Active := False;
PrepararTablaInforme(tbl_InformeListadoFacturas);
//Se prepara la tabla del listado resumen del informe
if tbl_InformeListadoFacturasResumen.Active then
tbl_InformeListadoFacturasResumen.Active := False;
dsMaster := schReport.NewDataset(FConnection, ds_InformeListadoFacturasResumen, [], [], False);
PrepararTablaResumenInforme(dsMaster);
//Esto se hace para rellenar la tabla del datamodule que usa el informe.
dsMaster.Open;
AStream.Clear;
Bin2DataStreamer.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
Bin2DataStreamer.ReadDataset(AStream, tbl_InformeListadoFacturasResumen, TRUE, '', TRUE, TRUE);
//DESGLOSADO POR PROVEEDOR EN ESTE INFORME NO SE DESGLOSARÁ POR PROVEEDOR
if FDesglosado then
ATipoInforme := rptInformeIVADesglosado ATipoInforme := rptInformeIVADesglosado
else else
ATipoInforme := rptInformeIVA; ATipoInforme := rptInformeIVA;
Result := _GenerarInforme(ATipoInforme, IdEmpresa, FechaInicio, FechaFin, Null, Null, ListaIDProveedores, ImporteMinimo); //Finalmente se abren las tablas del informe
tbl_InformeListadoFacturas.Active := True;
tbl_InformeListadoFacturasResumen.Active := True;
Result := _GenerarInforme(ATipoInforme);
finally
AStream.Free;
dsMaster := Nil;
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
end; end;
function TRptFacturasProveedor.GenerarInformeListadoFacturas( function TRptFacturasProveedor.GenerarInformeListadoFacturas(
@ -87,16 +165,63 @@ function TRptFacturasProveedor.GenerarInformeListadoFacturas(
const ImporteMinimo: Currency): Binary; const ImporteMinimo: Currency): Binary;
var var
ATipoInforme: String; ATipoInforme: String;
AStream: TMemoryStream;
dsMaster: IDADataset;
begin begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
//DESGLOSADO POR PROVEEDOR EN ESTE INFORME NO SE DESGLOSARÁ POR PROVEEDOR AStream := TMemoryStream.Create;
if Desglosado then try
//Inicializamos parametros
FIdEmpresa := IdEmpresa;
FFechaInicio := FechaInicio;
FFechaFin := FechaFin;
FFechaVenInicio := FechaVenInicio;
FFechaVenFin := FechaVenFin;
FImporteMinimo := ImporteMinimo;
FDesglosado := Desglosado;
if Assigned(FListaIDProveedores) then
FListaIDProveedores.Free;
FListaIDProveedores := ListaIDProveedores;
//Se prepara la tabla del listado general del informe
if tbl_InformeListadoFacturas.Active then
tbl_InformeListadoFacturas.Active := False;
PrepararTablaInforme(tbl_InformeListadoFacturas);
//Se prepara la tabla del listado resumen del informe
if tbl_InformeListadoFacturasResumen.Active then
tbl_InformeListadoFacturasResumen.Active := False;
dsMaster := schReport.NewDataset(FConnection, ds_InformeListadoFacturasResumen, [], [], False);
PrepararTablaResumenInforme(dsMaster);
//Esto se hace para rellenar la tabla del datamodule que usa el informe.
dsMaster.Open;
AStream.Clear;
Bin2DataStreamer.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
Bin2DataStreamer.ReadDataset(AStream, tbl_InformeListadoFacturasResumen, TRUE, '', TRUE, TRUE);
//DESGLOSADO POR PROVEEDOR EN ESTE INFORME NO SE DESGLOSARÁ POR PROVEEDOR
if FDesglosado then
ATipoInforme := rptInformeListadoFacturasProveedorDesglosado ATipoInforme := rptInformeListadoFacturasProveedorDesglosado
else else
ATipoInforme := rptInformeListadoFacturasProveedor; ATipoInforme := rptInformeListadoFacturasProveedor;
Result := _GenerarInforme(ATipoInforme, IdEmpresa, FechaInicio, FechaFin, FechaVenInicio, FechaVenFin, ListaIDProveedores, ImporteMinimo); //Finalmente se abren las tablas del informe
tbl_InformeListadoFacturas.Active := True;
tbl_InformeListadoFacturasResumen.Active := True;
Result := _GenerarInforme(ATipoInforme);
finally
AStream.Free;
dsMaster := Nil;
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
end; end;
function TRptFacturasProveedor.GenerarInformeListadoFacturasPendientes( function TRptFacturasProveedor.GenerarInformeListadoFacturasPendientes(
@ -107,15 +232,38 @@ function TRptFacturasProveedor.GenerarInformeListadoFacturasPendientes(
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;
ATipoInforme: String; ATipoInforme: String;
AStream: TMemoryStream;
dsMaster: IDADataset;
begin begin
if tbl_InformeListadoFacturas.Active then FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
tbl_InformeListadoFacturas.Active := False; {
AStream := TMemoryStream.Create;
try
//Inicializamos parametros
FIdEmpresa := IdEmpresa;
FFechaInicio := FechaInicio;
FFechaFin := FechaFin;
FFechaVenInicio := FechaVenInicio;
FFechaVenFin := FechaVenFin;
FImporteMinimo := ImporteMinimo;
FDesglosado := Desglosado;
if Assigned(FListaIDProveedores) then
FListaIDProveedores.Free;
FListaIDProveedores := ListaIDProveedores;
//Se prepara la tabla del listado general del informe
{ if tbl_InformeListadoFacturasPendientes.Active then
tbl_InformeListadoFacturasPendientes.Active := False;
PrepararTablaInforme(tbl_InformeListadoFacturasPendientes);
// Filtrar el informe por situacion // Filtrar el informe por situacion
with tbl_InformeListadoFacturas.DynamicWhere do with tbl_InformeListadoFacturasPendientes.DynamicWhere do
begin begin
// (ID_EMPRESA >= ID) // (SITUACION >= PAGADA)
Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorSITUACION), NewConstant('PAGADA', datString), dboNotEqual); Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorSITUACION), NewConstant('PAGADA', datString), dboNotEqual);
if IsEmpty then if IsEmpty then
Expression := Condicion Expression := Condicion
@ -123,126 +271,327 @@ begin
Expression := NewBinaryExpression(Expression, Condicion, dboAnd); Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end; end;
//Se prepara la tabla del listado resumen del informe
if tbl_InformeListadoFacturasPendResumen.Active then
tbl_InformeListadoFacturasPendResumen.Active := False;
//DESGLOSADO POR PROVEEDOR EN ESTE INFORME dsMaster := schReport.NewDataset(FConnection, ds_InformeListadoFacturasPendientesResumen, [], [], False);
if Desglosado then PrepararTablaResumenInforme(dsMaster);
// Filtrar el informe por situacion
dsMaster.Where.AddText(' AND (SITUACION <> ''PAGADA'')');
//Esto se hace para rellenar la tabla del datamodule que usa el informe.
dsMaster.Open;
AStream.Clear;
Bin2DataStreamer.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
Bin2DataStreamer.ReadDataset(AStream, tbl_InformeListadoFacturasPendResumen, TRUE, '', TRUE, TRUE);
//DESGLOSADO POR PROVEEDOR EN ESTE INFORME
if FDesglosado then
ATipoInforme := rptInformeListadoFactuasProveedorPendienteDesglosado ATipoInforme := rptInformeListadoFactuasProveedorPendienteDesglosado
else else
ATipoInforme := rptInformeListadoFactuasProveedorPendiente; ATipoInforme := rptInformeListadoFactuasProveedorPendiente;
//Finalmente se abren las tablas del informe
tbl_InformeListadoFacturasPendientes.Active := True;
tbl_InformeListadoFacturasPendResumen.Active := True;
Result := _GenerarInforme(ATipoInforme, IdEmpresa, FechaInicio, FechaFin, FechaVenInicio, FechaVenFin, ListaIDProveedores, ImporteMinimo); Result := _GenerarInforme(ATipoInforme);
finally
AStream.Free;
dsMaster := Nil;
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
}
end; end;
function TRptFacturasProveedor._GenerarInforme(const TipoInforme: String; procedure TRptFacturasProveedor.IniciarParametrosInforme;
const IdEmpresa: Integer; const FechaInicio, FechaFin: Variant; var
const FechaVenInicio: Variant; const FechaVenFin: Variant; ATextos : TStringList;
const ListaIDProveedores: TIntegerArray; const ImporteMinimo: Currency): Binary; ACadena : String;
begin
ATextos := TStringList.Create;
try
if (not VarIsNull(FFechaInicio)) and (not VarIsNull(FFechaFin)) then
ACadena := Format('Fechas de factura desde el %s hasta el %s', [VarToStr(FFechaInicio), VarToStr(FFechaFin)])
else
ACadena := 'Sin rango de fechas';
ATextos.Add(ACadena);
ACadena := '';
// Filtrar el informe por fechas de vencimiento
if (not VarIsNull(FFechaVenInicio)) and (not VarIsNull(FFechaVenFin)) then
begin
ACadena := Format('Vencimientos desde el %s hasta el %s', [VarToStr(FFechaVenInicio), VarToStr(FFechaVenFin)]);
ATextos.Add(ACadena);
ACadena := '';
end;
if (FImporteMinimo > 0) then
begin
ACadena := Format('Facturas con importe superior a %m', [FImporteMinimo]);
ATextos.Add(ACadena);
ACadena := '';
end;
if Assigned(FListaIDProveedores) and (FListaIDProveedores.Count > 0) then
begin
RecuperarNombresProveedores;
ACadena := FListaNombresProveedores.Text;
end
else begin
ACadena := 'Todos los proveedores';
if FDesglosado then
ACadena := ACadena + ' (desglosados)'
end;
ATextos.Add(ACadena);
ACadena := '';
frxReport.Variables.Variables['TextoParametros'] := ATextos.Text;
finally
FreeAndNil(ATextos);
end;
end;
procedure TRptFacturasProveedor.PrepararTablaInforme(ATabla: TDAMemDataTable);
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;
i: Integer; i: Integer;
AInforme: Variant;
begin begin
Result := Binary.Create; // Filtrar el informe por empresa
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" with ATabla.DynamicWhere do
begin
// (ID_EMPRESA >= ID)
Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorID_EMPRESA), NewConstant(FIdEmpresa, datInteger), dboEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
try // Filtrar el informe por fechas
if tbl_InformeListadoFacturas.Active then if not VarIsNull(FFechaInicio) and
tbl_InformeListadoFacturas.Active := False; not VarIsNull(FFechaFin) then
begin
// Filtrar el informe por empresa with ATabla.DynamicWhere do
with tbl_InformeListadoFacturas.DynamicWhere do
begin begin
// (ID_EMPRESA >= ID) // (FECHA_INICIO between FECHA_FIN)
Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorID_EMPRESA), NewConstant(IdEmpresa, datInteger), dboEqual); Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorFECHA_FACTURA), NewConstant(FFechaInicio, datDateTime), dboGreaterOrEqual);
Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_FacturasProveedorFECHA_FACTURA), NewConstant(FFechaFin, datDateTime), dboLessOrEqual), Condicion, dboAnd);
if IsEmpty then if IsEmpty then
Expression := Condicion Expression := Condicion
else else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd); Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end; end;
end;
// Filtrar el informe por fechas // Filtrar el informe por fechas de vencimiento
if not VarIsNull(FechaInicio) if not VarIsNull(FFechaVenInicio)
and not VarIsNull(FechaFin) then and not VarIsNull(FFechaVenFin) then
begin
with ATabla.DynamicWhere do
begin begin
with tbl_InformeListadoFacturas.DynamicWhere do // (FECHA_VENCIMIENTO_INICIO between FECHA_VENCIMIENTO_FIN)
Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorFECHA_VENCIMIENTO), NewConstant(FFechaVenInicio, datDateTime), dboGreaterOrEqual);
Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_FacturasProveedorFECHA_VENCIMIENTO), NewConstant(FFechaVenFin, datDateTime), dboLessOrEqual), Condicion, dboAnd);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
end;
// Filtrar el informe por proveedor
if Assigned(FListaIDProveedores) then
begin
with ATabla.DynamicWhere do
begin
for i := 0 to FListaIDProveedores.Count - 1 do
begin begin
// (FECHA_INICIO between FECHA_FIN)
Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorFECHA_FACTURA), NewConstant(FechaInicio, datDateTime), dboGreaterOrEqual); // (ID_PROVEEDOR = ID)
Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_FacturasProveedorFECHA_FACTURA), NewConstant(FechaFin, datDateTime), dboLessOrEqual), Condicion, dboAnd); Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorID_PROVEEDOR), NewConstant(FListaIDProveedores.Items[i], datInteger), dboEqual);
if IsEmpty then if IsEmpty then
Expression := Condicion Expression := Condicion
else else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd); Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end; end;
end; end;
end;
// Filtrar el informe por fechas de vencimiento // Filtrar el informe por importe minimo
if not VarIsNull(FechaVenInicio) if (FImporteMinimo > 0) then
and not VarIsNull(FechaVenFin) then begin
with ATabla.DynamicWhere do
begin begin
with tbl_InformeListadoFacturas.DynamicWhere do // (IMPORTE_TOTAL > ImporteMinimo)
begin Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorIMPORTE_TOTAL), NewConstant(FImporteMinimo, datCurrency), dboGreaterOrEqual);
// (FECHA_VENCIMIENTO_INICIO between FECHA_VENCIMIENTO_FIN) if IsEmpty then
Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorFECHA_VENCIMIENTO), NewConstant(FechaVenInicio, datDateTime), dboGreaterOrEqual); Expression := Condicion
Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_FacturasProveedorFECHA_VENCIMIENTO), NewConstant(FechaVenFin, datDateTime), dboLessOrEqual), Condicion, dboAnd); else
if IsEmpty then Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
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;
AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, IntTostr(IdEmpresa));
if VarIsNull(AInforme) then
raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe ' + TipoInforme));
frxReport.LoadFromFile(AInforme, True);
frxReport.Variables.Variables['FechaInicio'] := FechaInicio;
frxReport.Variables.Variables['FechaFin'] := FechaFin;
frxReport.PrepareReport(False);
frxReport.PreviewPages.SaveToStream(Result);
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end; end;
end; end;
procedure TRptFacturasProveedor.PrepararTablaResumenInforme(ATabla: IDADataset);
var
i: Integer;
AWhereStr : String;
begin
// Filtrar el informe por empresa
AWhereStr := ' (' + fld_FacturasProveedorID_EMPRESA + ' = ' + IntToStr(FIdEmpresa) + ') ';
// Filtrar el informe por fechas
if not VarIsNull(FFechaInicio)
and not VarIsNull(FFechaFin) then
begin
if Length(AWhereStr) > 0 then
AWhereStr := AWhereStr + 'AND';
AWhereStr := AWhereStr + ' (' + fld_FacturasProveedorFECHA_FACTURA + ' between ''' + ReplaceStr(VarToStr(FFechaInicio),'/','.') + ''' and ''' + ReplaceStr(VarToStr(FFechaFin),'/','.') + ''') ';
end;
// Filtrar el informe por fechas de vencimiento
if not VarIsNull(FFechaVenInicio)
and not VarIsNull(FFechaVenFin) then
begin
if Length(AWhereStr) > 0 then
AWhereStr := AWhereStr + 'AND';
AWhereStr := AWhereStr + ' (' + fld_FacturasProveedorFECHA_VENCIMIENTO + ' between ''' + ReplaceStr(VarToStr(FFechaVenInicio),'/','.') + ''' and ''' + ReplaceStr(VarToStr(FFechaVenFin),'/','.') + ''') ';
end;
// Filtrar el informe por proveedor
if Assigned(FListaIDProveedores) then
begin
for i := 0 to FListaIDProveedores.Count - 1 do
begin
if Length(AWhereStr) > 0 then
AWhereStr := AWhereStr + 'AND';
AWhereStr := AWhereStr + ' (' + fld_FacturasProveedorID_PROVEEDOR + ' = ' + IntToStr(FListaIDProveedores.Items[i]) + ') ';
end;
end;
// Filtrar el informe por importe minimo
if (FImporteMinimo > 0) then
begin
if Length(AWhereStr) > 0 then
AWhereStr := AWhereStr + 'AND';
AWhereStr := AWhereStr + ' (' + fld_FacturasProveedorIMPORTE_TOTAL + ' >= ' + CurrToStr(FImporteMinimo) + ') ';
end;
ATabla.Where.AddText(AWhereStr);
end;
procedure TRptFacturasProveedor.RecuperarNombresProveedores;
var
AContactosService : IsrvContactos;
Intf : IInterface;
AClientID : TGUID;
ATableNameArray: StringArray;
ATableRequestInfoArray: TableRequestInfoArray;
ATableRequestInfo: TableRequestInfoV5;
AStream: TMemoryStream;
ADataTable: TDAMemDataTable;
i: Integer;
AWhereBuilder : TDAWhereBuilder;
ACondicion : TDAWhereExpression;
begin
CreateGUID(AClientID);
GetClassFactory('srvContactos').CreateInstance(AClientID, Intf);
if Assigned(Intf) then
begin
AContactosService := Intf as IsrvContactos;
ATableNameArray := StringArray.Create;
ATableRequestInfoArray := TableRequestInfoArray.Create;
AWhereBuilder := TDAWhereBuilder.Create;
try
ATableNameArray.Add('Proveedores');
ATableRequestInfo := TableRequestInfoV5.Create;
with ATableRequestInfo do
begin
IncludeSchema := True;
MaxRecords := -1;
UserFilter := '';
AWhereBuilder.Clear;
with AWhereBuilder do
for i := 0 to FListaIDProveedores.Count - 1 do
begin
ACondicion := NewBinaryExpression(
NewBinaryExpression(NewField('', 'ID'), NewConstant(FListaIDProveedores[i], datInteger), dboEqual),
NewBinaryExpression(NewField('', 'ID_EMPRESA'), NewConstant(FIdEmpresa, datInteger), dboEqual),
dboAnd);
if not AWhereBuilder.IsEmpty then
Expression := NewBinaryExpression(Expression, ACondicion, dboOr)
else
Expression := ACondicion;
end;
WhereClause := AWhereBuilder.ExpressionToXmlNode(AWhereBuilder.Expression);
end;
try
ATableRequestInfoArray.Add(ATableRequestInfo);
AStream := AContactosService.GetData(ATableNameArray, ATableRequestInfoArray);
if Assigned(AStream) then
begin
ADataTable := TDAMemDataTable.Create(nil);
try
ADataTable.Name := 'Proveedores';
ADataTable.LocalDataStreamer := Bin2DataStreamer;
ADataTable.RemoteFetchEnabled := False;
Bin2DataStreamer.ReadDataset(AStream, ADataTable, True);
ADataTable.Open;
FListaNombresProveedores.Clear;
for i := 0 to ADataTable.RecordCount - 1 do
begin
FListaNombresProveedores.Add(ADataTable.FieldByName('NOMBRE').AsString);
ADataTable.Next;
end;
finally
FreeANDNil(ADataTable);
end;
end;
except
on e: Exception do
dmServer.EscribirLog(e.Message);
end;
finally
FreeANDNIL(ATableRequestInfoArray);
FreeANDNIL(ATableNameArray);
FreeANDNIL(AWhereBuilder);
end;
end;
end;
function TRptFacturasProveedor._GenerarInforme(const TipoInforme: String): Binary;
var
AInforme: Variant;
begin
Result := Binary.Create;
AInforme := DarRutaFichero(DarRutaInformes, TipoInforme, IntTostr(FIdEmpresa));
if VarIsNull(AInforme) then
raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe ' + TipoInforme));
frxReport.LoadFromFile(AInforme, True);
IniciarParametrosInforme;
frxReport.PrepareReport(False);
frxReport.PreviewPages.SaveToStream(Result);
end;
end. end.

View File

@ -346,6 +346,9 @@ var
AStream: Binary; AStream: Binary;
AEditor : IEditorInformeFacturasClientePendientesReport; AEditor : IEditorInformeFacturasClientePendientesReport;
begin begin
showmessage('Informe en desarrollo');
exit;
AEditor := NIL; AEditor := NIL;
CreateEditor('EditorInformeFacturasClientePendientesReport', IEditorInformeFacturasClientePendientesReport, AEditor); CreateEditor('EditorInformeFacturasClientePendientesReport', IEditorInformeFacturasClientePendientesReport, AEditor);
@ -393,6 +396,9 @@ var
AStream: Binary; AStream: Binary;
AEditor : IEditorInformeFacturasProveedorPendientesReport; AEditor : IEditorInformeFacturasProveedorPendientesReport;
begin begin
showmessage('Informe en desarrollo');
exit;
AEditor := NIL; AEditor := NIL;
CreateEditor('EditorInformeFacturasProveedorPendientesReport', IEditorInformeFacturasProveedorPendientesReport, AEditor); CreateEditor('EditorInformeFacturasProveedorPendientesReport', IEditorInformeFacturasProveedorPendientesReport, AEditor);
if Assigned(AEditor) then if Assigned(AEditor) then

Binary file not shown.

View File

@ -1,284 +1,288 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid> <ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid>
<MainSource>FactuGES_Server.dpr</MainSource> <MainSource>FactuGES_Server.dpr</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Servidor\FactuGES_Server.exe</DCC_DependencyCheckOutputName> <DCC_DependencyCheckOutputName>..\..\Output\Debug\Servidor\FactuGES_Server.exe</DCC_DependencyCheckOutputName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version> <Version>7.0</Version>
<DCC_DebugInformation>False</DCC_DebugInformation> <DCC_DebugInformation>False</DCC_DebugInformation>
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols> <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_MapFile>3</DCC_MapFile> <DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Release\Servidor</DCC_ExeOutput> <DCC_ExeOutput>..\..\Output\Release\Servidor</DCC_ExeOutput>
<DCC_Define>RELEASE</DCC_Define> <DCC_Define>RELEASE</DCC_Define>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version> <Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile> <DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Debug\Servidor</DCC_ExeOutput> <DCC_ExeOutput>..\..\Output\Debug\Servidor</DCC_ExeOutput>
<DCC_Define>DEBUG;</DCC_Define> <DCC_Define>DEBUG;</DCC_Define>
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames> <DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
</PropertyGroup> </PropertyGroup>
<ProjectExtensions> <ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType/> <Borland.ProjectType />
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">9</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.2.9.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES (Servidor)</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.2.9.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">miércoles, 18 de febrero de 2009 16:31</VersionInfoKeys></VersionInfoKeys><Excluded_Packages> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">3</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.3.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES (Servidor)</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.3.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">martes, 10 de marzo de 2009 19:06</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets"/>
<ItemGroup> <Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
<DelphiCompile Include="FactuGES_Server.dpr"> </Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
<MainSource>MainSource</MainSource> </ProjectExtensions>
</DelphiCompile> <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosClient_Intf.pas"/> <ItemGroup>
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosServer_Intf.pas"/> <DelphiCompile Include="FactuGES_Server.dpr">
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\uBizEjerciciosServer.pas"/> <MainSource>MainSource</MainSource>
<DCCReference Include="..\ApplicationBase\Ejercicios\Servidor\srvEjercicios_Impl.pas"> </DelphiCompile>
<Form>srvEjercicios</Form> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosClient_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\uBizEjerciciosServer.pas" />
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas"/> <DCCReference Include="..\ApplicationBase\Ejercicios\Servidor\srvEjercicios_Impl.pas">
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas"/> <Form>srvEjercicios</Form>
<DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvEmpresas</Form> </DCCReference>
<DesignClass>TDARemoteService</DesignClass> <DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas" />
<DCCReference Include="..\ApplicationBase\ProvinciasPoblaciones\Servidor\srvProvinciasPoblaciones_Impl.pas"> <DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas">
<Form>srvProvinciasPoblaciones</Form> <Form>srvEmpresas</Form>
<DesignClass>TRORemoteDataModule</DesignClass> <DesignClass>TDARemoteService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas"/> <DCCReference Include="..\ApplicationBase\ProvinciasPoblaciones\Servidor\srvProvinciasPoblaciones_Impl.pas">
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas"/> <Form>srvProvinciasPoblaciones</Form>
<DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas"/> <DesignClass>TRORemoteDataModule</DesignClass>
<DCCReference Include="..\Base\schBase_Intf.pas"/> </DCCReference>
<DCCReference Include="..\Base\Utiles\uSistemaFunc.pas"/> <DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas" />
<DCCReference Include="..\Base\Utiles\uStringsUtils.pas"/> <DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas"/> <DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas"/> <DCCReference Include="..\Base\schBase_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas"/> <DCCReference Include="..\Base\Utiles\uSistemaFunc.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas"/> <DCCReference Include="..\Base\Utiles\uStringsUtils.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas"> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas" />
<Form>srvAlbaranesCliente</Form> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas" />
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas">
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas"/> <Form>srvAlbaranesCliente</Form>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas"> </DCCReference>
<Form>srvAlbaranesProveedor</Form> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS" />
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas"/> <DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas"/> <Form>srvAlbaranesProveedor</Form>
<DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvAlmacenes</Form> </DCCReference>
<DesignClass>TDARemoteService</DesignClass> <DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas" />
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas"/> <DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas">
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas"/> <Form>srvAlmacenes</Form>
<DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas"/> <DesignClass>TDARemoteService</DesignClass>
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesClient_Intf.pas"/> </DCCReference>
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesServer_Intf.pas"/> <DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Comisiones\Model\uBizComisionesServer.pas"/> <DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Comisiones\Reports\uRptComisiones_Server.pas"> <DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas" />
<Form>RptComisiones</Form> <DCCReference Include="..\Modulos\Comisiones\Model\schComisionesClient_Intf.pas" />
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Comisiones\Model\schComisionesServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Comisiones\Model\uBizComisionesServer.pas" />
<DCCReference Include="..\Modulos\Comisiones\Servidor\srvComisiones_Impl.pas"> <DCCReference Include="..\Modulos\Comisiones\Reports\uRptComisiones_Server.pas">
<Form>srvComisiones</Form> <Form>RptComisiones</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas"/> <DCCReference Include="..\Modulos\Comisiones\Servidor\srvComisiones_Impl.pas">
<DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas"/> <Form>srvComisiones</Form>
<DCCReference Include="..\Modulos\Contabilidad\Model\uBizAsientosServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Contabilidad\Servidor\srvContabilidad_Impl.pas"> </DCCReference>
<Form>srvContabilidad</Form> <DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Contabilidad\Model\uBizAsientosServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas"/> <DCCReference Include="..\Modulos\Contabilidad\Servidor\srvContabilidad_Impl.pas">
<DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas"/> <Form>srvContabilidad</Form>
<DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas"/> </DCCReference>
<DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas"/> <DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizVendedoresServer.pas"/> <DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Contactos\Reports\uRptEtiquetasContacto_Server.pas"> <DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas" />
<Form>RptEtiquetasContacto</Form> <DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas" />
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Contactos\Model\uBizVendedoresServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas"> <DCCReference Include="..\Modulos\Contactos\Reports\uRptEtiquetasContacto_Server.pas">
<Form>srvContactos</Form> <Form>RptEtiquetasContacto</Form>
<DesignClass>TDARemoteService</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas">
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas"/> <Form>srvContactos</Form>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas"/> <DesignClass>TDARemoteService</DesignClass>
<DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas"> </DCCReference>
<Form>RptFacturasCliente</Form> <DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas" />
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas" />
<DCCReference Include="..\Modulos\Facturas de cliente\Servidor\srvFacturasCliente_Impl.pas"> <DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas">
<Form>srvFacturasCliente</Form> <Form>RptFacturasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Facturas de cliente\Servidor\srvFacturasCliente_Impl.pas">
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas"/> <Form>srvFacturasCliente</Form>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas"> </DCCReference>
<Form>RptFacturasProveedor</Form> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas" />
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Servidor\srvFacturasProveedor_Impl.pas"> <DCCReference Include="..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas">
<Form>srvFacturasProveedor</Form> <Form>RptFacturasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas"/> <DCCReference Include="..\Modulos\Facturas de proveedor\Servidor\srvFacturasProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas"/> <Form>srvFacturasProveedor</Form>
<DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas"/> </DCCReference>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas"/> <DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas" />
<DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas"/> <DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas" />
<DCCReference Include="..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas"> <DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas" />
<Form>srvGestorDocumentos</Form> <DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas" />
<DCCReference Include="..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas"> <DCCReference Include="..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas">
<Form>srvGestorInformes</Form> <Form>srvGestorDocumentos</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas"/> <DCCReference Include="..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas">
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas"/> <Form>srvGestorInformes</Form>
<DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvHistoricoMovimientos</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas"/> <DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas">
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas"/> <Form>srvHistoricoMovimientos</Form>
<DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvInventario</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas">
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas"/> <Form>srvInventario</Form>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Servidor\srvPedidosProveedor_Impl.pas"> </DCCReference>
<Form>srvPedidosProveedor</Form> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Pedidos a proveedor\Servidor\srvPedidosProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas"/> <Form>srvPedidosProveedor</Form>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas"> </DCCReference>
<Form>RptPresupuestosCliente</Form> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Servidor\srvPresupuestosCliente_Impl.pas"> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas" />
<Form>srvPresupuestosCliente</Form> <DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas">
<DesignClass>TDataAbstractService</DesignClass> <Form>RptPresupuestosCliente</Form>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Presupuestos de cliente\Servidor\srvPresupuestosCliente_Impl.pas">
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas"/> <Form>srvPresupuestosCliente</Form>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizPagosClienteServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizRecibosClienteServer.pas"/> </DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Reports\uRptRecibosCliente_Server.pas"> <DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas" />
<Form>RptRecibosCliente</Form> <DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas" />
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizPagosClienteServer.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizRecibosClienteServer.pas" />
<DCCReference Include="..\Modulos\Recibos de cliente\Servidor\srvRecibosCliente_Impl.pas"> <DCCReference Include="..\Modulos\Recibos de cliente\Reports\uRptRecibosCliente_Server.pas">
<Form>srvRecibosCliente</Form> <Form>RptRecibosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Recibos de cliente\Servidor\srvRecibosCliente_Impl.pas">
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas"/> <Form>srvRecibosCliente</Form>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizPagosProveedorServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizRecibosProveedorServer.pas"/> </DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas"> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas" />
<Form>RptRecibosProveedor</Form> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas" />
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizPagosProveedorServer.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizRecibosProveedorServer.pas" />
<DCCReference Include="..\Modulos\Recibos de proveedor\Servidor\srvRecibosProveedor_Impl.pas"> <DCCReference Include="..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas">
<Form>srvRecibosProveedor</Form> <Form>RptRecibosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas"/> <DCCReference Include="..\Modulos\Recibos de proveedor\Servidor\srvRecibosProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas"/> <Form>srvRecibosProveedor</Form>
<DCCReference Include="..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvReferencias</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas">
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas"/> <Form>srvReferencias</Form>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas"> </DCCReference>
<Form>srvRemesasCliente</Form> <DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas" />
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas">
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas"/> <Form>srvRemesasCliente</Form>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas"> </DCCReference>
<Form>srvRemesasProveedor</Form> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas" />
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas"/> <DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas"/> <Form>srvRemesasProveedor</Form>
<DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas"/> </DCCReference>
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas"/> <DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas" />
<DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas"> <DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas" />
<Form>srvUnidadesMedida</Form> <DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas" />
<DCCReference Include="..\Servicios\FactuGES_Intf.pas"/> <DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas">
<DCCReference Include="..\Servicios\FactuGES_Invk.pas"/> <Form>srvUnidadesMedida</Form>
<DCCReference Include="Configuracion\srvConfiguracion_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvConfiguracion</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
</DCCReference> <DCCReference Include="..\Servicios\FactuGES_Invk.pas" />
<DCCReference Include="Configuracion\uConexionBD.pas"> <DCCReference Include="Configuracion\srvConfiguracion_Impl.pas">
<Form>frConexionBD</Form> <Form>srvConfiguracion</Form>
<DesignClass>TFrame</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="Configuracion\uConfGeneral.pas"> <DCCReference Include="Configuracion\uConexionBD.pas">
<Form>frConfGeneral</Form> <Form>frConexionBD</Form>
<DesignClass>TFrame</DesignClass> <DesignClass>TFrame</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="Configuracion\uConfiguracion.pas"> <DCCReference Include="Configuracion\uConfGeneral.pas">
<Form>fConfiguracion</Form> <Form>frConfGeneral</Form>
<DesignClass>TForm</DesignClass> <DesignClass>TFrame</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="Configuracion\uFrameConfiguracion.pas"> <DCCReference Include="Configuracion\uConfiguracion.pas">
<Form>FrameConfiguracion</Form> <Form>fConfiguracion</Form>
<DesignClass>TFrame</DesignClass> <DesignClass>TForm</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="srvLogin_Impl.pas"> <DCCReference Include="Configuracion\uFrameConfiguracion.pas">
<Form>srvLogin</Form> <Form>FrameConfiguracion</Form>
<DesignClass>TDARemoteService</DesignClass> <DesignClass>TFrame</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="uAcercaDe.pas"> <DCCReference Include="srvLogin_Impl.pas">
<Form>fAcercaDe</Form> <Form>srvLogin</Form>
</DCCReference> <DesignClass>TDARemoteService</DesignClass>
<DCCReference Include="uDataModuleServer.pas"> </DCCReference>
<Form>dmServer</Form> <DCCReference Include="uAcercaDe.pas">
<DesignClass>TDataModule</DesignClass> <Form>fAcercaDe</Form>
</DCCReference> </DCCReference>
<DCCReference Include="uServerMainForm.pas"> <DCCReference Include="uDataModuleServer.pas">
<Form>fServerForm</Form> <Form>dmServer</Form>
</DCCReference> <DesignClass>TDataModule</DesignClass>
<DCCReference Include="Utiles\RegExpr.pas"/> </DCCReference>
<DCCReference Include="Utiles\uBusinessUtils.pas"/> <DCCReference Include="uServerMainForm.pas">
<DCCReference Include="Utiles\uDatabaseUtils.pas"/> <Form>fServerForm</Form>
<DCCReference Include="Utiles\uReferenciasUtils.pas"/> </DCCReference>
<DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas"/> <DCCReference Include="Utiles\RegExpr.pas" />
<DCCReference Include="Utiles\uSchemaUtilsServer.pas"/> <DCCReference Include="Utiles\uBusinessUtils.pas" />
<DCCReference Include="Utiles\uServerAppUtils.pas"/> <DCCReference Include="Utiles\uDatabaseUtils.pas" />
<DCCReference Include="Utiles\uSesionesUtils.pas"/> <DCCReference Include="Utiles\uReferenciasUtils.pas" />
</ItemGroup> <DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas" />
<DCCReference Include="Utiles\uSchemaUtilsServer.pas" />
<DCCReference Include="Utiles\uServerAppUtils.pas" />
<DCCReference Include="Utiles\uSesionesUtils.pas" />
</ItemGroup>
</Project> </Project>
<!-- EurekaLog First Line <!-- EurekaLog First Line
[Exception Log] [Exception Log]

View File

@ -16,7 +16,7 @@ BEGIN
VALUE "FileVersion", "2.2.9.0\0" VALUE "FileVersion", "2.2.9.0\0"
VALUE "ProductName", "FactuGES (Servidor)\0" VALUE "ProductName", "FactuGES (Servidor)\0"
VALUE "ProductVersion", "2.2.9.0\0" VALUE "ProductVersion", "2.2.9.0\0"
VALUE "CompileDate", "martes, 03 de marzo de 2009 19:08\0" VALUE "CompileDate", "martes, 10 de marzo de 2009 19:06\0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"