Se adaptan los informes de facturas pendientes para que aparezca el resumen por cliente o proveedor. Se añade en los módulos que utilizan el filtro de año.

git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@407 f4e31baf-9722-1c47-927c-6f952f962d4b
This commit is contained in:
roberto 2009-03-11 12:44:15 +00:00
parent ef315ee196
commit a248738328
67 changed files with 2376 additions and 612 deletions

View File

@ -44,6 +44,13 @@
<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>
@ -58,53 +65,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

@ -1,7 +1,7 @@
MAINICON ICON "C:\Codigo Acana\Resources\Iconos\Factuges.ico" MAINICON ICON "C:\Codigo Acana\Resources\Iconos\Factuges.ico"
1 VERSIONINFO 1 VERSIONINFO
FILEVERSION 2,2,9,0 FILEVERSION 2,3,0,0
PRODUCTVERSION 2,2,9,0 PRODUCTVERSION 2,3,0,0
FILEFLAGSMASK 0x3FL FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L FILEFLAGS 0x00L
FILEOS 0x40004L FILEOS 0x40004L
@ -13,10 +13,10 @@ BEGIN
BLOCK "0C0A04E4" BLOCK "0C0A04E4"
BEGIN BEGIN
VALUE "CompanyName", "Rodax Software S.L.\0" VALUE "CompanyName", "Rodax Software S.L.\0"
VALUE "FileVersion", "2.2.9.0\0" VALUE "FileVersion", "2.3.0.0\0"
VALUE "InternalName", "FactuGES\0" VALUE "InternalName", "FactuGES\0"
VALUE "ProductName", "FactuGES\0" VALUE "ProductName", "FactuGES\0"
VALUE "ProductVersion", "2.2.9.0\0" VALUE "ProductVersion", "2.3.0.0\0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

Binary file not shown.

View File

@ -58,37 +58,37 @@
<DelphiCompile Include="GUIBase.dpk"> <DelphiCompile Include="GUIBase.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\Modulos\Comisiones\Base.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" />
<DCCReference Include="..\Modulos\Comisiones\cxDataD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxDataD11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\cxEditorsD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\cxExportD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxExportD11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\cxLibraryD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\cxTreeListD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxTreeListD11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\dbrtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Comisiones\dxBarD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxBarD11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\dxBarExtItemsD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxBarExtItemsD11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\dxGDIPlusD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\dxLayoutControlD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxLayoutControlD11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\dxPScxCommonD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxPScxCommonD11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\dxPScxGrid6LnkD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\dxPsPrVwAdvD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxPsPrVwAdvD11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\dxThemeD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\frx11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\frx11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\frxe11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\frxe11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\fs11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\fs11.dcp" />
<DCCReference Include="..\Modulos\Comisiones\JvAppFrmD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvAppFrmD11R.dcp" />
<DCCReference Include="..\Modulos\Comisiones\JvCtrlsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Comisiones\JvGlobusD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvGlobusD11R.dcp" />
<DCCReference Include="..\Modulos\Comisiones\PngComponentsD10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
<DCCReference Include="..\Modulos\Comisiones\PNG_D10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
<DCCReference Include="..\Modulos\Comisiones\rtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="..\Modulos\Comisiones\tb2k_d10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\tb2k_d10.dcp" />
<DCCReference Include="..\Modulos\Comisiones\tbx_d10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\tbx_d10.dcp" />
<DCCReference Include="..\Modulos\Comisiones\vcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="..\Modulos\Comisiones\vclactnband.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
<DCCReference Include="..\Modulos\Comisiones\vcldb.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
<DCCReference Include="..\Modulos\Comisiones\vcljpg.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
<DCCReference Include="..\Modulos\Comisiones\vclx.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
<DCCReference Include="uDialogBase.pas"> <DCCReference Include="uDialogBase.pas">
<Form>fDialogBase</Form> <Form>fDialogBase</Form>
</DCCReference> </DCCReference>

View File

@ -90,6 +90,16 @@ inherited fEditorGridBase: TfEditorGridBase
ShowHint = True ShowHint = True
ShrinkMode = tbsmNone ShrinkMode = tbsmNone
TabOrder = 0 TabOrder = 0
object lblAno: TTBXLabelItem
Caption = 'A'#241'o:'
Visible = False
end
object cbxListaAnos: TTBXComboBoxItem
Visible = False
end
object sepAno: TTBXSeparatorItem
Visible = False
end
object TBXLabelItem1: TTBXLabelItem object TBXLabelItem1: TTBXLabelItem
Caption = 'Filtrar:' Caption = 'Filtrar:'
end end

View File

@ -64,6 +64,9 @@ type
N41: TMenuItem; N41: TMenuItem;
TBXSubmenuItem32: TTBXSubmenuItem; TBXSubmenuItem32: TTBXSubmenuItem;
TBXItem1039: TTBXItem; TBXItem1039: TTBXItem;
lblAno: TTBXLabelItem;
cbxListaAnos: TTBXComboBoxItem;
sepAno: TTBXSeparatorItem;
procedure tbxEditFiltroChange(Sender: TObject; const Text: String); procedure tbxEditFiltroChange(Sender: TObject; const Text: String);
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
procedure actQuitarFiltroExecute(Sender: TObject); procedure actQuitarFiltroExecute(Sender: TObject);
@ -79,7 +82,16 @@ type
procedure actExportarExcelExecute(Sender: TObject); procedure actExportarExcelExecute(Sender: TObject);
procedure actExportarExcelUpdate(Sender: TObject); procedure actExportarExcelUpdate(Sender: TObject);
protected protected
FListaAnos: TStringList;
FViewGrid : IViewGridBase; FViewGrid : IViewGridBase;
FDynWhereDataTable: WideString;
function GetListaAnos: TStringList;
procedure SetListaAnos(const Value: TStringList);
function GetDynWhereDataTable: WideString;
procedure SetDynWhereDataTable(const Value: WideString);
procedure SetViewGrid(const Value : IViewGridBase); virtual; procedure SetViewGrid(const Value : IViewGridBase); virtual;
function GetViewGrid: IViewGridBase; function GetViewGrid: IViewGridBase;
procedure SetMultiSelect (AValue : Boolean); procedure SetMultiSelect (AValue : Boolean);
@ -90,7 +102,9 @@ type
procedure ImprimirInterno; override; procedure ImprimirInterno; override;
procedure RefrescarInterno; override; procedure RefrescarInterno; override;
public public
property ListaAnos: TStringList read GetListaAnos write SetListaAnos;
property ViewGrid: IViewGridBase read GetViewGrid write SetViewGrid; property ViewGrid: IViewGridBase read GetViewGrid write SetViewGrid;
property DynWhereDataTable: WideString read GetDynWhereDataTable write SetDynWhereDataTable;
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect; property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
constructor Create(AOwner : TComponent); override; constructor Create(AOwner : TComponent); override;
@ -109,10 +123,24 @@ uses
} }
destructor TfEditorGridBase.Destroy; destructor TfEditorGridBase.Destroy;
begin begin
FDynWhereDataTable := '';
FViewGrid := NIL; FViewGrid := NIL;
if Assigned(FListaAnos) then
FlistaAnos.Free;
inherited; inherited;
end; end;
function TfEditorGridBase.GetDynWhereDataTable: WideString;
begin
Result := FDynWhereDataTable;
end;
function TfEditorGridBase.GetListaAnos: TStringList;
begin
Result := FListaAnos;
end;
function TfEditorGridBase.GetMultiSelect: Boolean; function TfEditorGridBase.GetMultiSelect: Boolean;
begin begin
Result := False; Result := False;
@ -131,6 +159,47 @@ begin
ViewGrid.Print; ViewGrid.Print;
end; end;
procedure TfEditorGridBase.SetDynWhereDataTable(const Value: WideString);
begin
FDynWhereDataTable := Value;
end;
procedure TfEditorGridBase.SetListaAnos(const Value: TStringList);
var
i: Integer;
AStringAnterior: String;
begin
AStringAnterior := '';
if Assigned(FListaAnos) then
begin
AStringAnterior := FListaAnos.ValueFromIndex[cbxListaAnos.ItemIndex];
FListaAnos.Free;
end;
//Se asigna el nuevo TStringList
FListaAnos := Value;
if Assigned(FListaAnos) then
begin
cbxListaAnos.Strings.BeginUpdate;
cbxListaAnos.Strings.Clear;
for i := 0 to FListaAnos.Count - 1 do
cbxListaAnos.Strings.Append(FListaAnos.Names[i]);
//Se posiciona en el elemento que habia anteriormente
if Length(AStringAnterior) > 0 then
begin
if FListaAnos.IndexOfName(AStringAnterior) <> -1 then
cbxListaAnos.ItemIndex := FListaAnos.IndexOfName(AStringAnterior)
else
cbxListaAnos.ItemIndex := 0;
end;
cbxListaAnos.Strings.EndUpdate;
end;
end;
procedure TfEditorGridBase.SetMultiSelect(AValue: Boolean); procedure TfEditorGridBase.SetMultiSelect(AValue: Boolean);
begin begin
if Assigned(ViewGrid) then if Assigned(ViewGrid) then
@ -166,6 +235,8 @@ begin
ViewGrid.ShowEmbedded(Self); ViewGrid.ShowEmbedded(Self);
ViewGrid.RestoreFromIniFile; ViewGrid.RestoreFromIniFile;
end; end;
cbxListaAnos.ItemIndex := 0;
end; end;
procedure TfEditorGridBase.actEliminarUpdate(Sender: TObject); procedure TfEditorGridBase.actEliminarUpdate(Sender: TObject);
@ -265,6 +336,7 @@ end;
constructor TfEditorGridBase.Create(AOwner: TComponent); constructor TfEditorGridBase.Create(AOwner: TComponent);
begin begin
inherited; inherited;
FDynWhereDataTable := '';
actModificar.ShortCut := ShortCut(VK_RETURN, []); actModificar.ShortCut := ShortCut(VK_RETURN, []);
end; end;

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

@ -4,7 +4,7 @@ interface
uses uses
SysUtils, uDADataTable, uEditorDBItem, SysUtils, Classes, uDADataTable, uEditorDBItem,
uControllerBase, uIDataModuleAlbaranesCliente, uClientesController, uControllerBase, uIDataModuleAlbaranesCliente, uClientesController,
uDetallesAlbaranClienteController, uBizAlbaranesCliente, uBizDireccionesContacto; uDetallesAlbaranClienteController, uBizAlbaranesCliente, uBizDireccionesContacto;
@ -59,6 +59,9 @@ type
ANuevaSituacion: String; AFechaEnvio : TDateTime = 0; ANuevaSituacion: String; AFechaEnvio : TDateTime = 0;
AFechaRecibido : TDateTime = 0; AFechaRecibido : TDateTime = 0;
DoPost: Boolean = True) : Boolean; DoPost: Boolean = True) : Boolean;
function DarListaAnosAlbaranes: TStringList;
procedure FiltrarAno(AAlbaran: IBizAlbaranCliente; ADynWhereDataTable: WideString; const Ano: String);
end; end;
TAlbaranesClienteController = class(TControllerBase, IAlbaranesClienteController) TAlbaranesClienteController = class(TControllerBase, IAlbaranesClienteController)
@ -137,6 +140,9 @@ type
procedure Print(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false); procedure Print(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false);
procedure EtiquetasPreview(AAlbaran : IBizAlbaranCliente; Const withRefCliente: Boolean); procedure EtiquetasPreview(AAlbaran : IBizAlbaranCliente; Const withRefCliente: Boolean);
procedure EtiquetasPrint(AAlbaran : IBizAlbaranCliente; Const withRefCliente: Boolean); procedure EtiquetasPrint(AAlbaran : IBizAlbaranCliente; Const withRefCliente: Boolean);
function DarListaAnosAlbaranes: TStringList;
procedure FiltrarAno(AAlbaran: IBizAlbaranCliente; ADynWhereDataTable: WideString; const Ano: String);
end; end;
implementation implementation
@ -146,7 +152,7 @@ uses
uROTypes, Controls, cxControls, DB, uEditorRegistryUtils, uEditorPreview, DateUtils, uROTypes, Controls, cxControls, DB, uEditorRegistryUtils, uEditorPreview, DateUtils,
uIEditorAlbaranesCliente, uIEditorAlbaranesDevCliente, uIEditorAlbaranDevCliente, uIEditorAlbaranesCliente, uIEditorAlbaranesDevCliente, uIEditorAlbaranDevCliente,
uDataModuleAlbaranesCliente, Variants, uBizDetallesAlbaranCliente, uSistemaFunc, uDataModuleAlbaranesCliente, Variants, uBizDetallesAlbaranCliente, uSistemaFunc,
uBizContactos, uDataTableUtils, uDataModuleUsuarios, Classes, uFactuGES_App, uBizContactos, uDataTableUtils, uDataModuleUsuarios, uFactuGES_App,
schAlbaranesClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorAlbaranCliente, schAlbaranesClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorAlbaranCliente,
uIEditorElegirAlbaranesCliente, uIEditorDireccionEntregaAlbaranCliente, uIEditorElegirAlbaranesCliente, uIEditorDireccionEntregaAlbaranCliente,
schContactosClient_Intf, uAlbaranesClienteReportController, schContactosClient_Intf, uAlbaranesClienteReportController,
@ -380,6 +386,11 @@ begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf); Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end; end;
function TAlbaranesClienteController.DarListaAnosAlbaranes: TStringList;
begin
Result := FDataModule.GetAnosItems;
end;
procedure TAlbaranesClienteController.DescartarCambios(AAlbaran: IBizAlbaranCliente); procedure TAlbaranesClienteController.DescartarCambios(AAlbaran: IBizAlbaranCliente);
begin begin
if not Assigned(AAlbaran) then if not Assigned(AAlbaran) then
@ -857,6 +868,35 @@ begin
Result := ASeleccionados; Result := ASeleccionados;
end; end;
procedure TAlbaranesClienteController.FiltrarAno(AAlbaran: IBizAlbaranCliente; ADynWhereDataTable: WideString; const Ano: String);
var
Condicion: TDAWhereExpression;
FechaIni: String;
FechaFin: String;
begin
AAlbaran.DataTable.DynamicWhere.Clear;
AAlbaran.DataTable.DynamicWhere.Xml := ADynWhereDataTable;
if (Ano <> 'Todos') then
begin
// Filtrar las facturas actuales por empresa
FechaIni := '01/01/' + Ano;
FechaFin := '31/12/' + Ano;
with AAlbaran.DataTable.DynamicWhere do
begin
// (FECHA_INICIO between FECHA_FIN)
Condicion := NewBinaryExpression(NewField('', fld_AlbaranesClienteFECHA_ALBARAN), NewConstant(FechaIni, datString), dboGreaterOrEqual);
Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_AlbaranesClienteFECHA_ALBARAN), NewConstant(FechaFin, datString), dboLessOrEqual), Condicion, dboAnd);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Condicion, Expression, dboAnd);
end;
end;
end;
procedure TAlbaranesClienteController.FiltrarEmpresa(AAlbaran: IBizAlbaranCliente); procedure TAlbaranesClienteController.FiltrarEmpresa(AAlbaran: IBizAlbaranCliente);
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;

View File

@ -1,6 +1,6 @@
inherited DataModuleAlbaranesCliente: TDataModuleAlbaranesCliente inherited DataModuleAlbaranesCliente: TDataModuleAlbaranesCliente
OnCreate = DAClientDataModuleCreate OnCreate = DAClientDataModuleCreate
Height = 234 Height = 374
Width = 484 Width = 484
object RORemoteService: TRORemoteService object RORemoteService: TRORemoteService
Message = dmConexion.ROMessage Message = dmConexion.ROMessage
@ -428,4 +428,28 @@ inherited DataModuleAlbaranesCliente: TDataModuleAlbaranesCliente
Left = 384 Left = 384
Top = 56 Top = 56
end end
object tbl_ListaAnosAlbaranes: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ANO'
DataType = datString
Size = 255
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_AlbaranesCliente
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'ListaAnosAlbaranes'
IndexDefs = <>
Left = 232
Top = 248
end
object ds_ListaAnosAlbaranes: TDADataSource
DataSet = tbl_ListaAnosAlbaranes.Dataset
DataTable = tbl_ListaAnosAlbaranes
Left = 232
Top = 200
end
end end

View File

@ -20,6 +20,8 @@ type
ds_AlbaranesCliente: TDADataSource; ds_AlbaranesCliente: TDADataSource;
tbl_AlbaranesCliente_Detalles: TDAMemDataTable; tbl_AlbaranesCliente_Detalles: TDAMemDataTable;
ds_AlbaranesCliente_Detalles: TDADataSource; ds_AlbaranesCliente_Detalles: TDADataSource;
tbl_ListaAnosAlbaranes: TDAMemDataTable;
ds_ListaAnosAlbaranes: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject); procedure DAClientDataModuleCreate(Sender: TObject);
private private
@ -29,6 +31,7 @@ type
procedure AsignarClaseNegocio(AAlbaran: TDADataTable); virtual; procedure AsignarClaseNegocio(AAlbaran: TDADataTable); virtual;
public public
function GetAnosItems : TStringList;
function GetItems : IBizAlbaranCliente; virtual; function GetItems : IBizAlbaranCliente; virtual;
function GetItem(const ID : Integer) : IBizAlbaranCliente; function GetItem(const ID : Integer) : IBizAlbaranCliente;
function NewItem : IBizAlbaranCliente; function NewItem : IBizAlbaranCliente;
@ -109,6 +112,30 @@ begin
end; end;
end; end;
function TDataModuleAlbaranesCliente.GetAnosItems: TStringList;
var
AListaAnos: TStringList;
begin
AListaAnos := TStringList.Create;
ShowHourglassCursor;
try
with tbl_ListaAnosAlbaranes do
begin
Open;
First;
while not eof do
begin
AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString]));
Next;
end;
Close;
end;
Result := AListaAnos;
finally
HideHourglassCursor;
end;
end;
function TDataModuleAlbaranesCliente.GetEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary; function TDataModuleAlbaranesCliente.GetEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary;
begin begin
Result := (RORemoteService as IsrvAlbaranesCliente).GenerarInformeEtiquetas(AID, withRefCliente) Result := (RORemoteService as IsrvAlbaranesCliente).GenerarInformeEtiquetas(AID, withRefCliente)

View File

@ -3,11 +3,12 @@ unit uIDataModuleAlbaranesCliente;
interface interface
uses uses
uBizAlbaranesCliente; Classes, uBizAlbaranesCliente;
type type
IDataModuleAlbaranesCliente = interface IDataModuleAlbaranesCliente = interface
['{81932348-9595-45AC-AFC9-5A8983B4A3A8}'] ['{81932348-9595-45AC-AFC9-5A8983B4A3A8}']
function GetAnosItems : TStringList;
function GetItems: IBizAlbaranCliente; function GetItems: IBizAlbaranCliente;
function GetItem(const ID : Integer) : IBizAlbaranCliente; function GetItem(const ID : Integer) : IBizAlbaranCliente;
function NewItem : IBizAlbaranCliente; function NewItem : IBizAlbaranCliente;

View File

