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>
<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>
<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\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
@ -58,53 +65,53 @@
<DelphiCompile Include="Base.dpk">
<MainSource>MainSource</MainSource>
</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="..\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">
<Form>fConfigurarConexion</Form>
<DesignClass>TForm</DesignClass>

Binary file not shown.

View File

@ -1,7 +1,7 @@
MAINICON ICON "C:\Codigo Acana\Resources\Iconos\Factuges.ico"
1 VERSIONINFO
FILEVERSION 2,2,9,0
PRODUCTVERSION 2,2,9,0
FILEVERSION 2,3,0,0
PRODUCTVERSION 2,3,0,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
@ -13,10 +13,10 @@ BEGIN
BLOCK "0C0A04E4"
BEGIN
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 "ProductName", "FactuGES\0"
VALUE "ProductVersion", "2.2.9.0\0"
VALUE "ProductVersion", "2.3.0.0\0"
END
END
BLOCK "VarFileInfo"

Binary file not shown.

View File

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

View File

@ -90,6 +90,16 @@ inherited fEditorGridBase: TfEditorGridBase
ShowHint = True
ShrinkMode = tbsmNone
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
Caption = 'Filtrar:'
end

View File

@ -64,6 +64,9 @@ type
N41: TMenuItem;
TBXSubmenuItem32: TTBXSubmenuItem;
TBXItem1039: TTBXItem;
lblAno: TTBXLabelItem;
cbxListaAnos: TTBXComboBoxItem;
sepAno: TTBXSeparatorItem;
procedure tbxEditFiltroChange(Sender: TObject; const Text: String);
procedure FormShow(Sender: TObject);
procedure actQuitarFiltroExecute(Sender: TObject);
@ -79,7 +82,16 @@ type
procedure actExportarExcelExecute(Sender: TObject);
procedure actExportarExcelUpdate(Sender: TObject);
protected
FListaAnos: TStringList;
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;
function GetViewGrid: IViewGridBase;
procedure SetMultiSelect (AValue : Boolean);
@ -90,7 +102,9 @@ type
procedure ImprimirInterno; override;
procedure RefrescarInterno; override;
public
property ListaAnos: TStringList read GetListaAnos write SetListaAnos;
property ViewGrid: IViewGridBase read GetViewGrid write SetViewGrid;
property DynWhereDataTable: WideString read GetDynWhereDataTable write SetDynWhereDataTable;
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
constructor Create(AOwner : TComponent); override;
@ -109,10 +123,24 @@ uses
}
destructor TfEditorGridBase.Destroy;
begin
FDynWhereDataTable := '';
FViewGrid := NIL;
if Assigned(FListaAnos) then
FlistaAnos.Free;
inherited;
end;
function TfEditorGridBase.GetDynWhereDataTable: WideString;
begin
Result := FDynWhereDataTable;
end;
function TfEditorGridBase.GetListaAnos: TStringList;
begin
Result := FListaAnos;
end;
function TfEditorGridBase.GetMultiSelect: Boolean;
begin
Result := False;
@ -131,6 +159,47 @@ begin
ViewGrid.Print;
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);
begin
if Assigned(ViewGrid) then
@ -166,6 +235,8 @@ begin
ViewGrid.ShowEmbedded(Self);
ViewGrid.RestoreFromIniFile;
end;
cbxListaAnos.ItemIndex := 0;
end;
procedure TfEditorGridBase.actEliminarUpdate(Sender: TObject);
@ -265,6 +336,7 @@ end;
constructor TfEditorGridBase.Create(AOwner: TComponent);
begin
inherited;
FDynWhereDataTable := '';
actModificar.ShortCut := ShortCut(VK_RETURN, []);
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
SysUtils, uDADataTable, uEditorDBItem,
SysUtils, Classes, uDADataTable, uEditorDBItem,
uControllerBase, uIDataModuleAlbaranesCliente, uClientesController,
uDetallesAlbaranClienteController, uBizAlbaranesCliente, uBizDireccionesContacto;
@ -59,6 +59,9 @@ type
ANuevaSituacion: String; AFechaEnvio : TDateTime = 0;
AFechaRecibido : TDateTime = 0;
DoPost: Boolean = True) : Boolean;
function DarListaAnosAlbaranes: TStringList;
procedure FiltrarAno(AAlbaran: IBizAlbaranCliente; ADynWhereDataTable: WideString; const Ano: String);
end;
TAlbaranesClienteController = class(TControllerBase, IAlbaranesClienteController)
@ -137,6 +140,9 @@ type
procedure Print(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false);
procedure EtiquetasPreview(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;
implementation
@ -146,7 +152,7 @@ uses
uROTypes, Controls, cxControls, DB, uEditorRegistryUtils, uEditorPreview, DateUtils,
uIEditorAlbaranesCliente, uIEditorAlbaranesDevCliente, uIEditorAlbaranDevCliente,
uDataModuleAlbaranesCliente, Variants, uBizDetallesAlbaranCliente, uSistemaFunc,
uBizContactos, uDataTableUtils, uDataModuleUsuarios, Classes, uFactuGES_App,
uBizContactos, uDataTableUtils, uDataModuleUsuarios, uFactuGES_App,
schAlbaranesClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorAlbaranCliente,
uIEditorElegirAlbaranesCliente, uIEditorDireccionEntregaAlbaranCliente,
schContactosClient_Intf, uAlbaranesClienteReportController,
@ -380,6 +386,11 @@ begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end;
function TAlbaranesClienteController.DarListaAnosAlbaranes: TStringList;
begin
Result := FDataModule.GetAnosItems;
end;
procedure TAlbaranesClienteController.DescartarCambios(AAlbaran: IBizAlbaranCliente);
begin
if not Assigned(AAlbaran) then
@ -857,6 +868,35 @@ begin
Result := ASeleccionados;
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);
var
Condicion: TDAWhereExpression;

View File

@ -1,6 +1,6 @@
inherited DataModuleAlbaranesCliente: TDataModuleAlbaranesCliente
OnCreate = DAClientDataModuleCreate
Height = 234
Height = 374
Width = 484
object RORemoteService: TRORemoteService
Message = dmConexion.ROMessage
@ -428,4 +428,28 @@ inherited DataModuleAlbaranesCliente: TDataModuleAlbaranesCliente
Left = 384
Top = 56
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

View File

@ -20,6 +20,8 @@ type
ds_AlbaranesCliente: TDADataSource;
tbl_AlbaranesCliente_Detalles: TDAMemDataTable;
ds_AlbaranesCliente_Detalles: TDADataSource;
tbl_ListaAnosAlbaranes: TDAMemDataTable;
ds_ListaAnosAlbaranes: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject);
private
@ -29,6 +31,7 @@ type
procedure AsignarClaseNegocio(AAlbaran: TDADataTable); virtual;
public
function GetAnosItems : TStringList;
function GetItems : IBizAlbaranCliente; virtual;
function GetItem(const ID : Integer) : IBizAlbaranCliente;
function NewItem : IBizAlbaranCliente;
@ -109,6 +112,30 @@ begin
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;
begin
Result := (RORemoteService as IsrvAlbaranesCliente).GenerarInformeEtiquetas(AID, withRefCliente)

View File

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

View File

@ -9,13 +9,21 @@ const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_AlbaranesCliente = '{5C4C05DF-4F36-42A3-99B4-DFB3A7AD89CA}';
RID_AlbaranesCliente_Detalles = '{B01769A9-4634-4893-BB47-AEA3E26FCF82}';
RID_ListaAnosAlbaranes = '{247D0B91-C596-409D-96BB-E8EE86FC35BA}';
RID_AlbaranesCliente = '{B4A7B6AB-D35C-43AF-8AE7-C59856BF0BD6}';
RID_AlbaranesCliente_Detalles = '{793305FD-EE30-43D1-8EA9-46DA228A0158}';
{ Data table names }
nme_ListaAnosAlbaranes = 'ListaAnosAlbaranes';
nme_AlbaranesCliente = 'AlbaranesCliente';
nme_AlbaranesCliente_Detalles = 'AlbaranesCliente_Detalles';
{ ListaAnosAlbaranes fields }
fld_ListaAnosAlbaranesANO = 'ANO';
{ ListaAnosAlbaranes field indexes }
idx_ListaAnosAlbaranesANO = 0;
{ AlbaranesCliente fields }
fld_AlbaranesClienteID = 'ID';
fld_AlbaranesClienteID_EMPRESA = 'ID_EMPRESA';
@ -137,9 +145,44 @@ const
idx_AlbaranesCliente_DetallesREFERENCIA_PROVEEDOR = 13;
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 = interface(IDAStronglyTypedDataTable)
['{6AC3B22E-CE4C-4A1F-9373-B342F525C057}']
['{D06A17AE-53EA-4AF3-B4A8-E962390A129D}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -666,7 +709,7 @@ type
{ IAlbaranesCliente_Detalles }
IAlbaranesCliente_Detalles = interface(IDAStronglyTypedDataTable)
['{61E85E5C-B0EF-4350-A06D-5601DB03ADB2}']
['{4BD53665-58C8-41D1-BD2A-89023DB2C62C}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -859,6 +902,39 @@ implementation
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 }
constructor TAlbaranesClienteDataTableRules.Create(aDataTable: TDADataTable);
var
@ -2072,6 +2148,7 @@ end;
initialization
RegisterDataTableRules(RID_ListaAnosAlbaranes, TListaAnosAlbaranesDataTableRules);
RegisterDataTableRules(RID_AlbaranesCliente, TAlbaranesClienteDataTableRules);
RegisterDataTableRules(RID_AlbaranesCliente_Detalles, TAlbaranesCliente_DetallesDataTableRules);

View File

@ -9,13 +9,48 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_AlbaranesClienteDelta = '{07089145-5284-4338-A434-D04FD6D3C95E}';
RID_AlbaranesCliente_DetallesDelta = '{2B77EEBC-CEEE-4FED-A05D-8FBB11FAC5AA}';
RID_ListaAnosAlbaranesDelta = '{E3D4415E-CAFC-4013-9A38-57F328741AE1}';
RID_AlbaranesClienteDelta = '{4CBCD975-355D-4537-8C6D-498D05CC4FA8}';
RID_AlbaranesCliente_DetallesDelta = '{46AA67C6-8B12-4327-8659-A8A97DE36553}';
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 = interface(IAlbaranesCliente)
['{07089145-5284-4338-A434-D04FD6D3C95E}']
['{4CBCD975-355D-4537-8C6D-498D05CC4FA8}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -543,7 +578,7 @@ type
{ IAlbaranesCliente_DetallesDelta }
IAlbaranesCliente_DetallesDelta = interface(IAlbaranesCliente_Detalles)
['{2B77EEBC-CEEE-4FED-A05D-8FBB11FAC5AA}']
['{46AA67C6-8B12-4327-8659-A8A97DE36553}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_ALBARANValue : Integer;
@ -736,6 +771,49 @@ implementation
uses
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 }
constructor TAlbaranesClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
var
@ -2511,6 +2589,7 @@ end;
initialization
RegisterBusinessProcessorRules(RID_ListaAnosAlbaranesDelta, TListaAnosAlbaranesBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_AlbaranesClienteDelta, TAlbaranesClienteBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_AlbaranesCliente_DetallesDelta, TAlbaranesCliente_DetallesBusinessProcessorRules);

View File

@ -14,6 +14,33 @@ object srvAlbaranesCliente: TsrvAlbaranesCliente
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DADataDictionary
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
Params = <>
Statements = <

View File

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

View File

@ -48,6 +48,7 @@ type
procedure actConfirmarRecepcionUpdate(Sender: TObject);
procedure actGenerarEtiquetasExecute(Sender: TObject);
procedure actGenerarEtiquetasUpdate(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
protected
FAlbaranes: IBizAlbaranCliente;
@ -65,6 +66,7 @@ type
procedure DuplicarInterno; override;
procedure ImprimirInterno; override;
procedure PrevisualizarInterno; override;
procedure RefrescarInterno; override;
//Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este método
@ -341,6 +343,8 @@ end;
procedure TfEditorAlbaranesCliente.FormShow(Sender: TObject);
begin
cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED
inherited;
if not Assigned(ViewGrid) then
@ -460,6 +464,13 @@ begin
}
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);
var
FTitulo : String;
@ -513,17 +524,37 @@ begin
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);
begin
FController := Value;
if Assigned(FController) then
ListaAnos := FController.DarListaAnosAlbaranes;
end;
procedure TfEditorAlbaranesCliente.SetAlbaranes(const Value: IBizAlbaranCliente);
begin
FAlbaranes := Value;
dsDataTable.DataTable := FAlbaranes.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewAlbaranesCliente).Albaranes := Albaranes;
if Assigned(FAlbaranes) then
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.

