This commit is contained in:
David Arranz 2007-09-24 11:09:48 +00:00
parent 141757432b
commit cfca55e23e
114 changed files with 13844 additions and 7650 deletions

View File

@ -227,12 +227,12 @@
<Property name="RetryPauseInterval" type="Cardinal">1000</Property> <Property name="RetryPauseInterval" type="Cardinal">1000</Property>
<Property name="SuppressStatusMessages" type="Boolean">False</Property> <Property name="SuppressStatusMessages" type="Boolean">False</Property>
<Object Class="TRunDosCMDAction" XMLID="{85D84EAB-6562-42F7-92F6-CBF21CD11FCA}"><Property MultiValue="0" name="ActionComment" type="string"></Property> <Object Class="TRunDosCMDAction" XMLID="{85D84EAB-6562-42F7-92F6-CBF21CD11FCA}"><Property MultiValue="0" name="ActionComment" type="string"></Property>
<Property MultiValue="1" name="ActionDescription" type="string"><![CDATA[Run DOS Command [ C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msbuild.exe "%source_path%\ClearFiles.msbuild" /t:CleanFiles ]]]> <Property MultiValue="1" name="ActionDescription" type="string"><![CDATA[Run DOS Command [ C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msbuild.exe "%source_path%\ClearFiles.msbuild" ]]]>
</Property> </Property>
<Property name="ActionTextColor" type="Cardinal">0</Property> <Property name="ActionTextColor" type="Cardinal">0</Property>
<Property MultiValue="0" name="ActionTypeID" type="string"></Property> <Property MultiValue="0" name="ActionTypeID" type="string"></Property>
<Property name="CaptureOutput" type="Boolean">True</Property> <Property name="CaptureOutput" type="Boolean">True</Property>
<Property MultiValue="1" name="Command" type="WideString"><![CDATA[C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msbuild.exe "%source_path%\ClearFiles.msbuild" /t:CleanFiles]]> <Property MultiValue="1" name="Command" type="WideString"><![CDATA[C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msbuild.exe "%source_path%\ClearFiles.msbuild"]]>
</Property> </Property>
<Property name="Enabled" type="WordBool">True</Property> <Property name="Enabled" type="WordBool">True</Property>
<Property name="EnableLiveCapture" type="Boolean">True</Property> <Property name="EnableLiveCapture" type="Boolean">True</Property>
@ -252,7 +252,7 @@
<Property MultiValue="0" name="LogToVariable" type="string"></Property> <Property MultiValue="0" name="LogToVariable" type="string"></Property>
<Property name="MaxRetryAttempts" type="Cardinal">0</Property> <Property name="MaxRetryAttempts" type="Cardinal">0</Property>
<Property name="NodeCollapsed" type="Boolean">False</Property> <Property name="NodeCollapsed" type="Boolean">False</Property>
<Property MultiValue="1" name="Params" type="WideString"><![CDATA[C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msbuild.exe "%source_path%\ClearFiles.msbuild" /t:CleanFiles]]> <Property MultiValue="1" name="Params" type="WideString"><![CDATA[C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msbuild.exe "%source_path%\ClearFiles.msbuild"]]>
</Property> </Property>
<Property name="PauseInterval" type="Cardinal">0</Property> <Property name="PauseInterval" type="Cardinal">0</Property>
<Property name="ProcessorAffinity" type="Cardinal">0</Property> <Property name="ProcessorAffinity" type="Cardinal">0</Property>
@ -533,11 +533,11 @@ source_path
<Property name="ActionTextColor" type="Cardinal">0</Property> <Property name="ActionTextColor" type="Cardinal">0</Property>
<Property MultiValue="0" name="ActionTypeID" type="string"></Property> <Property MultiValue="0" name="ActionTypeID" type="string"></Property>
<Property MultiValue="0" name="Description" type="string">Servidor</Property> <Property MultiValue="0" name="Description" type="string">Servidor</Property>
<Property name="Enabled" type="WordBool">False</Property> <Property name="Enabled" type="WordBool">True</Property>
<Property name="ExpandActionLogTitle" type="Boolean">True</Property> <Property name="ExpandActionLogTitle" type="Boolean">True</Property>
<Property name="IgnoreFailure" type="WordBool">False</Property> <Property name="IgnoreFailure" type="WordBool">False</Property>
<Property name="IsAction" type="Boolean">True</Property> <Property name="IsAction" type="Boolean">True</Property>
<Property name="IsBreakPoint" type="WordBool">True</Property> <Property name="IsBreakPoint" type="WordBool">False</Property>
<Property MultiValue="0" name="LogToVariable" type="string"></Property> <Property MultiValue="0" name="LogToVariable" type="string"></Property>
<Property name="MaxRetryAttempts" type="Cardinal">0</Property> <Property name="MaxRetryAttempts" type="Cardinal">0</Property>
<Property name="NodeCollapsed" type="Boolean">False</Property> <Property name="NodeCollapsed" type="Boolean">False</Property>
@ -16073,36 +16073,6 @@ Comments=
<Property name="TargetIsDir" type="WordBool">True</Property> <Property name="TargetIsDir" type="WordBool">True</Property>
</Object> </Object>
</Object> </Object>
<Object Class="TExportLogAction" XMLID="{569D0159-8A03-4996-84FC-44A8278D4311}"><Property MultiValue="0" name="ActionComment" type="string"></Property>
<Property MultiValue="1" name="ActionDescription" type="string"><![CDATA[Export Log]]>
</Property>
<Property name="ActionTextColor" type="Cardinal">0</Property>
<Property MultiValue="0" name="ActionTypeID" type="string"></Property>
<Property name="Enabled" type="WordBool">True</Property>
<Property name="ErrorActionsOnly" type="Boolean">False</Property>
<Property name="ExpandActionLogTitle" type="Boolean">True</Property>
<Property name="ExportFormat" type="TExportFormat">efHTML</Property>
<Property name="IgnoreFailure" type="WordBool">False</Property>
<Property name="IncludeActionEndTime" type="Boolean">True</Property>
<Property name="IncludeActionRunTime" type="Boolean">True</Property>
<Property name="IncludeActionStartTime" type="Boolean">True</Property>
<Property name="IncludeActionType" type="Boolean">True</Property>
<Property name="IncludeHeading" type="Boolean">True</Property>
<Property name="IncludeOutput" type="Boolean">True</Property>
<Property name="IncludeSummary" type="Boolean">True</Property>
<Property name="IsAction" type="Boolean">True</Property>
<Property name="IsBreakPoint" type="WordBool">False</Property>
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
<Property name="NodeCollapsed" type="Boolean">False</Property>
<Property name="OtherParameters" type="TStrings"><![CDATA[]]>
</Property>
<Property MultiValue="0" name="OutputFile" type="string">%project_path%\Build\buildlog.html</Property>
<Property name="PauseInterval" type="Cardinal">0</Property>
<Property name="RetryPauseInterval" type="Cardinal">1000</Property>
<Property name="SuppressStatusMessages" type="Boolean">False</Property>
<Property MultiValue="0" name="TemplateFile" type="string"></Property>
</Object>
</Object> </Object>
<Object Class="TFBActionListParametersCollection" XMLID="{DA68752A-A92E-47B7-A8DE-1B3E46E8D956}"/> <Object Class="TFBActionListParametersCollection" XMLID="{DA68752A-A92E-47B7-A8DE-1B3E46E8D956}"/>
</Object> </Object>

View File

@ -1 +1 @@
<variables><project_path><![CDATA[C:\Codigo Tecsitel]]></project_path></variables> <variables><project_path><![CDATA[C:\Sandbox\Codigo]]></project_path></variables>

39
Database/Database.proj Normal file
View File

@ -0,0 +1,39 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<DBServer Condition=" '$(SqlCmdRunner)' == '' ">localhost</DBServer>
<DeploymentBuild Condition=" '$(DeploymentBuild)' == '' ">false</DeploymentBuild>
<SqlScriptsFolder Condition=" '$(SqlScriptsFolder)' == '' ">$(MSBuildProjectDirectory)\Scripts</SqlScriptsFolder>
<ToolsFolder Condition=" '$(ToolsFolder)' == '' ">$(MSBuildProjectDirectory)\..\Tools</ToolsFolder>
<CodeOutputFolder Condition=" '$(CodeOutputFolder)' == '' ">$(MSBuildProjectDirectory)\..\Output</CodeOutputFolder>
<SqlCmdRunner Condition=" '$(SqlCmdRunner)' == '' ">$(ToolsFolder)\ISQL\isql.exe</SqlCmdRunner>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>$(CodeOutputFolder)\Debug\Database</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>$(CodeOutputFolder)\Release\Database</OutputPath>
</PropertyGroup>
<ItemGroup>
<Sql Include="$(SqlScriptsFolder)\factuges.sql" />
<Sql Include="db_execute.bat" />
<SqlOutput Include="$(OutputPath)\Factuges.fdb" />
</ItemGroup>
<Target Name="Build"
Inputs="@(Sql)"
Outputs="@(SqlOutput)">
<Exec Command="$(SqlCmdRunner) -i $(SqlScriptsFolder)\factuges.sql -u sysdba -p masterkey -q"
WorkingDirectory="$(OutputPath)" />
</Target>
<Target Name="Rebuild"
DependsOnTargets="Clean;Build"/>
<Target Name="Clean">
<Delete Files="@(SqlOutput)"/>
</Target>
</Project>

Binary file not shown.

View File

@ -0,0 +1,14 @@
rem Full path to the firebird isql utility.
SET ISQL="..\Tools\ISQL\isql.exe"
SET DB_LOGIN=-USER SYSDBA -PASSWORD masterkey
rem DB ALIAS
SET DB_ALIAS=FACTUGES.FDB
SET DB_ALIAS_TEST=FACTUGES_TEST.FDB
set DB_SQL_SCRIPT=scripts\factuges.sql
set DB_SQL_SYSDATA=scripts\factuges.sql
set DB_DEBUG_PATH=..\output\debug\database
set DB_RELEASE_PATH=..\output\release\database

67
Database/db_execute.bat Normal file
View File

@ -0,0 +1,67 @@
@echo off
call _db_enviroment.bat
if "%1" == "drop" goto drop
if "%1" == "create" goto create
if "%1" == "extract" goto extract
if "%1" == "insert_data" goto insert_data
if "%1" == "recreate" goto recreate
goto ayuda
:recreate
call %0 drop
IF %ERRORLEVEL% == 1 GOTO ERROR
call %0 create
IF %ERRORLEVEL% == 1 GOTO ERROR
call %0 insert_data
IF %ERRORLEVEL% == 1 GOTO ERROR
goto end
:drop
echo Borrando la base de datos %DB_ALIAS%...
IF EXIST "%DB_DEBUG_PATH%\%DB_ALIAS%" DEL %DB_DEBUG_PATH%\%DB_ALIAS%
IF %ERRORLEVEL% == 1 GOTO ERROR
goto done
:create
echo Creando la base de datos %DB_ALIAS% en %DB_DEBUG_PATH%\%DB_ALIAS%
%ISQL% -i %DB_SQL_SCRIPT% %DB_LOGIN% -q
IF %ERRORLEVEL% == 1 GOTO ERROR
move %DB_ALIAS% "%DB_DEBUG_PATH%"
goto done
:extract
echo Extrayendo %DB_ALIAS% al script SQL %DB_SQL_SCRIPT%...
IF EXIST %DB_SQL_SCRIPT% DEL %DB_SQL_SCRIPT%
%ISQL% -a -d %DB_ALIAS% %DB_LOGIN% -o %DB_SQL_SCRIPT% %DB_DEBUG_PATH%\%DB_ALIAS% -b
IF %ERRORLEVEL% == 1 GOTO ERROR
goto done
:insert_data
echo Insertando datos del sistema en %DB_ALIAS%...
%ISQL% -i %DB_SQL_SYSDATA% %DB_LOGIN% %DB_DEBUG_PATH%\%DB_ALIAS%
IF %ERRORLEVEL% == 1 GOTO ERROR
goto done
:error
ECHO Se ha producido un error!!!!
goto end
:ayuda
echo Modo de uso: %0 [create / drop / extract]
echo ------------
echo create: crear la base de datos %DB_ALIAS% (la borra antes si ya existe)
echo drop: borrar la base de datos %DB_ALIAS%
echo extract: extrae los metadatos de la BD a un fichero SQL (%DB_SQL_SCRIPT%)
echo insert_data: extrae los metadatos de la BD a un fichero SQL (%DB_SQL_SCRIPT%)
echo.
echo recreate: rehacer la BD: borrarla si existe, crearla e insertar los datos del sistema
echo.
goto end
:done
echo Hecho!
echo.
goto end
:end

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,58 @@
SET SQL DIALECT 3;
SET NAMES ISO8859_1;
INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (1, 'CLIENTE');
INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (2, 'PROVEEDOR');
INSERT INTO CATEGORIAS (ID, CATEGORIA) VALUES (3, 'EMPLEADO');
COMMIT WORK;
INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (2, 1, 'VENTAS ARTICULOS', 'InfVentasArticuloController', 4, 'Ventas por artículo', 'Informe de ventas por artículo', NULL, 'S');
INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (5, 1, 'VENTAS ARTICULOS', 'InfVentasArticuloController', 4, 'Ventas por cliente', 'Informe de ventas por cliente y artículo', NULL, 'S');
INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (7, 1, 'VENTAS ARTICULOS', 'InfVentasArticuloController', 4, 'Ventas por agente y cliente', 'Informe de ventas por agente y cliente', NULL, 'S');
INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (17, 1, 'MARGEN ARTICULOS', 'InfMargenArticuloController', 0, 'Margen (promedio) por artículo', 'Informe de margen por artículo teniendo en cuenta el precio neto de venta promedio', NULL, 'S');
INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (15, 1, 'VENTAS ARTICULOS', 'InfVentasArticuloController', 4, 'Ventas por proveedor', 'Informe de ventas por proveedor y artículo', NULL, 'S');
INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (19, 1, 'MARGEN ARTICULOS', 'InfMargenArticuloController', 0, 'Margen (promedio) por cliente', 'Informe de margen por artículo agrupado por cliente teniendo en cuenta el precio neto de venta promedio', NULL, 'S');
INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (20, 1, 'MARGEN ARTICULOS', 'InfMargenArticuloController', 0, 'Margen (promedio) por agente y cliente', 'Informe de margen por artículo agrupado por agente y cliente teniendo en cuenta el precio neto de venta promedio', NULL, 'S');
INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (21, 1, 'MARGEN ARTICULOS', 'InfMargenArticuloController', 2, 'Margen (ult. venta) por artículo', 'Informe de margen por artículo teniendo en cuenta el precio neto de última venta', NULL, 'S');
INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (22, 1, 'MARGEN ARTICULOS', 'InfMargenArticuloController', 2, 'Margen (ult.venta) por clientes', 'Informe de margen por artículo agrupado por cliente teniendo en cuenta el precio neto de última venta', NULL, 'S');
INSERT INTO INFORMES (ID, ID_EMPRESA, CATEGORIA, CONTROLLER, ICONO, NOMBRE, DESCRIPCION, ORDEN, MODIFICABLE) VALUES (23, 1, 'MARGEN ARTICULOS', 'InfMargenArticuloController', 2, 'Margen (ult. venta) por agente y cliente', 'Informe de margen por artículo agrupado por agente y cliente teniendo en cuenta el precio neto de última venta', NULL, 'S');
COMMIT WORK;
INSERT INTO PERFILES (ID, PERFIL) VALUES (1, 'Administradores');
INSERT INTO PERFILES (ID, PERFIL) VALUES (2, 'Usuarios');
COMMIT WORK;
INSERT INTO PERFILES_USUARIOS (ID_PERFIL, ID_USUARIO) VALUES (1, 1);
COMMIT WORK;
INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_FACTURAS_CLIENTE', '00001', 1, 'Ref. facturas de cliente');
INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_PEDIDOS_CLIENTE', '00001', 1, 'Ref. pedidos de cliente');
INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_PEDIDOS_PROVEEDOR', '00001', 1, 'Ref. pedidos de proveedor');
INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_ALBARANES_CLIENTE', '00001', 1, 'Ref. albaranes de cliente');
INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_ALBARANES_PROVEEDOR', '00001', 1, 'Ref. albaranes de proveedor');
INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_REMESAS_CLIENTE', '00001', 1, 'Ref. remesas de cliente');
INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_COMISIONES', '00001', 1, 'Ref. liquidaciones de comision');
INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_FACTURAS_PROVEEDOR', '00001', 1, 'Ref. facturas de proveedor');
INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_ALBARANES_DEV_CLIENTE', '00001', 1, 'Ref. ordenes de devolucion de cliente');
INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_ALBARANES_DEV_PROVEEDOR', '00001', 1, 'Ref. ordenes de devolucion de proveedor');
INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_REMESAS_PROVEEDOR', '00001', 1, 'Ref. remesas de proveedor');
INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_ABONOS_CLIENTE', '00001', 1, 'Ref. abonos de cliente');
INSERT INTO REFERENCIAS (CODIGO, VALOR, ID_EMPRESA, DESCRIPCION) VALUES ('REF_ABONOS_PROVEEDOR', '00001', 1, 'Ref. abonos de proveedor');
COMMIT WORK;
INSERT INTO TIPOS_IVA (ID, REFERENCIA, DESCRIPCION, IVA, RE) VALUES (2, 'IVA16', 'IVA16', 16, 4);
INSERT INTO TIPOS_IVA (ID, REFERENCIA, DESCRIPCION, IVA, RE) VALUES (3, 'IVA4', 'IVA4', 4, 0.5);
INSERT INTO TIPOS_IVA (ID, REFERENCIA, DESCRIPCION, IVA, RE) VALUES (4, 'IVA7', 'IVA7', 7, 1);
INSERT INTO TIPOS_IVA (ID, REFERENCIA, DESCRIPCION, IVA, RE) VALUES (6, 'EXENTO', 'EXTRANJERO', 0, 0);
COMMIT WORK;
INSERT INTO USUARIOS (ID, USUARIO, PASS, ACTIVO, LAST_LOGIN) VALUES (1, 'Administrador', '', 1, NULL);
COMMIT WORK;

View File

@ -0,0 +1,281 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="GetPaths">
<GetFrameworkSdkPath>
<Output TaskParameter="Path" PropertyName="FrameworkSdkPath" />
</GetFrameworkSdkPath>
<GetFrameworkPath>
<Output TaskParameter="Path" PropertyName="FrameworkPath" />
</GetFrameworkPath>
</Target>
<Target Name="GetProjects">
<!-- Get all the projects associated with the solution -->
<!--<GetSolutionProjects Solution="$(CodeFolder)\$(SolutionName)">
<Output TaskParameter="Output" ItemName="SolutionProjects" />
</GetSolutionProjects>-->
<!-- Filter out solution folders and non .csproj items -->
<RegexMatch Input="@(SolutionProjects)" Expression=".[\.]csproj$">
<Output TaskParameter="Output" ItemName="Projects"/>
</RegexMatch>
<!-- Add Code folder to all solution project paths -->
<RegexReplace Input="@(Projects)" Expression="(Sanlam.*)\\" Replacement="Code\$1\\" Count="-1">
<Output TaskParameter="Output" ItemName="CSProjects"/>
</RegexReplace>
<!-- Resolve the test projects -->
<RegexMatch Input="@(CSProjects)" Expression=".[\.](Testing|UnitTest|IntegrationTest).*[\.]csproj$">
<Output TaskParameter="Output" ItemName="TestProjects"/>
</RegexMatch>
<!-- Resolve the code projects -->
<CreateItem Include="@(CSProjects)"
Exclude="@(TestProjects);
@(SqlProjects)">
<Output TaskParameter="Include" ItemName="CodeProjects"/>
</CreateItem>
<Message Text="$(NEW_LINE)Resolved the following solution projects:" Importance="high" />
<Message Text="CodeProjects:$(NEW_LINE)$(TAB)@(CodeProjects->'%(RelativeDir)%(FileName)%(Extension)', '$(NEW_LINE)$(TAB)')" Importance="high"/>
<Message Text="TestProjects:$(NEW_LINE)$(TAB)@(TestProjects->'%(RelativeDir)%(FileName)%(Extension)', '$(NEW_LINE)$(TAB)')" Importance="high"/>
<Message Text="SqlProjects:$(NEW_LINE)$(TAB)@(SqlProjects->'%(RecursiveDir)%(FileName)%(Extension)', '$(NEW_LINE)$(TAB)')" Importance="high"/>
</Target>
<Target Name="GetIterationNumber">
<!-- Read the the iteration number file contents -->
<ReadLinesFromFile File="$(IterationNumberFile)">
<Output TaskParameter="Lines" ItemName="IterationNumberFileContents"/>
</ReadLinesFromFile>
<!-- Assign file contents to IterationNumber property -->
<CreateProperty Value="@(IterationNumberFileContents->'%(Identity)')">
<Output TaskParameter="Value" PropertyName="IterationNumber"/>
</CreateProperty>
</Target>
<Target Name="GetRevisionNumber">
<!-- Get the revision number of the local working copy -->
<SvnInfo LocalPath="$(MSBuildProjectDirectory)">
<Output TaskParameter="Revision" PropertyName="Revision"/>
</SvnInfo>
</Target>
<Target Name="CleanSolution">
<Message Text="Cleaning Solution Output"/>
<!-- Create item collection of custom artifacts produced by the build -->
<CreateItem Include=
"@(TestProjects->'%(RootDir)%(Directory)bin\$(Configuration)\*$(NUnitFile)');
@(TestProjects->'%(RootDir)%(Directory)bin\$(Configuration)\*$(LastTestRunSucceededFile)');
@(TestProjects->'%(RootDir)%(Directory)bin\$(Configuration)\*$(NCoverFile)');
@(TestProjects->'%(RootDir)%(Directory)bin\$(Configuration)\*$(NCoverLogFile)')">
<Output TaskParameter="Include" ItemName="SolutionOutput" />
</CreateItem>
<!-- Delete all the solution created artifacts -->
<Delete Files="@(SolutionOutput)"/>
<!-- Change the default BuildTarget to include a Clean before a Build -->
<CreateProperty Value="Clean;$(BuildTargets)">
<Output TaskParameter="Value" PropertyName="BuildTargets"/>
</CreateProperty>
</Target>
<Target Name="SvnVerify">
<Error Text="No UserName or Password for accessing the repository has been specified" Condition=" '$(SvnUsername)' == '' Or '$(SvnPassword)' == '' " />
<Error Text="No SvnTrunkFolder has been specified" Condition=" '$(SvnTrunkFolder)' == '' "/>
<Error Text="No SvnLocalPath has been specified" Condition=" '$(SvnLocalPath)' == '' "/>
</Target>
<Target Name="GetEnvironment" Condition=" '$(DeploymentBuild)' == 'true' ">
<!-- Read the the Environment file contents -->
<ReadLinesFromFile File="$(EnvironmentFile)">
<Output TaskParameter="Lines" ItemName="EnvironmentFileContents"/>
</ReadLinesFromFile>
<!-- Assign file contents to Environment property -->
<CreateProperty Value="@(EnvironmentFileContents->'%(Identity)')">
<Output TaskParameter="Value" PropertyName="Environment"/>
</CreateProperty>
<Message Text="Running build for Environment = $(Environment)" importance="high" />
</Target>
<Target Name="Version"
DependsOnTargets="GetIterationNumber;GetRevisionNumber"
Condition=" '$(DeploymentBuild)' == 'true' ">
<!-- Assign IterationNumber to the Build property -->
<CreateProperty Value="$(IterationNumber)">
<Output TaskParameter="Value" PropertyName="Build"/>
</CreateProperty>
<!-- Add 1 to the Revision for the VersionInfo update commit -->
<Add Numbers="$(Revision);1">
<Output TaskParameter="Result" PropertyName="Revision"/>
</Add>
<CreateProperty Value="$(Major).$(Minor).$(Build).$(Revision)">
<Output TaskParameter="Value" PropertyName="AppVersion"/>
</CreateProperty>
<Message Text="AppVersion number generated: $(AppVersion)" Importance="high"/>
<!-- Generate the GlobalAssemblyInfo.cs file -->
<AssemblyInfo CodeLanguage="CS"
OutputFile="$(CodeFolder)\GlobalAssemblyInfo.cs"
AssemblyConfiguration="$(Configuration)"
AssemblyCompany="Sanlam Ltd"
AssemblyProduct="MatrixQuote"
AssemblyCopyright="Copyright (c) 2006-2007 Sanlam Ltd"
AssemblyTrademark=""
AssemblyCulture=""
CLSCompliant="true"
AssemblyVersion="$(AppVersion)"
AssemblyFileVersion="$(AppVersion)" />
</Target>
<Target Name="BackupDatabases" Condition=" '$(DeploymentBuild)' == 'true' ">
<Error Text="No DBBackupFolder has been specified" Condition="'$(DBBackupFolder)' == ''" />
<Exec Command="$(DOUBLE_QUOTES)$(DBBackupScript)$(DOUBLE_QUOTES) $(SqlCmdRunner) $(DBServer)"
WorkingDirectory="$(SqlScriptsFolder)"/>
<CreateItem Include="$(DBBackupFolder)\SanQuote_*.bak">
<Output TaskParameter="Include" ItemName="DBBackupFiles"/>
</CreateItem>
</Target>
<Target Name="Sign" Condition=" '$(DeploymentBuild)' == 'true' ">
<!-- Sign the assemblies -->
<Exec Command="$(DOUBLE_QUOTES)$(FrameworkSdkPath)Bin\sn.exe$(DOUBLE_QUOTES) -Ra $(DOUBLE_QUOTES)%(CompiledAssemblies.FullPath)$(DOUBLE_QUOTES) $(KeyFile)"/>
</Target>
<Target Name="Package"
DependsOnTargets="BackupDatabases"
Condition=" '$(DeploymentBuild)' == 'true' ">
<Error Text="No InstallShieldInputFolder has been specified" Condition="'$(InstallShieldInputFolder)' == ''" />
<Error Text="No InstallShieldProjectFile has been specified" Condition="'$(InstallShieldProjectFile)' == ''" />
<CreateItem Include=
"$(CodeOutputFolder)\**\*.*;
$(LibFolder)\*.*;"
Exclude=
"$(CodeOutputFolder)\*.cmd;
$(CodeOutputFolder)\*.$(NUnitFile);
$(CodeOutputFolder)\*.$(LastTestRunSucceededFile);
$(CodeOutputFolder)\*.$(FxCopFile);
$(CodeOutputFolder)\*.$(LastCodeAnalysisSucceededFile);
$(CodeOutputFolder)\*.$(NCoverFile);
$(CodeOutputFolder)\*.$(NCoverLogFile);
$(CodeOutputFolder)\Binding\**;
$(CodeOutputFolder)\Logs\**;
$(CodeOutputFolder)\Utilities\**;
$(CodeOutputFolder)\**\.svn\**;
$(LibFolder)\DevExpress*.xml;
$(LibFolder)\Sanlam.Core.xml;
$(LibFolder)\nunit*;
$(LibFolder)\TypeMock*;
$(LibFolder)\**\.svn\**">
<Output TaskParameter="Include" ItemName="MsiFiles"/>
</CreateItem>
<CreateItem Include="$(InstallShieldInputFolder)\**\*.*">
<Output TaskParameter="Include" ItemName="OldMsiFiles"/>
</CreateItem>
<Delete Files="@(OldMsiFiles)"/>
<Copy SourceFiles="@(MsiFiles)"
DestinationFiles="@(MsiFiles->'$(InstallShieldInputFolder)\%(RecursiveDir)%(FileName)%(Extension)')" />
<Copy SourceFiles="@(DBBackupFiles)"
DestinationFiles="@(DBBackupFiles->'$(InstallShieldInputFolder)\Database\%(RecursiveDir)%(FileName)%(Extension)')" />
<!-- Set the version on the InstallShield Project -->
<Exec Command="$(DOUBLE_QUOTES)$(SetMsiProductVersionScript)$(DOUBLE_QUOTES) $(DOUBLE_QUOTES)$(InstallShieldProjectFile)$(DOUBLE_QUOTES) $(AppVersion)"/>
<!-- Call InstallShield to create the msi -->
<Exec Command="$(DOUBLE_QUOTES)$(InstallShieldCmd)$(DOUBLE_QUOTES) -p $(DOUBLE_QUOTES)$(InstallShieldProjectFile)$(DOUBLE_QUOTES) -o $(DOUBLE_QUOTES)$(InstallShieldMergeModulesFolder)$(DOUBLE_QUOTES) -t $(DOUBLE_QUOTES)$(FrameworkPath)$(DOUBLE_QUOTES) -b $(DOUBLE_QUOTES)$(InstallShieldOutputFolder)$(DOUBLE_QUOTES)" />
<CreateItem Include="$(InstallShieldOutputFolder)\$(InstallShieldBuildFolders)\$(MsiInstallFile)">
<Output TaskParameter="Include" ItemName="MsiInstallFileFullPath"/>
</CreateItem>
</Target>
<Target Name="Deploy" Condition=" '$(DeploymentBuild)' == 'true' ">
<Error Text="No DeploymentFolder has been specified" Condition=" '$(DeploymentFolder)' == ''" />
<CreateProperty Value="$(DeploymentFolder)\$(AppVersion)">
<Output TaskParameter="Value" PropertyName="InstallFolder"/>
</CreateProperty>
<Message Text="Install file: $(InstallFolder)\$(MsiInstallFile)" Importance="high" />
<Copy SourceFiles="@(MsiInstallFileFullPath)"
DestinationFolder="$(InstallFolder)"/>
<!-- Copy the msi onto the Qtp machine for regression testing -->
<Copy SourceFiles="@(MsiInstallFileFullPath)" DestinationFolder="$(QtpInstallFolder)"/>
<!-- Create the tokens for the InstallBuildEmail template -->
<CreateItem Include="AppVersion" AdditionalMetadata="ReplacementValue=$(AppVersion)">
<Output TaskParameter="Include" ItemName="EmailTokens"/>
</CreateItem>
<CreateItem Include="InstallFileFullPath" AdditionalMetadata="ReplacementValue=$(InstallFolder)\$(MsiInstallFile)">
<Output TaskParameter="Include" ItemName="EmailTokens"/>
</CreateItem>
<!-- Create the InstallBuildEmail by replacing the tokens in the template file -->
<TemplateFile Template="$(InstallBuildEmailTemplate)" OutputFilename="$(InstallBuildEmailFile)" Tokens="@(EmailTokens)" />
<ReadLinesFromFile File="$(InstallBuildEmailFile)">
<Output TaskParameter="Lines" ItemName="EmailBody"/>
</ReadLinesFromFile>
<!-- Send e-mail notification of the new build -->
<Mail SmtpServer="$(SmtpServer)"
To="@(Developers);@(QTPTesters)"
Priority="High"
IsBodyHtml="true"
From="$(CCNetProject)@sanlam.co.za"
Subject="Build $(AppVersion) ready for testing."
Body="@(EmailBody)" />
</Target>
<Target Name="TagRepository"
DependsOnTargets="SvnVerify;Version"
Condition=" '$(DeploymentBuild)' == 'true' ">
<!-- Increment the iteration number before the commit -->
<Add Numbers="$(IterationNumber);1">
<Output TaskParameter="Result" PropertyName="NextIterationNumber"/>
</Add>
<!-- Write out new iteration number to disk -->
<WriteLinesToFile File="$(IterationNumberFile)"
Lines="$(NextIterationNumber)"
Overwrite="true"/>
<!-- Commit all build changes -->
<CreateProperty Value="Automatic commit of version info updates for the deployment build of iteration $(IterationNumber).">
<Output TaskParameter="Value" PropertyName="SvnCommitMessage"/>
</CreateProperty>
<!-- Use svn directly as the SvnCommit task from MSBuildCommunityTasks requires Targets property to be set -->
<Exec Command="$(DOUBLE_QUOTES)$(SubversionCmd)$(DOUBLE_QUOTES) commit $(DOUBLE_QUOTES)$(SvnLocalPath)$(DOUBLE_QUOTES) --username $(SvnUsername) --password $(SvnPassword) --message $(DOUBLE_QUOTES)$(SvnCommitMessage)$(DOUBLE_QUOTES)"/>
<Message Text="Version Info changes commited at Revision: $(Revision)" Importance="high" />
<!-- Tag the repository on a successful build -->
<SvnCopy SourcePath="$(SvnTrunkFolder)"
DestinationPath="$(SvnTagsFolder)/Build-$(AppVersion)"
Message="Automatic tag of successful deployment build for iteration $(IterationNumber)." />
<Message Text="Tag created at $(SvnTagsFolder)/Build-$(AppVersion)" Importance="high"/>
</Target>
</Project>

194
Sanlam.SanQuote.proj Normal file
View File

@ -0,0 +1,194 @@
<Project DefaultTargets="BuildCode;BuildTests" InitialTargets="GetPaths;GetProjects" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- ASCII Constants -->
<PropertyGroup>
<NEW_LINE>%0D%0A</NEW_LINE>
<TAB>%09</TAB>
<DOUBLE_QUOTES>%22</DOUBLE_QUOTES>
<SPACE>%20</SPACE>
</PropertyGroup>
<!-- Solution Folders -->
<PropertyGroup>
<FBScriptFolder>$(MSBuildProjectDirectory)\Build</FBScriptFolder>
<CodeFolder>$(MSBuildProjectDirectory)\Source</CodeFolder>
<SqlFolder>$(MSBuildProjectDirectory)\Database</SqlFolder>
<LibFolder>$(MSBuildProjectDirectory)\Lib</LibFolder>
<InstallFolder>$(MSBuildProjectDirectory)\Install</InstallFolder>
<CodeOutputFolder>$(MSBuildProjectDirectory)\Output</CodeOutputFolder>
<SqlScriptsFolder>$(SqlFolder)\Scripts</SqlScriptsFolder>
<CodeMetricsFolder>$(MSBuildProjectDirectory)\Code Metrics</CodeMetricsFolder>
<ToolsFolder>$(MSBuildProjectDirectory)\Tools</ToolsFolder>
<QtpFolder>$(MSBuildProjectDirectory)\Qtp</QtpFolder>
<QtpDeployFolder Condition=" '$(QtpDeployFolder)' == '' ">\\qtpserver\qtpshare</QtpDeployFolder>
<QtpInstallFolder>$(QtpDeployFolder)\Install</QtpInstallFolder>
<QtpUninstallFolder>$(QtpDeployFolder)\Uninstall</QtpUninstallFolder>
<QtpResultsFolder Condition=" '$(QtpResultsFolder)' == '' ">$(QtpFolder)\TestResults</QtpResultsFolder>
</PropertyGroup>
<!-- Environment Settings -->
<PropertyGroup>
<DBServer Condition=" '$(DBServer)' == '' ">localhost</DBServer>
<DBMS>firebird2</DBMS>
<SqlCmdRunner>$(ToolsFolder)\ISQL\isql.exe</SqlCmdRunner>
<Environment>DEV</Environment>
<SmtpServer>smtp.somewhere.co.za</SmtpServer>
</PropertyGroup>
<!-- 3rd Party Program Settings -->
<PropertyGroup>
<FinalBuilderPath>C:\Archivos de programa\FinalBuilder 5</FinalBuilderPath>
<FinalBuilderCmd>$(FinalBuilderPath)\FBCMD.exe</FinalBuilderCmd>
<SubversionPath>C:\Program Files\Subversion\bin</SubversionPath>
<SubversionCmd>$(SubversionPath)\svn.exe</SubversionCmd>
<NCoverPath>C:\Program Files\NCover\</NCoverPath>
<NCoverExplorerPath>C:\Program Files\NCoverExplorer\</NCoverExplorerPath>
<NUnitPath>C:\Program Files\NUnit-Net-2.0 2.2.10\bin</NUnitPath>
<NUnitCmd>$(NUnitPath)\nunit-console.exe</NUnitCmd>
<InstallShieldPath>C:\Program Files\Installshield 12 StandaloneBuild</InstallShieldPath>
<InstallShieldCmd>$(InstallShieldPath)\IsSaBld.exe</InstallShieldCmd>
</PropertyGroup>
<!-- Solution Files -->
<PropertyGroup>
<KeyFile>..\Sanlam.snk</KeyFile>
<SolutionName>Sanlam.SanQuote.sln</SolutionName>
<IterationNumberFile>$(MSBuildProjectDirectory)\IterationNumber.txt</IterationNumberFile>
<EnvironmentFile>$(MSBuildProjectDirectory)\Environment.txt</EnvironmentFile>
<LastTestRunSucceededFile>LastTestRunSucceeded</LastTestRunSucceededFile>
<LastCodeAnalysisSucceededFile>LastCodeAnalysisSucceeded</LastCodeAnalysisSucceededFile>
<InstallBuildEmailFile>$(Temp)\InstallBuildEmailFile.htm</InstallBuildEmailFile>
<InstallBuildEmailTemplate>$(InstallFolder)\InstallBuildEmailTemplate.htm</InstallBuildEmailTemplate>
<NUnitFile>TestResult.xml</NUnitFile>
<FxCopFile>CodeAnalysisLog.xml</FxCopFile>
<NCoverFile>Coverage.xml</NCoverFile>
<NCoverLogFile>Coverage.log</NCoverLogFile>
<NCoverSummaryFile>CoverageSummary.xml</NCoverSummaryFile>
<NCoverHtmlReport>CoverageSummary.html</NCoverHtmlReport>
<DBBackupScript>$(SqlScriptsFolder)\CreateDBBackupsForAutomatedBuild.cmd</DBBackupScript>
<QtpRunTestsScriptFile>$(QtpFolder)\RunQTP.vbs</QtpRunTestsScriptFile>
<QtpResultsSummaryFile>QtpResultsSummary.xml</QtpResultsSummaryFile>
</PropertyGroup>
<!-- Subversion Settings -->
<PropertyGroup>
<SvnLocalPath>$(MSBuildProjectDirectory)</SvnLocalPath>
<SvnServerPath>https://svn.somewhere.co.za/sanquote</SvnServerPath>
<SvnTrunkFolder>$(SvnServerPath)/trunk</SvnTrunkFolder>
<SvnTagsFolder>$(SvnServerPath)/tags</SvnTagsFolder>
</PropertyGroup>
<!-- InstallShield Settings -->
<PropertyGroup>
<MsiInstallFile>SanQuote.msi</MsiInstallFile>
<InstallShieldProjectFile>$(InstallFolder)\SanQuote.ism</InstallShieldProjectFile>
<SetMsiProductVersionScript>$(InstallFolder)\SetMsiProductVersion.vbs</SetMsiProductVersionScript>
<InstallShieldInputFolder>$(InstallFolder)\Binaries\InstallFiles</InstallShieldInputFolder>
<InstallShieldOutputFolder>$(Temp)\SanQuote\Install</InstallShieldOutputFolder>
<InstallShieldBuildFolders>PROJECT_ASSISTANT\SINGLE_MSI_IMAGE\DiskImages\DISK1</InstallShieldBuildFolders>
<InstallShieldMergeModulesFolder>$(InstallFolder)\Merge Modules</InstallShieldMergeModulesFolder>
</PropertyGroup>
<!-- Misc Settings -->
<PropertyGroup>
<Major>1</Major>
<Minor>0</Minor>
<Build>$(Iteration)</Build>
<BuildTargets Condition=" '$(BuildTargets)' == '' ">Build</BuildTargets>
<DeploymentBuild Condition=" '$(DeploymentBuild)' == '' ">false</DeploymentBuild>
</PropertyGroup>
<!-- Overriding .csproj Project settings -->
<PropertyGroup>
<OutputPath Condition=" '$(OutputPath)' == '' ">$(CodeOutputFolder)</OutputPath>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<RunCodeAnalysis Condition=" '$(RunCodeAnalysis)' == '' ">false</RunCodeAnalysis>
<OutputPath Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">$(CodeOutputFolder)\Debug</OutputPath>
<OutputPath Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">$(CodeOutputFolder)\Release</OutputPath>
</PropertyGroup>
<!-- Only import the other targets here after the property definitions above have been defined -->
<Import Project="$(MSBuildProjectDirectory)\Sanlam.SanQuote.Common.targets"/>
<Import Project="C:\Archivos de programa\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
<!-- <Import Project="C:\Program Files\TypeMock\TypeMock.NET\TypeMock.MSBuild.Tasks"/>-->
<!--<Import Project="$(MSBuildExtensionsPath)\NCoverExplorerTasks\NCoverExplorer.MSBuildTasks.targets"/>-->
<!-- Add our CleanSolution task to the general Clean task -->
<PropertyGroup>
<CleanDependsOn>
$(CleanDependsOn);
CleanDatabases
CleanCode
</CleanDependsOn>
</PropertyGroup>
<ItemGroup>
<FBScriptFile Include="$(FBScriptFolder)\Build.fbp5" />
<SqlProjects Include="$(SqlFolder)\**\*.proj"/>
<Developers Include="
developer1@sanlam.co.za;
developer2@sanlam.co.za" />
<QTPTesters Include=
"tester1@sanlam.co.za;
tester2@sanlam.co.za" />
<FilesToDelete Include="$(CodeFolder)\**\*.dcu;
$(CodeFolder)\**\*.dcp;
$(CodeFolder)\**\*.map;
$(CodeFolder)\**\*.dsk;
$(CodeFolder)\**\*.~*;
$(CodeFolder)\**\*.bpl;
$(OutputPath)\**\*.*"
Exclude="$(OutputPath)\Database\*"/>
</ItemGroup>
<Target Name="BuildDatabases">
<MSBuild Projects="@(SqlProjects)"
Targets="$(BuildTargets)"
Properties="Configuration=$(Configuration);Platform=$(Platform);SqlCmdRunner=$(SqlCmdRunner);DBServer=$(DBServer)"/>
</Target>
<Target Name="CleanDatabases">
<MSBuild Projects="@(SqlProjects)"
Targets="Clean"
Properties="Configuration=$(Configuration);Platform=$(Platform);SqlCmdRunner=$(SqlCmdRunner);DBServer=$(DBServer)"/>
</Target>
<Target Name="BuildCode">
<Exec Command="$(DOUBLE_QUOTES)$(FinalBuilderCmd)$(DOUBLE_QUOTES) /p$(DOUBLE_QUOTES)@(FBScriptFile)$(DOUBLE_QUOTES) /b /c /s /l$(DOUBLE_QUOTES)$(FBScriptFolder)\Build.log$(DOUBLE_QUOTES)" />
</Target>
<Target Name="CleanCode">
<Delete Files="@(FilesToDelete)" ContinueOnError="true" />
</Target>
<Target Name="BuildTests">
<!-- Build the assemblies -->
<MSBuild Projects="@(TestProjects)" Targets="$(BuildTargets)" Properties="Configuration=$(Configuration);Platform=$(Platform);RunCodeAnalysis=$(RunCodeAnalysis)">
<Output TaskParameter="TargetOutputs" ItemName="TestAssemblies"/>
</MSBuild>
<!-- Add the compiled test assemblies to master list of all compiled assemblies for the build -->
<CreateItem Include="@(TestAssemblies)">
<Output TaskParameter="Include" ItemName="CompiledAssemblies"/>
</CreateItem>
<!-- If code analysis was run, create an item collection of the FxCop result files -->
<CreateItem Include="%(TestAssemblies.FullPath).$(FxCopFile)" Condition=" '$(RunCodeAnalysis)' == 'true' ">
<Output TaskParameter="Include" ItemName="FxCopResults"/>
</CreateItem>
</Target>
<Target Name="BuildAll"
DependsOnTargets="BuildDatabases;BuildCode;BuildTests"/>
<Target Name="CleanAll"
DependsOnTargets="CleanDatabases;CleanCode"/>
</Project>

View File

@ -45,11 +45,11 @@ BEGIN
END END
/* C:\Codigo Tecsitel\Lib\JSDialog\mbimg.res */ /* C:\Codigo Tecsitel\Lib\JSDialog\mbimg.res */
/* C:\Codigo Tecsitel\Lib\JSDialog\vistaimg.RES */ /* C:\Codigo Tecsitel\Lib\JSDialog\vistaimg.res */
/* C:\Codigo Tecsitel\Source\Base\uConfigurarConexion.dfm */ /* C:\Codigo Tecsitel\Source\Base\uConfigurarConexion.dfm */
/* C:\Codigo Tecsitel\Source\Base\uDataModuleConexion.dfm */ /* C:\Codigo Tecsitel\Source\Base\uDataModuleConexion.dfm */
/* C:\Codigo Tecsitel\Source\Base\uDataModuleConfiguracion.dfm */ /* C:\Codigo Tecsitel\Source\Base\uDataModuleConfiguracion.dfm */
/* C:\Codigo Tecsitel\Source\Base\uDataModuleBase.dfm */ /* C:\Codigo Tecsitel\Source\Base\uDataModuleBase.DFM */
/* C:\Codigo Tecsitel\Source\Base\uActualizacion.dfm */ /* C:\Codigo Tecsitel\Source\Base\uActualizacion.dfm */
/* C:\Codigo Tecsitel\Source\Base\Base.res */ /* C:\Codigo Tecsitel\Source\Base\Base.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf205.tmp */ /* C:\Codigo Tecsitel\Source\Base\Base.drf */

Binary file not shown.

View File

@ -13,4 +13,4 @@ BEGIN
END END
/* C:\Codigo Tecsitel\Source\Base\ControllerBase\ControllerBase.res */ /* C:\Codigo Tecsitel\Source\Base\ControllerBase\ControllerBase.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf207.tmp */ /* C:\Codigo Tecsitel\Source\Base\ControllerBase\ControllerBase.drf */

View File

@ -35,4 +35,4 @@ END
/* C:\Codigo Tecsitel\Source\Base\GUIBase\uDialogBase.dfm */ /* C:\Codigo Tecsitel\Source\Base\GUIBase\uDialogBase.dfm */
/* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewGrid.dfm */ /* C:\Codigo Tecsitel\Source\Base\GUIBase\uViewGrid.dfm */
/* C:\Codigo Tecsitel\Source\Base\GUIBase\GUIBase.res */ /* C:\Codigo Tecsitel\Source\Base\GUIBase\GUIBase.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf209.tmp */ /* C:\Codigo Tecsitel\Source\Base\GUIBase\GUIBase.drf */

View File

@ -14,8 +14,8 @@ END
/* C:\Codigo Tecsitel\Source\Base\Usuarios\uLoginForm.dfm */ /* C:\Codigo Tecsitel\Source\Base\Usuarios\uLoginForm.dfm */
/* C:\Codigo Tecsitel\Source\Base\Usuarios\uCambiarPassword.dfm */ /* C:\Codigo Tecsitel\Source\Base\Usuarios\uCambiarPassword.dfm */
/* C:\Codigo Tecsitel\Source\Base\Usuarios\uDataModuleUsuarios.dfm */ /* C:\Codigo Tecsitel\Source\Base\Usuarios\uDataModuleUsuarios.DFM */
/* C:\Codigo Tecsitel\Source\Base\Usuarios\uUsuarios.dfm */ /* C:\Codigo Tecsitel\Source\Base\Usuarios\uUsuarios.dfm */
/* C:\Codigo Tecsitel\Source\Base\Usuarios\uUsuario.dfm */ /* C:\Codigo Tecsitel\Source\Base\Usuarios\uUsuario.dfm */
/* C:\Codigo Tecsitel\Source\Base\Usuarios\Usuarios.res */ /* C:\Codigo Tecsitel\Source\Base\Usuarios\Usuarios.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf211.tmp */ /* C:\Codigo Tecsitel\Source\Base\Usuarios\Usuarios.drf */

View File

@ -531,14 +531,14 @@ begin
if Assigned(ADetail) then if Assigned(ADetail) then
begin begin
// ¡¡¡¡¡ MUY IMPORTANTE !!!!!!!!!!!!!!!!!! // ¡¡¡¡¡ MUY IMPORTANTE !!!!!!!!!!!!!!!!!!
ADetail.DataTable.DisableEventHandlers; //ADetail.DataTable.DisableEventHandlers;
try try
ADetail.DataTable.MasterSource := AMasterDataSource; ADetail.DataTable.MasterSource := AMasterDataSource;
finally finally
{ Hay que activar los eventos porque dejan de funcionar { Hay que activar los eventos porque dejan de funcionar
las reglas de negocio al establecer la relación las reglas de negocio al establecer la relación
maestro-detalle. (Fallo de Data Abstract 3) } maestro-detalle. (Fallo de Data Abstract 3) }
ADetail.DataTable.EnableEventHandlers; //ADetail.DataTable.EnableEventHandlers;
end; end;
end; end;
end; end;

View File

@ -8,6 +8,7 @@
<DCC_UsePackage>PluginSDK_D10R;GUISDK_D11;Base;GUIBase;Usuarios;Contactos_plugin;Empresas_plugin;Empresas_controller;Empresas_model</DCC_UsePackage> <DCC_UsePackage>PluginSDK_D10R;GUISDK_D11;Base;GUIBase;Usuarios;Contactos_plugin;Empresas_plugin;Empresas_controller;Empresas_model</DCC_UsePackage>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Cliente\FactuGES.exe</DCC_DependencyCheckOutputName> <DCC_DependencyCheckOutputName>..\..\Output\Debug\Cliente\FactuGES.exe</DCC_DependencyCheckOutputName>
<DCC_EnabledPackages>true</DCC_EnabledPackages>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version> <Version>7.0</Version>
@ -57,18 +58,6 @@
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages> <Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages> <Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages> <Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>

View File

@ -12,10 +12,10 @@ STRINGTABLE
BEGIN BEGIN
END END
/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\WindowsXP.res */ /* c:\archivos de programa\codegear\rad studio\5.0\lib\WindowsXP.res */
/* C:\Codigo Tecsitel\Lib\JVCL\JvXPCore.res */ /* C:\Codigo Tecsitel\Lib\jvcl\JvXPCore.res */
/* C:\Codigo Tecsitel\Source\Cliente\uSplash.dfm */ /* C:\Codigo Tecsitel\Source\Cliente\uSplash.dfm */
/* C:\Codigo Tecsitel\Source\Cliente\uAcercaDe.dfm */ /* C:\Codigo Tecsitel\Source\Cliente\uAcercaDe.dfm */
/* C:\Codigo Tecsitel\Source\Cliente\uPantallaPrincipal.dfm */ /* C:\Codigo Tecsitel\Source\Cliente\uPantallaPrincipal.dfm */
/* C:\Codigo Tecsitel\Source\Cliente\FactuGES.res */ /* C:\Codigo Tecsitel\Source\Cliente\FactuGES.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf235.tmp */ /* C:\Codigo Tecsitel\Source\Cliente\FactuGES.drf */

Binary file not shown.

140
Source/Cliente/compilar.bat Normal file

File diff suppressed because one or more lines are too long

View File

@ -13,4 +13,4 @@ BEGIN
END END
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Controller\Contactos_controller.res */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Controller\Contactos_controller.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf22F.tmp */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Controller\Contactos_controller.drf */

View File

@ -23,7 +23,6 @@ type
TClientesController = class(TContactosController, IClientesController) TClientesController = class(TContactosController, IClientesController)
protected protected
FDireccionesController : IDireccionesContactoController; FDireccionesController : IDireccionesContactoController;
procedure AsignarID(AContacto: IBizContacto; const IDNuevo: Integer); override;
function ValidarContacto(AContacto: IBizContacto): Boolean; override; function ValidarContacto(AContacto: IBizContacto): Boolean; override;
public public
constructor Create; override; constructor Create; override;
@ -57,21 +56,6 @@ uses
{ TClientesController } { TClientesController }
procedure TClientesController.AsignarID(AContacto: IBizContacto;
const IDNuevo: Integer);
begin
if not Assigned(AContacto) then
raise Exception.Create ('Contacto no asignado');
{ Los datos de descuentos hay que comprobarlos siempre
tanto en inserción como en modificación. }
with (AContacto as IBizCliente) do
if Assigned(Descuentos) then
AsignarIDDetalles(AContacto, IDNuevo, Descuentos.DataTable);
inherited;
end;
function TClientesController.Buscar(const ID: Integer): IBizContacto; function TClientesController.Buscar(const ID: Integer): IBizContacto;
begin begin
Result := (FDataModule as IDataModuleClientes).GetItem(ID); Result := (FDataModule as IDataModuleClientes).GetItem(ID);

View File

@ -32,9 +32,6 @@ type
TContactosController = class(TInterfacedObject, IContactosController) TContactosController = class(TInterfacedObject, IContactosController)
protected protected
FDataModule : IDataModuleContactos; FDataModule : IDataModuleContactos;
procedure AsignarID(AContacto: IBizContacto; const IDNuevo : Integer); virtual;
procedure AsignarIDDetalles(AContacto: IBizContacto;
const IDCabecera : Integer; ADataTable : TDADataTable);
procedure FiltrarEmpresa(AContacto : IBizContacto); virtual; procedure FiltrarEmpresa(AContacto : IBizContacto); virtual;
function _Vacio : IBizContacto; virtual; function _Vacio : IBizContacto; virtual;
function ValidarContacto(AContacto : IBizContacto): Boolean; virtual; function ValidarContacto(AContacto : IBizContacto): Boolean; virtual;
@ -75,55 +72,6 @@ begin
AContacto.Insert; AContacto.Insert;
end; end;
procedure TContactosController.AsignarID(AContacto: IBizContacto; const IDNuevo : Integer);
begin
if not Assigned(AContacto) then
raise Exception.Create ('Contacto no asignado');
if AContacto.EsNuevo then
begin
{ ¡¡¡ OJO !!!
Primero cambiamos el ID de las tablas detalles
porque si cambiamos antes el ID de la cabecera
deja de funcionar la relacion M/D y no
encontraríamos las filas detalle.
--> MASTER.ID = DETAIL.ID_CONTACTO <--
}
with AContacto._Categorias do
begin
if not DataTable.Active then
DataTable.Active := True;
Insert;
ID_CONTACTO := IDNuevo;
ID_CATEGORIA := AContacto.ID_CATEGORIA;
Post;
end;
end;
{ Los datos bancarios hay que comprobarlos siempre
tanto en inserción como en modificación. }
if Assigned(AContacto.DatosBancarios) then
AsignarIDDetalles(AContacto, IDNuevo, AContacto.DatosBancarios.DataTable);
{ Las direcciones extras hay que comprobarlas siempre
tanto en inserción como en modificación. }
if Assigned(AContacto.Direcciones) then
AsignarIDDetalles(AContacto, IDNuevo, AContacto.Direcciones.DataTable);
if AContacto.EsNuevo then
begin
AContacto.Edit;
AContacto.ID := IDNuevo;
AContacto.ID_EMPRESA := dmUsuarios.IDEmpresaActual;
AContacto.Post;
end;
end;
function TContactosController.Duplicar(AContacto: IBizContacto): IBizContacto; function TContactosController.Duplicar(AContacto: IBizContacto): IBizContacto;
begin begin
Result := Self._Vacio; Result := Self._Vacio;
@ -247,14 +195,7 @@ begin
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
if AContacto.EsNuevo then
NuevoID := FDataModule.GetNextID(AContacto.DataTable.LogicalName)
else
NuevoID := AContacto.ID;
AsignarID(AContacto, NuevoID);
AContacto.DataTable.ApplyUpdates; AContacto.DataTable.ApplyUpdates;
Result := True; Result := True;
finally finally
HideHourglassCursor; HideHourglassCursor;
@ -281,67 +222,6 @@ begin
end; end;
end; end;
procedure TContactosController.AsignarIDDetalles (AContacto: IBizContacto; const IDCabecera : Integer; ADataTable : TDADataTable);
var
AContador : Integer;
begin
if not ADataTable.Active then
ADataTable.Active := True;
if AContacto.EsNuevo then
begin
{ ¡¡¡¡ OJO !!!!
Para asignar el ID en los detalles hay
que tener en cuenta una cosa:
Si se cambia el ID, ese detalle ya no
pertenece a esa cabecera porque ya no se
cumple la condición de la relacion:
Master.ID = Detail.ID_CONTACTO.
Por esa razón no sirve hacer un recorrido
desde el principio hasta el final porque
las detalles van desapareciendo según asignamos
el valor al campo ID y nos mueve aleatoriamente
la posición del registro actual.
Es mejor hacer un bucle sencillo hasta que
"se gasten" todos los detalles. Cuando el
RecordCount llegue a 0 quiere decir que hemos
tratado todos los detalles.
}
while ADataTable.RecordCount > 0 do
begin
ADataTable.First;
ADataTable.Edit;
ADataTable.FieldByName('ID').AsInteger := FDataModule.GetNextID(ADataTable.LogicalName);
// ADataTable.FieldByName('ID_CONTACTO').AsInteger := IDCabecera;
//OJO SI UN DIA SON VARIOS LOS CAMPOS FORANEOS, SOLO FUNCIONA CUANDO ES UN ÚNICO CAMPO DE CLAVE FORANEA
ADataTable.FieldByName(ADataTable.DetailFields).AsInteger := IDCabecera;
ADataTable.Post;
end;
end
else begin
{ En este caso es un recorrido normal y corriente. }
ADataTable.First;
AContador := ADataTable.RecordCount;
while (AContador > 0) do
begin
// ¿Es nuevo?
if (ADataTable.FieldByName('ID').AsInteger < 0) then
begin
ADataTable.Edit;
ADataTable.FieldByName('ID').AsInteger := FDataModule.GetNextID(ADataTable.LogicalName);
ADataTable.Post;
end;
AContador := AContador - 1;
ADataTable.Next;
end;
ADataTable.First;
end;
end;
function TContactosController.ValidarContacto(AContacto: IBizContacto): Boolean; function TContactosController.ValidarContacto(AContacto: IBizContacto): Boolean;
begin begin
Result := False; Result := False;
@ -374,11 +254,11 @@ begin
AContacto.DataTable.Active := False; AContacto.DataTable.Active := False;
// Filtrar los contactos actuales por empresa // Filtrar los contactos actuales por empresa
with AContacto.DataTable.Where do with AContacto.DataTable.DynamicWhere do
begin begin
if NotEmpty then // (ID = :ID)
AddOperator(opAND); Expression := NewBinaryExpression(NewField('', fld_ContactosID_EMPRESA),
AddCondition(fld_ContactosID_EMPRESA, cEqual, dmUsuarios.IDEmpresaActual); NewConstant(dmUsuarios.IDEmpresaActual, datInteger), dboEqual);
end; end;
end; end;

View File

@ -9,7 +9,6 @@ uses
type type
IDireccionesContactoController = interface IDireccionesContactoController = interface
['{9B6CB172-F32C-414F-A0E2-99920CAF88FB}'] ['{9B6CB172-F32C-414F-A0E2-99920CAF88FB}']
procedure AsignarID(ADetalles: IBizDireccionesContacto; IDCabecera: Integer; AEsNuevo:Boolean);
procedure CopiarDireccionFiscal(AContacto: IBizContacto; ADireccion: IBizDireccionesContacto; AAnadir : Boolean = True); procedure CopiarDireccionFiscal(AContacto: IBizContacto; ADireccion: IBizDireccionesContacto; AAnadir : Boolean = True);
procedure Ver(ADireccion : IBizDireccionesContacto); procedure Ver(ADireccion : IBizDireccionesContacto);
function Localizar(ADirecciones: IBizDireccionesContacto; const ID : Integer): Boolean; function Localizar(ADirecciones: IBizDireccionesContacto; const ID : Integer): Boolean;
@ -21,7 +20,6 @@ type
public public
procedure CopiarDireccionFiscal(AContacto: IBizContacto; ADireccion: IBizDireccionesContacto; AAnadir : Boolean = True); procedure CopiarDireccionFiscal(AContacto: IBizContacto; ADireccion: IBizDireccionesContacto; AAnadir : Boolean = True);
procedure Ver(ADireccion : IBizDireccionesContacto); procedure Ver(ADireccion : IBizDireccionesContacto);
procedure AsignarID(ADetalles: IBizDireccionesContacto; IDCabecera: Integer; AEsNuevo:Boolean);
function Localizar(ADirecciones: IBizDireccionesContacto; const ID : Integer): Boolean; function Localizar(ADirecciones: IBizDireccionesContacto; const ID : Integer): Boolean;
constructor Create; virtual; constructor Create; virtual;
destructor Destroy; override; destructor Destroy; override;
@ -35,74 +33,6 @@ uses
uDataModuleContactos, schContactosClient_Intf, uIEditorDireccionContacto, uDataModuleContactos, schContactosClient_Intf, uIEditorDireccionContacto,
uEditorRegistryUtils, cxControls; uEditorRegistryUtils, cxControls;
procedure TDireccionesContactoController.AsignarID(
ADetalles: IBizDireccionesContacto; IDCabecera: Integer;
AEsNuevo: Boolean);
begin
with ADetalles do
begin
DataTable.DisableControls;
try
if not DataTable.Active then
DataTable.Active := True;
// AuxPosicion := POSICION;
{ ¡¡¡¡ OJO !!!!
Para asignar el ID en los detalles hay
que tener en cuenta una cosa:
Si se cambia el ID, ese detalle ya no
pertenece a esa cabecera porque ya no se
cumple la condición de la relacion:
Master.ID = Detail.ID_PRESUPUESTO.
Por esa razón no sirve hacer un recorrido
desde el principio hasta el final porque
las detalles van desapareciendo según asignamos
el valor al campo ID y nos mueve aleatoriamente
la posición del registro actual.
Es mejor hacer un bucle sencillo hasta que
"se gasten" todos los detalles. Cuando el
RecordCount llegue a 0 quiere decir que hemos
tratado todos los detalles.
El bucle cambia en el caso de ser llamada esta funcion desde modificar
un presupuesto ya que en ese caso si que hay que hacer un recorrido
total de las tuplas de detalle.
}
if AEsNuevo then
begin
while RecordCount > 0 do
begin
DataTable.First;
Edit;
ID := FDataModule.GetNextID(DataTable.LogicalName);
ID_CONTACTO := IDCabecera;
Post
end
end
else
begin
DataTable.First;
while not DataTable.EOF do
begin
if AEsNuevo then
begin
Edit;
ID := FDataModule.GetNextID(DataTable.LogicalName);
ID_CONTACTO := IDCabecera;
Post
end;
DataTable.Next
end;
end;
finally
DataTable.EnableControls;
end;
end;
end;
procedure TDireccionesContactoController.CopiarDireccionFiscal( procedure TDireccionesContactoController.CopiarDireccionFiscal(
AContacto: IBizContacto; ADireccion: IBizDireccionesContacto; AContacto: IBizContacto; ADireccion: IBizDireccionesContacto;

View File

@ -17,9 +17,6 @@ type
end; end;
TEmpleadosController = class(TContactosController, IEmpleadosController) TEmpleadosController = class(TContactosController, IEmpleadosController)
protected
procedure AsignarID(AContacto: IBizContacto; const IDNuevo: Integer); override;
public public
constructor Create; override; constructor Create; override;
@ -47,15 +44,6 @@ uses
{ TEmpleadoController } { TEmpleadoController }
procedure TEmpleadosController.AsignarID(AContacto: IBizContacto;
const IDNuevo: Integer);
begin
if not Assigned(AContacto) then
raise Exception.Create ('Contacto no asignado');
inherited;
end;
function TEmpleadosController.Buscar(const ID: Integer): IBizContacto; function TEmpleadosController.Buscar(const ID: Integer): IBizContacto;
begin begin
Result := (FDataModule as IDataModuleEmpleados).GetItem(ID); Result := (FDataModule as IDataModuleEmpleados).GetItem(ID);

View File

@ -42,13 +42,19 @@
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType> <Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="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 Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Contactos_data.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">True</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 Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Contactos_data.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions> </ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" /> <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup> <ItemGroup>
<DelphiCompile Include="Contactos_data.dpk"> <DelphiCompile Include="Contactos_data.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<None Include="ModelSupport_Contactos_data\default.txaPackage" />
<DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Contactos_model.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Usuarios.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="uDataModuleClientes.pas"> <DCCReference Include="uDataModuleClientes.pas">
<Form>DataModuleClientes </Form> <Form>DataModuleClientes </Form>
</DCCReference> </DCCReference>
@ -63,3 +69,487 @@
</DCCReference> </DCCReference>
</ItemGroup> </ItemGroup>
</Project> </Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006
Activate=0
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
TerminateBtn Operation=2
Errors Number=32
Errors Terminate=3
Email Address=
Email Object=
Email Send Options=0
Output Path=
Encrypt Password=
AutoCloseDialogSecs=0
WebSendMode=0
SupportULR=
HTMLLayout Count=15
HTMLLine0="%3Chtml%3E"
HTMLLine1=" %3Chead%3E"
HTMLLine2=" %3C/head%3E"
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
HTMLLine5=" %3Ctr%3E"
HTMLLine6=" %3Ctd nowrap%3E"
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
HTMLLine8=" %3C%%HTML_TAG%%%3E"
HTMLLine9=" %3C/font%3E"
HTMLLine10=" %3C/td%3E"
HTMLLine11=" %3C/tr%3E"
HTMLLine12=" %3C/table%3E"
HTMLLine13=" %3C/body%3E"
HTMLLine14="%3C/html%3E"
AutoCrashOperation=2
AutoCrashNumber=10
AutoCrashMinutes=1
WebURL=
WebUserID=
WebPassword=
WebPort=0
AttachedFiles=
ProxyURL=
ProxyUser=
ProxyPassword=
ProxyPort=8080
TrakerUser=
TrakerPassword=
TrakerAssignTo=
TrakerProject=
TrakerCategory=
TrakerTrialID=
ZipPassword=
PreBuildEvent=
PostSuccessfulBuildEvent=
PostFailureBuildEvent=
ExceptionDialogType=2
Count=0
EMail Message Line Count=0
loNoDuplicateErrors=0
loAppendReproduceText=0
loDeleteLogAtVersionChange=0
loAddComputerNameInLogFileName=0
loSaveModulesAndProcessesSections=1
loSaveAssemblerAndCPUSections=1
soAppStartDate=1
soAppName=1
soAppVersionNumber=1
soAppParameters=1
soAppCompilationDate=1
soAppUpTime=1
soExcDate=1
soExcAddress=1
soExcModuleName=1
soExcModuleVersion=1
soExcType=1
soExcMessage=1
soExcID=1
soExcCount=1
soExcStatus=1
soExcNote=1
soUserID=1
soUserName=1
soUserEmail=1
soUserPrivileges=1
soUserCompany=1
soActCtlsFormClass=1
soActCtlsFormText=1
soActCtlsControlClass=1
soActCtlsControlText=1
soCmpName=1
soCmpTotalMemory=1
soCmpFreeMemory=1
soCmpTotalDisk=1
soCmpFreeDisk=1
soCmpSysUpTime=1
soCmpProcessor=1
soCmpDisplayMode=1
soCmpDisplayDPI=1
soCmpVideoCard=1
soCmpPrinter=1
soOSType=1
soOSBuildN=1
soOSUpdate=1
soOSLanguage=1
soOSCharset=1
soNetIP=1
soNetSubmask=1
soNetGateway=1
soNetDNS1=1
soNetDNS2=1
soNetDHCP=1
soCustomData=1
sndShowSendDialog=1
sndShowSuccessFailureMsg=0
sndSendEntireLog=0
sndSendXMLLogCopy=0
sndSendScreenshot=1
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndAddComputerNameInFileName=0
edoSendErrorReportChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=0
edoShowSendErrorReportOption=1
edoShowAttachScreenshotOption=1
edoShowCustomButton=0
csoShowDLLs=1
csoShowBPLs=1
csoShowBorlandThreads=1
csoShowWindowsThreads=1
csoDoNotStoreProcNames=0
boPauseBorlandThreads=0
boDoNotPauseMainThread=0
boPauseWindowsThreads=0
boUseMainModuleOptions=1
boCopyLogInCaseOfError=1
boSaveCompressedCopyInCaseOfError=0
boHandleSafeCallExceptions=1
boCallRTLExceptionEvent=0
boCatchHandledExceptions=0
loCatchLeaks=0
loGroupsSonLeaks=1
loHideBorlandLeaks=1
loFreeAllLeaks=1
loCatchLeaksExceptions=1
cfoReduceFileSize=1
cfoCheckFileCorruption=0
Count mtInformationMsgCaption=1
mtInformationMsgCaption0="Information."
Count mtQuestionMsgCaption=1
mtQuestionMsgCaption0="Question."
Count mtErrorMsgCaption=1
mtErrorMsgCaption0="Error."
Count mtDialog_Caption=1
mtDialog_Caption0="Error occurred"
Count mtDialog_ErrorMsgCaption=2
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
Count mtDialog_GeneralCaption=1
mtDialog_GeneralCaption0="General"
Count mtDialog_GeneralHeader=1
mtDialog_GeneralHeader0="General Information"
Count mtDialog_CallStackCaption=1
mtDialog_CallStackCaption0="Call Stack"
Count mtDialog_CallStackHeader=1
mtDialog_CallStackHeader0="Call Stack Information"
Count mtDialog_ModulesCaption=1
mtDialog_ModulesCaption0="Modules"
Count mtDialog_ModulesHeader=1
mtDialog_ModulesHeader0="Modules Information"
Count mtDialog_ProcessesCaption=1
mtDialog_ProcessesCaption0="Processes"
Count mtDialog_ProcessesHeader=1
mtDialog_ProcessesHeader0="Processes Information"
Count mtDialog_AsmCaption=1
mtDialog_AsmCaption0="Assembler"
Count mtDialog_AsmHeader=1
mtDialog_AsmHeader0="Assembler Information"
Count mtDialog_CPUCaption=1
mtDialog_CPUCaption0="CPU"
Count mtDialog_CPUHeader=1
mtDialog_CPUHeader0="CPU Information"
Count mtDialog_OKButtonCaption=1
mtDialog_OKButtonCaption0="%26OK"
Count mtDialog_TerminateButtonCaption=1
mtDialog_TerminateButtonCaption0="%26Terminate"
Count mtDialog_RestartButtonCaption=1
mtDialog_RestartButtonCaption0="%26Restart"
Count mtDialog_DetailsButtonCaption=1
mtDialog_DetailsButtonCaption0="%26Details"
Count mtDialog_CustomButtonCaption=1
mtDialog_CustomButtonCaption0="%26Help"
Count mtDialog_SendMessage=1
mtDialog_SendMessage0="%26Send this error via Internet"
Count mtDialog_ScreenshotMessage=1
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
Count mtDialog_CopyMessage=1
mtDialog_CopyMessage0="%26Copy to Clipboard"
Count mtDialog_SupportMessage=1
mtDialog_SupportMessage0="Go to the Support Page"
Count mtMSDialog_ErrorMsgCaption=1
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
Count mtMSDialog_RestartCaption=1
mtMSDialog_RestartCaption0="Restart application."
Count mtMSDialog_TerminateCaption=1
mtMSDialog_TerminateCaption0="Terminate application."
Count mtMSDialog_PleaseCaption=1
mtMSDialog_PleaseCaption0="Please tell us about this problem."
Count mtMSDialog_DescriptionCaption=1
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
Count mtMSDialog_SeeDetailsCaption=1
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
Count mtMSDialog_SeeClickCaption=1
mtMSDialog_SeeClickCaption0="click here."
Count mtMSDialog_HowToReproduceCaption=1
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happended (optional)?"
Count mtMSDialog_EmailCaption=1
mtMSDialog_EmailCaption0="Email address (optional):"
Count mtMSDialog_SendButtonCaption=1
mtMSDialog_SendButtonCaption0="%26Send Error Report"
Count mtMSDialog_NoSendButtonCaption=1
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
Count mtLog_AppHeader=1
mtLog_AppHeader0="Application"
Count mtLog_AppStartDate=1
mtLog_AppStartDate0="Start Date"
Count mtLog_AppName=1
mtLog_AppName0="Name/Description"
Count mtLog_AppVersionNumber=1
mtLog_AppVersionNumber0="Version Number"
Count mtLog_AppParameters=1
mtLog_AppParameters0="Parameters"
Count mtLog_AppCompilationDate=1
mtLog_AppCompilationDate0="Compilation Date"
Count mtLog_AppUpTime=1
mtLog_AppUpTime0="Up Time"
Count mtLog_ExcHeader=1
mtLog_ExcHeader0="Exception"
Count mtLog_ExcDate=1
mtLog_ExcDate0="Date"
Count mtLog_ExcAddress=1
mtLog_ExcAddress0="Address"
Count mtLog_ExcModuleName=1
mtLog_ExcModuleName0="Module Name"
Count mtLog_ExcModuleVersion=1
mtLog_ExcModuleVersion0="Module Version"
Count mtLog_ExcType=1
mtLog_ExcType0="Type"
Count mtLog_ExcMessage=1
mtLog_ExcMessage0="Message"
Count mtLog_ExcID=1
mtLog_ExcID0="ID"
Count mtLog_ExcCount=1
mtLog_ExcCount0="Count"
Count mtLog_ExcStatus=1
mtLog_ExcStatus0="Status"
Count mtLog_ExcNote=1
mtLog_ExcNote0="Note"
Count mtLog_UserHeader=1
mtLog_UserHeader0="User"
Count mtLog_UserID=1
mtLog_UserID0="ID"
Count mtLog_UserName=1
mtLog_UserName0="Name"
Count mtLog_UserEmail=1
mtLog_UserEmail0="Email"
Count mtLog_UserCompany=1
mtLog_UserCompany0="Company"
Count mtLog_UserPrivileges=1
mtLog_UserPrivileges0="Privileges"
Count mtLog_ActCtrlsHeader=1
mtLog_ActCtrlsHeader0="Active Controls"
Count mtLog_ActCtrlsFormClass=1
mtLog_ActCtrlsFormClass0="Form Class"
Count mtLog_ActCtrlsFormText=1
mtLog_ActCtrlsFormText0="Form Text"
Count mtLog_ActCtrlsControlClass=1
mtLog_ActCtrlsControlClass0="Control Class"
Count mtLog_ActCtrlsControlText=1
mtLog_ActCtrlsControlText0="Control Text"
Count mtLog_CmpHeader=1
mtLog_CmpHeader0="Computer"
Count mtLog_CmpName=1
mtLog_CmpName0="Name"
Count mtLog_CmpTotalMemory=1
mtLog_CmpTotalMemory0="Total Memory"
Count mtLog_CmpFreeMemory=1
mtLog_CmpFreeMemory0="Free Memory"
Count mtLog_CmpTotalDisk=1
mtLog_CmpTotalDisk0="Total Disk"
Count mtLog_CmpFreeDisk=1
mtLog_CmpFreeDisk0="Free Disk"
Count mtLog_CmpSystemUpTime=1
mtLog_CmpSystemUpTime0="System Up Time"
Count mtLog_CmpProcessor=1
mtLog_CmpProcessor0="Processor"
Count mtLog_CmpDisplayMode=1
mtLog_CmpDisplayMode0="Display Mode"
Count mtLog_CmpDisplayDPI=1
mtLog_CmpDisplayDPI0="Display DPI"
Count mtLog_CmpVideoCard=1
mtLog_CmpVideoCard0="Video Card"
Count mtLog_CmpPrinter=1
mtLog_CmpPrinter0="Printer"
Count mtLog_OSHeader=1
mtLog_OSHeader0="Operating System"
Count mtLog_OSType=1
mtLog_OSType0="Type"
Count mtLog_OSBuildN=1
mtLog_OSBuildN0="Build #"
Count mtLog_OSUpdate=1
mtLog_OSUpdate0="Update"
Count mtLog_OSLanguage=1
mtLog_OSLanguage0="Language"
Count mtLog_OSCharset=1
mtLog_OSCharset0="Charset"
Count mtLog_NetHeader=1
mtLog_NetHeader0="Network"
Count mtLog_NetIP=1
mtLog_NetIP0="IP Address"
Count mtLog_NetSubmask=1
mtLog_NetSubmask0="Submask"
Count mtLog_NetGateway=1
mtLog_NetGateway0="Gateway"
Count mtLog_NetDNS1=1
mtLog_NetDNS10="DNS 1"
Count mtLog_NetDNS2=1
mtLog_NetDNS20="DNS 2"
Count mtLog_NetDHCP=1
mtLog_NetDHCP0="DHCP"
Count mtLog_CustInfoHeader=1
mtLog_CustInfoHeader0="Custom Information"
Count mtCallStack_Address=1
mtCallStack_Address0="Address"
Count mtCallStack_Name=1
mtCallStack_Name0="Module"
Count mtCallStack_Unit=1
mtCallStack_Unit0="Unit"
Count mtCallStack_Class=1
mtCallStack_Class0="Class"
Count mtCallStack_Procedure=1
mtCallStack_Procedure0="Procedure/Method"
Count mtCallStack_Line=1
mtCallStack_Line0="Line"
Count mtCallStack_MainThread=1
mtCallStack_MainThread0="Main"
Count mtCallStack_ExceptionThread=1
mtCallStack_ExceptionThread0="Exception Thread"
Count mtCallStack_RunningThread=1
mtCallStack_RunningThread0="Running Thread"
Count mtCallStack_CallingThread=1
mtCallStack_CallingThread0="Calling Thread"
Count mtCallStack_ThreadID=1
mtCallStack_ThreadID0="ID"
Count mtCallStack_ThreadPriority=1
mtCallStack_ThreadPriority0="Priority"
Count mtCallStack_ThreadClass=1
mtCallStack_ThreadClass0="Class"
Count mtCallStack_LeakCaption=1
mtCallStack_LeakCaption0="Memory Leak"
Count mtCallStack_LeakData=1
mtCallStack_LeakData0="Data"
Count mtCallStack_LeakType=1
mtCallStack_LeakType0="Type"
Count mtCallStack_LeakSize=1
mtCallStack_LeakSize0="Total size"
Count mtCallStack_LeakCount=1
mtCallStack_LeakCount0="Count"
Count mtSendDialog_Caption=1
mtSendDialog_Caption0="Send."
Count mtSendDialog_Message=1
mtSendDialog_Message0="Message"
Count mtSendDialog_Resolving=1
mtSendDialog_Resolving0="Resolving DNS..."
Count mtSendDialog_Login=1
mtSendDialog_Login0="Login..."
Count mtSendDialog_Connecting=1
mtSendDialog_Connecting0="Connecting with server..."
Count mtSendDialog_Connected=1
mtSendDialog_Connected0="Connected with server."
Count mtSendDialog_Sending=1
mtSendDialog_Sending0="Sending message..."
Count mtSendDialog_Sent=1
mtSendDialog_Sent0="Message sent."
Count mtSendDialog_SelectProject=1
mtSendDialog_SelectProject0="Select project..."
Count mtSendDialog_Searching=1
mtSendDialog_Searching0="Searching..."
Count mtSendDialog_Modifying=1
mtSendDialog_Modifying0="Modifying..."
Count mtSendDialog_Disconnecting=1
mtSendDialog_Disconnecting0="Disconnecting..."
Count mtSendDialog_Disconnected=1
mtSendDialog_Disconnected0="Disconnected."
Count mtReproduceDialog_Caption=1
mtReproduceDialog_Caption0="Request"
Count mtReproduceDialog_Request=1
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
Count mtReproduceDialog_OKButtonCaption=1
mtReproduceDialog_OKButtonCaption0="%26OK"
Count mtModules_Handle=1
mtModules_Handle0="Handle"
Count mtModules_Name=1
mtModules_Name0="Name"
Count mtModules_Description=1
mtModules_Description0="Description"
Count mtModules_Version=1
mtModules_Version0="Version"
Count mtModules_Size=1
mtModules_Size0="Size"
Count mtModules_LastModified=1
mtModules_LastModified0="Modified"
Count mtModules_Path=1
mtModules_Path0="Path"
Count mtProcesses_ID=1
mtProcesses_ID0="ID"
Count mtProcesses_Name=1
mtProcesses_Name0="Name"
Count mtProcesses_Description=1
mtProcesses_Description0="Description"
Count mtProcesses_Version=1
mtProcesses_Version0="Version"
Count mtProcesses_Memory=1
mtProcesses_Memory0="Memory"
Count mtProcesses_Priority=1
mtProcesses_Priority0="Priority"
Count mtProcesses_Threads=1
mtProcesses_Threads0="Threads"
Count mtProcesses_Path=1
mtProcesses_Path0="Path"
Count mtCPU_Registers=1
mtCPU_Registers0="Registers"
Count mtCPU_Stack=1
mtCPU_Stack0="Stack"
Count mtCPU_MemoryDump=1
mtCPU_MemoryDump0="Memory Dump"
Count mtSend_SuccessMsg=1
mtSend_SuccessMsg0="The message was sent successfully."
Count mtSend_FailureMsg=1
mtSend_FailureMsg0="Sorry, sending the message didn't work."
Count mtSend_BugClosedMsg=2
mtSend_BugClosedMsg0="These BUG is just closed."
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
Count mtSend_UnknownErrorMsg=1
mtSend_UnknownErrorMsg0="Unknown error."
Count mtSend_InvalidLoginMsg=1
mtSend_InvalidLoginMsg0="Invalid login request."
Count mtSend_InvalidSearchMsg=1
mtSend_InvalidSearchMsg0="Invalid search request."
Count mtSend_InvalidSelectionMsg=1
mtSend_InvalidSelectionMsg0="Invalid selection request."
Count mtSend_InvalidInsertMsg=1
mtSend_InvalidInsertMsg0="Invalid insert request."
Count mtSend_InvalidModifyMsg=1
mtSend_InvalidModifyMsg0="Invalid modify request."
Count mtFileCrackedMsg=2
mtFileCrackedMsg0="This file is cracked."
mtFileCrackedMsg1="The application will be closed."
Count mtException_LeakMultiFree=1
mtException_LeakMultiFree0="Multi Free memory leak."
Count mtException_LeakMemoryOverrun=1
mtException_LeakMemoryOverrun0="Memory Overrun leak."
Count mtException_AntiFreeze=1
mtException_AntiFreeze0="The application seems to be frozen."
Count mtInvalidEmailMsg=1
mtInvalidEmailMsg0="Invalid email."
TextsCollection=English
EurekaLog Last Line -->

View File

@ -12,9 +12,9 @@ STRINGTABLE
BEGIN BEGIN
END END
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleContactos.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleContactos.DFM */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleClientes.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleClientes.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleProveedores.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleProveedores.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleEmpleados.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleEmpleados.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\Contactos_data.res */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\Contactos_data.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf22D.tmp */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\Contactos_data.drf */

View File

@ -1,27 +1,31 @@
inherited DataModuleClientes: TDataModuleClientes inherited DataModuleClientes: TDataModuleClientes
Height = 433 Height = 325
Width = 705 Width = 636
inherited rda_Contactos: TDARemoteDataAdapter
Top = 79
end
inherited Bin2DataStreamer: TDABin2DataStreamer
Top = 136
end
inherited ds_Contactos: TDADataSource inherited ds_Contactos: TDADataSource
DataSet = tbl_Contactos.Dataset DataSet = tbl_Contactos.Dataset
end end
inherited ds_ContactosCategorias: TDADataSource inherited ds_ContactosCategorias: TDADataSource
DataSet = tbl_ContactosCategorias.Dataset DataSet = tbl_ContactosCategorias.Dataset
end end
inherited ds_DatosBancarios: TDADataSource
DataSet = tbl_DatosBancarios.Dataset
end
inherited ds_DireccionesContacto: TDADataSource inherited ds_DireccionesContacto: TDADataSource
DataSet = tbl_DireccionesContacto.Dataset DataSet = tbl_DireccionesContacto.Dataset
end end
inherited rda_Contactos: TDARemoteDataAdapter inherited ds_DatosBancarios: TDADataSource
Top = 79 DataSet = tbl_DatosBancarios.Dataset
end end
object tbl_Clientes: TDACDSDataTable object tbl_Clientes: TDAMemDataTable
RemoteUpdatesOptions = [] RemoteUpdatesOptions = []
Fields = < Fields = <
item item
Name = 'ID' Name = 'ID'
DataType = datAutoInc DataType = datAutoInc
GeneratorName = 'GEN_CONTACTOS_ID'
DictionaryEntry = 'Contactos_ID' DictionaryEntry = 'Contactos_ID'
InPrimaryKey = True InPrimaryKey = True
end end
@ -42,16 +46,10 @@ inherited DataModuleClientes: TDataModuleClientes
Name = 'NOMBRE' Name = 'NOMBRE'
DataType = datString DataType = datString
Size = 255 Size = 255
Required = True
DisplayLabel = 'Nombre' DisplayLabel = 'Nombre'
DictionaryEntry = 'Contactos_NOMBRE' DictionaryEntry = 'Contactos_NOMBRE'
end end
item
Name = 'CALLE'
DataType = datString
Size = 255
DisplayLabel = 'Direcci'#243'n'
DictionaryEntry = 'Contactos_CALLE'
end
item item
Name = 'PERSONA_CONTACTO' Name = 'PERSONA_CONTACTO'
DataType = datString DataType = datString
@ -59,11 +57,18 @@ inherited DataModuleClientes: TDataModuleClientes
DisplayLabel = 'Persona de contacto' DisplayLabel = 'Persona de contacto'
DictionaryEntry = 'Contactos_PERSONA_CONTACTO' DictionaryEntry = 'Contactos_PERSONA_CONTACTO'
end end
item
Name = 'CALLE'
DataType = datString
Size = 255
DisplayLabel = 'Direcci'#195#179'n'
DictionaryEntry = 'Contactos_CALLE'
end
item item
Name = 'POBLACION' Name = 'POBLACION'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Poblaci'#243'n' DisplayLabel = 'Poblaci'#195#179'n'
DictionaryEntry = 'Contactos_POBLACION' DictionaryEntry = 'Contactos_POBLACION'
end end
item item
@ -77,7 +82,7 @@ inherited DataModuleClientes: TDataModuleClientes
Name = 'CODIGO_POSTAL' Name = 'CODIGO_POSTAL'
DataType = datString DataType = datString
Size = 10 Size = 10
DisplayLabel = 'C'#243'digo postal' DisplayLabel = 'C'#195#179'digo postal'
DictionaryEntry = 'Contactos_CODIGO_POSTAL' DictionaryEntry = 'Contactos_CODIGO_POSTAL'
end end
item item
@ -98,7 +103,7 @@ inherited DataModuleClientes: TDataModuleClientes
Name = 'MOVIL_1' Name = 'MOVIL_1'
DataType = datString DataType = datString
Size = 25 Size = 25
DisplayLabel = 'M'#243'vil' DisplayLabel = 'M'#195#179'vil'
DictionaryEntry = 'Contactos_MOVIL_1' DictionaryEntry = 'Contactos_MOVIL_1'
end end
item item
@ -142,6 +147,14 @@ inherited DataModuleClientes: TDataModuleClientes
DisplayLabel = 'Observaciones' DisplayLabel = 'Observaciones'
DictionaryEntry = 'Contactos_NOTAS' DictionaryEntry = 'Contactos_NOTAS'
end end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
end
item item
Name = 'USUARIO' Name = 'USUARIO'
DataType = datString DataType = datString
@ -160,34 +173,6 @@ inherited DataModuleClientes: TDataModuleClientes
Size = 255 Size = 255
DictionaryEntry = 'Clientes_REFERENCIA' DictionaryEntry = 'Clientes_REFERENCIA'
end end
item
Name = 'ID_TIPO_IVA'
DataType = datInteger
DictionaryEntry = 'Clientes_ID_TIPO_IVA'
end
item
Name = 'REGIMEN_IVA'
DataType = datString
Size = 255
DisplayLabel = 'R'#233'gimen de IVA'
DictionaryEntry = 'Clientes_REGIMEN_IVA'
end
item
Name = 'ID_FORMA_PAGO'
DataType = datInteger
DictionaryEntry = 'Clientes_ID_FORMA_PAGO'
end
item
Name = 'TIENDA_WEB'
DataType = datInteger
DictionaryEntry = 'Clientes_TIENDA_WEB'
end
item
Name = 'RECARGO_EQUIVALENCIA'
DataType = datInteger
DisplayLabel = 'Rec. equiv.'
DictionaryEntry = 'Clientes_RECARGO_EQUIVALENCIA'
end
item item
Name = 'GRUPO_CLIENTE' Name = 'GRUPO_CLIENTE'
DataType = datString DataType = datString
@ -210,40 +195,67 @@ inherited DataModuleClientes: TDataModuleClientes
end end
item item
Name = 'BLOQUEADO' Name = 'BLOQUEADO'
DataType = datInteger DataType = datSmallInt
DisplayLabel = #191'Bloqueado?' DisplayLabel = #194#191'Bloqueado?'
DictionaryEntry = 'Clientes_BLOQUEADO' DictionaryEntry = 'Clientes_BLOQUEADO'
end end
item
Name = 'REGIMEN_IVA'
DataType = datString
Size = 255
DisplayLabel = 'R'#195#169'gimen de IVA'
DictionaryEntry = 'Clientes_REGIMEN_IVA'
end
item item
Name = 'MOTIVO_BLOQUEO' Name = 'MOTIVO_BLOQUEO'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Motivo del bloqueo' DisplayLabel = 'Motivo del bloqueo'
DictionaryEntry = 'Clientes_MOTIVO_BLOQUEO' DictionaryEntry = 'Clientes_MOTIVO_BLOQUEO'
end
item
Name = 'RECARGO_EQUIVALENCIA'
DataType = datInteger
DisplayLabel = 'Rec. equiv.'
DictionaryEntry = 'Clientes_RECARGO_EQUIVALENCIA'
end
item
Name = 'ID_TIPO_IVA'
DataType = datInteger
DictionaryEntry = 'Clientes_ID_TIPO_IVA'
end
item
Name = 'ID_FORMA_PAGO'
DataType = datInteger
DictionaryEntry = 'Clientes_ID_FORMA_PAGO'
end
item
Name = 'TIENDA_WEB'
DataType = datSmallInt
DictionaryEntry = 'Clientes_TIENDA_WEB'
end> end>
Params = <> Params = <>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_clientes RemoteDataAdapter = rda_Contactos
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'Clientes' LogicalName = 'Clientes'
IndexDefs = <> Left = 296
Left = 288 Top = 168
Top = 184
end end
object ds_Clientes: TDADataSource object ds_Clientes: TDADataSource
DataSet = tbl_Clientes.Dataset DataSet = tbl_Clientes.Dataset
DataTable = tbl_Clientes DataTable = tbl_Clientes
Left = 288 Left = 296
Top = 304 Top = 232
end end
object tbl_ClientesDescuentos: TDACDSDataTable object tbl_ClientesDescuentos: TDAMemDataTable
RemoteUpdatesOptions = [] RemoteUpdatesOptions = []
Fields = < Fields = <
item item
Name = 'ID' Name = 'ID'
DataType = datInteger DataType = datAutoInc
GeneratorName = 'GEN_CLIENTES_DTOS_PROV_ID'
DictionaryEntry = 'ClientesDescuentos_ID' DictionaryEntry = 'ClientesDescuentos_ID'
InPrimaryKey = True InPrimaryKey = True
end end
@ -273,86 +285,47 @@ inherited DataModuleClientes: TDataModuleClientes
Alignment = taRightJustify Alignment = taRightJustify
DictionaryEntry = 'ClientesDescuentos_DESCUENTO' DictionaryEntry = 'ClientesDescuentos_DESCUENTO'
end> end>
Params = < Params = <>
item MasterMappingMode = mmWhere
Name = 'ID_CLIENTE'
DataType = datInteger
Value = 1018
ParamType = daptInput
end>
MasterParamsMappings.Strings = (
'ID_CLIENTE=ID')
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_clientesDescuentos RemoteDataAdapter = rda_Contactos
MasterSource = ds_Clientes MasterSource = ds_Clientes
MasterFields = 'ID' MasterFields = 'ID'
DetailFields = 'ID_CLIENTE' DetailFields = 'ID_CLIENTE'
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'ClientesDescuentos' LogicalName = 'ClientesDescuentos'
IndexDefs = <> Left = 448
Left = 392 Top = 168
Top = 184
end end
object ds_ClientesDescuentos: TDADataSource object ds_ClientesDescuentos: TDADataSource
DataSet = tbl_ClientesDescuentos.Dataset DataSet = tbl_ClientesDescuentos.Dataset
DataTable = tbl_ClientesDescuentos DataTable = tbl_ClientesDescuentos
Left = 384 Left = 448
Top = 304 Top = 224
end end
object tbl_GruposCliente: TDACDSDataTable object tbl_GruposCliente: TDAMemDataTable
RemoteUpdatesOptions = [] RemoteUpdatesOptions = []
Fields = < Fields = <
item item
Name = 'DESCRIPCION' Name = 'DESCRIPCION'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Descripci'#195#179'n'
end> end>
Params = <> Params = <>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_GruposCliente RemoteDataAdapter = rda_Contactos
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'GruposCliente' LogicalName = 'GruposCliente'
IndexDefs = <> Left = 552
Left = 512 Top = 168
Top = 184
end end
object ds_GruposCliente: TDADataSource object ds_GruposCliente: TDADataSource
DataSet = tbl_GruposCliente.Dataset DataSet = tbl_GruposCliente.Dataset
DataTable = tbl_GruposCliente DataTable = tbl_GruposCliente
Left = 512 Left = 552
Top = 304 Top = 224
end
object rda_clientes: TDARemoteDataAdapter
GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService
DataStreamer = DataStreamer
Left = 291
Top = 239
end
object rda_clientesDescuentos: TDARemoteDataAdapter
GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService
DataStreamer = DataStreamer
Left = 395
Top = 239
end
object rda_GruposCliente: TDARemoteDataAdapter
GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService
DataStreamer = DataStreamer
Left = 515
Top = 239
end end
end end

View File

@ -9,19 +9,17 @@ uses
uROClient, uROBinMessage, uROWinInetHttpChannel, uBizClientesDescuentos, uROClient, uROBinMessage, uROWinInetHttpChannel, uBizClientesDescuentos,
uBizGruposCliente, uBizContactos, uDataModuleContactos, uBizGruposCliente, uBizContactos, uDataModuleContactos,
uIDataModuleClientes, uDADesigntimeCall, uDARemoteDataAdapter, uIDataModuleClientes, uDADesigntimeCall, uDARemoteDataAdapter,
uDADataStreamer, uRODynamicRequest, uDAInterfaces; uDADataStreamer, uRODynamicRequest, uDAInterfaces, uDAMemDataTable,
uDABin2DataStreamer;
type type
TDataModuleClientes = class(TDataModuleContactos, IDataModuleClientes) TDataModuleClientes = class(TDataModuleContactos, IDataModuleClientes)
tbl_Clientes: TDACDSDataTable; tbl_Clientes: TDAMemDataTable;
ds_Clientes: TDADataSource; ds_Clientes: TDADataSource;
tbl_ClientesDescuentos: TDACDSDataTable; tbl_ClientesDescuentos: TDAMemDataTable;
ds_ClientesDescuentos: TDADataSource; ds_ClientesDescuentos: TDADataSource;
tbl_GruposCliente: TDACDSDataTable; tbl_GruposCliente: TDAMemDataTable;
ds_GruposCliente: TDADataSource; ds_GruposCliente: TDADataSource;
rda_clientes: TDARemoteDataAdapter;
rda_clientesDescuentos: TDARemoteDataAdapter;
rda_GruposCliente: TDARemoteDataAdapter;
protected protected
function _GetDescuentos: IBizClienteDescuentos; function _GetDescuentos: IBizClienteDescuentos;
public public
@ -29,7 +27,6 @@ type
function NewItem : IBizCliente; function NewItem : IBizCliente;
function GetItems : IBizCliente; function GetItems : IBizCliente;
function GetItemsTiendaWeb : IBizCliente; function GetItemsTiendaWeb : IBizCliente;
function GetNextID(const DataSetName : String) : Integer; override;
function GetGruposCliente : IBizGrupoCliente; function GetGruposCliente : IBizGrupoCliente;
end; end;
@ -45,11 +42,11 @@ uses
function TDataModuleClientes.GetGruposCliente: IBizGrupoCliente; function TDataModuleClientes.GetGruposCliente: IBizGrupoCliente;
var var
AGrupoCliente : TDACDSDataTable; AGrupoCliente : TDAMemDataTable;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AGrupoCliente := _CloneDataTable(tbl_GruposCliente); AGrupoCliente := CloneDataTable(tbl_GruposCliente);
AGrupoCliente.BusinessRulesID := BIZ_CLIENT_GRUPOSCLIENTE; AGrupoCliente.BusinessRulesID := BIZ_CLIENT_GRUPOSCLIENTE;
Result := (AGrupoCliente as IBizGrupoCliente); Result := (AGrupoCliente as IBizGrupoCliente);
finally finally
@ -62,13 +59,12 @@ begin
ShowHourglassCursor; ShowHourglassCursor;
try try
Result := Self.GetItems; Result := Self.GetItems;
with Result.DataTable.Where do with Result.DataTable.DynamicWhere do
begin begin
if NotEmpty then Clear;
AddOperator(opAND); // (ID = :ID)
OpenBraket; Expression := NewBinaryExpression(NewField('', fld_ContactosID),
AddText(fld_ContactosID + ' = ' + IntToStr(ID)); NewConstant(ID, datInteger), dboEqual);
CloseBraket;
end; end;
finally finally
HideHourglassCursor; HideHourglassCursor;
@ -77,11 +73,11 @@ end;
function TDataModuleClientes.GetItems: IBizCliente; function TDataModuleClientes.GetItems: IBizCliente;
var var
AContacto : TDACDSDataTable; AContacto : TDAMemDataTable;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AContacto := _CloneDataTable(tbl_Clientes); AContacto := CloneDataTable(tbl_Clientes);
AContacto.BusinessRulesID := BIZ_CLIENT_CLIENTE; AContacto.BusinessRulesID := BIZ_CLIENT_CLIENTE;
with TBizCliente(AContacto.BusinessEventsObj) do with TBizCliente(AContacto.BusinessEventsObj) do
@ -103,39 +99,18 @@ begin
ShowHourglassCursor; ShowHourglassCursor;
try try
Result := Self.GetItems; Result := Self.GetItems;
with Result.DataTable.Where do with Result.DataTable.DynamicWhere do
begin begin
if NotEmpty then Clear;
AddOperator(opAND); // (TIENDA_WEB = 1)
OpenBraket; Expression := NewBinaryExpression(NewField('', fld_ClientesTIENDA_WEB),
AddText(fld_ClientesTIENDA_WEB + ' = 1'); NewConstant(1, datInteger), dboEqual);
CloseBraket;
end; end;
finally finally
HideHourglassCursor; HideHourglassCursor;
end; end;
end; end;
function TDataModuleClientes.GetNextID(const DataSetName: String): Integer;
var
aDataSet : String;
aGeneratorName : String;
begin
aDataSet := DataSetName;
if aDataSet = nme_ClientesDescuentos then
begin
aGeneratorName := 'GEN_CLIENTES_DTOS_PROV_ID';
Result := _InternalGetNextID(aGeneratorName);
Exit;
end;
if aDataSet = nme_Clientes then
aDataSet := nme_Contactos;
Result := inherited GetNextID(aDataSet);
end;
function TDataModuleClientes.NewItem: IBizCliente; function TDataModuleClientes.NewItem: IBizCliente;
begin begin
Result := GetItem(ID_NULO) Result := GetItem(ID_NULO)
@ -143,11 +118,11 @@ end;
function TDataModuleClientes._GetDescuentos: IBizClienteDescuentos; function TDataModuleClientes._GetDescuentos: IBizClienteDescuentos;
var var
ADescuentos : TDACDSDataTable; ADescuentos : TDAMemDataTable;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
ADescuentos := _CloneDataTable(tbl_ClientesDescuentos); ADescuentos := CloneDataTable(tbl_ClientesDescuentos);
with ADescuentos do with ADescuentos do
begin begin
BusinessRulesID := BIZ_CLIENT_CLIENTE_DESCUENTOS; BusinessRulesID := BIZ_CLIENT_CLIENTE_DESCUENTOS;

View File

@ -1,29 +1,42 @@
object DataModuleContactos: TDataModuleContactos object DataModuleContactos: TDataModuleContactos
OldCreateOrder = True OldCreateOrder = True
OnCreate = DAClientDataModuleCreate OnCreate = DAClientDataModuleCreate
Height = 420 Height = 309
Width = 527 Width = 570
object RORemoteService: TRORemoteService object RORemoteService: TRORemoteService
Message = ROBinMessage1 Message = dmConexion.ROMessage
Channel = ROWinInetHTTPChannel1 Channel = dmConexion.ROChannel
ServiceName = 'srvContactos' ServiceName = 'srvContactos'
Left = 40 Left = 40
Top = 16 Top = 16
end end
object tbl_Contactos: TDACDSDataTable object rda_Contactos: TDARemoteDataAdapter
GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService
DataStreamer = Bin2DataStreamer
Left = 43
Top = 143
end
object Bin2DataStreamer: TDABin2DataStreamer
Left = 40
Top = 72
end
object tbl_Contactos: TDAMemDataTable
RemoteUpdatesOptions = [] RemoteUpdatesOptions = []
Fields = < Fields = <
item item
Name = 'ID' Name = 'ID'
DataType = datAutoInc DataType = datAutoInc
GeneratorName = 'GEN_CONTACTOS_ID'
DictionaryEntry = 'Contactos_ID' DictionaryEntry = 'Contactos_ID'
InPrimaryKey = True InPrimaryKey = True
end end
item item
Name = 'ID_CATEGORIA' Name = 'ID_CATEGORIA'
DataType = datInteger DataType = datInteger
DisplayLabel = 'Contactos_ID_CATEGORIA'
DictionaryEntry = 'Contactos_ID_CATEGORIA'
end end
item item
Name = 'NIF_CIF' Name = 'NIF_CIF'
@ -36,6 +49,7 @@ object DataModuleContactos: TDataModuleContactos
Name = 'NOMBRE' Name = 'NOMBRE'
DataType = datString DataType = datString
Size = 255 Size = 255
Required = True
DisplayLabel = 'Nombre' DisplayLabel = 'Nombre'
DictionaryEntry = 'Contactos_NOMBRE' DictionaryEntry = 'Contactos_NOMBRE'
end end
@ -50,14 +64,14 @@ object DataModuleContactos: TDataModuleContactos
Name = 'CALLE' Name = 'CALLE'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Direcci'#243'n' DisplayLabel = 'Direcci'#195#179'n'
DictionaryEntry = 'Contactos_CALLE' DictionaryEntry = 'Contactos_CALLE'
end end
item item
Name = 'POBLACION' Name = 'POBLACION'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Poblaci'#243'n' DisplayLabel = 'Poblaci'#195#179'n'
DictionaryEntry = 'Contactos_POBLACION' DictionaryEntry = 'Contactos_POBLACION'
end end
item item
@ -71,7 +85,7 @@ object DataModuleContactos: TDataModuleContactos
Name = 'CODIGO_POSTAL' Name = 'CODIGO_POSTAL'
DataType = datString DataType = datString
Size = 10 Size = 10
DisplayLabel = 'C'#243'digo postal' DisplayLabel = 'C'#195#179'digo postal'
DictionaryEntry = 'Contactos_CODIGO_POSTAL' DictionaryEntry = 'Contactos_CODIGO_POSTAL'
end end
item item
@ -92,7 +106,7 @@ object DataModuleContactos: TDataModuleContactos
Name = 'MOVIL_1' Name = 'MOVIL_1'
DataType = datString DataType = datString
Size = 25 Size = 25
DisplayLabel = 'M'#243'vil' DisplayLabel = 'M'#195#179'vil'
DictionaryEntry = 'Contactos_MOVIL_1' DictionaryEntry = 'Contactos_MOVIL_1'
end end
item item
@ -136,6 +150,18 @@ object DataModuleContactos: TDataModuleContactos
DisplayLabel = 'Observaciones' DisplayLabel = 'Observaciones'
DictionaryEntry = 'Contactos_NOTAS' DictionaryEntry = 'Contactos_NOTAS'
end end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
DisplayLabel = 'Fecha de alta'
DictionaryEntry = 'Contactos_FECHA_ALTA'
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
DisplayLabel = 'Fecha de modificaci'#195#179'n'
DictionaryEntry = 'Contactos_FECHA_MODIFICACION'
end
item item
Name = 'USUARIO' Name = 'USUARIO'
DataType = datString DataType = datString
@ -146,7 +172,6 @@ object DataModuleContactos: TDataModuleContactos
item item
Name = 'ID_EMPRESA' Name = 'ID_EMPRESA'
DataType = datInteger DataType = datInteger
DictionaryEntry = 'Contactos_ID_EMPRESA'
end end
item item
Name = 'REFERENCIA' Name = 'REFERENCIA'
@ -155,30 +180,22 @@ object DataModuleContactos: TDataModuleContactos
DisplayLabel = 'Referencia' DisplayLabel = 'Referencia'
DictionaryEntry = 'Contactos_REFERENCIA' DictionaryEntry = 'Contactos_REFERENCIA'
end> end>
Params = < Params = <>
item
Name = 'ID_CATEGORIA'
DataType = datInteger
Value = '22'
ParamType = daptInput
end>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_Contactos RemoteDataAdapter = rda_Contactos
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'Contactos' LogicalName = 'Contactos'
IndexDefs = <> Left = 176
Left = 168
Top = 16 Top = 16
end end
object ds_Contactos: TDADataSource object ds_Contactos: TDADataSource
DataSet = tbl_Contactos.Dataset DataSet = tbl_Contactos.Dataset
DataTable = tbl_Contactos DataTable = tbl_Contactos
Left = 168 Left = 176
Top = 128 Top = 80
end end
object tbl_ContactosCategorias: TDACDSDataTable object tbl_ContactosCategorias: TDAMemDataTable
RemoteUpdatesOptions = [] RemoteUpdatesOptions = []
Fields = < Fields = <
item item
@ -191,140 +208,32 @@ object DataModuleContactos: TDataModuleContactos
DataType = datInteger DataType = datInteger
InPrimaryKey = True InPrimaryKey = True
end> end>
Params = < Params = <>
item MasterMappingMode = mmWhere
Name = 'ID_CONTACTO'
DataType = datInteger
Value = '444'
ParamType = daptInput
end>
MasterParamsMappings.Strings = (
'ID_CONTACTO=ID')
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_ContactosCategorias RemoteDataAdapter = rda_Contactos
MasterSource = ds_Contactos MasterSource = ds_Contactos
MasterFields = 'ID' MasterFields = 'ID'
DetailFields = 'ID_CONTACTO' DetailFields = 'ID_CONTACTO'
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'ContactosCategorias' LogicalName = 'ContactosCategorias'
IndexDefs = <> Left = 296
Left = 288
Top = 16 Top = 16
end end
object ds_ContactosCategorias: TDADataSource object ds_ContactosCategorias: TDADataSource
DataSet = tbl_ContactosCategorias.Dataset DataSet = tbl_ContactosCategorias.Dataset
DataTable = tbl_ContactosCategorias DataTable = tbl_ContactosCategorias
Left = 288 Left = 296
Top = 128 Top = 80
end end
object tbl_DatosBancarios: TDACDSDataTable object tbl_DireccionesContacto: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datAutoInc
DictionaryEntry = 'DatosBancarios_ID'
InPrimaryKey = True
end
item
Name = 'ID_CONTACTO'
DataType = datInteger
DictionaryEntry = 'DatosBancarios_ID_CONTACTO'
end
item
Name = 'TITULAR'
DataType = datString
Size = 255
DisplayLabel = 'Titular'
DictionaryEntry = 'DatosBancarios_TITULAR'
end
item
Name = 'ENTIDAD'
DataType = datString
Size = 15
DisplayLabel = 'C'#243'digo de entidad'
DictionaryEntry = 'DatosBancarios_ENTIDAD'
end
item
Name = 'SUCURSAL'
DataType = datString
Size = 15
DisplayLabel = 'C'#243'digo de sucursal'
DictionaryEntry = 'DatosBancarios_SUCURSAL'
end
item
Name = 'DC'
DataType = datString
Size = 15
DisplayLabel = 'D'#237'gito de control'
DictionaryEntry = 'DatosBancarios_DC'
end
item
Name = 'CUENTA'
DataType = datString
Size = 15
DisplayLabel = 'C'#243'digo de cuenta'
DictionaryEntry = 'DatosBancarios_CUENTA'
end>
Params = <
item
Name = 'ID_CONTACTO'
DataType = datInteger
Value = ''
ParamType = daptInput
end>
MasterParamsMappings.Strings = (
'ID_CONTACTO=ID')
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_DatosBancarios
MasterSource = ds_Contactos
MasterFields = 'ID'
DetailFields = 'ID_CONTACTO'
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'DatosBancarios'
IndexDefs = <>
Left = 432
Top = 16
end
object ds_DatosBancarios: TDADataSource
DataSet = tbl_DatosBancarios.Dataset
DataTable = tbl_DatosBancarios
Left = 432
Top = 128
end
object DADesigntimeCall1: TDADesigntimeCall
RemoteService = LoginRemoteService
Params = <>
Left = 40
Top = 176
end
object LoginRemoteService: TRORemoteService
Message = ROBinMessage1
Channel = ROWinInetHTTPChannel1
ServiceName = 'srvLogin'
Left = 40
Top = 232
end
object ROWinInetHTTPChannel1: TROWinInetHTTPChannel
UserAgent = 'RemObjects SDK'
TargetURL = 'http://localhost:8099/bin'
ServerLocators = <>
DispatchOptions = []
Left = 40
Top = 288
end
object ROBinMessage1: TROBinMessage
Left = 40
Top = 340
end
object tbl_DireccionesContacto: TDACDSDataTable
RemoteUpdatesOptions = [] RemoteUpdatesOptions = []
Fields = < Fields = <
item item
Name = 'ID' Name = 'ID'
DataType = datAutoInc DataType = datAutoInc
GeneratorName = 'GEN_CONTACTOS_DIR_ID'
DictionaryEntry = 'DireccionesContacto_ID' DictionaryEntry = 'DireccionesContacto_ID'
InPrimaryKey = True InPrimaryKey = True
end end
@ -333,13 +242,6 @@ object DataModuleContactos: TDataModuleContactos
DataType = datInteger DataType = datInteger
DictionaryEntry = 'DireccionesContacto_ID_CONTACTO' DictionaryEntry = 'DireccionesContacto_ID_CONTACTO'
end end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
DisplayLabel = 'DireccionesContacto_NOMBRE'
DictionaryEntry = 'DireccionesContacto_NOMBRE'
end
item item
Name = 'CALLE' Name = 'CALLE'
DataType = datString DataType = datString
@ -351,7 +253,7 @@ object DataModuleContactos: TDataModuleContactos
Name = 'POBLACION' Name = 'POBLACION'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Poblaci'#243'n' DisplayLabel = 'Poblaci'#195#179'n'
DictionaryEntry = 'DireccionesContacto_POBLACION' DictionaryEntry = 'DireccionesContacto_POBLACION'
end end
item item
@ -365,7 +267,7 @@ object DataModuleContactos: TDataModuleContactos
Name = 'CODIGO_POSTAL' Name = 'CODIGO_POSTAL'
DataType = datString DataType = datString
Size = 10 Size = 10
DisplayLabel = 'C'#243'digo postal' DisplayLabel = 'C'#195#179'digo postal'
DictionaryEntry = 'DireccionesContacto_CODIGO_POSTAL' DictionaryEntry = 'DireccionesContacto_CODIGO_POSTAL'
end end
item item
@ -375,18 +277,25 @@ object DataModuleContactos: TDataModuleContactos
DisplayLabel = 'Persona de contacto' DisplayLabel = 'Persona de contacto'
DictionaryEntry = 'DireccionesContacto_PERSONA_CONTACTO' DictionaryEntry = 'DireccionesContacto_PERSONA_CONTACTO'
end end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
DisplayLabel = 'DireccionesContacto_NOMBRE'
DictionaryEntry = 'DireccionesContacto_NOMBRE'
end
item item
Name = 'TELEFONO' Name = 'TELEFONO'
DataType = datString DataType = datString
Size = 25 Size = 25
DisplayLabel = 'Tel'#233'fono' DisplayLabel = 'Tel'#195#169'fono'
DictionaryEntry = 'DireccionesContacto_TELEFONO' DictionaryEntry = 'DireccionesContacto_TELEFONO'
end end
item item
Name = 'MOVIL' Name = 'MOVIL'
DataType = datString DataType = datString
Size = 25 Size = 25
DisplayLabel = 'M'#243'vil' DisplayLabel = 'M'#195#179'vil'
DictionaryEntry = 'Contactos_MOVIL_1' DictionaryEntry = 'Contactos_MOVIL_1'
end end
item item
@ -414,76 +323,109 @@ object DataModuleContactos: TDataModuleContactos
DataType = datFloat DataType = datFloat
DisplayLabel = 'Coste del porte' DisplayLabel = 'Coste del porte'
DictionaryEntry = 'DireccionesContacto_PORTE' DictionaryEntry = 'DireccionesContacto_PORTE'
end> end
Params = <
item item
Name = 'ID_CONTACTO' Name = 'FECHA_ALTA'
DataType = datInteger DataType = datDateTime
Value = '9' end
ParamType = daptInput item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
end> end>
MasterParamsMappings.Strings = ( Params = <>
'ID_CONTACTO=ID') MasterMappingMode = mmWhere
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_DireccionesContacto RemoteDataAdapter = rda_Contactos
MasterSource = ds_Contactos MasterSource = ds_Contactos
MasterFields = 'ID' MasterFields = 'ID'
DetailFields = 'ID_CONTACTO' DetailFields = 'ID_CONTACTO'
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'DireccionesContacto' LogicalName = 'DireccionesContacto'
IndexDefs = <> Left = 448
Left = 168 Top = 16
Top = 208
end end
object ds_DireccionesContacto: TDADataSource object ds_DireccionesContacto: TDADataSource
DataSet = tbl_DireccionesContacto.Dataset DataSet = tbl_DireccionesContacto.Dataset
DataTable = tbl_DireccionesContacto DataTable = tbl_DireccionesContacto
Left = 168 Left = 448
Top = 264 Top = 80
end end
object DataStreamer: TDABinDataStreamer object tbl_DatosBancarios: TDAMemDataTable
Left = 40 RemoteUpdatesOptions = []
Top = 92 Fields = <
item
Name = 'ID'
DataType = datAutoInc
GeneratorName = 'GEN_CONTACTOS_DATOS_BANCO_ID'
DictionaryEntry = 'DatosBancarios_ID'
InPrimaryKey = True
end
item
Name = 'ID_CONTACTO'
DataType = datInteger
DictionaryEntry = 'DatosBancarios_ID_CONTACTO'
end
item
Name = 'TITULAR'
DataType = datString
Size = 255
DisplayLabel = 'Titular'
DictionaryEntry = 'DatosBancarios_TITULAR'
end
item
Name = 'ENTIDAD'
DataType = datString
Size = 15
DisplayLabel = 'C'#195#179'digo de entidad'
DictionaryEntry = 'DatosBancarios_ENTIDAD'
end
item
Name = 'SUCURSAL'
DataType = datString
Size = 15
DisplayLabel = 'C'#195#179'digo de sucursal'
DictionaryEntry = 'DatosBancarios_SUCURSAL'
end
item
Name = 'DC'
DataType = datString
Size = 15
DisplayLabel = 'D'#195#173'gito de control'
DictionaryEntry = 'DatosBancarios_DC'
end
item
Name = 'CUENTA'
DataType = datString
Size = 15
DisplayLabel = 'C'#195#179'digo de cuenta'
DictionaryEntry = 'DatosBancarios_CUENTA'
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
end>
Params = <>
MasterMappingMode = mmWhere
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_Contactos
MasterSource = ds_Contactos
MasterFields = 'ID'
DetailFields = 'ID_CONTACTO'
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'DatosBancarios'
Left = 176
Top = 168
end end
object rda_Contactos: TDARemoteDataAdapter object ds_DatosBancarios: TDADataSource
GetSchemaCall.RemoteService = RORemoteService DataSet = tbl_DatosBancarios.Dataset
GetDataCall.RemoteService = RORemoteService DataTable = tbl_DatosBancarios
UpdateDataCall.RemoteService = RORemoteService Left = 176
GetScriptsCall.RemoteService = RORemoteService Top = 232
RemoteService = RORemoteService
DataStreamer = DataStreamer
Left = 171
Top = 71
end
object rda_ContactosCategorias: TDARemoteDataAdapter
GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService
DataStreamer = DataStreamer
Left = 291
Top = 71
end
object rda_DatosBancarios: TDARemoteDataAdapter
GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService
DataStreamer = DataStreamer
Left = 427
Top = 71
end
object rda_DireccionesContacto: TDARemoteDataAdapter
GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService
DataStreamer = DataStreamer
Left = 171
Top = 319
end end
end end

View File

@ -10,38 +10,28 @@ uses
uBizContactos, uBizContactosDatosBancarios, uBizCategoriasContacto, uBizContactos, uBizContactosDatosBancarios, uBizCategoriasContacto,
uBizDireccionesContacto, uIDataModuleEtiquetasContactosReport, uBizDireccionesContacto, uIDataModuleEtiquetasContactosReport,
uIDataModuleContactos, uDADesigntimeCall, uROTypes, uRODynamicRequest, uIDataModuleContactos, uDADesigntimeCall, uROTypes, uRODynamicRequest,
uDAInterfaces, uDADataStreamer, uDARemoteDataAdapter; uDAInterfaces, uDADataStreamer, uDARemoteDataAdapter, uDABin2DataStreamer,
uDAMemDataTable;
type type
TDataModuleContactos = class(TDAClientDataModule, IDataModuleContactos, IDataModuleEtiquetasContactosReport) TDataModuleContactos = class(TDAClientDataModule, IDataModuleContactos, IDataModuleEtiquetasContactosReport)
RORemoteService: TRORemoteService; RORemoteService: TRORemoteService;
tbl_Contactos: TDACDSDataTable;
ds_Contactos: TDADataSource;
tbl_ContactosCategorias: TDACDSDataTable;
ds_ContactosCategorias: TDADataSource;
tbl_DatosBancarios: TDACDSDataTable;
ds_DatosBancarios: TDADataSource;
DADesigntimeCall1: TDADesigntimeCall;
LoginRemoteService: TRORemoteService;
ROWinInetHTTPChannel1: TROWinInetHTTPChannel;
ROBinMessage1: TROBinMessage;
tbl_DireccionesContacto: TDACDSDataTable;
ds_DireccionesContacto: TDADataSource;
DataStreamer: TDABinDataStreamer;
rda_Contactos: TDARemoteDataAdapter; rda_Contactos: TDARemoteDataAdapter;
rda_ContactosCategorias: TDARemoteDataAdapter; Bin2DataStreamer: TDABin2DataStreamer;
rda_DatosBancarios: TDARemoteDataAdapter; tbl_Contactos: TDAMemDataTable;
rda_DireccionesContacto: TDARemoteDataAdapter; ds_Contactos: TDADataSource;
tbl_ContactosCategorias: TDAMemDataTable;
ds_ContactosCategorias: TDADataSource;
tbl_DireccionesContacto: TDAMemDataTable;
ds_DireccionesContacto: TDADataSource;
tbl_DatosBancarios: TDAMemDataTable;
ds_DatosBancarios: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject); procedure DAClientDataModuleCreate(Sender: TObject);
protected
function _InternalGetNextID(const AGeneratorName : String) : Integer;
public public
function _CloneDataTable (const ADataTable : TDACDSDataTable): TDACDSDataTable; overload;
function _GetDatosBancarios : IBizContactosDatosBancarios; function _GetDatosBancarios : IBizContactosDatosBancarios;
function _GetDirecciones: IBizDireccionesContacto; function _GetDirecciones: IBizDireccionesContacto;
function _GetCategorias : IBizCategoriasContacto; function _GetCategorias : IBizCategoriasContacto;
function _GetItems (IDCategoria : Integer): IBizContacto; virtual; function _GetItems (IDCategoria : Integer): IBizContacto; virtual;
function GetNextID(const DataSetName : String) : Integer; virtual;
// Report // Report
function GetReport(const AContactosID: String): Binary; function GetReport(const AContactosID: String): Binary;
@ -63,49 +53,18 @@ begin
RORemoteService.Message := dmConexion.Message; RORemoteService.Message := dmConexion.Message;
end; end;
function TDataModuleContactos.GetNextID(const DataSetName: String): Integer;
var
aGeneratorName : String;
begin
if DataSetName = nme_Contactos then
aGeneratorName := 'GEN_CONTACTOS_ID';
if DataSetName = nme_DatosBancarios then
aGeneratorName := 'GEN_CONTACTOS_DATOS_BANCO_ID';
if DataSetName = nme_DireccionesContacto then
aGeneratorName := 'GEN_CONTACTOS_DIR_ID';
if DataSetName = nme_DireccionesContacto then
aGeneratorName := 'GEN_CONTACTOS_DIR_ID';
Result := _InternalGetNextID(aGeneratorName);
end;
function TDataModuleContactos.GetReport(const AContactosID: String): Binary; function TDataModuleContactos.GetReport(const AContactosID: String): Binary;
begin begin
Result := (RORemoteService as IsrvContactos).GenerateEtiquetasReport(AContactosID); Result := (RORemoteService as IsrvContactos).GenerateEtiquetasReport(AContactosID);
end; end;
function TDataModuleContactos._CloneDataTable(
const ADataTable : TDACDSDataTable): TDACDSDataTable;
begin
Result := NIL;
if not Assigned(ADataTable) then
raise Exception.Create ('No se ha asignado la tabla de origen (CloneDataTable)');
Result := TDACDSDataTable.Create(NIL);
CloneDataTable(ADataTable, Result);
end;
function TDataModuleContactos._GetCategorias: IBizCategoriasContacto; function TDataModuleContactos._GetCategorias: IBizCategoriasContacto;
var var
ACategorias : TDACDSDataTable; ACategorias : TDAMemDataTable;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
ACategorias := _CloneDataTable(tbl_ContactosCategorias); ACategorias := CloneDataTable(tbl_ContactosCategorias);
with ACategorias do with ACategorias do
begin begin
BusinessRulesID := BIZ_CLIENT_CATEGORIAS_CONTACTO; BusinessRulesID := BIZ_CLIENT_CATEGORIAS_CONTACTO;
@ -120,11 +79,11 @@ end;
function TDataModuleContactos._GetDatosBancarios: IBizContactosDatosBancarios; function TDataModuleContactos._GetDatosBancarios: IBizContactosDatosBancarios;
var var
ADatosBancarios : TDACDSDataTable; ADatosBancarios : TDAMemDataTable;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
ADatosBancarios := _CloneDataTable(tbl_DatosBancarios); ADatosBancarios := CloneDataTable(tbl_DatosBancarios);
with ADatosBancarios do with ADatosBancarios do
begin begin
BusinessRulesID := BIZ_CLIENT_CONTACTOS_DATOS_BANCARIOS; BusinessRulesID := BIZ_CLIENT_CONTACTOS_DATOS_BANCARIOS;
@ -139,11 +98,11 @@ end;
function TDataModuleContactos._GetDirecciones: IBizDireccionesContacto; function TDataModuleContactos._GetDirecciones: IBizDireccionesContacto;
var var
ADirecciones : TDACDSDataTable; ADirecciones : TDAMemDataTable;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
ADirecciones := _CloneDataTable(tbl_DireccionesContacto); ADirecciones := CloneDataTable(tbl_DireccionesContacto);
with ADirecciones do with ADirecciones do
begin begin
BusinessRulesID := BIZ_CLIENT_DIRECCIONES_CONTACTO; BusinessRulesID := BIZ_CLIENT_DIRECCIONES_CONTACTO;
@ -158,11 +117,11 @@ end;
function TDataModuleContactos._GetItems(IDCategoria: Integer): IBizContacto; function TDataModuleContactos._GetItems(IDCategoria: Integer): IBizContacto;
var var
AContacto : TDACDSDataTable; AContacto : TDAMemDataTable;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AContacto := _CloneDataTable(tbl_Contactos); AContacto := CloneDataTable(tbl_Contactos);
with AContacto do with AContacto do
case IDCategoria of case IDCategoria of
@ -184,10 +143,4 @@ begin
end; end;
end; end;
function TDataModuleContactos._InternalGetNextID(
const AGeneratorName: String): Integer;
begin
Result := (RORemoteService as IsrvContactos).GetNextAutoInc(AGeneratorName)
end;
end. end.

View File

@ -1,587 +1,251 @@
inherited DataModuleEmpleados: TDataModuleEmpleados inherited DataModuleEmpleados: TDataModuleEmpleados
object tbl_Empleados: TDACDSDataTable inherited ds_Contactos: TDADataSource
DataSet = tbl_Contactos.Dataset
end
inherited ds_ContactosCategorias: TDADataSource
DataSet = tbl_ContactosCategorias.Dataset
end
inherited ds_DireccionesContacto: TDADataSource
DataSet = tbl_DireccionesContacto.Dataset
end
inherited ds_DatosBancarios: TDADataSource
DataSet = tbl_DatosBancarios.Dataset
end
object tbl_Empleados: TDAMemDataTable
RemoteUpdatesOptions = [] RemoteUpdatesOptions = []
Fields = < Fields = <
item item
Name = 'ID' Name = 'ID'
DataType = datAutoInc DataType = datAutoInc
BlobType = dabtUnknown GeneratorName = 'GEN_CONTACTOS_ID'
DisplayWidth = 0
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_ID' DictionaryEntry = 'Contactos_ID'
InPrimaryKey = True InPrimaryKey = True
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'ID_CATEGORIA' Name = 'ID_CATEGORIA'
DataType = datInteger DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Contactos_ID_CATEGORIA' DisplayLabel = 'Contactos_ID_CATEGORIA'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_ID_CATEGORIA' DictionaryEntry = 'Contactos_ID_CATEGORIA'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'NIF_CIF' Name = 'NIF_CIF'
DataType = datString DataType = datString
Size = 15 Size = 15
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'NIF/CIF' DisplayLabel = 'NIF/CIF'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_NIF_CIF' DictionaryEntry = 'Contactos_NIF_CIF'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'NOMBRE' Name = 'NOMBRE'
DataType = datString DataType = datString
Size = 255 Size = 255
BlobType = dabtUnknown Required = True
DisplayWidth = 0
DisplayLabel = 'Nombre' DisplayLabel = 'Nombre'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_NOMBRE' DictionaryEntry = 'Contactos_NOMBRE'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'CALLE'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Direcci'#243'n'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_CALLE'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'PERSONA_CONTACTO' Name = 'PERSONA_CONTACTO'
DataType = datString DataType = datString
Size = 255 Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Persona de contacto' DisplayLabel = 'Persona de contacto'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_PERSONA_CONTACTO' DictionaryEntry = 'Contactos_PERSONA_CONTACTO'
InPrimaryKey = False end
Calculated = False item
Lookup = False Name = 'CALLE'
LookupCache = False DataType = datString
Size = 255
DisplayLabel = 'Direcci'#195#179'n'
DictionaryEntry = 'Contactos_CALLE'
end end
item item
Name = 'POBLACION' Name = 'POBLACION'
DataType = datString DataType = datString
Size = 255 Size = 255
BlobType = dabtUnknown DisplayLabel = 'Poblaci'#195#179'n'
DisplayWidth = 0
DisplayLabel = 'Poblaci'#243'n'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_POBLACION' DictionaryEntry = 'Contactos_POBLACION'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'PROVINCIA' Name = 'PROVINCIA'
DataType = datString DataType = datString
Size = 255 Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Provincia' DisplayLabel = 'Provincia'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_PROVINCIA' DictionaryEntry = 'Contactos_PROVINCIA'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'CODIGO_POSTAL' Name = 'CODIGO_POSTAL'
DataType = datString DataType = datString
Size = 10 Size = 10
BlobType = dabtUnknown DisplayLabel = 'C'#195#179'digo postal'
DisplayWidth = 0
DisplayLabel = 'C'#243'digo postal'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_CODIGO_POSTAL' DictionaryEntry = 'Contactos_CODIGO_POSTAL'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'TELEFONO_1' Name = 'TELEFONO_1'
DataType = datString DataType = datString
Size = 25 Size = 25
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Tlf. trabajo' DisplayLabel = 'Tlf. trabajo'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_TELEFONO_1' DictionaryEntry = 'Contactos_TELEFONO_1'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'TELEFONO_2' Name = 'TELEFONO_2'
DataType = datString DataType = datString
Size = 25 Size = 25
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Tlf. particular' DisplayLabel = 'Tlf. particular'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_TELEFONO_2' DictionaryEntry = 'Contactos_TELEFONO_2'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'MOVIL_1' Name = 'MOVIL_1'
DataType = datString DataType = datString
Size = 25 Size = 25
BlobType = dabtUnknown DisplayLabel = 'M'#195#179'vil'
DisplayWidth = 0
DisplayLabel = 'M'#243'vil'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_MOVIL_1' DictionaryEntry = 'Contactos_MOVIL_1'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'MOVIL_2' Name = 'MOVIL_2'
DataType = datString DataType = datString
Size = 25 Size = 25
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_MOVIL_2' DictionaryEntry = 'Contactos_MOVIL_2'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'FAX' Name = 'FAX'
DataType = datString DataType = datString
Size = 25 Size = 25
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Fax' DisplayLabel = 'Fax'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_FAX' DictionaryEntry = 'Contactos_FAX'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'EMAIL_1' Name = 'EMAIL_1'
DataType = datString DataType = datString
Size = 255 Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'E-mail trabajo' DisplayLabel = 'E-mail trabajo'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_EMAIL_1' DictionaryEntry = 'Contactos_EMAIL_1'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'EMAIL_2' Name = 'EMAIL_2'
DataType = datString DataType = datString
Size = 255 Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'E-mail particular' DisplayLabel = 'E-mail particular'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_EMAIL_2' DictionaryEntry = 'Contactos_EMAIL_2'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'PAGINA_WEB' Name = 'PAGINA_WEB'
DataType = datString DataType = datString
Size = 255 Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Web' DisplayLabel = 'Web'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_PAGINA_WEB' DictionaryEntry = 'Contactos_PAGINA_WEB'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'NOTAS' Name = 'NOTAS'
DataType = datMemo DataType = datMemo
BlobType = dabtMemo BlobType = dabtMemo
DisplayWidth = 0
DisplayLabel = 'Observaciones' DisplayLabel = 'Observaciones'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_NOTAS' DictionaryEntry = 'Contactos_NOTAS'
InPrimaryKey = False end
Calculated = False item
Lookup = False Name = 'FECHA_ALTA'
LookupCache = False DataType = datDateTime
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
end end
item item
Name = 'USUARIO' Name = 'USUARIO'
DataType = datString DataType = datString
Size = 20 Size = 20
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Usuario' DisplayLabel = 'Usuario'
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_USUARIO' DictionaryEntry = 'Contactos_USUARIO'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'ID_EMPRESA' Name = 'ID_EMPRESA'
DataType = datInteger DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
DictionaryEntry = 'Contactos_ID_EMPRESA' DictionaryEntry = 'Contactos_ID_EMPRESA'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'REFERENCIA' Name = 'REFERENCIA'
DataType = datString DataType = datString
Size = 255 Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Referencia' DisplayLabel = 'Referencia'
Alignment = taLeftJustify
DictionaryEntry = 'Agentes_REFERENCIA' DictionaryEntry = 'Agentes_REFERENCIA'
InPrimaryKey = False end
Calculated = False item
Lookup = False Name = 'FECHA_NACIMIENTO'
LookupCache = False DataType = datDateTime
DisplayLabel = 'Fecha nacimiento'
DictionaryEntry = 'Empleados_FECHA_NACIMIENTO'
end end
item item
Name = 'CATEGORIA' Name = 'CATEGORIA'
DataType = datString DataType = datString
Size = 255 Size = 255
BlobType = dabtUnknown DisplayLabel = 'Categor'#195#173'a'
DisplayWidth = 0
DisplayLabel = 'Categor'#237'a'
Alignment = taLeftJustify
DictionaryEntry = 'Empleados_CATEGORIA' DictionaryEntry = 'Empleados_CATEGORIA'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'FECHA_NACIMIENTO'
DataType = datDateTime
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Fecha nacimiento'
Alignment = taLeftJustify
DictionaryEntry = 'Empleados_FECHA_NACIMIENTO'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'FECHA_ALTA_EMPRESA' Name = 'FECHA_ALTA_EMPRESA'
DataType = datDateTime DataType = datDateTime
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Fecha de alta' DisplayLabel = 'Fecha de alta'
Alignment = taLeftJustify
DictionaryEntry = 'Empleados_FECHA_ALTA_EMPRESA' DictionaryEntry = 'Empleados_FECHA_ALTA_EMPRESA'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'FORMACION_BASE' Name = 'FORMACION_BASE'
DataType = datMemo DataType = datMemo
BlobType = dabtUnknown DisplayLabel = 'Formaci'#195#179'n base'
DisplayWidth = 0
DisplayLabel = 'Formaci'#243'n base'
Alignment = taLeftJustify
DictionaryEntry = 'Empleados_FORMACION_BASE' DictionaryEntry = 'Empleados_FORMACION_BASE'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'FORMACION_COMPLE' Name = 'FORMACION_COMPLE'
DataType = datMemo DataType = datMemo
BlobType = dabtUnknown DisplayLabel = 'Formaci'#195#179'n complementaria'
DisplayWidth = 0
DisplayLabel = 'Formaci'#243'n complementaria'
Alignment = taLeftJustify
DictionaryEntry = 'Empleados_FORMACION_COMPLE' DictionaryEntry = 'Empleados_FORMACION_COMPLE'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'FORMACION_RECIBIDA' Name = 'FORMACION_RECIBIDA'
DataType = datMemo DataType = datMemo
BlobType = dabtUnknown DisplayLabel = 'Formaci'#195#179'n recibida'
DisplayWidth = 0
DisplayLabel = 'Formaci'#243'n recibida'
Alignment = taLeftJustify
DictionaryEntry = 'Empleados_FORMACION_RECIBIDA' DictionaryEntry = 'Empleados_FORMACION_RECIBIDA'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end end
item item
Name = 'EXPERIENCIA' Name = 'EXPERIENCIA'
DataType = datMemo DataType = datMemo
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Experiencia' DisplayLabel = 'Experiencia'
Alignment = taLeftJustify
DictionaryEntry = 'Empleados_EXPERIENCIA' DictionaryEntry = 'Empleados_EXPERIENCIA'
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end> end>
Params = <> Params = <>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]
SchemaCall.MethodName = 'GetDatasetSchema' RemoteDataAdapter = rda_Contactos
SchemaCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtBinary
end
item
Name = 'aDatasetName'
ParamType = fIn
DataType = rtString
Value = 'Empleados'
end>
DataRequestCall.MethodName = 'GetDatasetDataEx'
DataRequestCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtBinary
end
item
Name = 'DatasetName'
ParamType = fIn
DataType = rtString
Value = 'Empleados'
end
item
Name = 'Params'
ParamType = fIn
DataType = rtUserDefined
UserClassName = 'TDADatasetParamArray'
end
item
Name = 'UserFilter'
ParamType = fIn
DataType = rtString
Value = ''
end
item
Name = 'IncludeSchema'
ParamType = fIn
DataType = rtBoolean
Value = False
end
item
Name = 'MaxRecords'
ParamType = fIn
DataType = rtInteger
Value = -1
end>
DataUpdateCall.MethodName = 'UpdateData'
DataUpdateCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtBinary
end
item
Name = 'Delta'
ParamType = fIn
DataType = rtBinary
end>
ScriptCall.MethodName = 'GetDatasetScripts'
ScriptCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtString
Value = ''
end
item
Name = 'DatasetNames'
ParamType = fIn
DataType = rtString
Value = 'Empleados'
end>
ReadOnly = False
RemoteService = RORemoteService
Adapter = DABinAdapter
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'Empleados' LogicalName = 'Empleados'
IndexDefs = <>
Left = 296 Left = 296
Top = 176 Top = 168
end end
object ds_Empleados: TDADataSource object ds_Empleados: TDADataSource
DataSet = tbl_Empleados.Dataset
DataTable = tbl_Empleados DataTable = tbl_Empleados
Left = 296 Left = 296
Top = 248 Top = 232
end end
object tbl_GruposEmpleado: TDACDSDataTable object tbl_GruposEmpleado: TDAMemDataTable
RemoteUpdatesOptions = [] RemoteUpdatesOptions = []
Fields = < Fields = <
item item
Name = 'DESCRIPCION' Name = 'DESCRIPCION'
DataType = datString DataType = datString
Size = 255 Size = 255
BlobType = dabtUnknown DisplayLabel = 'Descripci'#195#179'n'
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end> end>
Params = <> Params = <>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]
SchemaCall.MethodName = 'GetDatasetSchema' RemoteDataAdapter = rda_Contactos
SchemaCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtBinary
end
item
Name = 'aDatasetName'
ParamType = fIn
DataType = rtString
Value = 'GruposEmpleado'
end>
DataRequestCall.MethodName = 'GetDatasetDataEx'
DataRequestCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtBinary
end
item
Name = 'DatasetName'
ParamType = fIn
DataType = rtString
Value = 'GruposEmpleado'
end
item
Name = 'Params'
ParamType = fIn
DataType = rtUserDefined
UserClassName = 'TDADatasetParamArray'
end
item
Name = 'UserFilter'
ParamType = fIn
DataType = rtString
Value = ''
end
item
Name = 'IncludeSchema'
ParamType = fIn
DataType = rtBoolean
Value = False
end
item
Name = 'MaxRecords'
ParamType = fIn
DataType = rtInteger
Value = -1
end>
DataUpdateCall.MethodName = 'UpdateData'
DataUpdateCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtBinary
end
item
Name = 'Delta'
ParamType = fIn
DataType = rtBinary
end>
ScriptCall.MethodName = 'GetDatasetScripts'
ScriptCall.Params = <
item
Name = 'Result'
ParamType = fResult
DataType = rtString
Value = ''
end
item
Name = 'DatasetNames'
ParamType = fIn
DataType = rtString
Value = 'GruposEmpleado'
end>
ReadOnly = False
RemoteService = RORemoteService
Adapter = DABinAdapter
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'GruposEmpleado' LogicalName = 'GruposEmpleado'
IndexDefs = <> Left = 448
Left = 432 Top = 168
Top = 176
end end
object ds_GruposEmpleado: TDADataSource object ds_GruposEmpleado: TDADataSource
DataSet = tbl_GruposEmpleado.Dataset
DataTable = tbl_GruposEmpleado DataTable = tbl_GruposEmpleado
Left = 432 Left = 448
Top = 248 Top = 232
end end
end end

View File

@ -7,20 +7,21 @@ uses
Dialogs, uDataModuleContactos, DB, uDADataTable, uDAScriptingProvider, Dialogs, uDataModuleContactos, DB, uDADataTable, uDAScriptingProvider,
uDACDSDataTable, uDABINAdapter, uROServiceComponent, uRORemoteService, uDACDSDataTable, uDABINAdapter, uROServiceComponent, uRORemoteService,
uROClient, uROBinMessage, uROWinInetHttpChannel, uBizGruposEmpleado, uROTypes, uROClient, uROBinMessage, uROWinInetHttpChannel, uBizGruposEmpleado, uROTypes,
uIDataModuleEmpleados, uBizContactos, uDADesigntimeCall, uIDataModuleFichasEmpleadoReport; uIDataModuleEmpleados, uBizContactos, uDADesigntimeCall, uIDataModuleFichasEmpleadoReport,
uDAInterfaces, uDAMemDataTable, uDADataStreamer, uDABin2DataStreamer,
uDARemoteDataAdapter;
type type
TDataModuleEmpleados = class(TDataModuleContactos, IDataModuleEmpleados, IDataModuleFichasEmpleadoReport) TDataModuleEmpleados = class(TDataModuleContactos, IDataModuleEmpleados, IDataModuleFichasEmpleadoReport)
tbl_Empleados: TDACDSDataTable; tbl_Empleados: TDAMemDataTable;
ds_Empleados: TDADataSource; ds_Empleados: TDADataSource;
tbl_GruposEmpleado: TDACDSDataTable; tbl_GruposEmpleado: TDAMemDataTable;
ds_GruposEmpleado: TDADataSource; ds_GruposEmpleado: TDADataSource;
protected protected
public public
function GetItem(const ID : Integer) : IBizEmpleado; function GetItem(const ID : Integer) : IBizEmpleado;
function NewItem : IBizEmpleado; function NewItem : IBizEmpleado;
function GetItems : IBizEmpleado; function GetItems : IBizEmpleado;
function GetNextID(const DataSetName : String) : Integer; override;
function GetGruposEmpleado : IBizGrupoEmpleado; function GetGruposEmpleado : IBizGrupoEmpleado;
// Report // Report
@ -33,17 +34,17 @@ implementation
{$R *.dfm} {$R *.dfm}
uses uses
FactuGES_Intf, cxControls, schContactosClient_Intf, uDAInterfaces, uDataTableUtils; FactuGES_Intf, cxControls, schContactosClient_Intf, uDataTableUtils;
{ TDataModuleVendedores } { TDataModuleVendedores }
function TDataModuleEmpleados.GetGruposEmpleado: IBizGrupoEmpleado; function TDataModuleEmpleados.GetGruposEmpleado: IBizGrupoEmpleado;
var var
AGrupoEmpleado : TDACDSDataTable; AGrupoEmpleado : TDAMemDataTable;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AGrupoEmpleado := _CloneDataTable(tbl_GruposEmpleado); AGrupoEmpleado := CloneDataTable(tbl_GruposEmpleado);
AGrupoEmpleado.BusinessRulesID := BIZ_CLIENT_GRUPOSEMPLEADO; AGrupoEmpleado.BusinessRulesID := BIZ_CLIENT_GRUPOSEMPLEADO;
Result := (AGrupoEmpleado as IBizGrupoEmpleado); Result := (AGrupoEmpleado as IBizGrupoEmpleado);
finally finally
@ -56,13 +57,12 @@ begin
ShowHourglassCursor; ShowHourglassCursor;
try try
Result := Self.GetItems; Result := Self.GetItems;
with Result.DataTable.Where do with Result.DataTable.DynamicWhere do
begin begin
if NotEmpty then Clear;
AddOperator(opAND); // (ID = :ID)
OpenBraket; Expression := NewBinaryExpression(NewField('', fld_ContactosID),
AddText(fld_ContactosID + ' = ' + IntToStr(ID)); NewConstant(ID, datInteger), dboEqual);
CloseBraket;
end; end;
finally finally
HideHourglassCursor; HideHourglassCursor;
@ -71,11 +71,11 @@ end;
function TDataModuleEmpleados.GetItems: IBizEmpleado; function TDataModuleEmpleados.GetItems: IBizEmpleado;
var var
AContacto : TDACDSDataTable; AContacto : TDAMemDataTable;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AContacto := _CloneDataTable(tbl_Empleados); AContacto := CloneDataTable(tbl_Empleados);
AContacto.BusinessRulesID := BIZ_CLIENT_EMPLEADO; AContacto.BusinessRulesID := BIZ_CLIENT_EMPLEADO;
with TBizEmpleado(AContacto.BusinessEventsObj) do with TBizEmpleado(AContacto.BusinessEventsObj) do
@ -90,19 +90,6 @@ begin
end; end;
end; end;
function TDataModuleEmpleados.GetNextID(const DataSetName: String): Integer;
var
aDataSet : String;
aGeneratorName : String;
begin
aDataSet := DataSetName;
if aDataSet = nme_Empleados then
aDataSet := nme_Contactos;
Result := inherited GetNextID(aDataSet);
end;
function TDataModuleEmpleados.GetReport(const AFichaID: String): Binary; function TDataModuleEmpleados.GetReport(const AFichaID: String): Binary;
begin begin
Result := (RORemoteService as IsrvContactos).GenerateFichaEmpleadoReport(AFichaID); Result := (RORemoteService as IsrvContactos).GenerateFichaEmpleadoReport(AFichaID);

View File

@ -7,18 +7,43 @@ inherited DataModuleProveedores: TDataModuleProveedores
inherited ds_ContactosCategorias: TDADataSource inherited ds_ContactosCategorias: TDADataSource
DataSet = tbl_ContactosCategorias.Dataset DataSet = tbl_ContactosCategorias.Dataset
end end
inherited ds_DatosBancarios: TDADataSource
DataSet = tbl_DatosBancarios.Dataset
end
inherited ds_DireccionesContacto: TDADataSource inherited ds_DireccionesContacto: TDADataSource
DataSet = tbl_DireccionesContacto.Dataset DataSet = tbl_DireccionesContacto.Dataset
end end
object tbl_Proveedores: TDACDSDataTable inherited ds_DatosBancarios: TDADataSource
DataSet = tbl_DatosBancarios.Dataset
end
object tbl_GruposProveedor: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'DESCRIPCION'
DataType = datString
Size = 255
DisplayLabel = 'Descripci'#195#179'n'
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_Contactos
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'GruposProveedor'
Left = 448
Top = 168
end
object ds_GruposProveedor: TDADataSource
DataSet = tbl_GruposProveedor.Dataset
DataTable = tbl_GruposProveedor
Left = 448
Top = 232
end
object tbl_Proveedores: TDAMemDataTable
RemoteUpdatesOptions = [] RemoteUpdatesOptions = []
Fields = < Fields = <
item item
Name = 'ID' Name = 'ID'
DataType = datAutoInc DataType = datAutoInc
GeneratorName = 'GEN_CONTACTOS_ID'
DictionaryEntry = 'Contactos_ID' DictionaryEntry = 'Contactos_ID'
InPrimaryKey = True InPrimaryKey = True
end end
@ -39,16 +64,10 @@ inherited DataModuleProveedores: TDataModuleProveedores
Name = 'NOMBRE' Name = 'NOMBRE'
DataType = datString DataType = datString
Size = 255 Size = 255
Required = True
DisplayLabel = 'Nombre' DisplayLabel = 'Nombre'
DictionaryEntry = 'Contactos_NOMBRE' DictionaryEntry = 'Contactos_NOMBRE'
end end
item
Name = 'CALLE'
DataType = datString
Size = 255
DisplayLabel = 'Direcci'#243'n'
DictionaryEntry = 'Contactos_CALLE'
end
item item
Name = 'PERSONA_CONTACTO' Name = 'PERSONA_CONTACTO'
DataType = datString DataType = datString
@ -56,11 +75,18 @@ inherited DataModuleProveedores: TDataModuleProveedores
DisplayLabel = 'Persona de contacto' DisplayLabel = 'Persona de contacto'
DictionaryEntry = 'Contactos_PERSONA_CONTACTO' DictionaryEntry = 'Contactos_PERSONA_CONTACTO'
end end
item
Name = 'CALLE'
DataType = datString
Size = 255
DisplayLabel = 'Direcci'#195#179'n'
DictionaryEntry = 'Contactos_CALLE'
end
item item
Name = 'POBLACION' Name = 'POBLACION'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Poblaci'#243'n' DisplayLabel = 'Poblaci'#195#179'n'
DictionaryEntry = 'Contactos_POBLACION' DictionaryEntry = 'Contactos_POBLACION'
end end
item item
@ -74,7 +100,7 @@ inherited DataModuleProveedores: TDataModuleProveedores
Name = 'CODIGO_POSTAL' Name = 'CODIGO_POSTAL'
DataType = datString DataType = datString
Size = 10 Size = 10
DisplayLabel = 'C'#243'digo postal' DisplayLabel = 'C'#195#179'digo postal'
DictionaryEntry = 'Contactos_CODIGO_POSTAL' DictionaryEntry = 'Contactos_CODIGO_POSTAL'
end end
item item
@ -95,7 +121,7 @@ inherited DataModuleProveedores: TDataModuleProveedores
Name = 'MOVIL_1' Name = 'MOVIL_1'
DataType = datString DataType = datString
Size = 25 Size = 25
DisplayLabel = 'M'#243'vil' DisplayLabel = 'M'#195#179'vil'
DictionaryEntry = 'Contactos_MOVIL_1' DictionaryEntry = 'Contactos_MOVIL_1'
end end
item item
@ -139,6 +165,14 @@ inherited DataModuleProveedores: TDataModuleProveedores
DisplayLabel = 'Observaciones' DisplayLabel = 'Observaciones'
DictionaryEntry = 'Contactos_NOTAS' DictionaryEntry = 'Contactos_NOTAS'
end end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
end
item item
Name = 'USUARIO' Name = 'USUARIO'
DataType = datString DataType = datString
@ -158,28 +192,6 @@ inherited DataModuleProveedores: TDataModuleProveedores
DisplayLabel = 'Referencia' DisplayLabel = 'Referencia'
DictionaryEntry = 'Proveedores_REFERENCIA' DictionaryEntry = 'Proveedores_REFERENCIA'
end end
item
Name = 'ID_TIPO_IVA'
DataType = datInteger
DictionaryEntry = 'Proveedores_ID_TIPO_IVA'
end
item
Name = 'REGIMEN_IVA'
DataType = datString
Size = 255
DisplayLabel = 'R'#233'gimen de IVA'
DictionaryEntry = 'Proveedores_REGIMEN_IVA'
end
item
Name = 'ID_FORMA_PAGO'
DataType = datInteger
DictionaryEntry = 'Proveedores_ID_FORMA_PAGO'
end
item
Name = 'TIENDA_WEB'
DataType = datInteger
DictionaryEntry = 'Proveedores_TIENDA_WEB'
end
item item
Name = 'DESCUENTO' Name = 'DESCUENTO'
DataType = datFloat DataType = datFloat
@ -197,12 +209,39 @@ inherited DataModuleProveedores: TDataModuleProveedores
Name = 'CODIGO_ASIGNADO' Name = 'CODIGO_ASIGNADO'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'C'#243'digo asignado' DisplayLabel = 'C'#195#179'digo asignado'
DictionaryEntry = 'Proveedores_CODIGO_ASIGNADO' DictionaryEntry = 'Proveedores_CODIGO_ASIGNADO'
end end
item item
Name = 'HOMOLOGADO' Name = 'GRUPO_PROVEEDOR'
DataType = datString
Size = 255
end
item
Name = 'REGIMEN_IVA'
DataType = datString
Size = 255
DisplayLabel = 'R'#195#169'gimen de IVA'
DictionaryEntry = 'Proveedores_REGIMEN_IVA'
end
item
Name = 'ID_TIPO_IVA'
DataType = datInteger DataType = datInteger
DictionaryEntry = 'Proveedores_ID_TIPO_IVA'
end
item
Name = 'ID_FORMA_PAGO'
DataType = datInteger
DictionaryEntry = 'Proveedores_ID_FORMA_PAGO'
end
item
Name = 'TIENDA_WEB'
DataType = datSmallInt
DictionaryEntry = 'Proveedores_TIENDA_WEB'
end
item
Name = 'HOMOLOGADO'
DataType = datSmallInt
DisplayLabel = 'Homologado' DisplayLabel = 'Homologado'
DictionaryEntry = 'Proveedores_HOMOLOGADO' DictionaryEntry = 'Proveedores_HOMOLOGADO'
end end
@ -212,72 +251,20 @@ inherited DataModuleProveedores: TDataModuleProveedores
Size = 255 Size = 255
DisplayLabel = 'Certificaciones' DisplayLabel = 'Certificaciones'
DictionaryEntry = 'Proveedores_CERTIFICACION' DictionaryEntry = 'Proveedores_CERTIFICACION'
end
item
Name = 'GRUPO_PROVEEDOR'
DataType = datString
Size = 255
end> end>
Params = <> Params = <>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_Proveedores RemoteDataAdapter = rda_Contactos
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'Proveedores' LogicalName = 'Proveedores'
IndexDefs = <>
Left = 296 Left = 296
Top = 184 Top = 168
end end
object ds_Proveedores: TDADataSource object ds_Proveedores: TDADataSource
DataSet = tbl_Proveedores.Dataset DataSet = tbl_Proveedores.Dataset
DataTable = tbl_Proveedores DataTable = tbl_Proveedores
Left = 296 Left = 296
Top = 320 Top = 232
end
object tbl_GruposProveedor: TDACDSDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'DESCRIPCION'
DataType = datString
Size = 255
end>
Params = <>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_GruposProveedor
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'GruposProveedor'
IndexDefs = <>
Left = 424
Top = 184
end
object ds_GruposProveedor: TDADataSource
DataSet = tbl_GruposProveedor.Dataset
DataTable = tbl_GruposProveedor
Left = 432
Top = 320
end
object rda_Proveedores: TDARemoteDataAdapter
GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService
DataStreamer = DataStreamer
Left = 299
Top = 255
end
object rda_GruposProveedor: TDARemoteDataAdapter
GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService
DataStreamer = DataStreamer
Left = 427
Top = 255
end end
end end

View File

@ -9,22 +9,20 @@ uses
uROClient, uROBinMessage, uROWinInetHttpChannel, uBizGruposProveedor, uROClient, uROBinMessage, uROWinInetHttpChannel, uBizGruposProveedor,
uIDataModuleProveedores, uBizContactos, uDADesigntimeCall, uIDataModuleProveedores, uBizContactos, uDADesigntimeCall,
uDARemoteDataAdapter, uDADataStreamer, uRODynamicRequest, uDAInterfaces; uDARemoteDataAdapter, uDADataStreamer, uRODynamicRequest, uDAInterfaces,
uDAMemDataTable, uDABin2DataStreamer;
type type
TDataModuleProveedores = class(TDataModuleContactos, IDataModuleProveedores) TDataModuleProveedores = class(TDataModuleContactos, IDataModuleProveedores)
tbl_Proveedores: TDACDSDataTable; tbl_GruposProveedor: TDAMemDataTable;
ds_Proveedores: TDADataSource;
tbl_GruposProveedor: TDACDSDataTable;
ds_GruposProveedor: TDADataSource; ds_GruposProveedor: TDADataSource;
rda_Proveedores: TDARemoteDataAdapter; tbl_Proveedores: TDAMemDataTable;
rda_GruposProveedor: TDARemoteDataAdapter; ds_Proveedores: TDADataSource;
public public
function GetItem(const ID : Integer) : IBizProveedor; function GetItem(const ID : Integer) : IBizProveedor;
function NewItem : IBizProveedor; function NewItem : IBizProveedor;
function GetItems : IBizProveedor; function GetItems : IBizProveedor;
function GetItemsTiendaWeb : IBizProveedor; function GetItemsTiendaWeb : IBizProveedor;
function GetNextID(const DataSetName : String) : Integer; override;
function GetGruposProveedor : IBizGrupoProveedor; function GetGruposProveedor : IBizGrupoProveedor;
end; end;
@ -39,11 +37,11 @@ uses
function TDataModuleProveedores.GetGruposProveedor: IBizGrupoProveedor; function TDataModuleProveedores.GetGruposProveedor: IBizGrupoProveedor;
var var
AGrupoProveedor : TDACDSDataTable; AGrupoProveedor : TDAMemDataTable;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AGrupoProveedor := _CloneDataTable(tbl_GruposProveedor); AGrupoProveedor := CloneDataTable(tbl_GruposProveedor);
AGrupoProveedor.BusinessRulesID := BIZ_CLIENT_GRUPOSPROVEEDOR; AGrupoProveedor.BusinessRulesID := BIZ_CLIENT_GRUPOSPROVEEDOR;
Result := (AGrupoProveedor as IBizGrupoProveedor); Result := (AGrupoProveedor as IBizGrupoProveedor);
finally finally
@ -71,11 +69,11 @@ end;
function TDataModuleProveedores.GetItems: IBizProveedor; function TDataModuleProveedores.GetItems: IBizProveedor;
var var
AContacto : TDACDSDataTable; AContacto : TDAMemDataTable;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AContacto := _CloneDataTable(tbl_Proveedores); AContacto := CloneDataTable(tbl_Proveedores);
AContacto.BusinessRulesID := BIZ_CLIENT_PROVEEDOR; AContacto.BusinessRulesID := BIZ_CLIENT_PROVEEDOR;
with TBizProveedor(AContacto.BusinessEventsObj) do with TBizProveedor(AContacto.BusinessEventsObj) do
@ -96,30 +94,18 @@ begin
ShowHourglassCursor; ShowHourglassCursor;
try try
Result := Self.GetItems; Result := Self.GetItems;
with Result.DataTable.Where do with Result.DataTable.DynamicWhere do
begin begin
if NotEmpty then Clear;
AddOperator(opAND); // (TIENDA_WEB = 1)
OpenBraket; Expression := NewBinaryExpression(NewField('', fld_ProveedoresTIENDA_WEB),
AddText(fld_ProveedoresTIENDA_WEB + ' = 1'); NewConstant(1, datInteger), dboEqual);
CloseBraket;
end; end;
finally finally
HideHourglassCursor; HideHourglassCursor;
end; end;
end; end;
function TDataModuleProveedores.GetNextID(const DataSetName: String): Integer;
var
aDataSet : String;
begin
aDataSet := DataSetName;
if aDataSet = nme_Proveedores then
aDataSet := nme_Contactos;
Result := inherited GetNextID(aDataSet);
end;
function TDataModuleProveedores.NewItem: IBizProveedor; function TDataModuleProveedores.NewItem: IBizProveedor;
begin begin
Result := GetItem(ID_NULO) Result := GetItem(ID_NULO)

View File

@ -43,10 +43,11 @@ contains
uBizClientesDescuentos in 'uBizClientesDescuentos.pas', uBizClientesDescuentos in 'uBizClientesDescuentos.pas',
uRegimenIVAUtils in '..\Utiles\uRegimenIVAUtils.pas', uRegimenIVAUtils in '..\Utiles\uRegimenIVAUtils.pas',
uBizGruposCliente in 'uBizGruposCliente.pas', uBizGruposCliente in 'uBizGruposCliente.pas',
schContactosClient_Intf in 'schContactosClient_Intf.pas',
uBizGruposEmpleado in 'uBizGruposEmpleado.pas', uBizGruposEmpleado in 'uBizGruposEmpleado.pas',
uBizGruposProveedor in 'uBizGruposProveedor.pas', uBizGruposProveedor in 'uBizGruposProveedor.pas',
uIDataModuleFichasEmpleadoReport in 'Data\uIDataModuleFichasEmpleadoReport.pas', uIDataModuleFichasEmpleadoReport in 'Data\uIDataModuleFichasEmpleadoReport.pas',
uIDataModuleEtiquetasContactosReport in 'Data\uIDataModuleEtiquetasContactosReport.pas'; uIDataModuleEtiquetasContactosReport in 'Data\uIDataModuleEtiquetasContactosReport.pas',
schContactosClient_Intf in 'schContactosClient_Intf.pas',
schContactosServer_Intf in 'schContactosServer_Intf.pas';
end. end.

View File

@ -42,8 +42,7 @@
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType> <Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="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 Name="Comments"></VersionInfoKeys></VersionInfoKeys> <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="ImplicitBuild">True</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 Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Contactos_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
<Source><Source Name="MainSource">Contactos_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions> </ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" /> <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup> <ItemGroup>
@ -51,13 +50,17 @@
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\Utiles\uRegimenIVAUtils.pas" /> <DCCReference Include="..\Utiles\uRegimenIVAUtils.pas" />
<DCCReference Include="Base.dcp" />
<DCCReference Include="Data\uIDataModuleClientes.pas" /> <DCCReference Include="Data\uIDataModuleClientes.pas" />
<DCCReference Include="Data\uIDataModuleContactos.pas" /> <DCCReference Include="Data\uIDataModuleContactos.pas" />
<DCCReference Include="Data\uIDataModuleEmpleados.pas" /> <DCCReference Include="Data\uIDataModuleEmpleados.pas" />
<DCCReference Include="Data\uIDataModuleEtiquetasContactosReport.pas" /> <DCCReference Include="Data\uIDataModuleEtiquetasContactosReport.pas" />
<DCCReference Include="Data\uIDataModuleFichasEmpleadoReport.pas" /> <DCCReference Include="Data\uIDataModuleFichasEmpleadoReport.pas" />
<DCCReference Include="Data\uIDataModuleProveedores.pas" /> <DCCReference Include="Data\uIDataModuleProveedores.pas" />
<DCCReference Include="Empresas_controller.dcp" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="schContactosClient_Intf.pas" /> <DCCReference Include="schContactosClient_Intf.pas" />
<DCCReference Include="schContactosServer_Intf.pas" />
<DCCReference Include="uBizCategoriasContacto.pas" /> <DCCReference Include="uBizCategoriasContacto.pas" />
<DCCReference Include="uBizClientesDescuentos.pas" /> <DCCReference Include="uBizClientesDescuentos.pas" />
<DCCReference Include="uBizContactos.pas" /> <DCCReference Include="uBizContactos.pas" />
@ -66,5 +69,491 @@
<DCCReference Include="uBizGruposCliente.pas" /> <DCCReference Include="uBizGruposCliente.pas" />
<DCCReference Include="uBizGruposEmpleado.pas" /> <DCCReference Include="uBizGruposEmpleado.pas" />
<DCCReference Include="uBizGruposProveedor.pas" /> <DCCReference Include="uBizGruposProveedor.pas" />
<DCCReference Include="Usuarios.dcp" />
<DCCReference Include="vcl.dcp" />
</ItemGroup> </ItemGroup>
</Project> </Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006
Activate=0
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
TerminateBtn Operation=2
Errors Number=32
Errors Terminate=3
Email Address=
Email Object=
Email Send Options=0
Output Path=
Encrypt Password=
AutoCloseDialogSecs=0
WebSendMode=0
SupportULR=
HTMLLayout Count=15
HTMLLine0="%3Chtml%3E"
HTMLLine1=" %3Chead%3E"
HTMLLine2=" %3C/head%3E"
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
HTMLLine5=" %3Ctr%3E"
HTMLLine6=" %3Ctd nowrap%3E"
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
HTMLLine8=" %3C%%HTML_TAG%%%3E"
HTMLLine9=" %3C/font%3E"
HTMLLine10=" %3C/td%3E"
HTMLLine11=" %3C/tr%3E"
HTMLLine12=" %3C/table%3E"
HTMLLine13=" %3C/body%3E"
HTMLLine14="%3C/html%3E"
AutoCrashOperation=2
AutoCrashNumber=10
AutoCrashMinutes=1
WebURL=
WebUserID=
WebPassword=
WebPort=0
AttachedFiles=
ProxyURL=
ProxyUser=
ProxyPassword=
ProxyPort=8080
TrakerUser=
TrakerPassword=
TrakerAssignTo=
TrakerProject=
TrakerCategory=
TrakerTrialID=
ZipPassword=
PreBuildEvent=
PostSuccessfulBuildEvent=
PostFailureBuildEvent=
ExceptionDialogType=2
Count=0
EMail Message Line Count=0
loNoDuplicateErrors=0
loAppendReproduceText=0
loDeleteLogAtVersionChange=0
loAddComputerNameInLogFileName=0
loSaveModulesAndProcessesSections=1
loSaveAssemblerAndCPUSections=1
soAppStartDate=1
soAppName=1
soAppVersionNumber=1
soAppParameters=1
soAppCompilationDate=1
soAppUpTime=1
soExcDate=1
soExcAddress=1
soExcModuleName=1
soExcModuleVersion=1
soExcType=1
soExcMessage=1
soExcID=1
soExcCount=1
soExcStatus=1
soExcNote=1
soUserID=1
soUserName=1
soUserEmail=1
soUserPrivileges=1
soUserCompany=1
soActCtlsFormClass=1
soActCtlsFormText=1
soActCtlsControlClass=1
soActCtlsControlText=1
soCmpName=1
soCmpTotalMemory=1
soCmpFreeMemory=1
soCmpTotalDisk=1
soCmpFreeDisk=1
soCmpSysUpTime=1
soCmpProcessor=1
soCmpDisplayMode=1
soCmpDisplayDPI=1
soCmpVideoCard=1
soCmpPrinter=1
soOSType=1
soOSBuildN=1
soOSUpdate=1
soOSLanguage=1
soOSCharset=1
soNetIP=1
soNetSubmask=1
soNetGateway=1
soNetDNS1=1
soNetDNS2=1
soNetDHCP=1
soCustomData=1
sndShowSendDialog=1
sndShowSuccessFailureMsg=0
sndSendEntireLog=0
sndSendXMLLogCopy=0
sndSendScreenshot=1
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndAddComputerNameInFileName=0
edoSendErrorReportChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=0
edoShowSendErrorReportOption=1
edoShowAttachScreenshotOption=1
edoShowCustomButton=0
csoShowDLLs=1
csoShowBPLs=1
csoShowBorlandThreads=1
csoShowWindowsThreads=1
csoDoNotStoreProcNames=0
boPauseBorlandThreads=0
boDoNotPauseMainThread=0
boPauseWindowsThreads=0
boUseMainModuleOptions=1
boCopyLogInCaseOfError=1
boSaveCompressedCopyInCaseOfError=0
boHandleSafeCallExceptions=1
boCallRTLExceptionEvent=0
boCatchHandledExceptions=0
loCatchLeaks=0
loGroupsSonLeaks=1
loHideBorlandLeaks=1
loFreeAllLeaks=1
loCatchLeaksExceptions=1
cfoReduceFileSize=1
cfoCheckFileCorruption=0
Count mtInformationMsgCaption=1
mtInformationMsgCaption0="Information."
Count mtQuestionMsgCaption=1
mtQuestionMsgCaption0="Question."
Count mtErrorMsgCaption=1
mtErrorMsgCaption0="Error."
Count mtDialog_Caption=1
mtDialog_Caption0="Error occurred"
Count mtDialog_ErrorMsgCaption=2
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
Count mtDialog_GeneralCaption=1
mtDialog_GeneralCaption0="General"
Count mtDialog_GeneralHeader=1
mtDialog_GeneralHeader0="General Information"
Count mtDialog_CallStackCaption=1
mtDialog_CallStackCaption0="Call Stack"
Count mtDialog_CallStackHeader=1
mtDialog_CallStackHeader0="Call Stack Information"
Count mtDialog_ModulesCaption=1
mtDialog_ModulesCaption0="Modules"
Count mtDialog_ModulesHeader=1
mtDialog_ModulesHeader0="Modules Information"
Count mtDialog_ProcessesCaption=1
mtDialog_ProcessesCaption0="Processes"
Count mtDialog_ProcessesHeader=1
mtDialog_ProcessesHeader0="Processes Information"
Count mtDialog_AsmCaption=1
mtDialog_AsmCaption0="Assembler"
Count mtDialog_AsmHeader=1
mtDialog_AsmHeader0="Assembler Information"
Count mtDialog_CPUCaption=1
mtDialog_CPUCaption0="CPU"
Count mtDialog_CPUHeader=1
mtDialog_CPUHeader0="CPU Information"
Count mtDialog_OKButtonCaption=1
mtDialog_OKButtonCaption0="%26OK"
Count mtDialog_TerminateButtonCaption=1
mtDialog_TerminateButtonCaption0="%26Terminate"
Count mtDialog_RestartButtonCaption=1
mtDialog_RestartButtonCaption0="%26Restart"
Count mtDialog_DetailsButtonCaption=1
mtDialog_DetailsButtonCaption0="%26Details"
Count mtDialog_CustomButtonCaption=1
mtDialog_CustomButtonCaption0="%26Help"
Count mtDialog_SendMessage=1
mtDialog_SendMessage0="%26Send this error via Internet"
Count mtDialog_ScreenshotMessage=1
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
Count mtDialog_CopyMessage=1
mtDialog_CopyMessage0="%26Copy to Clipboard"
Count mtDialog_SupportMessage=1
mtDialog_SupportMessage0="Go to the Support Page"
Count mtMSDialog_ErrorMsgCaption=1
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
Count mtMSDialog_RestartCaption=1
mtMSDialog_RestartCaption0="Restart application."
Count mtMSDialog_TerminateCaption=1
mtMSDialog_TerminateCaption0="Terminate application."
Count mtMSDialog_PleaseCaption=1
mtMSDialog_PleaseCaption0="Please tell us about this problem."
Count mtMSDialog_DescriptionCaption=1
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
Count mtMSDialog_SeeDetailsCaption=1
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
Count mtMSDialog_SeeClickCaption=1
mtMSDialog_SeeClickCaption0="click here."
Count mtMSDialog_HowToReproduceCaption=1
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happended (optional)?"
Count mtMSDialog_EmailCaption=1
mtMSDialog_EmailCaption0="Email address (optional):"
Count mtMSDialog_SendButtonCaption=1
mtMSDialog_SendButtonCaption0="%26Send Error Report"
Count mtMSDialog_NoSendButtonCaption=1
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
Count mtLog_AppHeader=1
mtLog_AppHeader0="Application"
Count mtLog_AppStartDate=1
mtLog_AppStartDate0="Start Date"
Count mtLog_AppName=1
mtLog_AppName0="Name/Description"
Count mtLog_AppVersionNumber=1
mtLog_AppVersionNumber0="Version Number"
Count mtLog_AppParameters=1
mtLog_AppParameters0="Parameters"
Count mtLog_AppCompilationDate=1
mtLog_AppCompilationDate0="Compilation Date"
Count mtLog_AppUpTime=1
mtLog_AppUpTime0="Up Time"
Count mtLog_ExcHeader=1
mtLog_ExcHeader0="Exception"
Count mtLog_ExcDate=1
mtLog_ExcDate0="Date"
Count mtLog_ExcAddress=1
mtLog_ExcAddress0="Address"
Count mtLog_ExcModuleName=1
mtLog_ExcModuleName0="Module Name"
Count mtLog_ExcModuleVersion=1
mtLog_ExcModuleVersion0="Module Version"
Count mtLog_ExcType=1
mtLog_ExcType0="Type"
Count mtLog_ExcMessage=1
mtLog_ExcMessage0="Message"
Count mtLog_ExcID=1
mtLog_ExcID0="ID"
Count mtLog_ExcCount=1
mtLog_ExcCount0="Count"
Count mtLog_ExcStatus=1
mtLog_ExcStatus0="Status"
Count mtLog_ExcNote=1
mtLog_ExcNote0="Note"
Count mtLog_UserHeader=1
mtLog_UserHeader0="User"
Count mtLog_UserID=1
mtLog_UserID0="ID"
Count mtLog_UserName=1
mtLog_UserName0="Name"
Count mtLog_UserEmail=1
mtLog_UserEmail0="Email"
Count mtLog_UserCompany=1
mtLog_UserCompany0="Company"
Count mtLog_UserPrivileges=1
mtLog_UserPrivileges0="Privileges"
Count mtLog_ActCtrlsHeader=1
mtLog_ActCtrlsHeader0="Active Controls"
Count mtLog_ActCtrlsFormClass=1
mtLog_ActCtrlsFormClass0="Form Class"
Count mtLog_ActCtrlsFormText=1
mtLog_ActCtrlsFormText0="Form Text"
Count mtLog_ActCtrlsControlClass=1
mtLog_ActCtrlsControlClass0="Control Class"
Count mtLog_ActCtrlsControlText=1
mtLog_ActCtrlsControlText0="Control Text"
Count mtLog_CmpHeader=1
mtLog_CmpHeader0="Computer"
Count mtLog_CmpName=1
mtLog_CmpName0="Name"
Count mtLog_CmpTotalMemory=1
mtLog_CmpTotalMemory0="Total Memory"
Count mtLog_CmpFreeMemory=1
mtLog_CmpFreeMemory0="Free Memory"
Count mtLog_CmpTotalDisk=1
mtLog_CmpTotalDisk0="Total Disk"
Count mtLog_CmpFreeDisk=1
mtLog_CmpFreeDisk0="Free Disk"
Count mtLog_CmpSystemUpTime=1
mtLog_CmpSystemUpTime0="System Up Time"
Count mtLog_CmpProcessor=1
mtLog_CmpProcessor0="Processor"
Count mtLog_CmpDisplayMode=1
mtLog_CmpDisplayMode0="Display Mode"
Count mtLog_CmpDisplayDPI=1
mtLog_CmpDisplayDPI0="Display DPI"
Count mtLog_CmpVideoCard=1
mtLog_CmpVideoCard0="Video Card"
Count mtLog_CmpPrinter=1
mtLog_CmpPrinter0="Printer"
Count mtLog_OSHeader=1
mtLog_OSHeader0="Operating System"
Count mtLog_OSType=1
mtLog_OSType0="Type"
Count mtLog_OSBuildN=1
mtLog_OSBuildN0="Build #"
Count mtLog_OSUpdate=1
mtLog_OSUpdate0="Update"
Count mtLog_OSLanguage=1
mtLog_OSLanguage0="Language"
Count mtLog_OSCharset=1
mtLog_OSCharset0="Charset"
Count mtLog_NetHeader=1
mtLog_NetHeader0="Network"
Count mtLog_NetIP=1
mtLog_NetIP0="IP Address"
Count mtLog_NetSubmask=1
mtLog_NetSubmask0="Submask"
Count mtLog_NetGateway=1
mtLog_NetGateway0="Gateway"
Count mtLog_NetDNS1=1
mtLog_NetDNS10="DNS 1"
Count mtLog_NetDNS2=1
mtLog_NetDNS20="DNS 2"
Count mtLog_NetDHCP=1
mtLog_NetDHCP0="DHCP"
Count mtLog_CustInfoHeader=1
mtLog_CustInfoHeader0="Custom Information"
Count mtCallStack_Address=1
mtCallStack_Address0="Address"
Count mtCallStack_Name=1
mtCallStack_Name0="Module"
Count mtCallStack_Unit=1
mtCallStack_Unit0="Unit"
Count mtCallStack_Class=1
mtCallStack_Class0="Class"
Count mtCallStack_Procedure=1
mtCallStack_Procedure0="Procedure/Method"
Count mtCallStack_Line=1
mtCallStack_Line0="Line"
Count mtCallStack_MainThread=1
mtCallStack_MainThread0="Main"
Count mtCallStack_ExceptionThread=1
mtCallStack_ExceptionThread0="Exception Thread"
Count mtCallStack_RunningThread=1
mtCallStack_RunningThread0="Running Thread"
Count mtCallStack_CallingThread=1
mtCallStack_CallingThread0="Calling Thread"
Count mtCallStack_ThreadID=1
mtCallStack_ThreadID0="ID"
Count mtCallStack_ThreadPriority=1
mtCallStack_ThreadPriority0="Priority"
Count mtCallStack_ThreadClass=1
mtCallStack_ThreadClass0="Class"
Count mtCallStack_LeakCaption=1
mtCallStack_LeakCaption0="Memory Leak"
Count mtCallStack_LeakData=1
mtCallStack_LeakData0="Data"
Count mtCallStack_LeakType=1
mtCallStack_LeakType0="Type"
Count mtCallStack_LeakSize=1
mtCallStack_LeakSize0="Total size"
Count mtCallStack_LeakCount=1
mtCallStack_LeakCount0="Count"
Count mtSendDialog_Caption=1
mtSendDialog_Caption0="Send."
Count mtSendDialog_Message=1
mtSendDialog_Message0="Message"
Count mtSendDialog_Resolving=1
mtSendDialog_Resolving0="Resolving DNS..."
Count mtSendDialog_Login=1
mtSendDialog_Login0="Login..."
Count mtSendDialog_Connecting=1
mtSendDialog_Connecting0="Connecting with server..."
Count mtSendDialog_Connected=1
mtSendDialog_Connected0="Connected with server."
Count mtSendDialog_Sending=1
mtSendDialog_Sending0="Sending message..."
Count mtSendDialog_Sent=1
mtSendDialog_Sent0="Message sent."
Count mtSendDialog_SelectProject=1
mtSendDialog_SelectProject0="Select project..."
Count mtSendDialog_Searching=1
mtSendDialog_Searching0="Searching..."
Count mtSendDialog_Modifying=1
mtSendDialog_Modifying0="Modifying..."
Count mtSendDialog_Disconnecting=1
mtSendDialog_Disconnecting0="Disconnecting..."
Count mtSendDialog_Disconnected=1
mtSendDialog_Disconnected0="Disconnected."
Count mtReproduceDialog_Caption=1
mtReproduceDialog_Caption0="Request"
Count mtReproduceDialog_Request=1
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
Count mtReproduceDialog_OKButtonCaption=1
mtReproduceDialog_OKButtonCaption0="%26OK"
Count mtModules_Handle=1
mtModules_Handle0="Handle"
Count mtModules_Name=1
mtModules_Name0="Name"
Count mtModules_Description=1
mtModules_Description0="Description"
Count mtModules_Version=1
mtModules_Version0="Version"
Count mtModules_Size=1
mtModules_Size0="Size"
Count mtModules_LastModified=1
mtModules_LastModified0="Modified"
Count mtModules_Path=1
mtModules_Path0="Path"
Count mtProcesses_ID=1
mtProcesses_ID0="ID"
Count mtProcesses_Name=1
mtProcesses_Name0="Name"
Count mtProcesses_Description=1
mtProcesses_Description0="Description"
Count mtProcesses_Version=1
mtProcesses_Version0="Version"
Count mtProcesses_Memory=1
mtProcesses_Memory0="Memory"
Count mtProcesses_Priority=1
mtProcesses_Priority0="Priority"
Count mtProcesses_Threads=1
mtProcesses_Threads0="Threads"
Count mtProcesses_Path=1
mtProcesses_Path0="Path"
Count mtCPU_Registers=1
mtCPU_Registers0="Registers"
Count mtCPU_Stack=1
mtCPU_Stack0="Stack"
Count mtCPU_MemoryDump=1
mtCPU_MemoryDump0="Memory Dump"
Count mtSend_SuccessMsg=1
mtSend_SuccessMsg0="The message was sent successfully."
Count mtSend_FailureMsg=1
mtSend_FailureMsg0="Sorry, sending the message didn't work."
Count mtSend_BugClosedMsg=2
mtSend_BugClosedMsg0="These BUG is just closed."
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
Count mtSend_UnknownErrorMsg=1
mtSend_UnknownErrorMsg0="Unknown error."
Count mtSend_InvalidLoginMsg=1
mtSend_InvalidLoginMsg0="Invalid login request."
Count mtSend_InvalidSearchMsg=1
mtSend_InvalidSearchMsg0="Invalid search request."
Count mtSend_InvalidSelectionMsg=1
mtSend_InvalidSelectionMsg0="Invalid selection request."
Count mtSend_InvalidInsertMsg=1
mtSend_InvalidInsertMsg0="Invalid insert request."
Count mtSend_InvalidModifyMsg=1
mtSend_InvalidModifyMsg0="Invalid modify request."
Count mtFileCrackedMsg=2
mtFileCrackedMsg0="This file is cracked."
mtFileCrackedMsg1="The application will be closed."
Count mtException_LeakMultiFree=1
mtException_LeakMultiFree0="Multi Free memory leak."
Count mtException_LeakMemoryOverrun=1
mtException_LeakMemoryOverrun0="Memory Overrun leak."
Count mtException_AntiFreeze=1
mtException_AntiFreeze0="The application seems to be frozen."
Count mtInvalidEmailMsg=1
mtInvalidEmailMsg0="Invalid email."
TextsCollection=English
EurekaLog Last Line -->

View File

@ -13,4 +13,4 @@ BEGIN
END END
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Model\Contactos_model.res */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Model\Contactos_model.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf22B.tmp */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Model\Contactos_model.drf */

View File

@ -11,7 +11,6 @@ type
['{835FFC4D-1AE9-4020-A042-C9D84EC25A2C}'] ['{835FFC4D-1AE9-4020-A042-C9D84EC25A2C}']
function _GetItems (IDCategoria : Integer): IBizContacto; function _GetItems (IDCategoria : Integer): IBizContacto;
function _GetDatosBancarios : IBizContactosDatosBancarios; function _GetDatosBancarios : IBizContactosDatosBancarios;
function GetNextID(const DataSetName : String) : Integer;
end; end;
implementation implementation

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -14,4 +14,4 @@ END
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Plugin\uPluginContactos.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Plugin\uPluginContactos.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Plugin\Contactos_plugin.res */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Plugin\Contactos_plugin.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf233.tmp */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Plugin\Contactos_plugin.drf */

File diff suppressed because it is too large Load Diff

View File

@ -40,7 +40,6 @@ type
procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject;
var aConnectionName: string); var aConnectionName: string);
public public
function GetNextAutoInc(const GeneratorName: string): Integer;
function GenerateFichaEmpleadoReport(const EmpleadoID: String): Binary; function GenerateFichaEmpleadoReport(const EmpleadoID: String): Binary;
function GenerateEtiquetasReport(const ContactosID: String): Binary; function GenerateEtiquetasReport(const ContactosID: String): Binary;
end; end;
@ -124,11 +123,6 @@ begin
} }
end; end;
function TsrvContactos.GetNextAutoInc(const GeneratorName: string): Integer;
begin
Result := uDatabaseUtils.GetNextAutoInc(GeneratorName)
end;
initialization initialization
TROClassFactory.Create('srvContactos', Create_srvContactos, TsrvContactos_Invoker); TROClassFactory.Create('srvContactos', Create_srvContactos, TsrvContactos_Invoker);

View File

@ -45,4 +45,4 @@ END
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewDatosYSeleccionProveedor.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewDatosYSeleccionProveedor.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewDatosYSeleccionCliente.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewDatosYSeleccionCliente.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\Contactos_view.res */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\Contactos_view.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf231.tmp */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\Contactos_view.drf */

View File

@ -13,4 +13,4 @@ BEGIN
END END
/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Controller\Empresas_controller.res */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Controller\Empresas_controller.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf20F.tmp */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Controller\Empresas_controller.drf */

View File

@ -9,7 +9,6 @@ uses
type type
IDatosBancariosEmpresaController = interface IDatosBancariosEmpresaController = interface
['{E9B0313E-7B16-420A-B47E-20E42E96BAC6}'] ['{E9B0313E-7B16-420A-B47E-20E42E96BAC6}']
procedure AsignarID(ADetalles: IBizEmpresasDatosBancarios; IDCabecera: Integer; AEsNuevo:Boolean);
procedure Ver(ADatosBancarios : IBizEmpresasDatosBancarios); procedure Ver(ADatosBancarios : IBizEmpresasDatosBancarios);
end; end;
@ -18,7 +17,6 @@ type
FDataModule : IDataModuleEmpresas; FDataModule : IDataModuleEmpresas;
public public
procedure Ver(ADatosBancarios : IBizEmpresasDatosBancarios); procedure Ver(ADatosBancarios : IBizEmpresasDatosBancarios);
procedure AsignarID(ADetalles: IBizEmpresasDatosBancarios; IDCabecera : Integer; AEsNuevo : Boolean);
constructor Create; virtual; constructor Create; virtual;
destructor Destroy; override; destructor Destroy; override;
end; end;
@ -31,75 +29,6 @@ uses
uDataModuleEmpresas, schEmpresasClient_Intf, uIEditorDatosBancarioEmpresa, uDataModuleEmpresas, schEmpresasClient_Intf, uIEditorDatosBancarioEmpresa,
uEditorRegistryUtils, cxControls; uEditorRegistryUtils, cxControls;
procedure TDatosBancariosEmpresaController.AsignarID(
ADetalles: IBizEmpresasDatosBancarios; IDCabecera: Integer;
AEsNuevo:Boolean);
begin
with ADetalles do
begin
DataTable.DisableControls;
try
if not DataTable.Active then
DataTable.Active := True;
// AuxPosicion := POSICION;
{ ¡¡¡¡ OJO !!!!
Para asignar el ID en los detalles hay
que tener en cuenta una cosa:
Si se cambia el ID, ese detalle ya no
pertenece a esa cabecera porque ya no se
cumple la condición de la relacion:
Master.ID = Detail.ID_PRESUPUESTO.
Por esa razón no sirve hacer un recorrido
desde el principio hasta el final porque
las detalles van desapareciendo según asignamos
el valor al campo ID y nos mueve aleatoriamente
la posición del registro actual.
Es mejor hacer un bucle sencillo hasta que
"se gasten" todos los detalles. Cuando el
RecordCount llegue a 0 quiere decir que hemos
tratado todos los detalles.
El bucle cambia en el caso de ser llamada esta funcion desde modificar
un presupuesto ya que en ese caso si que hay que hacer un recorrido
total de las tuplas de detalle.
}
if AEsNuevo then
begin
while RecordCount > 0 do
begin
DataTable.First;
Edit;
ID := FDataModule.GetNextID(DataTable.LogicalName);
ID_EMPRESA := IDCabecera;
Post
end
end
else
begin
DataTable.First;
while not DataTable.EOF do
begin
if AEsNuevo then
begin
Edit;
ID := FDataModule.GetNextID(DataTable.LogicalName);
ID_EMPRESA := IDCabecera;
Post
end;
DataTable.Next
end;
end;
finally
DataTable.EnableControls;
end;
end;
end;
constructor TDatosBancariosEmpresaController.Create; constructor TDatosBancariosEmpresaController.Create;
begin begin
inherited; inherited;

View File

@ -27,10 +27,6 @@ type
TEmpresasController = class(TInterfacedObject, IEmpresasController) TEmpresasController = class(TInterfacedObject, IEmpresasController)
protected protected
FDataModule : IDataModuleEmpresas; FDataModule : IDataModuleEmpresas;
procedure AsignarID(AEmpresa: IBizEmpresa;
const IDNuevo : Integer); virtual;
procedure AsignarIDDetalles(AEmpresa: IBizEmpresa;
const IDCabecera : Integer; ADataTable : TDADataTable);
function ValidarEmpresa(AEmpresa : IBizEmpresa): Boolean; virtual; function ValidarEmpresa(AEmpresa : IBizEmpresa): Boolean; virtual;
public public
constructor Create; virtual; constructor Create; virtual;
@ -64,87 +60,6 @@ begin
AEmpresa.Insert; AEmpresa.Insert;
end; end;
procedure TEmpresasController.AsignarID(AEmpresa: IBizEmpresa;
const IDNuevo: Integer);
var
AContador : Integer;
begin
if not Assigned(AEmpresa) then
raise Exception.Create ('Empresa no asignada');
{ Los datos bancarios hay que comprobarlos siempre
tanto en inserción como en modificación. }
if Assigned(AEmpresa.DatosBancarios) then
AsignarIDDetalles(AEmpresa, IDNuevo, AEmpresa.DatosBancarios.DataTable);
if AEmpresa.EsNuevo then
begin
AEmpresa.Edit;
AEmpresa.ID := IDNuevo;
AEmpresa.Post;
end;
end;
procedure TEmpresasController.AsignarIDDetalles(AEmpresa: IBizEmpresa;
const IDCabecera: Integer; ADataTable: TDADataTable);
var
AContador : Integer;
begin
if not ADataTable.Active then
ADataTable.Active := True;
if AEmpresa.EsNuevo then
begin
{ ¡¡¡¡ OJO !!!!
Para asignar el ID en los detalles hay
que tener en cuenta una cosa:
Si se cambia el ID, ese detalle ya no
pertenece AEmpresa esa cabecera porque ya no se
cumple la condición de la relacion:
Master.ID = Detail.ID_CONTACTO.
Por esa razón no sirve hacer un recorrido
desde el principio hasta el final porque
las detalles van desapareciendo según asignamos
el valor al campo ID y nos mueve aleatoriamente
la posición del registro actual.
Es mejor hacer un bucle sencillo hasta que
"se gasten" todos los detalles. Cuando el
RecordCount llegue AEmpresa 0 quiere decir que hemos
tratado todos los detalles.
}
while ADataTable.RecordCount > 0 do
begin
ADataTable.First;
ADataTable.Edit;
ADataTable.FieldByName('ID').AsInteger := FDataModule.GetNextID(ADataTable.LogicalName);
ADataTable.FieldByName('ID_EMPRESA').AsInteger := IDCabecera;
ADataTable.Post;
end;
end
else begin
{ En este caso es un recorrido normal y corriente. }
ADataTable.First;
AContador := ADataTable.RecordCount;
while (AContador > 0) do
begin
// ¿Es nuevo?
if (ADataTable.FieldByName('ID').AsInteger < 0) then
begin
ADataTable.Edit;
ADataTable.FieldByName('ID').AsInteger := FDataModule.GetNextID(ADataTable.LogicalName);
ADataTable.Post;
end;
AContador := AContador - 1;
ADataTable.Next;
end;
ADataTable.First;
end;
end;
function TEmpresasController.Buscar(const ID: Integer): IBizEmpresa; function TEmpresasController.Buscar(const ID: Integer): IBizEmpresa;
begin begin
Result := FDataModule.GetItem(ID) Result := FDataModule.GetItem(ID)
@ -229,8 +144,6 @@ begin
end; end;
function TEmpresasController.Guardar(AEmpresa: IBizEmpresa): Boolean; function TEmpresasController.Guardar(AEmpresa: IBizEmpresa): Boolean;
var
NuevoID : Integer;
begin begin
Result := False; Result := False;
@ -238,14 +151,7 @@ begin
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
if AEmpresa.EsNuevo then
NuevoID := FDataModule.GetNextID(AEmpresa.DataTable.LogicalName)
else
NuevoID := AEmpresa.ID;
AsignarID(AEmpresa, NuevoID);
AEmpresa.DataTable.ApplyUpdates; AEmpresa.DataTable.ApplyUpdates;
Result := True; Result := True;
finally finally
HideHourglassCursor; HideHourglassCursor;

View File

@ -12,6 +12,6 @@ STRINGTABLE
BEGIN BEGIN
END END
/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Data\uDataModuleEmpresas.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Data\uDataModuleEmpresas.DFM */
/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Data\Empresas_data.res */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Data\Empresas_data.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf20D.tmp */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Data\Empresas_data.drf */

View File

@ -29,116 +29,163 @@ object DataModuleEmpresas: TDataModuleEmpresas
Fields = < Fields = <
item item
Name = 'ID' Name = 'ID'
DataType = datInteger DataType = datAutoInc
GeneratorName = 'GEN_EMPRESAS_ID'
LogChanges = False LogChanges = False
Required = True Required = True
ReadOnly = True ReadOnly = True
ServerAutoRefresh = True
DictionaryEntry = 'Empresas_ID'
InPrimaryKey = True InPrimaryKey = True
end end
item item
Name = 'NIF_CIF' Name = 'NIF_CIF'
DataType = datString DataType = datString
Size = 15 Size = 15
DisplayLabel = 'CIF'
DictionaryEntry = 'Empresas_NIF_CIF'
end end
item item
Name = 'NOMBRE' Name = 'NOMBRE'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Nombre'
DictionaryEntry = 'Empresas_NOMBRE'
end end
item item
Name = 'RAZON_SOCIAL' Name = 'RAZON_SOCIAL'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Raz'#243'n Social'
DictionaryEntry = 'Empresas_RAZON_SOCIAL'
end end
item item
Name = 'CALLE' Name = 'CALLE'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Calle'
DictionaryEntry = 'Empresas_CALLE'
end end
item item
Name = 'POBLACION' Name = 'POBLACION'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Poblaci'#243'n'
DictionaryEntry = 'Empresas_POBLACION'
end end
item item
Name = 'PROVINCIA' Name = 'PROVINCIA'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Provincia'
DictionaryEntry = 'Empresas_PROVINCIA'
end end
item item
Name = 'CODIGO_POSTAL' Name = 'CODIGO_POSTAL'
DataType = datString DataType = datString
Size = 10 Size = 10
DisplayLabel = 'C'#243'd. postal'
DictionaryEntry = 'Empresas_CODIGO_POSTAL'
end end
item item
Name = 'TELEFONO_1' Name = 'TELEFONO_1'
DataType = datString DataType = datString
Size = 25 Size = 25
DisplayLabel = 'Tel'#233'fono 1'
DictionaryEntry = 'Empresas_TELEFONO_1'
end end
item item
Name = 'TELEFONO_2' Name = 'TELEFONO_2'
DataType = datString DataType = datString
Size = 25 Size = 25
DisplayLabel = 'Tel'#233'fono 2'
DictionaryEntry = 'Empresas_TELEFONO_2'
end end
item item
Name = 'MOVIL_1' Name = 'MOVIL_1'
DataType = datString DataType = datString
Size = 25 Size = 25
DisplayLabel = 'M'#243'vil 1'
DictionaryEntry = 'Empresas_MOVIL_1'
end end
item item
Name = 'MOVIL_2' Name = 'MOVIL_2'
DataType = datString DataType = datString
Size = 25 Size = 25
DisplayLabel = 'M'#243'vil 2'
DictionaryEntry = 'Empresas_MOVIL_2'
end end
item item
Name = 'FAX' Name = 'FAX'
DataType = datString DataType = datString
Size = 25 Size = 25
DisplayLabel = 'Fax'
DictionaryEntry = 'Empresas_FAX'
end end
item item
Name = 'EMAIL_1' Name = 'EMAIL_1'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'E-mail 1'
DictionaryEntry = 'Empresas_EMAIL_1'
end end
item item
Name = 'EMAIL_2' Name = 'EMAIL_2'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'E-mail 2'
DictionaryEntry = 'Empresas_EMAIL_2'
end end
item item
Name = 'PAGINA_WEB' Name = 'PAGINA_WEB'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'P'#225'gina web'
DictionaryEntry = 'Empresas_PAGINA_WEB'
end end
item item
Name = 'NOTAS' Name = 'NOTAS'
DataType = datMemo DataType = datMemo
DisplayLabel = 'Notas'
DictionaryEntry = 'Empresas_NOTAS'
end end
item item
Name = 'FECHA_ALTA' Name = 'FECHA_ALTA'
DataType = datDateTime DataType = datDateTime
DisplayLabel = 'Empresas_FECHA_ALTA'
DictionaryEntry = 'Empresas_FECHA_ALTA'
end end
item item
Name = 'FECHA_MODIFICACION' Name = 'FECHA_MODIFICACION'
DataType = datDateTime DataType = datDateTime
DisplayLabel = 'Empresas_FECHA_MODIFICACION'
DictionaryEntry = 'Empresas_FECHA_MODIFICACION'
end end
item item
Name = 'USUARIO' Name = 'USUARIO'
DataType = datString DataType = datString
Size = 20 Size = 20
DisplayLabel = 'Empresas_USUARIO'
DictionaryEntry = 'Empresas_USUARIO'
end end
item item
Name = 'LOGOTIPO' Name = 'LOGOTIPO'
DataType = datBlob DataType = datBlob
BlobType = dabtBlob
DisplayLabel = 'Logotipo'
DictionaryEntry = 'Empresas_LOGOTIPO'
end end
item item
Name = 'REGISTRO_MERCANTIL' Name = 'REGISTRO_MERCANTIL'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Registro mercantil'
DictionaryEntry = 'Empresas_REGISTRO_MERCANTIL'
end end
item item
Name = 'IVA' Name = 'IVA'
DataType = datFloat DataType = datFloat
DictionaryEntry = 'Empresas_IVA'
end> end>
Params = <> Params = <>
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]
@ -160,53 +207,68 @@ object DataModuleEmpresas: TDataModuleEmpresas
Fields = < Fields = <
item item
Name = 'ID' Name = 'ID'
DataType = datInteger DataType = datAutoInc
GeneratorName = 'GEN_EMPRESAS_DATOS_BANCO_ID'
LogChanges = False LogChanges = False
Required = True Required = True
ReadOnly = True ReadOnly = True
ServerAutoRefresh = True
DictionaryEntry = 'EmpresasDatosBanco_ID'
InPrimaryKey = True InPrimaryKey = True
end end
item item
Name = 'ID_EMPRESA' Name = 'ID_EMPRESA'
DataType = datInteger DataType = datInteger
LogChanges = False DisplayLabel = 'EmpresasDatosBanco_ID_EMPRESA'
Required = True DictionaryEntry = 'EmpresasDatosBanco_ID_EMPRESA'
ReadOnly = True
end end
item item
Name = 'NOMBRE' Name = 'NOMBRE'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Nombre del banco'
DictionaryEntry = 'EmpresasDatosBanco_NOMBRE'
end end
item item
Name = 'ENTIDAD' Name = 'ENTIDAD'
DataType = datString DataType = datString
Size = 15 Size = 15
DisplayLabel = 'Entidad'
DictionaryEntry = 'EmpresasDatosBanco_ENTIDAD'
end end
item item
Name = 'SUCURSAL' Name = 'SUCURSAL'
DataType = datString DataType = datString
Size = 15 Size = 15
DisplayLabel = 'Sucursal'
DictionaryEntry = 'EmpresasDatosBanco_SUCURSAL'
end end
item item
Name = 'DC' Name = 'DC'
DataType = datString DataType = datString
Size = 15 Size = 15
DictionaryEntry = 'EmpresasDatosBanco_DC'
end end
item item
Name = 'CUENTA' Name = 'CUENTA'
DataType = datString DataType = datString
Size = 15 Size = 15
DisplayLabel = 'Cuenta'
DictionaryEntry = 'EmpresasDatosBanco_CUENTA'
end end
item item
Name = 'SUFIJO_N19' Name = 'SUFIJO_N19'
DataType = datString DataType = datString
Size = 3 Size = 3
DisplayLabel = 'Sufijo 19'
DictionaryEntry = 'EmpresasDatosBanco_SUFIJO_N19'
end end
item item
Name = 'SUFIJO_N58' Name = 'SUFIJO_N58'
DataType = datString DataType = datString
Size = 3 Size = 3
DisplayLabel = 'Sufijo 58'
DictionaryEntry = 'EmpresasDatosBanco_SUFIJO_N58'
end> end>
Params = <> Params = <>
MasterMappingMode = mmWhere MasterMappingMode = mmWhere

View File

@ -26,7 +26,6 @@ type
function GetItem(const ID : Integer) : IBizEmpresa; function GetItem(const ID : Integer) : IBizEmpresa;
function NewItem : IBizEmpresa; function NewItem : IBizEmpresa;
function GetItems : IBizEmpresa; function GetItems : IBizEmpresa;
function GetNextID(const DataSetName : String) : Integer;
end; end;
@ -57,12 +56,6 @@ begin
Expression := NewBinaryExpression(NewField('', fld_EmpresasID), Expression := NewBinaryExpression(NewField('', fld_EmpresasID),
NewConstant(ID, datInteger), dboEqual); NewConstant(ID, datInteger), dboEqual);
end; end;
{ if NotEmpty then
AddOperator(opAND);
OpenBraket;
AddText('EMPRESAS.' + fld_EmpresasID + ' = ' + IntToStr(ID));
CloseBraket;}
finally finally
HideHourglassCursor; HideHourglassCursor;
end; end;
@ -70,24 +63,8 @@ end;
function TDataModuleEmpresas.GetItems: IBizEmpresa; function TDataModuleEmpresas.GetItems: IBizEmpresa;
var var
//AEmpresa : TDACDSDataTable;
AEmpresa : TDAMemDataTable; AEmpresa : TDAMemDataTable;
begin begin
{ShowHourglassCursor;
try
AEmpresa := _CloneDataTable(tbl_Empresas);
AEmpresa.BusinessRulesID := BIZ_CLIENT_EMPRESA;
with TBizEmpresa(AEmpresa.BusinessEventsObj) do
begin
DatosBancarios := _GetDatosBancarios;
end;
Result := (AEmpresa as IBizEmpresa);
finally
HideHourglassCursor;
end;}
ShowHourglassCursor; ShowHourglassCursor;
try try
AEmpresa := CloneDataTable(tbl_Empresas); AEmpresa := CloneDataTable(tbl_Empresas);
@ -104,19 +81,6 @@ begin
end; end;
end; end;
function TDataModuleEmpresas.GetNextID(const DataSetName: String): Integer;
var
aGeneratorName : String;
begin
if DataSetName = nme_Empresas then
aGeneratorName := 'GEN_EMPRESAS_ID';
if DataSetName = nme_EmpresasDatosBanco then
aGeneratorName := 'GEN_EMPRESAS_DATOS_BANCO_ID';
Result := (RORemoteService as IsrvEmpresas).GetNextAutoInc(aGeneratorName)
end;
function TDataModuleEmpresas.NewItem: IBizEmpresa; function TDataModuleEmpresas.NewItem: IBizEmpresa;
begin begin
Result := GetItem(ID_NULO) Result := GetItem(ID_NULO)
@ -124,23 +88,8 @@ end;
function TDataModuleEmpresas._GetDatosBancarios: IBizEmpresasDatosBancarios; function TDataModuleEmpresas._GetDatosBancarios: IBizEmpresasDatosBancarios;
var var
// ADatosBancarios : TDACDSDataTable;
ADatosBancarios : TDAMemDataTable; ADatosBancarios : TDAMemDataTable;
begin begin
{ ShowHourglassCursor;
try
ADatosBancarios := _CloneDataTable(tbl_EmpresasDatosBanco);
with ADatosBancarios do
begin
BusinessRulesID := BIZ_CLIENT_EMPRESAS_DATOS_BANCARIOS;
DetailOptions := DetailOptions -
[dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates];
end;
Result := (ADatosBancarios as IBizEmpresasDatosBancarios);
finally
HideHourglassCursor;
end;}
ShowHourglassCursor; ShowHourglassCursor;
try try
ADatosBancarios := CloneDataTable(tbl_EmpresasDatosBanco); ADatosBancarios := CloneDataTable(tbl_EmpresasDatosBanco);

View File

@ -0,0 +1,106 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{f8b3d728-de77-47ab-94ad-f92e28df9e6b}</ProjectGuid>
</PropertyGroup>
<ItemGroup />
<ItemGroup>
<Projects Include="..\..\Base\GUIBase\GUIBase.dproj" />
<Projects Include="..\..\Base\Usuarios\Usuarios.dproj" />
<Projects Include="Controller\Empresas_controller.dproj" />
<Projects Include="Data\Empresas_data.dproj" />
<Projects Include="Model\Empresas_model.dproj" />
<Projects Include="Plugin\Empresas_plugin.dproj">
<Dependencies>Model\Empresas_model.dproj;Data\Empresas_data.dproj;Controller\Empresas_controller.dproj</Dependencies>
</Projects>
<Projects Include="Test\Empresas_Tests.dproj" />
<Projects Include="Views\Empresas_view.dproj" />
</ItemGroup>
<ProjectExtensions>
<Borland.Personality>Default.Personality</Borland.Personality>
<Borland.ProjectType />
<BorlandProject>
<BorlandProject xmlns=""> <Default.Personality> </Default.Personality> </BorlandProject></BorlandProject>
</ProjectExtensions>
<Target Name="GUIBase">
<MSBuild Projects="..\..\Base\GUIBase\GUIBase.dproj" Targets="" />
</Target>
<Target Name="GUIBase:Clean">
<MSBuild Projects="..\..\Base\GUIBase\GUIBase.dproj" Targets="Clean" />
</Target>
<Target Name="GUIBase:Make">
<MSBuild Projects="..\..\Base\GUIBase\GUIBase.dproj" Targets="Make" />
</Target>
<Target Name="Usuarios">
<MSBuild Projects="..\..\Base\Usuarios\Usuarios.dproj" Targets="" />
</Target>
<Target Name="Usuarios:Clean">
<MSBuild Projects="..\..\Base\Usuarios\Usuarios.dproj" Targets="Clean" />
</Target>
<Target Name="Usuarios:Make">
<MSBuild Projects="..\..\Base\Usuarios\Usuarios.dproj" Targets="Make" />
</Target>
<Target Name="Empresas_model">
<MSBuild Projects="Model\Empresas_model.dproj" Targets="" />
</Target>
<Target Name="Empresas_model:Clean">
<MSBuild Projects="Model\Empresas_model.dproj" Targets="Clean" />
</Target>
<Target Name="Empresas_model:Make">
<MSBuild Projects="Model\Empresas_model.dproj" Targets="Make" />
</Target>
<Target Name="Empresas_data">
<MSBuild Projects="Data\Empresas_data.dproj" Targets="" />
</Target>
<Target Name="Empresas_data:Clean">
<MSBuild Projects="Data\Empresas_data.dproj" Targets="Clean" />
</Target>
<Target Name="Empresas_data:Make">
<MSBuild Projects="Data\Empresas_data.dproj" Targets="Make" />
</Target>
<Target Name="Empresas_controller">
<MSBuild Projects="Controller\Empresas_controller.dproj" Targets="" />
</Target>
<Target Name="Empresas_controller:Clean">
<MSBuild Projects="Controller\Empresas_controller.dproj" Targets="Clean" />
</Target>
<Target Name="Empresas_controller:Make">
<MSBuild Projects="Controller\Empresas_controller.dproj" Targets="Make" />
</Target>
<Target Name="Empresas_view">
<MSBuild Projects="Views\Empresas_view.dproj" Targets="" />
</Target>
<Target Name="Empresas_view:Clean">
<MSBuild Projects="Views\Empresas_view.dproj" Targets="Clean" />
</Target>
<Target Name="Empresas_view:Make">
<MSBuild Projects="Views\Empresas_view.dproj" Targets="Make" />
</Target>
<Target Name="Empresas_plugin" DependsOnTargets="Empresas_model;Empresas_data;Empresas_controller">
<MSBuild Projects="Plugin\Empresas_plugin.dproj" Targets="" />
</Target>
<Target Name="Empresas_plugin:Clean" DependsOnTargets="Empresas_model:Clean;Empresas_data:Clean;Empresas_controller:Clean">
<MSBuild Projects="Plugin\Empresas_plugin.dproj" Targets="Clean" />
</Target>
<Target Name="Empresas_plugin:Make" DependsOnTargets="Empresas_model:Make;Empresas_data:Make;Empresas_controller:Make">
<MSBuild Projects="Plugin\Empresas_plugin.dproj" Targets="Make" />
</Target>
<Target Name="Empresas_Tests">
<MSBuild Projects="Test\Empresas_Tests.dproj" Targets="" />
</Target>
<Target Name="Empresas_Tests:Clean">
<MSBuild Projects="Test\Empresas_Tests.dproj" Targets="Clean" />
</Target>
<Target Name="Empresas_Tests:Make">
<MSBuild Projects="Test\Empresas_Tests.dproj" Targets="Make" />
</Target>
<Target Name="Build">
<CallTarget Targets="GUIBase;Usuarios;Empresas_model;Empresas_data;Empresas_controller;Empresas_view;Empresas_plugin;Empresas_Tests" />
</Target>
<Target Name="Clean">
<CallTarget Targets="GUIBase:Clean;Usuarios:Clean;Empresas_model:Clean;Empresas_data:Clean;Empresas_controller:Clean;Empresas_view:Clean;Empresas_plugin:Clean;Empresas_Tests:Clean" />
</Target>
<Target Name="Make">
<CallTarget Targets="GUIBase:Make;Usuarios:Make;Empresas_model:Make;Empresas_data:Make;Empresas_controller:Make;Empresas_view:Make;Empresas_plugin:Make;Empresas_Tests:Make" />
</Target>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project>

View File

@ -12,7 +12,6 @@ type
function GetItem(const ID : Integer) : IBizEmpresa; function GetItem(const ID : Integer) : IBizEmpresa;
function NewItem : IBizEmpresa; function NewItem : IBizEmpresa;
function GetItems : IBizEmpresa; function GetItems : IBizEmpresa;
function GetNextID(const DataSetName : String) : Integer;
end; end;
implementation implementation

View File

@ -42,7 +42,10 @@
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType> <Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="PackageDescription">Empresas</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 Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="PackageDescription">Empresas</Package_Options><Package_Options Name="ImplicitBuild">True</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 Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="D:\MISDOC~1\BORLAN~1\Bpl\JclDebugExpert100.bpl">JCL Debug IDE extension</Excluded_Packages> <Excluded_Packages Name="D:\MISDOC~1\BORLAN~1\Bpl\JclDebugExpert100.bpl">JCL Debug IDE extension</Excluded_Packages>
<Excluded_Packages Name="D:\MISDOC~1\BORLAN~1\Bpl\JclProjectAnalysisExpert100.bpl">JCL Project Analyzer</Excluded_Packages> <Excluded_Packages Name="D:\MISDOC~1\BORLAN~1\Bpl\JclProjectAnalysisExpert100.bpl">JCL Project Analyzer</Excluded_Packages>
<Excluded_Packages Name="D:\MISDOC~1\BORLAN~1\Bpl\JclFavoriteFoldersExpert100.bpl">JCL Open and Save IDE dialogs with favorite folders</Excluded_Packages> <Excluded_Packages Name="D:\MISDOC~1\BORLAN~1\Bpl\JclFavoriteFoldersExpert100.bpl">JCL Open and Save IDE dialogs with favorite folders</Excluded_Packages>

View File

@ -13,4 +13,4 @@ BEGIN
END END
/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Model\Empresas_model.res */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Model\Empresas_model.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf20B.tmp */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Model\Empresas_model.drf */

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -81,7 +81,6 @@ end;
procedure TBizEmpresa.OnNewRecord(Sender: TDADataTable); procedure TBizEmpresa.OnNewRecord(Sender: TDADataTable);
begin begin
inherited; inherited;
ID := GetRecNo; // -1, -2, -3...
IniciarValoresEmpresaNueva; IniciarValoresEmpresaNueva;
end; end;

View File

@ -18,7 +18,6 @@ type
TBizEmpresasDatosBancarios = class(TEmpresasDatosBancoDataTableRules, IBizEmpresasDatosBancarios) TBizEmpresasDatosBancarios = class(TEmpresasDatosBancoDataTableRules, IBizEmpresasDatosBancarios)
protected protected
procedure BeforeInsert(Sender: TDADataTable); override; procedure BeforeInsert(Sender: TDADataTable); override;
procedure OnNewRecord(Sender: TDADataTable); override;
public public
function EsNuevo : Boolean; function EsNuevo : Boolean;
end; end;
@ -45,12 +44,6 @@ begin
Result := (ID < 0); Result := (ID < 0);
end; end;
procedure TBizEmpresasDatosBancarios.OnNewRecord(Sender: TDADataTable);
begin
inherited;
ID := GetRecNo; // -1, -2, -3...
end;
initialization initialization
RegisterDataTableRules(BIZ_CLIENT_EMPRESAS_DATOS_BANCARIOS, TBizEmpresasDatosBancarios); RegisterDataTableRules(BIZ_CLIENT_EMPRESAS_DATOS_BANCARIOS, TBizEmpresasDatosBancarios);

View File

@ -14,4 +14,4 @@ END
/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Plugin\uPluginEmpresas.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Plugin\uPluginEmpresas.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Plugin\Empresas_plugin.res */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Plugin\Empresas_plugin.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf215.tmp */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Plugin\Empresas_plugin.drf */

File diff suppressed because it is too large Load Diff

View File

@ -21,20 +21,17 @@ type
{ TsrvEmpresas } { TsrvEmpresas }
TsrvEmpresas = class(TDataAbstractService, IsrvEmpresas) TsrvEmpresas = class(TDataAbstractService, IsrvEmpresas)
Diagrams: TDADiagrams; Diagrams: TDADiagrams;
bpEmpresas: TDABusinessProcessor;
bpEmpresasDatosBanco: TDABusinessProcessor;
DABin2DataStreamer: TDABin2DataStreamer; DABin2DataStreamer: TDABin2DataStreamer;
schEmpresas: TDASchema; schEmpresas: TDASchema;
DataDictionary: TDADataDictionary; DataDictionary: TDADataDictionary;
procedure DARemoteServiceBeforeGetDatasetData(const Dataset: IDADataset;
const IncludeSchema: Boolean; const MaxRecords: Integer);
procedure DARemoteServiceCreate(Sender: TObject); procedure DARemoteServiceCreate(Sender: TObject);
procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject;
var aConnectionName: string); var aConnectionName: string);
procedure DataAbstractServiceBeforeGetDatasetData(aSender: TObject;
const aDataset: IDADataset; const aIncludeSchema: Boolean;
const aMaxRecords: Integer);
private private
protected protected
{ IsrvEmpresas methods }
function GetNextAutoInc(const GeneratorName: String): Integer;
end; end;
implementation implementation
@ -52,20 +49,6 @@ begin
end; end;
{ srvEmpresas } { srvEmpresas }
procedure TsrvEmpresas.DARemoteServiceBeforeGetDatasetData(
const Dataset: IDADataset; const IncludeSchema: Boolean;
const MaxRecords: Integer);
begin
Exit;
if (DataSet.Name <> nme_EmpresasDatosBanco) then
begin
{ Aquí se asegura que el usuario sólo accede a las empresas a
las que tiene permiso para acceder filtrando DataSet por ID_EMPRESA. }
FiltrarAccesoUsuario(Session, Connection, schEmpresas, DataSet, fld_EmpresasID);
end;
end;
procedure TsrvEmpresas.DARemoteServiceCreate(Sender: TObject); procedure TsrvEmpresas.DARemoteServiceCreate(Sender: TObject);
begin begin
SessionManager := dmServer.SessionManager; SessionManager := dmServer.SessionManager;
@ -77,9 +60,17 @@ begin
ConnectionName := dmServer.ConnectionName; ConnectionName := dmServer.ConnectionName;
end; end;
function TsrvEmpresas.GetNextAutoInc(const GeneratorName: String): Integer; procedure TsrvEmpresas.DataAbstractServiceBeforeGetDatasetData(aSender: TObject;
const aDataset: IDADataset; const aIncludeSchema: Boolean;
const aMaxRecords: Integer);
begin begin
Result := uDatabaseUtils.GetNextAutoInc(GeneratorName) Exit;
if (aDataset.Name <> nme_EmpresasDatosBanco) then
begin
{ Aquí se asegura que el usuario sólo accede a las empresas a
las que tiene permiso para acceder filtrando DataSet por ID_EMPRESA. }
FiltrarAccesoUsuario(Session, Connection, ServiceSchema, aDataset, fld_EmpresasID);
end;
end; end;
initialization initialization

View File

@ -0,0 +1,579 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{a12ecf04-330a-4a69-9080-e0e6821e2fc3}</ProjectGuid>
<MainSource>Empresas_Tests.dpr</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_EnabledPackages>true</DCC_EnabledPackages>
<DCC_UsePackage>DataAbstract_D10;Base;GUIBase;Empresas_model;Empresas_controller</DCC_UsePackage>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\..\..\Output\Debug\Cliente\Empresas_Tests.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\Debug\Cliente</DCC_ExeOutput>
<DCC_DcuOutput>.\</DCC_DcuOutput>
<DCC_ObjOutput>.\</DCC_ObjOutput>
<DCC_HppOutput>.\</DCC_HppOutput>
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\..\..\Lib;..\..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\..\Lib;..\..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\..\..\Lib;..\..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\..\..\Lib;..\..\Lib</DCC_IncludePath>
<DCC_Define>_CONSOLE_TESTRUNNER;EUREKALOG;EUREKALOG_VER5;RELEASE</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\..\..\Output\Debug\Cliente</DCC_ExeOutput>
<DCC_DcuOutput>.\</DCC_DcuOutput>
<DCC_ObjOutput>.\</DCC_ObjOutput>
<DCC_HppOutput>.\</DCC_HppOutput>
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\..\..\Lib;..\..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\..\Lib;..\..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\..\..\Lib;..\..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\..\..\Lib;..\..\Lib</DCC_IncludePath>
<DCC_Define>_CONSOLE_TESTRUNNER;EUREKALOG;EUREKALOG_VER5;DEBUG</DCC_Define>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType />
<BorlandProject>
<BorlandProject xmlns=""> <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">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">Empresas (Test)</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 Name="Comments"></VersionInfoKeys>
</VersionInfoKeys>
<Source>
<Source Name="MainSource">Empresas_Tests.dpr</Source>
</Source>
</Delphi.Personality> </BorlandProject></BorlandProject>
</ProjectExtensions>
<ItemGroup />
<ItemGroup>
<DelphiCompile Include="Empresas_Tests.dpr">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="uEmpresasController_Test.pas" />
<DCCReference Include="uHostMainForm.pas">
<Form>HostMainForm</Form>
</DCCReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
</Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006
Activate=1
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
TerminateBtn Operation=1
Errors Number=32
Errors Terminate=3
Email Address=
Email Object=
Email Send Options=0
Output Path=
Encrypt Password=
AutoCloseDialogSecs=0
WebSendMode=0
SupportULR=
HTMLLayout Count=15
HTMLLine0="%3Chtml%3E"
HTMLLine1=" %3Chead%3E"
HTMLLine2=" %3C/head%3E"
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
HTMLLine5=" %3Ctr%3E"
HTMLLine6=" %3Ctd nowrap%3E"
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
HTMLLine8=" %3C%%HTML_TAG%%%3E"
HTMLLine9=" %3C/font%3E"
HTMLLine10=" %3C/td%3E"
HTMLLine11=" %3C/tr%3E"
HTMLLine12=" %3C/table%3E"
HTMLLine13=" %3C/body%3E"
HTMLLine14="%3C/html%3E"
AutoCrashOperation=1
AutoCrashNumber=10
AutoCrashMinutes=1
WebURL=
WebUserID=
WebPassword=
WebPort=0
AttachedFiles=
ProxyURL=
ProxyUser=
ProxyPassword=
ProxyPort=8080
TrakerUser=
TrakerPassword=
TrakerAssignTo=
TrakerProject=
TrakerCategory=
TrakerTrialID=
ZipPassword=
PreBuildEvent=
PostSuccessfulBuildEvent=
PostFailureBuildEvent=
ExceptionDialogType=2
Count=0
EMail Message Line Count=0
loNoDuplicateErrors=0
loAppendReproduceText=0
loDeleteLogAtVersionChange=0
loAddComputerNameInLogFileName=0
loSaveModulesAndProcessesSections=1
loSaveAssemblerAndCPUSections=1
soAppStartDate=1
soAppName=1
soAppVersionNumber=1
soAppParameters=1
soAppCompilationDate=1
soAppUpTime=1
soExcDate=1
soExcAddress=1
soExcModuleName=1
soExcModuleVersion=1
soExcType=1
soExcMessage=1
soExcID=1
soExcCount=1
soExcStatus=1
soExcNote=1
soUserID=1
soUserName=1
soUserEmail=1
soUserPrivileges=1
soUserCompany=1
soActCtlsFormClass=1
soActCtlsFormText=1
soActCtlsControlClass=1
soActCtlsControlText=1
soCmpName=1
soCmpTotalMemory=1
soCmpFreeMemory=1
soCmpTotalDisk=1
soCmpFreeDisk=1
soCmpSysUpTime=1
soCmpProcessor=1
soCmpDisplayMode=1
soCmpDisplayDPI=1
soCmpVideoCard=1
soCmpPrinter=1
soOSType=1
soOSBuildN=1
soOSUpdate=1
soOSLanguage=1
soOSCharset=1
soNetIP=1
soNetSubmask=1
soNetGateway=1
soNetDNS1=1
soNetDNS2=1
soNetDHCP=1
soCustomData=1
sndShowSendDialog=1
sndShowSuccessFailureMsg=0
sndSendEntireLog=0
sndSendXMLLogCopy=0
sndSendScreenshot=0
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndAddComputerNameInFileName=0
edoSendErrorReportChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=1
edoShowSendErrorReportOption=1
edoShowAttachScreenshotOption=1
edoShowCustomButton=0
csoShowDLLs=1
csoShowBPLs=1
csoShowBorlandThreads=1
csoShowWindowsThreads=1
csoDoNotStoreProcNames=0
boPauseBorlandThreads=0
boDoNotPauseMainThread=0
boPauseWindowsThreads=0
boUseMainModuleOptions=1
boCopyLogInCaseOfError=1
boSaveCompressedCopyInCaseOfError=0
boHandleSafeCallExceptions=1
boCallRTLExceptionEvent=0
boCatchHandledExceptions=0
loCatchLeaks=0
loGroupsSonLeaks=1
loHideBorlandLeaks=1
loFreeAllLeaks=1
loCatchLeaksExceptions=1
cfoReduceFileSize=1
cfoCheckFileCorruption=0
Count mtInformationMsgCaption=1
mtInformationMsgCaption0="Information."
Count mtQuestionMsgCaption=1
mtQuestionMsgCaption0="Question."
Count mtErrorMsgCaption=1
mtErrorMsgCaption0="Error."
Count mtDialog_Caption=1
mtDialog_Caption0="Error."
Count mtDialog_ErrorMsgCaption=2
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
Count mtDialog_GeneralCaption=1
mtDialog_GeneralCaption0="General"
Count mtDialog_GeneralHeader=1
mtDialog_GeneralHeader0="General Information"
Count mtDialog_CallStackCaption=1
mtDialog_CallStackCaption0="Call Stack"
Count mtDialog_CallStackHeader=1
mtDialog_CallStackHeader0="Call Stack Information"
Count mtDialog_ModulesCaption=1
mtDialog_ModulesCaption0="Modules"
Count mtDialog_ModulesHeader=1
mtDialog_ModulesHeader0="Modules Information"
Count mtDialog_ProcessesCaption=1
mtDialog_ProcessesCaption0="Processes"
Count mtDialog_ProcessesHeader=1
mtDialog_ProcessesHeader0="Processes Information"
Count mtDialog_AsmCaption=1
mtDialog_AsmCaption0="Assembler"
Count mtDialog_AsmHeader=1
mtDialog_AsmHeader0="Assembler Information"
Count mtDialog_CPUCaption=1
mtDialog_CPUCaption0="CPU"
Count mtDialog_CPUHeader=1
mtDialog_CPUHeader0="CPU Information"
Count mtDialog_OKButtonCaption=1
mtDialog_OKButtonCaption0="%26OK"
Count mtDialog_TerminateButtonCaption=1
mtDialog_TerminateButtonCaption0="%26Terminate"
Count mtDialog_RestartButtonCaption=1
mtDialog_RestartButtonCaption0="%26Restart"
Count mtDialog_DetailsButtonCaption=1
mtDialog_DetailsButtonCaption0="%26Details"
Count mtDialog_CustomButtonCaption=1
mtDialog_CustomButtonCaption0="%26Help"
Count mtDialog_SendMessage=1
mtDialog_SendMessage0="%26Send this error via Internet"
Count mtDialog_ScreenshotMessage=1
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
Count mtDialog_CopyMessage=1
mtDialog_CopyMessage0="%26Copy to Clipboard"
Count mtDialog_SupportMessage=1
mtDialog_SupportMessage0="Go to the Support Page"
Count mtMSDialog_ErrorMsgCaption=1
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
Count mtMSDialog_RestartCaption=1
mtMSDialog_RestartCaption0="Restart application."
Count mtMSDialog_TerminateCaption=1
mtMSDialog_TerminateCaption0="Terminate application."
Count mtMSDialog_PleaseCaption=1
mtMSDialog_PleaseCaption0="Please tell us about this problem."
Count mtMSDialog_DescriptionCaption=1
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
Count mtMSDialog_SeeDetailsCaption=1
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
Count mtMSDialog_SeeClickCaption=1
mtMSDialog_SeeClickCaption0="click here."
Count mtMSDialog_HowToReproduceCaption=1
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happended (optional)?"
Count mtMSDialog_EmailCaption=1
mtMSDialog_EmailCaption0="Email address (optional):"
Count mtMSDialog_SendButtonCaption=1
mtMSDialog_SendButtonCaption0="%26Send Error Report"
Count mtMSDialog_NoSendButtonCaption=1
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
Count mtLog_AppHeader=1
mtLog_AppHeader0="Application"
Count mtLog_AppStartDate=1
mtLog_AppStartDate0="Start Date"
Count mtLog_AppName=1
mtLog_AppName0="Name/Description"
Count mtLog_AppVersionNumber=1
mtLog_AppVersionNumber0="Version Number"
Count mtLog_AppParameters=1
mtLog_AppParameters0="Parameters"
Count mtLog_AppCompilationDate=1
mtLog_AppCompilationDate0="Compilation Date"
Count mtLog_AppUpTime=1
mtLog_AppUpTime0="Up Time"
Count mtLog_ExcHeader=1
mtLog_ExcHeader0="Exception"
Count mtLog_ExcDate=1
mtLog_ExcDate0="Date"
Count mtLog_ExcAddress=1
mtLog_ExcAddress0="Address"
Count mtLog_ExcModuleName=1
mtLog_ExcModuleName0="Module Name"
Count mtLog_ExcModuleVersion=1
mtLog_ExcModuleVersion0="Module Version"
Count mtLog_ExcType=1
mtLog_ExcType0="Type"
Count mtLog_ExcMessage=1
mtLog_ExcMessage0="Message"
Count mtLog_ExcID=1
mtLog_ExcID0="ID"
Count mtLog_ExcCount=1
mtLog_ExcCount0="Count"
Count mtLog_ExcStatus=1
mtLog_ExcStatus0="Status"
Count mtLog_ExcNote=1
mtLog_ExcNote0="Note"
Count mtLog_UserHeader=1
mtLog_UserHeader0="User"
Count mtLog_UserID=1
mtLog_UserID0="ID"
Count mtLog_UserName=1
mtLog_UserName0="Name"
Count mtLog_UserEmail=1
mtLog_UserEmail0="Email"
Count mtLog_UserCompany=1
mtLog_UserCompany0="Company"
Count mtLog_UserPrivileges=1
mtLog_UserPrivileges0="Privileges"
Count mtLog_ActCtrlsHeader=1
mtLog_ActCtrlsHeader0="Active Controls"
Count mtLog_ActCtrlsFormClass=1
mtLog_ActCtrlsFormClass0="Form Class"
Count mtLog_ActCtrlsFormText=1
mtLog_ActCtrlsFormText0="Form Text"
Count mtLog_ActCtrlsControlClass=1
mtLog_ActCtrlsControlClass0="Control Class"
Count mtLog_ActCtrlsControlText=1
mtLog_ActCtrlsControlText0="Control Text"
Count mtLog_CmpHeader=1
mtLog_CmpHeader0="Computer"
Count mtLog_CmpName=1
mtLog_CmpName0="Name"
Count mtLog_CmpTotalMemory=1
mtLog_CmpTotalMemory0="Total Memory"
Count mtLog_CmpFreeMemory=1
mtLog_CmpFreeMemory0="Free Memory"
Count mtLog_CmpTotalDisk=1
mtLog_CmpTotalDisk0="Total Disk"
Count mtLog_CmpFreeDisk=1
mtLog_CmpFreeDisk0="Free Disk"
Count mtLog_CmpSystemUpTime=1
mtLog_CmpSystemUpTime0="System Up Time"
Count mtLog_CmpProcessor=1
mtLog_CmpProcessor0="Processor"
Count mtLog_CmpDisplayMode=1
mtLog_CmpDisplayMode0="Display Mode"
Count mtLog_CmpDisplayDPI=1
mtLog_CmpDisplayDPI0="Display DPI"
Count mtLog_CmpVideoCard=1
mtLog_CmpVideoCard0="Video Card"
Count mtLog_CmpPrinter=1
mtLog_CmpPrinter0="Printer"
Count mtLog_OSHeader=1
mtLog_OSHeader0="Operating System"
Count mtLog_OSType=1
mtLog_OSType0="Type"
Count mtLog_OSBuildN=1
mtLog_OSBuildN0="Build #"
Count mtLog_OSUpdate=1
mtLog_OSUpdate0="Update"
Count mtLog_OSLanguage=1
mtLog_OSLanguage0="Language"
Count mtLog_OSCharset=1
mtLog_OSCharset0="Charset"
Count mtLog_NetHeader=1
mtLog_NetHeader0="Network"
Count mtLog_NetIP=1
mtLog_NetIP0="IP Address"
Count mtLog_NetSubmask=1
mtLog_NetSubmask0="Submask"
Count mtLog_NetGateway=1
mtLog_NetGateway0="Gateway"
Count mtLog_NetDNS1=1
mtLog_NetDNS10="DNS 1"
Count mtLog_NetDNS2=1
mtLog_NetDNS20="DNS 2"
Count mtLog_NetDHCP=1
mtLog_NetDHCP0="DHCP"
Count mtLog_CustInfoHeader=1
mtLog_CustInfoHeader0="Custom Information"
Count mtCallStack_Address=1
mtCallStack_Address0="Address"
Count mtCallStack_Name=1
mtCallStack_Name0="Module"
Count mtCallStack_Unit=1
mtCallStack_Unit0="Unit"
Count mtCallStack_Class=1
mtCallStack_Class0="Class"
Count mtCallStack_Procedure=1
mtCallStack_Procedure0="Procedure/Method"
Count mtCallStack_Line=1
mtCallStack_Line0="Line"
Count mtCallStack_MainThread=1
mtCallStack_MainThread0="Main"
Count mtCallStack_ExceptionThread=1
mtCallStack_ExceptionThread0="Exception Thread"
Count mtCallStack_RunningThread=1
mtCallStack_RunningThread0="Running Thread"
Count mtCallStack_CallingThread=1
mtCallStack_CallingThread0="Calling Thread"
Count mtCallStack_ThreadID=1
mtCallStack_ThreadID0="ID"
Count mtCallStack_ThreadPriority=1
mtCallStack_ThreadPriority0="Priority"
Count mtCallStack_ThreadClass=1
mtCallStack_ThreadClass0="Class"
Count mtCallStack_LeakCaption=1
mtCallStack_LeakCaption0="Memory Leak"
Count mtCallStack_LeakData=1
mtCallStack_LeakData0="Data"
Count mtCallStack_LeakType=1
mtCallStack_LeakType0="Type"
Count mtCallStack_LeakSize=1
mtCallStack_LeakSize0="Total size"
Count mtCallStack_LeakCount=1
mtCallStack_LeakCount0="Count"
Count mtSendDialog_Caption=1
mtSendDialog_Caption0="Send."
Count mtSendDialog_Message=1
mtSendDialog_Message0="Message"
Count mtSendDialog_Resolving=1
mtSendDialog_Resolving0="Resolving DNS..."
Count mtSendDialog_Login=1
mtSendDialog_Login0="Login..."
Count mtSendDialog_Connecting=1
mtSendDialog_Connecting0="Connecting with server..."
Count mtSendDialog_Connected=1
mtSendDialog_Connected0="Connected with server."
Count mtSendDialog_Sending=1
mtSendDialog_Sending0="Sending message..."
Count mtSendDialog_Sent=1
mtSendDialog_Sent0="Message sent."
Count mtSendDialog_SelectProject=1
mtSendDialog_SelectProject0="Select project..."
Count mtSendDialog_Searching=1
mtSendDialog_Searching0="Searching..."
Count mtSendDialog_Modifying=1
mtSendDialog_Modifying0="Modifying..."
Count mtSendDialog_Disconnecting=1
mtSendDialog_Disconnecting0="Disconnecting..."
Count mtSendDialog_Disconnected=1
mtSendDialog_Disconnected0="Disconnected."
Count mtReproduceDialog_Caption=1
mtReproduceDialog_Caption0="Request"
Count mtReproduceDialog_Request=1
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
Count mtReproduceDialog_OKButtonCaption=1
mtReproduceDialog_OKButtonCaption0="%26OK"
Count mtModules_Handle=1
mtModules_Handle0="Handle"
Count mtModules_Name=1
mtModules_Name0="Name"
Count mtModules_Description=1
mtModules_Description0="Description"
Count mtModules_Version=1
mtModules_Version0="Version"
Count mtModules_Size=1
mtModules_Size0="Size"
Count mtModules_LastModified=1
mtModules_LastModified0="Modified"
Count mtModules_Path=1
mtModules_Path0="Path"
Count mtProcesses_ID=1
mtProcesses_ID0="ID"
Count mtProcesses_Name=1
mtProcesses_Name0="Name"
Count mtProcesses_Description=1
mtProcesses_Description0="Description"
Count mtProcesses_Version=1
mtProcesses_Version0="Version"
Count mtProcesses_Memory=1
mtProcesses_Memory0="Memory"
Count mtProcesses_Priority=1
mtProcesses_Priority0="Priority"
Count mtProcesses_Threads=1
mtProcesses_Threads0="Threads"
Count mtProcesses_Path=1
mtProcesses_Path0="Path"
Count mtCPU_Registers=1
mtCPU_Registers0="Registers"
Count mtCPU_Stack=1
mtCPU_Stack0="Stack"
Count mtCPU_MemoryDump=1
mtCPU_MemoryDump0="Memory Dump"
Count mtSend_SuccessMsg=1
mtSend_SuccessMsg0="The message was sent successfully."
Count mtSend_FailureMsg=1
mtSend_FailureMsg0="Sorry, sending the message didn't work."
Count mtSend_BugClosedMsg=2
mtSend_BugClosedMsg0="These BUG is just closed."
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
Count mtSend_UnknownErrorMsg=1
mtSend_UnknownErrorMsg0="Unknown error."
Count mtSend_InvalidLoginMsg=1
mtSend_InvalidLoginMsg0="Invalid login request."
Count mtSend_InvalidSearchMsg=1
mtSend_InvalidSearchMsg0="Invalid search request."
Count mtSend_InvalidSelectionMsg=1
mtSend_InvalidSelectionMsg0="Invalid selection request."
Count mtSend_InvalidInsertMsg=1
mtSend_InvalidInsertMsg0="Invalid insert request."
Count mtSend_InvalidModifyMsg=1
mtSend_InvalidModifyMsg0="Invalid modify request."
Count mtFileCrackedMsg=2
mtFileCrackedMsg0="This file is cracked."
mtFileCrackedMsg1="The application will be closed."
Count mtException_LeakMultiFree=1
mtException_LeakMultiFree0="Multi Free memory leak."
Count mtException_LeakMemoryOverrun=1
mtException_LeakMemoryOverrun0="Memory Overrun leak."
Count mtException_AntiFreeze=1
mtException_AntiFreeze0="The application seems to be frozen."
Count mtInvalidEmailMsg=1
mtInvalidEmailMsg0="Invalid email."
TextsCollection=English
EurekaLog Last Line -->

View File

@ -17,4 +17,4 @@ END
/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Views\uEditorEmpresa.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Views\uEditorEmpresa.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Views\uEditorDatosBancariosEmpresa.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Views\uEditorDatosBancariosEmpresa.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Empresas\Views\Empresas_view.res */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Views\Empresas_view.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf213.tmp */ /* C:\Codigo Tecsitel\Source\Modulos\Empresas\Views\Empresas_view.drf */

View File

@ -32,7 +32,6 @@ type
function ValidarFormaPago(AFormaPago: IBizFormaPago): Boolean; function ValidarFormaPago(AFormaPago: IBizFormaPago): Boolean;
procedure AsignarDataModule; procedure AsignarDataModule;
procedure AsignarID(AFormaPago: IBizFormaPago; const IDNuevo: Integer);
public public
constructor Create; virtual; constructor Create; virtual;
@ -70,25 +69,6 @@ begin
FDataModule := TDataModuleFormasPago.Create(Nil); FDataModule := TDataModuleFormasPago.Create(Nil);
end; end;
procedure TFormasPagoController.AsignarID(AFormaPago: IBizFormaPago;
const IDNuevo: Integer);
begin
if not Assigned(AFormaPago) then
raise Exception.Create ('Forma de pago no asignada');
{ Los plazos hay que comprobarlos siempre
tanto en inserción como en modificación. }
if Assigned(AFormaPago.Plazos) then
FPlazosController.AsignarID(AFormaPago.Plazos, IDNuevo, AFormaPago.EsNuevo);
if AFormaPago.EsNuevo then
begin
AFormaPago.Edit;
AFormaPago.ID := IDNuevo;
AFormaPago.Post;
end;
end;
function TFormasPagoController.Buscar(ID: Integer): IBizFormaPago; function TFormasPagoController.Buscar(ID: Integer): IBizFormaPago;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
@ -184,11 +164,6 @@ begin
if Length(AFormaPago.DESCRIPCION) = 0 then if Length(AFormaPago.DESCRIPCION) = 0 then
raise Exception.Create('Debe indicar una descripción para esta forma de pago.'); raise Exception.Create('Debe indicar una descripción para esta forma de pago.');
if not Assigned(AFormaPago.Plazos)
or (AFormaPago.Plazos.RecordCount = 0) then
if (ShowConfirmMessage('¿La forma de pago no tiene plazos establecidos, por lo tanto no se generarán recibos para facturas con esta forma de pago, ¿desea continuar?', '') = IDNO) then
Exit;
Result := True; Result := True;
end; end;
@ -266,8 +241,6 @@ begin
end; end;
function TFormasPagoController.Guardar(AFormaPago: IBizFormaPago): Boolean; function TFormasPagoController.Guardar(AFormaPago: IBizFormaPago): Boolean;
var
NuevoID : Integer;
begin begin
Result := False; Result := False;
@ -275,14 +248,7 @@ begin
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
if AFormaPago.EsNuevo then
NuevoID := FDataModule.GetNextID(AFormaPago.DataTable.LogicalName)
else
NuevoID := AFormaPago.ID;
AsignarID(AFormaPago, NuevoID);
AFormaPago.DataTable.ApplyUpdates; AFormaPago.DataTable.ApplyUpdates;
Result := True; Result := True;
finally finally
HideHourglassCursor; HideHourglassCursor;

View File

@ -9,14 +9,12 @@ uses
type type
IFormasPagoPlazosController = interface IFormasPagoPlazosController = interface
['{3FCE2A31-9783-45F9-96D6-1157165AB8DB}'] ['{3FCE2A31-9783-45F9-96D6-1157165AB8DB}']
procedure AsignarID(ADetalles: IBizFormaPagoPlazos; IDCabecera: Integer; AEsNuevo:Boolean);
end; end;
TFormasPagoPlazosController = class(TInterfacedObject, IFormasPagoPlazosController) TFormasPagoPlazosController = class(TInterfacedObject, IFormasPagoPlazosController)
private private
FDataModule : IDataModuleFormasPago; FDataModule : IDataModuleFormasPago;
public public
procedure AsignarID(ADetalles: IBizFormaPagoPlazos; IDCabecera: Integer; AEsNuevo:Boolean);
constructor Create; virtual; constructor Create; virtual;
destructor Destroy; override; destructor Destroy; override;
end; end;
@ -29,75 +27,6 @@ uses
uDataModuleFormasPago, uEditorRegistryUtils, uDataModuleFormasPago, uEditorRegistryUtils,
cxControls, schFormasPagoClient_Intf; cxControls, schFormasPagoClient_Intf;
procedure TFormasPagoPlazosController.AsignarID(
ADetalles: IBizFormaPagoPlazos; IDCabecera: Integer;
AEsNuevo: Boolean);
begin
with ADetalles do
begin
DataTable.DisableControls;
try
if not DataTable.Active then
DataTable.Active := True;
// AuxPosicion := POSICION;
{ ¡¡¡¡ OJO !!!!
Para asignar el ID en los detalles hay
que tener en cuenta una cosa:
Si se cambia el ID, ese detalle ya no
pertenece a esa cabecera porque ya no se
cumple la condición de la relacion:
Master.ID = Detail.ID_PRESUPUESTO.
Por esa razón no sirve hacer un recorrido
desde el principio hasta el final porque
las detalles van desapareciendo según asignamos
el valor al campo ID y nos mueve aleatoriamente
la posición del registro actual.
Es mejor hacer un bucle sencillo hasta que
"se gasten" todos los detalles. Cuando el
RecordCount llegue a 0 quiere decir que hemos
tratado todos los detalles.
El bucle cambia en el caso de ser llamada esta funcion desde modificar
un presupuesto ya que en ese caso si que hay que hacer un recorrido
total de las tuplas de detalle.
}
if AEsNuevo then
begin
while RecordCount > 0 do
begin
DataTable.First;
Edit;
ID := FDataModule.GetNextID(DataTable.LogicalName);
ID_FORMA_PAGO := IDCabecera;
Post
end
end
else
begin
DataTable.First;
while not DataTable.EOF do
begin
if ADetalles.EsNuevo then
begin
Edit;
ID := FDataModule.GetNextID(DataTable.LogicalName);
ID_FORMA_PAGO := IDCabecera;
Post
end;
DataTable.Next
end;
end;
finally
DataTable.EnableControls;
end;
end;
end;
constructor TFormasPagoPlazosController.Create; constructor TFormasPagoPlazosController.Create;
begin begin
inherited; inherited;

View File

@ -29,9 +29,10 @@ object DataModuleFormasPago: TDataModuleFormasPago
Fields = < Fields = <
item item
Name = 'ID' Name = 'ID'
DataType = datInteger DataType = datAutoInc
GeneratorName = 'GEN_FORMAS_PAGO_ID'
Required = True Required = True
DisplayLabel = 'FormasPago_ID' ServerAutoRefresh = True
DictionaryEntry = 'FormasPago_ID' DictionaryEntry = 'FormasPago_ID'
InPrimaryKey = True InPrimaryKey = True
end end
@ -46,7 +47,7 @@ object DataModuleFormasPago: TDataModuleFormasPago
Name = 'DESCRIPCION' Name = 'DESCRIPCION'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Descripci'#195#179'n' DisplayLabel = 'Descripci'#243'n'
DictionaryEntry = 'FormasPago_DESCRIPCION' DictionaryEntry = 'FormasPago_DESCRIPCION'
end end
item item
@ -60,14 +61,14 @@ object DataModuleFormasPago: TDataModuleFormasPago
Name = 'ENTIDAD' Name = 'ENTIDAD'
DataType = datString DataType = datString
Size = 15 Size = 15
DisplayLabel = 'C'#195#179'd. Entidad' DisplayLabel = 'C'#243'd. Entidad'
DictionaryEntry = 'FormasPago_ENTIDAD' DictionaryEntry = 'FormasPago_ENTIDAD'
end end
item item
Name = 'SUCURSAL' Name = 'SUCURSAL'
DataType = datString DataType = datString
Size = 15 Size = 15
DisplayLabel = 'C'#195#179'd. Sucusal' DisplayLabel = 'C'#243'd. Sucusal'
DictionaryEntry = 'FormasPago_SUCURSAL' DictionaryEntry = 'FormasPago_SUCURSAL'
end end
item item
@ -80,7 +81,7 @@ object DataModuleFormasPago: TDataModuleFormasPago
Name = 'CUENTA' Name = 'CUENTA'
DataType = datString DataType = datString
Size = 15 Size = 15
DisplayLabel = 'C'#195#179'd. Cuenta' DisplayLabel = 'C'#243'd. Cuenta'
DictionaryEntry = 'FormasPago_CUENTA' DictionaryEntry = 'FormasPago_CUENTA'
end> end>
Params = <> Params = <>
@ -103,9 +104,11 @@ object DataModuleFormasPago: TDataModuleFormasPago
Fields = < Fields = <
item item
Name = 'ID' Name = 'ID'
DataType = datInteger DataType = datAutoInc
GeneratorName = 'GEN_FORMAS_PAGO_PLAZOS_ID'
Required = True Required = True
DisplayLabel = 'FormasPagoPlazos_ID' DisplayLabel = 'FormasPagoPlazos_ID'
ServerAutoRefresh = True
DictionaryEntry = 'FormasPagoPlazos_ID' DictionaryEntry = 'FormasPagoPlazos_ID'
InPrimaryKey = True InPrimaryKey = True
end end
@ -119,7 +122,7 @@ object DataModuleFormasPago: TDataModuleFormasPago
item item
Name = 'NUM_DIAS' Name = 'NUM_DIAS'
DataType = datSmallInt DataType = datSmallInt
DisplayLabel = 'Num. d'#195#173'as' DisplayLabel = 'Num. d'#237'as'
DictionaryEntry = 'FormasPagoPlazos_NUM_DIAS' DictionaryEntry = 'FormasPagoPlazos_NUM_DIAS'
end end
item item

View File

@ -22,11 +22,9 @@ type
ds_FormasPagoPlazos: TDADataSource; ds_FormasPagoPlazos: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject); procedure DAClientDataModuleCreate(Sender: TObject);
protected protected
function DarNombreGenerador(DataSetName: String): String; virtual;
function _GetPlazos: IBizFormaPagoPlazos; function _GetPlazos: IBizFormaPagoPlazos;
public public
function GetItems: IBizFormaPago; function GetItems: IBizFormaPago;
function GetNextID(const DataSetName : String) : Integer;
end; end;
implementation implementation
@ -45,24 +43,6 @@ begin
RORemoteService.Message := dmConexion.Message; RORemoteService.Message := dmConexion.Message;
end; end;
function TDataModuleFormasPago.DarNombreGenerador(DataSetName: String): String;
begin
Result := '';
if DataSetName = nme_FormasPago then
Result := 'GEN_FORMAS_PAGO_ID'
else
if DataSetName = nme_FormasPagoPlazos then
Result := 'GEN_FORMAS_PAGO_PLAZOS_ID';
end;
function TDataModuleFormasPago.GetNextID(const DataSetName: String): Integer;
var
aGeneratorName : String;
begin
aGeneratorName := DarNombreGenerador(DataSetName);
Result := (RORemoteService as IsrvFormasPago).GetNextAutoInc(aGeneratorName)
end;
function TDataModuleFormasPago._GetPlazos: IBizFormaPagoPlazos; function TDataModuleFormasPago._GetPlazos: IBizFormaPagoPlazos;
var var
APlazos : TDAMemDataTable; APlazos : TDAMemDataTable;

View File

@ -9,7 +9,6 @@ type
IDataModuleFormasPago = interface IDataModuleFormasPago = interface
['{CC6A63E1-2AF2-40E5-B6DC-46CC1549AA56}'] ['{CC6A63E1-2AF2-40E5-B6DC-46CC1549AA56}']
function GetItems: IBizFormaPago; function GetItems: IBizFormaPago;
function GetNextID(const DataSetName : String) : Integer;
end; end;
implementation implementation

View File

@ -40,7 +40,7 @@
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType> <Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="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 Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">FormasPago_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">True</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 Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">FormasPago_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions> </ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" /> <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup> <ItemGroup>
@ -61,7 +61,6 @@
<DCCReference Include="vcldb.dcp" /> <DCCReference Include="vcldb.dcp" />
</ItemGroup> </ItemGroup>
</Project> </Project>
<!-- EurekaLog First Line <!-- EurekaLog First Line
[Exception Log] [Exception Log]
EurekaLog Version=6006 EurekaLog Version=6006

View File

@ -9,8 +9,8 @@ const
{ Data table rules ids { Data table rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_FormasPago = '{7AA44422-E1DE-46E8-BFA3-8A51C7909022}'; RID_FormasPago = '{0AC9176F-E9B6-43BA-B03E-0973D7074140}';
RID_FormasPagoPlazos = '{C6170BA7-92D3-4C6E-BEBB-E5BD6CBE6EBB}'; RID_FormasPagoPlazos = '{F02E8B61-F06F-48FE-B705-0C42FB672FB5}';
{ Data table names } { Data table names }
nme_FormasPago = 'FormasPago'; nme_FormasPago = 'FormasPago';
@ -51,7 +51,7 @@ const
type type
{ IFormasPago } { IFormasPago }
IFormasPago = interface(IDAStronglyTypedDataTable) IFormasPago = interface(IDAStronglyTypedDataTable)
['{8CFB0854-EC5C-4B34-8EAC-094BDEF80B2B}'] ['{2906012F-51D2-4722-A42A-1A1F0B5F5DA3}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -170,7 +170,7 @@ type
{ IFormasPagoPlazos } { IFormasPagoPlazos }
IFormasPagoPlazos = interface(IDAStronglyTypedDataTable) IFormasPagoPlazos = interface(IDAStronglyTypedDataTable)
['{E3A8EE0D-2DC3-4DA4-B787-0F2A3CE92E12}'] ['{6C99169B-3B96-4E95-9886-BFBDAF1C5836}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);

View File

@ -9,13 +9,13 @@ const
{ Delta rules ids { Delta rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_FormasPagoDelta = '{6F9313D8-1628-4F70-B56D-3009B221E383}'; RID_FormasPagoDelta = '{3B5575C3-8103-4890-A2BF-8B93698E666B}';
RID_FormasPagoPlazosDelta = '{D8BC2633-E3BB-4F33-B29D-ADB9B2822B83}'; RID_FormasPagoPlazosDelta = '{E0326434-91CF-4E0E-B620-9C98B3FF28EA}';
type type
{ IFormasPagoDelta } { IFormasPagoDelta }
IFormasPagoDelta = interface(IFormasPago) IFormasPagoDelta = interface(IFormasPago)
['{6F9313D8-1628-4F70-B56D-3009B221E383}'] ['{3B5575C3-8103-4890-A2BF-8B93698E666B}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldREFERENCIAValue : String; function GetOldREFERENCIAValue : String;
@ -133,7 +133,7 @@ type
{ IFormasPagoPlazosDelta } { IFormasPagoPlazosDelta }
IFormasPagoPlazosDelta = interface(IFormasPagoPlazos) IFormasPagoPlazosDelta = interface(IFormasPagoPlazos)
['{D8BC2633-E3BB-4F33-B29D-ADB9B2822B83}'] ['{E0326434-91CF-4E0E-B620-9C98B3FF28EA}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_FORMA_PAGOValue : Integer; function GetOldID_FORMA_PAGOValue : Integer;

View File

@ -76,7 +76,7 @@ end;
procedure TBizFormaPago.OnNewRecord(Sender: TDADataTable); procedure TBizFormaPago.OnNewRecord(Sender: TDADataTable);
begin begin
inherited; inherited;
ID := GetRecNo; // -1, -2, -3... // Eliminar ID := GetRecNo; // -1, -2, -3...
IniciarValoresFormaPagoNueva; IniciarValoresFormaPagoNueva;
end; end;

View File

@ -54,7 +54,7 @@ end;
procedure TBizFormasPagoPlazos.OnNewRecord(Sender: TDADataTable); procedure TBizFormasPagoPlazos.OnNewRecord(Sender: TDADataTable);
begin begin
inherited; inherited;
ID := GetRecNo; // -1, -2, -3... // Eliminar ID := GetRecNo; // -1, -2, -3...
IniciarValoresPlazoNuevo IniciarValoresPlazoNuevo
end; end;

View File

@ -8,23 +8,17 @@ object srvFormasPago: TsrvFormasPago
ExportedDataTables = <> ExportedDataTables = <>
BeforeAcquireConnection = DataAbstractServiceBeforeAcquireConnection BeforeAcquireConnection = DataAbstractServiceBeforeAcquireConnection
Height = 202 Height = 202
Width = 392 Width = 247
object Diagrams: TDADiagrams object Diagrams: TDADiagrams
Left = 150 Left = 150
Top = 90 Top = 90
DiagramData = DiagramData =
'<Diagrams>'#13#10' <Diagram Name="New Diagram" Left="200" Top="200" W' + '<Diagrams>'#13#10' <Diagram Name="New Diagram" Left="200" Top="200" W' +
'idth="400" Height="300">'#13#10' <Entity Name="FormasPagoPlazos" Le' + 'idth="400" Height="300">'#13#10' <Entity Name="FormasPago" Left="0,' +
'ft="215,00" Top="48,00" />'#13#10' <Entity Name="FormasPago" Left="' + '00" Top="0,00" />'#13#10' </Diagram>'#13#10'</Diagrams>'#13#10
'0,00" Top="0,00" />'#13#10' </Diagram>'#13#10'</Diagrams>'#13#10
end end
object DataDictionary: TDADataDictionary object DataDictionary: TDADataDictionary
Fields = < Fields = <
item
Name = 'FormasPago_ID'
DataType = datInteger
Required = True
end
item item
Name = 'FormasPago_REFERENCIA' Name = 'FormasPago_REFERENCIA'
DataType = datString DataType = datString
@ -67,16 +61,6 @@ object srvFormasPago: TsrvFormasPago
Size = 15 Size = 15
DisplayLabel = 'C'#243'd. Cuenta' DisplayLabel = 'C'#243'd. Cuenta'
end end
item
Name = 'FormasPagoPlazos_ID'
DataType = datInteger
Required = True
end
item
Name = 'FormasPagoPlazos_ID_FORMA_PAGO'
DataType = datInteger
Required = True
end
item item
Name = 'FormasPagoPlazos_NUM_DIAS' Name = 'FormasPagoPlazos_NUM_DIAS'
DataType = datSmallInt DataType = datSmallInt
@ -87,6 +71,26 @@ object srvFormasPago: TsrvFormasPago
DataType = datFloat DataType = datFloat
DisplayLabel = '% aplazado' DisplayLabel = '% aplazado'
Alignment = taRightJustify Alignment = taRightJustify
end
item
Name = 'FormasPagoPlazos_ID'
DataType = datAutoInc
GeneratorName = 'GEN_FORMAS_PAGO_PLAZOS_ID'
Required = True
ServerAutoRefresh = True
end
item
Name = 'FormasPagoPlazos_ID_FORMA_PAGO'
DataType = datInteger
Required = True
end
item
Name = 'FormasPago_ID'
DataType = datAutoInc
GeneratorName = 'GEN_FORMAS_PAGO_ID'
Required = True
DisplayLabel = 'ID'
ServerAutoRefresh = True
end> end>
Left = 150 Left = 150
Top = 24 Top = 24
@ -141,7 +145,9 @@ object srvFormasPago: TsrvFormasPago
Fields = < Fields = <
item item
Name = 'ID' Name = 'ID'
DataType = datInteger DataType = datAutoInc
GeneratorName = 'GEN_FORMAS_PAGO_ID'
ServerAutoRefresh = True
DictionaryEntry = 'FormasPago_ID' DictionaryEntry = 'FormasPago_ID'
InPrimaryKey = True InPrimaryKey = True
end end
@ -217,7 +223,9 @@ object srvFormasPago: TsrvFormasPago
Fields = < Fields = <
item item
Name = 'ID' Name = 'ID'
DataType = datInteger DataType = datAutoInc
GeneratorName = 'GEN_FORMAS_PAGO_PLAZOS_ID'
ServerAutoRefresh = True
DictionaryEntry = 'FormasPagoPlazos_ID' DictionaryEntry = 'FormasPagoPlazos_ID'
InPrimaryKey = True InPrimaryKey = True
end end
@ -239,263 +247,7 @@ object srvFormasPago: TsrvFormasPago
end> end>
JoinDataTables = <> JoinDataTables = <>
UnionDataTables = <> UnionDataTables = <>
Commands = < Commands = <>
item
Params = <
item
Name = 'ID'
DataType = datInteger
Value = ''
ParamType = daptInput
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
Value = ''
ParamType = daptInput
end
item
Name = 'DESCRIPCION'
DataType = datString
Size = 255
Value = ''
ParamType = daptInput
end
item
Name = 'TITULAR'
DataType = datString
Size = 255
Value = ''
ParamType = daptInput
end
item
Name = 'ENTIDAD'
DataType = datString
Size = 15
Value = ''
ParamType = daptInput
end
item
Name = 'SUCURSAL'
DataType = datString
Size = 15
Value = ''
ParamType = daptInput
end
item
Name = 'DC'
DataType = datString
Size = 15
Value = ''
ParamType = daptInput
end
item
Name = 'CUENTA'
DataType = datString
Size = 15
Value = ''
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
TargetTable = 'FORMAS_PAGO'
SQL =
'INSERT'#10' INTO FORMAS_PAGO'#10' (ID, REFERENCIA, DESCRIPCION, TITU' +
'LAR, ENTIDAD, SUCURSAL, '#10' DC, CUENTA)'#10' VALUES'#10' (:ID, :RE' +
'FERENCIA, :DESCRIPCION, :TITULAR, :ENTIDAD, '#10' :SUCURSAL, :DC' +
', :CUENTA)'
StatementType = stSQL
ColumnMappings = <>
end>
Name = 'Insert_FormasPago'
end
item
Params = <
item
Name = 'OLD_ID'
DataType = datInteger
Value = ''
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
TargetTable = 'FORMAS_PAGO'
SQL = 'DELETE '#10' FROM'#10' FORMAS_PAGO'#10' WHERE'#10' (ID = :OLD_ID)'
StatementType = stSQL
ColumnMappings = <>
end>
Name = 'Delete_FormasPago'
end
item
Params = <
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
Value = ''
ParamType = daptInput
end
item
Name = 'DESCRIPCION'
DataType = datString
Size = 255
Value = ''
ParamType = daptInput
end
item
Name = 'TITULAR'
DataType = datString
Size = 255
Value = ''
ParamType = daptInput
end
item
Name = 'ENTIDAD'
DataType = datString
Size = 15
Value = ''
ParamType = daptInput
end
item
Name = 'SUCURSAL'
DataType = datString
Size = 15
Value = ''
ParamType = daptInput
end
item
Name = 'DC'
DataType = datString
Size = 15
Value = ''
ParamType = daptInput
end
item
Name = 'CUENTA'
DataType = datString
Size = 15
Value = ''
ParamType = daptInput
end
item
Name = 'OLD_ID'
DataType = datInteger
Value = ''
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
TargetTable = 'FORMAS_PAGO'
SQL =
'UPDATE FORMAS_PAGO'#10' SET '#10' REFERENCIA = :REFERENCIA,'#10' DESC' +
'RIPCION = :DESCRIPCION, '#10' TITULAR = :TITULAR, '#10' ENTIDAD = ' +
':ENTIDAD, '#10' SUCURSAL = :SUCURSAL, '#10' DC = :DC, '#10' CUENTA ' +
'= :CUENTA'#10' WHERE'#10' (ID = :OLD_ID)'
StatementType = stSQL
ColumnMappings = <>
end>
Name = 'Update_FormasPago'
end
item
Params = <
item
Name = 'ID'
DataType = datInteger
Value = ''
ParamType = daptInput
end
item
Name = 'ID_FORMA_PAGO'
DataType = datInteger
Value = ''
ParamType = daptInput
end
item
Name = 'NUM_DIAS'
DataType = datInteger
Value = ''
ParamType = daptInput
end
item
Name = 'PORCENTAJE'
DataType = datFloat
Value = ''
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
TargetTable = 'FORMAS_PAGO_PLAZOS'
SQL =
'INSERT'#10' INTO FORMAS_PAGO_PLAZOS'#10' (ID, ID_FORMA_PAGO, NUM_DIA' +
'S, PORCENTAJE)'#10' VALUES'#10' (:ID, :ID_FORMA_PAGO, :NUM_DIAS, :PO' +
'RCENTAJE)'
StatementType = stSQL
ColumnMappings = <>
end>
Name = 'Insert_FormasPagoPlazos'
end
item
Params = <
item
Name = 'OLD_ID'
DataType = datInteger
Value = ''
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
TargetTable = 'FORMAS_PAGO_PLAZOS'
SQL = 'DELETE '#10' FROM'#10' FORMAS_PAGO_PLAZOS'#10' WHERE'#10' (ID = :OLD_ID)'
StatementType = stSQL
ColumnMappings = <>
end>
Name = 'Delete_FormasPagoPlazos'
end
item
Params = <
item
Name = 'ID_FORMA_PAGO'
DataType = datInteger
Value = ''
ParamType = daptInput
end
item
Name = 'NUM_DIAS'
DataType = datInteger
Value = ''
ParamType = daptInput
end
item
Name = 'PORCENTAJE'
DataType = datFloat
Value = ''
ParamType = daptInput
end
item
Name = 'OLD_ID'
DataType = datInteger
Value = ''
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
TargetTable = 'FORMAS_PAGO_PLAZOS'
SQL =
'UPDATE FORMAS_PAGO_PLAZOS'#10' SET '#10' ID_FORMA_PAGO = :ID_FORMA_P' +
'AGO,'#10' NUM_DIAS = :NUM_DIAS, '#10' PORCENTAJE = :PORCENTAJE'#10' W' +
'HERE'#10' (ID = :OLD_ID)'
StatementType = stSQL
ColumnMappings = <>
end>
Name = 'Update_FormasPagoPlazos'
end>
RelationShips = < RelationShips = <
item item
Name = 'FK_FormasPagoPlazos_FormasPago' Name = 'FK_FormasPagoPlazos_FormasPago'
@ -503,35 +255,55 @@ object srvFormasPago: TsrvFormasPago
MasterFields = 'ID' MasterFields = 'ID'
DetailDatasetName = 'FormasPagoPlazos' DetailDatasetName = 'FormasPagoPlazos'
DetailFields = 'ID_FORMA_PAGO' DetailFields = 'ID_FORMA_PAGO'
RelationshipType = rtForeignKey RelationshipType = rtMasterDetail
end>
UpdateRules = <
item
Name = 'Insert FormasPago'
DoUpdate = False
DoDelete = False
DatasetName = 'FormasPago'
FailureBehavior = fbRaiseException
end
item
Name = 'Insert FormasPagoPlazos'
DoUpdate = False
DoDelete = False
DatasetName = 'FormasPagoPlazos'
FailureBehavior = fbRaiseException
end
item
Name = 'Update FormasPago'
DoInsert = False
DoDelete = False
DatasetName = 'FormasPago'
FailureBehavior = fbRaiseException
end
item
Name = 'Update FormasPagoPlazos'
DoInsert = False
DoDelete = False
DatasetName = 'FormasPagoPlazos'
FailureBehavior = fbRaiseException
end
item
Name = 'Delete FormasPagoPlazos'
DoUpdate = False
DoInsert = False
DatasetName = 'FormasPagoPlazos'
FailureBehavior = fbRaiseException
end
item
Name = 'Delete FormasPago'
DoUpdate = False
DoInsert = False
DatasetName = 'FormasPago'
FailureBehavior = fbRaiseException
end> end>
UpdateRules = <>
Version = 0 Version = 0
Left = 48 Left = 48
Top = 24 Top = 24
end end
object bpFormasPagoPlazos: TDABusinessProcessor
Schema = schFormasPago
InsertCommandName = 'Insert_FormasPagoPlazos'
DeleteCommandName = 'Delete_FormasPagoPlazos'
UpdateCommandName = 'Update_FormasPagoPlazos'
ReferencedDataset = 'FormasPagoPlazos'
ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateUpdate, poAutoGenerateDelete, poAutoGenerateRefreshDataset, poPrepareCommands]
UpdateMode = updWhereKeyOnly
Left = 248
Top = 90
end
object bpFormasPago: TDABusinessProcessor
Schema = schFormasPago
InsertCommandName = 'Insert_FormasPago'
DeleteCommandName = 'Delete_FormasPago'
UpdateCommandName = 'Update_FormasPago'
ReferencedDataset = 'FormasPago'
ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateUpdate, poAutoGenerateDelete, poAutoGenerateRefreshDataset, poPrepareCommands]
UpdateMode = updWhereKeyOnly
Left = 248
Top = 24
end
object Bin2DataStreamer: TDABin2DataStreamer object Bin2DataStreamer: TDABin2DataStreamer
Left = 48 Left = 48
Top = 88 Top = 88

View File

@ -22,8 +22,6 @@ type
{ TsrvFormasPago } { TsrvFormasPago }
TsrvFormasPago = class(TDataAbstractService, IsrvFormasPago) TsrvFormasPago = class(TDataAbstractService, IsrvFormasPago)
Diagrams: TDADiagrams; Diagrams: TDADiagrams;
bpFormasPagoPlazos: TDABusinessProcessor;
bpFormasPago: TDABusinessProcessor;
Bin2DataStreamer: TDABin2DataStreamer; Bin2DataStreamer: TDABin2DataStreamer;
schFormasPago: TDASchema; schFormasPago: TDASchema;
DataDictionary: TDADataDictionary; DataDictionary: TDADataDictionary;
@ -32,8 +30,6 @@ type
var aConnectionName: string); var aConnectionName: string);
private private
protected protected
{ IsrvFormasPago methods }
function GetNextAutoInc(const GeneratorName: String): Integer;
end; end;
implementation implementation
@ -60,11 +56,6 @@ begin
ConnectionName := dmServer.ConnectionName; ConnectionName := dmServer.ConnectionName;
end; end;
function TsrvFormasPago.GetNextAutoInc(const GeneratorName: String): Integer;
begin
Result := uDatabaseUtils.GetNextAutoInc(GeneratorName)
end;
initialization initialization
TROClassFactory.Create('srvFormasPago', Create_srvFormasPago, TsrvFormasPago_Invoker); TROClassFactory.Create('srvFormasPago', Create_srvFormasPago, TsrvFormasPago_Invoker);

View File

@ -5,7 +5,7 @@ object fEditorFormaPago: TfEditorFormaPago
BorderIcons = [biSystemMenu] BorderIcons = [biSystemMenu]
BorderStyle = bsSingle BorderStyle = bsSingle
Caption = 'Forma de pago' Caption = 'Forma de pago'
ClientHeight = 309 ClientHeight = 352
ClientWidth = 404 ClientWidth = 404
Color = clBtnFace Color = clBtnFace
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
@ -76,20 +76,20 @@ object fEditorFormaPago: TfEditorFormaPago
end end
object Bevel4: TBevel object Bevel4: TBevel
Left = 8 Left = 8
Top = 245 Top = 290
Width = 388 Width = 388
Height = 10 Height = 10
Shape = bsBottomLine Shape = bsBottomLine
end end
object JvEnterAsTab1: TJvEnterAsTab object JvEnterAsTab1: TJvEnterAsTab
Left = 137 Left = 137
Top = 261 Top = 306
Width = 28 Width = 28
Height = 28 Height = 28
end end
object bAceptar: TButton object bAceptar: TButton
Left = 234 Left = 234
Top = 269 Top = 314
Width = 75 Width = 75
Height = 23 Height = 23
Action = actAceptar Action = actAceptar
@ -97,7 +97,7 @@ object fEditorFormaPago: TfEditorFormaPago
end end
object bCancelar: TButton object bCancelar: TButton
Left = 319 Left = 319
Top = 269 Top = 314
Width = 75 Width = 75
Height = 23 Height = 23
Action = actCancelar Action = actCancelar
@ -144,13 +144,14 @@ object fEditorFormaPago: TfEditorFormaPago
Left = 32 Left = 32
Top = 134 Top = 134
Width = 252 Width = 252
Height = 105 Height = 150
TabOrder = 2 TabOrder = 2
LookAndFeel.Kind = lfStandard LookAndFeel.Kind = lfStandard
LookAndFeel.NativeStyle = True LookAndFeel.NativeStyle = True
object ListaFormasPagoDBTableView1: TcxGridDBTableView object ListaFormasPagoDBTableView1: TcxGridDBTableView
NavigatorButtons.ConfirmDelete = False NavigatorButtons.ConfirmDelete = False
DataController.DataSource = dsPlazos DataController.DataSource = dsPlazos
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
DataController.Summary.DefaultGroupSummaryItems = <> DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <> DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <> DataController.Summary.SummaryGroups = <>
@ -184,7 +185,7 @@ object fEditorFormaPago: TfEditorFormaPago
end end
object ActionList1: TActionList object ActionList1: TActionList
Left = 88 Left = 88
Top = 255 Top = 300
object actAnadir: TAction object actAnadir: TAction
Caption = '&A'#241'adir' Caption = '&A'#241'adir'
OnExecute = actAnadirExecute OnExecute = actAnadirExecute
@ -213,10 +214,10 @@ object fEditorFormaPago: TfEditorFormaPago
end end
object dsFormaPago: TDADataSource object dsFormaPago: TDADataSource
Left = 48 Left = 48
Top = 255 Top = 300
end end
object dsPlazos: TDADataSource object dsPlazos: TDADataSource
Left = 8 Left = 8
Top = 255 Top = 300
end end
end end

View File

@ -34,7 +34,7 @@ uses
JvComponent, JvEnterTab, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, JvComponent, JvEnterTab, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, cxDBData, cxSpinEdit, cxGridCustomTableView, cxDataStorage, cxEdit, cxDBData, cxSpinEdit, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGrid; cxGridCustomView, cxGrid, uDAInterfaces;
type type
TfEditorFormaPago = class(TForm, IEditorFormaPago) TfEditorFormaPago = class(TForm, IEditorFormaPago)
@ -95,7 +95,7 @@ implementation
{ TfEditorFormasPago } { TfEditorFormasPago }
uses uses
uDialogUtils, uDataModuleFormasPago; Dialogs, uDialogUtils, uDataModuleFormasPago;
function TfEditorFormaPago.GetFormaPago: IBizFormaPago; function TfEditorFormaPago.GetFormaPago: IBizFormaPago;
begin begin
@ -153,8 +153,12 @@ end;
procedure TfEditorFormaPago.actAceptarExecute(Sender: TObject); procedure TfEditorFormaPago.actAceptarExecute(Sender: TObject);
begin begin
if (ListaFormasPago.ActiveView.DataController.RecordCount = 0) then
if (ShowConfirmMessage('Forma de pago sin plazos', 'No ha indicado plazos de pago para esta forma de pago por lo tanto no se podrán generarar los recibos correspondientes.' + #10#13 + '¿Desea continuar guardando la forma de pago?') = IDNO) then
Exit;
if FController.Guardar(FFormaPago) then if FController.Guardar(FFormaPago) then
actCerrar.Execute; actCerrar.Execute;
end; end;
procedure TfEditorFormaPago.actCancelarExecute(Sender: TObject); procedure TfEditorFormaPago.actCancelarExecute(Sender: TObject);

View File

@ -44,10 +44,6 @@ object fEditorFormasPago: TfEditorFormasPago
TabOrder = 0 TabOrder = 0
object TabSheet1: TTabSheet object TabSheet1: TTabSheet
Caption = 'Formas de pago' Caption = 'Formas de pago'
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object Label1: TLabel object Label1: TLabel
Left = 6 Left = 6
Top = 12 Top = 12
@ -105,7 +101,7 @@ object fEditorFormasPago: TfEditorFormasPago
Expanded = False Expanded = False
FieldName = 'DESCRIPCION' FieldName = 'DESCRIPCION'
Title.Caption = 'Descripci'#243'n' Title.Caption = 'Descripci'#243'n'
Width = 151 Width = 154
Visible = True Visible = True
end> end>
end end

View File

@ -28,7 +28,7 @@ interface
uses uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
uIEditorFormasPago, uBizFormasPago, uFormasPagoController, DB, uDADataTable, uIEditorFormasPago, uBizFormasPago, uFormasPagoController, DB, uDADataTable,
ActnList, Grids, DBGrids, StdCtrls, ComCtrls; ActnList, Grids, DBGrids, StdCtrls, ComCtrls, uDAInterfaces;
type type
TfEditorFormasPago = class(TForm, IEditorFormasPago) TfEditorFormasPago = class(TForm, IEditorFormasPago)

View File

@ -54,7 +54,6 @@ type
function _Vacio : IBizTipoIVA; function _Vacio : IBizTipoIVA;
function ValidarTipoIVA(ATipoIVA: IBizTipoIVA): Boolean; function ValidarTipoIVA(ATipoIVA: IBizTipoIVA): Boolean;
procedure AsignarDataModule; procedure AsignarDataModule;
procedure AsignarID(ATipoIVA: IBizTipoIVA; const IDNuevo: Integer);
public public
constructor Create; virtual; constructor Create; virtual;
@ -97,20 +96,6 @@ begin
FDataModule := TDataModuleTiposIVA.Create(Nil); FDataModule := TDataModuleTiposIVA.Create(Nil);
end; end;
procedure TTiposIVAController.AsignarID(ATipoIVA: IBizTipoIVA;
const IDNuevo: Integer);
begin
if not Assigned(ATipoIVA) then
raise Exception.Create ('TipoIVA no asignado');
if ATipoIVA.EsNuevo then
begin
ATipoIVA.Edit;
ATipoIVA.ID := IDNuevo;
ATipoIVA.Post;
end;
end;
function TTiposIVAController.BuscarTodos: IBizTipoIVA; function TTiposIVAController.BuscarTodos: IBizTipoIVA;
begin begin
Result := FDataModule.GetItems; Result := FDataModule.GetItems;
@ -289,8 +274,6 @@ begin
end; end;
function TTiposIVAController.Guardar(ATipoIVA: IBizTipoIVA): Boolean; function TTiposIVAController.Guardar(ATipoIVA: IBizTipoIVA): Boolean;
var
NuevoID : Integer;
begin begin
Result := False; Result := False;
@ -298,14 +281,7 @@ begin
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
if ATipoIVA.EsNuevo then
NuevoID := FDataModule.GetNextID(ATipoIVA.DataTable.LogicalName)
else
NuevoID := ATipoIVA.ID;
AsignarID(ATipoIVA, NuevoID);
ATipoIVA.DataTable.ApplyUpdates; ATipoIVA.DataTable.ApplyUpdates;
Result := True; Result := True;
finally finally
HideHourglassCursor; HideHourglassCursor;

View File

@ -24,7 +24,6 @@ package TiposIVA_data;
{$IMAGEBASE $400000} {$IMAGEBASE $400000}
{$IMPLICITBUILD ON} {$IMPLICITBUILD ON}
requires requires
rtl, rtl,
vcl, vcl,

View File

@ -42,33 +42,503 @@
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType> <Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="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 Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">TiposIVA_data.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">True</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 Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">TiposIVA_data.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions> </ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" /> <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup> <ItemGroup>
<DelphiCompile Include="TiposIVA_data.dpk"> <DelphiCompile Include="TiposIVA_data.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="adortl.dcp" /> <DCCReference Include="..\Model\Base.dcp" />
<DCCReference Include="Base.dcp" /> <DCCReference Include="..\Model\rtl.dcp" />
<DCCReference Include="cxDataD10.dcp" /> <DCCReference Include="..\Model\TiposIVA_model.dcp" />
<DCCReference Include="cxEditorsD10.dcp" /> <DCCReference Include="..\Model\vcl.dcp" />
<DCCReference Include="cxExtEditorsD10.dcp" />
<DCCReference Include="cxGridD10.dcp" />
<DCCReference Include="cxLibraryD10.dcp" />
<DCCReference Include="cxPageControlD10.dcp" />
<DCCReference Include="DataAbstract_D10.dcp" />
<DCCReference Include="dbrtl.dcp" />
<DCCReference Include="dsnap.dcp" />
<DCCReference Include="dxThemeD10.dcp" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="TiposIVA_model.dcp" />
<DCCReference Include="vcl.dcp" />
<DCCReference Include="vcldb.dcp" />
<DCCReference Include="vcljpg.dcp" />
<DCCReference Include="uDataModuleTiposIVA.pas"> <DCCReference Include="uDataModuleTiposIVA.pas">
<Form>DataModuleTiposIVA</Form> <Form>DataModuleTiposIVA</Form>
</DCCReference> </DCCReference>
</ItemGroup> </ItemGroup>
</Project> </Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006
Activate=0
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
TerminateBtn Operation=2
Errors Number=32
Errors Terminate=3
Email Address=
Email Object=
Email Send Options=0
Output Path=
Encrypt Password=
AutoCloseDialogSecs=0
WebSendMode=0
SupportULR=
HTMLLayout Count=15
HTMLLine0="%3Chtml%3E"
HTMLLine1=" %3Chead%3E"
HTMLLine2=" %3C/head%3E"
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
HTMLLine5=" %3Ctr%3E"
HTMLLine6=" %3Ctd nowrap%3E"
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
HTMLLine8=" %3C%%HTML_TAG%%%3E"
HTMLLine9=" %3C/font%3E"
HTMLLine10=" %3C/td%3E"
HTMLLine11=" %3C/tr%3E"
HTMLLine12=" %3C/table%3E"
HTMLLine13=" %3C/body%3E"
HTMLLine14="%3C/html%3E"
AutoCrashOperation=2
AutoCrashNumber=10
AutoCrashMinutes=1
WebURL=
WebUserID=
WebPassword=
WebPort=0
AttachedFiles=
ProxyURL=
ProxyUser=
ProxyPassword=
ProxyPort=8080
TrakerUser=
TrakerPassword=
TrakerAssignTo=
TrakerProject=
TrakerCategory=
TrakerTrialID=
ZipPassword=
PreBuildEvent=
PostSuccessfulBuildEvent=
PostFailureBuildEvent=
ExceptionDialogType=2
Count=0
EMail Message Line Count=0
loNoDuplicateErrors=0
loAppendReproduceText=0
loDeleteLogAtVersionChange=0
loAddComputerNameInLogFileName=0
loSaveModulesAndProcessesSections=1
loSaveAssemblerAndCPUSections=1
soAppStartDate=1
soAppName=1
soAppVersionNumber=1
soAppParameters=1
soAppCompilationDate=1
soAppUpTime=1
soExcDate=1
soExcAddress=1
soExcModuleName=1
soExcModuleVersion=1
soExcType=1
soExcMessage=1
soExcID=1
soExcCount=1
soExcStatus=1
soExcNote=1
soUserID=1
soUserName=1
soUserEmail=1
soUserPrivileges=1
soUserCompany=1
soActCtlsFormClass=1
soActCtlsFormText=1
soActCtlsControlClass=1
soActCtlsControlText=1
soCmpName=1
soCmpTotalMemory=1
soCmpFreeMemory=1
soCmpTotalDisk=1
soCmpFreeDisk=1
soCmpSysUpTime=1
soCmpProcessor=1
soCmpDisplayMode=1
soCmpDisplayDPI=1
soCmpVideoCard=1
soCmpPrinter=1
soOSType=1
soOSBuildN=1
soOSUpdate=1
soOSLanguage=1
soOSCharset=1
soNetIP=1
soNetSubmask=1
soNetGateway=1
soNetDNS1=1
soNetDNS2=1
soNetDHCP=1
soCustomData=1
sndShowSendDialog=1
sndShowSuccessFailureMsg=0
sndSendEntireLog=0
sndSendXMLLogCopy=0
sndSendScreenshot=1
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndAddComputerNameInFileName=0
edoSendErrorReportChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=0
edoShowSendErrorReportOption=1
edoShowAttachScreenshotOption=1
edoShowCustomButton=0
csoShowDLLs=1
csoShowBPLs=1
csoShowBorlandThreads=1
csoShowWindowsThreads=1
csoDoNotStoreProcNames=0
boPauseBorlandThreads=0
boDoNotPauseMainThread=0
boPauseWindowsThreads=0
boUseMainModuleOptions=1
boCopyLogInCaseOfError=1
boSaveCompressedCopyInCaseOfError=0
boHandleSafeCallExceptions=1
boCallRTLExceptionEvent=0
boCatchHandledExceptions=0
loCatchLeaks=0
loGroupsSonLeaks=1
loHideBorlandLeaks=1
loFreeAllLeaks=1
loCatchLeaksExceptions=1
cfoReduceFileSize=1
cfoCheckFileCorruption=0
Count mtInformationMsgCaption=1
mtInformationMsgCaption0="Information."
Count mtQuestionMsgCaption=1
mtQuestionMsgCaption0="Question."
Count mtErrorMsgCaption=1
mtErrorMsgCaption0="Error."
Count mtDialog_Caption=1
mtDialog_Caption0="Error occurred"
Count mtDialog_ErrorMsgCaption=2
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
Count mtDialog_GeneralCaption=1
mtDialog_GeneralCaption0="General"
Count mtDialog_GeneralHeader=1
mtDialog_GeneralHeader0="General Information"
Count mtDialog_CallStackCaption=1
mtDialog_CallStackCaption0="Call Stack"
Count mtDialog_CallStackHeader=1
mtDialog_CallStackHeader0="Call Stack Information"
Count mtDialog_ModulesCaption=1
mtDialog_ModulesCaption0="Modules"
Count mtDialog_ModulesHeader=1
mtDialog_ModulesHeader0="Modules Information"
Count mtDialog_ProcessesCaption=1
mtDialog_ProcessesCaption0="Processes"
Count mtDialog_ProcessesHeader=1
mtDialog_ProcessesHeader0="Processes Information"
Count mtDialog_AsmCaption=1
mtDialog_AsmCaption0="Assembler"
Count mtDialog_AsmHeader=1
mtDialog_AsmHeader0="Assembler Information"
Count mtDialog_CPUCaption=1
mtDialog_CPUCaption0="CPU"
Count mtDialog_CPUHeader=1
mtDialog_CPUHeader0="CPU Information"
Count mtDialog_OKButtonCaption=1
mtDialog_OKButtonCaption0="%26OK"
Count mtDialog_TerminateButtonCaption=1
mtDialog_TerminateButtonCaption0="%26Terminate"
Count mtDialog_RestartButtonCaption=1
mtDialog_RestartButtonCaption0="%26Restart"
Count mtDialog_DetailsButtonCaption=1
mtDialog_DetailsButtonCaption0="%26Details"
Count mtDialog_CustomButtonCaption=1
mtDialog_CustomButtonCaption0="%26Help"
Count mtDialog_SendMessage=1
mtDialog_SendMessage0="%26Send this error via Internet"
Count mtDialog_ScreenshotMessage=1
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
Count mtDialog_CopyMessage=1
mtDialog_CopyMessage0="%26Copy to Clipboard"
Count mtDialog_SupportMessage=1
mtDialog_SupportMessage0="Go to the Support Page"
Count mtMSDialog_ErrorMsgCaption=1
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
Count mtMSDialog_RestartCaption=1
mtMSDialog_RestartCaption0="Restart application."
Count mtMSDialog_TerminateCaption=1
mtMSDialog_TerminateCaption0="Terminate application."
Count mtMSDialog_PleaseCaption=1
mtMSDialog_PleaseCaption0="Please tell us about this problem."
Count mtMSDialog_DescriptionCaption=1
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
Count mtMSDialog_SeeDetailsCaption=1
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
Count mtMSDialog_SeeClickCaption=1
mtMSDialog_SeeClickCaption0="click here."
Count mtMSDialog_HowToReproduceCaption=1
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happended (optional)?"
Count mtMSDialog_EmailCaption=1
mtMSDialog_EmailCaption0="Email address (optional):"
Count mtMSDialog_SendButtonCaption=1
mtMSDialog_SendButtonCaption0="%26Send Error Report"
Count mtMSDialog_NoSendButtonCaption=1
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
Count mtLog_AppHeader=1
mtLog_AppHeader0="Application"
Count mtLog_AppStartDate=1
mtLog_AppStartDate0="Start Date"
Count mtLog_AppName=1
mtLog_AppName0="Name/Description"
Count mtLog_AppVersionNumber=1
mtLog_AppVersionNumber0="Version Number"
Count mtLog_AppParameters=1
mtLog_AppParameters0="Parameters"
Count mtLog_AppCompilationDate=1
mtLog_AppCompilationDate0="Compilation Date"
Count mtLog_AppUpTime=1
mtLog_AppUpTime0="Up Time"
Count mtLog_ExcHeader=1
mtLog_ExcHeader0="Exception"
Count mtLog_ExcDate=1
mtLog_ExcDate0="Date"
Count mtLog_ExcAddress=1
mtLog_ExcAddress0="Address"
Count mtLog_ExcModuleName=1
mtLog_ExcModuleName0="Module Name"
Count mtLog_ExcModuleVersion=1
mtLog_ExcModuleVersion0="Module Version"
Count mtLog_ExcType=1
mtLog_ExcType0="Type"
Count mtLog_ExcMessage=1
mtLog_ExcMessage0="Message"
Count mtLog_ExcID=1
mtLog_ExcID0="ID"
Count mtLog_ExcCount=1
mtLog_ExcCount0="Count"
Count mtLog_ExcStatus=1
mtLog_ExcStatus0="Status"
Count mtLog_ExcNote=1
mtLog_ExcNote0="Note"
Count mtLog_UserHeader=1
mtLog_UserHeader0="User"
Count mtLog_UserID=1
mtLog_UserID0="ID"
Count mtLog_UserName=1
mtLog_UserName0="Name"
Count mtLog_UserEmail=1
mtLog_UserEmail0="Email"
Count mtLog_UserCompany=1
mtLog_UserCompany0="Company"
Count mtLog_UserPrivileges=1
mtLog_UserPrivileges0="Privileges"
Count mtLog_ActCtrlsHeader=1
mtLog_ActCtrlsHeader0="Active Controls"
Count mtLog_ActCtrlsFormClass=1
mtLog_ActCtrlsFormClass0="Form Class"
Count mtLog_ActCtrlsFormText=1
mtLog_ActCtrlsFormText0="Form Text"
Count mtLog_ActCtrlsControlClass=1
mtLog_ActCtrlsControlClass0="Control Class"
Count mtLog_ActCtrlsControlText=1
mtLog_ActCtrlsControlText0="Control Text"
Count mtLog_CmpHeader=1
mtLog_CmpHeader0="Computer"
Count mtLog_CmpName=1
mtLog_CmpName0="Name"
Count mtLog_CmpTotalMemory=1
mtLog_CmpTotalMemory0="Total Memory"
Count mtLog_CmpFreeMemory=1
mtLog_CmpFreeMemory0="Free Memory"
Count mtLog_CmpTotalDisk=1
mtLog_CmpTotalDisk0="Total Disk"
Count mtLog_CmpFreeDisk=1
mtLog_CmpFreeDisk0="Free Disk"
Count mtLog_CmpSystemUpTime=1
mtLog_CmpSystemUpTime0="System Up Time"
Count mtLog_CmpProcessor=1
mtLog_CmpProcessor0="Processor"
Count mtLog_CmpDisplayMode=1
mtLog_CmpDisplayMode0="Display Mode"
Count mtLog_CmpDisplayDPI=1
mtLog_CmpDisplayDPI0="Display DPI"
Count mtLog_CmpVideoCard=1
mtLog_CmpVideoCard0="Video Card"
Count mtLog_CmpPrinter=1
mtLog_CmpPrinter0="Printer"
Count mtLog_OSHeader=1
mtLog_OSHeader0="Operating System"
Count mtLog_OSType=1
mtLog_OSType0="Type"
Count mtLog_OSBuildN=1
mtLog_OSBuildN0="Build #"
Count mtLog_OSUpdate=1
mtLog_OSUpdate0="Update"
Count mtLog_OSLanguage=1
mtLog_OSLanguage0="Language"
Count mtLog_OSCharset=1
mtLog_OSCharset0="Charset"
Count mtLog_NetHeader=1
mtLog_NetHeader0="Network"
Count mtLog_NetIP=1
mtLog_NetIP0="IP Address"
Count mtLog_NetSubmask=1
mtLog_NetSubmask0="Submask"
Count mtLog_NetGateway=1
mtLog_NetGateway0="Gateway"
Count mtLog_NetDNS1=1
mtLog_NetDNS10="DNS 1"
Count mtLog_NetDNS2=1
mtLog_NetDNS20="DNS 2"
Count mtLog_NetDHCP=1
mtLog_NetDHCP0="DHCP"
Count mtLog_CustInfoHeader=1
mtLog_CustInfoHeader0="Custom Information"
Count mtCallStack_Address=1
mtCallStack_Address0="Address"
Count mtCallStack_Name=1
mtCallStack_Name0="Module"
Count mtCallStack_Unit=1
mtCallStack_Unit0="Unit"
Count mtCallStack_Class=1
mtCallStack_Class0="Class"
Count mtCallStack_Procedure=1
mtCallStack_Procedure0="Procedure/Method"
Count mtCallStack_Line=1
mtCallStack_Line0="Line"
Count mtCallStack_MainThread=1
mtCallStack_MainThread0="Main"
Count mtCallStack_ExceptionThread=1
mtCallStack_ExceptionThread0="Exception Thread"
Count mtCallStack_RunningThread=1
mtCallStack_RunningThread0="Running Thread"
Count mtCallStack_CallingThread=1
mtCallStack_CallingThread0="Calling Thread"
Count mtCallStack_ThreadID=1
mtCallStack_ThreadID0="ID"
Count mtCallStack_ThreadPriority=1
mtCallStack_ThreadPriority0="Priority"
Count mtCallStack_ThreadClass=1
mtCallStack_ThreadClass0="Class"
Count mtCallStack_LeakCaption=1
mtCallStack_LeakCaption0="Memory Leak"
Count mtCallStack_LeakData=1
mtCallStack_LeakData0="Data"
Count mtCallStack_LeakType=1
mtCallStack_LeakType0="Type"
Count mtCallStack_LeakSize=1
mtCallStack_LeakSize0="Total size"
Count mtCallStack_LeakCount=1
mtCallStack_LeakCount0="Count"
Count mtSendDialog_Caption=1
mtSendDialog_Caption0="Send."
Count mtSendDialog_Message=1
mtSendDialog_Message0="Message"
Count mtSendDialog_Resolving=1
mtSendDialog_Resolving0="Resolving DNS..."
Count mtSendDialog_Login=1
mtSendDialog_Login0="Login..."
Count mtSendDialog_Connecting=1
mtSendDialog_Connecting0="Connecting with server..."
Count mtSendDialog_Connected=1
mtSendDialog_Connected0="Connected with server."
Count mtSendDialog_Sending=1
mtSendDialog_Sending0="Sending message..."
Count mtSendDialog_Sent=1
mtSendDialog_Sent0="Message sent."
Count mtSendDialog_SelectProject=1
mtSendDialog_SelectProject0="Select project..."
Count mtSendDialog_Searching=1
mtSendDialog_Searching0="Searching..."
Count mtSendDialog_Modifying=1
mtSendDialog_Modifying0="Modifying..."
Count mtSendDialog_Disconnecting=1
mtSendDialog_Disconnecting0="Disconnecting..."
Count mtSendDialog_Disconnected=1
mtSendDialog_Disconnected0="Disconnected."
Count mtReproduceDialog_Caption=1
mtReproduceDialog_Caption0="Request"
Count mtReproduceDialog_Request=1
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
Count mtReproduceDialog_OKButtonCaption=1
mtReproduceDialog_OKButtonCaption0="%26OK"
Count mtModules_Handle=1
mtModules_Handle0="Handle"
Count mtModules_Name=1
mtModules_Name0="Name"
Count mtModules_Description=1
mtModules_Description0="Description"
Count mtModules_Version=1
mtModules_Version0="Version"
Count mtModules_Size=1
mtModules_Size0="Size"
Count mtModules_LastModified=1
mtModules_LastModified0="Modified"
Count mtModules_Path=1
mtModules_Path0="Path"
Count mtProcesses_ID=1
mtProcesses_ID0="ID"
Count mtProcesses_Name=1
mtProcesses_Name0="Name"
Count mtProcesses_Description=1
mtProcesses_Description0="Description"
Count mtProcesses_Version=1
mtProcesses_Version0="Version"
Count mtProcesses_Memory=1
mtProcesses_Memory0="Memory"
Count mtProcesses_Priority=1
mtProcesses_Priority0="Priority"
Count mtProcesses_Threads=1
mtProcesses_Threads0="Threads"
Count mtProcesses_Path=1
mtProcesses_Path0="Path"
Count mtCPU_Registers=1
mtCPU_Registers0="Registers"
Count mtCPU_Stack=1
mtCPU_Stack0="Stack"
Count mtCPU_MemoryDump=1
mtCPU_MemoryDump0="Memory Dump"
Count mtSend_SuccessMsg=1
mtSend_SuccessMsg0="The message was sent successfully."
Count mtSend_FailureMsg=1
mtSend_FailureMsg0="Sorry, sending the message didn't work."
Count mtSend_BugClosedMsg=2
mtSend_BugClosedMsg0="These BUG is just closed."
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
Count mtSend_UnknownErrorMsg=1
mtSend_UnknownErrorMsg0="Unknown error."
Count mtSend_InvalidLoginMsg=1
mtSend_InvalidLoginMsg0="Invalid login request."
Count mtSend_InvalidSearchMsg=1
mtSend_InvalidSearchMsg0="Invalid search request."
Count mtSend_InvalidSelectionMsg=1
mtSend_InvalidSelectionMsg0="Invalid selection request."
Count mtSend_InvalidInsertMsg=1
mtSend_InvalidInsertMsg0="Invalid insert request."
Count mtSend_InvalidModifyMsg=1
mtSend_InvalidModifyMsg0="Invalid modify request."
Count mtFileCrackedMsg=2
mtFileCrackedMsg0="This file is cracked."
mtFileCrackedMsg1="The application will be closed."
Count mtException_LeakMultiFree=1
mtException_LeakMultiFree0="Multi Free memory leak."
Count mtException_LeakMemoryOverrun=1
mtException_LeakMemoryOverrun0="Memory Overrun leak."
Count mtException_AntiFreeze=1
mtException_AntiFreeze0="The application seems to be frozen."
Count mtInvalidEmailMsg=1
mtInvalidEmailMsg0="Invalid email."
TextsCollection=English
EurekaLog Last Line -->

View File

@ -12,6 +12,6 @@ STRINGTABLE
BEGIN BEGIN
END END
/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\uDataModuleTiposIVA.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\uDataModuleTiposIVA.DFM */
/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\TiposIVA_data.res */ /* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\TiposIVA_data.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf223.tmp */ /* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\TiposIVA_data.drf */

View File

@ -4,45 +4,35 @@ object DataModuleTiposIVA: TDataModuleTiposIVA
Height = 414 Height = 414
Width = 518 Width = 518
object RORemoteService: TRORemoteService object RORemoteService: TRORemoteService
Message = ROBinMessage1 Message = dmConexion.ROMessage
Channel = ROWinInetHTTPChannel1 Channel = dmConexion.ROChannel
ServiceName = 'srvTiposIVA' ServiceName = 'srvTiposIVA'
Left = 48 Left = 48
Top = 24 Top = 24
end end
object DADesigntimeCall1: TDADesigntimeCall object rda_TiposIVA: TDARemoteDataAdapter
RemoteService = LoginRemoteService GetSchemaCall.RemoteService = RORemoteService
Params = <> GetDataCall.RemoteService = RORemoteService
Left = 48 UpdateDataCall.RemoteService = RORemoteService
Top = 160 GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService
DataStreamer = Bin2DataStreamer
Left = 203
Top = 23
end end
object LoginRemoteService: TRORemoteService object Bin2DataStreamer: TDABin2DataStreamer
Message = ROBinMessage1
Channel = ROWinInetHTTPChannel1
ServiceName = 'srvLogin'
Left = 48 Left = 48
Top = 216 Top = 96
end end
object ROWinInetHTTPChannel1: TROWinInetHTTPChannel object tbl_TiposIVA: TDAMemDataTable
UserAgent = 'RemObjects SDK'
TargetURL = 'http://localhost:8099/bin'
ServerLocators = <>
DispatchOptions = []
Left = 48
Top = 272
end
object ROBinMessage1: TROBinMessage
Left = 48
Top = 324
end
object tbl_TiposIVA: TDACDSDataTable
RemoteUpdatesOptions = [] RemoteUpdatesOptions = []
Fields = < Fields = <
item item
Name = 'ID' Name = 'ID'
DataType = datInteger DataType = datAutoInc
DisplayLabel = 'TIPOS_IVA_ID' GeneratorName = 'GEN_TIPOS_IVA_ID'
DictionaryEntry = 'TIPOS_IVA_ID' ServerAutoRefresh = True
DictionaryEntry = 'TiposIVA_ID'
InPrimaryKey = True InPrimaryKey = True
end end
item item
@ -56,14 +46,13 @@ object DataModuleTiposIVA: TDataModuleTiposIVA
Name = 'DESCRIPCION' Name = 'DESCRIPCION'
DataType = datString DataType = datString
Size = 255 Size = 255
DisplayLabel = 'Descripci'#243'n' DisplayLabel = 'Descripci'#195#179'n'
DictionaryEntry = 'TIPOS_IVA_DESCRIPCION' DictionaryEntry = 'TIPOS_IVA_DESCRIPCION'
end end
item item
Name = 'IVA' Name = 'IVA'
DataType = datFloat DataType = datFloat
DisplayLabel = '% IVA' DisplayLabel = '% IVA'
DisplayFormat = ',0.00 %;-,0.00 %'
Alignment = taRightJustify Alignment = taRightJustify
DictionaryEntry = 'TIPOS_IVA_IVA' DictionaryEntry = 'TIPOS_IVA_IVA'
end end
@ -71,38 +60,22 @@ object DataModuleTiposIVA: TDataModuleTiposIVA
Name = 'RE' Name = 'RE'
DataType = datFloat DataType = datFloat
DisplayLabel = '% RE' DisplayLabel = '% RE'
DisplayFormat = ',0.00 %;-,0.00 %'
Alignment = taRightJustify Alignment = taRightJustify
DictionaryEntry = 'TIPOS_IVA_RE' DictionaryEntry = 'TIPOS_IVA_RE'
end> end>
Params = <> Params = <>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_TiposIVA RemoteDataAdapter = rda_TiposIVA
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'TiposIVA' LogicalName = 'TiposIVA'
IndexDefs = <> Left = 296
Left = 216
Top = 24 Top = 24
end end
object ds_TiposIVA: TDADataSource object ds_TiposIVA: TDADataSource
DataSet = tbl_TiposIVA.Dataset DataSet = tbl_TiposIVA.Dataset
DataTable = tbl_TiposIVA DataTable = tbl_TiposIVA
Left = 216 Left = 296
Top = 88 Top = 96
end
object rda_TiposIVA: TDARemoteDataAdapter
GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService
Left = 307
Top = 23
end
object DataStreamer: TDABinDataStreamer
Left = 48
Top = 76
end end
end end

View File

@ -32,35 +32,20 @@ uses
uDADesigntimeCall, uDADesigntimeCall,
uIDataModuleTiposIVA, uBizTiposIVA, uDADataStreamer, uDARemoteDataAdapter, uIDataModuleTiposIVA, uBizTiposIVA, uDADataStreamer, uDARemoteDataAdapter,
uDAInterfaces, uRODynamicRequest; uDAInterfaces, uRODynamicRequest, uDABin2DataStreamer, uDAMemDataTable;
type type
TDataModuleTiposIVA = class(TDAClientDataModule, IDataModuleTiposIVA) TDataModuleTiposIVA = class(TDAClientDataModule, IDataModuleTiposIVA)
RORemoteService: TRORemoteService; RORemoteService: TRORemoteService;
DADesigntimeCall1: TDADesigntimeCall;
LoginRemoteService: TRORemoteService;
ROWinInetHTTPChannel1: TROWinInetHTTPChannel;
ROBinMessage1: TROBinMessage;
tbl_TiposIVA: TDACDSDataTable;
ds_TiposIVA: TDADataSource;
rda_TiposIVA: TDARemoteDataAdapter; rda_TiposIVA: TDARemoteDataAdapter;
DataStreamer: TDABinDataStreamer; Bin2DataStreamer: TDABin2DataStreamer;
tbl_TiposIVA: TDAMemDataTable;
ds_TiposIVA: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject); procedure DAClientDataModuleCreate(Sender: TObject);
protected
function DarNombreGenerador(DataSetName: String): String; virtual;
function _CloneDataTable (const ADataTable : TDACDSDataTable): TDACDSDataTable; overload;
// Descomentar si tiene detalles
// function _GetDetalles: IBizDetalles;
public public
function GetNextID(const DataSetName : String) : Integer;
function GetItems: IBizTipoIVA; function GetItems: IBizTipoIVA;
function GetItem(const ID : Integer) : IBizTipoIVA; function GetItem(const ID : Integer) : IBizTipoIVA;
function NewItem : IBizTipoIVA; function NewItem : IBizTipoIVA;
// Descomentar si tiene informe
// function GetReport(const ATipoIVAID: Integer): Binary;
end; end;
implementation implementation
@ -73,80 +58,21 @@ uses
{ TDataModuleTiposIVA } { TDataModuleTiposIVA }
// Descomentar si tiene informe
// function TDataModuleTiposIVA.GetReport(const ATipoIVAID: Integer): Binary;
// begin
// Result := (RORemoteService as IsrvTiposIVA).GenerateReport(ATipoIVAID)
// end;
procedure TDataModuleTiposIVA.DAClientDataModuleCreate(Sender: TObject); procedure TDataModuleTiposIVA.DAClientDataModuleCreate(Sender: TObject);
begin begin
RORemoteService.Channel := dmConexion.Channel; RORemoteService.Channel := dmConexion.Channel;
RORemoteService.Message := dmConexion.Message; RORemoteService.Message := dmConexion.Message;
end; end;
function TDataModuleTiposIVA.DarNombreGenerador(DataSetName: String): String;
begin
Result := '';
if DataSetName = nme_TiposIVA then
Result := 'GEN_TIPOS_IVA_ID'
end;
function TDataModuleTiposIVA.GetNextID(const DataSetName: String): Integer;
var
aGeneratorName : String;
begin
aGeneratorName := DarNombreGenerador(DataSetName);
Result := (RORemoteService as IsrvTiposIVA).GetNextAutoInc(aGeneratorName)
end;
function TDataModuleTiposIVA._CloneDataTable(const ADataTable : TDACDSDataTable): TDACDSDataTable;
begin
Result := NIL;
if not Assigned(ADataTable) then
raise Exception.Create ('No se ha asignado la tabla de origen (CloneDataTable)');
Result := TDACDSDataTable.Create(NIL);
CloneDataTable(ADataTable, Result);
end;
// Descomentar si tiene detalles
// function TDataModuleTiposIVA._GetDetalles: IBizTipoIVADetalles;
// var
// ADetalles : TDACDSDataTable;
// begin
// ShowHourglassCursor;
// try
// ADetalles := _CloneDataTable(tbl_TiposIVADetalles);
// with ADetalles do
// begin
// BusinessRulesID := BIZ_CLIENT_TipoIVADETALLES;
// DetailOptions := DetailOptions -
// [dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates];
// end;
// Result := (ADetalles as IBizTipoIVADetalles);
// finally
// HideHourglassCursor;
// end;
// end;
function TDataModuleTiposIVA.GetItems: IBizTipoIVA; function TDataModuleTiposIVA.GetItems: IBizTipoIVA;
var var
ATipoIVA : TDACDSDataTable; ATipoIVA : TDAMemDataTable;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
ATipoIVA := _CloneDataTable(tbl_TiposIVA); ATipoIVA := CloneDataTable(tbl_TiposIVA);
ATipoIVA.BusinessRulesID := BIZ_CLIENT_TipoIVA; ATipoIVA.BusinessRulesID := BIZ_CLIENT_TipoIVA;
// Descomentar si tiene detalles
// with TBizTipoIVA(ATipoIVA.BusinessEventsObj) do
// Detalles := _GetDetalles;
Result := (ATipoIVA as IBizTipoIVA); Result := (ATipoIVA as IBizTipoIVA);
finally finally
HideHourglassCursor; HideHourglassCursor;
@ -163,14 +89,15 @@ begin
ShowHourglassCursor; ShowHourglassCursor;
try try
Result := Self.GetItems; Result := Self.GetItems;
with Result.DataTable.Where do
// (ID = :ID)
with Result.DataTable.DynamicWhere do
begin begin
if NotEmpty then Clear;
AddOperator(opAND); Expression := NewBinaryExpression(NewField('', fld_TiposIVAID),
OpenBraket; NewConstant(ID, datInteger), dboEqual);
AddText('TIPOS_IVA.' + fld_TiposIVAID + ' = ' + IntToStr(ID));
CloseBraket;
end; end;
finally finally
HideHourglassCursor; HideHourglassCursor;
end; end;

View File

@ -32,7 +32,6 @@ type
IDataModuleTiposIVA = interface IDataModuleTiposIVA = interface
['{FF13E488-D185-4674-8A27-539BEC012B75}'] ['{FF13E488-D185-4674-8A27-539BEC012B75}']
function GetItems: IBizTipoIVA; function GetItems: IBizTipoIVA;
function GetNextID(const DataSetName : String) : Integer;
function GetItem(const ID : Integer) : IBizTipoIVA; function GetItem(const ID : Integer) : IBizTipoIVA;
function NewItem : IBizTipoIVA; function NewItem : IBizTipoIVA;

View File

@ -31,8 +31,8 @@ requires
contains contains
uIDataModuleTiposIVA in 'Data\uIDataModuleTiposIVA.pas', uIDataModuleTiposIVA in 'Data\uIDataModuleTiposIVA.pas',
uBizTiposIVA in 'uBizTiposIVA.pas',
schTiposIVAClient_Intf in 'schTiposIVAClient_Intf.pas', schTiposIVAClient_Intf in 'schTiposIVAClient_Intf.pas',
schTiposIVAServer_Intf in 'schTiposIVAServer_Intf.pas', schTiposIVAServer_Intf in 'schTiposIVAServer_Intf.pas';
uBizTiposIVA in 'uBizTiposIVA.pas';
end. end.

View File

@ -42,23 +42,503 @@
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType> <Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="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 Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">TiposIVA_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">True</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 Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">TiposIVA_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions> </ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" /> <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup> <ItemGroup>
<DelphiCompile Include="TiposIVA_model.dpk"> <DelphiCompile Include="TiposIVA_model.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="adortl.dcp" />
<DCCReference Include="Base.dcp" /> <DCCReference Include="Base.dcp" />
<DCCReference Include="dbrtl.dcp" />
<DCCReference Include="dsnap.dcp" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="vcl.dcp" />
<DCCReference Include="vcldb.dcp" />
<DCCReference Include="Data\uIDataModuleTiposIVA.pas" /> <DCCReference Include="Data\uIDataModuleTiposIVA.pas" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="schTiposIVAClient_Intf.pas" /> <DCCReference Include="schTiposIVAClient_Intf.pas" />
<DCCReference Include="schTiposIVAServer_Intf.pas" /> <DCCReference Include="schTiposIVAServer_Intf.pas" />
<DCCReference Include="uBizTiposIVA.pas" /> <DCCReference Include="uBizTiposIVA.pas" />
<DCCReference Include="vcl.dcp" />
</ItemGroup> </ItemGroup>
</Project> </Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006
Activate=0
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
TerminateBtn Operation=2
Errors Number=32
Errors Terminate=3
Email Address=
Email Object=
Email Send Options=0
Output Path=
Encrypt Password=
AutoCloseDialogSecs=0
WebSendMode=0
SupportULR=
HTMLLayout Count=15
HTMLLine0="%3Chtml%3E"
HTMLLine1=" %3Chead%3E"
HTMLLine2=" %3C/head%3E"
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
HTMLLine5=" %3Ctr%3E"
HTMLLine6=" %3Ctd nowrap%3E"
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
HTMLLine8=" %3C%%HTML_TAG%%%3E"
HTMLLine9=" %3C/font%3E"
HTMLLine10=" %3C/td%3E"
HTMLLine11=" %3C/tr%3E"
HTMLLine12=" %3C/table%3E"
HTMLLine13=" %3C/body%3E"
HTMLLine14="%3C/html%3E"
AutoCrashOperation=2
AutoCrashNumber=10
AutoCrashMinutes=1
WebURL=
WebUserID=
WebPassword=
WebPort=0
AttachedFiles=
ProxyURL=
ProxyUser=
ProxyPassword=
ProxyPort=8080
TrakerUser=
TrakerPassword=
TrakerAssignTo=
TrakerProject=
TrakerCategory=
TrakerTrialID=
ZipPassword=
PreBuildEvent=
PostSuccessfulBuildEvent=
PostFailureBuildEvent=
ExceptionDialogType=2
Count=0
EMail Message Line Count=0
loNoDuplicateErrors=0
loAppendReproduceText=0
loDeleteLogAtVersionChange=0
loAddComputerNameInLogFileName=0
loSaveModulesAndProcessesSections=1
loSaveAssemblerAndCPUSections=1
soAppStartDate=1
soAppName=1
soAppVersionNumber=1
soAppParameters=1
soAppCompilationDate=1
soAppUpTime=1
soExcDate=1
soExcAddress=1
soExcModuleName=1
soExcModuleVersion=1
soExcType=1
soExcMessage=1
soExcID=1
soExcCount=1
soExcStatus=1
soExcNote=1
soUserID=1
soUserName=1
soUserEmail=1
soUserPrivileges=1
soUserCompany=1
soActCtlsFormClass=1
soActCtlsFormText=1
soActCtlsControlClass=1
soActCtlsControlText=1
soCmpName=1
soCmpTotalMemory=1
soCmpFreeMemory=1
soCmpTotalDisk=1
soCmpFreeDisk=1
soCmpSysUpTime=1
soCmpProcessor=1
soCmpDisplayMode=1
soCmpDisplayDPI=1
soCmpVideoCard=1
soCmpPrinter=1
soOSType=1
soOSBuildN=1
soOSUpdate=1
soOSLanguage=1
soOSCharset=1
soNetIP=1
soNetSubmask=1
soNetGateway=1
soNetDNS1=1
soNetDNS2=1
soNetDHCP=1
soCustomData=1
sndShowSendDialog=1
sndShowSuccessFailureMsg=0
sndSendEntireLog=0
sndSendXMLLogCopy=0
sndSendScreenshot=1
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndAddComputerNameInFileName=0
edoSendErrorReportChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=0
edoShowSendErrorReportOption=1
edoShowAttachScreenshotOption=1
edoShowCustomButton=0
csoShowDLLs=1
csoShowBPLs=1
csoShowBorlandThreads=1
csoShowWindowsThreads=1
csoDoNotStoreProcNames=0
boPauseBorlandThreads=0
boDoNotPauseMainThread=0
boPauseWindowsThreads=0
boUseMainModuleOptions=1
boCopyLogInCaseOfError=1
boSaveCompressedCopyInCaseOfError=0
boHandleSafeCallExceptions=1
boCallRTLExceptionEvent=0
boCatchHandledExceptions=0
loCatchLeaks=0
loGroupsSonLeaks=1
loHideBorlandLeaks=1
loFreeAllLeaks=1
loCatchLeaksExceptions=1
cfoReduceFileSize=1
cfoCheckFileCorruption=0
Count mtInformationMsgCaption=1
mtInformationMsgCaption0="Information."
Count mtQuestionMsgCaption=1
mtQuestionMsgCaption0="Question."
Count mtErrorMsgCaption=1
mtErrorMsgCaption0="Error."
Count mtDialog_Caption=1
mtDialog_Caption0="Error occurred"
Count mtDialog_ErrorMsgCaption=2
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
Count mtDialog_GeneralCaption=1
mtDialog_GeneralCaption0="General"
Count mtDialog_GeneralHeader=1
mtDialog_GeneralHeader0="General Information"
Count mtDialog_CallStackCaption=1
mtDialog_CallStackCaption0="Call Stack"
Count mtDialog_CallStackHeader=1
mtDialog_CallStackHeader0="Call Stack Information"
Count mtDialog_ModulesCaption=1
mtDialog_ModulesCaption0="Modules"
Count mtDialog_ModulesHeader=1
mtDialog_ModulesHeader0="Modules Information"
Count mtDialog_ProcessesCaption=1
mtDialog_ProcessesCaption0="Processes"
Count mtDialog_ProcessesHeader=1
mtDialog_ProcessesHeader0="Processes Information"
Count mtDialog_AsmCaption=1
mtDialog_AsmCaption0="Assembler"
Count mtDialog_AsmHeader=1
mtDialog_AsmHeader0="Assembler Information"
Count mtDialog_CPUCaption=1
mtDialog_CPUCaption0="CPU"
Count mtDialog_CPUHeader=1
mtDialog_CPUHeader0="CPU Information"
Count mtDialog_OKButtonCaption=1
mtDialog_OKButtonCaption0="%26OK"
Count mtDialog_TerminateButtonCaption=1
mtDialog_TerminateButtonCaption0="%26Terminate"
Count mtDialog_RestartButtonCaption=1
mtDialog_RestartButtonCaption0="%26Restart"
Count mtDialog_DetailsButtonCaption=1
mtDialog_DetailsButtonCaption0="%26Details"
Count mtDialog_CustomButtonCaption=1
mtDialog_CustomButtonCaption0="%26Help"
Count mtDialog_SendMessage=1
mtDialog_SendMessage0="%26Send this error via Internet"
Count mtDialog_ScreenshotMessage=1
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
Count mtDialog_CopyMessage=1
mtDialog_CopyMessage0="%26Copy to Clipboard"
Count mtDialog_SupportMessage=1
mtDialog_SupportMessage0="Go to the Support Page"
Count mtMSDialog_ErrorMsgCaption=1
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
Count mtMSDialog_RestartCaption=1
mtMSDialog_RestartCaption0="Restart application."
Count mtMSDialog_TerminateCaption=1
mtMSDialog_TerminateCaption0="Terminate application."
Count mtMSDialog_PleaseCaption=1
mtMSDialog_PleaseCaption0="Please tell us about this problem."
Count mtMSDialog_DescriptionCaption=1
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
Count mtMSDialog_SeeDetailsCaption=1
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
Count mtMSDialog_SeeClickCaption=1
mtMSDialog_SeeClickCaption0="click here."
Count mtMSDialog_HowToReproduceCaption=1
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happended (optional)?"
Count mtMSDialog_EmailCaption=1
mtMSDialog_EmailCaption0="Email address (optional):"
Count mtMSDialog_SendButtonCaption=1
mtMSDialog_SendButtonCaption0="%26Send Error Report"
Count mtMSDialog_NoSendButtonCaption=1
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
Count mtLog_AppHeader=1
mtLog_AppHeader0="Application"
Count mtLog_AppStartDate=1
mtLog_AppStartDate0="Start Date"
Count mtLog_AppName=1
mtLog_AppName0="Name/Description"
Count mtLog_AppVersionNumber=1
mtLog_AppVersionNumber0="Version Number"
Count mtLog_AppParameters=1
mtLog_AppParameters0="Parameters"
Count mtLog_AppCompilationDate=1
mtLog_AppCompilationDate0="Compilation Date"
Count mtLog_AppUpTime=1
mtLog_AppUpTime0="Up Time"
Count mtLog_ExcHeader=1
mtLog_ExcHeader0="Exception"
Count mtLog_ExcDate=1
mtLog_ExcDate0="Date"
Count mtLog_ExcAddress=1
mtLog_ExcAddress0="Address"
Count mtLog_ExcModuleName=1
mtLog_ExcModuleName0="Module Name"
Count mtLog_ExcModuleVersion=1
mtLog_ExcModuleVersion0="Module Version"
Count mtLog_ExcType=1
mtLog_ExcType0="Type"
Count mtLog_ExcMessage=1
mtLog_ExcMessage0="Message"
Count mtLog_ExcID=1
mtLog_ExcID0="ID"
Count mtLog_ExcCount=1
mtLog_ExcCount0="Count"
Count mtLog_ExcStatus=1
mtLog_ExcStatus0="Status"
Count mtLog_ExcNote=1
mtLog_ExcNote0="Note"
Count mtLog_UserHeader=1
mtLog_UserHeader0="User"
Count mtLog_UserID=1
mtLog_UserID0="ID"
Count mtLog_UserName=1
mtLog_UserName0="Name"
Count mtLog_UserEmail=1
mtLog_UserEmail0="Email"
Count mtLog_UserCompany=1
mtLog_UserCompany0="Company"
Count mtLog_UserPrivileges=1
mtLog_UserPrivileges0="Privileges"
Count mtLog_ActCtrlsHeader=1
mtLog_ActCtrlsHeader0="Active Controls"
Count mtLog_ActCtrlsFormClass=1
mtLog_ActCtrlsFormClass0="Form Class"
Count mtLog_ActCtrlsFormText=1
mtLog_ActCtrlsFormText0="Form Text"
Count mtLog_ActCtrlsControlClass=1
mtLog_ActCtrlsControlClass0="Control Class"
Count mtLog_ActCtrlsControlText=1
mtLog_ActCtrlsControlText0="Control Text"
Count mtLog_CmpHeader=1
mtLog_CmpHeader0="Computer"
Count mtLog_CmpName=1
mtLog_CmpName0="Name"
Count mtLog_CmpTotalMemory=1
mtLog_CmpTotalMemory0="Total Memory"
Count mtLog_CmpFreeMemory=1
mtLog_CmpFreeMemory0="Free Memory"
Count mtLog_CmpTotalDisk=1
mtLog_CmpTotalDisk0="Total Disk"
Count mtLog_CmpFreeDisk=1
mtLog_CmpFreeDisk0="Free Disk"
Count mtLog_CmpSystemUpTime=1
mtLog_CmpSystemUpTime0="System Up Time"
Count mtLog_CmpProcessor=1
mtLog_CmpProcessor0="Processor"
Count mtLog_CmpDisplayMode=1
mtLog_CmpDisplayMode0="Display Mode"
Count mtLog_CmpDisplayDPI=1
mtLog_CmpDisplayDPI0="Display DPI"
Count mtLog_CmpVideoCard=1
mtLog_CmpVideoCard0="Video Card"
Count mtLog_CmpPrinter=1
mtLog_CmpPrinter0="Printer"
Count mtLog_OSHeader=1
mtLog_OSHeader0="Operating System"
Count mtLog_OSType=1
mtLog_OSType0="Type"
Count mtLog_OSBuildN=1
mtLog_OSBuildN0="Build #"
Count mtLog_OSUpdate=1
mtLog_OSUpdate0="Update"
Count mtLog_OSLanguage=1
mtLog_OSLanguage0="Language"
Count mtLog_OSCharset=1
mtLog_OSCharset0="Charset"
Count mtLog_NetHeader=1
mtLog_NetHeader0="Network"
Count mtLog_NetIP=1
mtLog_NetIP0="IP Address"
Count mtLog_NetSubmask=1
mtLog_NetSubmask0="Submask"
Count mtLog_NetGateway=1
mtLog_NetGateway0="Gateway"
Count mtLog_NetDNS1=1
mtLog_NetDNS10="DNS 1"
Count mtLog_NetDNS2=1
mtLog_NetDNS20="DNS 2"
Count mtLog_NetDHCP=1
mtLog_NetDHCP0="DHCP"
Count mtLog_CustInfoHeader=1
mtLog_CustInfoHeader0="Custom Information"
Count mtCallStack_Address=1
mtCallStack_Address0="Address"
Count mtCallStack_Name=1
mtCallStack_Name0="Module"
Count mtCallStack_Unit=1
mtCallStack_Unit0="Unit"
Count mtCallStack_Class=1
mtCallStack_Class0="Class"
Count mtCallStack_Procedure=1
mtCallStack_Procedure0="Procedure/Method"
Count mtCallStack_Line=1
mtCallStack_Line0="Line"
Count mtCallStack_MainThread=1
mtCallStack_MainThread0="Main"
Count mtCallStack_ExceptionThread=1
mtCallStack_ExceptionThread0="Exception Thread"
Count mtCallStack_RunningThread=1
mtCallStack_RunningThread0="Running Thread"
Count mtCallStack_CallingThread=1
mtCallStack_CallingThread0="Calling Thread"
Count mtCallStack_ThreadID=1
mtCallStack_ThreadID0="ID"
Count mtCallStack_ThreadPriority=1
mtCallStack_ThreadPriority0="Priority"
Count mtCallStack_ThreadClass=1
mtCallStack_ThreadClass0="Class"
Count mtCallStack_LeakCaption=1
mtCallStack_LeakCaption0="Memory Leak"
Count mtCallStack_LeakData=1
mtCallStack_LeakData0="Data"
Count mtCallStack_LeakType=1
mtCallStack_LeakType0="Type"
Count mtCallStack_LeakSize=1
mtCallStack_LeakSize0="Total size"
Count mtCallStack_LeakCount=1
mtCallStack_LeakCount0="Count"
Count mtSendDialog_Caption=1
mtSendDialog_Caption0="Send."
Count mtSendDialog_Message=1
mtSendDialog_Message0="Message"
Count mtSendDialog_Resolving=1
mtSendDialog_Resolving0="Resolving DNS..."
Count mtSendDialog_Login=1
mtSendDialog_Login0="Login..."
Count mtSendDialog_Connecting=1
mtSendDialog_Connecting0="Connecting with server..."
Count mtSendDialog_Connected=1
mtSendDialog_Connected0="Connected with server."
Count mtSendDialog_Sending=1
mtSendDialog_Sending0="Sending message..."
Count mtSendDialog_Sent=1
mtSendDialog_Sent0="Message sent."
Count mtSendDialog_SelectProject=1
mtSendDialog_SelectProject0="Select project..."
Count mtSendDialog_Searching=1
mtSendDialog_Searching0="Searching..."
Count mtSendDialog_Modifying=1
mtSendDialog_Modifying0="Modifying..."
Count mtSendDialog_Disconnecting=1
mtSendDialog_Disconnecting0="Disconnecting..."
Count mtSendDialog_Disconnected=1
mtSendDialog_Disconnected0="Disconnected."
Count mtReproduceDialog_Caption=1
mtReproduceDialog_Caption0="Request"
Count mtReproduceDialog_Request=1
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
Count mtReproduceDialog_OKButtonCaption=1
mtReproduceDialog_OKButtonCaption0="%26OK"
Count mtModules_Handle=1
mtModules_Handle0="Handle"
Count mtModules_Name=1
mtModules_Name0="Name"
Count mtModules_Description=1
mtModules_Description0="Description"
Count mtModules_Version=1
mtModules_Version0="Version"
Count mtModules_Size=1
mtModules_Size0="Size"
Count mtModules_LastModified=1
mtModules_LastModified0="Modified"
Count mtModules_Path=1
mtModules_Path0="Path"
Count mtProcesses_ID=1
mtProcesses_ID0="ID"
Count mtProcesses_Name=1
mtProcesses_Name0="Name"
Count mtProcesses_Description=1
mtProcesses_Description0="Description"
Count mtProcesses_Version=1
mtProcesses_Version0="Version"
Count mtProcesses_Memory=1
mtProcesses_Memory0="Memory"
Count mtProcesses_Priority=1
mtProcesses_Priority0="Priority"
Count mtProcesses_Threads=1
mtProcesses_Threads0="Threads"
Count mtProcesses_Path=1
mtProcesses_Path0="Path"
Count mtCPU_Registers=1
mtCPU_Registers0="Registers"
Count mtCPU_Stack=1
mtCPU_Stack0="Stack"
Count mtCPU_MemoryDump=1
mtCPU_MemoryDump0="Memory Dump"
Count mtSend_SuccessMsg=1
mtSend_SuccessMsg0="The message was sent successfully."
Count mtSend_FailureMsg=1
mtSend_FailureMsg0="Sorry, sending the message didn't work."
Count mtSend_BugClosedMsg=2
mtSend_BugClosedMsg0="These BUG is just closed."
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
Count mtSend_UnknownErrorMsg=1
mtSend_UnknownErrorMsg0="Unknown error."
Count mtSend_InvalidLoginMsg=1
mtSend_InvalidLoginMsg0="Invalid login request."
Count mtSend_InvalidSearchMsg=1
mtSend_InvalidSearchMsg0="Invalid search request."
Count mtSend_InvalidSelectionMsg=1
mtSend_InvalidSelectionMsg0="Invalid selection request."
Count mtSend_InvalidInsertMsg=1
mtSend_InvalidInsertMsg0="Invalid insert request."
Count mtSend_InvalidModifyMsg=1
mtSend_InvalidModifyMsg0="Invalid modify request."
Count mtFileCrackedMsg=2
mtFileCrackedMsg0="This file is cracked."
mtFileCrackedMsg1="The application will be closed."
Count mtException_LeakMultiFree=1
mtException_LeakMultiFree0="Multi Free memory leak."
Count mtException_LeakMemoryOverrun=1
mtException_LeakMemoryOverrun0="Memory Overrun leak."
Count mtException_AntiFreeze=1
mtException_AntiFreeze0="The application seems to be frozen."
Count mtInvalidEmailMsg=1
mtInvalidEmailMsg0="Invalid email."
TextsCollection=English
EurekaLog Last Line -->

View File

@ -13,4 +13,4 @@ BEGIN
END END
/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Model\TiposIVA_model.res */ /* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Model\TiposIVA_model.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf221.tmp */ /* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Model\TiposIVA_model.drf */

View File

@ -3,13 +3,13 @@ unit schTiposIVAClient_Intf;
interface interface
uses uses
Classes, DB, SysUtils, uROClasses, uDADataTable; Classes, DB, SysUtils, uROClasses, uDADataTable, FmtBCD, uROXMLIntf;
const const
{ Data table rules ids { Data table rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_TiposIVA = '{D96E3FA9-3BEC-4A87-B5A6-F8A8AEF73D87}'; RID_TiposIVA = '{700B374C-AA68-4A5B-9ACA-A0704A82A98D}';
{ Data table names } { Data table names }
nme_TiposIVA = 'TiposIVA'; nme_TiposIVA = 'TiposIVA';
@ -31,26 +31,41 @@ const
type type
{ ITiposIVA } { ITiposIVA }
ITiposIVA = interface(IDAStronglyTypedDataTable) ITiposIVA = interface(IDAStronglyTypedDataTable)
['{DEFBEA87-112C-4BFB-86E8-40085D5D6328}'] ['{342A3165-77DD-40FB-8154-0D79346AC9D1}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
function GetIDIsNull: Boolean;
procedure SetIDIsNull(const aValue: Boolean);
function GetREFERENCIAValue: String; function GetREFERENCIAValue: String;
procedure SetREFERENCIAValue(const aValue: String); procedure SetREFERENCIAValue(const aValue: String);
function GetREFERENCIAIsNull: Boolean;
procedure SetREFERENCIAIsNull(const aValue: Boolean);
function GetDESCRIPCIONValue: String; function GetDESCRIPCIONValue: String;
procedure SetDESCRIPCIONValue(const aValue: String); procedure SetDESCRIPCIONValue(const aValue: String);
function GetDESCRIPCIONIsNull: Boolean;
procedure SetDESCRIPCIONIsNull(const aValue: Boolean);
function GetIVAValue: Float; function GetIVAValue: Float;
procedure SetIVAValue(const aValue: Float); procedure SetIVAValue(const aValue: Float);
function GetIVAIsNull: Boolean;
procedure SetIVAIsNull(const aValue: Boolean);
function GetREValue: Float; function GetREValue: Float;
procedure SetREValue(const aValue: Float); procedure SetREValue(const aValue: Float);
function GetREIsNull: Boolean;
procedure SetREIsNull(const aValue: Boolean);
{ Properties } { Properties }
property ID: Integer read GetIDValue write SetIDValue; property ID: Integer read GetIDValue write SetIDValue;
property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
property IVA: Float read GetIVAValue write SetIVAValue; property IVA: Float read GetIVAValue write SetIVAValue;
property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull;
property RE: Float read GetREValue write SetREValue; property RE: Float read GetREValue write SetREValue;
property REIsNull: Boolean read GetREIsNull write SetREIsNull;
end; end;
{ TTiposIVADataTableRules } { TTiposIVADataTableRules }
@ -60,21 +75,36 @@ type
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; virtual; function GetIDValue: Integer; virtual;
procedure SetIDValue(const aValue: Integer); virtual; procedure SetIDValue(const aValue: Integer); virtual;
function GetIDIsNull: Boolean; virtual;
procedure SetIDIsNull(const aValue: Boolean); virtual;
function GetREFERENCIAValue: String; virtual; function GetREFERENCIAValue: String; virtual;
procedure SetREFERENCIAValue(const aValue: String); virtual; procedure SetREFERENCIAValue(const aValue: String); virtual;
function GetREFERENCIAIsNull: Boolean; virtual;
procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
function GetDESCRIPCIONValue: String; virtual; function GetDESCRIPCIONValue: String; virtual;
procedure SetDESCRIPCIONValue(const aValue: String); virtual; procedure SetDESCRIPCIONValue(const aValue: String); virtual;
function GetDESCRIPCIONIsNull: Boolean; virtual;
procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
function GetIVAValue: Float; virtual; function GetIVAValue: Float; virtual;
procedure SetIVAValue(const aValue: Float); virtual; procedure SetIVAValue(const aValue: Float); virtual;
function GetIVAIsNull: Boolean; virtual;
procedure SetIVAIsNull(const aValue: Boolean); virtual;
function GetREValue: Float; virtual; function GetREValue: Float; virtual;
procedure SetREValue(const aValue: Float); virtual; procedure SetREValue(const aValue: Float); virtual;
function GetREIsNull: Boolean; virtual;
procedure SetREIsNull(const aValue: Boolean); virtual;
{ Properties } { Properties }
property ID: Integer read GetIDValue write SetIDValue; property ID: Integer read GetIDValue write SetIDValue;
property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
property IVA: Float read GetIVAValue write SetIVAValue; property IVA: Float read GetIVAValue write SetIVAValue;
property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull;
property RE: Float read GetREValue write SetREValue; property RE: Float read GetREValue write SetREValue;
property REIsNull: Boolean read GetREIsNull write SetREIsNull;
public public
constructor Create(aDataTable: TDADataTable); override; constructor Create(aDataTable: TDADataTable); override;
@ -84,7 +114,7 @@ type
implementation implementation
uses Variants; uses Variants, uROBinaryHelpers;
{ TTiposIVADataTableRules } { TTiposIVADataTableRules }
constructor TTiposIVADataTableRules.Create(aDataTable: TDADataTable); constructor TTiposIVADataTableRules.Create(aDataTable: TDADataTable);
@ -107,6 +137,17 @@ begin
DataTable.Fields[idx_TiposIVAID].AsInteger := aValue; DataTable.Fields[idx_TiposIVAID].AsInteger := aValue;
end; end;
function TTiposIVADataTableRules.GetIDIsNull: boolean;
begin
result := DataTable.Fields[idx_TiposIVAID].IsNull;
end;
procedure TTiposIVADataTableRules.SetIDIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_TiposIVAID].AsVariant := Null;
end;
function TTiposIVADataTableRules.GetREFERENCIAValue: String; function TTiposIVADataTableRules.GetREFERENCIAValue: String;
begin begin
result := DataTable.Fields[idx_TiposIVAREFERENCIA].AsString; result := DataTable.Fields[idx_TiposIVAREFERENCIA].AsString;
@ -117,6 +158,17 @@ begin
DataTable.Fields[idx_TiposIVAREFERENCIA].AsString := aValue; DataTable.Fields[idx_TiposIVAREFERENCIA].AsString := aValue;
end; end;
function TTiposIVADataTableRules.GetREFERENCIAIsNull: boolean;
begin
result := DataTable.Fields[idx_TiposIVAREFERENCIA].IsNull;
end;
procedure TTiposIVADataTableRules.SetREFERENCIAIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_TiposIVAREFERENCIA].AsVariant := Null;
end;
function TTiposIVADataTableRules.GetDESCRIPCIONValue: String; function TTiposIVADataTableRules.GetDESCRIPCIONValue: String;
begin begin
result := DataTable.Fields[idx_TiposIVADESCRIPCION].AsString; result := DataTable.Fields[idx_TiposIVADESCRIPCION].AsString;
@ -127,6 +179,17 @@ begin
DataTable.Fields[idx_TiposIVADESCRIPCION].AsString := aValue; DataTable.Fields[idx_TiposIVADESCRIPCION].AsString := aValue;
end; end;
function TTiposIVADataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
result := DataTable.Fields[idx_TiposIVADESCRIPCION].IsNull;
end;
procedure TTiposIVADataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_TiposIVADESCRIPCION].AsVariant := Null;
end;
function TTiposIVADataTableRules.GetIVAValue: Float; function TTiposIVADataTableRules.GetIVAValue: Float;
begin begin
result := DataTable.Fields[idx_TiposIVAIVA].AsFloat; result := DataTable.Fields[idx_TiposIVAIVA].AsFloat;
@ -137,6 +200,17 @@ begin
DataTable.Fields[idx_TiposIVAIVA].AsFloat := aValue; DataTable.Fields[idx_TiposIVAIVA].AsFloat := aValue;
end; end;
function TTiposIVADataTableRules.GetIVAIsNull: boolean;
begin
result := DataTable.Fields[idx_TiposIVAIVA].IsNull;
end;
procedure TTiposIVADataTableRules.SetIVAIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_TiposIVAIVA].AsVariant := Null;
end;
function TTiposIVADataTableRules.GetREValue: Float; function TTiposIVADataTableRules.GetREValue: Float;
begin begin
result := DataTable.Fields[idx_TiposIVARE].AsFloat; result := DataTable.Fields[idx_TiposIVARE].AsFloat;
@ -147,6 +221,17 @@ begin
DataTable.Fields[idx_TiposIVARE].AsFloat := aValue; DataTable.Fields[idx_TiposIVARE].AsFloat := aValue;
end; end;
function TTiposIVADataTableRules.GetREIsNull: boolean;
begin
result := DataTable.Fields[idx_TiposIVARE].IsNull;
end;
procedure TTiposIVADataTableRules.SetREIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_TiposIVARE].AsVariant := Null;
end;
initialization initialization
RegisterDataTableRules(RID_TiposIVA, TTiposIVADataTableRules); RegisterDataTableRules(RID_TiposIVA, TTiposIVADataTableRules);

View File

@ -3,18 +3,18 @@ unit schTiposIVAServer_Intf;
interface interface
uses uses
Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, schTiposIVAClient_Intf; Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, FmtBCD, uROXMLIntf, schTiposIVAClient_Intf;
const const
{ Delta rules ids { Delta rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_TiposIVADelta = '{2A97AB6B-F1E7-4CEF-BB65-E0155C2C9A47}'; RID_TiposIVADelta = '{22B67F19-4406-4659-A4A0-F4894916A1C1}';
type type
{ ITiposIVADelta } { ITiposIVADelta }
ITiposIVADelta = interface(ITiposIVA) ITiposIVADelta = interface(ITiposIVA)
['{2A97AB6B-F1E7-4CEF-BB65-E0155C2C9A47}'] ['{22B67F19-4406-4659-A4A0-F4894916A1C1}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldREFERENCIAValue : String; function GetOldREFERENCIAValue : String;
@ -36,32 +36,57 @@ type
protected protected
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; virtual; function GetIDValue: Integer; virtual;
function GetIDIsNull: Boolean; virtual;
function GetOldIDValue: Integer; virtual; function GetOldIDValue: Integer; virtual;
function GetOldIDIsNull: Boolean; virtual;
procedure SetIDValue(const aValue: Integer); virtual; procedure SetIDValue(const aValue: Integer); virtual;
procedure SetIDIsNull(const aValue: Boolean); virtual;
function GetREFERENCIAValue: String; virtual; function GetREFERENCIAValue: String; virtual;
function GetREFERENCIAIsNull: Boolean; virtual;
function GetOldREFERENCIAValue: String; virtual; function GetOldREFERENCIAValue: String; virtual;
function GetOldREFERENCIAIsNull: Boolean; virtual;
procedure SetREFERENCIAValue(const aValue: String); virtual; procedure SetREFERENCIAValue(const aValue: String); virtual;
procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
function GetDESCRIPCIONValue: String; virtual; function GetDESCRIPCIONValue: String; virtual;
function GetDESCRIPCIONIsNull: Boolean; virtual;
function GetOldDESCRIPCIONValue: String; virtual; function GetOldDESCRIPCIONValue: String; virtual;
function GetOldDESCRIPCIONIsNull: Boolean; virtual;
procedure SetDESCRIPCIONValue(const aValue: String); virtual; procedure SetDESCRIPCIONValue(const aValue: String); virtual;
procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
function GetIVAValue: Float; virtual; function GetIVAValue: Float; virtual;
function GetIVAIsNull: Boolean; virtual;
function GetOldIVAValue: Float; virtual; function GetOldIVAValue: Float; virtual;
function GetOldIVAIsNull: Boolean; virtual;
procedure SetIVAValue(const aValue: Float); virtual; procedure SetIVAValue(const aValue: Float); virtual;
procedure SetIVAIsNull(const aValue: Boolean); virtual;
function GetREValue: Float; virtual; function GetREValue: Float; virtual;
function GetREIsNull: Boolean; virtual;
function GetOldREValue: Float; virtual; function GetOldREValue: Float; virtual;
function GetOldREIsNull: Boolean; virtual;
procedure SetREValue(const aValue: Float); virtual; procedure SetREValue(const aValue: Float); virtual;
procedure SetREIsNull(const aValue: Boolean); virtual;
{ Properties } { Properties }
property ID : Integer read GetIDValue write SetIDValue; property ID : Integer read GetIDValue write SetIDValue;
property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull;
property OldID : Integer read GetOldIDValue; property OldID : Integer read GetOldIDValue;
property OldIDIsNull : Boolean read GetOldIDIsNull;
property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue; property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue;
property REFERENCIAIsNull : Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
property OldREFERENCIA : String read GetOldREFERENCIAValue; property OldREFERENCIA : String read GetOldREFERENCIAValue;
property OldREFERENCIAIsNull : Boolean read GetOldREFERENCIAIsNull;
property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property DESCRIPCIONIsNull : Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
property OldDESCRIPCIONIsNull : Boolean read GetOldDESCRIPCIONIsNull;
property IVA : Float read GetIVAValue write SetIVAValue; property IVA : Float read GetIVAValue write SetIVAValue;
property IVAIsNull : Boolean read GetIVAIsNull write SetIVAIsNull;
property OldIVA : Float read GetOldIVAValue; property OldIVA : Float read GetOldIVAValue;
property OldIVAIsNull : Boolean read GetOldIVAIsNull;
property RE : Float read GetREValue write SetREValue; property RE : Float read GetREValue write SetREValue;
property REIsNull : Boolean read GetREIsNull write SetREIsNull;
property OldRE : Float read GetOldREValue; property OldRE : Float read GetOldREValue;
property OldREIsNull : Boolean read GetOldREIsNull;
public public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override; constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@ -72,7 +97,7 @@ type
implementation implementation
uses uses
Variants, uROBinaryHelpers; Variants, uROBinaryHelpers, uDAInterfaces;
{ TTiposIVABusinessProcessorRules } { TTiposIVABusinessProcessorRules }
constructor TTiposIVABusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); constructor TTiposIVABusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
@ -90,76 +115,156 @@ begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAID]; result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAID];
end; end;
function TTiposIVABusinessProcessorRules.GetIDIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAID]);
end;
function TTiposIVABusinessProcessorRules.GetOldIDValue: Integer; function TTiposIVABusinessProcessorRules.GetOldIDValue: Integer;
begin begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAID]; result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAID];
end; end;
function TTiposIVABusinessProcessorRules.GetOldIDIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAID]);
end;
procedure TTiposIVABusinessProcessorRules.SetIDValue(const aValue: Integer); procedure TTiposIVABusinessProcessorRules.SetIDValue(const aValue: Integer);
begin begin
BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAID] := aValue; BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAID] := aValue;
end; end;
procedure TTiposIVABusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAID] := Null;
end;
function TTiposIVABusinessProcessorRules.GetREFERENCIAValue: String; function TTiposIVABusinessProcessorRules.GetREFERENCIAValue: String;
begin begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAREFERENCIA]; result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAREFERENCIA];
end; end;
function TTiposIVABusinessProcessorRules.GetREFERENCIAIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAREFERENCIA]);
end;
function TTiposIVABusinessProcessorRules.GetOldREFERENCIAValue: String; function TTiposIVABusinessProcessorRules.GetOldREFERENCIAValue: String;
begin begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAREFERENCIA]; result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAREFERENCIA];
end; end;
function TTiposIVABusinessProcessorRules.GetOldREFERENCIAIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAREFERENCIA]);
end;
procedure TTiposIVABusinessProcessorRules.SetREFERENCIAValue(const aValue: String); procedure TTiposIVABusinessProcessorRules.SetREFERENCIAValue(const aValue: String);
begin begin
BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAREFERENCIA] := aValue; BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAREFERENCIA] := aValue;
end; end;
procedure TTiposIVABusinessProcessorRules.SetREFERENCIAIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAREFERENCIA] := Null;
end;
function TTiposIVABusinessProcessorRules.GetDESCRIPCIONValue: String; function TTiposIVABusinessProcessorRules.GetDESCRIPCIONValue: String;
begin begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVADESCRIPCION]; result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVADESCRIPCION];
end; end;
function TTiposIVABusinessProcessorRules.GetDESCRIPCIONIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVADESCRIPCION]);
end;
function TTiposIVABusinessProcessorRules.GetOldDESCRIPCIONValue: String; function TTiposIVABusinessProcessorRules.GetOldDESCRIPCIONValue: String;
begin begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVADESCRIPCION]; result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVADESCRIPCION];
end; end;
function TTiposIVABusinessProcessorRules.GetOldDESCRIPCIONIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVADESCRIPCION]);
end;
procedure TTiposIVABusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String); procedure TTiposIVABusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String);
begin begin
BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVADESCRIPCION] := aValue; BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVADESCRIPCION] := aValue;
end; end;
procedure TTiposIVABusinessProcessorRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVADESCRIPCION] := Null;
end;
function TTiposIVABusinessProcessorRules.GetIVAValue: Float; function TTiposIVABusinessProcessorRules.GetIVAValue: Float;
begin begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAIVA]; result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAIVA];
end; end;
function TTiposIVABusinessProcessorRules.GetIVAIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAIVA]);
end;
function TTiposIVABusinessProcessorRules.GetOldIVAValue: Float; function TTiposIVABusinessProcessorRules.GetOldIVAValue: Float;
begin begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAIVA]; result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAIVA];
end; end;
function TTiposIVABusinessProcessorRules.GetOldIVAIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVAIVA]);
end;
procedure TTiposIVABusinessProcessorRules.SetIVAValue(const aValue: Float); procedure TTiposIVABusinessProcessorRules.SetIVAValue(const aValue: Float);
begin begin
BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAIVA] := aValue; BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAIVA] := aValue;
end; end;
procedure TTiposIVABusinessProcessorRules.SetIVAIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVAIVA] := Null;
end;
function TTiposIVABusinessProcessorRules.GetREValue: Float; function TTiposIVABusinessProcessorRules.GetREValue: Float;
begin begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVARE]; result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVARE];
end; end;
function TTiposIVABusinessProcessorRules.GetREIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVARE]);
end;
function TTiposIVABusinessProcessorRules.GetOldREValue: Float; function TTiposIVABusinessProcessorRules.GetOldREValue: Float;
begin begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVARE]; result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVARE];
end; end;
function TTiposIVABusinessProcessorRules.GetOldREIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_TiposIVARE]);
end;
procedure TTiposIVABusinessProcessorRules.SetREValue(const aValue: Float); procedure TTiposIVABusinessProcessorRules.SetREValue(const aValue: Float);
begin begin
BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVARE] := aValue; BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVARE] := aValue;
end; end;
procedure TTiposIVABusinessProcessorRules.SetREIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_TiposIVARE] := Null;
end;
initialization initialization
RegisterBusinessProcessorRules(RID_TiposIVADelta, TTiposIVABusinessProcessorRules); RegisterBusinessProcessorRules(RID_TiposIVADelta, TTiposIVABusinessProcessorRules);

View File

@ -16,10 +16,6 @@ object srvTiposIVA: TsrvTiposIVA
end end
object DataDictionary: TDADataDictionary object DataDictionary: TDADataDictionary
Fields = < Fields = <
item
Name = 'TIPOS_IVA_ID'
DataType = datInteger
end
item item
Name = 'TIPOS_IVA_REFERENCIA' Name = 'TIPOS_IVA_REFERENCIA'
DataType = datString DataType = datString
@ -43,6 +39,13 @@ object srvTiposIVA: TsrvTiposIVA
DataType = datFloat DataType = datFloat
DisplayLabel = '% RE' DisplayLabel = '% RE'
Alignment = taRightJustify Alignment = taRightJustify
end
item
Name = 'TiposIVA_ID'
DataType = datAutoInc
GeneratorName = 'GEN_TIPOS_IVA_ID'
DisplayLabel = 'ID'
ServerAutoRefresh = True
end> end>
Left = 150 Left = 150
Top = 24 Top = 24
@ -58,10 +61,7 @@ object srvTiposIVA: TsrvTiposIVA
item item
Connection = 'IBX' Connection = 'IBX'
TargetTable = 'TIPOS_IVA' TargetTable = 'TIPOS_IVA'
SQL = StatementType = stAutoSQL
'SELECT '#10' ID, REFERENCIA, DESCRIPCION, IVA, RE'#10' FROM'#10' TIPO' +
'S_IVA'
StatementType = stSQL
ColumnMappings = < ColumnMappings = <
item item
DatasetField = 'ID' DatasetField = 'ID'
@ -88,8 +88,10 @@ object srvTiposIVA: TsrvTiposIVA
Fields = < Fields = <
item item
Name = 'ID' Name = 'ID'
DataType = datInteger DataType = datAutoInc
DictionaryEntry = 'TIPOS_IVA_ID' GeneratorName = 'GEN_TIPOS_IVA_ID'
ServerAutoRefresh = True
DictionaryEntry = 'TiposIVA_ID'
InPrimaryKey = True InPrimaryKey = True
end end
item item
@ -117,156 +119,13 @@ object srvTiposIVA: TsrvTiposIVA
end> end>
JoinDataTables = <> JoinDataTables = <>
UnionDataTables = <> UnionDataTables = <>
Commands = < Commands = <>
item
Params = <
item
Name = 'ID'
DataType = datInteger
Value = ''
ParamType = daptInput
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
Value = ''
ParamType = daptInput
end
item
Name = 'DESCRIPCION'
DataType = datString
Size = 255
Value = ''
ParamType = daptInput
end
item
Name = 'IVA'
DataType = datFloat
Value = ''
ParamType = daptInput
end
item
Name = 'RE'
DataType = datFloat
Value = ''
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
TargetTable = 'TIPOS_IVA'
SQL =
'INSERT'#10' INTO TIPOS_IVA'#10' (ID, REFERENCIA, DESCRIPCION, IVA, R' +
'E)'#10' VALUES'#10' (:ID, :REFERENCIA, :DESCRIPCION, :IVA, :RE)'
StatementType = stSQL
ColumnMappings = <>
end>
Name = 'Insert_TiposIVA'
end
item
Params = <
item
Name = 'OLD_ID'
DataType = datInteger
Value = ''
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
TargetTable = 'TIPOS_IVA'
SQL = 'DELETE '#10' FROM'#10' TIPOS_IVA'#10' WHERE'#10' (ID = :OLD_ID)'
StatementType = stSQL
ColumnMappings = <>
end>
Name = 'Delete_TiposIVA'
end
item
Params = <
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
Value = ''
ParamType = daptInput
end
item
Name = 'DESCRIPCION'
DataType = datString
Size = 255
Value = ''
ParamType = daptInput
end
item
Name = 'IVA'
DataType = datFloat
Value = ''
ParamType = daptInput
end
item
Name = 'RE'
DataType = datFloat
Value = ''
ParamType = daptInput
end
item
Name = 'OLD_ID'
DataType = datInteger
Value = ''
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
TargetTable = 'TIPOS_IVA'
SQL =
'UPDATE TIPOS_IVA'#10' SET '#10' REFERENCIA = :REFERENCIA,'#10' DESCRI' +
'PCION = :DESCRIPCION, '#10' IVA = :IVA, '#10' RE = :RE'#10' WHERE'#10' ' +
' (ID = :OLD_ID)'
StatementType = stSQL
ColumnMappings = <>
end>
Name = 'Update_TiposIVA'
end>
RelationShips = <> RelationShips = <>
UpdateRules = < UpdateRules = <>
item
Name = 'Insert Familias'
DoUpdate = False
DoDelete = False
DatasetName = 'Familias'
FailureBehavior = fbRaiseException
end
item
Name = 'Update Familias'
DoInsert = False
DoDelete = False
DatasetName = 'Familias'
FailureBehavior = fbRaiseException
end
item
Name = 'Delete Familias'
DoUpdate = False
DoInsert = False
DatasetName = 'Familias'
FailureBehavior = fbRaiseException
end>
Version = 0 Version = 0
Left = 48 Left = 48
Top = 24 Top = 24
end end
object bpTiposIVA: TDABusinessProcessor
Schema = schTiposIVA
InsertCommandName = 'Insert_TiposIVA'
DeleteCommandName = 'Delete_TiposIVA'
UpdateCommandName = 'Update_TiposIVA'
ReferencedDataset = 'TiposIVA'
ProcessorOptions = [poAutoGenerateRefreshDataset, poPrepareCommands]
UpdateMode = updWhereKeyOnly
Left = 251
Top = 24
end
object Bin2DataStreamer: TDABin2DataStreamer object Bin2DataStreamer: TDABin2DataStreamer
Left = 48 Left = 48
Top = 88 Top = 88

View File

@ -22,17 +22,14 @@ type
{ TsrvTiposIVA } { TsrvTiposIVA }
TsrvTiposIVA = class(TDataAbstractService, IsrvTiposIVA) TsrvTiposIVA = class(TDataAbstractService, IsrvTiposIVA)
Diagrams: TDADiagrams; Diagrams: TDADiagrams;
Bin2DataStreamer: TDABin2DataStreamer;
schTiposIVA: TDASchema; schTiposIVA: TDASchema;
DataDictionary: TDADataDictionary; DataDictionary: TDADataDictionary;
bpTiposIVA: TDABusinessProcessor;
Bin2DataStreamer: TDABin2DataStreamer;
procedure DARemoteServiceCreate(Sender: TObject); procedure DARemoteServiceCreate(Sender: TObject);
procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject;
var aConnectionName: string); var aConnectionName: string);
private private
protected protected
{ IsrvTiposIVA methods }
function GetNextAutoInc(const GeneratorName: String): Integer;
end; end;
implementation implementation
@ -58,11 +55,6 @@ begin
ConnectionName := dmServer.ConnectionName; ConnectionName := dmServer.ConnectionName;
end; end;
function TsrvTiposIVA.GetNextAutoInc(const GeneratorName: String): Integer;
begin
Result := uDatabaseUtils.GetNextAutoInc(GeneratorName)
end;
initialization initialization
TROClassFactory.Create('srvTiposIVA', Create_srvTiposIVA, TsrvTiposIVA_Invoker); TROClassFactory.Create('srvTiposIVA', Create_srvTiposIVA, TsrvTiposIVA_Invoker);

Some files were not shown because too many files have changed in this diff Show More