@ -9,13 +9,21 @@ const
{ Data table rules ids { Data table rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_AlbaranesCliente = '{5C4C05DF-4F36-42A3-99B4-DFB3A7AD89CA}'; RID_ListaAnosAlbaranes = '{247D0B91-C596-409D-96BB-E8EE86FC35BA}';
RID_AlbaranesCliente_Detalles = '{B01769A9-4634-4893-BB47-AEA3E26FCF82}'; RID_AlbaranesCliente = '{B4A7B6AB-D35C-43AF-8AE7-C59856BF0BD6}';
RID_AlbaranesCliente_Detalles = '{793305FD-EE30-43D1-8EA9-46DA228A0158}';
{ Data table names } { Data table names }
nme_ListaAnosAlbaranes = 'ListaAnosAlbaranes';
nme_AlbaranesCliente = 'AlbaranesCliente'; nme_AlbaranesCliente = 'AlbaranesCliente';
nme_AlbaranesCliente_Detalles = 'AlbaranesCliente_Detalles'; nme_AlbaranesCliente_Detalles = 'AlbaranesCliente_Detalles';
{ ListaAnosAlbaranes fields }
fld_ListaAnosAlbaranesANO = 'ANO';
{ ListaAnosAlbaranes field indexes }
idx_ListaAnosAlbaranesANO = 0;
{ AlbaranesCliente fields } { AlbaranesCliente fields }
fld_AlbaranesClienteID = 'ID'; fld_AlbaranesClienteID = 'ID';
fld_AlbaranesClienteID_EMPRESA = 'ID_EMPRESA'; fld_AlbaranesClienteID_EMPRESA = 'ID_EMPRESA';
@ -137,9 +145,44 @@ const
idx_AlbaranesCliente_DetallesREFERENCIA_PROVEEDOR = 13; idx_AlbaranesCliente_DetallesREFERENCIA_PROVEEDOR = 13;
type type
{ IListaAnosAlbaranes }
IListaAnosAlbaranes = interface(IDAStronglyTypedDataTable)
['{6DBFAC3F-A8AE-4700-BDF7-40B1A6A5BD14}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
function GetANOIsNull: Boolean;
procedure SetANOIsNull(const aValue: Boolean);
{ Properties }
property ANO: String read GetANOValue write SetANOValue;
property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull;
end;
{ TListaAnosAlbaranesDataTableRules }
TListaAnosAlbaranesDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosAlbaranes)
private
protected
{ Property getters and setters }
function GetANOValue: String; virtual;
procedure SetANOValue(const aValue: String); virtual;
function GetANOIsNull: Boolean; virtual;
procedure SetANOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ANO: String read GetANOValue write SetANOValue;
property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
{ IAlbaranesCliente } { IAlbaranesCliente }
IAlbaranesCliente = interface(IDAStronglyTypedDataTable) IAlbaranesCliente = interface(IDAStronglyTypedDataTable)
['{6AC3B22E-CE4C-4A1F-9373-B342F525C057}'] ['{D06A17AE-53EA-4AF3-B4A8-E962390A129D}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -666,7 +709,7 @@ type
{ IAlbaranesCliente_Detalles } { IAlbaranesCliente_Detalles }
IAlbaranesCliente_Detalles = interface(IDAStronglyTypedDataTable) IAlbaranesCliente_Detalles = interface(IDAStronglyTypedDataTable)
['{61E85E5C-B0EF-4350-A06D-5601DB03ADB2}'] ['{4BD53665-58C8-41D1-BD2A-89023DB2C62C}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -859,6 +902,39 @@ implementation
uses Variants, uROBinaryHelpers; uses Variants, uROBinaryHelpers;
{ TListaAnosAlbaranesDataTableRules }
constructor TListaAnosAlbaranesDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
end;
destructor TListaAnosAlbaranesDataTableRules.Destroy;
begin
inherited;
end;
function TListaAnosAlbaranesDataTableRules.GetANOValue: String;
begin
result := DataTable.Fields[idx_ListaAnosAlbaranesANO].AsString;
end;
procedure TListaAnosAlbaranesDataTableRules.SetANOValue(const aValue: String);
begin
DataTable.Fields[idx_ListaAnosAlbaranesANO].AsString := aValue;
end;
function TListaAnosAlbaranesDataTableRules.GetANOIsNull: boolean;
begin
result := DataTable.Fields[idx_ListaAnosAlbaranesANO].IsNull;
end;
procedure TListaAnosAlbaranesDataTableRules.SetANOIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_ListaAnosAlbaranesANO].AsVariant := Null;
end;
{ TAlbaranesClienteDataTableRules } { TAlbaranesClienteDataTableRules }
constructor TAlbaranesClienteDataTableRules.Create(aDataTable: TDADataTable); constructor TAlbaranesClienteDataTableRules.Create(aDataTable: TDADataTable);
var var
@ -2072,6 +2148,7 @@ end;
initialization initialization
RegisterDataTableRules(RID_ListaAnosAlbaranes, TListaAnosAlbaranesDataTableRules);
RegisterDataTableRules(RID_AlbaranesCliente, TAlbaranesClienteDataTableRules); RegisterDataTableRules(RID_AlbaranesCliente, TAlbaranesClienteDataTableRules);
RegisterDataTableRules(RID_AlbaranesCliente_Detalles, TAlbaranesCliente_DetallesDataTableRules); RegisterDataTableRules(RID_AlbaranesCliente_Detalles, TAlbaranesCliente_DetallesDataTableRules);

View File

@ -9,13 +9,48 @@ const
{ Delta rules ids { Delta rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_AlbaranesClienteDelta = '{07089145-5284-4338-A434-D04FD6D3C95E}'; RID_ListaAnosAlbaranesDelta = '{E3D4415E-CAFC-4013-9A38-57F328741AE1}';
RID_AlbaranesCliente_DetallesDelta = '{2B77EEBC-CEEE-4FED-A05D-8FBB11FAC5AA}'; RID_AlbaranesClienteDelta = '{4CBCD975-355D-4537-8C6D-498D05CC4FA8}';
RID_AlbaranesCliente_DetallesDelta = '{46AA67C6-8B12-4327-8659-A8A97DE36553}';
type type
{ IListaAnosAlbaranesDelta }
IListaAnosAlbaranesDelta = interface(IListaAnosAlbaranes)
['{E3D4415E-CAFC-4013-9A38-57F328741AE1}']
{ Property getters and setters }
function GetOldANOValue : String;
{ Properties }
property OldANO : String read GetOldANOValue;
end;
{ TListaAnosAlbaranesBusinessProcessorRules }
TListaAnosAlbaranesBusinessProcessorRules = class(TDABusinessProcessorRules, IListaAnosAlbaranes, IListaAnosAlbaranesDelta)
private
protected
{ Property getters and setters }
function GetANOValue: String; virtual;
function GetANOIsNull: Boolean; virtual;
function GetOldANOValue: String; virtual;
function GetOldANOIsNull: Boolean; virtual;
procedure SetANOValue(const aValue: String); virtual;
procedure SetANOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ANO : String read GetANOValue write SetANOValue;
property ANOIsNull : Boolean read GetANOIsNull write SetANOIsNull;
property OldANO : String read GetOldANOValue;
property OldANOIsNull : Boolean read GetOldANOIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
destructor Destroy; override;
end;
{ IAlbaranesClienteDelta } { IAlbaranesClienteDelta }
IAlbaranesClienteDelta = interface(IAlbaranesCliente) IAlbaranesClienteDelta = interface(IAlbaranesCliente)
['{07089145-5284-4338-A434-D04FD6D3C95E}'] ['{4CBCD975-355D-4537-8C6D-498D05CC4FA8}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer; function GetOldID_EMPRESAValue : Integer;
@ -543,7 +578,7 @@ type
{ IAlbaranesCliente_DetallesDelta } { IAlbaranesCliente_DetallesDelta }
IAlbaranesCliente_DetallesDelta = interface(IAlbaranesCliente_Detalles) IAlbaranesCliente_DetallesDelta = interface(IAlbaranesCliente_Detalles)
['{2B77EEBC-CEEE-4FED-A05D-8FBB11FAC5AA}'] ['{46AA67C6-8B12-4327-8659-A8A97DE36553}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_ALBARANValue : Integer; function GetOldID_ALBARANValue : Integer;
@ -736,6 +771,49 @@ implementation
uses uses
Variants, uROBinaryHelpers, uDAInterfaces; Variants, uROBinaryHelpers, uDAInterfaces;
{ TListaAnosAlbaranesBusinessProcessorRules }
constructor TListaAnosAlbaranesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
inherited;
end;
destructor TListaAnosAlbaranesBusinessProcessorRules.Destroy;
begin
inherited;
end;
function TListaAnosAlbaranesBusinessProcessorRules.GetANOValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosAlbaranesANO];
end;
function TListaAnosAlbaranesBusinessProcessorRules.GetANOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosAlbaranesANO]);
end;
function TListaAnosAlbaranesBusinessProcessorRules.GetOldANOValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosAlbaranesANO];
end;
function TListaAnosAlbaranesBusinessProcessorRules.GetOldANOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosAlbaranesANO]);
end;
procedure TListaAnosAlbaranesBusinessProcessorRules.SetANOValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosAlbaranesANO] := aValue;
end;
procedure TListaAnosAlbaranesBusinessProcessorRules.SetANOIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosAlbaranesANO] := Null;
end;
{ TAlbaranesClienteBusinessProcessorRules } { TAlbaranesClienteBusinessProcessorRules }
constructor TAlbaranesClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); constructor TAlbaranesClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
var var
@ -2511,6 +2589,7 @@ end;
initialization initialization
RegisterBusinessProcessorRules(RID_ListaAnosAlbaranesDelta, TListaAnosAlbaranesBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_AlbaranesClienteDelta, TAlbaranesClienteBusinessProcessorRules); RegisterBusinessProcessorRules(RID_AlbaranesClienteDelta, TAlbaranesClienteBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_AlbaranesCliente_DetallesDelta, TAlbaranesCliente_DetallesBusinessProcessorRules); RegisterBusinessProcessorRules(RID_AlbaranesCliente_DetallesDelta, TAlbaranesCliente_DetallesBusinessProcessorRules);

View File

@ -14,6 +14,33 @@ object srvAlbaranesCliente: TsrvAlbaranesCliente
ConnectionManager = dmServer.ConnectionManager ConnectionManager = dmServer.ConnectionManager
DataDictionary = DADataDictionary DataDictionary = DADataDictionary
Datasets = < Datasets = <
item
Params = <>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
Name = 'IBX'
SQL =
'select ANO from'#10'(select distinct(substr(FECHA_ALBARAN, 1,4)) as ' +
'ANO'#10'from albaranes_cliente'#10'order by 1 desc)'#10#10'UNION ALL'#10#10'select d' +
'istinct '#39'Todos'#39' as ANO'#10'from empresas'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ANO'
TableField = 'ANO'
end>
end>
Name = 'ListaAnosAlbaranes'
Fields = <
item
Name = 'ANO'
DataType = datString
Size = 255
end>
end
item item
Params = <> Params = <>
Statements = < Statements = <

View File

@ -2,7 +2,6 @@ inherited fEditorAlbaranesCliente: TfEditorAlbaranesCliente
Caption = 'Lista de albaranes de cliente' Caption = 'Lista de albaranes de cliente'
ClientWidth = 583 ClientWidth = 583
ExplicitWidth = 591 ExplicitWidth = 591
ExplicitHeight = 240
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader inherited JvNavPanelHeader: TJvNavPanelHeader
@ -129,12 +128,26 @@ inherited fEditorAlbaranesCliente: TfEditorAlbaranesCliente
object TBXSeparatorItem17: TTBXSeparatorItem [10] object TBXSeparatorItem17: TTBXSeparatorItem [10]
end end
end end
inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 431
inherited lblAno: TTBXLabelItem
Visible = True
end
inherited cbxListaAnos: TTBXComboBoxItem
Visible = True
end
inherited sepAno: TTBXSeparatorItem
Visible = True
end
end
inherited tbxMenu: TTBXToolbar inherited tbxMenu: TTBXToolbar
ExplicitWidth = 583 ExplicitWidth = 583
end end
inherited TBXTMain2: TTBXToolbar inherited TBXTMain2: TTBXToolbar
Left = 431
Visible = True Visible = True
ExplicitWidth = 246 ExplicitLeft = 431
ExplicitWidth = 152
object TBXItem42: TTBXItem object TBXItem42: TTBXItem
Action = actEnviar Action = actEnviar
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText

View File

@ -48,6 +48,7 @@ type
procedure actConfirmarRecepcionUpdate(Sender: TObject); procedure actConfirmarRecepcionUpdate(Sender: TObject);
procedure actGenerarEtiquetasExecute(Sender: TObject); procedure actGenerarEtiquetasExecute(Sender: TObject);
procedure actGenerarEtiquetasUpdate(Sender: TObject); procedure actGenerarEtiquetasUpdate(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
protected protected
FAlbaranes: IBizAlbaranCliente; FAlbaranes: IBizAlbaranCliente;
@ -65,6 +66,7 @@ type
procedure DuplicarInterno; override; procedure DuplicarInterno; override;
procedure ImprimirInterno; override; procedure ImprimirInterno; override;
procedure PrevisualizarInterno; override; procedure PrevisualizarInterno; override;
procedure RefrescarInterno; override;
//Si queremos crear otra vista para el editor heredado solo tendriamos que //Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este método //sobreescribir este método
@ -341,6 +343,8 @@ end;
procedure TfEditorAlbaranesCliente.FormShow(Sender: TObject); procedure TfEditorAlbaranesCliente.FormShow(Sender: TObject);
begin begin
cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED
inherited; inherited;
if not Assigned(ViewGrid) then if not Assigned(ViewGrid) then
@ -460,6 +464,13 @@ begin
} }
end; end;
procedure TfEditorAlbaranesCliente.OnListaAnosChange(Sender: TObject; const Text: string);
begin
Controller.FiltrarAno(Albaranes, DynWhereDataTable, Text);
if Albaranes.DataTable.Active then
RefrescarInterno;
end;
procedure TfEditorAlbaranesCliente.PonerTitulos(const ATitulo: string); procedure TfEditorAlbaranesCliente.PonerTitulos(const ATitulo: string);
var var
FTitulo : String; FTitulo : String;
@ -513,17 +524,37 @@ begin
end; end;
end; end;
procedure TfEditorAlbaranesCliente.RefrescarInterno;
begin
//Volvemos a cargar los años de las albaranes
if Assigned(FController) then
ListaAnos := FController.DarListaAnosAlbaranes;
inherited;
end;
procedure TfEditorAlbaranesCliente.SetController(const Value: IAlbaranesClienteController); procedure TfEditorAlbaranesCliente.SetController(const Value: IAlbaranesClienteController);
begin begin
FController := Value; FController := Value;
if Assigned(FController) then
ListaAnos := FController.DarListaAnosAlbaranes;
end; end;
procedure TfEditorAlbaranesCliente.SetAlbaranes(const Value: IBizAlbaranCliente); procedure TfEditorAlbaranesCliente.SetAlbaranes(const Value: IBizAlbaranCliente);
begin begin
FAlbaranes := Value; FAlbaranes := Value;
dsDataTable.DataTable := FAlbaranes.DataTable;
if Assigned(ViewGrid) then if Assigned(FAlbaranes) then
(ViewGrid as IViewAlbaranesCliente).Albaranes := Albaranes; begin
//Se guarda el where de la sentencia origen, por si el editor tiene filtros que
//afecten a este where y en un futuro se desea volver al where origen (filtro de año))
DynWhereDataTable := FAlbaranes.DataTable.DynamicWhere.Xml;
dsDataTable.DataTable := FAlbaranes.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewAlbaranesCliente).Albaranes := Albaranes;
end;
end; end;
end. end.

View File

@ -48,6 +48,9 @@ type
procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AFactura: IBizFacturaCliente); procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AFactura: IBizFacturaCliente);
procedure SetIgnorarContabilidad (AFactura: IBizFacturaCliente; const Ignorar: Integer); procedure SetIgnorarContabilidad (AFactura: IBizFacturaCliente; const Ignorar: Integer);
function DarListaAnosFacturas: TStringList;
procedure FiltrarAno(AFactura: IBizFacturaCliente; ADynWhereDataTable: WideString; const Ano: String);
end; end;
TFacturasClienteController = class(TControllerBase, IFacturasClienteController) TFacturasClienteController = class(TControllerBase, IFacturasClienteController)
@ -111,6 +114,9 @@ type
procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AFactura: IBizFacturaCliente); procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AFactura: IBizFacturaCliente);
procedure SetIgnorarContabilidad (AFactura: IBizFacturaCliente; const Ignorar: Integer); procedure SetIgnorarContabilidad (AFactura: IBizFacturaCliente; const Ignorar: Integer);
function DarListaAnosFacturas: TStringList;
procedure FiltrarAno(AFactura: IBizFacturaCliente; ADynWhereDataTable: WideString; const Ano: String);
end; end;
implementation implementation
@ -515,6 +521,11 @@ begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf); Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end; end;
function TFacturasClienteController.DarListaAnosFacturas: TStringList;
begin
Result := FDataModule.GetAnosItems;
end;
procedure TFacturasClienteController.DescartarCambios(AFactura: IBizFacturaCliente); procedure TFacturasClienteController.DescartarCambios(AFactura: IBizFacturaCliente);
begin begin
if not Assigned(AFactura) then if not Assigned(AFactura) then
@ -943,6 +954,35 @@ begin
Result := ASeleccionados; Result := ASeleccionados;
end; end;
procedure TFacturasClienteController.FiltrarAno(AFactura: IBizFacturaCliente; ADynWhereDataTable: WideString; const Ano: String);
var
Condicion: TDAWhereExpression;
FechaIni: String;
FechaFin: String;
begin
AFactura.DataTable.DynamicWhere.Clear;
AFactura.DataTable.DynamicWhere.Xml := ADynWhereDataTable;
if (Ano <> 'Todos') then
begin
// Filtrar las facturas actuales por empresa
FechaIni := '01/01/' + Ano;
FechaFin := '31/12/' + Ano;
with AFactura.DataTable.DynamicWhere do
begin
// (FECHA_INICIO between FECHA_FIN)
Condicion := NewBinaryExpression(NewField('', fld_FacturasClienteFECHA_FACTURA), NewConstant(FechaIni, datString), dboGreaterOrEqual);
Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_FacturasClienteFECHA_FACTURA), NewConstant(FechaFin, datString), dboLessOrEqual), Condicion, dboAnd);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Condicion, Expression, dboAnd);
end;
end;
end;
procedure TFacturasClienteController.FiltrarEmpresa(AFactura: IBizFacturaCliente); procedure TFacturasClienteController.FiltrarEmpresa(AFactura: IBizFacturaCliente);
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;

View File

@ -1,6 +1,6 @@
inherited DataModuleFacturasCliente: TDataModuleFacturasCliente inherited DataModuleFacturasCliente: TDataModuleFacturasCliente
OnCreate = DAClientDataModuleCreate OnCreate = DAClientDataModuleCreate
Height = 207 Height = 398
Width = 518 Width = 518
object RORemoteService: TRORemoteService object RORemoteService: TRORemoteService
Message = dmConexion.ROMessage Message = dmConexion.ROMessage
@ -419,4 +419,28 @@ inherited DataModuleFacturasCliente: TDataModuleFacturasCliente
Left = 400 Left = 400
Top = 40 Top = 40
end end
object tbl_ListaAnosFacturas: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ANO'
DataType = datString
Size = 255
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_FacturasCliente
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'ListaAnosFacturas'
IndexDefs = <>
Left = 232
Top = 232
end
object ds_ListaAnosFacturas: TDADataSource
DataSet = tbl_ListaAnosFacturas.Dataset
DataTable = tbl_ListaAnosFacturas
Left = 232
Top = 184
end
end end

View File

@ -21,10 +21,13 @@ type
ds_FacturasCliente: TDADataSource; ds_FacturasCliente: TDADataSource;
tbl_FacturasCliente_Detalles: TDAMemDataTable; tbl_FacturasCliente_Detalles: TDAMemDataTable;
ds_FacturasCliente_Detalles: TDADataSource; ds_FacturasCliente_Detalles: TDADataSource;
tbl_ListaAnosFacturas: TDAMemDataTable;
ds_ListaAnosFacturas: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject); procedure DAClientDataModuleCreate(Sender: TObject);
private private
function _GetDetalles : IBizDetallesFacturaCliente; function _GetDetalles : IBizDetallesFacturaCliente;
public public
function GetAnosItems : TStringList;
function GetItems : IBizFacturaCliente; function GetItems : IBizFacturaCliente;
function GetItem(const ID : Integer) : IBizFacturaCliente; function GetItem(const ID : Integer) : IBizFacturaCliente;
function NewItem : IBizFacturaCliente; function NewItem : IBizFacturaCliente;
@ -84,6 +87,30 @@ begin
end; end;
end; end;
function TDataModuleFacturasCliente.GetAnosItems: TStringList;
var
AListaAnos: TStringList;
begin
AListaAnos := TStringList.Create;
ShowHourglassCursor;
try
with tbl_ListaAnosFacturas do
begin
Open;
First;
while not eof do
begin
AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString]));
Next;
end;
Close;
end;
Result := AListaAnos;
finally
HideHourglassCursor;
end;
end;
function TDataModuleFacturasCliente.GetItem(const ID: Integer): IBizFacturaCliente; function TDataModuleFacturasCliente.GetItem(const ID: Integer): IBizFacturaCliente;
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;

View File

@ -9,6 +9,7 @@ uses
type type
IDataModuleFacturasCliente = interface IDataModuleFacturasCliente = interface
['{B0BDC388-E831-4946-B736-E817E3EA4B7C}'] ['{B0BDC388-E831-4946-B736-E817E3EA4B7C}']
function GetAnosItems : TStringList;
function GetItems: IBizFacturaCliente; function GetItems: IBizFacturaCliente;
function GetItem(const ID : Integer) : IBizFacturaCliente; function GetItem(const ID : Integer) : IBizFacturaCliente;
function NewItem : IBizFacturaCliente; function NewItem : IBizFacturaCliente;

View File

