Se adapta la parte servidor de gestor de documentos para que tenga la variable de configuracion del directorio de documentos un valor por defecto y asi se inserta si no existe en base de datos la primera vez que se usa

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@543 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
roberto 2008-08-27 17:41:29 +00:00
parent 214d4cf22e
commit 2c1785c23b
10 changed files with 428 additions and 359 deletions

View File

@ -53,58 +53,58 @@
<DelphiCompile Include="Base.dpk"> <DelphiCompile Include="Base.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\adortl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxDataD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxExportD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxExtEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxGridD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxIntl6D11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxIntlPrintSys3D11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxLibraryD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxPageControlD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\dclIndyCore.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\designide.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\dsnap.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\dxPSCoreD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\dxThemeD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\GUISDK_D11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\IndyCore.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\IndyProtocols.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\IndySystem.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\Jcl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JclVcl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JSDialog100.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvCmpD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvCoreD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvDlgsD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvMMD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvNetD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvPageCompsD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvSystemD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\pckMD5.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\pckUCDataConnector.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\pckUserControl_RT.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\PngComponentsD10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\PNG_D10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\RemObjects_Indy_D11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\rtl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\TB2k_D10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\tbx_d10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\vcl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\vclactnband.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\vcldb.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\vcljpg.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\VclSmp.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\vclx.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\xmlrtl.dcp" />
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" /> <DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
<DCCReference Include="C:\Documents and Settings\Usuario\adortl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\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\cxExtEditorsD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxGridD11.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\cxPageControlD11.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\dxPSCoreD11.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\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\RemObjects_Indy_D11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\TB2k_D10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\tbx_d10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\VclSmp.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\xmlrtl.dcp" />
<DCCReference Include="Conexion\uConfigurarConexion.pas"> <DCCReference Include="Conexion\uConfigurarConexion.pas">
<Form>fConfigurarConexion</Form> <Form>fConfigurarConexion</Form>
<DesignClass>TForm</DesignClass> <DesignClass>TForm</DesignClass>

Binary file not shown.

View File

@ -38,7 +38,13 @@ implementation
{$R *.dfm} {$R *.dfm}
uses uses
{Generated:} FactuGES_Invk, srvConfiguracion_Impl, uSistemaFunc, Dialogs; {Generated:} FactuGES_Invk, srvConfiguracion_Impl, uSistemaFunc, Dialogs, Forms;
const
CTE_VALOR = 'RUTA_DOCUMENTOS';
CTE_DOCUMENTOS = 'DOCUMENTOS';
CTE_ALMACEN_PRESUPUESTOS = '\Presupuestos\';
procedure Create_srvGestorDocumentos(out anInstance : IUnknown); procedure Create_srvGestorDocumentos(out anInstance : IUnknown);
begin begin
@ -74,7 +80,7 @@ begin
case Almacen of case Almacen of
TRdxAlmacenes_Presupuestos: TRdxAlmacenes_Presupuestos:
begin begin
Ruta := Ruta + '\presupuestos\' + IntToStr(ID) + '\*.*'; Ruta := Ruta + CTE_ALMACEN_PRESUPUESTOS + IntToStr(ID) + '\*.*';
ListaFicheros := FindFile(Ruta); ListaFicheros := FindFile(Ruta);
Result := StringArray.Create(); Result := StringArray.Create();
for i := 0 to ListaFicheros.Count - 1 do for i := 0 to ListaFicheros.Count - 1 do
@ -100,7 +106,7 @@ begin
try try
GetClassFactory('srvConfiguracion').CreateInstance(AClientID, Intf); GetClassFactory('srvConfiguracion').CreateInstance(AClientID, Intf);
AConfiguracionService := Intf as IsrvConfiguracion; AConfiguracionService := Intf as IsrvConfiguracion;
Result := AConfiguracionService.darValor('RUTA_DOCUMENTOS'); Result := AConfiguracionService.darValor(CTE_VALOR, (ExtractFilePath(Application.ExeName) + CTE_DOCUMENTOS));
finally finally
AConfiguracionService := Nil; AConfiguracionService := Nil;
end; end;
@ -118,7 +124,7 @@ begin
case Almacen of case Almacen of
TRdxAlmacenes_Presupuestos: TRdxAlmacenes_Presupuestos:
begin begin
Ruta := Ruta + '\presupuestos\' + IntToStr(ID) + '\' + NombreFichero; Ruta := Ruta + CTE_ALMACEN_PRESUPUESTOS + IntToStr(ID) + '\' + NombreFichero;
Result.LoadFromFile(Ruta); Result.LoadFromFile(Ruta);
end; end;
end; end;
@ -140,7 +146,7 @@ begin
case Almacen of case Almacen of
TRdxAlmacenes_Presupuestos: TRdxAlmacenes_Presupuestos:
begin begin
Ruta := Ruta + '\presupuestos\' + IntToStr(ID) + '\' + NombreFichero; Ruta := Ruta + CTE_ALMACEN_PRESUPUESTOS + IntToStr(ID) + '\' + NombreFichero;
Result := DeleteFile(Ruta); Result := DeleteFile(Ruta);
end; end;
end; end;
@ -161,7 +167,7 @@ begin
case Almacen of case Almacen of
TRdxAlmacenes_Presupuestos: TRdxAlmacenes_Presupuestos:
begin begin
Ruta := Ruta + '\presupuestos\' + IntToStr(ID); Ruta := Ruta + CTE_ALMACEN_PRESUPUESTOS + IntToStr(ID);
Deltree(Ruta, True); Deltree(Ruta, True);
Result := True; Result := True;
end; end;
@ -180,10 +186,17 @@ begin
Result := False; Result := False;
try try
Ruta := DarRutaDocumentos; Ruta := DarRutaDocumentos;
if not DirectoryExists(Ruta) then
CreateDir(Ruta);
case Almacen of case Almacen of
TRdxAlmacenes_Presupuestos: TRdxAlmacenes_Presupuestos:
begin begin
Ruta := Ruta + '\presupuestos\' + IntToStr(ID); Ruta := Ruta + CTE_ALMACEN_PRESUPUESTOS;
if not DirectoryExists(Ruta) then
CreateDir(Ruta);
Ruta := Ruta + IntToStr(ID);
if not DirectoryExists(Ruta) then if not DirectoryExists(Ruta) then
CreateDir(Ruta); CreateDir(Ruta);