View File

@ -48,6 +48,9 @@ type
procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AFactura: IBizFacturaCliente);
procedure SetIgnorarContabilidad (AFactura: IBizFacturaCliente; const Ignorar: Integer);
function DarListaAnosFacturas: TStringList;
procedure FiltrarAno(AFactura: IBizFacturaCliente; ADynWhereDataTable: WideString; const Ano: String);
end;
TFacturasClienteController = class(TControllerBase, IFacturasClienteController)
@ -111,6 +114,9 @@ type
procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AFactura: IBizFacturaCliente);
procedure SetIgnorarContabilidad (AFactura: IBizFacturaCliente; const Ignorar: Integer);
function DarListaAnosFacturas: TStringList;
procedure FiltrarAno(AFactura: IBizFacturaCliente; ADynWhereDataTable: WideString; const Ano: String);
end;
implementation
@ -515,6 +521,11 @@ begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end;
function TFacturasClienteController.DarListaAnosFacturas: TStringList;
begin
Result := FDataModule.GetAnosItems;
end;
procedure TFacturasClienteController.DescartarCambios(AFactura: IBizFacturaCliente);
begin
if not Assigned(AFactura) then
@ -943,6 +954,35 @@ begin
Result := ASeleccionados;
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);
var
Condicion: TDAWhereExpression;

View File

@ -1,6 +1,6 @@
inherited DataModuleFacturasCliente: TDataModuleFacturasCliente
OnCreate = DAClientDataModuleCreate
Height = 207
Height = 398
Width = 518
object RORemoteService: TRORemoteService
Message = dmConexion.ROMessage
@ -419,4 +419,28 @@ inherited DataModuleFacturasCliente: TDataModuleFacturasCliente
Left = 400
Top = 40
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

View File

@ -21,10 +21,13 @@ type
ds_FacturasCliente: TDADataSource;
tbl_FacturasCliente_Detalles: TDAMemDataTable;
ds_FacturasCliente_Detalles: TDADataSource;
tbl_ListaAnosFacturas: TDAMemDataTable;
ds_ListaAnosFacturas: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject);
private
function _GetDetalles : IBizDetallesFacturaCliente;
public
function GetAnosItems : TStringList;
function GetItems : IBizFacturaCliente;
function GetItem(const ID : Integer) : IBizFacturaCliente;
function NewItem : IBizFacturaCliente;
@ -84,6 +87,30 @@ begin
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;
var
Condicion: TDAWhereExpression;

View File

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

View File

@ -9,13 +9,21 @@ const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_FacturasCliente = '{02DBD50A-E80C-4275-BFEE-BF157514D41F}';
RID_FacturasCliente_Detalles = '{642F747B-097F-4C29-B2A4-DCD4D2C33824}';
RID_ListaAnosFacturas = '{ED86AEEA-0208-4717-8C5F-35D6A69D96B5}';
RID_FacturasCliente = '{06968EF9-A6E1-4260-AF23-37F7FEFC3258}';
RID_FacturasCliente_Detalles = '{2682A446-07E2-4D50-887C-8ED86B4F37A8}';
{ Data table names }
nme_ListaAnosFacturas = 'ListaAnosFacturas';
nme_FacturasCliente = 'FacturasCliente';
nme_FacturasCliente_Detalles = 'FacturasCliente_Detalles';
{ ListaAnosFacturas fields }
fld_ListaAnosFacturasANO = 'ANO';
{ ListaAnosFacturas field indexes }
idx_ListaAnosFacturasANO = 0;
{ FacturasCliente fields }
fld_FacturasClienteID = 'ID';
fld_FacturasClienteID_EMPRESA = 'ID_EMPRESA';
@ -141,9 +149,44 @@ const
idx_FacturasCliente_DetallesREFERENCIA_PROVEEDOR = 13;
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 = interface(IDAStronglyTypedDataTable)
['{6C1D0551-0751-4021-9476-820DA8DFDEC2}']
['{118A499A-5BDB-4073-89CB-264C0E6D8B81}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -694,7 +737,7 @@ type
{ IFacturasCliente_Detalles }
IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable)
['{010E516F-BB41-4392-8DDC-D0C2CE7144CF}']
['{381C652C-E873-49CA-9961-CAD360ADB519}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -887,6 +930,39 @@ implementation
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 }
constructor TFacturasClienteDataTableRules.Create(aDataTable: TDADataTable);
var
@ -2137,6 +2213,7 @@ end;
initialization
RegisterDataTableRules(RID_ListaAnosFacturas, TListaAnosFacturasDataTableRules);
RegisterDataTableRules(RID_FacturasCliente, TFacturasClienteDataTableRules);
RegisterDataTableRules(RID_FacturasCliente_Detalles, TFacturasCliente_DetallesDataTableRules);

View File

@ -9,13 +9,48 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_FacturasClienteDelta = '{77786E5C-76FA-4B31-A625-81EEDB4F0EF5}';
RID_FacturasCliente_DetallesDelta = '{172DCD31-566D-43AD-B3BD-79D70B765BD3}';
RID_ListaAnosFacturasDelta = '{1044511F-C860-4A20-B049-0B443D1D266B}';
RID_FacturasClienteDelta = '{6E43BA0F-875D-4641-BD3B-26C3971CD234}';
RID_FacturasCliente_DetallesDelta = '{48031B0F-EA4E-429B-8A5A-80AE04B47531}';
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 = interface(IFacturasCliente)
['{77786E5C-76FA-4B31-A625-81EEDB4F0EF5}']
['{6E43BA0F-875D-4641-BD3B-26C3971CD234}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -566,7 +601,7 @@ type
{ IFacturasCliente_DetallesDelta }
IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles)
['{172DCD31-566D-43AD-B3BD-79D70B765BD3}']
['{48031B0F-EA4E-429B-8A5A-80AE04B47531}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_FACTURAValue : Integer;
@ -759,6 +794,49 @@ implementation
uses
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 }
constructor TFacturasClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
var
@ -2590,6 +2668,7 @@ end;
initialization
RegisterBusinessProcessorRules(RID_ListaAnosFacturasDelta, TListaAnosFacturasBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_FacturasClienteDelta, TFacturasClienteBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_FacturasCliente_DetallesDelta, TFacturasCliente_DetallesBusinessProcessorRules);

View File

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

View File

@ -15,6 +15,33 @@ object srvFacturasCliente: TsrvFacturasCliente
DataDictionary = DataDictionary
Diagrams = Diagrams
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
Params = <>
Statements = <

View File

@ -57,11 +57,25 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Visible = False
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
ExplicitWidth = 640
end
inherited TBXTMain2: TTBXToolbar
Left = 431
Visible = True
ExplicitLeft = 431
ExplicitWidth = 83
object TBXItem40: TTBXItem
Action = actInformes

View File

@ -40,6 +40,8 @@ type
procedure actNuevaFacturaExecute(Sender: TObject);
procedure actNuevoAbonoExecute(Sender: TObject);
procedure actInformesExecute(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
private
FFacturas: IBizFacturaCliente;
FController : IFacturasClienteController;
@ -49,12 +51,15 @@ type
function GetController : IFacturasClienteController; virtual;
procedure SetController (const Value : IFacturasClienteController); virtual;
procedure NuevoInterno; override;
procedure EliminarInterno; override;
procedure ModificarInterno; override;
procedure DuplicarInterno; override;
procedure ImprimirInterno; override;
procedure PrevisualizarInterno; override;
procedure RefrescarInterno; override;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
property Facturas: IBizFacturaCliente read GetFacturas write SetFacturas;
@ -257,6 +262,8 @@ end;
procedure TfEditorFacturasCliente.FormShow(Sender: TObject);
begin
cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED
inherited;
if not Assigned(ViewGrid) then
@ -373,6 +380,13 @@ begin
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);
var
FTitulo : String;
@ -422,17 +436,37 @@ begin
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);
begin
FController := Value;
if Assigned(FController) then
ListaAnos := FController.DarListaAnosFacturas;
end;
procedure TfEditorFacturasCliente.SetFacturas(const Value: IBizFacturaCliente);
begin
FFacturas := Value;
dsDataTable.DataTable := FFacturas.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewFacturasCliente).Facturas := Facturas;
if Assigned(FFacturas) then
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.

View File

@ -49,6 +49,9 @@ type
procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AFactura: IBizFacturaProveedor);
procedure SetIgnorarContabilidad (AFactura: IBizFacturaProveedor; const Ignorar: Integer);
function DarListaAnosFacturas: TStringList;
procedure FiltrarAno(AFactura: IBizFacturaProveedor; ADynWhereDataTable: WideString; const Ano: String);
end;
TFacturasProveedorController = class(TControllerBase, IFacturasProveedorController)
@ -113,6 +116,9 @@ type
procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; AFactura: IBizFacturaProveedor);
procedure SetIgnorarContabilidad (AFactura: IBizFacturaProveedor; const Ignorar: Integer);
function DarListaAnosFacturas: TStringList;
procedure FiltrarAno(AFactura: IBizFacturaProveedor; ADynWhereDataTable: WideString; const Ano: String);
end;
implementation
@ -557,6 +563,11 @@ begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end;
function TFacturasProveedorController.DarListaAnosFacturas: TStringList;
begin
Result := FDataModule.GetAnosItems;
end;
procedure TFacturasProveedorController.DescartarCambios(AFactura: IBizFacturaProveedor);
begin
if not Assigned(AFactura) then
@ -984,6 +995,35 @@ begin
Result := ASeleccionados;
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);
var
Condicion: TDAWhereExpression;

View File

@ -1,6 +1,6 @@
inherited DataModuleFacturasProveedor: TDataModuleFacturasProveedor
OnCreate = DAClientDataModuleCreate
Height = 246
Height = 372
Width = 518
object RORemoteService: TRORemoteService
Message = dmConexion.ROMessage
@ -406,4 +406,28 @@ inherited DataModuleFacturasProveedor: TDataModuleFacturasProveedor
Left = 368
Top = 104
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

View File

@ -20,10 +20,13 @@ type
ds_FacturasProveedor: TDADataSource;
tbl_FacturasProveedor_Detalles: TDAMemDataTable;
ds_FacturasProveedor_Detalles: TDADataSource;
tbl_ListaAnosFacturas: TDAMemDataTable;
ds_ListaAnosFacturas: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject);
private
function _GetDetalles : IBizDetallesFacturaProveedor;
public
function GetAnosItems : TStringList;
function GetItems : IBizFacturaProveedor;
function GetItem(const ID : Integer) : IBizFacturaProveedor;
function NewItem : IBizFacturaProveedor;
@ -76,6 +79,30 @@ begin
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;
var
Condicion: TDAWhereExpression;

View File

@ -18,10 +18,6 @@
<Projects Include="..\Contactos\Data\Contactos_data.dproj" />
<Projects Include="..\Contactos\Model\Contactos_model.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="..\Recibos de proveedor\Controller\RecibosProveedor_controller.dproj" />
<Projects Include="Controller\FacturasProveedor_controller.dproj" />
@ -225,50 +221,14 @@
<Target Name="Contactos_data:Make">
<MSBuild Projects="..\Contactos\Data\Contactos_data.dproj" Targets="Make" />
</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">
<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 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 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>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project>

View File

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

View File

@ -9,13 +9,21 @@ const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_FacturasProveedor = '{65925C03-CA37-4D4C-A571-E55853C26BA9}';
RID_FacturasProveedor_Detalles = '{10E36F34-C565-4C28-B800-2E679843DCED}';
RID_ListaAnosFacturas = '{9E91F819-43C2-41C2-9676-F03332208B2C}';
RID_FacturasProveedor = '{5C533F5E-8FCD-4317-9D2E-F1F0E33A34A9}';
RID_FacturasProveedor_Detalles = '{8BF1D455-8054-4877-BB76-B513DC0D5013}';
{ Data table names }
nme_ListaAnosFacturas = 'ListaAnosFacturas';
nme_FacturasProveedor = 'FacturasProveedor';
nme_FacturasProveedor_Detalles = 'FacturasProveedor_Detalles';
{ ListaAnosFacturas fields }
fld_ListaAnosFacturasANO = 'ANO';
{ ListaAnosFacturas field indexes }
idx_ListaAnosFacturasANO = 0;
{ FacturasProveedor fields }
fld_FacturasProveedorID = 'ID';
fld_FacturasProveedorID_EMPRESA = 'ID_EMPRESA';
@ -137,9 +145,44 @@ const
idx_FacturasProveedor_DetallesREFERENCIA_PROVEEDOR = 13;
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 = interface(IDAStronglyTypedDataTable)
['{F2F30017-EDDC-4294-8A13-93D1B4D70D0C}']
['{2A13A3FA-6FBB-4E2B-A5B9-52470DCAF0E6}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -666,7 +709,7 @@ type
{ IFacturasProveedor_Detalles }
IFacturasProveedor_Detalles = interface(IDAStronglyTypedDataTable)
['{FB8F2FD1-E2A2-42EE-8027-9B399F363BB6}']
['{36E09C88-81CA-409B-BEA3-5BEFD098DF61}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -859,6 +902,39 @@ implementation
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 }
constructor TFacturasProveedorDataTableRules.Create(aDataTable: TDADataTable);
var
@ -2067,6 +2143,7 @@ end;
initialization
RegisterDataTableRules(RID_ListaAnosFacturas, TListaAnosFacturasDataTableRules);
RegisterDataTableRules(RID_FacturasProveedor, TFacturasProveedorDataTableRules);
RegisterDataTableRules(RID_FacturasProveedor_Detalles, TFacturasProveedor_DetallesDataTableRules);

View File

@ -9,13 +9,48 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_FacturasProveedorDelta = '{8A815C19-322F-46C9-BAD5-3A2696BF133E}';
RID_FacturasProveedor_DetallesDelta = '{49E22119-767F-4CB5-A74E-87923CDA4BD6}';
RID_ListaAnosFacturasDelta = '{09861C81-9AF3-4E90-BF83-37A720C86F50}';
RID_FacturasProveedorDelta = '{2E0BD84E-DC1F-4FCC-A4B6-7B966E4EC2C1}';
RID_FacturasProveedor_DetallesDelta = '{850D863A-48C3-46C3-9CB1-B8F0A110870A}';
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 = interface(IFacturasProveedor)
['{8A815C19-322F-46C9-BAD5-3A2696BF133E}']
['{2E0BD84E-DC1F-4FCC-A4B6-7B966E4EC2C1}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -542,7 +577,7 @@ type
{ IFacturasProveedor_DetallesDelta }
IFacturasProveedor_DetallesDelta = interface(IFacturasProveedor_Detalles)
['{49E22119-767F-4CB5-A74E-87923CDA4BD6}']
['{850D863A-48C3-46C3-9CB1-B8F0A110870A}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_FACTURAValue : Integer;
@ -735,6 +770,49 @@ implementation
uses
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 }
constructor TFacturasProveedorBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
var
@ -2504,6 +2582,7 @@ end;
initialization
RegisterBusinessProcessorRules(RID_ListaAnosFacturasDelta, TListaAnosFacturasBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_FacturasProveedorDelta, TFacturasProveedorBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_FacturasProveedor_DetallesDelta, TFacturasProveedor_DetallesBusinessProcessorRules);

View File

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

View File

@ -15,6 +15,33 @@ object srvFacturasProveedor: TsrvFacturasProveedor
DataDictionary = DataDictionary
Diagrams = Diagrams
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
Params = <>
Statements = <

View File

@ -58,11 +58,26 @@ inherited fEditorFacturasProveedor: TfEditorFacturasProveedor
Visible = False
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
ExplicitWidth = 640
end
inherited TBXTMain2: TTBXToolbar
Left = 431
Visible = True
ExplicitLeft = 431
ExplicitWidth = 83
object TBXItem40: TTBXItem
Action = actInformes

View File

@ -39,21 +39,27 @@ type
procedure actNuevaFacturaExecute(Sender: TObject);
procedure actNuevoAbonoExecute(Sender: TObject);
procedure actInformesExecute(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
private
FFacturas: IBizFacturaProveedor;
FController : IFacturasProveedorController;
protected
function GetFacturas: IBizFacturaProveedor;
procedure SetFacturas(const Value: IBizFacturaProveedor);
function GetController : IFacturasProveedorController; virtual;
procedure SetController (const Value : IFacturasProveedorController); virtual;
procedure NuevoInterno; override;
procedure EliminarInterno; override;
procedure ModificarInterno; override;
procedure DuplicarInterno; override;
procedure ImprimirInterno; override;
procedure PrevisualizarInterno; override;
procedure RefrescarInterno; override;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
property Facturas: IBizFacturaProveedor read GetFacturas write SetFacturas;
@ -262,6 +268,8 @@ end;
procedure TfEditorFacturasProveedor.FormShow(Sender: TObject);
begin
cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED
inherited;
if not Assigned(ViewGrid) then
@ -348,6 +356,13 @@ begin
FController.Ver(Facturas);
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);
var
FTitulo : String;
@ -405,17 +420,37 @@ inherited;
}
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);
begin
FController := Value;
if Assigned(FController) then
ListaAnos := FController.DarListaAnosFacturas;
end;
procedure TfEditorFacturasProveedor.SetFacturas(const Value: IBizFacturaProveedor);
begin
FFacturas := Value;
dsDataTable.DataTable := FFacturas.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewFacturasProveedor).Facturas := Facturas;
if Assigned(FFacturas) then
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.

View File

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

View File

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

View File

@ -83,6 +83,9 @@ type
procedure Preview(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;
TRecibosClienteController = class(TControllerBase, IRecibosClienteController)
@ -154,6 +157,9 @@ type
procedure Preview(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;
implementation
@ -440,6 +446,11 @@ begin
Result := Buscar(ID_NULO);
end;
function TRecibosClienteController.DarListaAnosRecibos: TStringList;
begin
Result := FDataModule.GetAnosItems;
end;
function TRecibosClienteController.DarNuevaReferencia(ID_FACTURA: Integer; REFERENCIA: String): String;
var
ARecibosCliente: IBizRecibosCliente;
@ -890,6 +901,35 @@ begin
Result := ASeleccionados;
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);
var
Condicion: TDAWhereExpression;

View File

@ -1,6 +1,6 @@
inherited DataModuleRecibosCliente: TDataModuleRecibosCliente
OnCreate = DAClientDataModuleCreate
Height = 223
Height = 346
Width = 525
object RORemoteService: TRORemoteService
Message = dmConexion.ROMessage
@ -593,4 +593,28 @@ inherited DataModuleRecibosCliente: TDataModuleRecibosCliente
Left = 416
Top = 32
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

View File

@ -46,12 +46,15 @@ type
ds_RecibosCliente: TDADataSource;
tbl_RecibosCompensadosCli: TDAMemDataTable;
ds_RecibosCompensadosCli: TDADataSource;
tbl_ListaAnosRecibos: TDAMemDataTable;
ds_ListaAnosRecibos: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject);
protected
function _GetPagos: IBizPagosCliente;
function _GetRecibosCompensados : IBizRecibosCompensadosCli;
public
function GetAnosItems : TStringList;
function GetItems: IBizRecibosCliente;
function GetItem(const ID : Integer) : IBizRecibosCliente;
function NewItem : IBizRecibosCliente;
@ -149,6 +152,30 @@ begin
Result := GetItem(ID_NULO)
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;
var
Condicion: TDAWhereExpression;

View File

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

View File

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

View File

@ -9,14 +9,49 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_RecibosClienteDelta = '{EA14D503-60F2-40E0-AC46-B289B3FE87FD}';
RID_PagosClienteDelta = '{FD903D99-7EAA-4C30-A79C-82C97E9B5098}';
RID_RecibosCompensadosCliDelta = '{A992F752-5824-4FA9-A17A-56EE6C368C9E}';
RID_ListaAnosRecibosDelta = '{8FC2C837-6926-4F14-B052-06BF6AB3BF38}';
RID_RecibosClienteDelta = '{1C641E43-0B1A-4136-AAA2-0F6B13C52F34}';
RID_PagosClienteDelta = '{3F9F91B7-5517-4927-919B-EE09DD7EDB9A}';
RID_RecibosCompensadosCliDelta = '{60B42F56-C470-481C-8665-D924F758ABE4}';
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 = interface(IRecibosCliente)
['{EA14D503-60F2-40E0-AC46-B289B3FE87FD}']
['{1C641E43-0B1A-4136-AAA2-0F6B13C52F34}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_RECIBO_COMPENSADOValue : Integer;
@ -470,7 +505,7 @@ type
{ IPagosClienteDelta }
IPagosClienteDelta = interface(IPagosCliente)
['{FD903D99-7EAA-4C30-A79C-82C97E9B5098}']
['{3F9F91B7-5517-4927-919B-EE09DD7EDB9A}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_RECIBOValue : Integer;
@ -708,7 +743,7 @@ type
{ IRecibosCompensadosCliDelta }
IRecibosCompensadosCliDelta = interface(IRecibosCompensadosCli)
['{A992F752-5824-4FA9-A17A-56EE6C368C9E}']
['{60B42F56-C470-481C-8665-D924F758ABE4}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_RECIBO_COMPENSADOValue : Integer;
@ -1165,6 +1200,49 @@ implementation
uses
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 }
constructor TRecibosClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
@ -3992,6 +4070,7 @@ end;
initialization
RegisterBusinessProcessorRules(RID_ListaAnosRecibosDelta, TListaAnosRecibosBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_RecibosClienteDelta, TRecibosClienteBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_PagosClienteDelta, TPagosClienteBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_RecibosCompensadosCliDelta, TRecibosCompensadosCliBusinessProcessorRules);

View File

@ -11,6 +11,7 @@
<Projects Include="..\..\Servidor\FactuGES_Server.dproj" />
<Projects Include="..\Contabilidad\Views\Contabilidad_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="Controller\RecibosCliente_controller.dproj" />
<Projects Include="Data\RecibosCliente_data.dproj" />
@ -141,14 +142,23 @@
<Target Name="RecibosProveedor_view:Make">
<MSBuild Projects="..\Recibos de proveedor\Views\RecibosProveedor_view.dproj" Targets="Make" />
</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">
<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 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 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>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project>

View File

@ -14,6 +14,33 @@ object srvRecibosCliente: TsrvRecibosCliente
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DADataDictionary
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
Params = <>
Statements = <

View File

@ -43,11 +43,25 @@ inherited fEditorRecibosCliente: TfEditorRecibosCliente
inherited tbxMain: TTBXToolbar
ExplicitWidth = 645
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
ExplicitWidth = 645
end
inherited TBXTMain2: TTBXToolbar
Left = 431
Visible = True
ExplicitLeft = 431
ExplicitWidth = 66
object TBXItem38: TTBXItem
Action = actInformes

View File

@ -50,6 +50,8 @@ type
procedure FormShow(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure actInformesExecute(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
private
FRecibosCliente: IBizRecibosCliente;
FController : IRecibosClienteController;
@ -65,6 +67,8 @@ type
procedure DuplicarInterno; override;
procedure ImprimirInterno; override;
procedure PrevisualizarInterno; override;
procedure RefrescarInterno; override;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
property RecibosCliente: IBizRecibosCliente read GetRecibosCliente write SetRecibosCliente;
@ -191,6 +195,8 @@ end;
procedure TfEditorRecibosCliente.FormShow(Sender: TObject);
begin
cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED
inherited;
if not Assigned(ViewGrid) then
@ -272,6 +278,13 @@ begin
FController.Ver(FRecibosCliente);
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);
var
FTitulo : String;
@ -321,17 +334,37 @@ begin
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);
begin
FController := Value;
if Assigned(FController) then
ListaAnos := FController.DarListaAnosRecibos;
end;
procedure TfEditorRecibosCliente.SetRecibosCliente(const Value: IBizRecibosCliente);
begin
FRecibosCliente := Value;
dsDataTable.DataTable := FRecibosCliente.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewRecibosCliente).Recibos := FRecibosCliente;
if Assigned(FRecibosCliente) then
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.

View File

@ -77,6 +77,9 @@ type
procedure Preview(ARecibosProveedor : IBizRecibosProveedor);
procedure Print(ARecibosProveedor : IBizRecibosProveedor);
function DarListaAnosRecibos: TStringList;
procedure FiltrarAno(ARecibo: IBizRecibosProveedor; ADynWhereDataTable: WideString; const Ano: String);
end;
TRecibosProveedorController = class(TControllerBase, IRecibosProveedorController)
@ -147,6 +150,9 @@ type
procedure Preview(ARecibosProveedor : IBizRecibosProveedor);
procedure Print(ARecibosProveedor : IBizRecibosProveedor);
function DarListaAnosRecibos: TStringList;
procedure FiltrarAno(ARecibo: IBizRecibosProveedor; ADynWhereDataTable: WideString; const Ano: String);
end;
implementation
@ -432,6 +438,11 @@ begin
Result := Buscar(ID_NULO);
end;
function TRecibosProveedorController.DarListaAnosRecibos: TStringList;
begin
Result := FDataModule.GetAnosItems;
end;
function TRecibosProveedorController.DarNuevaReferencia(ID_FACTURA: Integer; REFERENCIA: String): String;
var
ARecibosProveedor: IBizRecibosProveedor;
@ -834,6 +845,35 @@ begin
Result := ASeleccionados;
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);
var
Condicion: TDAWhereExpression;

View File

@ -1,6 +1,6 @@
inherited DataModuleRecibosProveedor: TDataModuleRecibosProveedor
OnCreate = DAClientDataModuleCreate
Height = 255
Height = 362
Width = 518
object RORemoteService: TRORemoteService
Message = dmConexion.ROMessage
@ -595,4 +595,28 @@ inherited DataModuleRecibosProveedor: TDataModuleRecibosProveedor
Left = 176
Top = 40
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

View File

@ -46,11 +46,14 @@ type
ds_RecibosCompensadosProv: TDADataSource;
tbl_RecibosProveedor: TDAMemDataTable;
ds_RecibosProveedor: TDADataSource;
tbl_ListaAnosRecibos: TDAMemDataTable;
ds_ListaAnosRecibos: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject);
protected
function _GetPagos: IBizPagosProveedor;
function _GetRecibosCompensados : IBizRecibosCompensadosProv;
public
function GetAnosItems : TStringList;
function GetItems: IBizRecibosProveedor;
function GetItem(const ID : Integer) : IBizRecibosProveedor;
function NewItem : IBizRecibosProveedor;
@ -142,6 +145,30 @@ begin
Result := GetItem(ID_NULO)
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;
var
Condicion: TDAWhereExpression;