@ -9,13 +9,21 @@ const
{ Data table rules ids { Data table rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_FacturasCliente = '{02DBD50A-E80C-4275-BFEE-BF157514D41F}'; RID_ListaAnosFacturas = '{ED86AEEA-0208-4717-8C5F-35D6A69D96B5}';
RID_FacturasCliente_Detalles = '{642F747B-097F-4C29-B2A4-DCD4D2C33824}'; RID_FacturasCliente = '{06968EF9-A6E1-4260-AF23-37F7FEFC3258}';
RID_FacturasCliente_Detalles = '{2682A446-07E2-4D50-887C-8ED86B4F37A8}';
{ Data table names } { Data table names }
nme_ListaAnosFacturas = 'ListaAnosFacturas';
nme_FacturasCliente = 'FacturasCliente'; nme_FacturasCliente = 'FacturasCliente';
nme_FacturasCliente_Detalles = 'FacturasCliente_Detalles'; nme_FacturasCliente_Detalles = 'FacturasCliente_Detalles';
{ ListaAnosFacturas fields }
fld_ListaAnosFacturasANO = 'ANO';
{ ListaAnosFacturas field indexes }
idx_ListaAnosFacturasANO = 0;
{ FacturasCliente fields } { FacturasCliente fields }
fld_FacturasClienteID = 'ID'; fld_FacturasClienteID = 'ID';
fld_FacturasClienteID_EMPRESA = 'ID_EMPRESA'; fld_FacturasClienteID_EMPRESA = 'ID_EMPRESA';
@ -141,9 +149,44 @@ const
idx_FacturasCliente_DetallesREFERENCIA_PROVEEDOR = 13; idx_FacturasCliente_DetallesREFERENCIA_PROVEEDOR = 13;
type type
{ IListaAnosFacturas }
IListaAnosFacturas = interface(IDAStronglyTypedDataTable)
['{48D78840-7D54-4239-812B-7792548C4D9D}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
function GetANOIsNull: Boolean;
procedure SetANOIsNull(const aValue: Boolean);
{ Properties }
property ANO: String read GetANOValue write SetANOValue;
property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull;
end;
{ TListaAnosFacturasDataTableRules }
TListaAnosFacturasDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosFacturas)
private
protected
{ Property getters and setters }
function GetANOValue: String; virtual;
procedure SetANOValue(const aValue: String); virtual;
function GetANOIsNull: Boolean; virtual;
procedure SetANOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ANO: String read GetANOValue write SetANOValue;
property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
{ IFacturasCliente } { IFacturasCliente }
IFacturasCliente = interface(IDAStronglyTypedDataTable) IFacturasCliente = interface(IDAStronglyTypedDataTable)
['{6C1D0551-0751-4021-9476-820DA8DFDEC2}'] ['{118A499A-5BDB-4073-89CB-264C0E6D8B81}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -694,7 +737,7 @@ type
{ IFacturasCliente_Detalles } { IFacturasCliente_Detalles }
IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable) IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable)
['{010E516F-BB41-4392-8DDC-D0C2CE7144CF}'] ['{381C652C-E873-49CA-9961-CAD360ADB519}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -887,6 +930,39 @@ implementation
uses Variants, uROBinaryHelpers; uses Variants, uROBinaryHelpers;
{ TListaAnosFacturasDataTableRules }
constructor TListaAnosFacturasDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
end;
destructor TListaAnosFacturasDataTableRules.Destroy;
begin
inherited;
end;
function TListaAnosFacturasDataTableRules.GetANOValue: String;
begin
result := DataTable.Fields[idx_ListaAnosFacturasANO].AsString;
end;
procedure TListaAnosFacturasDataTableRules.SetANOValue(const aValue: String);
begin
DataTable.Fields[idx_ListaAnosFacturasANO].AsString := aValue;
end;
function TListaAnosFacturasDataTableRules.GetANOIsNull: boolean;
begin
result := DataTable.Fields[idx_ListaAnosFacturasANO].IsNull;
end;
procedure TListaAnosFacturasDataTableRules.SetANOIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_ListaAnosFacturasANO].AsVariant := Null;
end;
{ TFacturasClienteDataTableRules } { TFacturasClienteDataTableRules }
constructor TFacturasClienteDataTableRules.Create(aDataTable: TDADataTable); constructor TFacturasClienteDataTableRules.Create(aDataTable: TDADataTable);
var var
@ -2137,6 +2213,7 @@ end;
initialization initialization
RegisterDataTableRules(RID_ListaAnosFacturas, TListaAnosFacturasDataTableRules);
RegisterDataTableRules(RID_FacturasCliente, TFacturasClienteDataTableRules); RegisterDataTableRules(RID_FacturasCliente, TFacturasClienteDataTableRules);
RegisterDataTableRules(RID_FacturasCliente_Detalles, TFacturasCliente_DetallesDataTableRules); RegisterDataTableRules(RID_FacturasCliente_Detalles, TFacturasCliente_DetallesDataTableRules);

View File

@ -9,13 +9,48 @@ const
{ Delta rules ids { Delta rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_FacturasClienteDelta = '{77786E5C-76FA-4B31-A625-81EEDB4F0EF5}'; RID_ListaAnosFacturasDelta = '{1044511F-C860-4A20-B049-0B443D1D266B}';
RID_FacturasCliente_DetallesDelta = '{172DCD31-566D-43AD-B3BD-79D70B765BD3}'; RID_FacturasClienteDelta = '{6E43BA0F-875D-4641-BD3B-26C3971CD234}';
RID_FacturasCliente_DetallesDelta = '{48031B0F-EA4E-429B-8A5A-80AE04B47531}';
type type
{ IListaAnosFacturasDelta }
IListaAnosFacturasDelta = interface(IListaAnosFacturas)
['{1044511F-C860-4A20-B049-0B443D1D266B}']
{ Property getters and setters }
function GetOldANOValue : String;
{ Properties }
property OldANO : String read GetOldANOValue;
end;
{ TListaAnosFacturasBusinessProcessorRules }
TListaAnosFacturasBusinessProcessorRules = class(TDABusinessProcessorRules, IListaAnosFacturas, IListaAnosFacturasDelta)
private
protected
{ Property getters and setters }
function GetANOValue: String; virtual;
function GetANOIsNull: Boolean; virtual;
function GetOldANOValue: String; virtual;
function GetOldANOIsNull: Boolean; virtual;
procedure SetANOValue(const aValue: String); virtual;
procedure SetANOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ANO : String read GetANOValue write SetANOValue;
property ANOIsNull : Boolean read GetANOIsNull write SetANOIsNull;
property OldANO : String read GetOldANOValue;
property OldANOIsNull : Boolean read GetOldANOIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
destructor Destroy; override;
end;
{ IFacturasClienteDelta } { IFacturasClienteDelta }
IFacturasClienteDelta = interface(IFacturasCliente) IFacturasClienteDelta = interface(IFacturasCliente)
['{77786E5C-76FA-4B31-A625-81EEDB4F0EF5}'] ['{6E43BA0F-875D-4641-BD3B-26C3971CD234}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer; function GetOldID_EMPRESAValue : Integer;
@ -566,7 +601,7 @@ type
{ IFacturasCliente_DetallesDelta } { IFacturasCliente_DetallesDelta }
IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles) IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles)
['{172DCD31-566D-43AD-B3BD-79D70B765BD3}'] ['{48031B0F-EA4E-429B-8A5A-80AE04B47531}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_FACTURAValue : Integer; function GetOldID_FACTURAValue : Integer;
@ -759,6 +794,49 @@ implementation
uses uses
Variants, uROBinaryHelpers, uDAInterfaces; Variants, uROBinaryHelpers, uDAInterfaces;
{ TListaAnosFacturasBusinessProcessorRules }
constructor TListaAnosFacturasBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
inherited;
end;
destructor TListaAnosFacturasBusinessProcessorRules.Destroy;
begin
inherited;
end;
function TListaAnosFacturasBusinessProcessorRules.GetANOValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosFacturasANO];
end;
function TListaAnosFacturasBusinessProcessorRules.GetANOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosFacturasANO]);
end;
function TListaAnosFacturasBusinessProcessorRules.GetOldANOValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosFacturasANO];
end;
function TListaAnosFacturasBusinessProcessorRules.GetOldANOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosFacturasANO]);
end;
procedure TListaAnosFacturasBusinessProcessorRules.SetANOValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosFacturasANO] := aValue;
end;
procedure TListaAnosFacturasBusinessProcessorRules.SetANOIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosFacturasANO] := Null;
end;
{ TFacturasClienteBusinessProcessorRules } { TFacturasClienteBusinessProcessorRules }
constructor TFacturasClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); constructor TFacturasClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
var var
@ -2590,6 +2668,7 @@ end;
initialization initialization
RegisterBusinessProcessorRules(RID_ListaAnosFacturasDelta, TListaAnosFacturasBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_FacturasClienteDelta, TFacturasClienteBusinessProcessorRules); RegisterBusinessProcessorRules(RID_FacturasClienteDelta, TFacturasClienteBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_FacturasCliente_DetallesDelta, TFacturasCliente_DetallesBusinessProcessorRules); RegisterBusinessProcessorRules(RID_FacturasCliente_DetallesDelta, TFacturasCliente_DetallesBusinessProcessorRules);

View File

@ -251,7 +251,7 @@ var
begin begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
{
AStream := TMemoryStream.Create; AStream := TMemoryStream.Create;
try try
//Inicializamos parametros //Inicializamos parametros
@ -261,15 +261,19 @@ begin
// FFechaVenInicio := FechaVenInicio; // FFechaVenInicio := FechaVenInicio;
// FFechaVenFin := FechaVenFin; // FFechaVenFin := FechaVenFin;
FImporteMinimo := ImporteMinimo; FImporteMinimo := ImporteMinimo;
FDesglosado := Desglosado;
if Assigned(FListaIDClientes) then
FListaIDClientes.Free;
FListaIDClientes := ListaIDClientes; FListaIDClientes := ListaIDClientes;
//Se prepara la tabla del listado general del informe //Se prepara la tabla del listado general del informe
if tbl_InformeListadoFacturasPendientes.Active then if tbl_InformeListadoFacturas.Active then
tbl_InformeListadoFacturasPendientes.Active := False; tbl_InformeListadoFacturas.Active := False;
PrepararTablaInforme(tbl_InformeListadoFacturasPendientes); PrepararTablaInforme(tbl_InformeListadoFacturas);
// Filtrar el informe por situacion // Filtrar el informe por situacion
with tbl_InformeListadoFacturasPendientes.DynamicWhere do with tbl_InformeListadoFacturas.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);
@ -279,15 +283,32 @@ begin
Expression := NewBinaryExpression(Expression, Condicion, dboAnd); Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end; end;
//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);
// 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_InformeListadoFacturasResumen, TRUE, '', TRUE, TRUE);
//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 FDesglosado then if FDesglosado then
ATipoInforme := rptInformeListadoFactuasClientePendienteDesglosado ATipoInforme := rptInformeListadoFactuasClientePendienteDesglosado
else else
ATipoInforme := rptInformeListadoFactuasClientePendiente; ATipoInforme := rptInformeListadoFactuasClientePendiente;
//Finalmente se abren las tablas del informe //Finalmente se abren las tablas del informe
tbl_InformeListadoFacturasPendientes.Active := True; tbl_InformeListadoFacturas.Active := True;
tbl_InformeListadoFacturasResumen.Active := True;
Result := _GenerarInforme(ATipoInforme); Result := _GenerarInforme(ATipoInforme);
@ -296,7 +317,6 @@ begin
dsMaster := Nil; dsMaster := Nil;
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end; end;
}
end; end;
procedure TRptFacturasCliente.IniciarParametrosInforme; procedure TRptFacturasCliente.IniciarParametrosInforme;

View File

@ -15,6 +15,33 @@ object srvFacturasCliente: TsrvFacturasCliente
DataDictionary = DataDictionary DataDictionary = DataDictionary
Diagrams = Diagrams Diagrams = Diagrams
Datasets = < Datasets = <
item
Params = <>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
Name = 'IBX'
SQL =
'select ANO from'#10'(select distinct(substr(FECHA_FACTURA, 1,4)) as ' +
'ANO'#10'from facturas_cliente'#10'order by 1 desc)'#10#10'UNION ALL'#10#10'select di' +
'stinct '#39'Todos'#39' as ANO'#10'from empresas'#10#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ANO'
TableField = 'ANO'
end>
end>
Name = 'ListaAnosFacturas'
Fields = <
item
Name = 'ANO'
DataType = datString
Size = 255
end>
end
item item
Params = <> Params = <>
Statements = < Statements = <

View File

@ -57,11 +57,25 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Visible = False Visible = False
end end
end end
inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 431
inherited lblAno: TTBXLabelItem
Visible = True
end
inherited cbxListaAnos: TTBXComboBoxItem
Visible = True
end
inherited sepAno: TTBXSeparatorItem
Visible = True
end
end
inherited tbxMenu: TTBXToolbar inherited tbxMenu: TTBXToolbar
ExplicitWidth = 640 ExplicitWidth = 640
end end
inherited TBXTMain2: TTBXToolbar inherited TBXTMain2: TTBXToolbar
Left = 431
Visible = True Visible = True
ExplicitLeft = 431
ExplicitWidth = 83 ExplicitWidth = 83
object TBXItem40: TTBXItem object TBXItem40: TTBXItem
Action = actInformes Action = actInformes

View File

@ -40,6 +40,8 @@ type
procedure actNuevaFacturaExecute(Sender: TObject); procedure actNuevaFacturaExecute(Sender: TObject);
procedure actNuevoAbonoExecute(Sender: TObject); procedure actNuevoAbonoExecute(Sender: TObject);
procedure actInformesExecute(Sender: TObject); procedure actInformesExecute(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
private private
FFacturas: IBizFacturaCliente; FFacturas: IBizFacturaCliente;
FController : IFacturasClienteController; FController : IFacturasClienteController;
@ -49,12 +51,15 @@ type
function GetController : IFacturasClienteController; virtual; function GetController : IFacturasClienteController; virtual;
procedure SetController (const Value : IFacturasClienteController); virtual; procedure SetController (const Value : IFacturasClienteController); virtual;
procedure NuevoInterno; override; procedure NuevoInterno; override;
procedure EliminarInterno; override; procedure EliminarInterno; override;
procedure ModificarInterno; override; procedure ModificarInterno; override;
procedure DuplicarInterno; override; procedure DuplicarInterno; override;
procedure ImprimirInterno; override; procedure ImprimirInterno; override;
procedure PrevisualizarInterno; override; procedure PrevisualizarInterno; override;
procedure RefrescarInterno; override;
public public
procedure PonerTitulos(const ATitulo: string = ''); override; procedure PonerTitulos(const ATitulo: string = ''); override;
property Facturas: IBizFacturaCliente read GetFacturas write SetFacturas; property Facturas: IBizFacturaCliente read GetFacturas write SetFacturas;
@ -257,6 +262,8 @@ end;
procedure TfEditorFacturasCliente.FormShow(Sender: TObject); procedure TfEditorFacturasCliente.FormShow(Sender: TObject);
begin begin
cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED
inherited; inherited;
if not Assigned(ViewGrid) then if not Assigned(ViewGrid) then
@ -373,6 +380,13 @@ begin
end; end;
end; end;
procedure TfEditorFacturasCliente.OnListaAnosChange(Sender: TObject; const Text: string);
begin
Controller.FiltrarAno(Facturas, DynWhereDataTable, Text);
if Facturas.DataTable.Active then
RefrescarInterno;
end;
procedure TfEditorFacturasCliente.PonerTitulos(const ATitulo: string); procedure TfEditorFacturasCliente.PonerTitulos(const ATitulo: string);
var var
FTitulo : String; FTitulo : String;
@ -422,17 +436,37 @@ begin
end; end;
end; end;
procedure TfEditorFacturasCliente.RefrescarInterno;
begin
//Volvemos a cargar los años de las facturas
if Assigned(FController) then
ListaAnos := FController.DarListaAnosFacturas;
inherited;
end;
procedure TfEditorFacturasCliente.SetController(const Value: IFacturasClienteController); procedure TfEditorFacturasCliente.SetController(const Value: IFacturasClienteController);
begin begin
FController := Value; FController := Value;
if Assigned(FController) then
ListaAnos := FController.DarListaAnosFacturas;
end; end;
procedure TfEditorFacturasCliente.SetFacturas(const Value: IBizFacturaCliente); procedure TfEditorFacturasCliente.SetFacturas(const Value: IBizFacturaCliente);
begin begin
FFacturas := Value; FFacturas := Value;
dsDataTable.DataTable := FFacturas.DataTable;
if Assigned(ViewGrid) then if Assigned(FFacturas) then
(ViewGrid as IViewFacturasCliente).Facturas := Facturas; begin
//Se guarda el where de la sentencia origen, por si el editor tiene filtros que
//afecten a este where y en un futuro se desea volver al where origen (filtro de año))
DynWhereDataTable := FFacturas.DataTable.DynamicWhere.Xml;
dsDataTable.DataTable := FFacturas.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewFacturasCliente).Facturas := Facturas;
end;
end; end;
end. end.

View File

@ -49,6 +49,9 @@ type
procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AFactura: IBizFacturaProveedor); procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AFactura: IBizFacturaProveedor);
procedure SetIgnorarContabilidad (AFactura: IBizFacturaProveedor; const Ignorar: Integer); procedure SetIgnorarContabilidad (AFactura: IBizFacturaProveedor; const Ignorar: Integer);
function DarListaAnosFacturas: TStringList;
procedure FiltrarAno(AFactura: IBizFacturaProveedor; ADynWhereDataTable: WideString; const Ano: String);
end; end;
TFacturasProveedorController = class(TControllerBase, IFacturasProveedorController) TFacturasProveedorController = class(TControllerBase, IFacturasProveedorController)
@ -113,6 +116,9 @@ type
procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AFactura: IBizFacturaProveedor); procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AFactura: IBizFacturaProveedor);
procedure SetIgnorarContabilidad (AFactura: IBizFacturaProveedor; const Ignorar: Integer); procedure SetIgnorarContabilidad (AFactura: IBizFacturaProveedor; const Ignorar: Integer);
function DarListaAnosFacturas: TStringList;
procedure FiltrarAno(AFactura: IBizFacturaProveedor; ADynWhereDataTable: WideString; const Ano: String);
end; end;
implementation implementation
@ -557,6 +563,11 @@ begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf); Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end; end;
function TFacturasProveedorController.DarListaAnosFacturas: TStringList;
begin
Result := FDataModule.GetAnosItems;
end;
procedure TFacturasProveedorController.DescartarCambios(AFactura: IBizFacturaProveedor); procedure TFacturasProveedorController.DescartarCambios(AFactura: IBizFacturaProveedor);
begin begin
if not Assigned(AFactura) then if not Assigned(AFactura) then
@ -984,6 +995,35 @@ begin
Result := ASeleccionados; Result := ASeleccionados;
end; end;
procedure TFacturasProveedorController.FiltrarAno(AFactura: IBizFacturaProveedor; ADynWhereDataTable: WideString; const Ano: String);
var
Condicion: TDAWhereExpression;
FechaIni: String;
FechaFin: String;
begin
AFactura.DataTable.DynamicWhere.Clear;
AFactura.DataTable.DynamicWhere.Xml := ADynWhereDataTable;
if (Ano <> 'Todos') then
begin
// Filtrar las facturas actuales por empresa
FechaIni := '01/01/' + Ano;
FechaFin := '31/12/' + Ano;
with AFactura.DataTable.DynamicWhere do
begin
// (FECHA_INICIO between FECHA_FIN)
Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorFECHA_FACTURA), NewConstant(FechaIni, datString), dboGreaterOrEqual);
Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_FacturasProveedorFECHA_FACTURA), NewConstant(FechaFin, datString), dboLessOrEqual), Condicion, dboAnd);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Condicion, Expression, dboAnd);
end;
end;
end;
procedure TFacturasProveedorController.FiltrarEmpresa(AFactura: IBizFacturaProveedor); procedure TFacturasProveedorController.FiltrarEmpresa(AFactura: IBizFacturaProveedor);
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;

View File