View File

@ -108,6 +108,8 @@
</Parameter> </Parameter>
<Parameter Name="CODIGO" DataType="String" Flag="In" > <Parameter Name="CODIGO" DataType="String" Flag="In" >
</Parameter> </Parameter>
<Parameter Name="ValorPorDefecto" DataType="String" Flag="In" >
</Parameter>
</Parameters> </Parameters>
</Operation> </Operation>
</Operations> </Operations>

View File

@ -299,7 +299,7 @@ type
{ IsrvConfiguracion } { IsrvConfiguracion }
IsrvConfiguracion = interface(IDataAbstractService) IsrvConfiguracion = interface(IDataAbstractService)
['{0882B8A4-C8AA-424E-8FC1-C6226B670522}'] ['{0882B8A4-C8AA-424E-8FC1-C6226B670522}']
function darValor(const CODIGO: String): String; function darValor(const CODIGO: String; const ValorPorDefecto: String): String;
end; end;
{ CosrvConfiguracion } { CosrvConfiguracion }
@ -312,7 +312,7 @@ type
protected protected
function __GetInterfaceName:string; override; function __GetInterfaceName:string; override;
function darValor(const CODIGO: String): String; function darValor(const CODIGO: String; const ValorPorDefecto: String): String;
end; end;
{ IsrvFamilias } { IsrvFamilias }
@ -1338,11 +1338,12 @@ begin
result := 'srvConfiguracion'; result := 'srvConfiguracion';
end; end;
function TsrvConfiguracion_Proxy.darValor(const CODIGO: String): String; function TsrvConfiguracion_Proxy.darValor(const CODIGO: String; const ValorPorDefecto: String): String;
begin begin
try try
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'darValor'); __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'darValor');
__Message.Write('CODIGO', TypeInfo(String), CODIGO, []); __Message.Write('CODIGO', TypeInfo(String), CODIGO, []);
__Message.Write('ValorPorDefecto', TypeInfo(String), ValorPorDefecto, []);
__Message.Finalize; __Message.Finalize;
__TransportChannel.Dispatch(__Message); __TransportChannel.Dispatch(__Message);

View File