View File

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

View File

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

View File

@ -9,14 +9,49 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_RecibosCompensadosProvDelta = '{16554E00-D877-4BAF-9C55-8E20790DCD56}';
RID_RecibosProveedorDelta = '{ABE8514C-4344-43BF-B41B-C5E3095D1557}';
RID_PagosProveedorDelta = '{4E478891-83D7-4418-A3E7-E36D0F802EE0}';
RID_ListaAnosRecibosDelta = '{6C4A7ACE-8C97-469A-A496-493F1A280405}';
RID_RecibosCompensadosProvDelta = '{07E70EBB-5912-4A27-BB68-34D15E499C1E}';
RID_RecibosProveedorDelta = '{79959841-F924-4E80-B1C0-26D60A1CA5E4}';
RID_PagosProveedorDelta = '{C9839E83-8D1F-4F5D-8A06-704C5BE7E7D8}';
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 = interface(IRecibosCompensadosProv)
['{16554E00-D877-4BAF-9C55-8E20790DCD56}']
['{07E70EBB-5912-4A27-BB68-34D15E499C1E}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_RECIBO_COMPENSADOValue : Integer;
@ -494,7 +529,7 @@ type
{ IRecibosProveedorDelta }
IRecibosProveedorDelta = interface(IRecibosProveedor)
['{ABE8514C-4344-43BF-B41B-C5E3095D1557}']
['{79959841-F924-4E80-B1C0-26D60A1CA5E4}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_RECIBO_COMPENSADOValue : Integer;
@ -972,7 +1007,7 @@ type
{ IPagosProveedorDelta }
IPagosProveedorDelta = interface(IPagosProveedor)
['{4E478891-83D7-4418-A3E7-E36D0F802EE0}']
['{C9839E83-8D1F-4F5D-8A06-704C5BE7E7D8}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_RECIBOValue : Integer;
@ -1213,6 +1248,49 @@ implementation
uses
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 }
constructor TRecibosCompensadosProvBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
@ -4164,6 +4242,7 @@ end;
initialization
RegisterBusinessProcessorRules(RID_ListaAnosRecibosDelta, TListaAnosRecibosBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_RecibosCompensadosProvDelta, TRecibosCompensadosProvBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_RecibosProveedorDelta, TRecibosProveedorBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_PagosProveedorDelta, TPagosProveedorBusinessProcessorRules);

View File

@ -10,6 +10,7 @@
<Projects Include="..\..\GUIBase\GUIBase.dproj" />
<Projects Include="..\..\Servidor\FactuGES_Server.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="Data\RecibosProveedor_data.dproj" />
<Projects Include="Model\RecibosProveedor_model.dproj" />
@ -121,14 +122,23 @@
<Target Name="FactuGES_Server:Make">
<MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="Make" />
</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">
<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 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 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>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project>

View File

@ -13,6 +13,33 @@ object srvRecibosProveedor: TsrvRecibosProveedor
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DADataDictionary
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
Params = <>
Statements = <

View File

@ -43,11 +43,25 @@ inherited fEditorRecibosProveedor: TfEditorRecibosProveedor
inherited tbxMain: TTBXToolbar
ExplicitWidth = 546
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
ExplicitWidth = 638
end
inherited TBXTMain2: TTBXToolbar
Left = 431
Visible = True
ExplicitLeft = 431
ExplicitWidth = 66
object TBXItem38: TTBXItem
Action = actInformes

View File

@ -48,6 +48,8 @@ type
procedure FormShow(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure actInformesExecute(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
private
FRecibosProveedor: IBizRecibosProveedor;
FController : IRecibosProveedorController;
@ -63,6 +65,8 @@ type
procedure DuplicarInterno; override;
procedure ImprimirInterno; override;
procedure PrevisualizarInterno; override;
procedure RefrescarInterno; override;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
property RecibosProveedor: IBizRecibosProveedor read GetRecibosProveedor write SetRecibosProveedor;
@ -189,6 +193,8 @@ end;
procedure TfEditorRecibosProveedor.FormShow(Sender: TObject);
begin
cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED
inherited;
if not Assigned(ViewGrid) then
@ -233,6 +239,13 @@ begin
FController.Ver(FRecibosProveedor);
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);
var
FTitulo : String;
@ -246,17 +259,37 @@ begin
inherited;
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);
begin
FController := Value;
if Assigned(FController) then
ListaAnos := FController.DarListaAnosRecibos;
end;
procedure TfEditorRecibosProveedor.SetRecibosProveedor(const Value: IBizRecibosProveedor);
begin
FRecibosProveedor := Value;
dsDataTable.DataTable := FRecibosProveedor.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewRecibosProveedor).Recibos := FRecibosProveedor;
if Assigned(FRecibosProveedor) then
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.

Binary file not shown.

View File

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

View File

@ -1,7 +1,7 @@
MAINICON ICON "C:\Codigo Acana\Resources\Iconos\Servidor.ico"
1 VERSIONINFO
FILEVERSION 2,2,9,0
PRODUCTVERSION 2,2,9,0
FILEVERSION 2,3,0,0
PRODUCTVERSION 2,3,0,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
@ -13,10 +13,10 @@ BEGIN
BLOCK "0C0A04E4"
BEGIN
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 "ProductVersion", "2.2.9.0\0"
VALUE "CompileDate", "martes, 10 de marzo de 2009 19:06\0"
VALUE "ProductVersion", "2.3.0.0\0"
VALUE "CompileDate", "miércoles, 11 de marzo de 2009 13:31\0"
END
END
BLOCK "VarFileInfo"