@ -1,6 +1,6 @@
inherited DataModuleFacturasProveedor: TDataModuleFacturasProveedor inherited DataModuleFacturasProveedor: TDataModuleFacturasProveedor
OnCreate = DAClientDataModuleCreate OnCreate = DAClientDataModuleCreate
Height = 246 Height = 372
Width = 518 Width = 518
object RORemoteService: TRORemoteService object RORemoteService: TRORemoteService
Message = dmConexion.ROMessage Message = dmConexion.ROMessage
@ -406,4 +406,28 @@ inherited DataModuleFacturasProveedor: TDataModuleFacturasProveedor
Left = 368 Left = 368
Top = 104 Top = 104
end end
object tbl_ListaAnosFacturas: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ANO'
DataType = datString
Size = 255
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_FacturasProveedor
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'ListaAnosFacturas'
IndexDefs = <>
Left = 208
Top = 216
end
object ds_ListaAnosFacturas: TDADataSource
DataSet = tbl_ListaAnosFacturas.Dataset
DataTable = tbl_ListaAnosFacturas
Left = 208
Top = 168
end
end end

View File

@ -20,10 +20,13 @@ type
ds_FacturasProveedor: TDADataSource; ds_FacturasProveedor: TDADataSource;
tbl_FacturasProveedor_Detalles: TDAMemDataTable; tbl_FacturasProveedor_Detalles: TDAMemDataTable;
ds_FacturasProveedor_Detalles: TDADataSource; ds_FacturasProveedor_Detalles: TDADataSource;
tbl_ListaAnosFacturas: TDAMemDataTable;
ds_ListaAnosFacturas: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject); procedure DAClientDataModuleCreate(Sender: TObject);
private private
function _GetDetalles : IBizDetallesFacturaProveedor; function _GetDetalles : IBizDetallesFacturaProveedor;
public public
function GetAnosItems : TStringList;
function GetItems : IBizFacturaProveedor; function GetItems : IBizFacturaProveedor;
function GetItem(const ID : Integer) : IBizFacturaProveedor; function GetItem(const ID : Integer) : IBizFacturaProveedor;
function NewItem : IBizFacturaProveedor; function NewItem : IBizFacturaProveedor;
@ -76,6 +79,30 @@ begin
end; end;
end; end;
function TDataModuleFacturasProveedor.GetAnosItems: TStringList;
var
AListaAnos: TStringList;
begin
AListaAnos := TStringList.Create;
ShowHourglassCursor;
try
with tbl_ListaAnosFacturas do
begin
Open;
First;
while not eof do
begin
AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString]));
Next;
end;
Close;
end;
Result := AListaAnos;
finally
HideHourglassCursor;
end;
end;
function TDataModuleFacturasProveedor.GetItem(const ID: Integer): IBizFacturaProveedor; function TDataModuleFacturasProveedor.GetItem(const ID: Integer): IBizFacturaProveedor;
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;

View File

@ -18,10 +18,6 @@
<Projects Include="..\Contactos\Data\Contactos_data.dproj" /> <Projects Include="..\Contactos\Data\Contactos_data.dproj" />
<Projects Include="..\Contactos\Model\Contactos_model.dproj" /> <Projects Include="..\Contactos\Model\Contactos_model.dproj" />
<Projects Include="..\Contactos\Views\Contactos_view.dproj" /> <Projects Include="..\Contactos\Views\Contactos_view.dproj" />
<Projects Include="..\Facturas de cliente\Controller\FacturasCliente_controller.dproj" />
<Projects Include="..\Facturas de cliente\Data\FacturasCliente_data.dproj" />
<Projects Include="..\Facturas de cliente\Model\FacturasCliente_model.dproj" />
<Projects Include="..\Facturas de cliente\Views\FacturasCliente_view.dproj" />
<Projects Include="..\Pedidos a proveedor\Controller\PedidosProveedor_controller.dproj" /> <Projects Include="..\Pedidos a proveedor\Controller\PedidosProveedor_controller.dproj" />
<Projects Include="..\Recibos de proveedor\Controller\RecibosProveedor_controller.dproj" /> <Projects Include="..\Recibos de proveedor\Controller\RecibosProveedor_controller.dproj" />
<Projects Include="Controller\FacturasProveedor_controller.dproj" /> <Projects Include="Controller\FacturasProveedor_controller.dproj" />
@ -225,50 +221,14 @@
<Target Name="Contactos_data:Make"> <Target Name="Contactos_data:Make">
<MSBuild Projects="..\Contactos\Data\Contactos_data.dproj" Targets="Make" /> <MSBuild Projects="..\Contactos\Data\Contactos_data.dproj" Targets="Make" />
</Target> </Target>
<Target Name="FacturasCliente_model">
<MSBuild Projects="..\Facturas de cliente\Model\FacturasCliente_model.dproj" Targets="" />
</Target>
<Target Name="FacturasCliente_model:Clean">
<MSBuild Projects="..\Facturas de cliente\Model\FacturasCliente_model.dproj" Targets="Clean" />
</Target>
<Target Name="FacturasCliente_model:Make">
<MSBuild Projects="..\Facturas de cliente\Model\FacturasCliente_model.dproj" Targets="Make" />
</Target>
<Target Name="FacturasCliente_data">
<MSBuild Projects="..\Facturas de cliente\Data\FacturasCliente_data.dproj" Targets="" />
</Target>
<Target Name="FacturasCliente_data:Clean">
<MSBuild Projects="..\Facturas de cliente\Data\FacturasCliente_data.dproj" Targets="Clean" />
</Target>
<Target Name="FacturasCliente_data:Make">
<MSBuild Projects="..\Facturas de cliente\Data\FacturasCliente_data.dproj" Targets="Make" />
</Target>
<Target Name="FacturasCliente_controller">
<MSBuild Projects="..\Facturas de cliente\Controller\FacturasCliente_controller.dproj" Targets="" />
</Target>
<Target Name="FacturasCliente_controller:Clean">
<MSBuild Projects="..\Facturas de cliente\Controller\FacturasCliente_controller.dproj" Targets="Clean" />
</Target>
<Target Name="FacturasCliente_controller:Make">
<MSBuild Projects="..\Facturas de cliente\Controller\FacturasCliente_controller.dproj" Targets="Make" />
</Target>
<Target Name="FacturasCliente_view">
<MSBuild Projects="..\Facturas de cliente\Views\FacturasCliente_view.dproj" Targets="" />
</Target>
<Target Name="FacturasCliente_view:Clean">
<MSBuild Projects="..\Facturas de cliente\Views\FacturasCliente_view.dproj" Targets="Clean" />
</Target>
<Target Name="FacturasCliente_view:Make">
<MSBuild Projects="..\Facturas de cliente\Views\FacturasCliente_view.dproj" Targets="Make" />
</Target>
<Target Name="Build"> <Target Name="Build">
<CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_view;Articulos_controller;Articulos_view;PedidosProveedor_controller;AlbaranesProveedor_controller;RecibosProveedor_controller;FacturasProveedor_model;FacturasProveedor_data;FacturasProveedor_controller;FacturasProveedor_view;FacturasProveedor_plugin;FactuGES;FactuGES_Server;Contabilidad_view;Contabilidad_controller;Contactos_model;Contactos_controller;Contactos_data;FacturasCliente_model;FacturasCliente_data;FacturasCliente_controller;FacturasCliente_view" /> <CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_view;Articulos_controller;Articulos_view;PedidosProveedor_controller;AlbaranesProveedor_controller;RecibosProveedor_controller;FacturasProveedor_model;FacturasProveedor_data;FacturasProveedor_controller;FacturasProveedor_view;FacturasProveedor_plugin;FactuGES;FactuGES_Server;Contabilidad_view;Contabilidad_controller;Contactos_model;Contactos_controller;Contactos_data" />
</Target> </Target>
<Target Name="Clean"> <Target Name="Clean">
<CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_view:Clean;Articulos_controller:Clean;Articulos_view:Clean;PedidosProveedor_controller:Clean;AlbaranesProveedor_controller:Clean;RecibosProveedor_controller:Clean;FacturasProveedor_model:Clean;FacturasProveedor_data:Clean;FacturasProveedor_controller:Clean;FacturasProveedor_view:Clean;FacturasProveedor_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean;Contabilidad_view:Clean;Contabilidad_controller:Clean;Contactos_model:Clean;Contactos_controller:Clean;Contactos_data:Clean;FacturasCliente_model:Clean;FacturasCliente_data:Clean;FacturasCliente_controller:Clean;FacturasCliente_view:Clean" /> <CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_view:Clean;Articulos_controller:Clean;Articulos_view:Clean;PedidosProveedor_controller:Clean;AlbaranesProveedor_controller:Clean;RecibosProveedor_controller:Clean;FacturasProveedor_model:Clean;FacturasProveedor_data:Clean;FacturasProveedor_controller:Clean;FacturasProveedor_view:Clean;FacturasProveedor_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean;Contabilidad_view:Clean;Contabilidad_controller:Clean;Contactos_model:Clean;Contactos_controller:Clean;Contactos_data:Clean" />
</Target> </Target>
<Target Name="Make"> <Target Name="Make">
<CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_view:Make;Articulos_controller:Make;Articulos_view:Make;PedidosProveedor_controller:Make;AlbaranesProveedor_controller:Make;RecibosProveedor_controller:Make;FacturasProveedor_model:Make;FacturasProveedor_data:Make;FacturasProveedor_controller:Make;FacturasProveedor_view:Make;FacturasProveedor_plugin:Make;FactuGES:Make;FactuGES_Server:Make;Contabilidad_view:Make;Contabilidad_controller:Make;Contactos_model:Make;Contactos_controller:Make;Contactos_data:Make;FacturasCliente_model:Make;FacturasCliente_data:Make;FacturasCliente_controller:Make;FacturasCliente_view:Make" /> <CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_view:Make;Articulos_controller:Make;Articulos_view:Make;PedidosProveedor_controller:Make;AlbaranesProveedor_controller:Make;RecibosProveedor_controller:Make;FacturasProveedor_model:Make;FacturasProveedor_data:Make;FacturasProveedor_controller:Make;FacturasProveedor_view:Make;FacturasProveedor_plugin:Make;FactuGES:Make;FactuGES_Server:Make;Contabilidad_view:Make;Contabilidad_controller:Make;Contactos_model:Make;Contactos_controller:Make;Contactos_data:Make" />
</Target> </Target>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" /> <Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project> </Project>

View File

@ -9,6 +9,7 @@ uses
type type
IDataModuleFacturasProveedor = interface IDataModuleFacturasProveedor = interface
['{FD0F5B2F-5556-4031-86F0-EFF96805FD66}'] ['{FD0F5B2F-5556-4031-86F0-EFF96805FD66}']
function GetAnosItems : TStringList;
function GetItems: IBizFacturaProveedor; function GetItems: IBizFacturaProveedor;
function GetItem(const ID : Integer) : IBizFacturaProveedor; function GetItem(const ID : Integer) : IBizFacturaProveedor;
function NewItem : IBizFacturaProveedor; function NewItem : IBizFacturaProveedor;

View File

@ -9,13 +9,21 @@ const
{ Data table rules ids { Data table rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_FacturasProveedor = '{65925C03-CA37-4D4C-A571-E55853C26BA9}'; RID_ListaAnosFacturas = '{9E91F819-43C2-41C2-9676-F03332208B2C}';
RID_FacturasProveedor_Detalles = '{10E36F34-C565-4C28-B800-2E679843DCED}'; RID_FacturasProveedor = '{5C533F5E-8FCD-4317-9D2E-F1F0E33A34A9}';
RID_FacturasProveedor_Detalles = '{8BF1D455-8054-4877-BB76-B513DC0D5013}';
{ Data table names } { Data table names }
nme_ListaAnosFacturas = 'ListaAnosFacturas';
nme_FacturasProveedor = 'FacturasProveedor'; nme_FacturasProveedor = 'FacturasProveedor';
nme_FacturasProveedor_Detalles = 'FacturasProveedor_Detalles'; nme_FacturasProveedor_Detalles = 'FacturasProveedor_Detalles';
{ ListaAnosFacturas fields }
fld_ListaAnosFacturasANO = 'ANO';
{ ListaAnosFacturas field indexes }
idx_ListaAnosFacturasANO = 0;
{ FacturasProveedor fields } { FacturasProveedor fields }
fld_FacturasProveedorID = 'ID'; fld_FacturasProveedorID = 'ID';
fld_FacturasProveedorID_EMPRESA = 'ID_EMPRESA'; fld_FacturasProveedorID_EMPRESA = 'ID_EMPRESA';
@ -137,9 +145,44 @@ const
idx_FacturasProveedor_DetallesREFERENCIA_PROVEEDOR = 13; idx_FacturasProveedor_DetallesREFERENCIA_PROVEEDOR = 13;
type type
{ IListaAnosFacturas }
IListaAnosFacturas = interface(IDAStronglyTypedDataTable)
['{48A9B6D2-E50C-49BA-9A65-83DC0A717606}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
function GetANOIsNull: Boolean;
procedure SetANOIsNull(const aValue: Boolean);
{ Properties }
property ANO: String read GetANOValue write SetANOValue;
property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull;
end;
{ TListaAnosFacturasDataTableRules }
TListaAnosFacturasDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosFacturas)
private
protected
{ Property getters and setters }
function GetANOValue: String; virtual;
procedure SetANOValue(const aValue: String); virtual;
function GetANOIsNull: Boolean; virtual;
procedure SetANOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ANO: String read GetANOValue write SetANOValue;
property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
{ IFacturasProveedor } { IFacturasProveedor }
IFacturasProveedor = interface(IDAStronglyTypedDataTable) IFacturasProveedor = interface(IDAStronglyTypedDataTable)
['{F2F30017-EDDC-4294-8A13-93D1B4D70D0C}'] ['{2A13A3FA-6FBB-4E2B-A5B9-52470DCAF0E6}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -666,7 +709,7 @@ type
{ IFacturasProveedor_Detalles } { IFacturasProveedor_Detalles }
IFacturasProveedor_Detalles = interface(IDAStronglyTypedDataTable) IFacturasProveedor_Detalles = interface(IDAStronglyTypedDataTable)
['{FB8F2FD1-E2A2-42EE-8027-9B399F363BB6}'] ['{36E09C88-81CA-409B-BEA3-5BEFD098DF61}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -859,6 +902,39 @@ implementation
uses Variants, uROBinaryHelpers; uses Variants, uROBinaryHelpers;
{ TListaAnosFacturasDataTableRules }
constructor TListaAnosFacturasDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
end;
destructor TListaAnosFacturasDataTableRules.Destroy;
begin
inherited;
end;
function TListaAnosFacturasDataTableRules.GetANOValue: String;
begin
result := DataTable.Fields[idx_ListaAnosFacturasANO].AsString;
end;
procedure TListaAnosFacturasDataTableRules.SetANOValue(const aValue: String);
begin
DataTable.Fields[idx_ListaAnosFacturasANO].AsString := aValue;
end;
function TListaAnosFacturasDataTableRules.GetANOIsNull: boolean;
begin
result := DataTable.Fields[idx_ListaAnosFacturasANO].IsNull;
end;
procedure TListaAnosFacturasDataTableRules.SetANOIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_ListaAnosFacturasANO].AsVariant := Null;
end;
{ TFacturasProveedorDataTableRules } { TFacturasProveedorDataTableRules }
constructor TFacturasProveedorDataTableRules.Create(aDataTable: TDADataTable); constructor TFacturasProveedorDataTableRules.Create(aDataTable: TDADataTable);
var var
@ -2067,6 +2143,7 @@ end;
initialization initialization
RegisterDataTableRules(RID_ListaAnosFacturas, TListaAnosFacturasDataTableRules);
RegisterDataTableRules(RID_FacturasProveedor, TFacturasProveedorDataTableRules); RegisterDataTableRules(RID_FacturasProveedor, TFacturasProveedorDataTableRules);
RegisterDataTableRules(RID_FacturasProveedor_Detalles, TFacturasProveedor_DetallesDataTableRules); RegisterDataTableRules(RID_FacturasProveedor_Detalles, TFacturasProveedor_DetallesDataTableRules);

View File

@ -9,13 +9,48 @@ const
{ Delta rules ids { Delta rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_FacturasProveedorDelta = '{8A815C19-322F-46C9-BAD5-3A2696BF133E}'; RID_ListaAnosFacturasDelta = '{09861C81-9AF3-4E90-BF83-37A720C86F50}';
RID_FacturasProveedor_DetallesDelta = '{49E22119-767F-4CB5-A74E-87923CDA4BD6}'; RID_FacturasProveedorDelta = '{2E0BD84E-DC1F-4FCC-A4B6-7B966E4EC2C1}';
RID_FacturasProveedor_DetallesDelta = '{850D863A-48C3-46C3-9CB1-B8F0A110870A}';
type type
{ IListaAnosFacturasDelta }
IListaAnosFacturasDelta = interface(IListaAnosFacturas)
['{09861C81-9AF3-4E90-BF83-37A720C86F50}']
{ Property getters and setters }
function GetOldANOValue : String;
{ Properties }
property OldANO : String read GetOldANOValue;
end;
{ TListaAnosFacturasBusinessProcessorRules }
TListaAnosFacturasBusinessProcessorRules = class(TDABusinessProcessorRules, IListaAnosFacturas, IListaAnosFacturasDelta)
private
protected
{ Property getters and setters }
function GetANOValue: String; virtual;
function GetANOIsNull: Boolean; virtual;
function GetOldANOValue: String; virtual;
function GetOldANOIsNull: Boolean; virtual;
procedure SetANOValue(const aValue: String); virtual;
procedure SetANOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ANO : String read GetANOValue write SetANOValue;
property ANOIsNull : Boolean read GetANOIsNull write SetANOIsNull;
property OldANO : String read GetOldANOValue;
property OldANOIsNull : Boolean read GetOldANOIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
destructor Destroy; override;
end;
{ IFacturasProveedorDelta } { IFacturasProveedorDelta }
IFacturasProveedorDelta = interface(IFacturasProveedor) IFacturasProveedorDelta = interface(IFacturasProveedor)
['{8A815C19-322F-46C9-BAD5-3A2696BF133E}'] ['{2E0BD84E-DC1F-4FCC-A4B6-7B966E4EC2C1}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer; function GetOldID_EMPRESAValue : Integer;
@ -542,7 +577,7 @@ type
{ IFacturasProveedor_DetallesDelta } { IFacturasProveedor_DetallesDelta }
IFacturasProveedor_DetallesDelta = interface(IFacturasProveedor_Detalles) IFacturasProveedor_DetallesDelta = interface(IFacturasProveedor_Detalles)
['{49E22119-767F-4CB5-A74E-87923CDA4BD6}'] ['{850D863A-48C3-46C3-9CB1-B8F0A110870A}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_FACTURAValue : Integer; function GetOldID_FACTURAValue : Integer;
@ -735,6 +770,49 @@ implementation
uses uses
Variants, uROBinaryHelpers, uDAInterfaces; Variants, uROBinaryHelpers, uDAInterfaces;
{ TListaAnosFacturasBusinessProcessorRules }
constructor TListaAnosFacturasBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
inherited;
end;
destructor TListaAnosFacturasBusinessProcessorRules.Destroy;
begin
inherited;
end;
function TListaAnosFacturasBusinessProcessorRules.GetANOValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosFacturasANO];
end;
function TListaAnosFacturasBusinessProcessorRules.GetANOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosFacturasANO]);
end;
function TListaAnosFacturasBusinessProcessorRules.GetOldANOValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosFacturasANO];
end;
function TListaAnosFacturasBusinessProcessorRules.GetOldANOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosFacturasANO]);
end;
procedure TListaAnosFacturasBusinessProcessorRules.SetANOValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosFacturasANO] := aValue;
end;
procedure TListaAnosFacturasBusinessProcessorRules.SetANOIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosFacturasANO] := Null;
end;
{ TFacturasProveedorBusinessProcessorRules } { TFacturasProveedorBusinessProcessorRules }
constructor TFacturasProveedorBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); constructor TFacturasProveedorBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
var var
@ -2504,6 +2582,7 @@ end;
initialization initialization
RegisterBusinessProcessorRules(RID_ListaAnosFacturasDelta, TListaAnosFacturasBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_FacturasProveedorDelta, TFacturasProveedorBusinessProcessorRules); RegisterBusinessProcessorRules(RID_FacturasProveedorDelta, TFacturasProveedorBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_FacturasProveedor_DetallesDelta, TFacturasProveedor_DetallesBusinessProcessorRules); RegisterBusinessProcessorRules(RID_FacturasProveedor_DetallesDelta, TFacturasProveedor_DetallesBusinessProcessorRules);

View File

@ -73,7 +73,6 @@ const
rptInformeListadoFactuasProveedorPendiente = 'InformeListadoFacturasProveedorPendientes.fr3'; rptInformeListadoFactuasProveedorPendiente = 'InformeListadoFacturasProveedorPendientes.fr3';
rptInformeListadoFactuasProveedorPendienteDesglosado = 'InformeListadoFacturasProveedorPendientesDesglosado.fr3'; rptInformeListadoFactuasProveedorPendienteDesglosado = 'InformeListadoFacturasProveedorPendientesDesglosado.fr3';
ds_InformeListadoFacturasResumen = 'ListadoFacturasProveedorResumen'; ds_InformeListadoFacturasResumen = 'ListadoFacturasProveedorResumen';
ds_InformeListadoFacturasPendientesResumen = 'InformeListadoFacturasPendientesResumen';
{ TRptFacturasProveedor } { TRptFacturasProveedor }
@ -237,7 +236,7 @@ var
begin begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
{
AStream := TMemoryStream.Create; AStream := TMemoryStream.Create;
try try
//Inicializamos parametros //Inicializamos parametros
@ -255,13 +254,13 @@ begin
//Se prepara la tabla del listado general del informe //Se prepara la tabla del listado general del informe
{ if tbl_InformeListadoFacturasPendientes.Active then if tbl_InformeListadoFacturas.Active then
tbl_InformeListadoFacturasPendientes.Active := False; tbl_InformeListadoFacturas.Active := False;
PrepararTablaInforme(tbl_InformeListadoFacturasPendientes); PrepararTablaInforme(tbl_InformeListadoFacturas);
// Filtrar el informe por situacion // Filtrar el informe por situacion
with tbl_InformeListadoFacturasPendientes.DynamicWhere do with tbl_InformeListadoFacturas.DynamicWhere do
begin begin
// (SITUACION >= PAGADA) // (SITUACION >= PAGADA)
Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorSITUACION), NewConstant('PAGADA', datString), dboNotEqual); Condicion := NewBinaryExpression(NewField('', fld_FacturasProveedorSITUACION), NewConstant('PAGADA', datString), dboNotEqual);
@ -272,10 +271,10 @@ begin
end; end;
//Se prepara la tabla del listado resumen del informe //Se prepara la tabla del listado resumen del informe
if tbl_InformeListadoFacturasPendResumen.Active then if tbl_InformeListadoFacturasResumen.Active then
tbl_InformeListadoFacturasPendResumen.Active := False; tbl_InformeListadoFacturasResumen.Active := False;
dsMaster := schReport.NewDataset(FConnection, ds_InformeListadoFacturasPendientesResumen, [], [], False); dsMaster := schReport.NewDataset(FConnection, ds_InformeListadoFacturasResumen, [], [], False);
PrepararTablaResumenInforme(dsMaster); PrepararTablaResumenInforme(dsMaster);
// Filtrar el informe por situacion // Filtrar el informe por situacion
@ -285,7 +284,7 @@ begin
dsMaster.Open; dsMaster.Open;
AStream.Clear; AStream.Clear;
Bin2DataStreamer.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1); Bin2DataStreamer.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
Bin2DataStreamer.ReadDataset(AStream, tbl_InformeListadoFacturasPendResumen, TRUE, '', TRUE, TRUE); Bin2DataStreamer.ReadDataset(AStream, tbl_InformeListadoFacturasResumen, TRUE, '', TRUE, TRUE);
//DESGLOSADO POR PROVEEDOR EN ESTE INFORME //DESGLOSADO POR PROVEEDOR EN ESTE INFORME
if FDesglosado then if FDesglosado then
@ -294,8 +293,8 @@ begin
ATipoInforme := rptInformeListadoFactuasProveedorPendiente; ATipoInforme := rptInformeListadoFactuasProveedorPendiente;
//Finalmente se abren las tablas del informe //Finalmente se abren las tablas del informe
tbl_InformeListadoFacturasPendientes.Active := True; tbl_InformeListadoFacturas.Active := True;
tbl_InformeListadoFacturasPendResumen.Active := True; tbl_InformeListadoFacturasResumen.Active := True;
Result := _GenerarInforme(ATipoInforme); Result := _GenerarInforme(ATipoInforme);
finally finally
@ -303,7 +302,6 @@ begin
dsMaster := Nil; dsMaster := Nil;
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end; end;
}
end; end;
procedure TRptFacturasProveedor.IniciarParametrosInforme; procedure TRptFacturasProveedor.IniciarParametrosInforme;

View File

@ -15,6 +15,33 @@ object srvFacturasProveedor: TsrvFacturasProveedor
DataDictionary = DataDictionary DataDictionary = DataDictionary
Diagrams = Diagrams Diagrams = Diagrams
Datasets = < Datasets = <
item
Params = <>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
Name = 'IBX'
SQL =
'select ANO from'#10'(select distinct(substr(FECHA_FACTURA, 1,4)) as ' +
'ANO'#10'from facturas_proveedor'#10'order by 1 desc)'#10#10'UNION ALL'#10#10'select ' +
'distinct '#39'Todos'#39' as ANO'#10'from empresas'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ANO'
TableField = 'ANO'
end>
end>
Name = 'ListaAnosFacturas'
Fields = <
item
Name = 'ANO'
DataType = datString
Size = 255
end>
end
item item
Params = <> Params = <>
Statements = < Statements = <

View File

@ -58,11 +58,26 @@ inherited fEditorFacturasProveedor: TfEditorFacturasProveedor
Visible = False Visible = False
end end
end end
inherited tbxFiltro: TTBXToolbar
DockPos = -6
ExplicitWidth = 431
inherited lblAno: TTBXLabelItem
Visible = True
end
inherited cbxListaAnos: TTBXComboBoxItem
Visible = True
end
inherited sepAno: TTBXSeparatorItem
Visible = True
end
end
inherited tbxMenu: TTBXToolbar inherited tbxMenu: TTBXToolbar
ExplicitWidth = 640 ExplicitWidth = 640
end end
inherited TBXTMain2: TTBXToolbar inherited TBXTMain2: TTBXToolbar
Left = 431
Visible = True Visible = True
ExplicitLeft = 431
ExplicitWidth = 83 ExplicitWidth = 83
object TBXItem40: TTBXItem object TBXItem40: TTBXItem
Action = actInformes Action = actInformes

View File

@ -39,21 +39,27 @@ type
procedure actNuevaFacturaExecute(Sender: TObject); procedure actNuevaFacturaExecute(Sender: TObject);
procedure actNuevoAbonoExecute(Sender: TObject); procedure actNuevoAbonoExecute(Sender: TObject);
procedure actInformesExecute(Sender: TObject); procedure actInformesExecute(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
private private
FFacturas: IBizFacturaProveedor; FFacturas: IBizFacturaProveedor;
FController : IFacturasProveedorController; FController : IFacturasProveedorController;
protected protected
function GetFacturas: IBizFacturaProveedor; function GetFacturas: IBizFacturaProveedor;
procedure SetFacturas(const Value: IBizFacturaProveedor); procedure SetFacturas(const Value: IBizFacturaProveedor);
function GetController : IFacturasProveedorController; virtual; function GetController : IFacturasProveedorController; virtual;
procedure SetController (const Value : IFacturasProveedorController); virtual; procedure SetController (const Value : IFacturasProveedorController); virtual;
procedure NuevoInterno; override; procedure NuevoInterno; override;
procedure EliminarInterno; override; procedure EliminarInterno; override;
procedure ModificarInterno; override; procedure ModificarInterno; override;
procedure DuplicarInterno; override; procedure DuplicarInterno; override;
procedure ImprimirInterno; override; procedure ImprimirInterno; override;
procedure PrevisualizarInterno; override; procedure PrevisualizarInterno; override;
procedure RefrescarInterno; override;
public public
procedure PonerTitulos(const ATitulo: string = ''); override; procedure PonerTitulos(const ATitulo: string = ''); override;
property Facturas: IBizFacturaProveedor read GetFacturas write SetFacturas; property Facturas: IBizFacturaProveedor read GetFacturas write SetFacturas;
@ -262,6 +268,8 @@ end;
procedure TfEditorFacturasProveedor.FormShow(Sender: TObject); procedure TfEditorFacturasProveedor.FormShow(Sender: TObject);
begin begin
cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED
inherited; inherited;
if not Assigned(ViewGrid) then if not Assigned(ViewGrid) then
@ -348,6 +356,13 @@ begin
FController.Ver(Facturas); FController.Ver(Facturas);
end; end;
procedure TfEditorFacturasProveedor.OnListaAnosChange(Sender: TObject; const Text: string);
begin
Controller.FiltrarAno(Facturas, DynWhereDataTable, Text);
if Facturas.DataTable.Active then
RefrescarInterno;
end;
procedure TfEditorFacturasProveedor.PonerTitulos(const ATitulo: string); procedure TfEditorFacturasProveedor.PonerTitulos(const ATitulo: string);
var var
FTitulo : String; FTitulo : String;
@ -405,17 +420,37 @@ inherited;
} }
end; end;
procedure TfEditorFacturasProveedor.RefrescarInterno;
begin
//Volvemos a cargar los años de las facturas
if Assigned(FController) then
ListaAnos := FController.DarListaAnosFacturas;
inherited;
end;
procedure TfEditorFacturasProveedor.SetController(const Value: IFacturasProveedorController); procedure TfEditorFacturasProveedor.SetController(const Value: IFacturasProveedorController);
begin begin
FController := Value; FController := Value;
if Assigned(FController) then
ListaAnos := FController.DarListaAnosFacturas;
end; end;
procedure TfEditorFacturasProveedor.SetFacturas(const Value: IBizFacturaProveedor); procedure TfEditorFacturasProveedor.SetFacturas(const Value: IBizFacturaProveedor);
begin begin
FFacturas := Value; FFacturas := Value;
dsDataTable.DataTable := FFacturas.DataTable;
if Assigned(ViewGrid) then if Assigned(FFacturas) then
(ViewGrid as IViewFacturasProveedor).Facturas := Facturas; begin
//Se guarda el where de la sentencia origen, por si el editor tiene filtros que
//afecten a este where y en un futuro se desea volver al where origen (filtro de año))
DynWhereDataTable := FFacturas.DataTable.DynamicWhere.Xml;
dsDataTable.DataTable := FFacturas.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewFacturasProveedor).Facturas := Facturas;
end;
end; end;
end. end.

View File

@ -346,9 +346,6 @@ 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);
@ -396,9 +393,6 @@ 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

View File

@ -38,46 +38,46 @@
<DelphiCompile Include="GestorInformes_view.dpk"> <DelphiCompile Include="GestorInformes_view.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\ApplicationBase.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\ApplicationBase.dcp" />
<DCCReference Include="..\Base.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" />
<DCCReference Include="..\ccpackD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\ccpackD11.dcp" />
<DCCReference Include="..\cfpack_d11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cfpack_d11.dcp" />
<DCCReference Include="..\Contactos_controller.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Contactos_controller.dcp" />
<DCCReference Include="..\Contactos_model.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Contactos_model.dcp" />
<DCCReference Include="..\Contactos_view.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Contactos_view.dcp" />
<DCCReference Include="..\cxDataD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxDataD11.dcp" />
<DCCReference Include="..\cxEditorsD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD11.dcp" />
<DCCReference Include="..\cxLibraryD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD11.dcp" />
<DCCReference Include="..\dbrtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
<DCCReference Include="..\designide.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\designide.dcp" />
<DCCReference Include="..\dxComnD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxComnD11.dcp" />
<DCCReference Include="..\dxGDIPlusD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxGDIPlusD11.dcp" />
<DCCReference Include="..\dxLayoutControlD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxLayoutControlD11.dcp" />
<DCCReference Include="..\dxThemeD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD11.dcp" />
<DCCReference Include="..\frx11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\frx11.dcp" />
<DCCReference Include="..\frxe11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\frxe11.dcp" />
<DCCReference Include="..\fs11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\fs11.dcp" />
<DCCReference Include="..\GestorInformes_controller.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\GestorInformes_controller.dcp" />
<DCCReference Include="..\GUIBase.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\GUIBase.dcp" />
<DCCReference Include="..\GUISDK_D11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\GUISDK_D11.dcp" />
<DCCReference Include="..\Jcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Jcl.dcp" />
<DCCReference Include="..\JclVcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JclVcl.dcp" />
<DCCReference Include="..\JvCoreD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD11R.dcp" />
<DCCReference Include="..\JvPageCompsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvPageCompsD11R.dcp" />
<DCCReference Include="..\JvStdCtrlsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\JvSystemD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
<DCCReference Include="..\PngComponentsD10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
<DCCReference Include="..\PNG_D10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
<DCCReference Include="..\RemObjects_Core_D11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\rtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="..\tb2k_d10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\tb2k_d10.dcp" />
<DCCReference Include="..\tbx_d10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\tbx_d10.dcp" />
<DCCReference Include="..\vcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="..\vclactnband.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
<DCCReference Include="..\vcldb.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
<DCCReference Include="..\vcljpg.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
<DCCReference Include="..\vclx.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
<DCCReference Include="..\xmlrtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\xmlrtl.dcp" />
<DCCReference Include="uEditorInformeBase.pas"> <DCCReference Include="uEditorInformeBase.pas">
<Form>fEditorInformeBase</Form> <Form>fEditorInformeBase</Form>
<DesignClass>TForm</DesignClass> <DesignClass>TForm</DesignClass>

View File

@ -83,6 +83,9 @@ type
procedure Preview(ARecibosCliente : IBizRecibosCliente; AllItems: Boolean = false); procedure Preview(ARecibosCliente : IBizRecibosCliente; AllItems: Boolean = false);
procedure Print(ARecibosCliente : IBizRecibosCliente; AllItems: Boolean = false); procedure Print(ARecibosCliente : IBizRecibosCliente; AllItems: Boolean = false);
function DarListaAnosRecibos: TStringList;
procedure FiltrarAno(ARecibo: IBizRecibosCliente; ADynWhereDataTable: WideString; const Ano: String);
end; end;
TRecibosClienteController = class(TControllerBase, IRecibosClienteController) TRecibosClienteController = class(TControllerBase, IRecibosClienteController)
@ -154,6 +157,9 @@ type
procedure Preview(ARecibosCliente : IBizRecibosCliente; AllItems: Boolean = false); procedure Preview(ARecibosCliente : IBizRecibosCliente; AllItems: Boolean = false);
procedure Print(ARecibosCliente : IBizRecibosCliente; AllItems: Boolean = false); procedure Print(ARecibosCliente : IBizRecibosCliente; AllItems: Boolean = false);
function DarListaAnosRecibos: TStringList;
procedure FiltrarAno(ARecibo: IBizRecibosCliente; ADynWhereDataTable: WideString; const Ano: String);
end; end;
implementation implementation
@ -440,6 +446,11 @@ begin
Result := Buscar(ID_NULO); Result := Buscar(ID_NULO);
end; end;
function TRecibosClienteController.DarListaAnosRecibos: TStringList;
begin
Result := FDataModule.GetAnosItems;
end;
function TRecibosClienteController.DarNuevaReferencia(ID_FACTURA: Integer; REFERENCIA: String): String; function TRecibosClienteController.DarNuevaReferencia(ID_FACTURA: Integer; REFERENCIA: String): String;
var var
ARecibosCliente: IBizRecibosCliente; ARecibosCliente: IBizRecibosCliente;
@ -890,6 +901,35 @@ begin
Result := ASeleccionados; Result := ASeleccionados;
end; end;
procedure TRecibosClienteController.FiltrarAno(ARecibo: IBizRecibosCliente; ADynWhereDataTable: WideString; const Ano: String);
var
Condicion: TDAWhereExpression;
FechaIni: String;
FechaFin: String;
begin
ARecibo.DataTable.DynamicWhere.Clear;
ARecibo.DataTable.DynamicWhere.Xml := ADynWhereDataTable;
if (Ano <> 'Todos') then
begin
// Filtrar las facturas actuales por empresa
FechaIni := '01/01/' + Ano;
FechaFin := '31/12/' + Ano;
with ARecibo.DataTable.DynamicWhere do
begin
// (FECHA_INICIO between FECHA_FIN)
Condicion := NewBinaryExpression(NewField('', fld_RecibosClienteFECHA_EMISION), NewConstant(FechaIni, datString), dboGreaterOrEqual);
Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_RecibosClienteFECHA_EMISION), NewConstant(FechaFin, datString), dboLessOrEqual), Condicion, dboAnd);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Condicion, Expression, dboAnd);
end;
end;
end;
procedure TRecibosClienteController.FiltrarEmpresa(ARecibo: IBizRecibosCliente); procedure TRecibosClienteController.FiltrarEmpresa(ARecibo: IBizRecibosCliente);
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;

View File

@ -1,6 +1,6 @@
inherited DataModuleRecibosCliente: TDataModuleRecibosCliente inherited DataModuleRecibosCliente: TDataModuleRecibosCliente
OnCreate = DAClientDataModuleCreate OnCreate = DAClientDataModuleCreate
Height = 223 Height = 346
Width = 525 Width = 525
object RORemoteService: TRORemoteService object RORemoteService: TRORemoteService
Message = dmConexion.ROMessage Message = dmConexion.ROMessage
@ -593,4 +593,28 @@ inherited DataModuleRecibosCliente: TDataModuleRecibosCliente
Left = 416 Left = 416
Top = 32 Top = 32
end end
object tbl_ListaAnosRecibos: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ANO'
DataType = datString
Size = 255
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_RecibosCliente
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'ListaAnosRecibos'
IndexDefs = <>
Left = 176
Top = 216
end
object ds_ListaAnosRecibos: TDADataSource
DataSet = tbl_ListaAnosRecibos.Dataset
DataTable = tbl_ListaAnosRecibos
Left = 176
Top = 160
end
end end

View File

@ -46,12 +46,15 @@ type
ds_RecibosCliente: TDADataSource; ds_RecibosCliente: TDADataSource;
tbl_RecibosCompensadosCli: TDAMemDataTable; tbl_RecibosCompensadosCli: TDAMemDataTable;
ds_RecibosCompensadosCli: TDADataSource; ds_RecibosCompensadosCli: TDADataSource;
tbl_ListaAnosRecibos: TDAMemDataTable;
ds_ListaAnosRecibos: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject); procedure DAClientDataModuleCreate(Sender: TObject);
protected protected
function _GetPagos: IBizPagosCliente; function _GetPagos: IBizPagosCliente;
function _GetRecibosCompensados : IBizRecibosCompensadosCli; function _GetRecibosCompensados : IBizRecibosCompensadosCli;
public public
function GetAnosItems : TStringList;
function GetItems: IBizRecibosCliente; function GetItems: IBizRecibosCliente;
function GetItem(const ID : Integer) : IBizRecibosCliente; function GetItem(const ID : Integer) : IBizRecibosCliente;
function NewItem : IBizRecibosCliente; function NewItem : IBizRecibosCliente;
@ -149,6 +152,30 @@ begin
Result := GetItem(ID_NULO) Result := GetItem(ID_NULO)
end; end;
function TDataModuleRecibosCliente.GetAnosItems: TStringList;
var
AListaAnos: TStringList;
begin
AListaAnos := TStringList.Create;
ShowHourglassCursor;
try
with tbl_ListaAnosRecibos do
begin
Open;
First;
while not eof do
begin
AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString]));
Next;
end;
Close;
end;
Result := AListaAnos;
finally
HideHourglassCursor;
end;
end;
function TDataModuleRecibosCliente.GetItem(const ID: Integer): IBizRecibosCliente; function TDataModuleRecibosCliente.GetItem(const ID: Integer): IBizRecibosCliente;
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;

View File

@ -26,11 +26,12 @@ unit uIDataModuleRecibosCliente;
interface interface
uses uses
uBizRecibosCliente; Classes, uBizRecibosCliente;
type type
IDataModuleRecibosCliente = interface IDataModuleRecibosCliente = interface
['{F4F02C9E-E861-4938-8A2D-FE971A41EE92}'] ['{F4F02C9E-E861-4938-8A2D-FE971A41EE92}']
function GetAnosItems : TStringList;
function GetItems: IBizRecibosCliente; function GetItems: IBizRecibosCliente;
function GetItem(const ID : Integer) : IBizRecibosCliente; function GetItem(const ID : Integer) : IBizRecibosCliente;
function NewItem : IBizRecibosCliente; function NewItem : IBizRecibosCliente;

View File

@ -9,15 +9,23 @@ const
{ Data table rules ids { Data table rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_RecibosCliente = '{83925C8D-8CDD-471F-95E7-3D94225FA3B9}'; RID_ListaAnosRecibos = '{A4BD1210-5CBF-4C09-A950-5AF7715B5F66}';
RID_PagosCliente = '{6D505274-2913-4C4E-9C64-3CF6F7035F70}'; RID_RecibosCliente = '{3AECC812-56FF-44BB-82FB-4C9B64C9A01D}';
RID_RecibosCompensadosCli = '{AB4C31E9-E8B8-4AE3-A95A-B5A0D5F5E7F3}'; RID_PagosCliente = '{6C5A18AF-C970-40C4-B34F-84AE2A6D3AE9}';
RID_RecibosCompensadosCli = '{8C5D4976-0E53-4B19-A977-9BC2C95291EE}';
{ Data table names } { Data table names }
nme_ListaAnosRecibos = 'ListaAnosRecibos';
nme_RecibosCliente = 'RecibosCliente'; nme_RecibosCliente = 'RecibosCliente';
nme_PagosCliente = 'PagosCliente'; nme_PagosCliente = 'PagosCliente';
nme_RecibosCompensadosCli = 'RecibosCompensadosCli'; nme_RecibosCompensadosCli = 'RecibosCompensadosCli';
{ ListaAnosRecibos fields }
fld_ListaAnosRecibosANO = 'ANO';
{ ListaAnosRecibos field indexes }
idx_ListaAnosRecibosANO = 0;
{ RecibosCliente fields } { RecibosCliente fields }
fld_RecibosClienteID = 'ID'; fld_RecibosClienteID = 'ID';
fld_RecibosClienteID_RECIBO_COMPENSADO = 'ID_RECIBO_COMPENSADO'; fld_RecibosClienteID_RECIBO_COMPENSADO = 'ID_RECIBO_COMPENSADO';
@ -211,9 +219,44 @@ const
idx_RecibosCompensadosCliTIENDA = 35; idx_RecibosCompensadosCliTIENDA = 35;
type type
{ IListaAnosRecibos }
IListaAnosRecibos = interface(IDAStronglyTypedDataTable)
['{CE2FC543-F272-4EA2-9037-E30A840F8203}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
function GetANOIsNull: Boolean;
procedure SetANOIsNull(const aValue: Boolean);
{ Properties }
property ANO: String read GetANOValue write SetANOValue;
property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull;
end;
{ TListaAnosRecibosDataTableRules }
TListaAnosRecibosDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosRecibos)
private
protected
{ Property getters and setters }
function GetANOValue: String; virtual;
procedure SetANOValue(const aValue: String); virtual;
function GetANOIsNull: Boolean; virtual;
procedure SetANOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ANO: String read GetANOValue write SetANOValue;
property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
{ IRecibosCliente } { IRecibosCliente }
IRecibosCliente = interface(IDAStronglyTypedDataTable) IRecibosCliente = interface(IDAStronglyTypedDataTable)
['{E9F7D1F3-CB56-4C0E-B493-853CFEE73672}'] ['{A2D953EF-CA61-4ADD-821E-78B3B8732A3B}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -668,7 +711,7 @@ type
{ IPagosCliente } { IPagosCliente }
IPagosCliente = interface(IDAStronglyTypedDataTable) IPagosCliente = interface(IDAStronglyTypedDataTable)
['{E5953A2B-D345-4F0E-8018-16A50961F9E4}'] ['{50F7365A-2441-42A9-9738-EC5594AFE4F9}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -907,7 +950,7 @@ type
{ IRecibosCompensadosCli } { IRecibosCompensadosCli }
IRecibosCompensadosCli = interface(IDAStronglyTypedDataTable) IRecibosCompensadosCli = interface(IDAStronglyTypedDataTable)
['{F5CFE9D4-9477-43FF-AFBE-F6CFAC4D4313}'] ['{C7CF1A51-A951-435B-B7BB-78AD988872D7}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -1364,6 +1407,39 @@ implementation
uses Variants, uROBinaryHelpers; uses Variants, uROBinaryHelpers;
{ TListaAnosRecibosDataTableRules }
constructor TListaAnosRecibosDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
end;
destructor TListaAnosRecibosDataTableRules.Destroy;
begin
inherited;
end;
function TListaAnosRecibosDataTableRules.GetANOValue: String;
begin
result := DataTable.Fields[idx_ListaAnosRecibosANO].AsString;
end;
procedure TListaAnosRecibosDataTableRules.SetANOValue(const aValue: String);
begin
DataTable.Fields[idx_ListaAnosRecibosANO].AsString := aValue;
end;
function TListaAnosRecibosDataTableRules.GetANOIsNull: boolean;
begin
result := DataTable.Fields[idx_ListaAnosRecibosANO].IsNull;
end;
procedure TListaAnosRecibosDataTableRules.SetANOIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_ListaAnosRecibosANO].AsVariant := Null;
end;
{ TRecibosClienteDataTableRules } { TRecibosClienteDataTableRules }
constructor TRecibosClienteDataTableRules.Create(aDataTable: TDADataTable); constructor TRecibosClienteDataTableRules.Create(aDataTable: TDADataTable);
begin begin
@ -3291,6 +3367,7 @@ end;
initialization initialization
RegisterDataTableRules(RID_ListaAnosRecibos, TListaAnosRecibosDataTableRules);
RegisterDataTableRules(RID_RecibosCliente, TRecibosClienteDataTableRules); RegisterDataTableRules(RID_RecibosCliente, TRecibosClienteDataTableRules);
RegisterDataTableRules(RID_PagosCliente, TPagosClienteDataTableRules); RegisterDataTableRules(RID_PagosCliente, TPagosClienteDataTableRules);
RegisterDataTableRules(RID_RecibosCompensadosCli, TRecibosCompensadosCliDataTableRules); RegisterDataTableRules(RID_RecibosCompensadosCli, TRecibosCompensadosCliDataTableRules);

View File

@ -9,14 +9,49 @@ const
{ Delta rules ids { Delta rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_RecibosClienteDelta = '{EA14D503-60F2-40E0-AC46-B289B3FE87FD}'; RID_ListaAnosRecibosDelta = '{8FC2C837-6926-4F14-B052-06BF6AB3BF38}';
RID_PagosClienteDelta = '{FD903D99-7EAA-4C30-A79C-82C97E9B5098}'; RID_RecibosClienteDelta = '{1C641E43-0B1A-4136-AAA2-0F6B13C52F34}';
RID_RecibosCompensadosCliDelta = '{A992F752-5824-4FA9-A17A-56EE6C368C9E}'; RID_PagosClienteDelta = '{3F9F91B7-5517-4927-919B-EE09DD7EDB9A}';
RID_RecibosCompensadosCliDelta = '{60B42F56-C470-481C-8665-D924F758ABE4}';
type type
{ IListaAnosRecibosDelta }
IListaAnosRecibosDelta = interface(IListaAnosRecibos)
['{8FC2C837-6926-4F14-B052-06BF6AB3BF38}']
{ Property getters and setters }
function GetOldANOValue : String;
{ Properties }
property OldANO : String read GetOldANOValue;
end;
{ TListaAnosRecibosBusinessProcessorRules }
TListaAnosRecibosBusinessProcessorRules = class(TDABusinessProcessorRules, IListaAnosRecibos, IListaAnosRecibosDelta)
private
protected
{ Property getters and setters }
function GetANOValue: String; virtual;
function GetANOIsNull: Boolean; virtual;
function GetOldANOValue: String; virtual;
function GetOldANOIsNull: Boolean; virtual;
procedure SetANOValue(const aValue: String); virtual;
procedure SetANOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ANO : String read GetANOValue write SetANOValue;
property ANOIsNull : Boolean read GetANOIsNull write SetANOIsNull;
property OldANO : String read GetOldANOValue;
property OldANOIsNull : Boolean read GetOldANOIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
destructor Destroy; override;
end;
{ IRecibosClienteDelta } { IRecibosClienteDelta }
IRecibosClienteDelta = interface(IRecibosCliente) IRecibosClienteDelta = interface(IRecibosCliente)
['{EA14D503-60F2-40E0-AC46-B289B3FE87FD}'] ['{1C641E43-0B1A-4136-AAA2-0F6B13C52F34}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_RECIBO_COMPENSADOValue : Integer; function GetOldID_RECIBO_COMPENSADOValue : Integer;
@ -470,7 +505,7 @@ type
{ IPagosClienteDelta } { IPagosClienteDelta }
IPagosClienteDelta = interface(IPagosCliente) IPagosClienteDelta = interface(IPagosCliente)
['{FD903D99-7EAA-4C30-A79C-82C97E9B5098}'] ['{3F9F91B7-5517-4927-919B-EE09DD7EDB9A}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_RECIBOValue : Integer; function GetOldID_RECIBOValue : Integer;
@ -708,7 +743,7 @@ type
{ IRecibosCompensadosCliDelta } { IRecibosCompensadosCliDelta }
IRecibosCompensadosCliDelta = interface(IRecibosCompensadosCli) IRecibosCompensadosCliDelta = interface(IRecibosCompensadosCli)
['{A992F752-5824-4FA9-A17A-56EE6C368C9E}'] ['{60B42F56-C470-481C-8665-D924F758ABE4}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_RECIBO_COMPENSADOValue : Integer; function GetOldID_RECIBO_COMPENSADOValue : Integer;
@ -1165,6 +1200,49 @@ implementation
uses uses
Variants, uROBinaryHelpers, uDAInterfaces; Variants, uROBinaryHelpers, uDAInterfaces;
{ TListaAnosRecibosBusinessProcessorRules }
constructor TListaAnosRecibosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
inherited;
end;
destructor TListaAnosRecibosBusinessProcessorRules.Destroy;
begin
inherited;
end;
function TListaAnosRecibosBusinessProcessorRules.GetANOValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosRecibosANO];
end;
function TListaAnosRecibosBusinessProcessorRules.GetANOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosRecibosANO]);
end;
function TListaAnosRecibosBusinessProcessorRules.GetOldANOValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosRecibosANO];
end;
function TListaAnosRecibosBusinessProcessorRules.GetOldANOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosRecibosANO]);
end;
procedure TListaAnosRecibosBusinessProcessorRules.SetANOValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosRecibosANO] := aValue;
end;
procedure TListaAnosRecibosBusinessProcessorRules.SetANOIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosRecibosANO] := Null;
end;
{ TRecibosClienteBusinessProcessorRules } { TRecibosClienteBusinessProcessorRules }
constructor TRecibosClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); constructor TRecibosClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin begin
@ -3992,6 +4070,7 @@ end;
initialization initialization
RegisterBusinessProcessorRules(RID_ListaAnosRecibosDelta, TListaAnosRecibosBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_RecibosClienteDelta, TRecibosClienteBusinessProcessorRules); RegisterBusinessProcessorRules(RID_RecibosClienteDelta, TRecibosClienteBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_PagosClienteDelta, TPagosClienteBusinessProcessorRules); RegisterBusinessProcessorRules(RID_PagosClienteDelta, TPagosClienteBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_RecibosCompensadosCliDelta, TRecibosCompensadosCliBusinessProcessorRules); RegisterBusinessProcessorRules(RID_RecibosCompensadosCliDelta, TRecibosCompensadosCliBusinessProcessorRules);

View File

@ -11,6 +11,7 @@
<Projects Include="..\..\Servidor\FactuGES_Server.dproj" /> <Projects Include="..\..\Servidor\FactuGES_Server.dproj" />
<Projects Include="..\Contabilidad\Views\Contabilidad_view.dproj" /> <Projects Include="..\Contabilidad\Views\Contabilidad_view.dproj" />
<Projects Include="..\Contactos\Views\Contactos_view.dproj" /> <Projects Include="..\Contactos\Views\Contactos_view.dproj" />
<Projects Include="..\Facturas de proveedor\Views\FacturasProveedor_view.dproj" />
<Projects Include="..\Recibos de proveedor\Views\RecibosProveedor_view.dproj" /> <Projects Include="..\Recibos de proveedor\Views\RecibosProveedor_view.dproj" />
<Projects Include="Controller\RecibosCliente_controller.dproj" /> <Projects Include="Controller\RecibosCliente_controller.dproj" />
<Projects Include="Data\RecibosCliente_data.dproj" /> <Projects Include="Data\RecibosCliente_data.dproj" />
@ -141,14 +142,23 @@
<Target Name="RecibosProveedor_view:Make"> <Target Name="RecibosProveedor_view:Make">
<MSBuild Projects="..\Recibos de proveedor\Views\RecibosProveedor_view.dproj" Targets="Make" /> <MSBuild Projects="..\Recibos de proveedor\Views\RecibosProveedor_view.dproj" Targets="Make" />
</Target> </Target>
<Target Name="FacturasProveedor_view">
<MSBuild Projects="..\Facturas de proveedor\Views\FacturasProveedor_view.dproj" Targets="" />
</Target>
<Target Name="FacturasProveedor_view:Clean">
<MSBuild Projects="..\Facturas de proveedor\Views\FacturasProveedor_view.dproj" Targets="Clean" />
</Target>
<Target Name="FacturasProveedor_view:Make">
<MSBuild Projects="..\Facturas de proveedor\Views\FacturasProveedor_view.dproj" Targets="Make" />
</Target>
<Target Name="Build"> <Target Name="Build">
<CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_view;Contabilidad_view;RecibosCliente_model;RecibosCliente_data;RecibosCliente_controller;RecibosCliente_view;RecibosCliente_plugin;FactuGES;FactuGES_Server;RecibosProveedor_view" /> <CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_view;Contabilidad_view;RecibosCliente_model;RecibosCliente_data;RecibosCliente_controller;RecibosCliente_view;RecibosCliente_plugin;FactuGES;FactuGES_Server;RecibosProveedor_view;FacturasProveedor_view" />
</Target> </Target>
<Target Name="Clean"> <Target Name="Clean">
<CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_view:Clean;Contabilidad_view:Clean;RecibosCliente_model:Clean;RecibosCliente_data:Clean;RecibosCliente_controller:Clean;RecibosCliente_view:Clean;RecibosCliente_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean;RecibosProveedor_view:Clean" /> <CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_view:Clean;Contabilidad_view:Clean;RecibosCliente_model:Clean;RecibosCliente_data:Clean;RecibosCliente_controller:Clean;RecibosCliente_view:Clean;RecibosCliente_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean;RecibosProveedor_view:Clean;FacturasProveedor_view:Clean" />
</Target> </Target>
<Target Name="Make"> <Target Name="Make">
<CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_view:Make;Contabilidad_view:Make;RecibosCliente_model:Make;RecibosCliente_data:Make;RecibosCliente_controller:Make;RecibosCliente_view:Make;RecibosCliente_plugin:Make;FactuGES:Make;FactuGES_Server:Make;RecibosProveedor_view:Make" /> <CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_view:Make;Contabilidad_view:Make;RecibosCliente_model:Make;RecibosCliente_data:Make;RecibosCliente_controller:Make;RecibosCliente_view:Make;RecibosCliente_plugin:Make;FactuGES:Make;FactuGES_Server:Make;RecibosProveedor_view:Make;FacturasProveedor_view:Make" />
</Target> </Target>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" /> <Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project> </Project>

View File

@ -14,6 +14,33 @@ object srvRecibosCliente: TsrvRecibosCliente
ConnectionManager = dmServer.ConnectionManager ConnectionManager = dmServer.ConnectionManager
DataDictionary = DADataDictionary DataDictionary = DADataDictionary
Datasets = < Datasets = <
item
Params = <>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
Name = 'IBX'
SQL =
'select ANO from'#10'(select distinct(substr(FECHA_EMISION, 1,4)) as ' +
'ANO'#10'from recibos_cliente'#10'order by 1 desc)'#10#10'UNION ALL'#10#10'select dis' +
'tinct '#39'Todos'#39' as ANO'#10'from empresas'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ANO'
TableField = 'ANO'
end>
end>
Name = 'ListaAnosRecibos'
Fields = <
item
Name = 'ANO'
DataType = datString
Size = 255
end>
end
item item
Params = <> Params = <>
Statements = < Statements = <

View File

@ -43,11 +43,25 @@ inherited fEditorRecibosCliente: TfEditorRecibosCliente
inherited tbxMain: TTBXToolbar inherited tbxMain: TTBXToolbar
ExplicitWidth = 645 ExplicitWidth = 645
end end
inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 431
inherited lblAno: TTBXLabelItem
Visible = True
end
inherited cbxListaAnos: TTBXComboBoxItem
Visible = True
end
inherited sepAno: TTBXSeparatorItem
Visible = True
end
end
inherited tbxMenu: TTBXToolbar inherited tbxMenu: TTBXToolbar
ExplicitWidth = 645 ExplicitWidth = 645
end end
inherited TBXTMain2: TTBXToolbar inherited TBXTMain2: TTBXToolbar
Left = 431
Visible = True Visible = True
ExplicitLeft = 431
ExplicitWidth = 66 ExplicitWidth = 66
object TBXItem38: TTBXItem object TBXItem38: TTBXItem
Action = actInformes Action = actInformes

View File

@ -50,6 +50,8 @@ type
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject); procedure actEliminarUpdate(Sender: TObject);
procedure actInformesExecute(Sender: TObject); procedure actInformesExecute(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
private private
FRecibosCliente: IBizRecibosCliente; FRecibosCliente: IBizRecibosCliente;
FController : IRecibosClienteController; FController : IRecibosClienteController;
@ -65,6 +67,8 @@ type
procedure DuplicarInterno; override; procedure DuplicarInterno; override;
procedure ImprimirInterno; override; procedure ImprimirInterno; override;
procedure PrevisualizarInterno; override; procedure PrevisualizarInterno; override;
procedure RefrescarInterno; override;
public public
procedure PonerTitulos(const ATitulo: string = ''); override; procedure PonerTitulos(const ATitulo: string = ''); override;
property RecibosCliente: IBizRecibosCliente read GetRecibosCliente write SetRecibosCliente; property RecibosCliente: IBizRecibosCliente read GetRecibosCliente write SetRecibosCliente;
@ -191,6 +195,8 @@ end;
procedure TfEditorRecibosCliente.FormShow(Sender: TObject); procedure TfEditorRecibosCliente.FormShow(Sender: TObject);
begin begin
cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED
inherited; inherited;
if not Assigned(ViewGrid) then if not Assigned(ViewGrid) then
@ -272,6 +278,13 @@ begin
FController.Ver(FRecibosCliente); FController.Ver(FRecibosCliente);
end; end;
procedure TfEditorRecibosCliente.OnListaAnosChange(Sender: TObject; const Text: string);
begin
Controller.FiltrarAno(RecibosCliente, DynWhereDataTable, Text);
if RecibosCliente.DataTable.Active then
RefrescarInterno;
end;
procedure TfEditorRecibosCliente.PonerTitulos(const ATitulo: string); procedure TfEditorRecibosCliente.PonerTitulos(const ATitulo: string);
var var
FTitulo : String; FTitulo : String;
@ -321,17 +334,37 @@ begin
end; end;
end; end;
procedure TfEditorRecibosCliente.RefrescarInterno;
begin
//Volvemos a cargar los años de los recibos
if Assigned(FController) then
ListaAnos := FController.DarListaAnosRecibos;
inherited;
end;
procedure TfEditorRecibosCliente.SetController(const Value: IRecibosClienteController); procedure TfEditorRecibosCliente.SetController(const Value: IRecibosClienteController);
begin begin
FController := Value; FController := Value;
if Assigned(FController) then
ListaAnos := FController.DarListaAnosRecibos;
end; end;
procedure TfEditorRecibosCliente.SetRecibosCliente(const Value: IBizRecibosCliente); procedure TfEditorRecibosCliente.SetRecibosCliente(const Value: IBizRecibosCliente);
begin begin
FRecibosCliente := Value; FRecibosCliente := Value;
dsDataTable.DataTable := FRecibosCliente.DataTable;
if Assigned(ViewGrid) then if Assigned(FRecibosCliente) then
(ViewGrid as IViewRecibosCliente).Recibos := FRecibosCliente; begin
//Se guarda el where de la sentencia origen, por si el editor tiene filtros que
//afecten a este where y en un futuro se desea volver al where origen (filtro de año))
DynWhereDataTable := FRecibosCliente.DataTable.DynamicWhere.Xml;
dsDataTable.DataTable := FRecibosCliente.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewRecibosCliente).Recibos := FRecibosCliente;
end;
end; end;
end. end.

View File

@ -77,6 +77,9 @@ type
procedure Preview(ARecibosProveedor : IBizRecibosProveedor); procedure Preview(ARecibosProveedor : IBizRecibosProveedor);
procedure Print(ARecibosProveedor : IBizRecibosProveedor); procedure Print(ARecibosProveedor : IBizRecibosProveedor);
function DarListaAnosRecibos: TStringList;
procedure FiltrarAno(ARecibo: IBizRecibosProveedor; ADynWhereDataTable: WideString; const Ano: String);
end; end;
TRecibosProveedorController = class(TControllerBase, IRecibosProveedorController) TRecibosProveedorController = class(TControllerBase, IRecibosProveedorController)
@ -147,6 +150,9 @@ type
procedure Preview(ARecibosProveedor : IBizRecibosProveedor); procedure Preview(ARecibosProveedor : IBizRecibosProveedor);
procedure Print(ARecibosProveedor : IBizRecibosProveedor); procedure Print(ARecibosProveedor : IBizRecibosProveedor);
function DarListaAnosRecibos: TStringList;
procedure FiltrarAno(ARecibo: IBizRecibosProveedor; ADynWhereDataTable: WideString; const Ano: String);
end; end;
implementation implementation
@ -432,6 +438,11 @@ begin
Result := Buscar(ID_NULO); Result := Buscar(ID_NULO);
end; end;
function TRecibosProveedorController.DarListaAnosRecibos: TStringList;
begin
Result := FDataModule.GetAnosItems;
end;
function TRecibosProveedorController.DarNuevaReferencia(ID_FACTURA: Integer; REFERENCIA: String): String; function TRecibosProveedorController.DarNuevaReferencia(ID_FACTURA: Integer; REFERENCIA: String): String;
var var
ARecibosProveedor: IBizRecibosProveedor; ARecibosProveedor: IBizRecibosProveedor;
@ -834,6 +845,35 @@ begin
Result := ASeleccionados; Result := ASeleccionados;
end; end;
procedure TRecibosProveedorController.FiltrarAno(ARecibo: IBizRecibosProveedor; ADynWhereDataTable: WideString; const Ano: String);
var
Condicion: TDAWhereExpression;
FechaIni: String;
FechaFin: String;
begin
ARecibo.DataTable.DynamicWhere.Clear;
ARecibo.DataTable.DynamicWhere.Xml := ADynWhereDataTable;
if (Ano <> 'Todos') then
begin
// Filtrar las facturas actuales por empresa
FechaIni := '01/01/' + Ano;
FechaFin := '31/12/' + Ano;
with ARecibo.DataTable.DynamicWhere do
begin
// (FECHA_INICIO between FECHA_FIN)
Condicion := NewBinaryExpression(NewField('', fld_RecibosProveedorFECHA_EMISION), NewConstant(FechaIni, datString), dboGreaterOrEqual);
Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_RecibosProveedorFECHA_EMISION), NewConstant(FechaFin, datString), dboLessOrEqual), Condicion, dboAnd);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Condicion, Expression, dboAnd);
end;
end;
end;
procedure TRecibosProveedorController.FiltrarEmpresa(ARecibo: IBizRecibosProveedor); procedure TRecibosProveedorController.FiltrarEmpresa(ARecibo: IBizRecibosProveedor);
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;

View File

@ -1,6 +1,6 @@
inherited DataModuleRecibosProveedor: TDataModuleRecibosProveedor inherited DataModuleRecibosProveedor: TDataModuleRecibosProveedor
OnCreate = DAClientDataModuleCreate OnCreate = DAClientDataModuleCreate
Height = 255 Height = 362
Width = 518 Width = 518
object RORemoteService: TRORemoteService object RORemoteService: TRORemoteService
Message = dmConexion.ROMessage Message = dmConexion.ROMessage
@ -595,4 +595,28 @@ inherited DataModuleRecibosProveedor: TDataModuleRecibosProveedor
Left = 176 Left = 176
Top = 40 Top = 40
end end
object tbl_ListaAnosRecibos: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ANO'
DataType = datString
Size = 255
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_RecibosProveedor
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'ListaAnosRecibos'
IndexDefs = <>
Left = 176
Top = 200
end
object ds_ListaAnosRecibos: TDADataSource
DataSet = tbl_ListaAnosRecibos.Dataset
DataTable = tbl_ListaAnosRecibos
Left = 176
Top = 152
end
end end

View File

@ -46,11 +46,14 @@ type
ds_RecibosCompensadosProv: TDADataSource; ds_RecibosCompensadosProv: TDADataSource;
tbl_RecibosProveedor: TDAMemDataTable; tbl_RecibosProveedor: TDAMemDataTable;
ds_RecibosProveedor: TDADataSource; ds_RecibosProveedor: TDADataSource;
tbl_ListaAnosRecibos: TDAMemDataTable;
ds_ListaAnosRecibos: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject); procedure DAClientDataModuleCreate(Sender: TObject);
protected protected
function _GetPagos: IBizPagosProveedor; function _GetPagos: IBizPagosProveedor;
function _GetRecibosCompensados : IBizRecibosCompensadosProv; function _GetRecibosCompensados : IBizRecibosCompensadosProv;
public public
function GetAnosItems : TStringList;
function GetItems: IBizRecibosProveedor; function GetItems: IBizRecibosProveedor;
function GetItem(const ID : Integer) : IBizRecibosProveedor; function GetItem(const ID : Integer) : IBizRecibosProveedor;
function NewItem : IBizRecibosProveedor; function NewItem : IBizRecibosProveedor;
@ -142,6 +145,30 @@ begin
Result := GetItem(ID_NULO) Result := GetItem(ID_NULO)
end; end;
function TDataModuleRecibosProveedor.GetAnosItems: TStringList;
var
AListaAnos: TStringList;
begin
AListaAnos := TStringList.Create;
ShowHourglassCursor;
try
with tbl_ListaAnosRecibos do
begin
Open;
First;
while not eof do
begin
AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString]));
Next;
end;
Close;
end;
Result := AListaAnos;
finally
HideHourglassCursor;
end;
end;
function TDataModuleRecibosProveedor.GetItem(const ID: Integer): IBizRecibosProveedor; function TDataModuleRecibosProveedor.GetItem(const ID: Integer): IBizRecibosProveedor;
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;

View File

@ -26,11 +26,12 @@ unit uIDataModuleRecibosProveedor;
interface interface
uses uses
uBizRecibosProveedor; Classes, uBizRecibosProveedor;
type type
IDataModuleRecibosProveedor = interface IDataModuleRecibosProveedor = interface
['{0EEAF672-1509-4695-90B0-0D6EBB81B6C5}'] ['{0EEAF672-1509-4695-90B0-0D6EBB81B6C5}']
function GetAnosItems : TStringList;
function GetItems: IBizRecibosProveedor; function GetItems: IBizRecibosProveedor;
function GetItem(const ID : Integer) : IBizRecibosProveedor; function GetItem(const ID : Integer) : IBizRecibosProveedor;
function NewItem : IBizRecibosProveedor; function NewItem : IBizRecibosProveedor;

View File

@ -9,15 +9,23 @@ const
{ Data table rules ids { Data table rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_RecibosCompensadosProv = '{54C2D2B1-B02A-467B-9C52-DA7767EF44A3}'; RID_ListaAnosRecibos = '{9B2BA80B-D6E7-4970-B1CC-20990D8D11E7}';
RID_RecibosProveedor = '{5BC08F92-FE46-4CDD-8EDF-4A329D706989}'; RID_RecibosCompensadosProv = '{E0ECB451-A8BC-4B37-82A9-7F86E2FFE256}';
RID_PagosProveedor = '{528C3735-0265-42C5-BCC4-67E35704B985}'; RID_RecibosProveedor = '{77ED4397-26CE-4EA3-ACF1-8CFDCE5DDF9C}';
RID_PagosProveedor = '{249FF85D-110C-447F-8164-61DF9530E7F9}';
{ Data table names } { Data table names }
nme_ListaAnosRecibos = 'ListaAnosRecibos';
nme_RecibosCompensadosProv = 'RecibosCompensadosProv'; nme_RecibosCompensadosProv = 'RecibosCompensadosProv';
nme_RecibosProveedor = 'RecibosProveedor'; nme_RecibosProveedor = 'RecibosProveedor';
nme_PagosProveedor = 'PagosProveedor'; nme_PagosProveedor = 'PagosProveedor';
{ ListaAnosRecibos fields }
fld_ListaAnosRecibosANO = 'ANO';
{ ListaAnosRecibos field indexes }
idx_ListaAnosRecibosANO = 0;
{ RecibosCompensadosProv fields } { RecibosCompensadosProv fields }
fld_RecibosCompensadosProvID = 'ID'; fld_RecibosCompensadosProvID = 'ID';
fld_RecibosCompensadosProvID_RECIBO_COMPENSADO = 'ID_RECIBO_COMPENSADO'; fld_RecibosCompensadosProvID_RECIBO_COMPENSADO = 'ID_RECIBO_COMPENSADO';
@ -219,9 +227,44 @@ const
idx_PagosProveedorASIENTO_PUNTEADO = 17; idx_PagosProveedorASIENTO_PUNTEADO = 17;
type type
{ IListaAnosRecibos }
IListaAnosRecibos = interface(IDAStronglyTypedDataTable)
['{4CC0A39B-177C-4530-BDA1-74655040BD1D}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
function GetANOIsNull: Boolean;
procedure SetANOIsNull(const aValue: Boolean);
{ Properties }
property ANO: String read GetANOValue write SetANOValue;
property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull;
end;
{ TListaAnosRecibosDataTableRules }
TListaAnosRecibosDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosRecibos)
private
protected
{ Property getters and setters }
function GetANOValue: String; virtual;
procedure SetANOValue(const aValue: String); virtual;
function GetANOIsNull: Boolean; virtual;
procedure SetANOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ANO: String read GetANOValue write SetANOValue;
property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
{ IRecibosCompensadosProv } { IRecibosCompensadosProv }
IRecibosCompensadosProv = interface(IDAStronglyTypedDataTable) IRecibosCompensadosProv = interface(IDAStronglyTypedDataTable)
['{6945980A-8AEF-4038-ABD2-0AA3573BE03D}'] ['{4CEC51B6-36BE-40B5-9CC9-7942E4916321}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -700,7 +743,7 @@ type
{ IRecibosProveedor } { IRecibosProveedor }
IRecibosProveedor = interface(IDAStronglyTypedDataTable) IRecibosProveedor = interface(IDAStronglyTypedDataTable)
['{232A2617-948E-4E49-9AC6-41265EB87C46}'] ['{2909B622-C1B0-4738-B8EE-87F279FE7CA3}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -1179,7 +1222,7 @@ type
{ IPagosProveedor } { IPagosProveedor }
IPagosProveedor = interface(IDAStronglyTypedDataTable) IPagosProveedor = interface(IDAStronglyTypedDataTable)
['{03E8C0E1-2295-4FF5-8FE5-DA68A3326500}'] ['{D614A1E7-19B0-47A4-A975-E61D0DA5EE19}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -1420,6 +1463,39 @@ implementation
uses Variants, uROBinaryHelpers; uses Variants, uROBinaryHelpers;
{ TListaAnosRecibosDataTableRules }
constructor TListaAnosRecibosDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
end;
destructor TListaAnosRecibosDataTableRules.Destroy;
begin
inherited;
end;
function TListaAnosRecibosDataTableRules.GetANOValue: String;
begin
result := DataTable.Fields[idx_ListaAnosRecibosANO].AsString;
end;
procedure TListaAnosRecibosDataTableRules.SetANOValue(const aValue: String);
begin
DataTable.Fields[idx_ListaAnosRecibosANO].AsString := aValue;
end;
function TListaAnosRecibosDataTableRules.GetANOIsNull: boolean;
begin
result := DataTable.Fields[idx_ListaAnosRecibosANO].IsNull;
end;
procedure TListaAnosRecibosDataTableRules.SetANOIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_ListaAnosRecibosANO].AsVariant := Null;
end;
{ TRecibosCompensadosProvDataTableRules } { TRecibosCompensadosProvDataTableRules }
constructor TRecibosCompensadosProvDataTableRules.Create(aDataTable: TDADataTable); constructor TRecibosCompensadosProvDataTableRules.Create(aDataTable: TDADataTable);
begin begin
@ -3431,6 +3507,7 @@ end;
initialization initialization
RegisterDataTableRules(RID_ListaAnosRecibos, TListaAnosRecibosDataTableRules);
RegisterDataTableRules(RID_RecibosCompensadosProv, TRecibosCompensadosProvDataTableRules); RegisterDataTableRules(RID_RecibosCompensadosProv, TRecibosCompensadosProvDataTableRules);
RegisterDataTableRules(RID_RecibosProveedor, TRecibosProveedorDataTableRules); RegisterDataTableRules(RID_RecibosProveedor, TRecibosProveedorDataTableRules);
RegisterDataTableRules(RID_PagosProveedor, TPagosProveedorDataTableRules); RegisterDataTableRules(RID_PagosProveedor, TPagosProveedorDataTableRules);

View File

@ -9,14 +9,49 @@ const
{ Delta rules ids { Delta rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_RecibosCompensadosProvDelta = '{16554E00-D877-4BAF-9C55-8E20790DCD56}'; RID_ListaAnosRecibosDelta = '{6C4A7ACE-8C97-469A-A496-493F1A280405}';
RID_RecibosProveedorDelta = '{ABE8514C-4344-43BF-B41B-C5E3095D1557}'; RID_RecibosCompensadosProvDelta = '{07E70EBB-5912-4A27-BB68-34D15E499C1E}';
RID_PagosProveedorDelta = '{4E478891-83D7-4418-A3E7-E36D0F802EE0}'; RID_RecibosProveedorDelta = '{79959841-F924-4E80-B1C0-26D60A1CA5E4}';
RID_PagosProveedorDelta = '{C9839E83-8D1F-4F5D-8A06-704C5BE7E7D8}';
type type
{ IListaAnosRecibosDelta }
IListaAnosRecibosDelta = interface(IListaAnosRecibos)
['{6C4A7ACE-8C97-469A-A496-493F1A280405}']
{ Property getters and setters }
function GetOldANOValue : String;
{ Properties }
property OldANO : String read GetOldANOValue;
end;
{ TListaAnosRecibosBusinessProcessorRules }
TListaAnosRecibosBusinessProcessorRules = class(TDABusinessProcessorRules, IListaAnosRecibos, IListaAnosRecibosDelta)
private
protected
{ Property getters and setters }
function GetANOValue: String; virtual;
function GetANOIsNull: Boolean; virtual;
function GetOldANOValue: String; virtual;
function GetOldANOIsNull: Boolean; virtual;
procedure SetANOValue(const aValue: String); virtual;
procedure SetANOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ANO : String read GetANOValue write SetANOValue;
property ANOIsNull : Boolean read GetANOIsNull write SetANOIsNull;
property OldANO : String read GetOldANOValue;
property OldANOIsNull : Boolean read GetOldANOIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
destructor Destroy; override;
end;
{ IRecibosCompensadosProvDelta } { IRecibosCompensadosProvDelta }
IRecibosCompensadosProvDelta = interface(IRecibosCompensadosProv) IRecibosCompensadosProvDelta = interface(IRecibosCompensadosProv)
['{16554E00-D877-4BAF-9C55-8E20790DCD56}'] ['{07E70EBB-5912-4A27-BB68-34D15E499C1E}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_RECIBO_COMPENSADOValue : Integer; function GetOldID_RECIBO_COMPENSADOValue : Integer;
@ -494,7 +529,7 @@ type
{ IRecibosProveedorDelta } { IRecibosProveedorDelta }
IRecibosProveedorDelta = interface(IRecibosProveedor) IRecibosProveedorDelta = interface(IRecibosProveedor)
['{ABE8514C-4344-43BF-B41B-C5E3095D1557}'] ['{79959841-F924-4E80-B1C0-26D60A1CA5E4}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_RECIBO_COMPENSADOValue : Integer; function GetOldID_RECIBO_COMPENSADOValue : Integer;
@ -972,7 +1007,7 @@ type
{ IPagosProveedorDelta } { IPagosProveedorDelta }
IPagosProveedorDelta = interface(IPagosProveedor) IPagosProveedorDelta = interface(IPagosProveedor)
['{4E478891-83D7-4418-A3E7-E36D0F802EE0}'] ['{C9839E83-8D1F-4F5D-8A06-704C5BE7E7D8}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_RECIBOValue : Integer; function GetOldID_RECIBOValue : Integer;
@ -1213,6 +1248,49 @@ implementation
uses uses
Variants, uROBinaryHelpers, uDAInterfaces; Variants, uROBinaryHelpers, uDAInterfaces;
{ TListaAnosRecibosBusinessProcessorRules }
constructor TListaAnosRecibosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
inherited;
end;
destructor TListaAnosRecibosBusinessProcessorRules.Destroy;
begin
inherited;
end;
function TListaAnosRecibosBusinessProcessorRules.GetANOValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosRecibosANO];
end;
function TListaAnosRecibosBusinessProcessorRules.GetANOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosRecibosANO]);
end;
function TListaAnosRecibosBusinessProcessorRules.GetOldANOValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosRecibosANO];
end;
function TListaAnosRecibosBusinessProcessorRules.GetOldANOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosRecibosANO]);
end;
procedure TListaAnosRecibosBusinessProcessorRules.SetANOValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosRecibosANO] := aValue;
end;
procedure TListaAnosRecibosBusinessProcessorRules.SetANOIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosRecibosANO] := Null;
end;
{ TRecibosCompensadosProvBusinessProcessorRules } { TRecibosCompensadosProvBusinessProcessorRules }
constructor TRecibosCompensadosProvBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); constructor TRecibosCompensadosProvBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin begin
@ -4164,6 +4242,7 @@ end;
initialization initialization
RegisterBusinessProcessorRules(RID_ListaAnosRecibosDelta, TListaAnosRecibosBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_RecibosCompensadosProvDelta, TRecibosCompensadosProvBusinessProcessorRules); RegisterBusinessProcessorRules(RID_RecibosCompensadosProvDelta, TRecibosCompensadosProvBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_RecibosProveedorDelta, TRecibosProveedorBusinessProcessorRules); RegisterBusinessProcessorRules(RID_RecibosProveedorDelta, TRecibosProveedorBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_PagosProveedorDelta, TPagosProveedorBusinessProcessorRules); RegisterBusinessProcessorRules(RID_PagosProveedorDelta, TPagosProveedorBusinessProcessorRules);

View File

@ -10,6 +10,7 @@
<Projects Include="..\..\GUIBase\GUIBase.dproj" /> <Projects Include="..\..\GUIBase\GUIBase.dproj" />
<Projects Include="..\..\Servidor\FactuGES_Server.dproj" /> <Projects Include="..\..\Servidor\FactuGES_Server.dproj" />
<Projects Include="..\Contactos\Views\Contactos_view.dproj" /> <Projects Include="..\Contactos\Views\Contactos_view.dproj" />
<Projects Include="..\Recibos de cliente\Views\RecibosCliente_view.dproj" />
<Projects Include="Controller\RecibosProveedor_controller.dproj" /> <Projects Include="Controller\RecibosProveedor_controller.dproj" />
<Projects Include="Data\RecibosProveedor_data.dproj" /> <Projects Include="Data\RecibosProveedor_data.dproj" />
<Projects Include="Model\RecibosProveedor_model.dproj" /> <Projects Include="Model\RecibosProveedor_model.dproj" />
@ -121,14 +122,23 @@
<Target Name="FactuGES_Server:Make"> <Target Name="FactuGES_Server:Make">
<MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="Make" /> <MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="Make" />
</Target> </Target>
<Target Name="RecibosCliente_view">
<MSBuild Projects="..\Recibos de cliente\Views\RecibosCliente_view.dproj" Targets="" />
</Target>
<Target Name="RecibosCliente_view:Clean">
<MSBuild Projects="..\Recibos de cliente\Views\RecibosCliente_view.dproj" Targets="Clean" />
</Target>
<Target Name="RecibosCliente_view:Make">
<MSBuild Projects="..\Recibos de cliente\Views\RecibosCliente_view.dproj" Targets="Make" />
</Target>
<Target Name="Build"> <Target Name="Build">
<CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_view;RecibosProveedor_model;RecibosProveedor_data;RecibosProveedor_controller;RecibosProveedor_view;RecibosProveedor_plugin;FactuGES;FactuGES_Server" /> <CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_view;RecibosProveedor_model;RecibosProveedor_data;RecibosProveedor_controller;RecibosProveedor_view;RecibosProveedor_plugin;FactuGES;FactuGES_Server;RecibosCliente_view" />
</Target> </Target>
<Target Name="Clean"> <Target Name="Clean">
<CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_view:Clean;RecibosProveedor_model:Clean;RecibosProveedor_data:Clean;RecibosProveedor_controller:Clean;RecibosProveedor_view:Clean;RecibosProveedor_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean" /> <CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_view:Clean;RecibosProveedor_model:Clean;RecibosProveedor_data:Clean;RecibosProveedor_controller:Clean;RecibosProveedor_view:Clean;RecibosProveedor_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean;RecibosCliente_view:Clean" />
</Target> </Target>
<Target Name="Make"> <Target Name="Make">
<CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_view:Make;RecibosProveedor_model:Make;RecibosProveedor_data:Make;RecibosProveedor_controller:Make;RecibosProveedor_view:Make;RecibosProveedor_plugin:Make;FactuGES:Make;FactuGES_Server:Make" /> <CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_view:Make;RecibosProveedor_model:Make;RecibosProveedor_data:Make;RecibosProveedor_controller:Make;RecibosProveedor_view:Make;RecibosProveedor_plugin:Make;FactuGES:Make;FactuGES_Server:Make;RecibosCliente_view:Make" />
</Target> </Target>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" /> <Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project> </Project>