@ -391,15 +391,17 @@ end;
{ TsrvConfiguracion_Invoker } { TsrvConfiguracion_Invoker }
procedure TsrvConfiguracion_Invoker.Invoke_darValor(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure TsrvConfiguracion_Invoker.Invoke_darValor(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function darValor(const CODIGO: String): String; } { function darValor(const CODIGO: String; const ValorPorDefecto: String): String; }
var var
CODIGO: String; CODIGO: String;
ValorPorDefecto: String;
lResult: String; lResult: String;
begin begin
try try
__Message.Read('CODIGO', TypeInfo(String), CODIGO, []); __Message.Read('CODIGO', TypeInfo(String), CODIGO, []);
__Message.Read('ValorPorDefecto', TypeInfo(String), ValorPorDefecto, []);
lResult := (__Instance as IsrvConfiguracion).darValor(CODIGO); lResult := (__Instance as IsrvConfiguracion).darValor(CODIGO, ValorPorDefecto);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvConfiguracion', 'darValorResponse'); __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvConfiguracion', 'darValorResponse');
__Message.Write('Result', TypeInfo(String), lResult, []); __Message.Write('Result', TypeInfo(String), lResult, []);

Binary file not shown.

View File

@ -38,12 +38,41 @@ object srvConfiguracion: TsrvConfiguracion
item item
Name = 'VALOR' Name = 'VALOR'
DataType = datString DataType = datString
Size = 100 Size = 255
end> end>
end> end>
JoinDataTables = <> JoinDataTables = <>
UnionDataTables = <> UnionDataTables = <>
Commands = <> Commands = <
item
Params = <
item
Name = 'CODIGO'
Value = ''
end
item
Name = 'VALOR'
Value = ''
end
item
Name = 'ID_EMPRESA'
Value = ''
end>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
TargetTable = 'CONFIGURACION'
Name = 'IBX'
SQL =
'insert into CONFIGURACION (ID, CODIGO, VALOR, ID_EMPRESA)'#10'values' +
'(GEN_ID(GEN_CONFIGURACION_ID, 1), :CODIGO, :VALOR, :ID_EMPRESA)'#10
StatementType = stSQL
ColumnMappings = <>
end>
Name = 'InsertarValor'
end>
RelationShips = <> RelationShips = <>
UpdateRules = <> UpdateRules = <>
Version = 0 Version = 0

View File

@ -21,14 +21,14 @@ uses
type type
{ TsrvConfiguracion } { TsrvConfiguracion }
TsrvConfiguracion = class(TDataAbstractService, IsrvConfiguracion) TsrvConfiguracion = class(TDataAbstractService, IsrvConfiguracion)
schConfiguracion: TDASchema;
Bin2DataStreamer: TDABin2DataStreamer; Bin2DataStreamer: TDABin2DataStreamer;
schConfiguracion: TDASchema;
procedure DARemoteServiceCreate(Sender: TObject); procedure DARemoteServiceCreate(Sender: TObject);
procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject;
var aConnectionName: string); var aConnectionName: string);
protected protected
{ IsrvConfiguracion methods } { IsrvConfiguracion methods }
function DarValor(const CODIGO: String): String; function DarValor(const CODIGO: String; const ValorPorDefecto: String = ''): String;
end; end;
implementation implementation
@ -49,9 +49,12 @@ begin
SessionManager := dmServer.SessionManager; SessionManager := dmServer.SessionManager;
end; end;
function TsrvConfiguracion.DarValor(const CODIGO: String): String; function TsrvConfiguracion.DarValor(const CODIGO: String; const ValorPorDefecto: String = ''): String;
var var
ADataSet : IDADataset; ADataSet : IDADataset;
ASchema : TDASchema;
ACurrentConn : IDAConnection;
ACommand : IDASQLCommand;
begin begin
try try
ADataSet := schConfiguracion.NewDataset(Connection, 'darValor', ['CODIGO'], [CODIGO]); ADataSet := schConfiguracion.NewDataset(Connection, 'darValor', ['CODIGO'], [CODIGO]);
@ -59,7 +62,26 @@ begin
if ADataSet.Dataset.RecordCount > 0 then if ADataSet.Dataset.RecordCount > 0 then
Result := ADataSet.Dataset.Fields[0].AsVariant Result := ADataSet.Dataset.Fields[0].AsVariant
else else
RaiseError('Falta variable de configuracion: ' + CODIGO); begin
Result := ValorPorDefecto;
//Creamos la variable de configuración con su valor por defecto
ACurrentConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
ACommand := schConfiguracion.NewCommand(ACurrentConn, 'InsertarValor');
try
with ACommand do
begin
ParamByName('CODIGO').Value := CODIGO;
ParamByName('VALOR').Value := ValorPorDefecto;
ParamByName('ID_EMPRESA').Value := Null;
Execute;
ACurrentConn.CommitTransaction;
end;
except
ACurrentConn.RollbackTransaction;
end;
ACommand := NIL;
// RaiseError('Falta variable de configuracion: ' + CODIGO);
end;
finally finally
ADataSet.Close; ADataSet.Close;
end; end;

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid> <ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid>