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="SuppressStatusMessages" type="Boolean">False</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 name="ActionTextColor" type="Cardinal">0</Property>
<Property MultiValue="0" name="ActionTypeID" type="string"></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 name="Enabled" type="WordBool">True</Property>
<Property name="EnableLiveCapture" type="Boolean">True</Property>
@ -252,7 +252,7 @@
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
<Property name="MaxRetryAttempts" type="Cardinal">0</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 name="PauseInterval" 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 MultiValue="0" name="ActionTypeID" type="string"></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="IgnoreFailure" type="WordBool">False</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 name="MaxRetryAttempts" type="Cardinal">0</Property>
<Property name="NodeCollapsed" type="Boolean">False</Property>
@ -16073,36 +16073,6 @@ Comments=
<Property name="TargetIsDir" type="WordBool">True</Property>
</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 Class="TFBActionListParametersCollection" XMLID="{DA68752A-A92E-47B7-A8DE-1B3E46E8D956}"/>
</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
/* 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\uDataModuleConexion.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\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
/* 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\uViewGrid.dfm */
/* 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\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\uUsuario.dfm */
/* 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
begin
// ¡¡¡¡¡ MUY IMPORTANTE !!!!!!!!!!!!!!!!!!
ADetail.DataTable.DisableEventHandlers;
//ADetail.DataTable.DisableEventHandlers;
try
ADetail.DataTable.MasterSource := AMasterDataSource;
finally
{ Hay que activar los eventos porque dejan de funcionar
las reglas de negocio al establecer la relación
maestro-detalle. (Fallo de Data Abstract 3) }
ADetail.DataTable.EnableEventHandlers;
//ADetail.DataTable.EnableEventHandlers;
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_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Cliente\FactuGES.exe</DCC_DependencyCheckOutputName>
<DCC_EnabledPackages>true</DCC_EnabledPackages>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<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\dclsoap100.bpl">CodeGear SOAP 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
END
/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\WindowsXP.res */
/* C:\Codigo Tecsitel\Lib\JVCL\JvXPCore.res */
/* c:\archivos de programa\codegear\rad studio\5.0\lib\WindowsXP.res */
/* C:\Codigo Tecsitel\Lib\jvcl\JvXPCore.res */
/* C:\Codigo Tecsitel\Source\Cliente\uSplash.dfm */
/* C:\Codigo Tecsitel\Source\Cliente\uAcercaDe.dfm */
/* C:\Codigo Tecsitel\Source\Cliente\uPantallaPrincipal.dfm */
/* 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
/* 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)
protected
FDireccionesController : IDireccionesContactoController;
procedure AsignarID(AContacto: IBizContacto; const IDNuevo: Integer); override;
function ValidarContacto(AContacto: IBizContacto): Boolean; override;
public
constructor Create; override;
@ -57,21 +56,6 @@ uses
{ 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;
begin
Result := (FDataModule as IDataModuleClientes).GetItem(ID);

View File

@ -32,9 +32,6 @@ type
TContactosController = class(TInterfacedObject, IContactosController)
protected
FDataModule : IDataModuleContactos;
procedure AsignarID(AContacto: IBizContacto; const IDNuevo : Integer); virtual;
procedure AsignarIDDetalles(AContacto: IBizContacto;
const IDCabecera : Integer; ADataTable : TDADataTable);
procedure FiltrarEmpresa(AContacto : IBizContacto); virtual;
function _Vacio : IBizContacto; virtual;
function ValidarContacto(AContacto : IBizContacto): Boolean; virtual;
@ -75,55 +72,6 @@ begin
AContacto.Insert;
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;
begin
Result := Self._Vacio;
@ -247,14 +195,7 @@ begin
begin
ShowHourglassCursor;
try
if AContacto.EsNuevo then
NuevoID := FDataModule.GetNextID(AContacto.DataTable.LogicalName)
else
NuevoID := AContacto.ID;
AsignarID(AContacto, NuevoID);
AContacto.DataTable.ApplyUpdates;
Result := True;
finally
HideHourglassCursor;
@ -281,67 +222,6 @@ begin
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;
begin
Result := False;
@ -374,11 +254,11 @@ begin
AContacto.DataTable.Active := False;
// Filtrar los contactos actuales por empresa
with AContacto.DataTable.Where do
with AContacto.DataTable.DynamicWhere do
begin
if NotEmpty then
AddOperator(opAND);
AddCondition(fld_ContactosID_EMPRESA, cEqual, dmUsuarios.IDEmpresaActual);
// (ID = :ID)
Expression := NewBinaryExpression(NewField('', fld_ContactosID_EMPRESA),
NewConstant(dmUsuarios.IDEmpresaActual, datInteger), dboEqual);
end;
end;

View File

@ -9,7 +9,6 @@ uses
type
IDireccionesContactoController = interface
['{9B6CB172-F32C-414F-A0E2-99920CAF88FB}']
procedure AsignarID(ADetalles: IBizDireccionesContacto; IDCabecera: Integer; AEsNuevo:Boolean);
procedure CopiarDireccionFiscal(AContacto: IBizContacto; ADireccion: IBizDireccionesContacto; AAnadir : Boolean = True);
procedure Ver(ADireccion : IBizDireccionesContacto);
function Localizar(ADirecciones: IBizDireccionesContacto; const ID : Integer): Boolean;
@ -21,7 +20,6 @@ type
public
procedure CopiarDireccionFiscal(AContacto: IBizContacto; ADireccion: IBizDireccionesContacto; AAnadir : Boolean = True);
procedure Ver(ADireccion : IBizDireccionesContacto);
procedure AsignarID(ADetalles: IBizDireccionesContacto; IDCabecera: Integer; AEsNuevo:Boolean);
function Localizar(ADirecciones: IBizDireccionesContacto; const ID : Integer): Boolean;
constructor Create; virtual;
destructor Destroy; override;
@ -35,74 +33,6 @@ uses
uDataModuleContactos, schContactosClient_Intf, uIEditorDireccionContacto,
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(
AContacto: IBizContacto; ADireccion: IBizDireccionesContacto;

View File

@ -17,9 +17,6 @@ type
end;
TEmpleadosController = class(TContactosController, IEmpleadosController)
protected
procedure AsignarID(AContacto: IBizContacto; const IDNuevo: Integer); override;
public
constructor Create; override;
@ -47,15 +44,6 @@ uses
{ 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;
begin
Result := (FDataModule as IDataModuleEmpleados).GetItem(ID);

View File

@ -42,13 +42,19 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="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>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="Contactos_data.dpk">
<MainSource>MainSource</MainSource>
</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">
<Form>DataModuleClientes </Form>
</DCCReference>
@ -63,3 +69,487 @@
</DCCReference>
</ItemGroup>
</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
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\uDataModuleProveedores.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleEmpleados.dfm */
/* 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
Height = 433
Width = 705
Height = 325
Width = 636
inherited rda_Contactos: TDARemoteDataAdapter
Top = 79
end
inherited Bin2DataStreamer: TDABin2DataStreamer
Top = 136
end
inherited ds_Contactos: TDADataSource
DataSet = tbl_Contactos.Dataset
end
inherited ds_ContactosCategorias: TDADataSource
DataSet = tbl_ContactosCategorias.Dataset
end
inherited ds_DatosBancarios: TDADataSource
DataSet = tbl_DatosBancarios.Dataset
end
inherited ds_DireccionesContacto: TDADataSource
DataSet = tbl_DireccionesContacto.Dataset
end
inherited rda_Contactos: TDARemoteDataAdapter
Top = 79
inherited ds_DatosBancarios: TDADataSource
DataSet = tbl_DatosBancarios.Dataset
end
object tbl_Clientes: TDACDSDataTable
object tbl_Clientes: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datAutoInc
GeneratorName = 'GEN_CONTACTOS_ID'
DictionaryEntry = 'Contactos_ID'
InPrimaryKey = True
end
@ -42,16 +46,10 @@ inherited DataModuleClientes: TDataModuleClientes
Name = 'NOMBRE'
DataType = datString
Size = 255
Required = True
DisplayLabel = 'Nombre'
DictionaryEntry = 'Contactos_NOMBRE'
end
item
Name = 'CALLE'
DataType = datString
Size = 255
DisplayLabel = 'Direcci'#243'n'
DictionaryEntry = 'Contactos_CALLE'
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
@ -59,11 +57,18 @@ inherited DataModuleClientes: TDataModuleClientes
DisplayLabel = 'Persona de contacto'
DictionaryEntry = 'Contactos_PERSONA_CONTACTO'
end
item
Name = 'CALLE'
DataType = datString
Size = 255
DisplayLabel = 'Direcci'#195#179'n'
DictionaryEntry = 'Contactos_CALLE'
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
DisplayLabel = 'Poblaci'#243'n'
DisplayLabel = 'Poblaci'#195#179'n'
DictionaryEntry = 'Contactos_POBLACION'
end
item
@ -77,7 +82,7 @@ inherited DataModuleClientes: TDataModuleClientes
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
DisplayLabel = 'C'#243'digo postal'
DisplayLabel = 'C'#195#179'digo postal'
DictionaryEntry = 'Contactos_CODIGO_POSTAL'
end
item
@ -98,7 +103,7 @@ inherited DataModuleClientes: TDataModuleClientes
Name = 'MOVIL_1'
DataType = datString
Size = 25
DisplayLabel = 'M'#243'vil'
DisplayLabel = 'M'#195#179'vil'
DictionaryEntry = 'Contactos_MOVIL_1'
end
item
@ -142,6 +147,14 @@ inherited DataModuleClientes: TDataModuleClientes
DisplayLabel = 'Observaciones'
DictionaryEntry = 'Contactos_NOTAS'
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
end
item
Name = 'USUARIO'
DataType = datString
@ -160,34 +173,6 @@ inherited DataModuleClientes: TDataModuleClientes
Size = 255
DictionaryEntry = 'Clientes_REFERENCIA'
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
Name = 'GRUPO_CLIENTE'
DataType = datString
@ -210,40 +195,67 @@ inherited DataModuleClientes: TDataModuleClientes
end
item
Name = 'BLOQUEADO'
DataType = datInteger
DisplayLabel = #191'Bloqueado?'
DataType = datSmallInt
DisplayLabel = #194#191'Bloqueado?'
DictionaryEntry = 'Clientes_BLOQUEADO'
end
item
Name = 'REGIMEN_IVA'
DataType = datString
Size = 255
DisplayLabel = 'R'#195#169'gimen de IVA'
DictionaryEntry = 'Clientes_REGIMEN_IVA'
end
item
Name = 'MOTIVO_BLOQUEO'
DataType = datString
Size = 255
DisplayLabel = 'Motivo del 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>
Params = <>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_clientes
RemoteDataAdapter = rda_Contactos
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'Clientes'
IndexDefs = <>
Left = 288
Top = 184
Left = 296
Top = 168
end
object ds_Clientes: TDADataSource
DataSet = tbl_Clientes.Dataset
DataTable = tbl_Clientes
Left = 288
Top = 304
Left = 296
Top = 232
end
object tbl_ClientesDescuentos: TDACDSDataTable
object tbl_ClientesDescuentos: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
DataType = datAutoInc
GeneratorName = 'GEN_CLIENTES_DTOS_PROV_ID'
DictionaryEntry = 'ClientesDescuentos_ID'
InPrimaryKey = True
end
@ -273,86 +285,47 @@ inherited DataModuleClientes: TDataModuleClientes
Alignment = taRightJustify
DictionaryEntry = 'ClientesDescuentos_DESCUENTO'
end>
Params = <
item
Name = 'ID_CLIENTE'
DataType = datInteger
Value = 1018
ParamType = daptInput
end>
MasterParamsMappings.Strings = (
'ID_CLIENTE=ID')
Params = <>
MasterMappingMode = mmWhere
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_clientesDescuentos
RemoteDataAdapter = rda_Contactos
MasterSource = ds_Clientes
MasterFields = 'ID'
DetailFields = 'ID_CLIENTE'
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'ClientesDescuentos'
IndexDefs = <>
Left = 392
Top = 184
Left = 448
Top = 168
end
object ds_ClientesDescuentos: TDADataSource
DataSet = tbl_ClientesDescuentos.Dataset
DataTable = tbl_ClientesDescuentos
Left = 384
Top = 304
Left = 448
Top = 224
end
object tbl_GruposCliente: TDACDSDataTable
object tbl_GruposCliente: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'DESCRIPCION'
DataType = datString
Size = 255
DisplayLabel = 'Descripci'#195#179'n'
end>
Params = <>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_GruposCliente
RemoteDataAdapter = rda_Contactos
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'GruposCliente'
IndexDefs = <>
Left = 512
Top = 184
Left = 552
Top = 168
end
object ds_GruposCliente: TDADataSource
DataSet = tbl_GruposCliente.Dataset
DataTable = tbl_GruposCliente
Left = 512
Top = 304
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
Left = 552
Top = 224
end
end

View File

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

View File

@ -1,29 +1,42 @@
object DataModuleContactos: TDataModuleContactos
OldCreateOrder = True
OnCreate = DAClientDataModuleCreate
Height = 420
Width = 527
Height = 309
Width = 570
object RORemoteService: TRORemoteService
Message = ROBinMessage1
Channel = ROWinInetHTTPChannel1
Message = dmConexion.ROMessage
Channel = dmConexion.ROChannel
ServiceName = 'srvContactos'
Left = 40
Top = 16
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 = []
Fields = <
item
Name = 'ID'
DataType = datAutoInc
GeneratorName = 'GEN_CONTACTOS_ID'
DictionaryEntry = 'Contactos_ID'
InPrimaryKey = True
end
item
Name = 'ID_CATEGORIA'
DataType = datInteger
DisplayLabel = 'Contactos_ID_CATEGORIA'
DictionaryEntry = 'Contactos_ID_CATEGORIA'
end
item
Name = 'NIF_CIF'
@ -36,6 +49,7 @@ object DataModuleContactos: TDataModuleContactos
Name = 'NOMBRE'
DataType = datString
Size = 255
Required = True
DisplayLabel = 'Nombre'
DictionaryEntry = 'Contactos_NOMBRE'
end
@ -50,14 +64,14 @@ object DataModuleContactos: TDataModuleContactos
Name = 'CALLE'
DataType = datString
Size = 255
DisplayLabel = 'Direcci'#243'n'
DisplayLabel = 'Direcci'#195#179'n'
DictionaryEntry = 'Contactos_CALLE'
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
DisplayLabel = 'Poblaci'#243'n'
DisplayLabel = 'Poblaci'#195#179'n'
DictionaryEntry = 'Contactos_POBLACION'
end
item
@ -71,7 +85,7 @@ object DataModuleContactos: TDataModuleContactos
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
DisplayLabel = 'C'#243'digo postal'
DisplayLabel = 'C'#195#179'digo postal'
DictionaryEntry = 'Contactos_CODIGO_POSTAL'
end
item
@ -92,7 +106,7 @@ object DataModuleContactos: TDataModuleContactos
Name = 'MOVIL_1'
DataType = datString
Size = 25
DisplayLabel = 'M'#243'vil'
DisplayLabel = 'M'#195#179'vil'
DictionaryEntry = 'Contactos_MOVIL_1'
end
item
@ -136,6 +150,18 @@ object DataModuleContactos: TDataModuleContactos
DisplayLabel = 'Observaciones'
DictionaryEntry = 'Contactos_NOTAS'
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
Name = 'USUARIO'
DataType = datString
@ -146,7 +172,6 @@ object DataModuleContactos: TDataModuleContactos
item
Name = 'ID_EMPRESA'
DataType = datInteger
DictionaryEntry = 'Contactos_ID_EMPRESA'
end
item
Name = 'REFERENCIA'
@ -155,30 +180,22 @@ object DataModuleContactos: TDataModuleContactos
DisplayLabel = 'Referencia'
DictionaryEntry = 'Contactos_REFERENCIA'
end>
Params = <
item
Name = 'ID_CATEGORIA'
DataType = datInteger
Value = '22'
ParamType = daptInput
end>
MasterMappingMode = mmDataRequest
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_Contactos
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'Contactos'
IndexDefs = <>
Left = 168
Left = 176
Top = 16
end
object ds_Contactos: TDADataSource
DataSet = tbl_Contactos.Dataset
DataTable = tbl_Contactos
Left = 168
Top = 128
Left = 176
Top = 80
end
object tbl_ContactosCategorias: TDACDSDataTable
object tbl_ContactosCategorias: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
@ -191,140 +208,32 @@ object DataModuleContactos: TDataModuleContactos
DataType = datInteger
InPrimaryKey = True
end>
Params = <
item
Name = 'ID_CONTACTO'
DataType = datInteger
Value = '444'
ParamType = daptInput
end>
MasterParamsMappings.Strings = (
'ID_CONTACTO=ID')
Params = <>
MasterMappingMode = mmWhere
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_ContactosCategorias
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 = 'ContactosCategorias'
IndexDefs = <>
Left = 288
Left = 296
Top = 16
end
object ds_ContactosCategorias: TDADataSource
DataSet = tbl_ContactosCategorias.Dataset
DataTable = tbl_ContactosCategorias
Left = 288
Top = 128
Left = 296
Top = 80
end
object tbl_DatosBancarios: TDACDSDataTable
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
object tbl_DireccionesContacto: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datAutoInc
GeneratorName = 'GEN_CONTACTOS_DIR_ID'
DictionaryEntry = 'DireccionesContacto_ID'
InPrimaryKey = True
end
@ -333,13 +242,6 @@ object DataModuleContactos: TDataModuleContactos
DataType = datInteger
DictionaryEntry = 'DireccionesContacto_ID_CONTACTO'
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
DisplayLabel = 'DireccionesContacto_NOMBRE'
DictionaryEntry = 'DireccionesContacto_NOMBRE'
end
item
Name = 'CALLE'
DataType = datString
@ -351,7 +253,7 @@ object DataModuleContactos: TDataModuleContactos
Name = 'POBLACION'
DataType = datString
Size = 255
DisplayLabel = 'Poblaci'#243'n'
DisplayLabel = 'Poblaci'#195#179'n'
DictionaryEntry = 'DireccionesContacto_POBLACION'
end
item
@ -365,7 +267,7 @@ object DataModuleContactos: TDataModuleContactos
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
DisplayLabel = 'C'#243'digo postal'
DisplayLabel = 'C'#195#179'digo postal'
DictionaryEntry = 'DireccionesContacto_CODIGO_POSTAL'
end
item
@ -375,18 +277,25 @@ object DataModuleContactos: TDataModuleContactos
DisplayLabel = 'Persona de contacto'
DictionaryEntry = 'DireccionesContacto_PERSONA_CONTACTO'
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
DisplayLabel = 'DireccionesContacto_NOMBRE'
DictionaryEntry = 'DireccionesContacto_NOMBRE'
end
item
Name = 'TELEFONO'
DataType = datString
Size = 25
DisplayLabel = 'Tel'#233'fono'
DisplayLabel = 'Tel'#195#169'fono'
DictionaryEntry = 'DireccionesContacto_TELEFONO'
end
item
Name = 'MOVIL'
DataType = datString
Size = 25
DisplayLabel = 'M'#243'vil'
DisplayLabel = 'M'#195#179'vil'
DictionaryEntry = 'Contactos_MOVIL_1'
end
item
@ -414,76 +323,109 @@ object DataModuleContactos: TDataModuleContactos
DataType = datFloat
DisplayLabel = 'Coste del porte'
DictionaryEntry = 'DireccionesContacto_PORTE'
end>
Params = <
end
item
Name = 'ID_CONTACTO'
DataType = datInteger
Value = '9'
ParamType = daptInput
Name = 'FECHA_ALTA'
DataType = datDateTime
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
end>
MasterParamsMappings.Strings = (
'ID_CONTACTO=ID')
Params = <>
MasterMappingMode = mmWhere
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_DireccionesContacto
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 = 'DireccionesContacto'
IndexDefs = <>
Left = 168
Top = 208
Left = 448
Top = 16
end
object ds_DireccionesContacto: TDADataSource
DataSet = tbl_DireccionesContacto.Dataset
DataTable = tbl_DireccionesContacto
Left = 168
Top = 264
Left = 448
Top = 80
end
object DataStreamer: TDABinDataStreamer
Left = 40
Top = 92
object tbl_DatosBancarios: TDAMemDataTable
RemoteUpdatesOptions = []
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
object rda_Contactos: TDARemoteDataAdapter
GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService
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
object ds_DatosBancarios: TDADataSource
DataSet = tbl_DatosBancarios.Dataset
DataTable = tbl_DatosBancarios
Left = 176
Top = 232
end
end

View File

@ -10,38 +10,28 @@ uses
uBizContactos, uBizContactosDatosBancarios, uBizCategoriasContacto,
uBizDireccionesContacto, uIDataModuleEtiquetasContactosReport,
uIDataModuleContactos, uDADesigntimeCall, uROTypes, uRODynamicRequest,
uDAInterfaces, uDADataStreamer, uDARemoteDataAdapter;
uDAInterfaces, uDADataStreamer, uDARemoteDataAdapter, uDABin2DataStreamer,
uDAMemDataTable;
type
TDataModuleContactos = class(TDAClientDataModule, IDataModuleContactos, IDataModuleEtiquetasContactosReport)
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_ContactosCategorias: TDARemoteDataAdapter;
rda_DatosBancarios: TDARemoteDataAdapter;
rda_DireccionesContacto: TDARemoteDataAdapter;
Bin2DataStreamer: TDABin2DataStreamer;
tbl_Contactos: TDAMemDataTable;
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);
protected
function _InternalGetNextID(const AGeneratorName : String) : Integer;
public
function _CloneDataTable (const ADataTable : TDACDSDataTable): TDACDSDataTable; overload;
function _GetDatosBancarios : IBizContactosDatosBancarios;
function _GetDirecciones: IBizDireccionesContacto;
function _GetCategorias : IBizCategoriasContacto;
function _GetItems (IDCategoria : Integer): IBizContacto; virtual;
function GetNextID(const DataSetName : String) : Integer; virtual;
// Report
function GetReport(const AContactosID: String): Binary;
@ -63,49 +53,18 @@ begin
RORemoteService.Message := dmConexion.Message;
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;
begin
Result := (RORemoteService as IsrvContactos).GenerateEtiquetasReport(AContactosID);
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;
var
ACategorias : TDACDSDataTable;
ACategorias : TDAMemDataTable;
begin
ShowHourglassCursor;
try
ACategorias := _CloneDataTable(tbl_ContactosCategorias);
ACategorias := CloneDataTable(tbl_ContactosCategorias);
with ACategorias do
begin
BusinessRulesID := BIZ_CLIENT_CATEGORIAS_CONTACTO;
@ -120,11 +79,11 @@ end;
function TDataModuleContactos._GetDatosBancarios: IBizContactosDatosBancarios;
var
ADatosBancarios : TDACDSDataTable;
ADatosBancarios : TDAMemDataTable;
begin
ShowHourglassCursor;
try
ADatosBancarios := _CloneDataTable(tbl_DatosBancarios);
ADatosBancarios := CloneDataTable(tbl_DatosBancarios);
with ADatosBancarios do
begin
BusinessRulesID := BIZ_CLIENT_CONTACTOS_DATOS_BANCARIOS;
@ -139,11 +98,11 @@ end;
function TDataModuleContactos._GetDirecciones: IBizDireccionesContacto;
var
ADirecciones : TDACDSDataTable;
ADirecciones : TDAMemDataTable;
begin
ShowHourglassCursor;
try
ADirecciones := _CloneDataTable(tbl_DireccionesContacto);
ADirecciones := CloneDataTable(tbl_DireccionesContacto);
with ADirecciones do
begin
BusinessRulesID := BIZ_CLIENT_DIRECCIONES_CONTACTO;
@ -158,11 +117,11 @@ end;
function TDataModuleContactos._GetItems(IDCategoria: Integer): IBizContacto;
var
AContacto : TDACDSDataTable;
AContacto : TDAMemDataTable;
begin
ShowHourglassCursor;
try
AContacto := _CloneDataTable(tbl_Contactos);
AContacto := CloneDataTable(tbl_Contactos);
with AContacto do
case IDCategoria of
@ -184,10 +143,4 @@ begin
end;
end;
function TDataModuleContactos._InternalGetNextID(
const AGeneratorName: String): Integer;
begin
Result := (RORemoteService as IsrvContactos).GetNextAutoInc(AGeneratorName)
end;
end.

View File

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

View File

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

View File

@ -7,18 +7,43 @@ inherited DataModuleProveedores: TDataModuleProveedores
inherited ds_ContactosCategorias: TDADataSource
DataSet = tbl_ContactosCategorias.Dataset
end
inherited ds_DatosBancarios: TDADataSource
DataSet = tbl_DatosBancarios.Dataset
end
inherited ds_DireccionesContacto: TDADataSource
DataSet = tbl_DireccionesContacto.Dataset
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 = []
Fields = <
item
Name = 'ID'
DataType = datAutoInc
GeneratorName = 'GEN_CONTACTOS_ID'
DictionaryEntry = 'Contactos_ID'
InPrimaryKey = True
end
@ -39,16 +64,10 @@ inherited DataModuleProveedores: TDataModuleProveedores
Name = 'NOMBRE'
DataType = datString
Size = 255
Required = True
DisplayLabel = 'Nombre'
DictionaryEntry = 'Contactos_NOMBRE'
end
item
Name = 'CALLE'
DataType = datString
Size = 255
DisplayLabel = 'Direcci'#243'n'
DictionaryEntry = 'Contactos_CALLE'
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
@ -56,11 +75,18 @@ inherited DataModuleProveedores: TDataModuleProveedores
DisplayLabel = 'Persona de contacto'
DictionaryEntry = 'Contactos_PERSONA_CONTACTO'
end
item
Name = 'CALLE'
DataType = datString
Size = 255
DisplayLabel = 'Direcci'#195#179'n'
DictionaryEntry = 'Contactos_CALLE'
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
DisplayLabel = 'Poblaci'#243'n'
DisplayLabel = 'Poblaci'#195#179'n'
DictionaryEntry = 'Contactos_POBLACION'
end
item
@ -74,7 +100,7 @@ inherited DataModuleProveedores: TDataModuleProveedores
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
DisplayLabel = 'C'#243'digo postal'
DisplayLabel = 'C'#195#179'digo postal'
DictionaryEntry = 'Contactos_CODIGO_POSTAL'
end
item
@ -95,7 +121,7 @@ inherited DataModuleProveedores: TDataModuleProveedores
Name = 'MOVIL_1'
DataType = datString
Size = 25
DisplayLabel = 'M'#243'vil'
DisplayLabel = 'M'#195#179'vil'
DictionaryEntry = 'Contactos_MOVIL_1'
end
item
@ -139,6 +165,14 @@ inherited DataModuleProveedores: TDataModuleProveedores
DisplayLabel = 'Observaciones'
DictionaryEntry = 'Contactos_NOTAS'
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
end
item
Name = 'USUARIO'
DataType = datString
@ -158,28 +192,6 @@ inherited DataModuleProveedores: TDataModuleProveedores
DisplayLabel = 'Referencia'
DictionaryEntry = 'Proveedores_REFERENCIA'
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
Name = 'DESCUENTO'
DataType = datFloat
@ -197,12 +209,39 @@ inherited DataModuleProveedores: TDataModuleProveedores
Name = 'CODIGO_ASIGNADO'
DataType = datString
Size = 255
DisplayLabel = 'C'#243'digo asignado'
DisplayLabel = 'C'#195#179'digo asignado'
DictionaryEntry = 'Proveedores_CODIGO_ASIGNADO'
end
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
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'
DictionaryEntry = 'Proveedores_HOMOLOGADO'
end
@ -212,72 +251,20 @@ inherited DataModuleProveedores: TDataModuleProveedores
Size = 255
DisplayLabel = 'Certificaciones'
DictionaryEntry = 'Proveedores_CERTIFICACION'
end
item
Name = 'GRUPO_PROVEEDOR'
DataType = datString
Size = 255
end>
Params = <>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_Proveedores
RemoteDataAdapter = rda_Contactos
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'Proveedores'
IndexDefs = <>
Left = 296
Top = 184
Top = 168
end
object ds_Proveedores: TDADataSource
DataSet = tbl_Proveedores.Dataset
DataTable = tbl_Proveedores
Left = 296
Top = 320
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
Top = 232
end
end

View File

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

View File

@ -43,10 +43,11 @@ contains
uBizClientesDescuentos in 'uBizClientesDescuentos.pas',
uRegimenIVAUtils in '..\Utiles\uRegimenIVAUtils.pas',
uBizGruposCliente in 'uBizGruposCliente.pas',
schContactosClient_Intf in 'schContactosClient_Intf.pas',
uBizGruposEmpleado in 'uBizGruposEmpleado.pas',
uBizGruposProveedor in 'uBizGruposProveedor.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.

View File

@ -42,8 +42,7 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="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_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">Contactos_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
@ -51,13 +50,17 @@
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\Utiles\uRegimenIVAUtils.pas" />
<DCCReference Include="Base.dcp" />
<DCCReference Include="Data\uIDataModuleClientes.pas" />
<DCCReference Include="Data\uIDataModuleContactos.pas" />
<DCCReference Include="Data\uIDataModuleEmpleados.pas" />
<DCCReference Include="Data\uIDataModuleEtiquetasContactosReport.pas" />
<DCCReference Include="Data\uIDataModuleFichasEmpleadoReport.pas" />
<DCCReference Include="Data\uIDataModuleProveedores.pas" />
<DCCReference Include="Empresas_controller.dcp" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="schContactosClient_Intf.pas" />
<DCCReference Include="schContactosServer_Intf.pas" />
<DCCReference Include="uBizCategoriasContacto.pas" />
<DCCReference Include="uBizClientesDescuentos.pas" />
<DCCReference Include="uBizContactos.pas" />
@ -66,5 +69,491 @@
<DCCReference Include="uBizGruposCliente.pas" />
<DCCReference Include="uBizGruposEmpleado.pas" />
<DCCReference Include="uBizGruposProveedor.pas" />
<DCCReference Include="Usuarios.dcp" />
<DCCReference Include="vcl.dcp" />
</ItemGroup>
</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
/* 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}']
function _GetItems (IDCategoria : Integer): IBizContacto;
function _GetDatosBancarios : IBizContactosDatosBancarios;
function GetNextID(const DataSetName : String) : Integer;
end;
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\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;
var aConnectionName: string);
public
function GetNextAutoInc(const GeneratorName: string): Integer;
function GenerateFichaEmpleadoReport(const EmpleadoID: String): Binary;
function GenerateEtiquetasReport(const ContactosID: String): Binary;
end;
@ -124,11 +123,6 @@ begin
}
end;
function TsrvContactos.GetNextAutoInc(const GeneratorName: string): Integer;
begin
Result := uDatabaseUtils.GetNextAutoInc(GeneratorName)
end;
initialization
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\uViewDatosYSeleccionCliente.dfm */
/* 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
/* 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
IDatosBancariosEmpresaController = interface
['{E9B0313E-7B16-420A-B47E-20E42E96BAC6}']
procedure AsignarID(ADetalles: IBizEmpresasDatosBancarios; IDCabecera: Integer; AEsNuevo:Boolean);
procedure Ver(ADatosBancarios : IBizEmpresasDatosBancarios);
end;
@ -18,7 +17,6 @@ type
FDataModule : IDataModuleEmpresas;
public
procedure Ver(ADatosBancarios : IBizEmpresasDatosBancarios);
procedure AsignarID(ADetalles: IBizEmpresasDatosBancarios; IDCabecera : Integer; AEsNuevo : Boolean);
constructor Create; virtual;
destructor Destroy; override;
end;
@ -31,75 +29,6 @@ uses
uDataModuleEmpresas, schEmpresasClient_Intf, uIEditorDatosBancarioEmpresa,
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;
begin
inherited;

View File

@ -27,10 +27,6 @@ type
TEmpresasController = class(TInterfacedObject, IEmpresasController)
protected
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;
public
constructor Create; virtual;
@ -64,87 +60,6 @@ begin
AEmpresa.Insert;
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;
begin
Result := FDataModule.GetItem(ID)
@ -229,8 +144,6 @@ begin
end;
function TEmpresasController.Guardar(AEmpresa: IBizEmpresa): Boolean;
var
NuevoID : Integer;
begin
Result := False;
@ -238,14 +151,7 @@ begin
begin
ShowHourglassCursor;
try
if AEmpresa.EsNuevo then
NuevoID := FDataModule.GetNextID(AEmpresa.DataTable.LogicalName)
else
NuevoID := AEmpresa.ID;
AsignarID(AEmpresa, NuevoID);
AEmpresa.DataTable.ApplyUpdates;
Result := True;
finally
HideHourglassCursor;

View File

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

View File

@ -26,7 +26,6 @@ type
function GetItem(const ID : Integer) : IBizEmpresa;
function NewItem : IBizEmpresa;
function GetItems : IBizEmpresa;
function GetNextID(const DataSetName : String) : Integer;
end;
@ -57,12 +56,6 @@ begin
Expression := NewBinaryExpression(NewField('', fld_EmpresasID),
NewConstant(ID, datInteger), dboEqual);
end;
{ if NotEmpty then
AddOperator(opAND);
OpenBraket;
AddText('EMPRESAS.' + fld_EmpresasID + ' = ' + IntToStr(ID));
CloseBraket;}
finally
HideHourglassCursor;
end;
@ -70,24 +63,8 @@ end;
function TDataModuleEmpresas.GetItems: IBizEmpresa;
var
//AEmpresa : TDACDSDataTable;
AEmpresa : TDAMemDataTable;
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;
try
AEmpresa := CloneDataTable(tbl_Empresas);
@ -104,19 +81,6 @@ begin
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;
begin
Result := GetItem(ID_NULO)
@ -124,23 +88,8 @@ end;
function TDataModuleEmpresas._GetDatosBancarios: IBizEmpresasDatosBancarios;
var
// ADatosBancarios : TDACDSDataTable;
ADatosBancarios : TDAMemDataTable;
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;
try
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 NewItem : IBizEmpresa;
function GetItems : IBizEmpresa;
function GetNextID(const DataSetName : String) : Integer;
end;
implementation

View File

@ -42,7 +42,10 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="PackageDescription">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\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>

View File

@ -13,4 +13,4 @@ BEGIN
END
/* 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);
begin
inherited;
ID := GetRecNo; // -1, -2, -3...
IniciarValoresEmpresaNueva;
end;

View File

@ -18,7 +18,6 @@ type
TBizEmpresasDatosBancarios = class(TEmpresasDatosBancoDataTableRules, IBizEmpresasDatosBancarios)
protected
procedure BeforeInsert(Sender: TDADataTable); override;
procedure OnNewRecord(Sender: TDADataTable); override;
public
function EsNuevo : Boolean;
end;
@ -45,12 +44,6 @@ begin
Result := (ID < 0);
end;
procedure TBizEmpresasDatosBancarios.OnNewRecord(Sender: TDADataTable);
begin
inherited;
ID := GetRecNo; // -1, -2, -3...
end;
initialization
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\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 = class(TDataAbstractService, IsrvEmpresas)
Diagrams: TDADiagrams;
bpEmpresas: TDABusinessProcessor;
bpEmpresasDatosBanco: TDABusinessProcessor;
DABin2DataStreamer: TDABin2DataStreamer;
schEmpresas: TDASchema;
DataDictionary: TDADataDictionary;
procedure DARemoteServiceBeforeGetDatasetData(const Dataset: IDADataset;
const IncludeSchema: Boolean; const MaxRecords: Integer);
procedure DARemoteServiceCreate(Sender: TObject);
procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject;
var aConnectionName: string);
procedure DataAbstractServiceBeforeGetDatasetData(aSender: TObject;
const aDataset: IDADataset; const aIncludeSchema: Boolean;
const aMaxRecords: Integer);
private
protected
{ IsrvEmpresas methods }
function GetNextAutoInc(const GeneratorName: String): Integer;
end;
implementation
@ -52,20 +49,6 @@ begin
end;
{ 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);
begin
SessionManager := dmServer.SessionManager;
@ -77,9 +60,17 @@ begin
ConnectionName := dmServer.ConnectionName;
end;
function TsrvEmpresas.GetNextAutoInc(const GeneratorName: String): Integer;
procedure TsrvEmpresas.DataAbstractServiceBeforeGetDatasetData(aSender: TObject;
const aDataset: IDADataset; const aIncludeSchema: Boolean;
const aMaxRecords: Integer);
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;
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\uEditorDatosBancariosEmpresa.dfm */
/* 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;
procedure AsignarDataModule;
procedure AsignarID(AFormaPago: IBizFormaPago; const IDNuevo: Integer);
public
constructor Create; virtual;
@ -70,25 +69,6 @@ begin
FDataModule := TDataModuleFormasPago.Create(Nil);
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;
begin
ShowHourglassCursor;
@ -184,11 +164,6 @@ begin
if Length(AFormaPago.DESCRIPCION) = 0 then
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;
end;
@ -266,8 +241,6 @@ begin
end;
function TFormasPagoController.Guardar(AFormaPago: IBizFormaPago): Boolean;
var
NuevoID : Integer;
begin
Result := False;
@ -275,14 +248,7 @@ begin
begin
ShowHourglassCursor;
try
if AFormaPago.EsNuevo then
NuevoID := FDataModule.GetNextID(AFormaPago.DataTable.LogicalName)
else
NuevoID := AFormaPago.ID;
AsignarID(AFormaPago, NuevoID);
AFormaPago.DataTable.ApplyUpdates;
Result := True;
finally
HideHourglassCursor;

View File

@ -9,14 +9,12 @@ uses
type
IFormasPagoPlazosController = interface
['{3FCE2A31-9783-45F9-96D6-1157165AB8DB}']
procedure AsignarID(ADetalles: IBizFormaPagoPlazos; IDCabecera: Integer; AEsNuevo:Boolean);
end;
TFormasPagoPlazosController = class(TInterfacedObject, IFormasPagoPlazosController)
private
FDataModule : IDataModuleFormasPago;
public
procedure AsignarID(ADetalles: IBizFormaPagoPlazos; IDCabecera: Integer; AEsNuevo:Boolean);
constructor Create; virtual;
destructor Destroy; override;
end;
@ -29,75 +27,6 @@ uses
uDataModuleFormasPago, uEditorRegistryUtils,
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;
begin
inherited;

View File

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

View File

@ -22,11 +22,9 @@ type
ds_FormasPagoPlazos: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject);
protected
function DarNombreGenerador(DataSetName: String): String; virtual;
function _GetPlazos: IBizFormaPagoPlazos;
public
function GetItems: IBizFormaPago;
function GetNextID(const DataSetName : String) : Integer;
end;
implementation
@ -45,24 +43,6 @@ begin
RORemoteService.Message := dmConexion.Message;
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;
var
APlazos : TDAMemDataTable;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -8,23 +8,17 @@ object srvFormasPago: TsrvFormasPago
ExportedDataTables = <>
BeforeAcquireConnection = DataAbstractServiceBeforeAcquireConnection
Height = 202
Width = 392
Width = 247
object Diagrams: TDADiagrams
Left = 150
Top = 90
DiagramData =
'<Diagrams>'#13#10' <Diagram Name="New Diagram" Left="200" Top="200" W' +
'idth="400" Height="300">'#13#10' <Entity Name="FormasPagoPlazos" Le' +
'ft="215,00" Top="48,00" />'#13#10' <Entity Name="FormasPago" Left="' +
'0,00" Top="0,00" />'#13#10' </Diagram>'#13#10'</Diagrams>'#13#10
'idth="400" Height="300">'#13#10' <Entity Name="FormasPago" Left="0,' +
'00" Top="0,00" />'#13#10' </Diagram>'#13#10'</Diagrams>'#13#10
end
object DataDictionary: TDADataDictionary
Fields = <
item
Name = 'FormasPago_ID'
DataType = datInteger
Required = True
end
item
Name = 'FormasPago_REFERENCIA'
DataType = datString
@ -67,16 +61,6 @@ object srvFormasPago: TsrvFormasPago
Size = 15
DisplayLabel = 'C'#243'd. Cuenta'
end
item
Name = 'FormasPagoPlazos_ID'
DataType = datInteger
Required = True
end
item
Name = 'FormasPagoPlazos_ID_FORMA_PAGO'
DataType = datInteger
Required = True
end
item
Name = 'FormasPagoPlazos_NUM_DIAS'
DataType = datSmallInt
@ -87,6 +71,26 @@ object srvFormasPago: TsrvFormasPago
DataType = datFloat
DisplayLabel = '% aplazado'
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>
Left = 150
Top = 24
@ -141,7 +145,9 @@ object srvFormasPago: TsrvFormasPago
Fields = <
item
Name = 'ID'
DataType = datInteger
DataType = datAutoInc
GeneratorName = 'GEN_FORMAS_PAGO_ID'
ServerAutoRefresh = True
DictionaryEntry = 'FormasPago_ID'
InPrimaryKey = True
end
@ -217,7 +223,9 @@ object srvFormasPago: TsrvFormasPago
Fields = <
item
Name = 'ID'
DataType = datInteger
DataType = datAutoInc
GeneratorName = 'GEN_FORMAS_PAGO_PLAZOS_ID'
ServerAutoRefresh = True
DictionaryEntry = 'FormasPagoPlazos_ID'
InPrimaryKey = True
end
@ -239,263 +247,7 @@ object srvFormasPago: TsrvFormasPago
end>
JoinDataTables = <>
UnionDataTables = <>
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>
Commands = <>
RelationShips = <
item
Name = 'FK_FormasPagoPlazos_FormasPago'
@ -503,35 +255,55 @@ object srvFormasPago: TsrvFormasPago
MasterFields = 'ID'
DetailDatasetName = 'FormasPagoPlazos'
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>
UpdateRules = <>
Version = 0
Left = 48
Top = 24
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
Left = 48
Top = 88

View File

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

View File

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

View File

@ -34,7 +34,7 @@ uses
JvComponent, JvEnterTab, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, cxDBData, cxSpinEdit, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGrid;
cxGridCustomView, cxGrid, uDAInterfaces;
type
TfEditorFormaPago = class(TForm, IEditorFormaPago)
@ -95,7 +95,7 @@ implementation
{ TfEditorFormasPago }
uses
uDialogUtils, uDataModuleFormasPago;
Dialogs, uDialogUtils, uDataModuleFormasPago;
function TfEditorFormaPago.GetFormaPago: IBizFormaPago;
begin
@ -153,8 +153,12 @@ end;
procedure TfEditorFormaPago.actAceptarExecute(Sender: TObject);
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
actCerrar.Execute;
actCerrar.Execute;
end;
procedure TfEditorFormaPago.actCancelarExecute(Sender: TObject);

View File

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

View File

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

View File

@ -54,7 +54,6 @@ type
function _Vacio : IBizTipoIVA;
function ValidarTipoIVA(ATipoIVA: IBizTipoIVA): Boolean;
procedure AsignarDataModule;
procedure AsignarID(ATipoIVA: IBizTipoIVA; const IDNuevo: Integer);
public
constructor Create; virtual;
@ -97,20 +96,6 @@ begin
FDataModule := TDataModuleTiposIVA.Create(Nil);
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;
begin
Result := FDataModule.GetItems;
@ -289,8 +274,6 @@ begin
end;
function TTiposIVAController.Guardar(ATipoIVA: IBizTipoIVA): Boolean;
var
NuevoID : Integer;
begin
Result := False;
@ -298,14 +281,7 @@ begin
begin
ShowHourglassCursor;
try
if ATipoIVA.EsNuevo then
NuevoID := FDataModule.GetNextID(ATipoIVA.DataTable.LogicalName)
else
NuevoID := ATipoIVA.ID;
AsignarID(ATipoIVA, NuevoID);
ATipoIVA.DataTable.ApplyUpdates;
Result := True;
finally
HideHourglassCursor;

View File

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

View File

@ -42,33 +42,503 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="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>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="TiposIVA_data.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="adortl.dcp" />
<DCCReference Include="Base.dcp" />
<DCCReference Include="cxDataD10.dcp" />
<DCCReference Include="cxEditorsD10.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="..\Model\Base.dcp" />
<DCCReference Include="..\Model\rtl.dcp" />
<DCCReference Include="..\Model\TiposIVA_model.dcp" />
<DCCReference Include="..\Model\vcl.dcp" />
<DCCReference Include="uDataModuleTiposIVA.pas">
<Form>DataModuleTiposIVA</Form>
</DCCReference>
</ItemGroup>
</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
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:\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
Width = 518
object RORemoteService: TRORemoteService
Message = ROBinMessage1
Channel = ROWinInetHTTPChannel1
Message = dmConexion.ROMessage
Channel = dmConexion.ROChannel
ServiceName = 'srvTiposIVA'
Left = 48
Top = 24
end
object DADesigntimeCall1: TDADesigntimeCall
RemoteService = LoginRemoteService
Params = <>
Left = 48
Top = 160
object rda_TiposIVA: TDARemoteDataAdapter
GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService
DataStreamer = Bin2DataStreamer
Left = 203
Top = 23
end
object LoginRemoteService: TRORemoteService
Message = ROBinMessage1
Channel = ROWinInetHTTPChannel1
ServiceName = 'srvLogin'
object Bin2DataStreamer: TDABin2DataStreamer
Left = 48
Top = 216
Top = 96
end
object ROWinInetHTTPChannel1: TROWinInetHTTPChannel
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
object tbl_TiposIVA: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
DisplayLabel = 'TIPOS_IVA_ID'
DictionaryEntry = 'TIPOS_IVA_ID'
DataType = datAutoInc
GeneratorName = 'GEN_TIPOS_IVA_ID'
ServerAutoRefresh = True
DictionaryEntry = 'TiposIVA_ID'
InPrimaryKey = True
end
item
@ -56,14 +46,13 @@ object DataModuleTiposIVA: TDataModuleTiposIVA
Name = 'DESCRIPCION'
DataType = datString
Size = 255
DisplayLabel = 'Descripci'#243'n'
DisplayLabel = 'Descripci'#195#179'n'
DictionaryEntry = 'TIPOS_IVA_DESCRIPCION'
end
item
Name = 'IVA'
DataType = datFloat
DisplayLabel = '% IVA'
DisplayFormat = ',0.00 %;-,0.00 %'
Alignment = taRightJustify
DictionaryEntry = 'TIPOS_IVA_IVA'
end
@ -71,38 +60,22 @@ object DataModuleTiposIVA: TDataModuleTiposIVA
Name = 'RE'
DataType = datFloat
DisplayLabel = '% RE'
DisplayFormat = ',0.00 %;-,0.00 %'
Alignment = taRightJustify
DictionaryEntry = 'TIPOS_IVA_RE'
end>
Params = <>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_TiposIVA
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'TiposIVA'
IndexDefs = <>
Left = 216
Left = 296
Top = 24
end
object ds_TiposIVA: TDADataSource
DataSet = tbl_TiposIVA.Dataset
DataTable = tbl_TiposIVA
Left = 216
Top = 88
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
Left = 296
Top = 96
end
end

View File

@ -32,35 +32,20 @@ uses
uDADesigntimeCall,
uIDataModuleTiposIVA, uBizTiposIVA, uDADataStreamer, uDARemoteDataAdapter,
uDAInterfaces, uRODynamicRequest;
uDAInterfaces, uRODynamicRequest, uDABin2DataStreamer, uDAMemDataTable;
type
TDataModuleTiposIVA = class(TDAClientDataModule, IDataModuleTiposIVA)
RORemoteService: TRORemoteService;
DADesigntimeCall1: TDADesigntimeCall;
LoginRemoteService: TRORemoteService;
ROWinInetHTTPChannel1: TROWinInetHTTPChannel;
ROBinMessage1: TROBinMessage;
tbl_TiposIVA: TDACDSDataTable;
ds_TiposIVA: TDADataSource;
rda_TiposIVA: TDARemoteDataAdapter;
DataStreamer: TDABinDataStreamer;
Bin2DataStreamer: TDABin2DataStreamer;
tbl_TiposIVA: TDAMemDataTable;
ds_TiposIVA: TDADataSource;
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
function GetNextID(const DataSetName : String) : Integer;
function GetItems: IBizTipoIVA;
function GetItem(const ID : Integer) : IBizTipoIVA;
function NewItem : IBizTipoIVA;
// Descomentar si tiene informe
// function GetReport(const ATipoIVAID: Integer): Binary;
end;
implementation
@ -73,80 +58,21 @@ uses
{ 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);
begin
RORemoteService.Channel := dmConexion.Channel;
RORemoteService.Message := dmConexion.Message;
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;
var
ATipoIVA : TDACDSDataTable;
ATipoIVA : TDAMemDataTable;
begin
ShowHourglassCursor;
try
ATipoIVA := _CloneDataTable(tbl_TiposIVA);
ATipoIVA := CloneDataTable(tbl_TiposIVA);
ATipoIVA.BusinessRulesID := BIZ_CLIENT_TipoIVA;
// Descomentar si tiene detalles
// with TBizTipoIVA(ATipoIVA.BusinessEventsObj) do
// Detalles := _GetDetalles;
Result := (ATipoIVA as IBizTipoIVA);
finally
HideHourglassCursor;
@ -163,14 +89,15 @@ begin
ShowHourglassCursor;
try
Result := Self.GetItems;
with Result.DataTable.Where do
// (ID = :ID)
with Result.DataTable.DynamicWhere do
begin
if NotEmpty then
AddOperator(opAND);
OpenBraket;
AddText('TIPOS_IVA.' + fld_TiposIVAID + ' = ' + IntToStr(ID));
CloseBraket;
Clear;
Expression := NewBinaryExpression(NewField('', fld_TiposIVAID),
NewConstant(ID, datInteger), dboEqual);
end;
finally
HideHourglassCursor;
end;

View File

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

View File

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

View File

@ -42,23 +42,503 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="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>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="TiposIVA_model.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="adortl.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="rtl.dcp" />
<DCCReference Include="schTiposIVAClient_Intf.pas" />
<DCCReference Include="schTiposIVAServer_Intf.pas" />
<DCCReference Include="uBizTiposIVA.pas" />
<DCCReference Include="vcl.dcp" />
</ItemGroup>
</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
/* 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
uses
Classes, DB, SysUtils, uROClasses, uDADataTable;
Classes, DB, SysUtils, uROClasses, uDADataTable, FmtBCD, uROXMLIntf;
const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_TiposIVA = '{D96E3FA9-3BEC-4A87-B5A6-F8A8AEF73D87}';
RID_TiposIVA = '{700B374C-AA68-4A5B-9ACA-A0704A82A98D}';
{ Data table names }
nme_TiposIVA = 'TiposIVA';
@ -31,26 +31,41 @@ const
type
{ ITiposIVA }
ITiposIVA = interface(IDAStronglyTypedDataTable)
['{DEFBEA87-112C-4BFB-86E8-40085D5D6328}']
['{342A3165-77DD-40FB-8154-0D79346AC9D1}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
function GetIDIsNull: Boolean;
procedure SetIDIsNull(const aValue: Boolean);
function GetREFERENCIAValue: String;
procedure SetREFERENCIAValue(const aValue: String);
function GetREFERENCIAIsNull: Boolean;
procedure SetREFERENCIAIsNull(const aValue: Boolean);
function GetDESCRIPCIONValue: String;
procedure SetDESCRIPCIONValue(const aValue: String);
function GetDESCRIPCIONIsNull: Boolean;
procedure SetDESCRIPCIONIsNull(const aValue: Boolean);
function GetIVAValue: Float;
procedure SetIVAValue(const aValue: Float);
function GetIVAIsNull: Boolean;
procedure SetIVAIsNull(const aValue: Boolean);
function GetREValue: Float;
procedure SetREValue(const aValue: Float);
function GetREIsNull: Boolean;
procedure SetREIsNull(const aValue: Boolean);
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
property IVA: Float read GetIVAValue write SetIVAValue;
property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull;
property RE: Float read GetREValue write SetREValue;
property REIsNull: Boolean read GetREIsNull write SetREIsNull;
end;
{ TTiposIVADataTableRules }
@ -60,21 +75,36 @@ type
{ Property getters and setters }
function GetIDValue: Integer; virtual;
procedure SetIDValue(const aValue: Integer); virtual;
function GetIDIsNull: Boolean; virtual;
procedure SetIDIsNull(const aValue: Boolean); virtual;
function GetREFERENCIAValue: String; virtual;
procedure SetREFERENCIAValue(const aValue: String); virtual;
function GetREFERENCIAIsNull: Boolean; virtual;
procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
function GetDESCRIPCIONValue: String; virtual;
procedure SetDESCRIPCIONValue(const aValue: String); virtual;
function GetDESCRIPCIONIsNull: Boolean; virtual;
procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
function GetIVAValue: Float; virtual;
procedure SetIVAValue(const aValue: Float); virtual;
function GetIVAIsNull: Boolean; virtual;
procedure SetIVAIsNull(const aValue: Boolean); virtual;
function GetREValue: Float; virtual;
procedure SetREValue(const aValue: Float); virtual;
function GetREIsNull: Boolean; virtual;
procedure SetREIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
property IVA: Float read GetIVAValue write SetIVAValue;
property IVAIsNull: Boolean read GetIVAIsNull write SetIVAIsNull;
property RE: Float read GetREValue write SetREValue;
property REIsNull: Boolean read GetREIsNull write SetREIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@ -84,7 +114,7 @@ type
implementation
uses Variants;
uses Variants, uROBinaryHelpers;
{ TTiposIVADataTableRules }
constructor TTiposIVADataTableRules.Create(aDataTable: TDADataTable);
@ -107,6 +137,17 @@ begin
DataTable.Fields[idx_TiposIVAID].AsInteger := aValue;
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;
begin
result := DataTable.Fields[idx_TiposIVAREFERENCIA].AsString;
@ -117,6 +158,17 @@ begin
DataTable.Fields[idx_TiposIVAREFERENCIA].AsString := aValue;
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;
begin
result := DataTable.Fields[idx_TiposIVADESCRIPCION].AsString;
@ -127,6 +179,17 @@ begin
DataTable.Fields[idx_TiposIVADESCRIPCION].AsString := aValue;
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;
begin
result := DataTable.Fields[idx_TiposIVAIVA].AsFloat;
@ -137,6 +200,17 @@ begin
DataTable.Fields[idx_TiposIVAIVA].AsFloat := aValue;
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;
begin
result := DataTable.Fields[idx_TiposIVARE].AsFloat;
@ -147,6 +221,17 @@ begin
DataTable.Fields[idx_TiposIVARE].AsFloat := aValue;
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
RegisterDataTableRules(RID_TiposIVA, TTiposIVADataTableRules);

View File

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

View File

@ -16,10 +16,6 @@ object srvTiposIVA: TsrvTiposIVA
end
object DataDictionary: TDADataDictionary
Fields = <
item
Name = 'TIPOS_IVA_ID'
DataType = datInteger
end
item
Name = 'TIPOS_IVA_REFERENCIA'
DataType = datString
@ -43,6 +39,13 @@ object srvTiposIVA: TsrvTiposIVA
DataType = datFloat
DisplayLabel = '% RE'
Alignment = taRightJustify
end
item
Name = 'TiposIVA_ID'
DataType = datAutoInc
GeneratorName = 'GEN_TIPOS_IVA_ID'
DisplayLabel = 'ID'
ServerAutoRefresh = True
end>
Left = 150
Top = 24
@ -58,10 +61,7 @@ object srvTiposIVA: TsrvTiposIVA
item
Connection = 'IBX'
TargetTable = 'TIPOS_IVA'
SQL =
'SELECT '#10' ID, REFERENCIA, DESCRIPCION, IVA, RE'#10' FROM'#10' TIPO' +
'S_IVA'
StatementType = stSQL
StatementType = stAutoSQL
ColumnMappings = <
item
DatasetField = 'ID'
@ -88,8 +88,10 @@ object srvTiposIVA: TsrvTiposIVA
Fields = <
item
Name = 'ID'
DataType = datInteger
DictionaryEntry = 'TIPOS_IVA_ID'
DataType = datAutoInc
GeneratorName = 'GEN_TIPOS_IVA_ID'
ServerAutoRefresh = True
DictionaryEntry = 'TiposIVA_ID'
InPrimaryKey = True
end
item
@ -117,156 +119,13 @@ object srvTiposIVA: TsrvTiposIVA
end>
JoinDataTables = <>
UnionDataTables = <>
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>
Commands = <>
RelationShips = <>
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>
UpdateRules = <>
Version = 0
Left = 48
Top = 24
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
Left = 48
Top = 88

View File

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

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