View File

@ -13,6 +13,33 @@ object srvRecibosProveedor: TsrvRecibosProveedor
ConnectionManager = dmServer.ConnectionManager ConnectionManager = dmServer.ConnectionManager
DataDictionary = DADataDictionary DataDictionary = DADataDictionary
Datasets = < Datasets = <
item
Params = <>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
Name = 'IBX'
SQL =
'select ANO from'#10'(select distinct(substr(FECHA_EMISION, 1,4)) as ' +
'ANO'#10'from recibos_proveedor'#10'order by 1 desc)'#10#10'UNION ALL'#10#10'select d' +
'istinct '#39'Todos'#39' as ANO'#10'from empresas'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ANO'
TableField = 'ANO'
end>
end>
Name = 'ListaAnosRecibos'
Fields = <
item
Name = 'ANO'
DataType = datString
Size = 255
end>
end
item item
Params = <> Params = <>
Statements = < Statements = <

View File

@ -43,11 +43,25 @@ inherited fEditorRecibosProveedor: TfEditorRecibosProveedor
inherited tbxMain: TTBXToolbar inherited tbxMain: TTBXToolbar
ExplicitWidth = 546 ExplicitWidth = 546
end end
inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 431
inherited lblAno: TTBXLabelItem
Visible = True
end
inherited cbxListaAnos: TTBXComboBoxItem
Visible = True
end
inherited sepAno: TTBXSeparatorItem
Visible = True
end
end
inherited tbxMenu: TTBXToolbar inherited tbxMenu: TTBXToolbar
ExplicitWidth = 638 ExplicitWidth = 638
end end
inherited TBXTMain2: TTBXToolbar inherited TBXTMain2: TTBXToolbar
Left = 431
Visible = True Visible = True
ExplicitLeft = 431
ExplicitWidth = 66 ExplicitWidth = 66
object TBXItem38: TTBXItem object TBXItem38: TTBXItem
Action = actInformes Action = actInformes

View File

@ -48,6 +48,8 @@ type
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject); procedure actEliminarUpdate(Sender: TObject);
procedure actInformesExecute(Sender: TObject); procedure actInformesExecute(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
private private
FRecibosProveedor: IBizRecibosProveedor; FRecibosProveedor: IBizRecibosProveedor;
FController : IRecibosProveedorController; FController : IRecibosProveedorController;
@ -63,6 +65,8 @@ type
procedure DuplicarInterno; override; procedure DuplicarInterno; override;
procedure ImprimirInterno; override; procedure ImprimirInterno; override;
procedure PrevisualizarInterno; override; procedure PrevisualizarInterno; override;
procedure RefrescarInterno; override;
public public
procedure PonerTitulos(const ATitulo: string = ''); override; procedure PonerTitulos(const ATitulo: string = ''); override;
property RecibosProveedor: IBizRecibosProveedor read GetRecibosProveedor write SetRecibosProveedor; property RecibosProveedor: IBizRecibosProveedor read GetRecibosProveedor write SetRecibosProveedor;
@ -189,6 +193,8 @@ end;
procedure TfEditorRecibosProveedor.FormShow(Sender: TObject); procedure TfEditorRecibosProveedor.FormShow(Sender: TObject);
begin begin
cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED
inherited; inherited;
if not Assigned(ViewGrid) then if not Assigned(ViewGrid) then
@ -233,6 +239,13 @@ begin
FController.Ver(FRecibosProveedor); FController.Ver(FRecibosProveedor);
end; end;
procedure TfEditorRecibosProveedor.OnListaAnosChange(Sender: TObject; const Text: string);
begin
Controller.FiltrarAno(RecibosProveedor, DynWhereDataTable, Text);
if RecibosProveedor.DataTable.Active then
RefrescarInterno;
end;
procedure TfEditorRecibosProveedor.PonerTitulos(const ATitulo: string); procedure TfEditorRecibosProveedor.PonerTitulos(const ATitulo: string);
var var
FTitulo : String; FTitulo : String;
@ -246,17 +259,37 @@ begin
inherited; inherited;
end; end;
procedure TfEditorRecibosProveedor.RefrescarInterno;
begin
//Volvemos a cargar los años de los recibos
if Assigned(FController) then
ListaAnos := FController.DarListaAnosRecibos;
inherited;
end;
procedure TfEditorRecibosProveedor.SetController(const Value: IRecibosProveedorController); procedure TfEditorRecibosProveedor.SetController(const Value: IRecibosProveedorController);
begin begin
FController := Value; FController := Value;
if Assigned(FController) then
ListaAnos := FController.DarListaAnosRecibos;
end; end;
procedure TfEditorRecibosProveedor.SetRecibosProveedor(const Value: IBizRecibosProveedor); procedure TfEditorRecibosProveedor.SetRecibosProveedor(const Value: IBizRecibosProveedor);
begin begin
FRecibosProveedor := Value; FRecibosProveedor := Value;
dsDataTable.DataTable := FRecibosProveedor.DataTable;
if Assigned(ViewGrid) then if Assigned(FRecibosProveedor) then
(ViewGrid as IViewRecibosProveedor).Recibos := FRecibosProveedor; begin
//Se guarda el where de la sentencia origen, por si el editor tiene filtros que
//afecten a este where y en un futuro se desea volver al where origen (filtro de año))
DynWhereDataTable := FRecibosProveedor.DataTable.DynamicWhere.Xml;
dsDataTable.DataTable := FRecibosProveedor.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewRecibosProveedor).Recibos := FRecibosProveedor;
end;
end; end;
end. end.

Binary file not shown.

View File

@ -120,14 +120,14 @@ uses
schEmpresasServer_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas', schEmpresasServer_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas',
schRemesasClienteClient_Intf in '..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas', schRemesasClienteClient_Intf in '..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas',
schRemesasClienteServer_Intf in '..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas', schRemesasClienteServer_Intf in '..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas',
schAlbaranesClienteClient_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas',
schAlbaranesClienteServer_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas',
schContabilidadClient_Intf in '..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas', schContabilidadClient_Intf in '..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas',
schContabilidadServer_Intf in '..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas', schContabilidadServer_Intf in '..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas',
schFacturasProveedorClient_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas',
schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas',
schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas', schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas',
schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas', schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas',
schAlbaranesClienteClient_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas',
schAlbaranesClienteServer_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas',
schFacturasProveedorClient_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas',
schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas',
schRecibosClienteClient_Intf in '..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas', schRecibosClienteClient_Intf in '..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas',
schRecibosClienteServer_Intf in '..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas', schRecibosClienteServer_Intf in '..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas',
schRecibosProveedorClient_Intf in '..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas', schRecibosProveedorClient_Intf in '..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas',

View File

@ -1,288 +1,284 @@
<?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">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> <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"/>
<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> <ItemGroup>
</Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject> <DelphiCompile Include="FactuGES_Server.dpr">
</ProjectExtensions> <MainSource>MainSource</MainSource>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" /> </DelphiCompile>
<ItemGroup> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosClient_Intf.pas"/>
<DelphiCompile Include="FactuGES_Server.dpr"> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosServer_Intf.pas"/>
<MainSource>MainSource</MainSource> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\uBizEjerciciosServer.pas"/>
</DelphiCompile> <DCCReference Include="..\ApplicationBase\Ejercicios\Servidor\srvEjercicios_Impl.pas">
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosClient_Intf.pas" /> <Form>srvEjercicios</Form>
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosServer_Intf.pas" /> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\uBizEjerciciosServer.pas" /> </DCCReference>
<DCCReference Include="..\ApplicationBase\Ejercicios\Servidor\srvEjercicios_Impl.pas"> <DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas"/>
<Form>srvEjercicios</Form> <DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas">
</DCCReference> <Form>srvEmpresas</Form>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas" /> <DesignClass>TDARemoteService</DesignClass>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas" /> </DCCReference>
<DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas"> <DCCReference Include="..\ApplicationBase\ProvinciasPoblaciones\Servidor\srvProvinciasPoblaciones_Impl.pas">
<Form>srvEmpresas</Form> <Form>srvProvinciasPoblaciones</Form>
<DesignClass>TDARemoteService</DesignClass> <DesignClass>TRORemoteDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\ApplicationBase\ProvinciasPoblaciones\Servidor\srvProvinciasPoblaciones_Impl.pas"> <DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas"/>
<Form>srvProvinciasPoblaciones</Form> <DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas"/>
<DesignClass>TRORemoteDataModule</DesignClass> <DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas"/>
</DCCReference> <DCCReference Include="..\Base\schBase_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas" /> <DCCReference Include="..\Base\Utiles\uSistemaFunc.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas" /> <DCCReference Include="..\Base\Utiles\uStringsUtils.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas" /> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas"/>
<DCCReference Include="..\Base\schBase_Intf.pas" /> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas"/>
<DCCReference Include="..\Base\Utiles\uSistemaFunc.pas" /> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas"/>
<DCCReference Include="..\Base\Utiles\uStringsUtils.pas" /> <DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas" /> <DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas">
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas" /> <Form>srvAlbaranesCliente</Form>
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas" /> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas"> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas"/>
<Form>srvAlbaranesCliente</Form> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS"/>
</DCCReference> <DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas" /> <Form>srvAlbaranesProveedor</Form>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas" /> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS" /> </DCCReference>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas"> <DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas"/>
<Form>srvAlbaranesProveedor</Form> <DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas">
</DCCReference> <Form>srvAlmacenes</Form>
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas" /> <DesignClass>TDARemoteService</DesignClass>
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas"> <DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas"/>
<Form>srvAlmacenes</Form> <DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas"/>
<DesignClass>TDARemoteService</DesignClass> <DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Comisiones\Model\schComisionesClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas" /> <DCCReference Include="..\Modulos\Comisiones\Model\schComisionesServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas" /> <DCCReference Include="..\Modulos\Comisiones\Model\uBizComisionesServer.pas"/>
<DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas" /> <DCCReference Include="..\Modulos\Comisiones\Reports\uRptComisiones_Server.pas">
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesClient_Intf.pas" /> <Form>RptComisiones</Form>
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesServer_Intf.pas" /> <DesignClass>TDataModule</DesignClass>
<DCCReference Include="..\Modulos\Comisiones\Model\uBizComisionesServer.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Comisiones\Reports\uRptComisiones_Server.pas"> <DCCReference Include="..\Modulos\Comisiones\Servidor\srvComisiones_Impl.pas">
<Form>RptComisiones</Form> <Form>srvComisiones</Form>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Comisiones\Servidor\srvComisiones_Impl.pas"> <DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas"/>
<Form>srvComisiones</Form> <DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Contabilidad\Model\uBizAsientosServer.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Contabilidad\Servidor\srvContabilidad_Impl.pas">
<DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas" /> <Form>srvContabilidad</Form>
<DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas" /> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Contabilidad\Model\uBizAsientosServer.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Contabilidad\Servidor\srvContabilidad_Impl.pas"> <DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas"/>
<Form>srvContabilidad</Form> <DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas" /> <DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas" /> <DCCReference Include="..\Modulos\Contactos\Model\uBizVendedoresServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas" /> <DCCReference Include="..\Modulos\Contactos\Reports\uRptEtiquetasContacto_Server.pas">
<DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas" /> <Form>RptEtiquetasContacto</Form>
<DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas" /> <DesignClass>TDataModule</DesignClass>
<DCCReference Include="..\Modulos\Contactos\Model\uBizVendedoresServer.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Contactos\Reports\uRptEtiquetasContacto_Server.pas"> <DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas">
<Form>RptEtiquetasContacto</Form> <Form>srvContactos</Form>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDARemoteService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas"> <DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas"/>
<Form>srvContactos</Form> <DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas"/>
<DesignClass>TDARemoteService</DesignClass> <DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas">
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas" /> <Form>RptFacturasCliente</Form>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas" /> <DesignClass>TDataModule</DesignClass>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas"> <DCCReference Include="..\Modulos\Facturas de cliente\Servidor\srvFacturasCliente_Impl.pas">
<Form>RptFacturasCliente</Form> <Form>srvFacturasCliente</Form>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Servidor\srvFacturasCliente_Impl.pas"> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas"/>
<Form>srvFacturasCliente</Form> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas">
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas" /> <Form>RptFacturasProveedor</Form>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas" /> <DesignClass>TDataModule</DesignClass>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas"> <DCCReference Include="..\Modulos\Facturas de proveedor\Servidor\srvFacturasProveedor_Impl.pas">
<Form>RptFacturasProveedor</Form> <Form>srvFacturasProveedor</Form>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Servidor\srvFacturasProveedor_Impl.pas"> <DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas"/>
<Form>srvFacturasProveedor</Form> <DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas" /> <DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas" /> <DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas"/>
<DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas" /> <DCCReference Include="..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas">
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas" /> <Form>srvGestorDocumentos</Form>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas" /> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas"> <DCCReference Include="..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas">
<Form>srvGestorDocumentos</Form> <Form>srvGestorInformes</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas"> <DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas"/>
<Form>srvGestorInformes</Form> <DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas">
</DCCReference> <Form>srvHistoricoMovimientos</Form>
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas" /> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas"> <DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas"/>
<Form>srvHistoricoMovimientos</Form> <DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas">
</DCCReference> <Form>srvInventario</Form>
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas" /> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas"> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas"/>
<Form>srvInventario</Form> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Pedidos a proveedor\Servidor\srvPedidosProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas" /> <Form>srvPedidosProveedor</Form>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas" /> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Servidor\srvPedidosProveedor_Impl.pas"> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas"/>
<Form>srvPedidosProveedor</Form> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas">
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas" /> <Form>RptPresupuestosCliente</Form>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas" /> <DCCReference Include="..\Modulos\Presupuestos de cliente\Servidor\srvPresupuestosCliente_Impl.pas">
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas"> <Form>srvPresupuestosCliente</Form>
<Form>RptPresupuestosCliente</Form> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Servidor\srvPresupuestosCliente_Impl.pas"> <DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas"/>
<Form>srvPresupuestosCliente</Form> <DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas"/>
<DesignClass>TDataAbstractService</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\Model\schRecibosClienteClient_Intf.pas" /> <DCCReference Include="..\Modulos\Recibos de cliente\Reports\uRptRecibosCliente_Server.pas">
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas" /> <Form>RptRecibosCliente</Form>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizPagosClienteServer.pas" /> <DesignClass>TDataModule</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\Servidor\srvRecibosCliente_Impl.pas">
<Form>RptRecibosCliente</Form> <Form>srvRecibosCliente</Form>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Servidor\srvRecibosCliente_Impl.pas"> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas"/>
<Form>srvRecibosCliente</Form> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas"/>
<DesignClass>TDataAbstractService</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\Model\schRecibosProveedorClient_Intf.pas" /> <DCCReference Include="..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas">
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas" /> <Form>RptRecibosProveedor</Form>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizPagosProveedorServer.pas" /> <DesignClass>TDataModule</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\Servidor\srvRecibosProveedor_Impl.pas">
<Form>RptRecibosProveedor</Form> <Form>srvRecibosProveedor</Form>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Servidor\srvRecibosProveedor_Impl.pas"> <DCCReference Include="..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas"/>
<Form>srvRecibosProveedor</Form> <DCCReference Include="..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas">
</DCCReference> <Form>srvReferencias</Form>
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas" /> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas"> <DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas"/>
<Form>srvReferencias</Form> <DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas">
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas" /> <Form>srvRemesasCliente</Form>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas" /> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas"> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas"/>
<Form>srvRemesasCliente</Form> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas" /> <Form>srvRemesasProveedor</Form>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas" /> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas"> <DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas"/>
<Form>srvRemesasProveedor</Form> <DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas"/>
</DCCReference> <DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas" /> <DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas" /> <DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas">
<DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas" /> <Form>srvUnidadesMedida</Form>
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas" /> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas" /> </DCCReference>
<DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas"> <DCCReference Include="..\Servicios\FactuGES_Intf.pas"/>
<Form>srvUnidadesMedida</Form> <DCCReference Include="..\Servicios\FactuGES_Invk.pas"/>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="Configuracion\srvConfiguracion_Impl.pas">
</DCCReference> <Form>srvConfiguracion</Form>
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" /> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Servicios\FactuGES_Invk.pas" /> </DCCReference>
<DCCReference Include="Configuracion\srvConfiguracion_Impl.pas"> <DCCReference Include="Configuracion\uConexionBD.pas">
<Form>srvConfiguracion</Form> <Form>frConexionBD</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TFrame</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="Configuracion\uConexionBD.pas"> <DCCReference Include="Configuracion\uConfGeneral.pas">
<Form>frConexionBD</Form> <Form>frConfGeneral</Form>
<DesignClass>TFrame</DesignClass> <DesignClass>TFrame</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="Configuracion\uConfGeneral.pas"> <DCCReference Include="Configuracion\uConfiguracion.pas">
<Form>frConfGeneral</Form> <Form>fConfiguracion</Form>
<DesignClass>TFrame</DesignClass> <DesignClass>TForm</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="Configuracion\uConfiguracion.pas"> <DCCReference Include="Configuracion\uFrameConfiguracion.pas">
<Form>fConfiguracion</Form> <Form>FrameConfiguracion</Form>
<DesignClass>TForm</DesignClass> <DesignClass>TFrame</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="Configuracion\uFrameConfiguracion.pas"> <DCCReference Include="srvLogin_Impl.pas">
<Form>FrameConfiguracion</Form> <Form>srvLogin</Form>
<DesignClass>TFrame</DesignClass> <DesignClass>TDARemoteService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="srvLogin_Impl.pas"> <DCCReference Include="uAcercaDe.pas">
<Form>srvLogin</Form> <Form>fAcercaDe</Form>
<DesignClass>TDARemoteService</DesignClass> </DCCReference>
</DCCReference> <DCCReference Include="uDataModuleServer.pas">
<DCCReference Include="uAcercaDe.pas"> <Form>dmServer</Form>
<Form>fAcercaDe</Form> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="uDataModuleServer.pas"> <DCCReference Include="uServerMainForm.pas">
<Form>dmServer</Form> <Form>fServerForm</Form>
<DesignClass>TDataModule</DesignClass> </DCCReference>
</DCCReference> <DCCReference Include="Utiles\RegExpr.pas"/>
<DCCReference Include="uServerMainForm.pas"> <DCCReference Include="Utiles\uBusinessUtils.pas"/>
<Form>fServerForm</Form> <DCCReference Include="Utiles\uDatabaseUtils.pas"/>
</DCCReference> <DCCReference Include="Utiles\uReferenciasUtils.pas"/>
<DCCReference Include="Utiles\RegExpr.pas" /> <DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas"/>
<DCCReference Include="Utiles\uBusinessUtils.pas" /> <DCCReference Include="Utiles\uSchemaUtilsServer.pas"/>
<DCCReference Include="Utiles\uDatabaseUtils.pas" /> <DCCReference Include="Utiles\uServerAppUtils.pas"/>
<DCCReference Include="Utiles\uReferenciasUtils.pas" /> <DCCReference Include="Utiles\uSesionesUtils.pas"/>
<DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas" /> </ItemGroup>
<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

@ -1,7 +1,7 @@
MAINICON ICON "C:\Codigo Acana\Resources\Iconos\Servidor.ico" MAINICON ICON "C:\Codigo Acana\Resources\Iconos\Servidor.ico"
1 VERSIONINFO 1 VERSIONINFO
FILEVERSION 2,2,9,0 FILEVERSION 2,3,0,0
PRODUCTVERSION 2,2,9,0 PRODUCTVERSION 2,3,0,0
FILEFLAGSMASK 0x3FL FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L FILEFLAGS 0x00L
FILEOS 0x40004L FILEOS 0x40004L
@ -13,10 +13,10 @@ BEGIN
BLOCK "0C0A04E4" BLOCK "0C0A04E4"
BEGIN BEGIN
VALUE "CompanyName", "Rodax Software S.L.\0" VALUE "CompanyName", "Rodax Software S.L.\0"
VALUE "FileVersion", "2.2.9.0\0" VALUE "FileVersion", "2.3.0.0\0"
VALUE "ProductName", "FactuGES (Servidor)\0" VALUE "ProductName", "FactuGES (Servidor)\0"
VALUE "ProductVersion", "2.2.9.0\0" VALUE "ProductVersion", "2.3.0.0\0"
VALUE "CompileDate", "martes, 10 de marzo de 2009 19:06\0" VALUE "CompileDate", "miércoles, 11 de marzo de 2009 13:31\0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"