diff --git a/Build/Build.fbl5 b/Build/Build.fbl5 new file mode 100644 index 0000000..6ec1045 Binary files /dev/null and b/Build/Build.fbl5 differ diff --git a/Build/Build.fbp5 b/Build/Build.fbp5 new file mode 100644 index 0000000..3649397 --- /dev/null +++ b/Build/Build.fbp5 @@ -0,0 +1,2862 @@ + + + + + + base.fbz5 + + + 0 + + + + False + True + Main + {4C1B4E5D-F42F-4877-9F28-41B527858954} + + FinalBuilderAction + 0 + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + # + 16711680 + + # + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + + 16711680 + + + + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + # + 16711680 + + # + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + + 16711680 + + + + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + + 0 + + False + True + True + True + ftString + False + True + False + + 0 + smNone + %FBPROJECTDIR% + False + 0 + 1000 + False + project_path + + + + + 0 + {78526C82-A8E7-42B3-8C9D-1E229C79D915} + + + True + False + True + False + True + False + + 0 + False + 0 + 1000 + False + True + 2 + + True + True + + project_path + \Build + + False + False + + + # + 16711680 + + # + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + + 16711680 + + + + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + # + 16711680 + + # + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + + 8388736 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + + + True + True + False + False + True + + + True + False + + False + + True + False + True + + 0 + False + + + 0 + 0 + tpNormal + True + 1000 + rcEqualTo + 0 + %source_path% + False + True + 1 + True + + + + # + 16711680 + + # + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + # + 16711680 + + # + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + + 16711680 + + + + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + # + 16711680 + + # + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + + 8388736 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + True + False + _aux_path + False + True + False + + + + 0 + False + 0 + 1000 + True + False + + + + 0 + + True + True + %_aux_path% + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + + + 0 + + True + True + _aux_path + False + True + False + + 0 + False + 0 + 1000 + False + + + + # + 16711680 + + # + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + # + 16711680 + + # + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + + 16711680 + + + + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + + 0 + + + + True + True + True + False + True + False + False + + 0 + False + 0 + 1000 + False + + + + + + + 16711680 + + + + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + Servidor + 0 + + Servidor + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + %project_path%\Resources\Iconos\Servidor.ico + False + True + True + True + False + False + False + False + False + False + False + True + 3082 + + 1 + 0 + 2 + False + 0 + %source_path%\Servidor\AdminPV_Server.dpr + True + 5 + + + rcBorland + 1000 + %source_path%\Servidor\ + False + True + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + True + + + + False + False + False + False + False + True + False + False + + + + + False + + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path%\Servidor + False + + False + fa8 + False + False + .\ + True + True + True + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + .\ + False + False + True + + + + + # + 16711680 + + # + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + + 16711680 + + + + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + # + 16711680 + + # + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + Base + 8388736 + + Base + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Debug + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 2 + 0 + 0 + False + 0 + %source_path%\Base\BaseD10.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %base_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 3 + 1048576 + 16384 + + True + False + %output_path%\Cliente + False + + False + fa8 + True + False + + True + True + True + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\ControlesBase\ControlesBaseD10.dpk + True + 3 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %base_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + False + %output_path%\Cliente + False + + False + fa8 + False + False + + True + True + True + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Debug + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Parametros\Cliente\Parametros.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %base_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 3 + 1048576 + 16384 + + True + True + %output_path%\Cliente + False + + False + fa8 + True + False + + True + True + True + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Debug + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\Usuarios\Usuarios.dpk + True + 3 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 3 + 1048576 + 16384 + + True + True + %output_path%\Cliente + False + + False + fa8 + True + False + + True + True + True + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Debug + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 1 + 0 + 0 + False + 0 + %source_path%\Configuracion\Configuracion.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 3 + 1048576 + 16384 + + True + True + %output_path%\Cliente + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + Módulos + 8388736 + + Módulos + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Debug + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\FicherosEDI\Cliente\FicherosEDI.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 3 + 1048576 + 16384 + + True + False + %output_path%\Cliente + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Debug + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\VentasTerminadas\Cliente\VentasTerminadas.dpk + True + 3 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 3 + 1048576 + 16384 + + True + False + %output_path%\Cliente + False + + False + fa8 + True + False + + True + True + True + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\VentasProceso\Cliente\VentasProceso.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + False + %output_path%\Cliente + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\ReferenciaGenerica\Cliente\ReferenciaGenerica.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + False + %output_path%\Cliente + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Recepciones\Cliente\Recepciones.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + False + %output_path%\Cliente + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Devoluciones\Cliente\Devoluciones.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + False + %output_path%\Cliente + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Traspasos\Cliente\Traspasos.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + False + %output_path%\Cliente + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 1 + 0 + 0 + False + 0 + %source_path%\Modulos\Stock\Cliente\Stock.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %modules_dcp_path% + False + + False + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + False + 3 + 1048576 + 16384 + + True + True + %output_path%\Cliente + False + + False + fa8 + False + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + Cliente + 8388736 + + Cliente + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + + + 0 + + True + True + False + True + True + 0 + 1252 + 12 + Debug + False + + + True + True + + False + %project_path%\Resources\Iconos\Cliente.ico + False + True + False + True + False + False + False + False + False + False + False + False + 3081 + + 1 + 0 + 0 + False + 0 + %source_path%\Cliente\AdminPV.dpr + True + 0 + + + rcBorland + 1000 + + False + True + True + False + [usCompiler,usLinker,usVersionInfo] + True + True + + + + False + False + True + False + False + True + False + False + + + + DEBUG + False + + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path%;%modules_dcp_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path%\Cliente + False + BaseD10;Configuracion;ControlesBaseD10;Usuarios;FicherosEDI;VentasProceso;VentasTerminadas;ReferenciaGenerica + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + .\ + False + True + True + + + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Debug + False + + + True + True + + False + %project_path%\Resources\Iconos\CargaEDI.ico + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 2 + 0 + 0 + False + 0 + %source_path%\CargaEDI\CargaEDI.dpr + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + + + + + False + + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path%;%modules_dcp_path% + 0 + True + 3 + 1048576 + 16384 + + True + True + %output_path%\Cliente + False + BaseD10;Configuracion;FicherosEDI + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + True + True + + + + + + + 0 + + + + False + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + {A78530B0-8E25-4ACF-BCD0-410E385473A0} + + + + + True + False + True + False + True + False + + 0 + False + 0 + 1000 + False + True + 2 + %output_path%\Debug\Servidor\FactuGES_Server.exe + + True + True + False + True + True + True + False + False + False + + + + + 0 + {A78530B0-8E25-4ACF-BCD0-410E385473A0} + + + + + True + False + True + False + True + False + + 0 + False + 0 + 1000 + False + True + 2 + %output_path%\Debug\Cliente\FactuGES.exe + + True + True + False + True + True + True + False + False + False + + + + + + 8388736 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + False + True + True + False + False + %source_path%\Informes\*.* + True + False + True + False + + 0 + False + False + 0 + False + 1000 + False + %output_path%\Servidor\Informes + True + + + + + + 0 + + True + False + True + efHTML + False + True + True + True + True + True + True + True + True + False + + 0 + False + + + %project_path%\Build\buildlog.html + 0 + 1000 + False + + + + + + True + False + OnFailure + {BA6B406D-5FE5-4FF9-8D33-0459EBECDF95} + + FinalBuilderAction + 0 + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + + Project + + %project_path%\Output\Debug + True + False + False + output_path + vtProject + + + + + False + False + False + search_path + vtProject + + + + %DELPHI2007DIR%\Lib;%library_3rdparty_path% + True + False + False + library_path + vtProject + + + %output_path%\Cliente + True + False + False + package_path + vtProject + + + + + False + True + False + project_path + vtProject + + + %source_path%\Lib + True + False + False + modules_dcp_path + vtProject + + + %source_path%\Lib + True + False + False + base_dcp_path + vtProject + + + %DELPHI2007% + False + False + False + DELPHI + vtProject + + + %project_path%\Source + True + False + False + source_path + vtProject + + + %DELPHI2007DIR%\Lib\Indy10;%project_path%\Lib;%project_path%\Lib\RemObjects\RemObjects_SDK;%project_path%\Lib\RemObjects\Data_Abstract;%project_path%\Lib\CCPack;%project_path%\Lib\CFPack;%project_path%\Lib\GUISDK;%project_path%\Lib\PluginSDK;%project_path%\Lib\DevExpressVCL;%project_path%\Lib\FastReport3;%project_path%\Lib\JCL;%project_path%\Lib\JVCL;%project_path%\Lib\PngComponents;%project_path%\Lib\cxIntl5;%project_path%\Lib\cxIntlPrintSys3;%project_path%\Lib\TB2k+TBX;%project_path%\Lib\Mustangpeak\MPCommonLib;%project_path%\Lib\Mustangpeak\EasyListview; + True + False + False + library_3rdparty_path + vtProject + + + C:\Varela_D2007\Output + True + False + False + path_aux + vtProject + + + + False + False + False + _aux_path + vtProject + + + + diff --git a/Build/Build.fbv b/Build/Build.fbv new file mode 100644 index 0000000..048e500 --- /dev/null +++ b/Build/Build.fbv @@ -0,0 +1 @@ + diff --git a/Build/Build.fbw b/Build/Build.fbw new file mode 100644 index 0000000..e69de29 diff --git a/Build/buildlog.html b/Build/buildlog.html new file mode 100644 index 0000000..9016cb6 --- /dev/null +++ b/Build/buildlog.html @@ -0,0 +1,1550 @@ + + + + + + +FinalBuilder Log for Project Build.fbp5 + + +

FinalBuilder 5 LogFile for Build.fbp5

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Project File :C:\Varela_D2007\Build\Build.fbl5
Log Title :Build.fbp5
Date :12/09/2007
Start Time :10:21:54
End Time :10:22:35
Run Time :00:00:41

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StatusAction NameDescriptionStart TimeEnd TimeRun TimeOutput
Show All
Hide All
-Action ListAction List: Main10:21:5410:22:3500:00:41
CompletedSet VariableSet Variable project_path to [ C:\Varela_D2007\Build ]10:21:5410:21:5400:00:00
CompletedString ReplaceString Replace10:21:5410:21:5400:00:00View
+
+
CompletedAction GroupBorrar ficheros temporales10:21:5410:21:5400:00:00
CompletedRun DOS CommandRun DOS Command [ C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msbuild.exe "C:\Varela_D2007\Source\ClearFiles.msbuild" /t:CleanFiles ]10:21:5410:22:0300:00:08View
+
+
CompletedAction GroupCrear directorios de salida10:22:0310:22:0300:00:00
CompletedList IteratorList Iterator10:22:0310:22:0300:00:00View
+
+
CompletedCreate DirectoryCreate Directory [ C:\Varela_D2007\Output\Debug\Cliente ]10:22:0310:22:0300:00:00View
+
+
CompletedList IteratorList Iterator10:22:0310:22:0300:00:00
CompletedCreate DirectoryCreate Directory [ C:\Varela_D2007\Output\Debug\Servidor ]10:22:0310:22:0300:00:00View
+
+
CompletedList IteratorList Iterator10:22:0310:22:0300:00:00
CompletedCreate DirectoryCreate Directory [ C:\Varela_D2007\Output\Debug\Servidor\Carga ]10:22:0310:22:0300:00:00View
+
+
CompletedList IteratorList Iterator10:22:0310:22:0300:00:00
CompletedCreate DirectoryCreate Directory [ C:\Varela_D2007\Output\Debug\Servidor\Almacen ]10:22:0310:22:0300:00:00View
+
+
CompletedList IteratorList Iterator10:22:0310:22:0300:00:00
CompletedCreate DirectoryCreate Directory [ C:\Varela_D2007\Output\Debug\Servidor\Informes ]10:22:0310:22:0300:00:00View
+
+
CompletedList IteratorList Iterator10:22:0310:22:0300:00:00
CompletedCreate DirectoryCreate Directory [ C:\Varela_D2007\Output\Release\Cliente ]10:22:0310:22:0300:00:00View
+
+
CompletedList IteratorList Iterator10:22:0310:22:0300:00:00
CompletedCreate DirectoryCreate Directory [ C:\Varela_D2007\Output\Release\Servidor ]10:22:0310:22:0300:00:00View
+
+
CompletedList IteratorList Iterator10:22:0310:22:0300:00:00
CompletedCreate DirectoryCreate Directory [ C:\Varela_D2007\Output\Release\Servidor\Carga ]10:22:0310:22:0300:00:00View
+
+
CompletedList IteratorList Iterator10:22:0310:22:0300:00:00
CompletedCreate DirectoryCreate Directory [ C:\Varela_D2007\Output\Release\Servidor\Almacen ]10:22:0310:22:0300:00:00View
+
+
CompletedList IteratorList Iterator10:22:0310:22:0300:00:00
CompletedCreate DirectoryCreate Directory [ C:\Varela_D2007\Output\Release\Servidor\Informes ]10:22:0310:22:0300:00:00View
+
+
CompletedList IteratorList Iterator10:22:0310:22:0300:00:00
CompletedReset Variable to DefaultReset Variable to Default10:22:0310:22:0300:00:00
CompletedLog Variable ValuesListar valores de las variables del proyecto10:22:0310:22:0300:00:00View
+
+
CompletedAction GroupServidor10:22:0310:22:0300:00:00
CompletedCompile Delphi Win32 ProjectCompile Servidor\AdminPV_Server.dpr10:22:0310:22:1300:00:09View
+
+
CompletedAction GroupBase10:22:1310:22:1300:00:00
CompletedCompile Delphi Win32 ProjectCompile Base\BaseD10.dpk10:22:1310:22:1500:00:02View
+
+
CompletedCompile Delphi Win32 ProjectCompile ControlesBase\ControlesBaseD10.dpk10:22:1510:22:1900:00:03View
+
+
CompletedCompile Delphi Win32 ProjectCompile Modulos\Parametros\Cliente\Parametros.dpk10:22:1910:22:2000:00:01View
+
+
CompletedCompile Delphi Win32 ProjectCompile Usuarios\Usuarios.dpk10:22:2010:22:2100:00:01View
+
+
CompletedCompile Delphi Win32 ProjectCompile Configuracion\Configuracion.dpk10:22:2110:22:2200:00:00View
+
+
CompletedAction GroupMódulos10:22:2210:22:2200:00:00
CompletedCompile Delphi Win32 ProjectCompile Modulos\FicherosEDI\Cliente\FicherosEDI.dpk10:22:2210:22:2300:00:01View
+
+
CompletedCompile Delphi Win32 ProjectCompile Modulos\VentasTerminadas\Cliente\VentasTerminadas.dpk10:22:2310:22:2500:00:01View
+
+
CompletedCompile Delphi Win32 ProjectCompile Modulos\VentasProceso\Cliente\VentasProceso.dpk10:22:2510:22:2600:00:01View
+
+
CompletedCompile Delphi Win32 ProjectCompile Modulos\ReferenciaGenerica\Cliente\ReferenciaGenerica.dpk10:22:2610:22:2800:00:01View
+
+
CompletedCompile Delphi Win32 ProjectCompile Modulos\Recepciones\Cliente\Recepciones.dpk10:22:2810:22:2900:00:01View
+
+
CompletedCompile Delphi Win32 ProjectCompile Modulos\Devoluciones\Cliente\Devoluciones.dpk10:22:2910:22:3000:00:01View
+
+
CompletedCompile Delphi Win32 ProjectCompile Modulos\Traspasos\Cliente\Traspasos.dpk10:22:3010:22:3200:00:01View
+
+
CompletedCompile Delphi Win32 ProjectCompile Modulos\Stock\Cliente\Stock.dpk10:22:3210:22:3300:00:01View
+
+
CompletedAction GroupCliente10:22:3310:22:3300:00:00
CompletedCompile Delphi Win32 ProjectCompile Cliente\AdminPV.dpr 10:22:3310:22:3400:00:01View
+
+
CompletedCompile Delphi Win32 ProjectCompile CargaEDI\CargaEDI.dpr ]10:22:3410:22:3500:00:00View
+
+
CompletedAction GroupCopiar los informes al directorio de salida10:22:3510:22:3500:00:00
CompletedCopy File(s)Copy File(s) [ C:\Varela_D2007\Source\Informes\*.* ]10:22:3510:22:3500:00:00View
+
+
CompletedExport LogExport Log10:22:3510:22:3500:00:00


+ + + diff --git a/Lib/EasyListviewD7.bpl b/Lib/EasyListviewD7.bpl deleted file mode 100644 index e39f769..0000000 Binary files a/Lib/EasyListviewD7.bpl and /dev/null differ diff --git a/Lib/GUISDK_D7.bpl b/Lib/GUISDK_D7.bpl deleted file mode 100644 index 666efc2..0000000 Binary files a/Lib/GUISDK_D7.bpl and /dev/null differ diff --git a/Lib/Jcl70.bpl b/Lib/Jcl70.bpl deleted file mode 100644 index f8fd7f7..0000000 Binary files a/Lib/Jcl70.bpl and /dev/null differ diff --git a/Lib/JclVcl70.bpl b/Lib/JclVcl70.bpl deleted file mode 100644 index 9e905a8..0000000 Binary files a/Lib/JclVcl70.bpl and /dev/null differ diff --git a/Lib/JvAppFrmD7R.bpl b/Lib/JvAppFrmD7R.bpl deleted file mode 100644 index b7538e3..0000000 Binary files a/Lib/JvAppFrmD7R.bpl and /dev/null differ diff --git a/Lib/JvCoreD7R.bpl b/Lib/JvCoreD7R.bpl deleted file mode 100644 index 2183595..0000000 Binary files a/Lib/JvCoreD7R.bpl and /dev/null differ diff --git a/Lib/JvCtrlsD7R.bpl b/Lib/JvCtrlsD7R.bpl deleted file mode 100644 index fedb5e2..0000000 Binary files a/Lib/JvCtrlsD7R.bpl and /dev/null differ diff --git a/Lib/JvCustomD7R.bpl b/Lib/JvCustomD7R.bpl deleted file mode 100644 index 9ed1ca8..0000000 Binary files a/Lib/JvCustomD7R.bpl and /dev/null differ diff --git a/Lib/JvGlobusD7R.bpl b/Lib/JvGlobusD7R.bpl deleted file mode 100644 index 5e0d1a4..0000000 Binary files a/Lib/JvGlobusD7R.bpl and /dev/null differ diff --git a/Lib/JvMMD7R.bpl b/Lib/JvMMD7R.bpl deleted file mode 100644 index 257afb4..0000000 Binary files a/Lib/JvMMD7R.bpl and /dev/null differ diff --git a/Lib/JvPageCompsD7R.bpl b/Lib/JvPageCompsD7R.bpl deleted file mode 100644 index f3ac0da..0000000 Binary files a/Lib/JvPageCompsD7R.bpl and /dev/null differ diff --git a/Lib/JvStdCtrlsD7R.bpl b/Lib/JvStdCtrlsD7R.bpl deleted file mode 100644 index ec50080..0000000 Binary files a/Lib/JvStdCtrlsD7R.bpl and /dev/null differ diff --git a/Lib/JvSystemD7R.bpl b/Lib/JvSystemD7R.bpl deleted file mode 100644 index 4b29a7c..0000000 Binary files a/Lib/JvSystemD7R.bpl and /dev/null differ diff --git a/Lib/JvWizardD7R.bpl b/Lib/JvWizardD7R.bpl deleted file mode 100644 index d211432..0000000 Binary files a/Lib/JvWizardD7R.bpl and /dev/null differ diff --git a/Lib/bdertl70.bpl b/Lib/bdertl70.bpl deleted file mode 100644 index f3b79de..0000000 Binary files a/Lib/bdertl70.bpl and /dev/null differ diff --git a/Lib/ccpack70.bpl b/Lib/ccpack70.bpl deleted file mode 100644 index 5ab9d2c..0000000 Binary files a/Lib/ccpack70.bpl and /dev/null differ diff --git a/Lib/cfpack.bpl b/Lib/cfpack.bpl deleted file mode 100644 index ccb1907..0000000 Binary files a/Lib/cfpack.bpl and /dev/null differ diff --git a/Lib/cxDataD7.bpl b/Lib/cxDataD7.bpl deleted file mode 100644 index 78d8179..0000000 Binary files a/Lib/cxDataD7.bpl and /dev/null differ diff --git a/Lib/cxEditorsVCLD7.bpl b/Lib/cxEditorsVCLD7.bpl deleted file mode 100644 index 62593b0..0000000 Binary files a/Lib/cxEditorsVCLD7.bpl and /dev/null differ diff --git a/Lib/cxExportVCLD7.bpl b/Lib/cxExportVCLD7.bpl deleted file mode 100644 index 3939c3f..0000000 Binary files a/Lib/cxExportVCLD7.bpl and /dev/null differ diff --git a/Lib/cxExtEditorsVCLD7.bpl b/Lib/cxExtEditorsVCLD7.bpl deleted file mode 100644 index 490eda6..0000000 Binary files a/Lib/cxExtEditorsVCLD7.bpl and /dev/null differ diff --git a/Lib/cxGridVCLD7.bpl b/Lib/cxGridVCLD7.bpl deleted file mode 100644 index 99b7060..0000000 Binary files a/Lib/cxGridVCLD7.bpl and /dev/null differ diff --git a/Lib/cxIntl5D7.bpl b/Lib/cxIntl5D7.bpl deleted file mode 100644 index 7f6c606..0000000 Binary files a/Lib/cxIntl5D7.bpl and /dev/null differ diff --git a/Lib/cxIntlPrintSys3D7.bpl b/Lib/cxIntlPrintSys3D7.bpl deleted file mode 100644 index fc29f44..0000000 Binary files a/Lib/cxIntlPrintSys3D7.bpl and /dev/null differ diff --git a/Lib/cxLibraryVCLD7.bpl b/Lib/cxLibraryVCLD7.bpl deleted file mode 100644 index 95e0c99..0000000 Binary files a/Lib/cxLibraryVCLD7.bpl and /dev/null differ diff --git a/Lib/cxPageControlVCLD7.bpl b/Lib/cxPageControlVCLD7.bpl deleted file mode 100644 index dc2e3bd..0000000 Binary files a/Lib/cxPageControlVCLD7.bpl and /dev/null differ diff --git a/Lib/cxTreeListVCLD7.bpl b/Lib/cxTreeListVCLD7.bpl deleted file mode 100644 index 4367504..0000000 Binary files a/Lib/cxTreeListVCLD7.bpl and /dev/null differ diff --git a/Lib/cxVerticalGridVCLD7.bpl b/Lib/cxVerticalGridVCLD7.bpl deleted file mode 100644 index 7720041..0000000 Binary files a/Lib/cxVerticalGridVCLD7.bpl and /dev/null differ diff --git a/Lib/dbrtl70.bpl b/Lib/dbrtl70.bpl deleted file mode 100644 index ad93c9b..0000000 Binary files a/Lib/dbrtl70.bpl and /dev/null differ diff --git a/Lib/dclcxLibraryVCLD7.bpl b/Lib/dclcxLibraryVCLD7.bpl deleted file mode 100644 index 4875c79..0000000 Binary files a/Lib/dclcxLibraryVCLD7.bpl and /dev/null differ diff --git a/Lib/designide70.bpl b/Lib/designide70.bpl deleted file mode 100644 index d55557b..0000000 Binary files a/Lib/designide70.bpl and /dev/null differ diff --git a/Lib/dsnap70.bpl b/Lib/dsnap70.bpl deleted file mode 100644 index 72aac1f..0000000 Binary files a/Lib/dsnap70.bpl and /dev/null differ diff --git a/Lib/dxBarD7.bpl b/Lib/dxBarD7.bpl deleted file mode 100644 index 47eb448..0000000 Binary files a/Lib/dxBarD7.bpl and /dev/null differ diff --git a/Lib/dxBarExtDBItemsD7.bpl b/Lib/dxBarExtDBItemsD7.bpl deleted file mode 100644 index d92f183..0000000 Binary files a/Lib/dxBarExtDBItemsD7.bpl and /dev/null differ diff --git a/Lib/dxBarExtItemsD7.bpl b/Lib/dxBarExtItemsD7.bpl deleted file mode 100644 index 9eb669f..0000000 Binary files a/Lib/dxBarExtItemsD7.bpl and /dev/null differ diff --git a/Lib/dxComnD7.bpl b/Lib/dxComnD7.bpl deleted file mode 100644 index 06137d0..0000000 Binary files a/Lib/dxComnD7.bpl and /dev/null differ diff --git a/Lib/dxLayoutControlD7.bpl b/Lib/dxLayoutControlD7.bpl deleted file mode 100644 index 9e2a569..0000000 Binary files a/Lib/dxLayoutControlD7.bpl and /dev/null differ diff --git a/Lib/dxPSCoreD7.bpl b/Lib/dxPSCoreD7.bpl deleted file mode 100644 index 392246f..0000000 Binary files a/Lib/dxPSCoreD7.bpl and /dev/null differ diff --git a/Lib/dxPSDBTeeChartD7.bpl b/Lib/dxPSDBTeeChartD7.bpl deleted file mode 100644 index 45c53c9..0000000 Binary files a/Lib/dxPSDBTeeChartD7.bpl and /dev/null differ diff --git a/Lib/dxPSLnksD7.bpl b/Lib/dxPSLnksD7.bpl deleted file mode 100644 index 7429edf..0000000 Binary files a/Lib/dxPSLnksD7.bpl and /dev/null differ diff --git a/Lib/dxPSPrVwAdvD7.bpl b/Lib/dxPSPrVwAdvD7.bpl deleted file mode 100644 index 69ac98a..0000000 Binary files a/Lib/dxPSPrVwAdvD7.bpl and /dev/null differ diff --git a/Lib/dxPSTeeChartD7.bpl b/Lib/dxPSTeeChartD7.bpl deleted file mode 100644 index 442f1fa..0000000 Binary files a/Lib/dxPSTeeChartD7.bpl and /dev/null differ diff --git a/Lib/dxPScxCommonD7.bpl b/Lib/dxPScxCommonD7.bpl deleted file mode 100644 index a46acd0..0000000 Binary files a/Lib/dxPScxCommonD7.bpl and /dev/null differ diff --git a/Lib/dxPScxExtCommonD7.bpl b/Lib/dxPScxExtCommonD7.bpl deleted file mode 100644 index 9329fa0..0000000 Binary files a/Lib/dxPScxExtCommonD7.bpl and /dev/null differ diff --git a/Lib/dxPScxGridLnkD7.bpl b/Lib/dxPScxGridLnkD7.bpl deleted file mode 100644 index 1cc19d7..0000000 Binary files a/Lib/dxPScxGridLnkD7.bpl and /dev/null differ diff --git a/Lib/dxPScxPCProdD7.bpl b/Lib/dxPScxPCProdD7.bpl deleted file mode 100644 index 554dc5d..0000000 Binary files a/Lib/dxPScxPCProdD7.bpl and /dev/null differ diff --git a/Lib/dxPScxScheduler2LnkD7.bpl b/Lib/dxPScxScheduler2LnkD7.bpl deleted file mode 100644 index 61c4ed2..0000000 Binary files a/Lib/dxPScxScheduler2LnkD7.bpl and /dev/null differ diff --git a/Lib/dxPSdxLCLnkD7.bpl b/Lib/dxPSdxLCLnkD7.bpl deleted file mode 100644 index 9476382..0000000 Binary files a/Lib/dxPSdxLCLnkD7.bpl and /dev/null differ diff --git a/Lib/dxPscxTLLnkD7.bpl b/Lib/dxPscxTLLnkD7.bpl deleted file mode 100644 index b8d5964..0000000 Binary files a/Lib/dxPscxTLLnkD7.bpl and /dev/null differ diff --git a/Lib/dxThemeD7.bpl b/Lib/dxThemeD7.bpl deleted file mode 100644 index b25a81b..0000000 Binary files a/Lib/dxThemeD7.bpl and /dev/null differ diff --git a/Lib/fqb70.bpl b/Lib/fqb70.bpl deleted file mode 100644 index 3b4dc7a..0000000 Binary files a/Lib/fqb70.bpl and /dev/null differ diff --git a/Lib/frx7.bpl b/Lib/frx7.bpl deleted file mode 100644 index ea558e1..0000000 Binary files a/Lib/frx7.bpl and /dev/null differ diff --git a/Lib/frxe7.bpl b/Lib/frxe7.bpl deleted file mode 100644 index efa230a..0000000 Binary files a/Lib/frxe7.bpl and /dev/null differ diff --git a/Lib/fs7.bpl b/Lib/fs7.bpl deleted file mode 100644 index 2f36c8e..0000000 Binary files a/Lib/fs7.bpl and /dev/null differ diff --git a/Output/Cliente/AdminPV.exe b/Output/Cliente/AdminPV.exe deleted file mode 100644 index addaf1e..0000000 Binary files a/Output/Cliente/AdminPV.exe and /dev/null differ diff --git a/Output/Cliente/CargaEDI.exe b/Output/Cliente/CargaEDI.exe deleted file mode 100644 index a33ff1e..0000000 Binary files a/Output/Cliente/CargaEDI.exe and /dev/null differ diff --git a/Output/Servidor/AdminPV_Server.exe b/Output/Servidor/AdminPV_Server.exe deleted file mode 100644 index 7e6e7ce..0000000 Binary files a/Output/Servidor/AdminPV_Server.exe and /dev/null differ diff --git a/Output/Servidor/dbexpmss.dll b/Output/Servidor/dbexpmss.dll deleted file mode 100644 index d5b298c..0000000 Binary files a/Output/Servidor/dbexpmss.dll and /dev/null differ diff --git a/Source/Iconos/CargaEDI.ico b/Resources/Iconos/CargaEDI.ico similarity index 100% rename from Source/Iconos/CargaEDI.ico rename to Resources/Iconos/CargaEDI.ico diff --git a/Resources/Iconos/Cliente.ico b/Resources/Iconos/Cliente.ico new file mode 100644 index 0000000..3633372 Binary files /dev/null and b/Resources/Iconos/Cliente.ico differ diff --git a/Source/Iconos/Devoluciones/16x16/Remove.png b/Resources/Iconos/Devoluciones/16x16/Remove.png similarity index 100% rename from Source/Iconos/Devoluciones/16x16/Remove.png rename to Resources/Iconos/Devoluciones/16x16/Remove.png diff --git a/Source/Iconos/Devoluciones/16x16/Thumbs.db b/Resources/Iconos/Devoluciones/16x16/Thumbs.db similarity index 98% rename from Source/Iconos/Devoluciones/16x16/Thumbs.db rename to Resources/Iconos/Devoluciones/16x16/Thumbs.db index 0c201b1..8496f5f 100644 Binary files a/Source/Iconos/Devoluciones/16x16/Thumbs.db and b/Resources/Iconos/Devoluciones/16x16/Thumbs.db differ diff --git a/Source/Iconos/Devoluciones/24x24/Remove.png b/Resources/Iconos/Devoluciones/24x24/Remove.png similarity index 100% rename from Source/Iconos/Devoluciones/24x24/Remove.png rename to Resources/Iconos/Devoluciones/24x24/Remove.png diff --git a/Source/Iconos/Devoluciones/24x24/Thumbs.db b/Resources/Iconos/Devoluciones/24x24/Thumbs.db similarity index 99% rename from Source/Iconos/Devoluciones/24x24/Thumbs.db rename to Resources/Iconos/Devoluciones/24x24/Thumbs.db index 824b347..fa10699 100644 Binary files a/Source/Iconos/Devoluciones/24x24/Thumbs.db and b/Resources/Iconos/Devoluciones/24x24/Thumbs.db differ diff --git a/Source/Iconos/Devoluciones/28x28/Remove.png b/Resources/Iconos/Devoluciones/28x28/Remove.png similarity index 100% rename from Source/Iconos/Devoluciones/28x28/Remove.png rename to Resources/Iconos/Devoluciones/28x28/Remove.png diff --git a/Source/Iconos/Devoluciones/28x28/Thumbs.db b/Resources/Iconos/Devoluciones/28x28/Thumbs.db similarity index 98% rename from Source/Iconos/Devoluciones/28x28/Thumbs.db rename to Resources/Iconos/Devoluciones/28x28/Thumbs.db index a48af0d..70502f6 100644 Binary files a/Source/Iconos/Devoluciones/28x28/Thumbs.db and b/Resources/Iconos/Devoluciones/28x28/Thumbs.db differ diff --git a/Source/Iconos/FicherosEDI/16x16/Delete.png b/Resources/Iconos/FicherosEDI/16x16/Delete.png similarity index 100% rename from Source/Iconos/FicherosEDI/16x16/Delete.png rename to Resources/Iconos/FicherosEDI/16x16/Delete.png diff --git a/Source/Iconos/FicherosEDI/16x16/History.png b/Resources/Iconos/FicherosEDI/16x16/History.png similarity index 100% rename from Source/Iconos/FicherosEDI/16x16/History.png rename to Resources/Iconos/FicherosEDI/16x16/History.png diff --git a/Source/Iconos/FicherosEDI/16x16/Thumbs.db b/Resources/Iconos/FicherosEDI/16x16/Thumbs.db similarity index 57% rename from Source/Iconos/FicherosEDI/16x16/Thumbs.db rename to Resources/Iconos/FicherosEDI/16x16/Thumbs.db index cc10f4f..88c3362 100644 Binary files a/Source/Iconos/FicherosEDI/16x16/Thumbs.db and b/Resources/Iconos/FicherosEDI/16x16/Thumbs.db differ diff --git a/Source/Iconos/FicherosEDI/16x16/Tick.png b/Resources/Iconos/FicherosEDI/16x16/Tick.png similarity index 100% rename from Source/Iconos/FicherosEDI/16x16/Tick.png rename to Resources/Iconos/FicherosEDI/16x16/Tick.png diff --git a/Source/Iconos/FicherosEDI/16x16/carga.png b/Resources/Iconos/FicherosEDI/16x16/carga.png similarity index 100% rename from Source/Iconos/FicherosEDI/16x16/carga.png rename to Resources/Iconos/FicherosEDI/16x16/carga.png diff --git a/Source/Iconos/FicherosEDI/24x24/History.png b/Resources/Iconos/FicherosEDI/24x24/History.png similarity index 100% rename from Source/Iconos/FicherosEDI/24x24/History.png rename to Resources/Iconos/FicherosEDI/24x24/History.png diff --git a/Source/Iconos/FicherosEDI/24x24/Thumbs.db b/Resources/Iconos/FicherosEDI/24x24/Thumbs.db similarity index 98% rename from Source/Iconos/FicherosEDI/24x24/Thumbs.db rename to Resources/Iconos/FicherosEDI/24x24/Thumbs.db index c4389cc..28c62fa 100644 Binary files a/Source/Iconos/FicherosEDI/24x24/Thumbs.db and b/Resources/Iconos/FicherosEDI/24x24/Thumbs.db differ diff --git a/Source/Iconos/FicherosEDI/24x24/cargar.png b/Resources/Iconos/FicherosEDI/24x24/cargar.png similarity index 100% rename from Source/Iconos/FicherosEDI/24x24/cargar.png rename to Resources/Iconos/FicherosEDI/24x24/cargar.png diff --git a/Source/Iconos/FicherosEDI/28x28/History.png b/Resources/Iconos/FicherosEDI/28x28/History.png similarity index 100% rename from Source/Iconos/FicherosEDI/28x28/History.png rename to Resources/Iconos/FicherosEDI/28x28/History.png diff --git a/Source/Iconos/FicherosEDI/28x28/Thumbs.db b/Resources/Iconos/FicherosEDI/28x28/Thumbs.db similarity index 98% rename from Source/Iconos/FicherosEDI/28x28/Thumbs.db rename to Resources/Iconos/FicherosEDI/28x28/Thumbs.db index 145dac4..1414e12 100644 Binary files a/Source/Iconos/FicherosEDI/28x28/Thumbs.db and b/Resources/Iconos/FicherosEDI/28x28/Thumbs.db differ diff --git a/Source/Iconos/FicherosEDI/28x28/cargar.png b/Resources/Iconos/FicherosEDI/28x28/cargar.png similarity index 100% rename from Source/Iconos/FicherosEDI/28x28/cargar.png rename to Resources/Iconos/FicherosEDI/28x28/cargar.png diff --git a/Source/Iconos/Generales/16x16/013422.bmp b/Resources/Iconos/Generales/16x16/013422.bmp similarity index 100% rename from Source/Iconos/Generales/16x16/013422.bmp rename to Resources/Iconos/Generales/16x16/013422.bmp diff --git a/Source/Iconos/Generales/16x16/09378.bmp b/Resources/Iconos/Generales/16x16/09378.bmp similarity index 100% rename from Source/Iconos/Generales/16x16/09378.bmp rename to Resources/Iconos/Generales/16x16/09378.bmp diff --git a/Source/Iconos/Generales/16x16/09378.png b/Resources/Iconos/Generales/16x16/09378.png similarity index 100% rename from Source/Iconos/Generales/16x16/09378.png rename to Resources/Iconos/Generales/16x16/09378.png diff --git a/Source/Iconos/Generales/16x16/About.png b/Resources/Iconos/Generales/16x16/About.png similarity index 100% rename from Source/Iconos/Generales/16x16/About.png rename to Resources/Iconos/Generales/16x16/About.png diff --git a/Source/Iconos/Generales/16x16/Añadir-capítulo.png b/Resources/Iconos/Generales/16x16/Añadir-capítulo.png similarity index 100% rename from Source/Iconos/Generales/16x16/Añadir-capítulo.png rename to Resources/Iconos/Generales/16x16/Añadir-capítulo.png diff --git a/Source/Iconos/Generales/16x16/Añadir-material.png b/Resources/Iconos/Generales/16x16/Añadir-material.png similarity index 100% rename from Source/Iconos/Generales/16x16/Añadir-material.png rename to Resources/Iconos/Generales/16x16/Añadir-material.png diff --git a/Source/Iconos/Generales/16x16/Back.png b/Resources/Iconos/Generales/16x16/Back.png similarity index 100% rename from Source/Iconos/Generales/16x16/Back.png rename to Resources/Iconos/Generales/16x16/Back.png diff --git a/Source/Iconos/Generales/16x16/Box-Closed.png b/Resources/Iconos/Generales/16x16/Box-Closed.png similarity index 100% rename from Source/Iconos/Generales/16x16/Box-Closed.png rename to Resources/Iconos/Generales/16x16/Box-Closed.png diff --git a/Source/Iconos/Generales/16x16/Box-Open-2.png b/Resources/Iconos/Generales/16x16/Box-Open-2.png similarity index 100% rename from Source/Iconos/Generales/16x16/Box-Open-2.png rename to Resources/Iconos/Generales/16x16/Box-Open-2.png diff --git a/Source/Iconos/Generales/16x16/Card-Copy.png b/Resources/Iconos/Generales/16x16/Card-Copy.png similarity index 100% rename from Source/Iconos/Generales/16x16/Card-Copy.png rename to Resources/Iconos/Generales/16x16/Card-Copy.png diff --git a/Source/Iconos/Generales/16x16/Cell-Format.png b/Resources/Iconos/Generales/16x16/Cell-Format.png similarity index 100% rename from Source/Iconos/Generales/16x16/Cell-Format.png rename to Resources/Iconos/Generales/16x16/Cell-Format.png diff --git a/Source/Iconos/Generales/16x16/Clear.png b/Resources/Iconos/Generales/16x16/Clear.png similarity index 100% rename from Source/Iconos/Generales/16x16/Clear.png rename to Resources/Iconos/Generales/16x16/Clear.png diff --git a/Source/Iconos/Generales/16x16/Copy.png b/Resources/Iconos/Generales/16x16/Copy.png similarity index 100% rename from Source/Iconos/Generales/16x16/Copy.png rename to Resources/Iconos/Generales/16x16/Copy.png diff --git a/Source/Iconos/Generales/16x16/Cut.png b/Resources/Iconos/Generales/16x16/Cut.png similarity index 100% rename from Source/Iconos/Generales/16x16/Cut.png rename to Resources/Iconos/Generales/16x16/Cut.png diff --git a/Source/Iconos/Generales/16x16/Dates-Adjust.png b/Resources/Iconos/Generales/16x16/Dates-Adjust.png similarity index 100% rename from Source/Iconos/Generales/16x16/Dates-Adjust.png rename to Resources/Iconos/Generales/16x16/Dates-Adjust.png diff --git a/Source/Iconos/Generales/16x16/Debug-Breakpoint.png b/Resources/Iconos/Generales/16x16/Debug-Breakpoint.png similarity index 100% rename from Source/Iconos/Generales/16x16/Debug-Breakpoint.png rename to Resources/Iconos/Generales/16x16/Debug-Breakpoint.png diff --git a/Source/Iconos/Generales/16x16/Debug-Watch-Delete.png b/Resources/Iconos/Generales/16x16/Debug-Watch-Delete.png similarity index 100% rename from Source/Iconos/Generales/16x16/Debug-Watch-Delete.png rename to Resources/Iconos/Generales/16x16/Debug-Watch-Delete.png diff --git a/Source/Iconos/Generales/16x16/Debug-Watch.png b/Resources/Iconos/Generales/16x16/Debug-Watch.png similarity index 100% rename from Source/Iconos/Generales/16x16/Debug-Watch.png rename to Resources/Iconos/Generales/16x16/Debug-Watch.png diff --git a/Source/Iconos/Generales/16x16/Delete.png b/Resources/Iconos/Generales/16x16/Delete.png similarity index 100% rename from Source/Iconos/Generales/16x16/Delete.png rename to Resources/Iconos/Generales/16x16/Delete.png diff --git a/Source/Iconos/Generales/16x16/Details-Hide.png b/Resources/Iconos/Generales/16x16/Details-Hide.png similarity index 100% rename from Source/Iconos/Generales/16x16/Details-Hide.png rename to Resources/Iconos/Generales/16x16/Details-Hide.png diff --git a/Source/Iconos/Generales/16x16/Details-Show.png b/Resources/Iconos/Generales/16x16/Details-Show.png similarity index 100% rename from Source/Iconos/Generales/16x16/Details-Show.png rename to Resources/Iconos/Generales/16x16/Details-Show.png diff --git a/Source/Iconos/Generales/16x16/Distribute-Rows Evenly.png b/Resources/Iconos/Generales/16x16/Distribute-Rows Evenly.png similarity index 100% rename from Source/Iconos/Generales/16x16/Distribute-Rows Evenly.png rename to Resources/Iconos/Generales/16x16/Distribute-Rows Evenly.png diff --git a/Source/Iconos/Generales/16x16/Edit.png b/Resources/Iconos/Generales/16x16/Edit.png similarity index 100% rename from Source/Iconos/Generales/16x16/Edit.png rename to Resources/Iconos/Generales/16x16/Edit.png diff --git a/Source/Iconos/Generales/16x16/Exit.png b/Resources/Iconos/Generales/16x16/Exit.png similarity index 100% rename from Source/Iconos/Generales/16x16/Exit.png rename to Resources/Iconos/Generales/16x16/Exit.png diff --git a/Source/Iconos/Generales/16x16/Filter.png b/Resources/Iconos/Generales/16x16/Filter.png similarity index 100% rename from Source/Iconos/Generales/16x16/Filter.png rename to Resources/Iconos/Generales/16x16/Filter.png diff --git a/Source/Iconos/Generales/16x16/Format-Font.png b/Resources/Iconos/Generales/16x16/Format-Font.png similarity index 100% rename from Source/Iconos/Generales/16x16/Format-Font.png rename to Resources/Iconos/Generales/16x16/Format-Font.png diff --git a/Source/Iconos/Generales/16x16/Forward.png b/Resources/Iconos/Generales/16x16/Forward.png similarity index 100% rename from Source/Iconos/Generales/16x16/Forward.png rename to Resources/Iconos/Generales/16x16/Forward.png diff --git a/Source/Iconos/Generales/16x16/Grid-Select Column.png b/Resources/Iconos/Generales/16x16/Grid-Select Column.png similarity index 100% rename from Source/Iconos/Generales/16x16/Grid-Select Column.png rename to Resources/Iconos/Generales/16x16/Grid-Select Column.png diff --git a/Source/Iconos/Generales/16x16/Group By.png b/Resources/Iconos/Generales/16x16/Group By.png similarity index 100% rename from Source/Iconos/Generales/16x16/Group By.png rename to Resources/Iconos/Generales/16x16/Group By.png diff --git a/Source/Iconos/Generales/16x16/Home.png b/Resources/Iconos/Generales/16x16/Home.png similarity index 100% rename from Source/Iconos/Generales/16x16/Home.png rename to Resources/Iconos/Generales/16x16/Home.png diff --git a/Source/Iconos/Generales/16x16/Minus.png b/Resources/Iconos/Generales/16x16/Minus.png similarity index 100% rename from Source/Iconos/Generales/16x16/Minus.png rename to Resources/Iconos/Generales/16x16/Minus.png diff --git a/Source/Iconos/Generales/16x16/New.png b/Resources/Iconos/Generales/16x16/New.png similarity index 100% rename from Source/Iconos/Generales/16x16/New.png rename to Resources/Iconos/Generales/16x16/New.png diff --git a/Source/Iconos/Generales/16x16/Outline-Collapse.png b/Resources/Iconos/Generales/16x16/Outline-Collapse.png similarity index 100% rename from Source/Iconos/Generales/16x16/Outline-Collapse.png rename to Resources/Iconos/Generales/16x16/Outline-Collapse.png diff --git a/Source/Iconos/Generales/16x16/Outline-Expand.png b/Resources/Iconos/Generales/16x16/Outline-Expand.png similarity index 100% rename from Source/Iconos/Generales/16x16/Outline-Expand.png rename to Resources/Iconos/Generales/16x16/Outline-Expand.png diff --git a/Source/Iconos/Generales/16x16/Outline-Move Down.png b/Resources/Iconos/Generales/16x16/Outline-Move Down.png similarity index 100% rename from Source/Iconos/Generales/16x16/Outline-Move Down.png rename to Resources/Iconos/Generales/16x16/Outline-Move Down.png diff --git a/Source/Iconos/Generales/16x16/Outline-Move Up.png b/Resources/Iconos/Generales/16x16/Outline-Move Up.png similarity index 100% rename from Source/Iconos/Generales/16x16/Outline-Move Up.png rename to Resources/Iconos/Generales/16x16/Outline-Move Up.png diff --git a/Source/Iconos/Generales/16x16/Parcel.png b/Resources/Iconos/Generales/16x16/Parcel.png similarity index 100% rename from Source/Iconos/Generales/16x16/Parcel.png rename to Resources/Iconos/Generales/16x16/Parcel.png diff --git a/Source/Iconos/Generales/16x16/Paste.png b/Resources/Iconos/Generales/16x16/Paste.png similarity index 100% rename from Source/Iconos/Generales/16x16/Paste.png rename to Resources/Iconos/Generales/16x16/Paste.png diff --git a/Source/Iconos/Generales/16x16/Plus.png b/Resources/Iconos/Generales/16x16/Plus.png similarity index 100% rename from Source/Iconos/Generales/16x16/Plus.png rename to Resources/Iconos/Generales/16x16/Plus.png diff --git a/Source/Iconos/Generales/16x16/Preview.png b/Resources/Iconos/Generales/16x16/Preview.png similarity index 100% rename from Source/Iconos/Generales/16x16/Preview.png rename to Resources/Iconos/Generales/16x16/Preview.png diff --git a/Source/Iconos/Generales/16x16/Print-Options.png b/Resources/Iconos/Generales/16x16/Print-Options.png similarity index 100% rename from Source/Iconos/Generales/16x16/Print-Options.png rename to Resources/Iconos/Generales/16x16/Print-Options.png diff --git a/Source/Iconos/Generales/16x16/Print.png b/Resources/Iconos/Generales/16x16/Print.png similarity index 100% rename from Source/Iconos/Generales/16x16/Print.png rename to Resources/Iconos/Generales/16x16/Print.png diff --git a/Source/Iconos/Generales/16x16/Refresh.png b/Resources/Iconos/Generales/16x16/Refresh.png similarity index 100% rename from Source/Iconos/Generales/16x16/Refresh.png rename to Resources/Iconos/Generales/16x16/Refresh.png diff --git a/Source/Iconos/Generales/16x16/Save.png b/Resources/Iconos/Generales/16x16/Save.png similarity index 100% rename from Source/Iconos/Generales/16x16/Save.png rename to Resources/Iconos/Generales/16x16/Save.png diff --git a/Source/Iconos/Generales/16x16/Search.png b/Resources/Iconos/Generales/16x16/Search.png similarity index 100% rename from Source/Iconos/Generales/16x16/Search.png rename to Resources/Iconos/Generales/16x16/Search.png diff --git a/Source/Iconos/Generales/16x16/Select All.png b/Resources/Iconos/Generales/16x16/Select All.png similarity index 100% rename from Source/Iconos/Generales/16x16/Select All.png rename to Resources/Iconos/Generales/16x16/Select All.png diff --git a/Source/Iconos/Generales/16x16/Speaking-Start.png b/Resources/Iconos/Generales/16x16/Speaking-Start.png similarity index 100% rename from Source/Iconos/Generales/16x16/Speaking-Start.png rename to Resources/Iconos/Generales/16x16/Speaking-Start.png diff --git a/Source/Iconos/Generales/16x16/Sum-2.png b/Resources/Iconos/Generales/16x16/Sum-2.png similarity index 100% rename from Source/Iconos/Generales/16x16/Sum-2.png rename to Resources/Iconos/Generales/16x16/Sum-2.png diff --git a/Source/Iconos/Generales/16x16/Table-Search.png b/Resources/Iconos/Generales/16x16/Table-Search.png similarity index 100% rename from Source/Iconos/Generales/16x16/Table-Search.png rename to Resources/Iconos/Generales/16x16/Table-Search.png diff --git a/Source/Iconos/Generales/16x16/Thumbs.db b/Resources/Iconos/Generales/16x16/Thumbs.db similarity index 94% rename from Source/Iconos/Generales/16x16/Thumbs.db rename to Resources/Iconos/Generales/16x16/Thumbs.db index 09ab8c3..fa43abb 100644 Binary files a/Source/Iconos/Generales/16x16/Thumbs.db and b/Resources/Iconos/Generales/16x16/Thumbs.db differ diff --git a/Source/Iconos/Generales/16x16/Total-capítulo.png b/Resources/Iconos/Generales/16x16/Total-capítulo.png similarity index 100% rename from Source/Iconos/Generales/16x16/Total-capítulo.png rename to Resources/Iconos/Generales/16x16/Total-capítulo.png diff --git a/Source/Iconos/Generales/16x16/Título-capítulo.png b/Resources/Iconos/Generales/16x16/Título-capítulo.png similarity index 100% rename from Source/Iconos/Generales/16x16/Título-capítulo.png rename to Resources/Iconos/Generales/16x16/Título-capítulo.png diff --git a/Source/Iconos/Generales/16x16/Undo.png b/Resources/Iconos/Generales/16x16/Undo.png similarity index 100% rename from Source/Iconos/Generales/16x16/Undo.png rename to Resources/Iconos/Generales/16x16/Undo.png diff --git a/Source/Iconos/Generales/16x16/View-One Page.png b/Resources/Iconos/Generales/16x16/View-One Page.png similarity index 100% rename from Source/Iconos/Generales/16x16/View-One Page.png rename to Resources/Iconos/Generales/16x16/View-One Page.png diff --git a/Source/Iconos/Generales/16x16/View-Page Width.png b/Resources/Iconos/Generales/16x16/View-Page Width.png similarity index 100% rename from Source/Iconos/Generales/16x16/View-Page Width.png rename to Resources/Iconos/Generales/16x16/View-Page Width.png diff --git a/Source/Iconos/Generales/16x16/Warning.png b/Resources/Iconos/Generales/16x16/Warning.png similarity index 100% rename from Source/Iconos/Generales/16x16/Warning.png rename to Resources/Iconos/Generales/16x16/Warning.png diff --git a/Source/Iconos/Generales/16x16/Zoom-In.png b/Resources/Iconos/Generales/16x16/Zoom-In.png similarity index 100% rename from Source/Iconos/Generales/16x16/Zoom-In.png rename to Resources/Iconos/Generales/16x16/Zoom-In.png diff --git a/Source/Iconos/Generales/16x16/Zoom-Out.png b/Resources/Iconos/Generales/16x16/Zoom-Out.png similarity index 100% rename from Source/Iconos/Generales/16x16/Zoom-Out.png rename to Resources/Iconos/Generales/16x16/Zoom-Out.png diff --git a/Source/Iconos/Generales/16x16/db-Next-2.png b/Resources/Iconos/Generales/16x16/db-Next-2.png similarity index 100% rename from Source/Iconos/Generales/16x16/db-Next-2.png rename to Resources/Iconos/Generales/16x16/db-Next-2.png diff --git a/Source/Iconos/Generales/16x16/db-Previous-2.png b/Resources/Iconos/Generales/16x16/db-Previous-2.png similarity index 100% rename from Source/Iconos/Generales/16x16/db-Previous-2.png rename to Resources/Iconos/Generales/16x16/db-Previous-2.png diff --git a/Source/Iconos/Generales/16x16/db-first-2.png b/Resources/Iconos/Generales/16x16/db-first-2.png similarity index 100% rename from Source/Iconos/Generales/16x16/db-first-2.png rename to Resources/Iconos/Generales/16x16/db-first-2.png diff --git a/Source/Iconos/Generales/16x16/db-last-2.png b/Resources/Iconos/Generales/16x16/db-last-2.png similarity index 100% rename from Source/Iconos/Generales/16x16/db-last-2.png rename to Resources/Iconos/Generales/16x16/db-last-2.png diff --git a/Source/Iconos/Generales/24x24/About.png b/Resources/Iconos/Generales/24x24/About.png similarity index 100% rename from Source/Iconos/Generales/24x24/About.png rename to Resources/Iconos/Generales/24x24/About.png diff --git a/Source/Iconos/Generales/24x24/Back.png b/Resources/Iconos/Generales/24x24/Back.png similarity index 100% rename from Source/Iconos/Generales/24x24/Back.png rename to Resources/Iconos/Generales/24x24/Back.png diff --git a/Source/Iconos/Generales/24x24/Box-Open-2.png b/Resources/Iconos/Generales/24x24/Box-Open-2.png similarity index 100% rename from Source/Iconos/Generales/24x24/Box-Open-2.png rename to Resources/Iconos/Generales/24x24/Box-Open-2.png diff --git a/Source/Iconos/Generales/24x24/Card-Copy.png b/Resources/Iconos/Generales/24x24/Card-Copy.png similarity index 100% rename from Source/Iconos/Generales/24x24/Card-Copy.png rename to Resources/Iconos/Generales/24x24/Card-Copy.png diff --git a/Source/Iconos/Generales/24x24/Cell-Format.png b/Resources/Iconos/Generales/24x24/Cell-Format.png similarity index 100% rename from Source/Iconos/Generales/24x24/Cell-Format.png rename to Resources/Iconos/Generales/24x24/Cell-Format.png diff --git a/Source/Iconos/Generales/24x24/Clear.png b/Resources/Iconos/Generales/24x24/Clear.png similarity index 100% rename from Source/Iconos/Generales/24x24/Clear.png rename to Resources/Iconos/Generales/24x24/Clear.png diff --git a/Source/Iconos/Generales/24x24/Copy.png b/Resources/Iconos/Generales/24x24/Copy.png similarity index 100% rename from Source/Iconos/Generales/24x24/Copy.png rename to Resources/Iconos/Generales/24x24/Copy.png diff --git a/Source/Iconos/Generales/24x24/Cut.png b/Resources/Iconos/Generales/24x24/Cut.png similarity index 100% rename from Source/Iconos/Generales/24x24/Cut.png rename to Resources/Iconos/Generales/24x24/Cut.png diff --git a/Source/Iconos/Generales/24x24/Dates-Adjust.png b/Resources/Iconos/Generales/24x24/Dates-Adjust.png similarity index 100% rename from Source/Iconos/Generales/24x24/Dates-Adjust.png rename to Resources/Iconos/Generales/24x24/Dates-Adjust.png diff --git a/Source/Iconos/Generales/24x24/Debug-Breakpoint.png b/Resources/Iconos/Generales/24x24/Debug-Breakpoint.png similarity index 100% rename from Source/Iconos/Generales/24x24/Debug-Breakpoint.png rename to Resources/Iconos/Generales/24x24/Debug-Breakpoint.png diff --git a/Source/Iconos/Generales/24x24/Debug-Watch-Delete.png b/Resources/Iconos/Generales/24x24/Debug-Watch-Delete.png similarity index 100% rename from Source/Iconos/Generales/24x24/Debug-Watch-Delete.png rename to Resources/Iconos/Generales/24x24/Debug-Watch-Delete.png diff --git a/Source/Iconos/Generales/24x24/Debug-Watch.png b/Resources/Iconos/Generales/24x24/Debug-Watch.png similarity index 100% rename from Source/Iconos/Generales/24x24/Debug-Watch.png rename to Resources/Iconos/Generales/24x24/Debug-Watch.png diff --git a/Source/Iconos/Generales/24x24/Delete.png b/Resources/Iconos/Generales/24x24/Delete.png similarity index 100% rename from Source/Iconos/Generales/24x24/Delete.png rename to Resources/Iconos/Generales/24x24/Delete.png diff --git a/Source/Iconos/Generales/24x24/Details-Hide.png b/Resources/Iconos/Generales/24x24/Details-Hide.png similarity index 100% rename from Source/Iconos/Generales/24x24/Details-Hide.png rename to Resources/Iconos/Generales/24x24/Details-Hide.png diff --git a/Source/Iconos/Generales/24x24/Details-Show.png b/Resources/Iconos/Generales/24x24/Details-Show.png similarity index 100% rename from Source/Iconos/Generales/24x24/Details-Show.png rename to Resources/Iconos/Generales/24x24/Details-Show.png diff --git a/Source/Iconos/Generales/24x24/Distribute-Rows Evenly.png b/Resources/Iconos/Generales/24x24/Distribute-Rows Evenly.png similarity index 100% rename from Source/Iconos/Generales/24x24/Distribute-Rows Evenly.png rename to Resources/Iconos/Generales/24x24/Distribute-Rows Evenly.png diff --git a/Source/Iconos/Generales/24x24/Edit.png b/Resources/Iconos/Generales/24x24/Edit.png similarity index 100% rename from Source/Iconos/Generales/24x24/Edit.png rename to Resources/Iconos/Generales/24x24/Edit.png diff --git a/Source/Iconos/Generales/24x24/Exit.png b/Resources/Iconos/Generales/24x24/Exit.png similarity index 100% rename from Source/Iconos/Generales/24x24/Exit.png rename to Resources/Iconos/Generales/24x24/Exit.png diff --git a/Source/Iconos/Generales/24x24/Filter.png b/Resources/Iconos/Generales/24x24/Filter.png similarity index 100% rename from Source/Iconos/Generales/24x24/Filter.png rename to Resources/Iconos/Generales/24x24/Filter.png diff --git a/Source/Iconos/Generales/24x24/Format-Font.png b/Resources/Iconos/Generales/24x24/Format-Font.png similarity index 100% rename from Source/Iconos/Generales/24x24/Format-Font.png rename to Resources/Iconos/Generales/24x24/Format-Font.png diff --git a/Source/Iconos/Generales/24x24/Forward.png b/Resources/Iconos/Generales/24x24/Forward.png similarity index 100% rename from Source/Iconos/Generales/24x24/Forward.png rename to Resources/Iconos/Generales/24x24/Forward.png diff --git a/Source/Iconos/Generales/24x24/Grid-Select Column.png b/Resources/Iconos/Generales/24x24/Grid-Select Column.png similarity index 100% rename from Source/Iconos/Generales/24x24/Grid-Select Column.png rename to Resources/Iconos/Generales/24x24/Grid-Select Column.png diff --git a/Source/Iconos/Generales/24x24/Group By.png b/Resources/Iconos/Generales/24x24/Group By.png similarity index 100% rename from Source/Iconos/Generales/24x24/Group By.png rename to Resources/Iconos/Generales/24x24/Group By.png diff --git a/Source/Iconos/Generales/24x24/Home.png b/Resources/Iconos/Generales/24x24/Home.png similarity index 100% rename from Source/Iconos/Generales/24x24/Home.png rename to Resources/Iconos/Generales/24x24/Home.png diff --git a/Source/Iconos/Generales/24x24/Minus.png b/Resources/Iconos/Generales/24x24/Minus.png similarity index 100% rename from Source/Iconos/Generales/24x24/Minus.png rename to Resources/Iconos/Generales/24x24/Minus.png diff --git a/Source/Iconos/Generales/24x24/Outline-Collapse.png b/Resources/Iconos/Generales/24x24/Outline-Collapse.png similarity index 100% rename from Source/Iconos/Generales/24x24/Outline-Collapse.png rename to Resources/Iconos/Generales/24x24/Outline-Collapse.png diff --git a/Source/Iconos/Generales/24x24/Outline-Expand.png b/Resources/Iconos/Generales/24x24/Outline-Expand.png similarity index 100% rename from Source/Iconos/Generales/24x24/Outline-Expand.png rename to Resources/Iconos/Generales/24x24/Outline-Expand.png diff --git a/Source/Iconos/Generales/24x24/Outline-Move Down.png b/Resources/Iconos/Generales/24x24/Outline-Move Down.png similarity index 100% rename from Source/Iconos/Generales/24x24/Outline-Move Down.png rename to Resources/Iconos/Generales/24x24/Outline-Move Down.png diff --git a/Source/Iconos/Generales/24x24/Outline-Move Up.png b/Resources/Iconos/Generales/24x24/Outline-Move Up.png similarity index 100% rename from Source/Iconos/Generales/24x24/Outline-Move Up.png rename to Resources/Iconos/Generales/24x24/Outline-Move Up.png diff --git a/Source/Iconos/Generales/24x24/Paste.png b/Resources/Iconos/Generales/24x24/Paste.png similarity index 100% rename from Source/Iconos/Generales/24x24/Paste.png rename to Resources/Iconos/Generales/24x24/Paste.png diff --git a/Source/Iconos/Generales/24x24/Plus.png b/Resources/Iconos/Generales/24x24/Plus.png similarity index 100% rename from Source/Iconos/Generales/24x24/Plus.png rename to Resources/Iconos/Generales/24x24/Plus.png diff --git a/Source/Iconos/Generales/24x24/Preview.png b/Resources/Iconos/Generales/24x24/Preview.png similarity index 100% rename from Source/Iconos/Generales/24x24/Preview.png rename to Resources/Iconos/Generales/24x24/Preview.png diff --git a/Source/Iconos/Generales/24x24/Print-Options.png b/Resources/Iconos/Generales/24x24/Print-Options.png similarity index 100% rename from Source/Iconos/Generales/24x24/Print-Options.png rename to Resources/Iconos/Generales/24x24/Print-Options.png diff --git a/Source/Iconos/Generales/24x24/Print.png b/Resources/Iconos/Generales/24x24/Print.png similarity index 100% rename from Source/Iconos/Generales/24x24/Print.png rename to Resources/Iconos/Generales/24x24/Print.png diff --git a/Source/Iconos/Generales/24x24/Refresh.png b/Resources/Iconos/Generales/24x24/Refresh.png similarity index 100% rename from Source/Iconos/Generales/24x24/Refresh.png rename to Resources/Iconos/Generales/24x24/Refresh.png diff --git a/Source/Iconos/Generales/24x24/Save.png b/Resources/Iconos/Generales/24x24/Save.png similarity index 100% rename from Source/Iconos/Generales/24x24/Save.png rename to Resources/Iconos/Generales/24x24/Save.png diff --git a/Source/Iconos/Generales/24x24/Search.png b/Resources/Iconos/Generales/24x24/Search.png similarity index 100% rename from Source/Iconos/Generales/24x24/Search.png rename to Resources/Iconos/Generales/24x24/Search.png diff --git a/Source/Iconos/Generales/24x24/Select All.png b/Resources/Iconos/Generales/24x24/Select All.png similarity index 100% rename from Source/Iconos/Generales/24x24/Select All.png rename to Resources/Iconos/Generales/24x24/Select All.png diff --git a/Source/Iconos/Generales/24x24/Speaking-Start.png b/Resources/Iconos/Generales/24x24/Speaking-Start.png similarity index 100% rename from Source/Iconos/Generales/24x24/Speaking-Start.png rename to Resources/Iconos/Generales/24x24/Speaking-Start.png diff --git a/Source/Iconos/Generales/24x24/Sum-2.png b/Resources/Iconos/Generales/24x24/Sum-2.png similarity index 100% rename from Source/Iconos/Generales/24x24/Sum-2.png rename to Resources/Iconos/Generales/24x24/Sum-2.png diff --git a/Source/Iconos/Generales/24x24/Table-Search.png b/Resources/Iconos/Generales/24x24/Table-Search.png similarity index 100% rename from Source/Iconos/Generales/24x24/Table-Search.png rename to Resources/Iconos/Generales/24x24/Table-Search.png diff --git a/Source/Iconos/Generales/24x24/Thumbs.db b/Resources/Iconos/Generales/24x24/Thumbs.db similarity index 93% rename from Source/Iconos/Generales/24x24/Thumbs.db rename to Resources/Iconos/Generales/24x24/Thumbs.db index 619c7ae..7c4548e 100644 Binary files a/Source/Iconos/Generales/24x24/Thumbs.db and b/Resources/Iconos/Generales/24x24/Thumbs.db differ diff --git a/Source/Iconos/Generales/24x24/Undo.png b/Resources/Iconos/Generales/24x24/Undo.png similarity index 100% rename from Source/Iconos/Generales/24x24/Undo.png rename to Resources/Iconos/Generales/24x24/Undo.png diff --git a/Source/Iconos/Generales/24x24/View-One Page.png b/Resources/Iconos/Generales/24x24/View-One Page.png similarity index 100% rename from Source/Iconos/Generales/24x24/View-One Page.png rename to Resources/Iconos/Generales/24x24/View-One Page.png diff --git a/Source/Iconos/Generales/24x24/View-Page Width.png b/Resources/Iconos/Generales/24x24/View-Page Width.png similarity index 100% rename from Source/Iconos/Generales/24x24/View-Page Width.png rename to Resources/Iconos/Generales/24x24/View-Page Width.png diff --git a/Source/Iconos/Generales/24x24/Warning.png b/Resources/Iconos/Generales/24x24/Warning.png similarity index 100% rename from Source/Iconos/Generales/24x24/Warning.png rename to Resources/Iconos/Generales/24x24/Warning.png diff --git a/Source/Iconos/Generales/24x24/Zoom-In.png b/Resources/Iconos/Generales/24x24/Zoom-In.png similarity index 100% rename from Source/Iconos/Generales/24x24/Zoom-In.png rename to Resources/Iconos/Generales/24x24/Zoom-In.png diff --git a/Source/Iconos/Generales/24x24/Zoom-Out.png b/Resources/Iconos/Generales/24x24/Zoom-Out.png similarity index 100% rename from Source/Iconos/Generales/24x24/Zoom-Out.png rename to Resources/Iconos/Generales/24x24/Zoom-Out.png diff --git a/Source/Iconos/Generales/24x24/db-First-2.png b/Resources/Iconos/Generales/24x24/db-First-2.png similarity index 100% rename from Source/Iconos/Generales/24x24/db-First-2.png rename to Resources/Iconos/Generales/24x24/db-First-2.png diff --git a/Source/Iconos/Generales/24x24/db-Last-2.png b/Resources/Iconos/Generales/24x24/db-Last-2.png similarity index 100% rename from Source/Iconos/Generales/24x24/db-Last-2.png rename to Resources/Iconos/Generales/24x24/db-Last-2.png diff --git a/Source/Iconos/Generales/24x24/db-Next-2.png b/Resources/Iconos/Generales/24x24/db-Next-2.png similarity index 100% rename from Source/Iconos/Generales/24x24/db-Next-2.png rename to Resources/Iconos/Generales/24x24/db-Next-2.png diff --git a/Source/Iconos/Generales/24x24/db-Previous-2.png b/Resources/Iconos/Generales/24x24/db-Previous-2.png similarity index 100% rename from Source/Iconos/Generales/24x24/db-Previous-2.png rename to Resources/Iconos/Generales/24x24/db-Previous-2.png diff --git a/Source/Iconos/Generales/28x28/Box-Open-2.png b/Resources/Iconos/Generales/28x28/Box-Open-2.png similarity index 100% rename from Source/Iconos/Generales/28x28/Box-Open-2.png rename to Resources/Iconos/Generales/28x28/Box-Open-2.png diff --git a/Source/Iconos/Generales/28x28/Card-Copy.png b/Resources/Iconos/Generales/28x28/Card-Copy.png similarity index 100% rename from Source/Iconos/Generales/28x28/Card-Copy.png rename to Resources/Iconos/Generales/28x28/Card-Copy.png diff --git a/Source/Iconos/Generales/28x28/Cell-Format.png b/Resources/Iconos/Generales/28x28/Cell-Format.png similarity index 100% rename from Source/Iconos/Generales/28x28/Cell-Format.png rename to Resources/Iconos/Generales/28x28/Cell-Format.png diff --git a/Source/Iconos/Generales/28x28/Dates-Adjust.png b/Resources/Iconos/Generales/28x28/Dates-Adjust.png similarity index 100% rename from Source/Iconos/Generales/28x28/Dates-Adjust.png rename to Resources/Iconos/Generales/28x28/Dates-Adjust.png diff --git a/Source/Iconos/Generales/28x28/Debug-Watch-Delete.png b/Resources/Iconos/Generales/28x28/Debug-Watch-Delete.png similarity index 100% rename from Source/Iconos/Generales/28x28/Debug-Watch-Delete.png rename to Resources/Iconos/Generales/28x28/Debug-Watch-Delete.png diff --git a/Source/Iconos/Generales/28x28/Debug-Watch.png b/Resources/Iconos/Generales/28x28/Debug-Watch.png similarity index 100% rename from Source/Iconos/Generales/28x28/Debug-Watch.png rename to Resources/Iconos/Generales/28x28/Debug-Watch.png diff --git a/Source/Iconos/Generales/28x28/Details-Hide.png b/Resources/Iconos/Generales/28x28/Details-Hide.png similarity index 100% rename from Source/Iconos/Generales/28x28/Details-Hide.png rename to Resources/Iconos/Generales/28x28/Details-Hide.png diff --git a/Source/Iconos/Generales/28x28/Details-Show.png b/Resources/Iconos/Generales/28x28/Details-Show.png similarity index 100% rename from Source/Iconos/Generales/28x28/Details-Show.png rename to Resources/Iconos/Generales/28x28/Details-Show.png diff --git a/Source/Iconos/Generales/28x28/Distribute-Rows Evenly.png b/Resources/Iconos/Generales/28x28/Distribute-Rows Evenly.png similarity index 100% rename from Source/Iconos/Generales/28x28/Distribute-Rows Evenly.png rename to Resources/Iconos/Generales/28x28/Distribute-Rows Evenly.png diff --git a/Source/Iconos/Generales/28x28/Filter.png b/Resources/Iconos/Generales/28x28/Filter.png similarity index 100% rename from Source/Iconos/Generales/28x28/Filter.png rename to Resources/Iconos/Generales/28x28/Filter.png diff --git a/Source/Iconos/Generales/28x28/Format-Font.png b/Resources/Iconos/Generales/28x28/Format-Font.png similarity index 100% rename from Source/Iconos/Generales/28x28/Format-Font.png rename to Resources/Iconos/Generales/28x28/Format-Font.png diff --git a/Source/Iconos/Generales/28x28/Grid-Select Column.png b/Resources/Iconos/Generales/28x28/Grid-Select Column.png similarity index 100% rename from Source/Iconos/Generales/28x28/Grid-Select Column.png rename to Resources/Iconos/Generales/28x28/Grid-Select Column.png diff --git a/Source/Iconos/Generales/28x28/Group By.png b/Resources/Iconos/Generales/28x28/Group By.png similarity index 100% rename from Source/Iconos/Generales/28x28/Group By.png rename to Resources/Iconos/Generales/28x28/Group By.png diff --git a/Source/Iconos/Generales/28x28/Home.png b/Resources/Iconos/Generales/28x28/Home.png similarity index 100% rename from Source/Iconos/Generales/28x28/Home.png rename to Resources/Iconos/Generales/28x28/Home.png diff --git a/Source/Iconos/Generales/28x28/Outline-Move Down.png b/Resources/Iconos/Generales/28x28/Outline-Move Down.png similarity index 100% rename from Source/Iconos/Generales/28x28/Outline-Move Down.png rename to Resources/Iconos/Generales/28x28/Outline-Move Down.png diff --git a/Source/Iconos/Generales/28x28/Outline-Move Up.png b/Resources/Iconos/Generales/28x28/Outline-Move Up.png similarity index 100% rename from Source/Iconos/Generales/28x28/Outline-Move Up.png rename to Resources/Iconos/Generales/28x28/Outline-Move Up.png diff --git a/Source/Iconos/Generales/28x28/Speaking-Start.png b/Resources/Iconos/Generales/28x28/Speaking-Start.png similarity index 100% rename from Source/Iconos/Generales/28x28/Speaking-Start.png rename to Resources/Iconos/Generales/28x28/Speaking-Start.png diff --git a/Source/Iconos/Generales/28x28/Sum-2.png b/Resources/Iconos/Generales/28x28/Sum-2.png similarity index 100% rename from Source/Iconos/Generales/28x28/Sum-2.png rename to Resources/Iconos/Generales/28x28/Sum-2.png diff --git a/Source/Iconos/Generales/28x28/Table-Search.png b/Resources/Iconos/Generales/28x28/Table-Search.png similarity index 100% rename from Source/Iconos/Generales/28x28/Table-Search.png rename to Resources/Iconos/Generales/28x28/Table-Search.png diff --git a/Source/Iconos/Generales/28x28/Thumbs.db b/Resources/Iconos/Generales/28x28/Thumbs.db similarity index 85% rename from Source/Iconos/Generales/28x28/Thumbs.db rename to Resources/Iconos/Generales/28x28/Thumbs.db index 8ad4f6c..8f10cab 100644 Binary files a/Source/Iconos/Generales/28x28/Thumbs.db and b/Resources/Iconos/Generales/28x28/Thumbs.db differ diff --git a/Source/Iconos/Generales/28x28/Warning.png b/Resources/Iconos/Generales/28x28/Warning.png similarity index 100% rename from Source/Iconos/Generales/28x28/Warning.png rename to Resources/Iconos/Generales/28x28/Warning.png diff --git a/Source/Iconos/Generales/Thumbs.db b/Resources/Iconos/Generales/Thumbs.db similarity index 100% rename from Source/Iconos/Generales/Thumbs.db rename to Resources/Iconos/Generales/Thumbs.db diff --git a/Source/Iconos/Recepciones/16x16/Insert.png b/Resources/Iconos/Recepciones/16x16/Insert.png similarity index 100% rename from Source/Iconos/Recepciones/16x16/Insert.png rename to Resources/Iconos/Recepciones/16x16/Insert.png diff --git a/Source/Iconos/Recepciones/16x16/Thumbs.db b/Resources/Iconos/Recepciones/16x16/Thumbs.db similarity index 97% rename from Source/Iconos/Recepciones/16x16/Thumbs.db rename to Resources/Iconos/Recepciones/16x16/Thumbs.db index 29956c0..5c8b107 100644 Binary files a/Source/Iconos/Recepciones/16x16/Thumbs.db and b/Resources/Iconos/Recepciones/16x16/Thumbs.db differ diff --git a/Source/Iconos/Recepciones/16x16/albaran.png b/Resources/Iconos/Recepciones/16x16/albaran.png similarity index 100% rename from Source/Iconos/Recepciones/16x16/albaran.png rename to Resources/Iconos/Recepciones/16x16/albaran.png diff --git a/Source/Iconos/Recepciones/24x24/Insert.png b/Resources/Iconos/Recepciones/24x24/Insert.png similarity index 100% rename from Source/Iconos/Recepciones/24x24/Insert.png rename to Resources/Iconos/Recepciones/24x24/Insert.png diff --git a/Source/Iconos/Recepciones/24x24/Thumbs.db b/Resources/Iconos/Recepciones/24x24/Thumbs.db similarity index 99% rename from Source/Iconos/Recepciones/24x24/Thumbs.db rename to Resources/Iconos/Recepciones/24x24/Thumbs.db index 363ac1a..bf854b8 100644 Binary files a/Source/Iconos/Recepciones/24x24/Thumbs.db and b/Resources/Iconos/Recepciones/24x24/Thumbs.db differ diff --git a/Source/Iconos/Recepciones/24x24/albaran.png b/Resources/Iconos/Recepciones/24x24/albaran.png similarity index 100% rename from Source/Iconos/Recepciones/24x24/albaran.png rename to Resources/Iconos/Recepciones/24x24/albaran.png diff --git a/Source/Iconos/Recepciones/28x28/Insert.png b/Resources/Iconos/Recepciones/28x28/Insert.png similarity index 100% rename from Source/Iconos/Recepciones/28x28/Insert.png rename to Resources/Iconos/Recepciones/28x28/Insert.png diff --git a/Source/Iconos/Recepciones/28x28/Thumbs.db b/Resources/Iconos/Recepciones/28x28/Thumbs.db similarity index 99% rename from Source/Iconos/Recepciones/28x28/Thumbs.db rename to Resources/Iconos/Recepciones/28x28/Thumbs.db index b971352..6418f7c 100644 Binary files a/Source/Iconos/Recepciones/28x28/Thumbs.db and b/Resources/Iconos/Recepciones/28x28/Thumbs.db differ diff --git a/Source/Iconos/Recepciones/28x28/albaran.png b/Resources/Iconos/Recepciones/28x28/albaran.png similarity index 100% rename from Source/Iconos/Recepciones/28x28/albaran.png rename to Resources/Iconos/Recepciones/28x28/albaran.png diff --git a/Source/Iconos/Referencias genéricas/16x16/Label-Edit.png b/Resources/Iconos/Referencias genéricas/16x16/Label-Edit.png similarity index 100% rename from Source/Iconos/Referencias genéricas/16x16/Label-Edit.png rename to Resources/Iconos/Referencias genéricas/16x16/Label-Edit.png diff --git a/Resources/Iconos/Referencias genéricas/16x16/Thumbs.db b/Resources/Iconos/Referencias genéricas/16x16/Thumbs.db new file mode 100644 index 0000000..3a5ac32 Binary files /dev/null and b/Resources/Iconos/Referencias genéricas/16x16/Thumbs.db differ diff --git a/Source/Iconos/Referencias genéricas/16x16/enespera.png b/Resources/Iconos/Referencias genéricas/16x16/enespera.png similarity index 100% rename from Source/Iconos/Referencias genéricas/16x16/enespera.png rename to Resources/Iconos/Referencias genéricas/16x16/enespera.png diff --git a/Source/Iconos/Referencias genéricas/16x16/pendiente.png b/Resources/Iconos/Referencias genéricas/16x16/pendiente.png similarity index 100% rename from Source/Iconos/Referencias genéricas/16x16/pendiente.png rename to Resources/Iconos/Referencias genéricas/16x16/pendiente.png diff --git a/Source/Iconos/Referencias genéricas/16x16/resuelto.png b/Resources/Iconos/Referencias genéricas/16x16/resuelto.png similarity index 100% rename from Source/Iconos/Referencias genéricas/16x16/resuelto.png rename to Resources/Iconos/Referencias genéricas/16x16/resuelto.png diff --git a/Source/Iconos/Referencias genéricas/24x24/Label-Edit.png b/Resources/Iconos/Referencias genéricas/24x24/Label-Edit.png similarity index 100% rename from Source/Iconos/Referencias genéricas/24x24/Label-Edit.png rename to Resources/Iconos/Referencias genéricas/24x24/Label-Edit.png diff --git a/Source/Iconos/Referencias genéricas/28x28/Label-Edit.png b/Resources/Iconos/Referencias genéricas/28x28/Label-Edit.png similarity index 100% rename from Source/Iconos/Referencias genéricas/28x28/Label-Edit.png rename to Resources/Iconos/Referencias genéricas/28x28/Label-Edit.png diff --git a/Resources/Iconos/Servidor.ico b/Resources/Iconos/Servidor.ico new file mode 100644 index 0000000..ff7c9cc Binary files /dev/null and b/Resources/Iconos/Servidor.ico differ diff --git a/Source/Iconos/Servidor/16x16/Database.png b/Resources/Iconos/Servidor/16x16/Database.png similarity index 100% rename from Source/Iconos/Servidor/16x16/Database.png rename to Resources/Iconos/Servidor/16x16/Database.png diff --git a/Source/Iconos/Servidor/16x16/Thumbs.db b/Resources/Iconos/Servidor/16x16/Thumbs.db similarity index 99% rename from Source/Iconos/Servidor/16x16/Thumbs.db rename to Resources/Iconos/Servidor/16x16/Thumbs.db index 4ca50b4..57412b6 100644 Binary files a/Source/Iconos/Servidor/16x16/Thumbs.db and b/Resources/Iconos/Servidor/16x16/Thumbs.db differ diff --git a/Source/Iconos/Servidor/24x24/Database.png b/Resources/Iconos/Servidor/24x24/Database.png similarity index 100% rename from Source/Iconos/Servidor/24x24/Database.png rename to Resources/Iconos/Servidor/24x24/Database.png diff --git a/Source/Iconos/Servidor/24x24/Thumbs.db b/Resources/Iconos/Servidor/24x24/Thumbs.db similarity index 99% rename from Source/Iconos/Servidor/24x24/Thumbs.db rename to Resources/Iconos/Servidor/24x24/Thumbs.db index c8c90ea..c75e445 100644 Binary files a/Source/Iconos/Servidor/24x24/Thumbs.db and b/Resources/Iconos/Servidor/24x24/Thumbs.db differ diff --git a/Source/Iconos/Servidor/28x28/Database.png b/Resources/Iconos/Servidor/28x28/Database.png similarity index 100% rename from Source/Iconos/Servidor/28x28/Database.png rename to Resources/Iconos/Servidor/28x28/Database.png diff --git a/Source/Iconos/Servidor/28x28/Thumbs.db b/Resources/Iconos/Servidor/28x28/Thumbs.db similarity index 96% rename from Source/Iconos/Servidor/28x28/Thumbs.db rename to Resources/Iconos/Servidor/28x28/Thumbs.db index d66de35..8b19047 100644 Binary files a/Source/Iconos/Servidor/28x28/Thumbs.db and b/Resources/Iconos/Servidor/28x28/Thumbs.db differ diff --git a/Source/Iconos/Stock/16x16/Task.png b/Resources/Iconos/Stock/16x16/Task.png similarity index 100% rename from Source/Iconos/Stock/16x16/Task.png rename to Resources/Iconos/Stock/16x16/Task.png diff --git a/Source/Iconos/Stock/16x16/Thumbs.db b/Resources/Iconos/Stock/16x16/Thumbs.db similarity index 96% rename from Source/Iconos/Stock/16x16/Thumbs.db rename to Resources/Iconos/Stock/16x16/Thumbs.db index 2dc6cc2..a2ff4be 100644 Binary files a/Source/Iconos/Stock/16x16/Thumbs.db and b/Resources/Iconos/Stock/16x16/Thumbs.db differ diff --git a/Source/Iconos/Stock/24x24/Task.png b/Resources/Iconos/Stock/24x24/Task.png similarity index 100% rename from Source/Iconos/Stock/24x24/Task.png rename to Resources/Iconos/Stock/24x24/Task.png diff --git a/Source/Iconos/Stock/24x24/Thumbs.db b/Resources/Iconos/Stock/24x24/Thumbs.db similarity index 97% rename from Source/Iconos/Stock/24x24/Thumbs.db rename to Resources/Iconos/Stock/24x24/Thumbs.db index b567452..60771b8 100644 Binary files a/Source/Iconos/Stock/24x24/Thumbs.db and b/Resources/Iconos/Stock/24x24/Thumbs.db differ diff --git a/Source/Iconos/Stock/28x28/Task.png b/Resources/Iconos/Stock/28x28/Task.png similarity index 100% rename from Source/Iconos/Stock/28x28/Task.png rename to Resources/Iconos/Stock/28x28/Task.png diff --git a/Source/Iconos/Stock/28x28/Thumbs.db b/Resources/Iconos/Stock/28x28/Thumbs.db similarity index 97% rename from Source/Iconos/Stock/28x28/Thumbs.db rename to Resources/Iconos/Stock/28x28/Thumbs.db index 86db81f..0275ba6 100644 Binary files a/Source/Iconos/Stock/28x28/Thumbs.db and b/Resources/Iconos/Stock/28x28/Thumbs.db differ diff --git a/Source/Iconos/Thumbs.db b/Resources/Iconos/Thumbs.db similarity index 62% rename from Source/Iconos/Thumbs.db rename to Resources/Iconos/Thumbs.db index f5d02ad..b783c8d 100644 Binary files a/Source/Iconos/Thumbs.db and b/Resources/Iconos/Thumbs.db differ diff --git a/Source/Iconos/Traspasos/16x16/Entrada.png b/Resources/Iconos/Traspasos/16x16/Entrada.png similarity index 100% rename from Source/Iconos/Traspasos/16x16/Entrada.png rename to Resources/Iconos/Traspasos/16x16/Entrada.png diff --git a/Source/Iconos/Traspasos/16x16/Salida.png b/Resources/Iconos/Traspasos/16x16/Salida.png similarity index 100% rename from Source/Iconos/Traspasos/16x16/Salida.png rename to Resources/Iconos/Traspasos/16x16/Salida.png diff --git a/Source/Iconos/Traspasos/16x16/Swap.png b/Resources/Iconos/Traspasos/16x16/Swap.png similarity index 100% rename from Source/Iconos/Traspasos/16x16/Swap.png rename to Resources/Iconos/Traspasos/16x16/Swap.png diff --git a/Source/Iconos/Traspasos/16x16/Thumbs.db b/Resources/Iconos/Traspasos/16x16/Thumbs.db similarity index 58% rename from Source/Iconos/Traspasos/16x16/Thumbs.db rename to Resources/Iconos/Traspasos/16x16/Thumbs.db index afe4fbc..0cf331f 100644 Binary files a/Source/Iconos/Traspasos/16x16/Thumbs.db and b/Resources/Iconos/Traspasos/16x16/Thumbs.db differ diff --git a/Source/Iconos/Traspasos/24x24/Swap.png b/Resources/Iconos/Traspasos/24x24/Swap.png similarity index 100% rename from Source/Iconos/Traspasos/24x24/Swap.png rename to Resources/Iconos/Traspasos/24x24/Swap.png diff --git a/Source/Iconos/Traspasos/24x24/Thumbs.db b/Resources/Iconos/Traspasos/24x24/Thumbs.db similarity index 99% rename from Source/Iconos/Traspasos/24x24/Thumbs.db rename to Resources/Iconos/Traspasos/24x24/Thumbs.db index c713045..2c5ec15 100644 Binary files a/Source/Iconos/Traspasos/24x24/Thumbs.db and b/Resources/Iconos/Traspasos/24x24/Thumbs.db differ diff --git a/Source/Iconos/Traspasos/28x28/Swap.png b/Resources/Iconos/Traspasos/28x28/Swap.png similarity index 100% rename from Source/Iconos/Traspasos/28x28/Swap.png rename to Resources/Iconos/Traspasos/28x28/Swap.png diff --git a/Source/Iconos/Traspasos/28x28/Thumbs.db b/Resources/Iconos/Traspasos/28x28/Thumbs.db similarity index 98% rename from Source/Iconos/Traspasos/28x28/Thumbs.db rename to Resources/Iconos/Traspasos/28x28/Thumbs.db index 824bbcf..972a081 100644 Binary files a/Source/Iconos/Traspasos/28x28/Thumbs.db and b/Resources/Iconos/Traspasos/28x28/Thumbs.db differ diff --git a/Source/Iconos/Usuarios/16x16/Thumbs.db b/Resources/Iconos/Usuarios/16x16/Thumbs.db similarity index 89% rename from Source/Iconos/Usuarios/16x16/Thumbs.db rename to Resources/Iconos/Usuarios/16x16/Thumbs.db index 890be18..a4ab3ce 100644 Binary files a/Source/Iconos/Usuarios/16x16/Thumbs.db and b/Resources/Iconos/Usuarios/16x16/Thumbs.db differ diff --git a/Source/Iconos/Usuarios/16x16/User-Add.png b/Resources/Iconos/Usuarios/16x16/User-Add.png similarity index 100% rename from Source/Iconos/Usuarios/16x16/User-Add.png rename to Resources/Iconos/Usuarios/16x16/User-Add.png diff --git a/Source/Iconos/Usuarios/16x16/User-Edit.png b/Resources/Iconos/Usuarios/16x16/User-Edit.png similarity index 100% rename from Source/Iconos/Usuarios/16x16/User-Edit.png rename to Resources/Iconos/Usuarios/16x16/User-Edit.png diff --git a/Source/Iconos/Usuarios/16x16/User-Password.png b/Resources/Iconos/Usuarios/16x16/User-Password.png similarity index 100% rename from Source/Iconos/Usuarios/16x16/User-Password.png rename to Resources/Iconos/Usuarios/16x16/User-Password.png diff --git a/Source/Iconos/Usuarios/16x16/User-Remove.png b/Resources/Iconos/Usuarios/16x16/User-Remove.png similarity index 100% rename from Source/Iconos/Usuarios/16x16/User-Remove.png rename to Resources/Iconos/Usuarios/16x16/User-Remove.png diff --git a/Source/Iconos/Usuarios/16x16/User.png b/Resources/Iconos/Usuarios/16x16/User.png similarity index 100% rename from Source/Iconos/Usuarios/16x16/User.png rename to Resources/Iconos/Usuarios/16x16/User.png diff --git a/Source/Iconos/Usuarios/16x16/Users.png b/Resources/Iconos/Usuarios/16x16/Users.png similarity index 100% rename from Source/Iconos/Usuarios/16x16/Users.png rename to Resources/Iconos/Usuarios/16x16/Users.png diff --git a/Source/Iconos/Usuarios/24x24/Thumbs.db b/Resources/Iconos/Usuarios/24x24/Thumbs.db similarity index 90% rename from Source/Iconos/Usuarios/24x24/Thumbs.db rename to Resources/Iconos/Usuarios/24x24/Thumbs.db index c1519f8..79aece3 100644 Binary files a/Source/Iconos/Usuarios/24x24/Thumbs.db and b/Resources/Iconos/Usuarios/24x24/Thumbs.db differ diff --git a/Source/Iconos/Usuarios/24x24/User-Add.png b/Resources/Iconos/Usuarios/24x24/User-Add.png similarity index 100% rename from Source/Iconos/Usuarios/24x24/User-Add.png rename to Resources/Iconos/Usuarios/24x24/User-Add.png diff --git a/Source/Iconos/Usuarios/24x24/User-Edit.png b/Resources/Iconos/Usuarios/24x24/User-Edit.png similarity index 100% rename from Source/Iconos/Usuarios/24x24/User-Edit.png rename to Resources/Iconos/Usuarios/24x24/User-Edit.png diff --git a/Source/Iconos/Usuarios/24x24/User-Password.png b/Resources/Iconos/Usuarios/24x24/User-Password.png similarity index 100% rename from Source/Iconos/Usuarios/24x24/User-Password.png rename to Resources/Iconos/Usuarios/24x24/User-Password.png diff --git a/Source/Iconos/Usuarios/24x24/User-Remove.png b/Resources/Iconos/Usuarios/24x24/User-Remove.png similarity index 100% rename from Source/Iconos/Usuarios/24x24/User-Remove.png rename to Resources/Iconos/Usuarios/24x24/User-Remove.png diff --git a/Source/Iconos/Usuarios/24x24/User.png b/Resources/Iconos/Usuarios/24x24/User.png similarity index 100% rename from Source/Iconos/Usuarios/24x24/User.png rename to Resources/Iconos/Usuarios/24x24/User.png diff --git a/Source/Iconos/Usuarios/24x24/Users.png b/Resources/Iconos/Usuarios/24x24/Users.png similarity index 100% rename from Source/Iconos/Usuarios/24x24/Users.png rename to Resources/Iconos/Usuarios/24x24/Users.png diff --git a/Source/Iconos/Usuarios/28x28/Thumbs.db b/Resources/Iconos/Usuarios/28x28/Thumbs.db similarity index 75% rename from Source/Iconos/Usuarios/28x28/Thumbs.db rename to Resources/Iconos/Usuarios/28x28/Thumbs.db index 9369e91..7f04aaa 100644 Binary files a/Source/Iconos/Usuarios/28x28/Thumbs.db and b/Resources/Iconos/Usuarios/28x28/Thumbs.db differ diff --git a/Source/Iconos/Usuarios/28x28/User-Add.png b/Resources/Iconos/Usuarios/28x28/User-Add.png similarity index 100% rename from Source/Iconos/Usuarios/28x28/User-Add.png rename to Resources/Iconos/Usuarios/28x28/User-Add.png diff --git a/Source/Iconos/Usuarios/28x28/User-Edit.png b/Resources/Iconos/Usuarios/28x28/User-Edit.png similarity index 100% rename from Source/Iconos/Usuarios/28x28/User-Edit.png rename to Resources/Iconos/Usuarios/28x28/User-Edit.png diff --git a/Source/Iconos/Usuarios/28x28/User-Password.png b/Resources/Iconos/Usuarios/28x28/User-Password.png similarity index 100% rename from Source/Iconos/Usuarios/28x28/User-Password.png rename to Resources/Iconos/Usuarios/28x28/User-Password.png diff --git a/Source/Iconos/Usuarios/28x28/User-Remove.png b/Resources/Iconos/Usuarios/28x28/User-Remove.png similarity index 100% rename from Source/Iconos/Usuarios/28x28/User-Remove.png rename to Resources/Iconos/Usuarios/28x28/User-Remove.png diff --git a/Source/Iconos/Usuarios/28x28/User.png b/Resources/Iconos/Usuarios/28x28/User.png similarity index 100% rename from Source/Iconos/Usuarios/28x28/User.png rename to Resources/Iconos/Usuarios/28x28/User.png diff --git a/Source/Iconos/Usuarios/28x28/Users.png b/Resources/Iconos/Usuarios/28x28/Users.png similarity index 100% rename from Source/Iconos/Usuarios/28x28/Users.png rename to Resources/Iconos/Usuarios/28x28/Users.png diff --git a/Source/Iconos/Usuarios/48x48/Thumbs.db b/Resources/Iconos/Usuarios/48x48/Thumbs.db similarity index 97% rename from Source/Iconos/Usuarios/48x48/Thumbs.db rename to Resources/Iconos/Usuarios/48x48/Thumbs.db index 3458bbd..c827026 100644 Binary files a/Source/Iconos/Usuarios/48x48/Thumbs.db and b/Resources/Iconos/Usuarios/48x48/Thumbs.db differ diff --git a/Source/Iconos/Usuarios/48x48/Users.png b/Resources/Iconos/Usuarios/48x48/Users.png similarity index 100% rename from Source/Iconos/Usuarios/48x48/Users.png rename to Resources/Iconos/Usuarios/48x48/Users.png diff --git a/Source/Iconos/Ventas en proceso/16x16/Thumbs.db b/Resources/Iconos/Ventas en proceso/16x16/Thumbs.db similarity index 97% rename from Source/Iconos/Ventas en proceso/16x16/Thumbs.db rename to Resources/Iconos/Ventas en proceso/16x16/Thumbs.db index 4058ca6..56e3ebd 100644 Binary files a/Source/Iconos/Ventas en proceso/16x16/Thumbs.db and b/Resources/Iconos/Ventas en proceso/16x16/Thumbs.db differ diff --git a/Source/Iconos/Ventas en proceso/16x16/Ventas en proceso.png b/Resources/Iconos/Ventas en proceso/16x16/Ventas en proceso.png similarity index 100% rename from Source/Iconos/Ventas en proceso/16x16/Ventas en proceso.png rename to Resources/Iconos/Ventas en proceso/16x16/Ventas en proceso.png diff --git a/Source/Iconos/Ventas en proceso/24x24/Thumbs.db b/Resources/Iconos/Ventas en proceso/24x24/Thumbs.db similarity index 97% rename from Source/Iconos/Ventas en proceso/24x24/Thumbs.db rename to Resources/Iconos/Ventas en proceso/24x24/Thumbs.db index 4684491..00de62c 100644 Binary files a/Source/Iconos/Ventas en proceso/24x24/Thumbs.db and b/Resources/Iconos/Ventas en proceso/24x24/Thumbs.db differ diff --git a/Source/Iconos/Ventas en proceso/24x24/Venta en proceso.png b/Resources/Iconos/Ventas en proceso/24x24/Venta en proceso.png similarity index 100% rename from Source/Iconos/Ventas en proceso/24x24/Venta en proceso.png rename to Resources/Iconos/Ventas en proceso/24x24/Venta en proceso.png diff --git a/Source/Iconos/Ventas terminadas/16x16/Currency-Notes.png b/Resources/Iconos/Ventas terminadas/16x16/Currency-Notes.png similarity index 100% rename from Source/Iconos/Ventas terminadas/16x16/Currency-Notes.png rename to Resources/Iconos/Ventas terminadas/16x16/Currency-Notes.png diff --git a/Source/Iconos/Ventas terminadas/16x16/Currency.png b/Resources/Iconos/Ventas terminadas/16x16/Currency.png similarity index 100% rename from Source/Iconos/Ventas terminadas/16x16/Currency.png rename to Resources/Iconos/Ventas terminadas/16x16/Currency.png diff --git a/Source/Iconos/Ventas terminadas/16x16/Report.png b/Resources/Iconos/Ventas terminadas/16x16/Report.png similarity index 100% rename from Source/Iconos/Ventas terminadas/16x16/Report.png rename to Resources/Iconos/Ventas terminadas/16x16/Report.png diff --git a/Resources/Iconos/Ventas terminadas/16x16/Thumbs.db b/Resources/Iconos/Ventas terminadas/16x16/Thumbs.db new file mode 100644 index 0000000..65daa1e Binary files /dev/null and b/Resources/Iconos/Ventas terminadas/16x16/Thumbs.db differ diff --git a/Source/Iconos/Ventas terminadas/16x16/Venta terminada.png b/Resources/Iconos/Ventas terminadas/16x16/Venta terminada.png similarity index 100% rename from Source/Iconos/Ventas terminadas/16x16/Venta terminada.png rename to Resources/Iconos/Ventas terminadas/16x16/Venta terminada.png diff --git a/Source/Iconos/Ventas terminadas/24x24/Currency-Notes.png b/Resources/Iconos/Ventas terminadas/24x24/Currency-Notes.png similarity index 100% rename from Source/Iconos/Ventas terminadas/24x24/Currency-Notes.png rename to Resources/Iconos/Ventas terminadas/24x24/Currency-Notes.png diff --git a/Source/Iconos/Ventas terminadas/24x24/Currency.png b/Resources/Iconos/Ventas terminadas/24x24/Currency.png similarity index 100% rename from Source/Iconos/Ventas terminadas/24x24/Currency.png rename to Resources/Iconos/Ventas terminadas/24x24/Currency.png diff --git a/Source/Iconos/Ventas terminadas/24x24/Report.png b/Resources/Iconos/Ventas terminadas/24x24/Report.png similarity index 100% rename from Source/Iconos/Ventas terminadas/24x24/Report.png rename to Resources/Iconos/Ventas terminadas/24x24/Report.png diff --git a/Source/Iconos/Ventas terminadas/24x24/Thumbs.db b/Resources/Iconos/Ventas terminadas/24x24/Thumbs.db similarity index 57% rename from Source/Iconos/Ventas terminadas/24x24/Thumbs.db rename to Resources/Iconos/Ventas terminadas/24x24/Thumbs.db index 1acf1ad..c838463 100644 Binary files a/Source/Iconos/Ventas terminadas/24x24/Thumbs.db and b/Resources/Iconos/Ventas terminadas/24x24/Thumbs.db differ diff --git a/Source/Iconos/Ventas terminadas/24x24/Venta terminada.png b/Resources/Iconos/Ventas terminadas/24x24/Venta terminada.png similarity index 100% rename from Source/Iconos/Ventas terminadas/24x24/Venta terminada.png rename to Resources/Iconos/Ventas terminadas/24x24/Venta terminada.png diff --git a/Source/Iconos/Ventas terminadas/28x28/Currency-Notes.png b/Resources/Iconos/Ventas terminadas/28x28/Currency-Notes.png similarity index 100% rename from Source/Iconos/Ventas terminadas/28x28/Currency-Notes.png rename to Resources/Iconos/Ventas terminadas/28x28/Currency-Notes.png diff --git a/Source/Iconos/Ventas terminadas/28x28/Currency.png b/Resources/Iconos/Ventas terminadas/28x28/Currency.png similarity index 100% rename from Source/Iconos/Ventas terminadas/28x28/Currency.png rename to Resources/Iconos/Ventas terminadas/28x28/Currency.png diff --git a/Source/Iconos/Ventas terminadas/28x28/Report.png b/Resources/Iconos/Ventas terminadas/28x28/Report.png similarity index 100% rename from Source/Iconos/Ventas terminadas/28x28/Report.png rename to Resources/Iconos/Ventas terminadas/28x28/Report.png diff --git a/Resources/Iconos/Ventas terminadas/28x28/Thumbs.db b/Resources/Iconos/Ventas terminadas/28x28/Thumbs.db new file mode 100644 index 0000000..6c6799f Binary files /dev/null and b/Resources/Iconos/Ventas terminadas/28x28/Thumbs.db differ diff --git a/Source/Imagenes/Cabecera.jpg b/Resources/Imagenes/Cabecera.jpg similarity index 100% rename from Source/Imagenes/Cabecera.jpg rename to Resources/Imagenes/Cabecera.jpg diff --git a/Source/Imagenes/Cabecera.psd b/Resources/Imagenes/Cabecera.psd similarity index 100% rename from Source/Imagenes/Cabecera.psd rename to Resources/Imagenes/Cabecera.psd diff --git a/Source/Imagenes/Thumbs.db b/Resources/Imagenes/Thumbs.db similarity index 100% rename from Source/Imagenes/Thumbs.db rename to Resources/Imagenes/Thumbs.db diff --git a/Source/Imagenes/WaitProgress/1021.BMP b/Resources/Imagenes/WaitProgress/1021.BMP similarity index 100% rename from Source/Imagenes/WaitProgress/1021.BMP rename to Resources/Imagenes/WaitProgress/1021.BMP diff --git a/Source/Imagenes/WaitProgress/1022.BMP b/Resources/Imagenes/WaitProgress/1022.BMP similarity index 100% rename from Source/Imagenes/WaitProgress/1022.BMP rename to Resources/Imagenes/WaitProgress/1022.BMP diff --git a/Source/Imagenes/WaitProgress/1023.BMP b/Resources/Imagenes/WaitProgress/1023.BMP similarity index 100% rename from Source/Imagenes/WaitProgress/1023.BMP rename to Resources/Imagenes/WaitProgress/1023.BMP diff --git a/Source/Imagenes/WaitProgress/1024.BMP b/Resources/Imagenes/WaitProgress/1024.BMP similarity index 100% rename from Source/Imagenes/WaitProgress/1024.BMP rename to Resources/Imagenes/WaitProgress/1024.BMP diff --git a/Source/Imagenes/WaitProgress/1025.BMP b/Resources/Imagenes/WaitProgress/1025.BMP similarity index 100% rename from Source/Imagenes/WaitProgress/1025.BMP rename to Resources/Imagenes/WaitProgress/1025.BMP diff --git a/Source/Imagenes/WaitProgress/1026.BMP b/Resources/Imagenes/WaitProgress/1026.BMP similarity index 100% rename from Source/Imagenes/WaitProgress/1026.BMP rename to Resources/Imagenes/WaitProgress/1026.BMP diff --git a/Source/Imagenes/WaitProgress/1027.BMP b/Resources/Imagenes/WaitProgress/1027.BMP similarity index 100% rename from Source/Imagenes/WaitProgress/1027.BMP rename to Resources/Imagenes/WaitProgress/1027.BMP diff --git a/Source/Imagenes/WaitProgress/1028.BMP b/Resources/Imagenes/WaitProgress/1028.BMP similarity index 100% rename from Source/Imagenes/WaitProgress/1028.BMP rename to Resources/Imagenes/WaitProgress/1028.BMP diff --git a/Source/Imagenes/WaitProgress/1029.BMP b/Resources/Imagenes/WaitProgress/1029.BMP similarity index 100% rename from Source/Imagenes/WaitProgress/1029.BMP rename to Resources/Imagenes/WaitProgress/1029.BMP diff --git a/Source/Imagenes/WaitProgress/1030.BMP b/Resources/Imagenes/WaitProgress/1030.BMP similarity index 100% rename from Source/Imagenes/WaitProgress/1030.BMP rename to Resources/Imagenes/WaitProgress/1030.BMP diff --git a/Source/Imagenes/WaitProgress/1031.BMP b/Resources/Imagenes/WaitProgress/1031.BMP similarity index 100% rename from Source/Imagenes/WaitProgress/1031.BMP rename to Resources/Imagenes/WaitProgress/1031.BMP diff --git a/Source/Imagenes/WaitProgress/1032.BMP b/Resources/Imagenes/WaitProgress/1032.BMP similarity index 100% rename from Source/Imagenes/WaitProgress/1032.BMP rename to Resources/Imagenes/WaitProgress/1032.BMP diff --git a/Source/Imagenes/WaitProgress/1033.BMP b/Resources/Imagenes/WaitProgress/1033.BMP similarity index 100% rename from Source/Imagenes/WaitProgress/1033.BMP rename to Resources/Imagenes/WaitProgress/1033.BMP diff --git a/Source/Imagenes/WaitProgress/Thumbs.db b/Resources/Imagenes/WaitProgress/Thumbs.db similarity index 100% rename from Source/Imagenes/WaitProgress/Thumbs.db rename to Resources/Imagenes/WaitProgress/Thumbs.db diff --git a/Source/Imagenes/Watermark Ficheros.psd b/Resources/Imagenes/Watermark Ficheros.psd similarity index 100% rename from Source/Imagenes/Watermark Ficheros.psd rename to Resources/Imagenes/Watermark Ficheros.psd diff --git a/Source/Imagenes/Watermark-Ficheros.png b/Resources/Imagenes/Watermark-Ficheros.png similarity index 100% rename from Source/Imagenes/Watermark-Ficheros.png rename to Resources/Imagenes/Watermark-Ficheros.png diff --git a/Source/AdminPVGroup.bdsgroup b/Source/AdminPVGroup.bdsgroup new file mode 100644 index 0000000..3a0016c --- /dev/null +++ b/Source/AdminPVGroup.bdsgroup @@ -0,0 +1,32 @@ + + + + + + + + + + + Base\BaseD10.bdsproj + ControlesBase\ControlesBaseD10.bdsproj + Modulos\Parametros\Cliente\Parametros.bdsproj + Usuarios\Usuarios.bdsproj + Configuracion\Configuracion.bdsproj + Modulos\FicherosEDI\Cliente\FicherosEDI.bdsproj + Modulos\VentasTerminadas\Cliente\VentasTerminadas.bdsproj + Modulos\VentasProceso\Cliente\VentasProceso.bdsproj + Modulos\ReferenciaGenerica\Cliente\ReferenciaGenerica.bdsproj + Modulos\Recepciones\Cliente\Recepciones.bdsproj + Modulos\Devoluciones\Cliente\Devoluciones.bdsproj + Modulos\Traspasos\Cliente\Traspasos.bdsproj + Modulos\Stock\Cliente\Stock.bdsproj + Cliente\AdminPV.bdsproj + Servidor\AdminPV_Server.bdsproj + CargaEDI\CargaEDI.bdsproj + BaseD10.bpl ControlesBaseD10.bpl Parametros.bpl Usuarios.bpl Configuracion.bpl FicherosEDI.bpl VentasTerminadas.bpl VentasProceso.bpl ReferenciaGenerica.bpl Recepciones.bpl Devoluciones.bpl Traspasos.bpl Stock.bpl AdminPV.exe AdminPV_Server.exe CargaEDI.exe + + + + diff --git a/Source/AdminPVGroup.bdsgroup.local b/Source/AdminPVGroup.bdsgroup.local new file mode 100644 index 0000000..235eceb --- /dev/null +++ b/Source/AdminPVGroup.bdsgroup.local @@ -0,0 +1,6 @@ + + + + + + diff --git a/Source/AdminPVGroup.groupproj b/Source/AdminPVGroup.groupproj new file mode 100644 index 0000000..5ba9cae --- /dev/null +++ b/Source/AdminPVGroup.groupproj @@ -0,0 +1,184 @@ + + + {fad576a4-cc33-4b34-a98b-46e69bb566c8} + + + + + + + + + + + + + + + + + + + + + + Default.Personality + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Source/Base/BaseD10.bdsproj b/Source/Base/BaseD10.bdsproj new file mode 100644 index 0000000..cf4977f --- /dev/null +++ b/Source/Base/BaseD10.bdsproj @@ -0,0 +1,673 @@ + + + + + + + + + + + + BaseD10.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\Output\Debug\Cliente + ..\Lib + + + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 2 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 2.0.0.0 + + + + + + 1.0.0.0 + + + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + + + + diff --git a/Source/Base/BaseD7.dpk b/Source/Base/BaseD10.dpk similarity index 72% rename from Source/Base/BaseD7.dpk rename to Source/Base/BaseD10.dpk index f6996de..9555c9f 100644 --- a/Source/Base/BaseD7.dpk +++ b/Source/Base/BaseD10.dpk @@ -1,4 +1,4 @@ -package BaseD7; +package BaseD10; {$R *.res} {$ALIGN 8} @@ -24,64 +24,61 @@ package BaseD7; {$IMAGEBASE $400000} {$RUNONLY} {$IMPLICITBUILD OFF} +{$DEFINE DEBUG} requires rtl, vcl, vcldb, - GUISDK_D7, + GUISDK_D10, vcljpg, dbrtl, dsnap, - vcldb, - PNG_D7, - PngComponentsD7, - JvCoreD7R, - JvStdCtrlsD7R, - JvPageCompsD7R, - cxLibraryVCLD7, - dxThemeD7, - cxEditorsVCLD7, - cxDataD7, - cxExtEditorsVCLD7, - cxGridVCLD7, - cxPageControlVCLD7, - tb2k_d7, - tbx_d7, + PNG_D10, + PngComponentsD10, + JvCoreD10R, + JvStdCtrlsD10R, + JvPageCompsD10R, + cxLibraryD10, + dxThemeD10, + cxEditorsD10, + cxDataD10, + cxExtEditorsD10, + cxGridD10, + cxPageControlD10, + tb2k_D10, + tbx_D10, vclx, vclactnband, designide, - cxExportVCLD7, + cxExportD10, adortl, - JvSystemD7R, - dxPSCoreD7, - dxPScxCommonD7, - dxPScxGridLnkD7, - cxIntlPrintSys3D7, - dxBarD7, - dxBarExtItemsD7, - cxIntl5D7, - DataAbstract_D7, - dxPsPrVwAdvD7, - ccpack70, - JvMMD7R, - JvCtrlsD7R, + JvSystemD10R, + dxPSCoreD10, + dxPScxCommonD10, + dxPScxGridLnkD10, + cxIntlPrintSys3D10, + dxBarD10, + dxBarExtItemsD10, + cxIntl5D10, + dxPsPrVwAdvD10, + ccpack10, + JvMMD10R, + JvCtrlsD10R, tee, - frx7, - fs7, - frxe7, - dxLayoutControlD7, - dxComnD7, + frx10, + fs10, + frxe10, + dxLayoutControlD10, + dxComnD10, Jcl, JclVcl, - JvAppFrmD7R, - dxPSLnksD7, + JvAppFrmD10R, + dxPSLnksD10, vclshlctrls, - dclcxLibraryVCLD7, - teeui, - fsTee7, - frxTee7, - DataAbstract_D7; + dclcxLibraryD10, + RemObjects_Core_D10, + DataAbstract_Core_D10; contains uDataModuleBase in 'uDataModuleBase.pas' {dmBase: TDAClientDataModule}, diff --git a/Source/Base/BaseD10.dproj b/Source/Base/BaseD10.dproj new file mode 100644 index 0000000..a7a06df --- /dev/null +++ b/Source/Base/BaseD10.dproj @@ -0,0 +1,652 @@ + + + {51b1cbd5-e922-4e6d-b778-6de1bca9118c} + BaseD10.dpk + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Cliente\BaseD10.bpl + + + 7.0 + False + False + False + True + 0 + 3 + .\ + .\ + .\ + ..\..\Output\Debug\Cliente + ..\Lib + RELEASE + + + 7.0 + False + True + 3 + .\ + .\ + .\ + ..\..\Output\Debug\Cliente + ..\Lib + DEBUG + + + Delphi.Personality + Package + +FalseTrueFalseFalseFalseTrueC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse2000FalseFalseFalseFalseFalse308212522.0.0.01.0.0.0 + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + (untitled) + BaseD10.dpk + + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
fConfigurarConexion
+
+ +
dmBase
+
+ + + +
fEditorBase
+
+ +
fEditorDBBase
+
+ +
fEditorDBItem
+
+ +
fEditorGridBase
+
+ +
fEditorItem
+
+ +
fEditorPreview
+
+ + + + + + +
frViewBarraSeleccion
+
+ +
frViewBase
+
+ +
frViewGrid
+
+ +
frViewGridBase
+
+ +
frViewPreview
+
+
+
+ diff --git a/Source/Base/BaseD10.drc b/Source/Base/BaseD10.drc new file mode 100644 index 0000000..ad83b8e --- /dev/null +++ b/Source/Base/BaseD10.drc @@ -0,0 +1,29 @@ +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +STRINGTABLE +BEGIN +END + +/* C:\Varela_D2007\Source\Base\uConfigurarConexion.dfm */ +/* C:\Varela_D2007\Source\Base\uDataModuleBase.dfm */ +/* C:\Varela_D2007\Source\Base\uViewBase.dfm */ +/* C:\Varela_D2007\Source\Base\uEditorBase.dfm */ +/* C:\Varela_D2007\Source\Base\uViewGridBase.dfm */ +/* C:\Varela_D2007\Source\Base\uEditorItem.dfm */ +/* C:\Varela_D2007\Source\Base\uEditorDBBase.dfm */ +/* C:\Varela_D2007\Source\Base\uEditorGridBase.dfm */ +/* C:\Varela_D2007\Source\Base\uViewPreview.dfm */ +/* C:\Varela_D2007\Source\Base\uEditorPreview.dfm */ +/* C:\Varela_D2007\Source\Base\uEditorDBItem.dfm */ +/* C:\Varela_D2007\Source\Base\uViewBarraSeleccion.dfm */ +/* C:\Varela_D2007\Source\Base\uViewGrid.dfm */ +/* C:\Varela_D2007\Source\Base\BaseD10.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf6.tmp */ diff --git a/Source/Base/BaseD10.identcache b/Source/Base/BaseD10.identcache new file mode 100644 index 0000000..3d15709 Binary files /dev/null and b/Source/Base/BaseD10.identcache differ diff --git a/Source/Base/BaseD10.rc b/Source/Base/BaseD10.rc new file mode 100644 index 0000000..d9bfd1d --- /dev/null +++ b/Source/Base/BaseD10.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 2,0,0,0 +PRODUCTVERSION 2,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "2.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Base/BaseD10.res b/Source/Base/BaseD10.res new file mode 100644 index 0000000..01cbcba Binary files /dev/null and b/Source/Base/BaseD10.res differ diff --git a/Source/Base/BaseD7.cfg b/Source/Base/BaseD7.cfg deleted file mode 100644 index 5e17f42..0000000 --- a/Source/Base/BaseD7.cfg +++ /dev/null @@ -1,41 +0,0 @@ --$A8 --$B- --$C+ --$D+ --$E- --$F- --$G+ --$H+ --$I+ --$J- --$K- --$L+ --$M- --$N+ --$O- --$P+ --$Q- --$R- --$S- --$T- --$U- --$V+ --$W+ --$X+ --$YD --$Z1 --GD --cg --AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; --H+ --W+ --M --$M16384,1048576 --K$00400000 --N".\" --LE"..\..\Output\Cliente" --LN"..\Lib" --Z --w-UNSAFE_TYPE --w-UNSAFE_CODE --w-UNSAFE_CAST diff --git a/Source/Base/BaseD7.dof b/Source/Base/BaseD7.dof deleted file mode 100644 index 6f6c56e..0000000 --- a/Source/Base/BaseD7.dof +++ /dev/null @@ -1,480 +0,0 @@ -[FileVersion] -Version=7.0 -[Compiler] -A=8 -B=0 -C=1 -D=1 -E=0 -F=0 -G=1 -H=1 -I=1 -J=0 -K=0 -L=1 -M=0 -N=1 -O=0 -P=1 -Q=0 -R=0 -S=0 -T=0 -U=0 -V=1 -W=1 -X=1 -Y=1 -Z=1 -ShowHints=1 -ShowWarnings=1 -UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -NamespacePrefix= -SymbolDeprecated=1 -SymbolLibrary=1 -SymbolPlatform=1 -UnitLibrary=1 -UnitPlatform=1 -UnitDeprecated=1 -HResultCompat=1 -HidingMember=1 -HiddenVirtual=1 -Garbage=1 -BoundsError=1 -ZeroNilCompat=1 -StringConstTruncated=1 -ForLoopVarVarPar=1 -TypedConstVarPar=1 -AsgToTypedConst=1 -CaseLabelRange=1 -ForVariable=1 -ConstructingAbstract=1 -ComparisonFalse=1 -ComparisonTrue=1 -ComparingSignedUnsigned=1 -CombiningSignedUnsigned=1 -UnsupportedConstruct=1 -FileOpen=1 -FileOpenUnitSrc=1 -BadGlobalSymbol=1 -DuplicateConstructorDestructor=1 -InvalidDirective=1 -PackageNoLink=1 -PackageThreadVar=1 -ImplicitImport=1 -HPPEMITIgnored=1 -NoRetVal=1 -UseBeforeDef=1 -ForLoopVarUndef=1 -UnitNameMismatch=1 -NoCFGFileFound=1 -MessageDirective=1 -ImplicitVariants=1 -UnicodeToLocale=1 -LocaleToUnicode=1 -ImagebaseMultiple=1 -SuspiciousTypecast=1 -PrivatePropAccessor=1 -UnsafeType=0 -UnsafeCode=0 -UnsafeCast=0 -[Linker] -MapFile=3 -OutputObjs=0 -ConsoleApp=1 -DebugInfo=0 -RemoteSymbols=0 -MinStackSize=16384 -MaxStackSize=1048576 -ImageBase=4194304 -ExeDescription= -[Directories] -OutputDir= -UnitOutputDir=.\ -PackageDLLOutputDir=..\..\Output\Cliente -PackageDCPOutputDir=..\Lib -SearchPath= -Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7 -Conditionals= -DebugSourceDirs= -UsePackages=0 -[Parameters] -RunParams= -HostApplication= -Launcher= -UseLauncher=0 -DebugCWD= -[Language] -ActiveLang= -ProjectLang= -RootDir=C:\Archivos de programa\Borland\Delphi7\Bin\ -[Version Info] -IncludeVerInfo=1 -AutoIncBuild=0 -MajorVer=1 -MinorVer=0 -Release=3 -Build=0 -Debug=0 -PreRelease=0 -Special=0 -Private=0 -DLL=0 -Locale=3082 -CodePage=1252 -[Version Info Keys] -CompanyName= -FileDescription= -FileVersion=1.0.3.0 -InternalName= -LegalCopyright= -LegalTrademarks= -OriginalFilename= -ProductName= -ProductVersion=1.0.0.0 -Comments= -[Excluded Packages] -c:\archivos de programa\borland\delphi7\Bin\designdgm70.bpl=Borland Module Diagram Editview -T:\BPL_D7\dxPSCoreD7.bpl=ExpressPrinting System by Developer Express Inc. -[HistoryLists\hlUnitAliases] -Count=1 -Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -[HistoryLists\hlSearchPath] -Count=3 -Item0=..\Lib -Item1=..\Lib;..\Base -Item2=..\..\..\Lib -[HistoryLists\hlUnitOutputDirectory] -Count=1 -Item0=.\ -[HistoryLists\hlOutputDirectorry] -Count=2 -Item0=..\..\Output\Cliente -Item1=..\..\Output\Servidor -[HistoryLists\hlBPLOutput] -Count=3 -Item0=..\Lib -Item1=..\..\..\..\Output\Cliente -Item2=..\..\Output\Cliente -[HistoryLists\hlDCPOutput] -Count=2 -Item0=..\Lib -Item1=..\..\..\Lib -[Exception Log] -EurekaLog Version=519 -Activate=1 -Activate Handle=1 -Save Log File=1 -Foreground Tab=0 -Freeze Activate=0 -Freeze Timeout=0 -Freeze Message=The application seems to be frozen. -SMTP From=eurekalog@email.com -SMTP Host= -SMTP Port=25 -SMTP UserID= -SMTP Password= -Append to Log=0 -Show TerminateBtn=1 -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= -Count=0 -EMail Message Line Count=0 -loNoDuplicateErrors=0 -loAppendReproduceText=0 -loDeleteLogAtVersionChange=0 -loAddComputerNameInLogFileName=0 -loSaveModulesSection=1 -loSaveCPUSection=1 -soAppStartDate=1 -soAppName=1 -soAppVersionNumber=1 -soAppParameters=1 -soAppCompilationDate=1 -soExcDate=1 -soExcAddress=1 -soExcModule=1 -soExcType=1 -soExcMessage=1 -soActCtlsFormClass=1 -soActCtlsFormText=1 -soActCtlsControlClass=1 -soActCtlsControlText=1 -soCmpName=1 -soCmpUser=1 -soCmpTotalMemory=1 -soCmpFreeMemory=1 -soCmpTotalDisk=1 -soCmpFreeDisk=1 -soCmpSysUpTime=1 -soCmpProcessor=1 -soCmpDisplayMode=1 -soOSType=1 -soOSBuildN=1 -soOSUpdate=1 -soOSLanguage=1 -soNetIP=1 -soNetSubmask=1 -soNetGateway=1 -soNetDNS1=1 -soNetDNS2=1 -soNetDHCP=1 -sndShowSendDialog=1 -sndShowSuccessFailureMsg=0 -sndSendEntireLog=0 -sndSendXMLLogCopy=0 -sndSendScreenshot=0 -sndUseOnlyActiveWindow=0 -sndSendLastHTMLPage=1 -sndSendInSeparatedThread=0 -sndAddDateInFileName=0 -sndCompressAllFiles=0 -edoShowExceptionDialog=1 -edoSendEmailChecked=1 -edoAttachScreenshotChecked=1 -edoShowCopyToClipOption=1 -edoShowDetailsButton=1 -edoShowInDetailedMode=0 -edoShowInTopMostMode=0 -edoUseEurekaLogLookAndFeel=1 -csoShowDLLs=1 -csoShowBPLs=1 -csoShowBorlandThreads=1 -csoShowWindowsThreads=1 -csoShowProcedureOffset=0 -boActivateCrashDetection=0 -boPauseBorlandThreads=0 -boDoNotPauseMainThread=0 -boPauseWindowsThreads=0 -boUseMainModuleOptions=1 -boCopyLogInCaseOfError=1 -boSaveCompressedCopyInCaseOfError=0 -Count mtInformationMsgCaption=1 -mtInformationMsgCaption0="Information." -Count mtQuestionMsgCaption=1 -mtQuestionMsgCaption0="Question." -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_CPUCaption=1 -mtDialog_CPUCaption0="CPU" -Count mtDialog_CPUHeader=1 -mtDialog_CPUHeader0="CPU Information" -Count mtDialog_CustomDataCaption=1 -mtDialog_CustomDataCaption0="Other" -Count mtDialog_CustomDataHeader=1 -mtDialog_CustomDataHeader0="Other 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_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 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_ExcHeader=1 -mtLog_ExcHeader0="Exception" -Count mtLog_ExcDate=1 -mtLog_ExcDate0="Date" -Count mtLog_ExcAddress=1 -mtLog_ExcAddress0="Address" -Count mtLog_ExcModule=1 -mtLog_ExcModule0="Module" -Count mtLog_ExcType=1 -mtLog_ExcType0="Type" -Count mtLog_ExcMessage=1 -mtLog_ExcMessage0="Message" -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_CmpUser=1 -mtLog_CmpUser0="User" -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_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_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 mtSendDialog_Caption=1 -mtSendDialog_Caption0="Send." -Count mtSendDialog_Message=1 -mtSendDialog_Message0="Message" -Count mtSendDialog_Resolving=1 -mtSendDialog_Resolving0="Resolving DNS..." -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 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 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." - - diff --git a/Source/Base/BaseD7.drc b/Source/Base/BaseD7.drc deleted file mode 100644 index 82e626f..0000000 --- a/Source/Base/BaseD7.drc +++ /dev/null @@ -1,16 +0,0 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler - because -GD or --drc was supplied to the compiler. - - This file contains compiler-generated resources that - were bound to the executable. - If this file is empty, then no compiler-generated - resources were bound to the produced executable. -*/ - -#define uROWinInetHttpChannel_sxInvalidURLformat 65520 -STRINGTABLE -BEGIN - uROWinInetHttpChannel_sxInvalidURLformat, "Invalid URL format" -END - diff --git a/Source/Base/BaseD7.res b/Source/Base/BaseD7.res deleted file mode 100644 index b1dc5fd..0000000 Binary files a/Source/Base/BaseD7.res and /dev/null differ diff --git a/Source/Base/uDataModuleBase.dfm b/Source/Base/uDataModuleBase.dfm index c645005..5f633ba 100644 --- a/Source/Base/uDataModuleBase.dfm +++ b/Source/Base/uDataModuleBase.dfm @@ -1,8 +1,6 @@ object dmBase: TdmBase OldCreateOrder = True OnCreate = DAClientDataModuleCreate - Left = 452 - Top = 374 Height = 352 Width = 518 object SmallImages: TPngImageList @@ -193,16 +191,15 @@ object dmBase: TdmBase end object ROChannel: TROWinInetHTTPChannel OnFailure = ROChannelFailure - ServerLocators = <> - DispatchOptions = [] - ProbeServers = False - ProbeFrequency = 60000 + OnException = ROChannelFailure UserAgent = 'RemObjects SDK' - TargetURL = 'http://david:8099/bin' - Login.Username = '123456' - Login.Password = 'sa' + TargetURL = 'http://localhost:8099/bin' + Login.Username = 'zvg' + Login.Password = 'zeus' KeepConnection = True OnProgress = ROChannelProgress + ServerLocators = <> + DispatchOptions = [] Left = 330 Top = 24 end @@ -1641,6 +1638,7 @@ object dmBase: TdmBase Top = 88 end object DABINAdapter: TDABINAdapter + IsCompatibleV4 = False Left = 424 Top = 24 end @@ -1653,9 +1651,9 @@ object dmBase: TdmBase Top = 80 end object RORemoteService: TRORemoteService - ServiceName = 'srvConfiguracion' Message = ROMessage Channel = ROChannel + ServiceName = 'srvLogin' Left = 424 Top = 92 end diff --git a/Source/Base/uDataModuleBase.pas b/Source/Base/uDataModuleBase.pas index c99a8c6..ee02d51 100644 --- a/Source/Base/uDataModuleBase.pas +++ b/Source/Base/uDataModuleBase.pas @@ -6,9 +6,9 @@ uses Controls, PngImageList, JvComponent, JvNavigationPane, TBXSwitcher, TBXOffice2003Theme, Classes, ImgList, uROClient, uROBinMessage, uROServiceComponent, uRORemoteService, uROWinInetHttpChannel, - DataAbstract_Intf, uDADataTable, uDABINAdapter, cxintl, cxIntlPrintSys3, + DataAbstract3_Intf, uDADataTable, uDABINAdapter, cxintl, cxIntlPrintSys3, JvAppStorage, JvAppRegistryStorage, SysUtils, - JvComponentBase; + JvComponentBase, uDADataStreamer; type TdmBase = class(TDataModule) diff --git a/Source/Base/uDataTableUtils.pas b/Source/Base/uDataTableUtils.pas index 2c0719d..9bbb7b1 100644 --- a/Source/Base/uDataTableUtils.pas +++ b/Source/Base/uDataTableUtils.pas @@ -3,8 +3,7 @@ unit uDataTableUtils; interface uses - uDACDSDataTable, uDADataTable, uDAInterfaces; - + uDACDSDataTable, uDADataTable, uDAInterfaces, uDADelta; procedure CloneDataTable(const ASource : TDACDSDataTable; var ATarget : TDACDSDataTable; @@ -19,7 +18,7 @@ implementation uses uDAClasses, SysUtils, uDABINAdapter, uROTypes, uDBSelectionList, cxControls, - Dialogs, Variants; + Dialogs, Variants, uDADataStreamer; {procedure EliminarNoSeleccionados(const ASource : IDADataset; @@ -57,118 +56,7 @@ begin ADataTable.ClearRows; end; -procedure CloneDataTable(const ASource : TDACDSDataTable; - var ATarget : TDACDSDataTable; RemoteUpdate: Boolean); -var - i : Integer; -begin - with ATarget do - begin - RemoteService := ASource.GetRemoteService; - Adapter := ASource.GetAdapter; - BusinessRulesID := ASource.BusinessRulesID; - Randomize; - Name := ASource.Name + '_' + IntToStr(Random(MAXINT)); - LogicalName := ASource.LogicalName; - - Params.AssignParamCollection(ASource.Params); - - if Assigned(ASource.LocalSchema) then - LocalSchema := ASource.LocalSchema - else begin - with SchemaCall do - begin - MethodName := ASource.SchemaCall.MethodName; - for i := 0 to ASource.SchemaCall.Params.Count - 1 do - begin - with Params.Add do begin - Name := ASource.SchemaCall.Params[i].Name; - ParamType := ASource.SchemaCall.Params[i].ParamType; - DataType := ASource.SchemaCall.Params[i].DataType; - Value := ASource.SchemaCall.Params[i].Value; - UserClassName := ASource.SchemaCall.Params[i].UserClassName; - end; - end; - end; - ATarget.Fields.AssignFieldCollection(ASource.Fields); // o también ATarget.LoadSchema; - end; - - with DataUpdateCall do - begin - MethodName := ASource.DataUpdateCall.MethodName; - for i := 0 to ASource.DataUpdateCall.Params.Count - 1 do - begin - with Params.Add do begin - Name := ASource.DataUpdateCall.Params[i].Name; - ParamType := ASource.DataUpdateCall.Params[i].ParamType; - DataType := ASource.DataUpdateCall.Params[i].DataType; - Value := ASource.DataUpdateCall.Params[i].Value; - UserClassName := ASource.DataUpdateCall.Params[i].UserClassName; - end; - end; - end; - - with ScriptCall do - begin - MethodName := ASource.ScriptCall.MethodName; - for i := 0 to ASource.ScriptCall.Params.Count - 1 do - begin - with Params.Add do begin - Name := ASource.ScriptCall.Params[i].Name; - ParamType := ASource.ScriptCall.Params[i].ParamType; - DataType := ASource.ScriptCall.Params[i].DataType; - Value := ASource.ScriptCall.Params[i].Value; - UserClassName := ASource.ScriptCall.Params[i].UserClassName; - end; - end; - end; - - with DataRequestCall do - begin - MethodName := ASource.DataRequestCall.MethodName; - for i := 0 to ASource.DataRequestCall.Params.Count - 1 do - begin - with Params.Add do begin - begin - Name := ASource.DataRequestCall.Params[i].Name; - ParamType := ASource.DataRequestCall.Params[i].ParamType; - DataType := ASource.DataRequestCall.Params[i].DataType; - Value := ASource.DataRequestCall.Params[i].Value; - UserClassName := ASource.DataRequestCall.Params[i].UserClassName; - end; - end; - end; - end; - - with MasterParamsMappings do - for i := 0 to ASource.MasterParamsMappings.Count - 1 do - Add(ASource.MasterParamsMappings.Strings[i]); - - with MasterRequestMappings do - for i := 0 to ASource.MasterRequestMappings.Count - 1 do - Add(ASource.MasterRequestMappings.Strings[i]); - - MasterMappingMode := ASource.MasterMappingMode; - - MasterFields := ASource.MasterFields; - MasterOptions := ASource.MasterOptions; - - DetailFields := ASource.DetailFields; - DetailOptions := ASource.DetailOptions; - - RemoteUpdatesOptions := ASource.RemoteUpdatesOptions; - StreamingOptions := ASource.StreamingOptions; - RemoteFetchEnabled := ASource.RemoteFetchEnabled; - end; - - if not RemoteUpdate then - begin - ATarget.LogChanges := False; - ATarget.RemoteFetchEnabled := False; - end; -end; - function DeltaValuesAreDifferent(const aDelta : IDADelta): boolean; var i, x : integer; @@ -256,4 +144,181 @@ begin end; +procedure CloneDataTable(const ASource : TDACDSDataTable; + var ATarget : TDACDSDataTable; RemoteUpdate: Boolean); +var + i : Integer; +begin + with ATarget do + begin + RemoteDataAdapter := ASource.RemoteDataAdapter; + + BusinessRulesID := ASource.BusinessRulesID; + Randomize; + Name := ASource.Name + '_' + IntToStr(Random(MAXINT)); + LogicalName := ASource.LogicalName; + + Params.AssignParamCollection(ASource.Params); + + if Assigned(ASource.LocalSchema) then + LocalSchema := ASource.LocalSchema + else + ATarget.Fields.AssignFieldCollection(ASource.Fields); // o también ATarget.LoadSchema; + + with MasterParamsMappings do + for i := 0 to ASource.MasterParamsMappings.Count - 1 do + Add(ASource.MasterParamsMappings.Strings[i]); + + with MasterRequestMappings do + for i := 0 to ASource.MasterRequestMappings.Count - 1 do + Add(ASource.MasterRequestMappings.Strings[i]); + + MasterMappingMode := ASource.MasterMappingMode; + + MasterFields := ASource.MasterFields; + MasterOptions := ASource.MasterOptions; + + DetailFields := ASource.DetailFields; + DetailOptions := ASource.DetailOptions; + + RemoteUpdatesOptions := ASource.RemoteUpdatesOptions; + StreamingOptions := ASource.StreamingOptions; + RemoteFetchEnabled := ASource.RemoteFetchEnabled; + end; + + if not RemoteUpdate then + begin + ATarget.LogChanges := False; + ATarget.RemoteFetchEnabled := False; + end; +end; + + end. + +procedure CloneDataTable(const ASource : TDACDSDataTable; + var ATarget : TDACDSDataTable; RemoteUpdate: Boolean); +var + i : Integer; +begin + with ATarget do + begin + // ****** Inicio migración DA 5 + + //RemoteService := ASource.GetRemoteService; + //Adapter := ASource.GetAdapter; + RemoteDataAdapter.Assign(ASource.RemoteDataAdapter); + // ****** Fin migración DA 5 + + BusinessRulesID := ASource.BusinessRulesID; + Randomize; + Name := ASource.Name + '_' + IntToStr(Random(MAXINT)); + LogicalName := ASource.LogicalName; + + Params.AssignParamCollection(ASource.Params); + + if Assigned(ASource.LocalSchema) then + LocalSchema := ASource.LocalSchema + else begin + // ****** Inicio migración DA 5 + { + with SchemaCall do + begin + MethodName := ASource.SchemaCall.MethodName; + for i := 0 to ASource.SchemaCall.Params.Count - 1 do + begin + with Params.Add do begin + Name := ASource.SchemaCall.Params[i].Name; + ParamType := ASource.SchemaCall.Params[i].ParamType; + DataType := ASource.SchemaCall.Params[i].DataType; + Value := ASource.SchemaCall.Params[i].Value; + UserClassName := ASource.SchemaCall.Params[i].UserClassName; + end; + end; + end; + } + // ****** Fin migración DA 5 + ATarget.Fields.AssignFieldCollection(ASource.Fields); // o también ATarget.LoadSchema; + end; + + // ****** Inicio migración DA 5 + { + with DataUpdateCall do + begin + MethodName := ASource.DataUpdateCall.MethodName; + for i := 0 to ASource.DataUpdateCall.Params.Count - 1 do + begin + with Params.Add do begin + Name := ASource.DataUpdateCall.Params[i].Name; + ParamType := ASource.DataUpdateCall.Params[i].ParamType; + DataType := ASource.DataUpdateCall.Params[i].DataType; + Value := ASource.DataUpdateCall.Params[i].Value; + UserClassName := ASource.DataUpdateCall.Params[i].UserClassName; + end; + end; + end; + + with ScriptCall do + begin + MethodName := ASource.ScriptCall.MethodName; + for i := 0 to ASource.ScriptCall.Params.Count - 1 do + begin + with Params.Add do begin + Name := ASource.ScriptCall.Params[i].Name; + ParamType := ASource.ScriptCall.Params[i].ParamType; + DataType := ASource.ScriptCall.Params[i].DataType; + Value := ASource.ScriptCall.Params[i].Value; + UserClassName := ASource.ScriptCall.Params[i].UserClassName; + end; + end; + end; + + with DataRequestCall do + begin + MethodName := ASource.DataRequestCall.MethodName; + for i := 0 to ASource.DataRequestCall.Params.Count - 1 do + begin + with Params.Add do begin + begin + Name := ASource.DataRequestCall.Params[i].Name; + ParamType := ASource.DataRequestCall.Params[i].ParamType; + DataType := ASource.DataRequestCall.Params[i].DataType; + Value := ASource.DataRequestCall.Params[i].Value; + UserClassName := ASource.DataRequestCall.Params[i].UserClassName; + end; + end; + end; + end; + } + // ****** Fin migración DA 5 + + with MasterParamsMappings do + for i := 0 to ASource.MasterParamsMappings.Count - 1 do + Add(ASource.MasterParamsMappings.Strings[i]); + + with MasterRequestMappings do + for i := 0 to ASource.MasterRequestMappings.Count - 1 do + Add(ASource.MasterRequestMappings.Strings[i]); + + MasterMappingMode := ASource.MasterMappingMode; + + MasterFields := ASource.MasterFields; + MasterOptions := ASource.MasterOptions; + + DetailFields := ASource.DetailFields; + DetailOptions := ASource.DetailOptions; + + RemoteUpdatesOptions := ASource.RemoteUpdatesOptions; + StreamingOptions := ASource.StreamingOptions; + RemoteFetchEnabled := ASource.RemoteFetchEnabled; + end; + + if not RemoteUpdate then + begin + ATarget.LogChanges := False; + ATarget.RemoteFetchEnabled := False; + end; +end; + + + diff --git a/Source/Base/uEditorDBBase.dfm b/Source/Base/uEditorDBBase.dfm index c580050..317e217 100644 --- a/Source/Base/uEditorDBBase.dfm +++ b/Source/Base/uEditorDBBase.dfm @@ -1,24 +1,34 @@ inherited fEditorDBBase: TfEditorDBBase Left = 295 Top = 247 - Width = 660 - Height = 494 Caption = 'fEditorDBBase' + ClientHeight = 460 + ClientWidth = 652 + ExplicitWidth = 660 + ExplicitHeight = 494 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader Width = 652 + ExplicitWidth = 652 inherited Image1: TImage Left = 625 Picture.Data = {00} + ExplicitLeft = 625 end end inherited TBXDock: TTBXDock Width = 652 + ExplicitWidth = 652 + inherited tbxMenu: TTBXToolbar + ExplicitWidth = 652 + end end inherited StatusBar: TStatusBar Top = 441 Width = 652 + ExplicitTop = 441 + ExplicitWidth = 652 end inherited EditorActionList: TActionList inherited actModificar: TAction diff --git a/Source/Base/uEditorDBBase.pas b/Source/Base/uEditorDBBase.pas index c5654f6..667d42c 100644 --- a/Source/Base/uEditorDBBase.pas +++ b/Source/Base/uEditorDBBase.pas @@ -9,7 +9,7 @@ uses JvNavigationPane, DB, uDADataTable, uEditorBase, JvFormAutoSize, uDAScriptingProvider, uDACDSDataTable, AppEvnts, uCustomView, uViewBase, JvAppStorage, JvAppRegistryStorage, JvFormPlacement, - pngimage, ExtCtrls, dxLayoutLookAndFeels, JvComponentBase; + pngimage, ExtCtrls, dxLayoutLookAndFeels, JvComponentBase, uDAInterfaces; type IEditorDBBase = interface(IEditorBase) @@ -44,8 +44,9 @@ var implementation -uses uExceptions, uDataTableUtils, uBizInformesBase, - uDAInterfaces, cxControls; +uses + uExceptions, uDataTableUtils, uBizInformesBase, + cxControls, uDADelta; {$R *.dfm} diff --git a/Source/Base/uEditorDBItem.dfm b/Source/Base/uEditorDBItem.dfm index 7648fa8..fe0bcb2 100644 --- a/Source/Base/uEditorDBItem.dfm +++ b/Source/Base/uEditorDBItem.dfm @@ -1,20 +1,26 @@ inherited fEditorDBItem: TfEditorDBItem Left = 450 Top = 321 - Width = 664 - Height = 499 Caption = 'fEditorDBItem' + ClientHeight = 465 + ClientWidth = 656 + ExplicitWidth = 664 + ExplicitHeight = 499 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader Width = 656 + ExplicitWidth = 656 inherited Image1: TImage Left = 629 + ExplicitLeft = 629 end end inherited TBXDock: TTBXDock Width = 656 + ExplicitWidth = 656 inherited tbxMain: TTBXToolbar + ExplicitWidth = 548 inherited TBXItem26: TTBXItem Visible = False end @@ -23,6 +29,7 @@ inherited fEditorDBItem: TfEditorDBItem end end inherited tbxMenu: TTBXToolbar + ExplicitWidth = 656 inherited TBXSubmenuItem1: TTBXSubmenuItem Visible = False end @@ -31,6 +38,8 @@ inherited fEditorDBItem: TfEditorDBItem inherited StatusBar: TStatusBar Top = 446 Width = 656 + ExplicitTop = 446 + ExplicitWidth = 656 end inherited EditorActionList: TActionList Top = 112 diff --git a/Source/Base/uEditorDBItem.pas b/Source/Base/uEditorDBItem.pas index 62fbc6c..d902c74 100644 --- a/Source/Base/uEditorDBItem.pas +++ b/Source/Base/uEditorDBItem.pas @@ -9,7 +9,7 @@ uses JvNavigationPane, DB, uDADataTable, uEditorDBBase, JvFormAutoSize, StdCtrls, uDAScriptingProvider, uDACDSDataTable, AppEvnts, uCustomView, uViewBase, JvAppStorage, JvAppRegistryStorage, - JvFormPlacement, pngimage, ExtCtrls, JvComponentBase; + JvFormPlacement, pngimage, ExtCtrls, JvComponentBase, uDAInterfaces; type IEditorDBItem = interface(IEditorDBBase) diff --git a/Source/Base/uEditorGridBase.dfm b/Source/Base/uEditorGridBase.dfm index 508b156..2329822 100644 --- a/Source/Base/uEditorGridBase.dfm +++ b/Source/Base/uEditorGridBase.dfm @@ -1,23 +1,31 @@ inherited fEditorGridBase: TfEditorGridBase Left = 441 Top = 354 - Width = 711 - Height = 480 Caption = 'fEditorGridBase' + ClientHeight = 446 + ClientWidth = 703 + ExplicitWidth = 711 + ExplicitHeight = 480 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader Top = 0 Width = 703 + ExplicitTop = 0 + ExplicitWidth = 703 inherited Image1: TImage Left = 676 + ExplicitLeft = 676 end end inherited TBXDock: TTBXDock Top = 27 Width = 703 + ExplicitTop = 27 + ExplicitWidth = 703 inherited tbxMain: TTBXToolbar DefaultDock = TBXDock + ExplicitWidth = 442 inherited TBXItem29: TTBXItem Visible = False end @@ -42,6 +50,7 @@ inherited fEditorGridBase: TfEditorGridBase end inherited tbxMenu: TTBXToolbar Visible = False + ExplicitWidth = 703 inherited TBXSubmenuItem4: TTBXSubmenuItem object TBXItem34: TTBXItem [7] Action = actDuplicar @@ -87,6 +96,8 @@ inherited fEditorGridBase: TfEditorGridBase inherited StatusBar: TStatusBar Top = 427 Width = 703 + ExplicitTop = 427 + ExplicitWidth = 703 end inherited EditorActionList: TActionList Left = 72 diff --git a/Source/Base/uEditorGridBase.pas b/Source/Base/uEditorGridBase.pas index 6245c51..673bc61 100644 --- a/Source/Base/uEditorGridBase.pas +++ b/Source/Base/uEditorGridBase.pas @@ -18,7 +18,7 @@ uses uEditorDBBase, DB, uDADataTable, Menus, JvFormAutoSize, uDAScriptingProvider, uDACDSDataTable, AppEvnts, JvAppStorage, JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls, - JvComponentBase; + JvComponentBase, uDAInterfaces; type IEditorGridBase = interface(IEditorDBBase) diff --git a/Source/Base/uEditorPreview.dfm b/Source/Base/uEditorPreview.dfm index d875ac9..af16215 100644 --- a/Source/Base/uEditorPreview.dfm +++ b/Source/Base/uEditorPreview.dfm @@ -5,18 +5,24 @@ inherited fEditorPreview: TfEditorPreview WindowState = wsMaximized OnDestroy = FormDestroy OnResize = FormResize + ExplicitWidth = 320 + ExplicitHeight = 240 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader Top = 75 Visible = False + ExplicitTop = 75 end inherited TBXDock: TTBXDock Height = 75 + ExplicitHeight = 75 inherited tbxMain: TTBXToolbar Top = 49 DefaultDock = TBXDock Visible = False + ExplicitTop = 49 + ExplicitWidth = 191 end inherited tbxMenu: TTBXToolbar DockPos = -24 @@ -868,10 +874,6 @@ inherited fEditorPreview: TfEditorPreview Left = 48 Top = 240 end - object frxChartObject1: TfrxChartObject - Left = 16 - Top = 272 - end object frxRichObject1: TfrxRichObject Left = 48 Top = 272 diff --git a/Source/Base/uEditorPreview.pas b/Source/Base/uEditorPreview.pas index 8752fcb..0197134 100644 --- a/Source/Base/uEditorPreview.pas +++ b/Source/Base/uEditorPreview.pas @@ -9,7 +9,7 @@ uses TB2ExtItems, TBXExtItems, uViewPreview, frxClass, ComCtrls, frxPreview, JvFormAutoSize, JvAppStorage, JvAppRegistryStorage, JvFormPlacement, pngimage, frxExportImage, frxExportPDF, frxDCtrl, frxDMPExport, - frxGradient, frxChBox, frxCross, frxRich, frxChart, frxOLE, frxBarcode, + frxGradient, frxChBox, frxCross, frxRich, frxOLE, frxBarcode, ExtCtrls, JvComponentBase; type @@ -57,7 +57,6 @@ type TBXSeparatorItem18: TTBXSeparatorItem; frxBarCodeObject1: TfrxBarCodeObject; frxOLEObject1: TfrxOLEObject; - frxChartObject1: TfrxChartObject; frxRichObject1: TfrxRichObject; frxCrossObject1: TfrxCrossObject; frxCheckBoxObject1: TfrxCheckBoxObject; diff --git a/Source/Base/uExceptions.pas b/Source/Base/uExceptions.pas index d3e6e85..a8f8b26 100644 --- a/Source/Base/uExceptions.pas +++ b/Source/Base/uExceptions.pas @@ -3,7 +3,7 @@ unit uExceptions; interface uses - uDADataTable; + uDADelta; const AUF_FKVIOLATION = 'violation of FOREIGN KEY'; @@ -18,3 +18,4 @@ type implementation end. + diff --git a/Source/Base/uViewGrid.pas b/Source/Base/uViewGrid.pas index 1cb19e1..c644770 100644 --- a/Source/Base/uViewGrid.pas +++ b/Source/Base/uViewGrid.pas @@ -19,7 +19,7 @@ uses DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg, - cxIntlPrintSys3, dxPSPrvwAdv, uViewGridBase; + cxIntlPrintSys3, dxPSPrvwAdv, uViewGridBase, uDAInterfaces; type IViewGrid = interface(IViewGridBase) diff --git a/Source/Base/uViewGridBase.dfm b/Source/Base/uViewGridBase.dfm index 201c4b8..5695879 100644 --- a/Source/Base/uViewGridBase.dfm +++ b/Source/Base/uViewGridBase.dfm @@ -1,6 +1,8 @@ inherited frViewGridBase: TfrViewGridBase Width = 441 Height = 268 + ExplicitWidth = 441 + ExplicitHeight = 268 object dsDataSource: TDADataSource Left = 8 Top = 16 diff --git a/Source/Base/uViewGridBase.pas b/Source/Base/uViewGridBase.pas index eaf57a4..d1c5818 100644 --- a/Source/Base/uViewGridBase.pas +++ b/Source/Base/uViewGridBase.pas @@ -19,7 +19,7 @@ uses DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg, - cxIntlPrintSys3, dxPSPrvwAdv, uGridUtils; + cxIntlPrintSys3, dxPSPrvwAdv, uGridUtils, uDAInterfaces; type IViewGridBase = interface(IViewBase) diff --git a/Source/CargaEDI/CargaEDI.bdsproj b/Source/CargaEDI/CargaEDI.bdsproj new file mode 100644 index 0000000..3437b92 --- /dev/null +++ b/Source/CargaEDI/CargaEDI.bdsproj @@ -0,0 +1,679 @@ + + + + + + + + + + + + CargaEDI.dpr + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + ..\..\Output\Debug\Cliente + .\ + ..\Lib + ..\Lib + ..\Lib;..\Base + BaseD10;Configuracion;FicherosEDI;rtl;dbrtl;vcldb;DataAbstract_Core_D10;DataAbstract_IDE_D10 + + + True + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 2 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 2.0.0.0 + + + + + + 1.0.0.0 + + + Internet Direct Version 9 (Indy) Property and Component Editors + + + + diff --git a/Source/CargaEDI/CargaEDI.dproj b/Source/CargaEDI/CargaEDI.dproj new file mode 100644 index 0000000..6c2765e --- /dev/null +++ b/Source/CargaEDI/CargaEDI.dproj @@ -0,0 +1,584 @@ + + + + {f4b339bd-0b22-48c7-b8f3-aea30a5c3ef7} + CargaEDI.dpr + Debug + AnyCPU + true + BaseD10;Configuracion;FicherosEDI + DCC32 + ..\..\Output\Debug\Cliente\CargaEDI.exe + + + 7.0 + False + False + 0 + 3 + ..\..\Output\Debug\Cliente + .\ + .\ + .\ + ..\Lib + ..\Lib + ..\Lib + ..\Lib + RELEASE + + + 7.0 + 3 + ..\..\Output\Debug\Cliente + .\ + .\ + .\ + ..\Lib + ..\Lib + ..\Lib + ..\Lib + DEBUG + + + Delphi.Personality + VCLApplication + +FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse2000FalseFalseFalseFalseFalse308212522.0.0.01.0.0.0 + + + + + + + + + + + + + + + + + + + CodeGear WebSnap Components + CodeGear SOAP Components + Microsoft Office XP Sample Automation Server Wrapper Components + Microsoft Office 2000 Sample Automation Server Wrapper Components + CodeGear C++Builder Office 2000 Servers Package + CodeGear C++Builder Office XP Servers Package + CargaEDI.dpr + + + + + MainSource + + +
fCargaEDI
+
+
+
+ diff --git a/Source/CargaEDI/CargaEDI.drc b/Source/CargaEDI/CargaEDI.drc index a5d5271..67ba08b 100644 --- a/Source/CargaEDI/CargaEDI.drc +++ b/Source/CargaEDI/CargaEDI.drc @@ -1,5 +1,5 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,7 @@ STRINGTABLE BEGIN END +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\WindowsXP.res */ +/* C:\Varela_D2007\Source\CargaEDI\uCargaEDI.dfm */ +/* C:\Varela_D2007\Source\CargaEDI\CargaEDI.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf22.tmp */ diff --git a/Source/CargaEDI/CargaEDI.identcache b/Source/CargaEDI/CargaEDI.identcache new file mode 100644 index 0000000..f6d8112 Binary files /dev/null and b/Source/CargaEDI/CargaEDI.identcache differ diff --git a/Source/CargaEDI/CargaEDI.rc b/Source/CargaEDI/CargaEDI.rc new file mode 100644 index 0000000..44990e7 --- /dev/null +++ b/Source/CargaEDI/CargaEDI.rc @@ -0,0 +1,23 @@ +MAINICON ICON "C:\Varela_D2007\Resources\Iconos\CargaEDI.ico" +1 VERSIONINFO +FILEVERSION 2,0,0,0 +PRODUCTVERSION 2,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "2.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/CargaEDI/CargaEDI.res b/Source/CargaEDI/CargaEDI.res index 5385745..5c6d4bd 100644 Binary files a/Source/CargaEDI/CargaEDI.res and b/Source/CargaEDI/CargaEDI.res differ diff --git a/Source/ClearFiles.msbuild b/Source/ClearFiles.msbuild new file mode 100644 index 0000000..30f4b9d --- /dev/null +++ b/Source/ClearFiles.msbuild @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Source/Cliente/AdminPV.dproj b/Source/Cliente/AdminPV.dproj new file mode 100644 index 0000000..10dda5b --- /dev/null +++ b/Source/Cliente/AdminPV.dproj @@ -0,0 +1,554 @@ + + + {c1d52109-a098-45a1-97ed-37902144cf8a} + AdminPV.dpr + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Cliente\AdminPV.exe + true + BaseD10;Configuracion;ControlesBaseD10;Usuarios;FicherosEDI;VentasProceso;VentasTerminadas;ReferenciaGenerica + + + 7.0 + False + False + 0 + RELEASE + ..\..\Output\Release\Cliente + .\ + .\ + .\ + ..\Lib + ..\Lib + ..\Lib + ..\Lib + + + 7.0 + DEBUG + ..\..\Output\Debug\Cliente + .\ + .\ + .\ + ..\Lib + ..\Lib + ..\Lib + ..\Lib + + + Delphi.Personality + VCLApplication + + FalseTrueFalseTrueFalse2000FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.0.0.0Administración de puntos de ventaAdministración de puntos de venta1.0.0.0 + CodeGear WebSnap Components + CodeGear SOAP Components + Microsoft Office XP Sample Automation Server Wrapper Components + Microsoft Office 2000 Sample Automation Server Wrapper Components + CodeGear C++Builder Office 2000 Servers Package + CodeGear C++Builder Office XP Servers Package + AdminPV.dpr + + + + + MainSource + + + + + +
fAcercaDe
+
+ + +
fPantallaPrincipal
+
+ +
SplashScreen
+
+
+
+ diff --git a/Source/Cliente/AdminPV.drc b/Source/Cliente/AdminPV.drc index a5d5271..7642ac9 100644 --- a/Source/Cliente/AdminPV.drc +++ b/Source/Cliente/AdminPV.drc @@ -1,4 +1,4 @@ -/* VER150 +/* VER180 Generated by the Borland Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. diff --git a/Source/Cliente/AdminPV.identcache b/Source/Cliente/AdminPV.identcache new file mode 100644 index 0000000..bef3627 Binary files /dev/null and b/Source/Cliente/AdminPV.identcache differ diff --git a/Source/Cliente/AdminPV.rc b/Source/Cliente/AdminPV.rc new file mode 100644 index 0000000..236a4b2 --- /dev/null +++ b/Source/Cliente/AdminPV.rc @@ -0,0 +1,27 @@ +MAINICON ICON "C:\Varela_D2007\Resources\Iconos\Cliente.ico" +1 VERSIONINFO +FILEVERSION 2,0,0,0 +PRODUCTVERSION 2,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "CompanyName", "Rodax Software S.L.\0" + VALUE "FileVersion", "2.0.0.0\0" + VALUE "InternalName", "Administración de puntos de venta\0" + VALUE "ProductName", "Administración de puntos de venta\0" + VALUE "ProductVersion", "1.0.0.0\0" + VALUE "CompileDate", "miércoles, 12 de septiembre de 2007 10:22\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Cliente/AdminPV.res b/Source/Cliente/AdminPV.res index ed2e3bc..58ed9a5 100644 Binary files a/Source/Cliente/AdminPV.res and b/Source/Cliente/AdminPV.res differ diff --git a/Source/Cliente/uPantallaPrincipal.dfm b/Source/Cliente/uPantallaPrincipal.dfm index 0d6afc3..7f7fe90 100644 --- a/Source/Cliente/uPantallaPrincipal.dfm +++ b/Source/Cliente/uPantallaPrincipal.dfm @@ -1,9 +1,9 @@ object fPantallaPrincipal: TfPantallaPrincipal Left = 358 Top = 250 - Width = 779 - Height = 653 Caption = 'Pantalla principal' + ClientHeight = 599 + ClientWidth = 771 Color = clWindow Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -23,12 +23,12 @@ object fPantallaPrincipal: TfPantallaPrincipal Top = 0 Width = 771 Height = 580 - ParentColor = True - Align = alClient Margins.Left = 5 Margins.Top = 5 Margins.Right = 5 Margins.Bottom = 5 + ParentColor = True + Align = alClient TabOrder = 0 object JvSyncSplitter1: TJvSyncSplitter Left = 210 @@ -433,6 +433,8 @@ object fPantallaPrincipal: TfPantallaPrincipal end end object JvXPMenuItemPainter1: TJvXPMenuItemPainter + SelectionFrameBrush.Color = 13811126 + SelectionFramePen.Color = 6956042 Left = 424 Top = 256 end diff --git a/Source/Configuracion/Configuracion.bdsproj b/Source/Configuracion/Configuracion.bdsproj new file mode 100644 index 0000000..3e6bdf5 --- /dev/null +++ b/Source/Configuracion/Configuracion.bdsproj @@ -0,0 +1,677 @@ + + + + + + + + + + + + Configuracion.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\Output\Debug\Cliente + ..\Lib + ..\Lib;..\Base + vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7 + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Configuracion/Configuracion.dpk b/Source/Configuracion/Configuracion.dpk index 43bab45..122da4b 100644 --- a/Source/Configuracion/Configuracion.dpk +++ b/Source/Configuracion/Configuracion.dpk @@ -22,11 +22,12 @@ package Configuracion; {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} +{$IMPLICITBUILD ON} +{$DEFINE DEBUG} requires - JvGlobusD7R, - BaseD7, + JvGlobusD10R, + BaseD10, Usuarios; contains diff --git a/Source/Configuracion/Configuracion.dproj b/Source/Configuracion/Configuracion.dproj new file mode 100644 index 0000000..cfb5b1e --- /dev/null +++ b/Source/Configuracion/Configuracion.dproj @@ -0,0 +1,606 @@ + + + {60c479d5-4a7e-4944-8c2c-759005f12e4e} + Configuracion.dpk + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Cliente\Configuracion.bpl + + + 7.0 + False + False + 0 + 3 + .\ + .\ + .\ + ..\..\Output\Debug\Cliente + ..\Lib + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + RELEASE + + + 7.0 + 3 + .\ + .\ + .\ + ..\..\Output\Debug\Cliente + ..\Lib + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + DEBUG + + + Delphi.Personality + Package + + + False + True + False + + + True + False + False + + + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + Configuracion.dpk + + + + + + + MainSource + + + + + +
fPanelControl
+
+
+ +
+ + diff --git a/Source/Configuracion/Configuracion.drc b/Source/Configuracion/Configuracion.drc index a5d5271..80e4b17 100644 --- a/Source/Configuracion/Configuracion.drc +++ b/Source/Configuracion/Configuracion.drc @@ -1,5 +1,5 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,6 @@ STRINGTABLE BEGIN END +/* C:\Varela_D2007\Source\Configuracion\uPanelControl.dfm */ +/* C:\Varela_D2007\Source\Configuracion\Configuracion.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtfE.tmp */ diff --git a/Source/Configuracion/Configuracion.rc b/Source/Configuracion/Configuracion.rc new file mode 100644 index 0000000..e69de29 diff --git a/Source/Configuracion/Configuracion.res b/Source/Configuracion/Configuracion.res index b1dc5fd..36f26e2 100644 Binary files a/Source/Configuracion/Configuracion.res and b/Source/Configuracion/Configuracion.res differ diff --git a/Source/ControlesBase/Cliente/uDataModuleControles.dfm b/Source/ControlesBase/Cliente/uDataModuleControles.dfm index 1dc8c95..f615384 100644 --- a/Source/ControlesBase/Cliente/uDataModuleControles.dfm +++ b/Source/ControlesBase/Cliente/uDataModuleControles.dfm @@ -1,212 +1,167 @@ object dmControles: TdmControles OldCreateOrder = True OnCreate = DAClientDataModuleCreate - SchemaCall.MethodName = 'GetSchemaAsXML' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtString - end> - Left = 528 - Top = 297 Height = 300 Width = 300 object RemoteService: TRORemoteService - ServiceName = 'srvControles' Message = dmBase.ROMessage Channel = dmBase.ROChannel - Left = 40 + ServiceName = 'srvControles' + Left = 56 Top = 16 end + object ds_Controles: TDADataSource + DataSet = tbl_Controles.Dataset + DataTable = tbl_Controles + Left = 176 + Top = 80 + end + object DARemoteDataAdapter: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RemoteService + GetSchemaCall.MethodName = 'GetSchemaAsXML' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetDataCall.RemoteService = RemoteService + GetDataCall.MethodName = 'GetDatasetData' + GetDataCall.Params = < + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + Value = 'ListaControlesPorCategoria' + end + item + Name = 'Params' + DataType = rtString + Flag = fIn + Value = Null + end + item + Name = 'IncludeSchema' + DataType = rtBoolean + Flag = fIn + Value = True + end + item + Name = 'MaxRecords' + DataType = rtInteger + Flag = fIn + Value = -1 + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'DatasetName' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + GetDataCall.OutgoingParamsParameter = 'Params' + GetDataCall.OutgoingIncludeSchemaParameter = 'IncludeSchema' + GetDataCall.OutgoingMaxRecordsParameter = 'MaxRecords' + UpdateDataCall.RemoteService = RemoteService + UpdateDataCall.MethodName = 'UpdateData' + UpdateDataCall.Params = < + item + Name = 'Delta' + DataType = rtBinary + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + UpdateDataCall.Default = False + UpdateDataCall.OutgoingDeltaParameter = 'Delta' + UpdateDataCall.IncomingDeltaParameter = 'Result' + GetScriptsCall.RemoteService = RemoteService + GetScriptsCall.MethodName = 'GetDatasetScripts' + GetScriptsCall.Params = < + item + Name = 'DatasetNames' + DataType = rtString + Flag = fIn + end + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetScriptsCall.Default = False + GetScriptsCall.OutgoingTableNamesParameter = 'DatasetNames' + GetScriptsCall.IncomingScriptParameter = 'Result' + RemoteService = RemoteService + DataStreamer = DABinDataStreamer1 + Left = 56 + Top = 80 + end + object DABinDataStreamer1: TDABinDataStreamer + IsCompatibleV4 = False + Left = 56 + Top = 152 + end object tbl_Controles: TDACDSDataTable RemoteUpdatesOptions = [] Fields = < item Name = 'ID' DataType = datAutoInc - BlobType = dabtUnknown Required = True - DisplayWidth = 0 - Alignment = taLeftJustify ServerAutoRefresh = True InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CATEGORIA' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'MODIFICABLE' DataType = datString Size = 1 - BlobType = dabtUnknown DefaultValue = 'S' - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ICONO' - DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + DataType = datSmallInt end item Name = 'NOMBRE' DataType = datString Size = 50 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DESCRIPCION' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ORDEN' - DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + DataType = datSmallInt end item Name = 'VISTA' DataType = datMemo - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> Params = < item Name = 'CATEGORIA' DataType = datString - Size = 15 - BlobType = dabtUnknown - Value = '' + Value = 'vebyas' ParamType = daptInput end> - 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 = 'ListaControlesPorCategoria' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'ListaControlesPorCategoria' - 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 = 'ListaControlesPorCategoria' - end> - ReadOnly = False - RemoteService = RemoteService - Adapter = dmBase.DABINAdapter + RemoteDataAdapter = DARemoteDataAdapter + LocalDataStreamer = DABinDataStreamer1 DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'ListaControlesPorCategoria' @@ -214,9 +169,4 @@ object dmControles: TdmControles Left = 176 Top = 16 end - object ds_Controles: TDADataSource - DataTable = tbl_Controles - Left = 176 - Top = 80 - end end diff --git a/Source/ControlesBase/Cliente/uDataModuleControles.pas b/Source/ControlesBase/Cliente/uDataModuleControles.pas index 81e6662..9fbe2d4 100644 --- a/Source/ControlesBase/Cliente/uDataModuleControles.pas +++ b/Source/ControlesBase/Cliente/uDataModuleControles.pas @@ -4,13 +4,17 @@ interface uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uDAClientDataModule, uDADataTable, uDAScriptingProvider, - uDACDSDataTable, uROClient, uROServiceComponent, uRORemoteService; + uDACDSDataTable, uROClient, uROServiceComponent, uRORemoteService, + uDARemoteDataAdapter, uDAInterfaces, uDADataStreamer, uDABinAdapter, + uDAMemDataTable; type TdmControles = class(TDAClientDataModule) RemoteService: TRORemoteService; - tbl_Controles: TDACDSDataTable; ds_Controles: TDADataSource; + DARemoteDataAdapter: TDARemoteDataAdapter; + DABinDataStreamer1: TDABinDataStreamer; + tbl_Controles: TDACDSDataTable; procedure DAClientDataModuleCreate(Sender: TObject); private { Private declarations } @@ -28,7 +32,7 @@ implementation uses Forms, Controls, schControlesClient_Intf, - uDataModuleBase, uDataTableUtils, DataAbstract_Intf, cxControls; + uDataModuleBase, uDataTableUtils, DataAbstract3_Intf, cxControls; procedure TdmControles.DAClientDataModuleCreate(Sender: TObject); begin @@ -39,21 +43,23 @@ end; function TdmControles.GetItems (const ACategoria : String): TDACDSDataTable; var dtControles: TDACDSDataTable; - AParams : TDADatasetParamArray; + //AParams : TDADatasetParamArray; begin ShowHourglassCursor; try dtControles := TDACDSDataTable.Create(NIL); CloneDataTable(tbl_Controles, dtControles); - AParams := TDADatasetParamArray.Create; + // Begin adaptación DA5 + {AParams := TDADatasetParamArray.Create; with AParams.Add do begin Name := fld_ListaControlesPorCategoriaCATEGORIA; Value := ACategoria; - end; - - dtControles.DataRequestCall.ParamByName(par_Params).AsComplexType := AParams; + end;} + //dtControles.DataRequestCall.ParamByName(par_Params).AsComplexType := AParams; + dtControles.ParamByName(fld_ListaControlesPorCategoriaCATEGORIA).AsString := ACategoria; // adaptación + // End adaptación DA5 Result := dtControles; finally HideHourglassCursor; diff --git a/Source/ControlesBase/Cliente/uEditorControlBase.dfm b/Source/ControlesBase/Cliente/uEditorControlBase.dfm index 7627a2f..0aa84fd 100644 --- a/Source/ControlesBase/Cliente/uEditorControlBase.dfm +++ b/Source/ControlesBase/Cliente/uEditorControlBase.dfm @@ -2,10 +2,13 @@ inherited fEditorControlBase: TfEditorControlBase Left = 499 Top = 302 Caption = '' + ExplicitWidth = 320 + ExplicitHeight = 240 PixelsPerInch = 96 TextHeight = 13 inherited TBXDock: TTBXDock inherited tbxMain: TTBXToolbar + ExplicitWidth = 523 inherited TBXItem2: TTBXItem Visible = False end diff --git a/Source/ControlesBase/Cliente/uEditorControlBase.pas b/Source/ControlesBase/Cliente/uEditorControlBase.pas index 510c93d..ee7b12f 100644 --- a/Source/ControlesBase/Cliente/uEditorControlBase.pas +++ b/Source/ControlesBase/Cliente/uEditorControlBase.pas @@ -8,7 +8,7 @@ uses JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, - uBizControlesBase, schControlesClient_Intf, uViewControlBase; + uBizControlesBase, schControlesClient_Intf, uViewControlBase, uDAInterfaces; type IEditorControlBase = interface(IEditorDBItem) diff --git a/Source/ControlesBase/Cliente/uEditorControlesBase.dfm b/Source/ControlesBase/Cliente/uEditorControlesBase.dfm index b21660b..941ccbd 100644 --- a/Source/ControlesBase/Cliente/uEditorControlesBase.dfm +++ b/Source/ControlesBase/Cliente/uEditorControlesBase.dfm @@ -2,14 +2,19 @@ inherited fEditorControlesBase: TfEditorControlesBase Left = 385 Top = 375 Caption = '' + ExplicitWidth = 320 + ExplicitHeight = 240 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader Top = 0 + ExplicitTop = 0 end inherited TBXDock: TTBXDock Top = 27 + ExplicitTop = 27 inherited tbxMain: TTBXToolbar + ExplicitWidth = 386 inherited TBXItem2: TTBXItem ImageIndex = 0 Images = pngImageNuevo diff --git a/Source/ControlesBase/Cliente/uEditorControlesBase.dfm.cbk b/Source/ControlesBase/Cliente/uEditorControlesBase.dfm.cbk new file mode 100644 index 0000000..941ccbd --- /dev/null +++ b/Source/ControlesBase/Cliente/uEditorControlesBase.dfm.cbk @@ -0,0 +1,1394 @@ +inherited fEditorControlesBase: TfEditorControlesBase + Left = 385 + Top = 375 + Caption = '' + ExplicitWidth = 320 + ExplicitHeight = 240 + PixelsPerInch = 96 + TextHeight = 13 + inherited JvNavPanelHeader: TJvNavPanelHeader + Top = 0 + ExplicitTop = 0 + end + inherited TBXDock: TTBXDock + Top = 27 + ExplicitTop = 27 + inherited tbxMain: TTBXToolbar + ExplicitWidth = 386 + inherited TBXItem2: TTBXItem + ImageIndex = 0 + Images = pngImageNuevo + end + inherited TBXItem29: TTBXItem + Visible = False + end + inherited TBXItem27: TTBXItem + Visible = False + end + object TBXSeparatorItem14: TTBXSeparatorItem [6] + end + object TBXItem7: TTBXItem [7] + Action = actPropiedades + DisplayMode = nbdmImageAndText + end + inherited TBXItem23: TTBXItem + Visible = False + end + inherited TBXItem3: TTBXItem + Visible = False + end + inherited TBXSeparatorItem10: TTBXSeparatorItem + Visible = False + end + inherited TBXItem26: TTBXItem + Visible = False + end + inherited TBXItem25: TTBXItem + Visible = False + end + inherited TBXSeparatorItem11: TTBXSeparatorItem + Visible = False + end + inherited TBXItem28: TTBXItem + Visible = False + end + end + inherited tbxMenu: TTBXToolbar + Visible = False + end + end + inherited EditorActionList: TActionList + Left = 72 + Top = 128 + inherited actNuevo: TAction + Caption = 'Nuevo control...' + OnExecute = actNuevoExecute + end + inherited actModificar: TAction + Caption = 'Abrir control' + OnExecute = actModificarExecute + end + object actPropiedades: TAction + Category = 'Archivo' + Caption = 'Propiedades' + ImageIndex = 20 + OnExecute = actPropiedadesExecute + OnUpdate = actPropiedadesUpdate + end + end + inherited SmallImages: TPngImageList + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD252000001754944415478DA6364C001D6ECBE900CA4E640B9 + 2921AE0673B1A963C4A739C8598FE1DB8FDF0C33966C67505054C06A08232ECD + 3EF6BA0C250B7F315C7FF88F6179E15F86456BF76135841197CD79737F324C4E + E1008BF345BC63B833959561F13A4C4318D13507BBE833E4CEF9C160ACC1C290 + 60C30296734D5FCD70F2A333564318B1D90CD20C02D72E9C04D33C92A60CAFDF + FF6358B8E71B86218CE87E866986D90E738186A92FC397EF0C0C6B8FA21A0232 + E03FBACD5FBEFF07E30A3F36B801323ABE0C3F7FFF67F8FE938161EFC5EF7043 + C00678586B32F8B7FD61887167836BFEF59B81A12E186180A8BA0F58F3E76FFF + 194EDDFE0136A07DDA1AB001C90FEE3F98131BE4C4A092FD9BA12A8A07AC19E4 + 67582C800CE051F0C1D06C636994020F44902171214E0CCA99BF19E25DB8E09A + 91C301161330CDE040448E46649764D85C473160C6114D0CCD581312B221CEFA + 9C589D8D3521E13204047069C69B99608680002ECD380D4036E4C98B77383583 + 000005100EB8572466A60000000049454E44AE426082} + Name = 'PngImage1' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001074944415478DA + 63FCFFFF3F032580912A06303232E2543079D1766F201505C520B02C37CE331A + C400EBC5670054F3960057330631617E0690B2F357EF336CDA7786A1B5289211 + AF01C89A254505183E7FFDC1F0F5DB0F06311101A021F7184E5DBA733927D643 + 0FAB01E89ADF7EF802D6FCF5FB4F866F406CA6AFC21095DBC6B06C7215238601 + C4689EB27807C3B153E7300D2056F38B371F18B62EDA79EDFCF9F9DA700348D4 + CC70E1C2024420022548D68C128D40C906A0E67A5234631860A6A752AF202346 + B466740396C2521AD020B0A49EA622C39C95BB716AC64889C0405C0A541C2501 + 4C2830804F33D6A40C8A09A0A62DF7EEDD03F3AF1FB98D372301A39191E2DC08 + 0029AC32F01825AACD0000000049454E44AE426082} + Name = 'PngImage2' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001514944415478DA + 635CB5E3DC7F062C20CCC388918108C0083220D4DD104570F5CEF30CEDFDB319 + CEEF9C4ED0109C06D818AB3278C7941134046E40CBAA0760819A3005B80B6000 + 9F21182EF8F1F30F10FF86E05F7F1882926B883300E60264C0C1805D5F69B802 + 238601E836FF04E2CDA7BF339484C9A368EE59F59261D9C1BB0CE7A75933C20D + F0B4D56698B0E5195617601AF09021DA4998C1297307C38D35A18C60031CCDD4 + C036FF84DAFCE7EF3F307DF0FA7FB001112D57C09A57D4E8800D98BBFA346A18 + 58EA2BC235C39C0FC2671EB0A2B8E0DBCF7F0C5F7FFE05E27F60B65DE26C8801 + 7316ADC11A58AEFE69282E4009C8284506F7F4B90C781349F7CA07FF4106A0DB + FCFD171003E980BCF9840D48F5916148EFBB8E2197EC2BCB1059B290B001512E + 92609BC1B602F1EF3FFFC1F437204EAE5A4CD8007F5B71B8E66F480681407AED + 12C20674CCDE884F0903000B1A00979E81F9710000000049454E44AE426082} + Name = 'PngImage3' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000E9C00000E9C01079453DD000002574944415478DA + 63FCFFFF3F03258011D9004646468696696B17FFFECAD0DE581A7C0D596155CF + 0AF77F7FFFD975944755A3E8413760EA929DAF393938D62785D8A7C1C48BBB17 + 711BABAB5C7AF9F6FDDFC2446F354206BC75B6D4E35ABCFE90536B49F87190F8 + E4853B2779DA1BE46EDE7FE62ED00015BC06F4CFDBBA24CACF26FAD0A99B5B42 + BDCC7C6BFA563B057B986FFDFDE72FC7D20D072B26D62574E235A0A26DA999B0 + 98E0F2607713F9251B8E85692A4B5698E9AB9AAEDA7EE2DEBB571F3DDAAB226F + E33500044A3B979507B898B6BF78F3FEA3B1B612FF992BF7FF1F3975336E425D + CC52903C4103EAEBEB5998450D8FAA2A889BC94888306CD977664D675964284C + 1D0103EA99F8DDF50C8CD439E3FFFE67CB7DFFE9DB1F7E3E9EC637DF5977DC98 + B3E73C0343E33F9C0670B8AC555292175BC8F6FF9BEEDF6FEF995E7DF8F95941 + 55EDE5AB17AFBEFCFAC7C2F1ECC5FBEF0C4C4C89FF0F47DDC36A8056F2A103FF + DEDEE465FBFFB5F1D577EECB8C8CFFF72AAA6A7CFFF4F842CED54D7907184CE7 + 4631B0B227FC3F1AE38AD5008D981DDFD9BEDE48BABCA1703983DE226E09891F + D754B4756F7DBC7FBAEFF286BCED0C32BD9C0CB222B7FF1F8B93C16A805ED2EE + D74CEFAF445FDC50B48BC172858E34DFFB6582B2DAFB38BEDCFC7166456A0583 + CE0471063EA103FF8FC66A623540C063F55669B6E747AE3DE3E861E5E158A9C8 + FBF1D1FD6F628BF4147977FC7A79D3E3F2736E39060E9E84FF47A202B0C782ED + 627356C6FF935998FEB349737FB9FE95E975F2F32D8DDF98EC9647B1FCFF55F0 + EB1FD31FA08EC2FF87634F6235801C0000382740F0DFD997BD0000000049454E + 44AE426082} + Name = 'PngImage4' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A000002854944415478DA + A5935D48536118C7FFAFDB8CCD557E7F34B33167F9119617A91596495D781304 + 451021A651362821B1ABA49B6EA4460961D88542055D84DD6545415992174994 + 9625CC8F9C329D9B5F3BE9CED9D9797BCEA1C932A3A0079EC3CBE13CBFE7FF7F + 9FF330CE39FE2798FAB80BA4E61559EB2551E67B07279AE8D51FA98F2CC99546 + 031A3D6E5FF329993F631D80B52227A6D7929F9BAEA459D1D73BE8DC3330D6B8 + 1AD206641414DA5A6224E1E8ECA47779660955D532EF642F1371BD74331A14FA + 9C27A4439F5D88777DAE1B65FD230D11485786B9363D65FD35C1EB4B9817427E + 9F80C335C05BD53E23B2A934132FB23662B71406C2B14698F38AF0E9EB9473E8 + E3C8655BD686D6F858A5DA3F27B04511E37E0195B5C0A00AD6003FE5259758F0 + 3AD1843C15125218CCB6AD707FF34EAC93973217041154ECF608D8770E188BD8 + 5A01A8A1DEC5F60CF4980CB0A890E8A47AFFF477EC3F037C8EBE975F006ADC37 + 60A7351E3D061DE222C522A5270047AD82DBAB27B21AC09EDA373525E9A52BCB + 7E5F4CB4822509BE80848AB3C0C09A806380EE7CA1BDC55EB4CDE17AF2984932 + 75A60CCA088739742A84CE1E49C1010730F41BA03B27CD595C517CB1FFF92B04 + E6035AF142101DCB12DA743AB413243FA468331D0F01E51780D1154057AAF148 + D92E7BE794778E8DB92634C901116FA6451CAA27214EC06802AE5227AA839ED2 + 45A0729AC6A406182DD9329C10A7B7F57D18D63A93DF99D92076905F4FB4DF56 + A08C20ED9476027CD1209C7BD9FBDC947BC1C0E2C9596A4B003E27E2F8E9301E + AEB507B700334968A6631D019C759C5F627780822413BA194312CDFB41958C13 + 7FDB4052739000430ECEDD913F313B568F9B8B326AC8F7CCBFAEB27A073F0058 + 5538F0EAB25B380000000049454E44AE426082} + Name = 'PngImage5' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001934944415478DA + 6364C002662430FC47E6672C606064C001C0122726A06AB870818121A1632A98 + 5D169DCD10E58B90B32840358C11A4D920622A5C604145365833482308D4F5E6 + 3134154F62A8EE4805F35B2B66334CDA8B3004C50098E62F2F6E823581347F7F + FB80E1E58DBD0C8BD67D6588F6656258BAF91F7E03AE3D66C009081A800CD61F + B161C0072243F419711AF0F7F777864D275D192282F5B06A5EB1F23C43D7FCD9 + 0CE7774E67C43000A41984B79EF3C36AC08F9F7F18366CB8CC10116EC860E491 + 85EA0298E6BFBFBE33ECB8120E36C071E64DB8E6ED09CA40037E33ECD87E03EC + 02142F206BFEF7FB07C3AE9BF1282E00D90CD20CC6BFFE30EC3B719561CAECE5 + 100374837B503483E8BDF733305C000333DC04198E9EBB893040CBAF1945F3DF + 3FDF190E3C2E041B806EF34F283E73E52EC200758F2A865B3B3A506CB927739E + C1C75383C177F17D0C17745971325CBEF51062004820CF19352F808065E64506 + 172748A0C16CFDF3F71F9806B9E4F683A70803B081E56B2EFEB7B19663D875F4 + 32CEC444D080AED9331808010085EE16005695A1DA0000000049454E44AE4260 + 82} + Name = 'PngImage6' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD252000002164944415478DA95D35F4853511CC0F1EFD491DD + D9587F2C83AC8C328DFE4949908BC0AC142A147BC8077B88A01EECA5E718F958 + 410486C384B50A1F7A991023CBEC0F594F81E5D4C211E130D7D4DDCDA15B5EEF + DD5DD74B1B8EA9D90FCEC3EFC0EFC3EF9CF33B06FE46CBE3AE042B886B176B0C + 0B73C342A0A9B17AD9E2FB4F5EE0E878C6E79776C37F03AAAAD2DAD1CDDEDD3B + B96EBB9B425604CC17CB8A4AFBD31EEA6BAC0CFF08A4907F02C962598EE374BD + D58F908C2581442241603C8CCBFD89D86C9C9C9C1C0A365A282DDE446FDF37E6 + AB9277B128F02B10C6DDF385CD074B10D6593019211E9CC2EF1DA5A0C0821895 + 68BE6D5F1A6873BEA6D07A0879951945CD626B1E6C372978BD7EBC5F4710D608 + DC6A712C0EC84A9C7B6DDDECAF3B459E315B3B3B685B9835448DCD30F4BE0FC1 + 94CB9D56672670A5E1A47E590F1EBDE374C3091D88CD4120063359902B4719F9 + D88F201835E0612670E97CA5DE41578F870A6B296BD79B096BC0B8B6C4DF3252 + 4024E81960832071B3FD7926D0587B5C7F32DFE8243FC74214EDD906AB4D4C29 + 1011230487BC1419BFB32BE8E06CE7BE4CE0C299637A07B3928CCF37816F4CD4 + F2040943365234823134C8E1FC094A8A8D4C0DF6B2E5EA8774A0BEFAA80E283A + A21012A791E6E6B4618249FF08AFEC97292B2CA7B64221BFAC9C90E74DFA289F + AB3A42FFB07FD90FE5B255A510B754379D062C1CD3E5E240AC931D9537B03537 + 19FE00839434866373C4BA0000000049454E44AE426082} + Name = 'PngImage7' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD252000001724944415478DA6364A0103062135CB1E2C26E20 + E5824F63448401235603809AA381D412374F5506413E2EB0D89FBFFF187EFFF9 + 0BC62F3EFD6728A999C0B0795E15A60150CD1540CD3A7B4FDCC5B0D5D94299E1 + CAD3BF0CDD3D53F280064CC666C06EA066176C36FF05B25F7F6544B11DC50098 + D3C3C3F519D6ECBA8C61BBBDA922C38D17FF41B6C384B6020DF261846AFE0FA4 + AE809C0EB21DDD6610FFCF9F7F0CE91553194CF49518A4558D1836AE59037609 + 23C8E6AB4F2E2C2136DAE4B5AC186E9CD9C570F3C1278801B53D0BFE3715C7E3 + D4F0E5C75F86CFDF8118487FF9F18F61C3BA350C12CA260C3B366F4218408CCD + 17AE3D03D3065A520CEC42AA0C278F1CC4EF02749BBF82F0CFBF0CC7F66E64F8 + C92AC970FDE259DC06A06BAE3DEFC390ABB49EE1FEB5530CCF9F3F6778FA919D + E1F5D3FBD80DC066F3AC743D8680EEB30CAFEE9E61D8BEF72C4CA90CD080A770 + 03A62FDB45542C400D006B062724DFA4366920FD84D86844D68C9212C905001F + 16FA1194E3DBC30000000049454E44AE426082} + Name = 'PngImage8' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD2520000015F4944415478DA6364A000FC3060F8CF884D62C5 + 8A0BBB81940BB258E7FC99286A8EBF9CCEC06EE4C5C088457334905AE2E6A9CA + 20C8C70516FBF3F71F8399770E44D3F9FF0C3F0D19219AE76D6364C4A2B902A8 + 5967EF89BB2806B7F54D6738E7C4C1F073793F58B3D1537986F33BA76318B01B + A8D905D9E6DF7FFE82B1437011C3B91DD31818BA8AC07246FB7EA01A00737A78 + B83EC39A5D9731C205E40274003700A8F93F90BA02723AC876649BFF02D920FE + 9F3FFF18D22BA63298E82B3148AB1A316C5CB38661F5B92A064690CD579F5C58 + 4228CAB6EC3E893D166A7B16FC6F2A8EC7A9F1CB8FBF0C9FBFFF65F08E2CC01E + 0B20038849342017608D055C2E80D9FC19487FF9F18F2125B3147B2C6033005D + 73ED791F86E7B334B1C702BA01E89ABF02F1AC743D8680EEB30CAFEE9E61D8BE + F72C4CA9CCE679554FE1064C5FB68B98A0801900D60C6230FA26B54903E92744 + E946B219C661244123560000C9AFE6B31530CB2E0000000049454E44AE426082} + Name = 'PngImage9' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD2520000016A4944415478DA + 63FCFFFF3F03082CDD7212C22000627C2D18616C905E466403A27DCCF16A06AA + 61E89DB290E1FCCEE98C241BF0EFDF3F86E5DB4E33488B093314D5F5810D21DA + 0090E6DF7FFE31ACD97596C1C9429BE1E6BD176043CEED98C688D3804D0F0E30 + F45E6A02B37779EC62E05CC0C6B058EA38D80B3080D30090E6805D4E182E7911 + FC91E1C4E5C70C8F1E3F6298B774137603609AFFA4FC013B1B64738BB13743CD + D9AD0C8FFDDF81C5B6EC3B85DB00A6594C289A91C13DEF3740F1BF0C3B0F9DC5 + 6D0048C1EFDF7F21F49F7F50FA2FC31F181F2877E0E445EC068479988015F02C + E640B1F98EE72BB066CDDD120C676D1E311C3D7B05BB0181CE8660DB049773C3 + FD8DAC3957BB80219A379FE1D4C5EBD80DF0B1D7032B165BCD8B110330CD200B + CE5FBD85DD00776B1DB002E9F502609B13CF8781E50C840DE09A41165CB97907 + BB014EE69A1801060B44986610C06980ADB11AC3A63D2789C994D80D404EA6C4 + 0090010087546EF0ACB0C7920000000049454E44AE426082} + Name = 'PngImage10' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001024944415478DA + 63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3 + C493AF1EDC305B3E7F1A2323BA66090111A9272F9F301CD9BE99119701110999 + FF416A0E6FDB843000A4F9CFCF1F52F834C2808DA72FD8DF700348D18C6C08D8 + 004B77AF69F292F299308987CF1F4E979256DEB076DEE45D207E7052AEDBB3A7 + 770390D58000DC0B20FFCC98D0CE70E1053FC3DBBF3F191E7F66603831A310C5 + B6E533A6311C7CC080228F624046C534B82408AC690C856B9611976140970719 + 20ACA0CB30A53E13624068693F5CF2F2E3F70C37E7A5C163019BFCD7AD4D0C2B + 164C07A72146981F999998C17EFCFBEF2FD630C0260F3660C0933200BCB3BCE1 + CDA578040000000049454E44AE426082} + Name = 'PngImage11' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001C04944415478DA + 63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440 + 1BA234FDF9FB8FE1F79FBF60EC105CC4806200A3E14C86FFE7D3C13408E0627F + 3C12CF70ECEC0D86AAB659D80D4007FF806AFEFC41D80CC2672FDFC1340019C8 + 7A2C6178F2F22B98ADAE20C0D09869CCE06E29CD2068B788E1D9AE48868BD7EF + 117601C8E673D7DF309846AF6310E66767B8BE3E8441CC6929C3C36D610CD76E + 3FC46DC0CBB7DF19EA679C613870E619C3C3679F197EFCFA0B36106433C8F97F + 80F8D6FD27B8BD1053BD8F61E9B6DB0C0B9B1C181C4C2518E43D5780C54136CB + 7BAD62B8B12E90E1FEE367D85DF0F75C1A836FDE0E866D471E315C5A15CCF0F1 + CB4F06DBA42D6003EE6E0A6650F65BCB7061B90FC3F357AFB11BF0F3540AC3B1 + 8B2F18A2ABF6313C7BFD8DC1C14412E895E76003AEAEF6077B4123528661FFC4 + F3A806C4F859C1A30839CAE0ECDF10BE41E416860F7F32188E4F453320DCCB9C + 81CB621ED8A6177BA218245C9681D9B7360431A805AC03B37F306430FCF8C3C0 + F0E61B0483D8700382DC4CF0DAFC1B498EDD5785E1FD4A3417F83919319CBA78 + 8BA8FCF0DFCF908171139201A0DC3871C6529273637E46740C00F128724C706C + 80060000000049454E44AE426082} + Name = 'PngImage12' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000E9C00000E9C01079453DD000002324944415478DA + 63FCFFFF3F03258011640023232386C4922BFF0D9818FFC57EFFFE57FDEFBFFF + CC8CFF19BEF0F1B36D5C73E9EAAAD5613ABF60166318505FFF9F4939F077F98B + 97BF6BEFDCFEC6F9EDDB3F86BF7F810A9918192424D9FEF3F1B32FBFFA93236E + 5528C35FB8018D9B7E2C6DF0E38859759581F5E7BF3FD36EDEF89AF4E51B03E3 + B72F7FC0867EF8F897E1EF3F06867F40ACA1C9F96FE392D5BA5737265D831BE0 + 58F9F0BF83A5F83245796696CB973E87FEF9C70CD6FCE2D92B86E78F6EFCFCF7 + EFEF17360E5E4151590326666626067D7DDE65F57E1CD12806288BB3FF676567 + 66E0E062036B7EFEF425C39307576E8A2A19B9EE6A557DA217B2A88E9B5FBA41 + 405C87C1DC9CEF01D0004514031444391804843918409ADFBFFFCE70E7EA91FB + 9F3FF06BDED9E1F513A450357481341FBBD03D611973362B4B2C067CF8C1C060 + A020C0F0E3FB4F86CF1FDEBCBE7FFD84C3B54DC9D760812B13DACB29CAAAF84A + 58C69AC7C61A8B01CF9FFF61E014646190E365627870FD40C3A535718DC8D1AA + E2B1988F5788E7B998823597A5392FA6010C1F1EC0157FF8F081E1DF9F4F0D1C + EC6AFDA7965A7C02899924ED550746C555793523665D1D2ED440C49690D08149 + D2A9764E3ED90A037DEEFF3696BC7161EA0C4B8836402FF6A41A37AFF0690E2E + 7E3E7B5B9E65C08494084C48BF8832402BF40A0F8F30DB3E0E2E4153277B9E65 + 0DFE9C60A7E34CCA280098ACCDDF3C5A2925C913ACAFCBB51CA6997803ECF7B3 + 301C74FC834D0AC5004A000026261CF09ABF155A0000000049454E44AE426082} + Name = 'PngImage13' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A000002E64944415478DA + 8D936B4893511CC6FF67DA74BAC9BC9478C9357338CC4B0EBC1709F929A25414 + A13E48082D8CFC20267E1B925DD004B3120C75919AA99B5DADD485E56DA2791D + 739ABA2D9DB7A953379D6EEF5EDFDE14859C810F3C5F0ECFF33BFFF38783E0FF + 425902A13B668448DCB4C5B658709C40D8F0A4563120A97FB1B61F3AAC291008 + EDB1630ED7ECECA97C6F7F6FAEABB72BCDB46902B54CAD5BD4CCF7AAC68772C5 + 6F8A06C8286E05484EAEB3F10BB6A49FE2B2F2C2628318E0C440063300410050 + 910596D4B344F7BBB63169FBA7B4D6E65AA915205320E47A9EF4ECB89A7CCE85 + CDA021950141E2BD2E9049645029E683BB3301EB2AE5F657E15B4955457EAA15 + 205B5095CD8BE33D0C8BE0523C1002B50120E5C12EE03509D8A60078386EC1B7 + F2066DA3A89C8FFE1DBF9076CADFADFA4A467C829E70829C82AE43B79B97150D + B3522956F3F4C9B3030001DD87C3AE49C84CBCBC646640FCA5D29DF3A0B8A09D + 09F62469E1C3A4B4D7F2EAF1A3DA834FA064DC2D2D8E4DB9984E63F922ED2A02 + 161DE04EE1EE13D4ED7CB090CB5CD9C6E1439978A3FE655189D50E52D37263CE + 4486374725C5D2168DF6C88E2CE414ED02942400030246C6A7087149C5688DF0 + 7EC63EE0F38DB3C79974A8ECB70B7459649E0F64F17854767800C588D390830D + 02172A19226F5E58D211DFEB9AF40DD5CFCB46E5DD0568AFECC6C43FFA470747 + 2CEBF420D2048072C57ED3CB2F846005F9D19CBD4E80C96882B9F16942D1DBA7 + FBD15C2B960F77159355056AB919E0E3E24C17F9C58487E1737218966D429386 + 01F235CB8589854D87D3DCD0448613938D61669B89B1C1099552DEB9AA9B9790 + E559D204FA99C5EBF78D0A0FB5D5ABA0BF6F0D7AA66CA1757CC4B862D808E9D6 + 9826C990236927D236A4B748AF92C6F6FF82243F890861AE817CC8001D6A0A74 + 2A478D1AFD7A926CC6FC058E20743BEDFA2F1ECC70B45A0CDA2614CB5AFDFAAD + BE19B3E828E51D009FCFE710C6F546ED680F473DFF3B7E70DAFCFEA8E5BFFA03 + 503A4EA60D6AAC070000000049454E44AE426082} + Name = 'PngImage14' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A000002E44944415478DA + 8D936B48D35118C6DFB379D9D4C9BC94A8CB399B38CC4B0E9C9A45427D8C5251 + 82FA2021B430F08398F4258650145A615642A12E4A31AF6565795958A69B685E + C7BCB4B92D9D3AA74E7771BAFD37FFFDA728E40A7CE0FDF6FC9E73DE877310FC + 5FA850200CC22C90ECB06EB1EC76870347D8F88C6E7244D4F8D2B06FFA172910 + 082998BBD7154F8A079F11C5E0043002A8D64D2BA8A56AFDB2463BA8928F1537 + BF2D1B21AC0E9780ECEC06323BCE9E17CE61DE4D4C8BA5812F0D996C00380EE0 + 81ECB0A25EC0FBDFF74C4B7E7CCAEDEEAC97B8041408849C906321BD97B24FFB + B36854A43221106B01ECCE007780203F1CCC2AE576BBF09DA8A6BA24C725A048 + 5053C43DCFBD9F98C4210523046A13C0D0320099BCBBF0360920D87B0BBE56B5 + E8DA9AAAF8E8EFEB3FA2864705D65ECC4FCF30E2BE70BB54ECD28F542485D676 + 3E2C482458DDD327CF0E04087CC222597519059917566C34B8F358BC031C94A8 + 8B0F339241FBEB870FEA0FAE40CABFF5A23CEDF2B93C2A3302E9D611307D0002 + 29006EC4D529A4DD2ED6B61DF0A1B279A3F15559854B0739B9C5A92792799D29 + 5969D4650B05791200C31B804A74E046B831C061423E8B3757544FD509EFE5EF + 077CBE76F208DD07DE0C7BC6F82FD3CFC430B95C0F162F9A64715091171981BF + 0761224E5E5AD1E3DF1A3A8C2DB5CF2BA764FDA5680F0EA43B3E469D8A4B5AD5 + 1BA149130DCA35CA66283B1E67C6B2A97EA147C16AB1C2A27C0E9F1C1CD27FEF + AC6F968D8BCB097412755D8F0EF3F7F36962A7F2121D8B3218976E4287860632 + 83FDAC6269D3EB38272193E64B6761988DAC981E55A894B2BE75BD5644C00BC4 + E0E867217738228597E06654C1F090010666DDA05B3E6159336DC4F76BAC3384 + 8968007C8971BE842D62D6C159C5DE5F109564E1F17403C8C64CD0AB26419F72 + CAA2319AB3A4F3B62F7008A19BB9577F71613E52A7C3A04731B9AA339A6F0CCD + DB9A0E03EF04F0F9FC48DC626ED34D0D44AAB5BFD347E76CAD87859DFA0386D8 + 3FA68502A9830000000049454E44AE426082} + Name = 'PngImage0' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A0000032A4944415478DA + 6D937B4814411CC77FB3B7777A5E7276969AA4648A20A5592A4585FE654122BD + 0CAA3FE2841EA45946697591BD8DB27748A2BDA0A43FA2420C893252D2A244B4 + 7C24495986AFBC3BDDDBDB9DDDBDDDDB663714B366F9B2BB33DFCF777E3BB383 + E0DF66235A19342370912538D0CAB2825BF00A6DA4EF2D1133D5A8AA2AA029EF + 4126B3292B2E21BA70697A5262626A9C393422040D0FBAFCAD6F3BF187C68ED6 + 9F5F472E2992524FBCE2F400735884ED40E6BAE58539F6CCD0B9F323009111C5 + EF075191600C7BA0ABEBAB5AF7A071A4ADBEE71CE7C615849126032823B52D77 + EFBAEBF6BDEBAD164B20E941A092EBF89ED75050960C6ECC805B6060D8E984E7 + 379B9C2D8F3AB71353CD4440CC8ACCE49725D7F2626DB3AC60A028C2535092FF + 4A2FCD5E1A0F2E3C062E9E8171D1034303A3F0E24CF3A7910EF72A1230826813 + BDAFF87CEE85ACCD19269AA2C16030C0093273EDC372C8DE92FFD7EACEDDE902 + 06B3D0F1A41777DEED2D5015F5369A1335BBB6ACFA4056745C24A22903941636 + EBF044C38204BCE003FBEE62B0DAFBC1237A61B8C7A9B69DE979ECF3F836A1A4 + 65F15F4EDD2A880BB606A12B45AD93B02C2BE023D2604D79FB8F02B5F533B022 + 078C9B55BBCF7EEBC43F8424B4243DE19BA37C678CC962844A47B71E204F8212 + 09F1EBF783474E02BBB105BC1207DE711EFACA06BE8B7D520C8A8A0D6F70DCD9 + 951E343B1061598067A54EA8AEBAA4435A0826D22A3976B21406B31B80F76160 + FB3975E8E2E84785F12F460166E3E91D17361D8E5D1E45F332062C8BD07EC300 + D7CA4EC1BEA292BF16B177751D6893304D5E9979E0AD5265354FDBC694B4EC05 + 7599FB57844906093862D04CCEBB913AE4D9F01EBC3E1EBC22AF87635680F1FB + EC4FB95DC922DBD8A105A0008BF1444641DAA1A88C8800CE8F8123656AA59A1F + A740FF9A7AF22CE8B0208AC035F258A8911C20C3D5A9BF72D8CC79C197E3D7CE + CBB12D0D09106862D4A13F9F343133F70E63F18D740F7E818330E3D30FD31CA3 + D5986F5B68B55B532DE128923248269F0EF2DF05856FC58372AF52013C5412AF + EB7FA7516B34512232C2063A944E44C1C82C7B14CEEFF2B793929F92B16E2265 + EA71FE0D330BBCF031BDB9A60000000049454E44AE426082} + Name = 'PngImage15' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A0000031C4944415478DA + 6D536B481451143E779D5D5D37D95AD354523445905AB32C0A0DFD653F92252B + 8BFA130A3D40F385D1C3B09766A5652548D23B34FA1115624894A0F6502845CB + 079298A5F8CA75737677E6CECCCEA3BB532DAB75868F3B73EFF77DE7CCBDF720 + F8374C045BFC97F8AD3504F8191D0ECEC639B91E32D741407B13154501E4F5ED + AFD3EBD263E2220A37A5C49BCD1B62F481214BD1F4E49CDCDDD18F3FB4F7758F + 8FCC5C9504A98570F9C506FAE01053715A46526166565AE0CA552180C88A24CB + C04B02FCC476181818519A1BDA677A5A862E32365C473482C740A3D5ECCFCECF + A8C9CADF613418FCC80C02853C678EB4425E5502D8300D368E8669AB155EDE7C + 67FDF8A4FF002135FE35884A4E4B787DFA464EB469B9117C341AA2D78008329C + CF6D55CBB39406C11C4BC33C6F87A989597855FEFEF34C9F6D2B319841948E2A + 387639BB327D6FAA8ED2505056F066C18E363DAE05CBBE5C30E7BBE02767071A + 3BA0EFD930EEBF3F9CA748CA5D141A1ED454F5A8383D22260C511A1FA8287CAF + 8ABC037302ECC92E0263D618D879274C0F59959EF2A1A72EBB6B378ADF1CFBE5 + FC9DBC9800A33F2201D547BB3C06A228818B80E55C2A728A4E01B3AB0B689B43 + 19BCF0B51F7FE7E2D1FA94B8AF25B587A274062DD971173C2C1D560D448F5020 + 26B23A1E3D790EA62C6DE09C6761B46AE21B3F2A44A1F0E8156D25F70EA7F807 + F9212C72F0A2C20ACFEB6B3C62F788094E9496C12411B32E0C8E314699BA32FB + 49A2E575C857AF2D3B58B9FB44745238C58A183AAF890BFEFF5259A947CC082C + B893D0EF9C22DDE0BCAD884A8EFB1813375A5637A71525070B3E023084E02631 + 24136E88564D262DADE0E4DD621EB08383F97AC7B8D82BA59363EC731B205F83 + F66C6ADEC6E3E1A921BE8C8C55B1BB54FDD34418DBD642DE3955CCF13C30ED2C + E61A85127251AE7B5FE5E0659101D5B1DB23334D9B96FA721421AA22FC3BEB9F + CC4C27C6FC5BE101FC8012A2995FDC4CA15AA336D7B4C69865DC605881C2343E + 82CEA50AD96F9CC476E3497158AA03166E11EEDCFFBAD11D1481196961271548 + 995100D28B768991E7E45E52F273B236482079B7F32FB7E1BAF0E8F71C040000 + 000049454E44AE426082} + Name = 'PngImage16' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD2520000019E4944415478DA + 63FCFFFF3F4341F1F9FF0C6402469801BEFE4A0C0B16DD60583CC71CABC21F3F + FF327CFFF90748FF6128ABBCC2A0A5CEC0B072C752E20C40D6FCE3D71F86BAFA + 1B0CEB963B31A85A241336005DF38FDF7F18DA5AEE3098997032CC5D3D07BF01 + D834FFFCF597A1B7EB3E612FE0D20CC253263C625092FFC5B0F1C06AEC06E0D3 + 0CE2CF99F68C4152EC0BC3AE931B310D983EC908A119AA11A409660008CC9FF9 + 9C4180F72DC3E14B3B500D00019021840048F3F7EF3F19CEDCDE8F6AC09F3F40 + DB7EFC024B82E81FDF816C280D11FFC5F0F9D337B03C08DF7C79126180A7B73C + 86E6CF9FBF43C460867DFB09D70C32ECD1A7F308036CEC44C18A976E9A82D7F9 + 7CFF8DC19A4186BCFE7D0D618089193FD896B5BB67311CDA309341504A87E1C9 + ED930CEF3FFD60F8F0F927C3FD671F1956AD59CDF0EC96105833C8BBEFFFDF44 + 18A0A3CB0976EAB6C30B182E1CDDCBA06768C8B073FD02B8CDF79F7E64E89C34 + 87E1EE456EB06610403140599519EC827D6796312447F833F072B130B0B0B2A1 + 387FF5D6430C37CF72C0F9700318191919F49D72C9CAD200FAC9B5C145016BDA + 0000000049454E44AE426082} + Name = 'PngImage17' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD2520000015D4944415478DA + 63FCFFFF3F03082CDD7212C22000627C2D1891F98CC80644FB98E3D50C54C3D0 + 3B6521C3F99DD3194936E0DFBF7F0CCBB79D6690161366B04C57058B715C6060 + 24CA0090E6DF7FFE31ACD9759621A4D68281352A97E1F7B2C90C8B2E10E10298 + E6DFBFFF325C5DC2C1F044E912C39B4B4B19984A3AB17BC171E64DACAEE860D0 + 60D0F399C2F0F2D636868587CC18A41A1A18D218F07801DD669866100E699161 + 10D5F6050726411720DB0CD35CDE369B61DED24DD80DF8FDE72FD856107D6319 + 1786E6ED7B4F311C387911BB01611E260C6E73EF80F9110C1F180C182C18C4D5 + BC5034830C3E7AF60A7603029D0D212E00FA7DEDAA2B0C2D2D210C6B6A9EA068 + 06E15317AF6337C0C75E8F2160D92330FF4E8B0B838B4B0D985D5CE907D70CC2 + E7AFDEC26E80BBB50E5CD11FA84B60E181C0FF18AEDCBC83DD0027734D829A41 + 00A701B6C66A0C9BF69C24265362370094D348012003002CB76B52FA97B19500 + 00000049454E44AE426082} + Name = 'PngImage18' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001B04944415478DA + 63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3 + C493AF1EDC305BB1603A2323BA66090111A9272F9F301CD9BE99119701110999 + FF616A189135FFF9F9430A9F4618B0F1F405FB1B6E0021CDD70CF8FF0B09B0D7 + 481C78D50AE2FF7295B1FBC82F7AF0C585F30C8C96EE5ED3E425E533618A1F3E + 7F385D4A5A79C3DA79937781F8C149B96E6627F7F4F8B23ED3DD226BC2F04840 + 96A19CE72DC3E7E387182EDEF8389911E49F1913DA192EBCE06778FBF727C3E3 + CF0C0C276614A2B860F98C690C9BAA5A1854F7F530282A4830DC7FF08261E657 + 318689B76F33820DC8A89806D70C026B1A43E19A65C46518C0F25F3F3048CE28 + 6050BFBC9A61DB7F198693AE390C535AF220068496F6C3355F7EFC9EE1E6BC34 + 782CC0E47F5EBFC060D7E5C170E8BD208301F73B06BE7F1FFD642E316C6604F9 + F1D9D3BB01CC4CCCE070F8FBEF2F4618FC7D723D22F3EF93C4FB37DE301C1296 + D9E8FBE68198BED87F4BFEBF1FED084619087CB4178BB974FFD3D42B8F7E7801 + 6D390A12DB28C4BA51558ECB8F2803D6F1B2C67CFEF5C728EEE7FF62A006701A + 98C0C0202ECBCDB00A00547CD715F016991D0000000049454E44AE426082} + Name = 'PngImage19' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD2520000019E4944415478DA + 63FCFFFF3F032580119FE4D64553FE7FF8F001437C9FC439C20680343B392269 + FEF11E883F30DCBFCFC070FE81220383A3006E03609A6BCAF631B47439C135C3 + E9EFEF197A3F00C5253F3030AEDB73092510D89F1D62006BAE3BC7D0D2640431 + A44A11AEF9C3FBFB0CEF8166CCFD013440E13DC48040675DB0E66D8BA7C23597 + 141931F4F4010D291264A8E9BBCF5012F89EE1FD0BA017809A7BD73130280619 + 32306830200C00693632FC00D1347D05434D66044349922043CFBCF70C2D91F7 + 19BCEB10E1A169AAC9709DE70783A2A100AA0B4A9282C19A7FFFF90BC4FF18DA + 0A6319923DEF33E4F47D6098B1E22443787A3DC3F99DD3C1E1E654E904F63ADC + 803F7FFF31FC016B846806D1207E7F6532437AFD0C865FBFFF32C4E634C10D80 + 4723C8005F076DAC9A4186823482F06F204E2A6CC56E80A78D06C3DC45BBC102 + 2141B60C6BD61DC6885A530B1D868CD20EEC06B858A8E2B5F9D71F089D5BD58D + DD007B136586E5AB0E80057CBC2D18B66C3D81E1026D7D3586A2BA3EEC065819 + 28E0B519E43210C0694073F77442990E0E300CA0343B030039812D6AB16B7539 + 0000000049454E44AE426082} + Name = 'PngImage20' + Background = clWindow + end> + Bitmap = {} + end + inherited LargeImages: TPngImageList + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD252000003CD4944415478DA8D96ED4F53571CC7BF17EC9315 + 11864234C607C6D4E9408621F88CBA88D0C64D48EA906C3E3459F40FD077666F + 7CEB62A2912C43F0A950A12A3001AD2613810908B46869E69E8B2FBA3087F499 + B6F7B63BF7E0BDB6D2A79BDCDE73EEBDE7F339E7777EE7DC3248E1303C346BC9 + A5812FDBED767AAF51D7B9C9F4A07E22595B2655F8DED202642D5E089F3F88B6 + EE415CF8BE857F9C54C2A402DFBD651D7296C8C5FBD3336EE87F7C8206DDBDA4 + 1226197C57493E96662D9A7BF9F810BD861A4BF1EFB4136D5DFDB8D2DC9550C2 + 2482EF2161C9266111E00D470B611C015A75D7E11FD6E2F51B176EF7FC8CA696 + F812261EFCC0F60D502AA451706DB902A7EB5F60D2F32195B8068EC1E5F1C1D0 + CD4B62878B4904F7F8392C3A3922C2C361D280B438736900B6D94FA9E4D5FD5A + C8A46968E9E8C555FDFC9130EFC3856C8984A72F90E0E31C274AD767A3EBF138 + 7A2D6E64AF2D82C99A4E257FDED320C4B1E87C34881BAD3D511226D1840A70E1 + B09AE7269987FB021CBCE49C9C545089AD5B0387CB03E39351E80C0F44892008 + 278207D830BE297F27FAB6DD41E182A4A9CF0698CDF8BDA31A334E2F7E7A6A42 + F36D2395303C3C56B644F69C09BA3139C5E2ECE11C5AE727DA9791274AF8B3C3 + 64A712ABE17338C9C4F70D3D4757DF2FA0829ACF8AE2C2BD410E013F0397C329 + 0A4E9CEB059B5B4005B38110825C083EF25EDFAFFF518959AF86E5E55F387FB9 + 19CCC5EB3D61AD661F14320915683616A2B24C22C2F9DE05FD0B10F4450B9C59 + 6B299C070B23197FE5A082519D0AD6DFFEC677F56F0599194AA8CA8BB1848429 + BDE40768EABEC6EE923431C6E1800C0C1B2D9852AE8E091FB959058F771643A6 + 0974F7BF04535C716A236963D1D6A95173601B9128A1286BA4924DEB58DA98F5 + C891217347096CD29531E16E12FFC1B109DC6A7F3837C9FCAF20397144854315 + 5B91A15C88CC9DD7A864F90A2F8A729538B6F7DD662748C602B9F37AFE74D422 + C2C5348D941CAF55A19A8C840B315855758B4A64996F909FEE84C7350D960D61 + C6C7D1364D7FC829BCFF4A05A97118187901FD1DE3FC85365FA28646BD132E6F + 0005070DC0E6CD5015E6C58C390F9748D2D03F3C8E9B6DD1AB38E66627488E7E + A942D59E2D9090945DA36EA392B2FCEC28F8B31B9598251FA061B335263CEE76 + 2D48BED25462DFF66228E4527CF4C55D2AA1C75B38CD16027F3F2C49059192BA + 9A0AEC2A2B2212193ED174D2673CDCED9DCB96D6F64771E109059192DAEAFDD8 + 515A08B94C0A8EAC5A9A2D6396A4F0A48248C9113292BC651F807C1260FFE735 + F4778D49E129090449E6B25516C7948DD64919A49CD2DF96FF0126B669571175 + 682F0000000049454E44AE426082} + Name = 'PngImage1' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000032A4944415478DA + BD95CD4F134118877F5B0A22D84205341E30087E24021A45893131F1E2C178F1 + 2A26FE07C6C478319E8D9E8C8926EA49E217D1B328F142A24123070B2E6DB76C + 0B5DB6A585B614CA47BB1F6D7D772CDAD22DA0094C32997476F67966DE79F72D + 97CBE5B0958DDB1601C7719B7EE1D18B8F9768E8A17EB660FA2BF537D7AF5DEC + 2F5CCBD8FF22C8C3DF5FBED04D2F73882FAC40CF64114BA6E1F3F9797AC693E4 + EA7F090AE1FB9AEAD9DCD24A1ABA9E81AA6510239920C530CABB71F7E615EE9F + 0425705A6E80753D4B27C8A0AAD24A630EFE5002E25494242E26D994A01C5C55 + 7528AC6BC866B3A8B7D782B35830198A63C829E2D9BDDEFB4EE7F3DBEB0ACCE0 + AAA617C155EA29458546D2867A1B72D90CDEF67F41DFD37E3709DACB0ACCE00C + AA680CAC685A5EA4B13B38D97E00B14412BC57C2C0E0777C7A37545E50166E80 + F302E324EC37CD7775B4223EBF0861621AA35E19636322BE7D18361798C2159D + ED785550024F2C821F9F82673202419882382A221C0897DEC146F0D59014C213 + 0B4BF0D0CE9D8244F020FC3CC127C31819E92DCE2233785AF90B53F360632E43 + 1FD7098A79742E899F047691C0352621264F63C22D3178D177F0F8E540093C95 + 568BE29EA64C512834468A9EEA6CC34C7C1E6E5F082EA3BBA71097C310F9893F + F0B582D7C78EECEFE9EA6883B5C2C2629C5EB373259F9EDDC70F6226364FE020 + C6082E8E87200B0148A25C045F2B983C77FA684BE7E16696D3A9945A10EBBC48 + FB0D8FC617081CA44B0D421483181F19C7AC3C5B023715B43637D109AC58585C + C64A4A29806B043F84394AC561DE4FE560165E418668C083E6F01281A3CED6D2 + E4D8853D0D75D8595DC52ED2C89E2C8D5D14F34834C1B2E5873B00C123232147 + E017A4B2F0B582C14C8E3B5FBDA30A95560BF6EEB6A3916486A4C16187DD5603 + A77B025E2902371FC072740E9E51DFBAF0926A7AE7415FCE6677C052C1C1565D + 81C6FA5AAA2B39D45111CBD2627F7086761E424494E0F30436849B966B4362AD + AC84BDA69A5295C3F2D21295619D95E5C5E40ABC4E3F8B79FB99F68DD8ACBD7A + 728B332B153722B1F987E170181ADD81F1DCE8AECFDE4D410B1B950A6E7BFEF4 + B7B2FD02BC08E5EFAAF547E00000000049454E44AE426082} + Name = 'PngImage2' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000022C4944415478DA + 63FCFFFF3F032D0123CC82D53BCF13655398871123B18683CC46B120D4DD10AF + 06A01A86F6FED90CE7774E27CA12922CF80754B776D7050651415E86A2BA3EA2 + 2C21DA0290E17FFFFE63D8B0F712838DB12AC3CD7B2F88B284280BFEFDFBCFF0 + 0768F89FBF7F19B61EBC0A0E2218A08A0520D0B3EA2131410E06A5E10A704BB1 + 5AD0B2EA0186260E0646869230798286831CD2317B23C3DB3DF98C382D00F141 + 610E0E963FFF18FEFEFBC7306BEB4BA22D3051F8CD1052BD0D6C098605216E06 + D008FDCFF0FBCF5FB0E1A0C89DBBE335410B7EFDF9CF3069DD23866827617022 + 0059F266771E238A0541AEFA0CED6B1E91144440FBC186FF02FA76F69627E020 + 82010C0BFC1C7519DE7EF88661C8B203EFB15A806C388CDEB9FF2458AE6CC679 + 4C0B3C6DB5C061FF179A2C81084CAF3AFC096E4144CB159CC1D49EA60AB6E4E8 + F133D82D70B5D26098B2FD25C120C2E67264FAF4E9B3D82D70325763F8F8F907 + 8605EB8E7F815B40C87010BE78FE1C760BEC4C5418FEFD852451502A82E4E07F + 0CDBCEFE005B00323CBA0D7710954629327CFBF997E1F6B58BD82DB0355261B8 + FFF41D86C6A3B718180A43E419BEFFFA87D5C520F6CFDF08B187B72E61B760DE + 92B5E0B2071DB8FAA73164F8C912653888FDE2FE654C0B181971975BDD2B1FFC + 4FF292061B5030E5264E75715E32608BDE3DBE4ABA05316E52045DFE0B5CB430 + 307C7C4A8605614E1244190E026459106027CE70E8E869066201C916209731C4 + 02140B6805009C1383EFACA508270000000049454E44AE426082} + Name = 'PngImage3' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000E9C00000E9C01079453DD000004BF4944415478DA + B5D37B4C53571800F0737A5B6ECB4B2F2D2D2D2053408286870CD4C9C0B89989 + 8ACEB041F035064CEB365800D93235C0EA40FD836D380C085B44C7C30993111E + 93199411DE844029B80908586094577B81963EE8E3EE82D311662A35DB97DCE4 + 3CBE737EB9E77C07120401FECF802B010821A8ACACC7BAC453B54A95E6405AE2 + E111631B7C9E7E331102E87431313C76B1FFAFFD9E071492C0A3A109218D8AD4 + 68C68527040281E1799B9FCF2A738306439314971765244598060C3C9E1406FA + BA73EE36F6045E381DD6B672F39339393457C4BE748BFBFAE08AFBED572E9B04 + 94D7B20647645D7111FB7805E58D359DF2817DB97CBE76795E7246717450E096 + 5C7239E5C7AAA62B99C9260039F977B893B3AA9E84A8FD3603C313BA9FAA5B8F + 9C8F0B2D799A73F6AB627B77676E4750A0375BD43B0ACA6ADA7ECE4C8A085935 + 9097574B1F56C89A2342767A6356E6A0AAB6E3E1AF1DFD5B6E0822D5A1A1C588 + D71B66D7DF7B3BE0E862767BCF20A8691265647D1115BF6A6031522E9784B130 + EB9BEF066DA72C68B5C4F5D2BACF5262DF493F935E78684F804FE9C6F53CF8E7 + 040E6E57B7E04A9572DBB7C951FD26018BCDF8B4FCAC5DDB37F377F86C84AD5D + 0353F79A1FECD9ECC22B3EF8E6AB2EB25925B85327D4F70E8DC5640B22AF3E5D + 640A004EA7FCC046D7A06D216F6D73E230AD417E59BD243CF8353B081128FC43 + 0C6A9BBBEF4BF48CBD2582B085970296904B45611C1BEB225F4F67848A40E0FA + 0A178C4864A0F46EEB2C3E33BF332735BA6B79BEC9C062BD5B482D8A5998D5A1 + 0D8E6C60678B01D14331E81D94246509DE4F052BC26400B8FC821E0E5178D9D9 + 326A5BC516E6737225F0B09BEB1892500FB688E7A5A02E52FD72C08E026F3B1E + 2B92CBC676D3E9664E23A313A85EA7910368A6B1E3602C3A1D5DA0D210B14422 + BBFF6860FC3BD018DEB53AC03797C659E79062CF65C6418346AF981AD3E85438 + 9C56D3692C864A6EE1E0A3D62AA6AD0787261A210D250044BCD45A832DB93413 + A8E70544FB49AD5100DB5FF1D14667CE3732F103056A98EBA322C42D8D9ED239 + 348725AEB39CF56438FA2E5066FAB893B8C27D4C4A1D279770C9DF3E09CCE831 + 8002CF12F5C7B28C022E11BF89508DD489AA1ABE26421D12414998FEEF23BBEA + 6683EF46ED7D09BDACD756A61AE2492A05CAA539A73C3A60EB6F03338623D170 + C4D328E01E5DAF21A47D5A864EE92FACFAE49F12F42F28DA84C93CA9F67E2832 + 3FECA4C30739DD5567F067F3BEB9A90035FF9468388A1A053CF8CD7238FDFB3C + 55A7F2E92C8F1D7B329A42A1BCEE52ED8EC9AC11DE56E61A44EE3833DA13DC5D + 9E50B30CB848023124606514F03AD5D24F99E9B5D42B64FEDD5509834B837E37 + 98660CD8E7B616BF2745DD985C267D977E52745D88D49F0025254F8ED0EFFB22 + F21EFC48C0D52860B9B7347B2D9C896252E70E8B2AE24BC1CE142AD0B97ECD36 + 577DCC3197F3BB71762B8FC3CAD8C0D46D958FF59DEA2A4F2804DED99B009D71 + 0B204803D170EC43E3651A50E88F52F4D55C0B45E563B9F597900031185DF381 + BD85A262DA801F5FBAD8C0020F1EDBA61ACE8D40E50225145722C1804AE39355 + 7480A83FDAF8E287E69FCF275BE7C82EC7D152A1C650F5B529037EEE59D52C5D + 7AD166000C17C85610F94D904F2C0D341ECF79E143FBAFE32F16D672EF3D728C + 4A0000000049454E44AE426082} + Name = 'PngImage4' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A0000043D4944415478DA + B5956D6C535518C7FFB7B7ED36B66E5D47D67663731BECD5B18605D8504C084B + 74982DC16468D4F881AD0305E3870550D100EABE482246712A8AA00182BA9828 + 84252006D7264AA2631B461325DD5C9ABDC0686B6F5FB7DEDEE373EF6869C736 + B6189FE4A4A7E79EFBFFF5799EFFE9E11863F83F834BFCF211506AD6A7585DFE + A99E3611BD4B1553DE7FC0DC797B64FC9C13387B883149017C0064549A528F56 + 5A2A9E31AE2CD00EDF700AB62B034DAD22EC8B117E07482B3019F61516E7ED15 + 6F8DA6BB6F79D84D1F0E5A197B8BDB06F06D7A743F5C8827B4997A684A6A804C + 031C7F8D78ED97FA9B5BB130E4531E9B2A2D655D191AA9CAE570201C61CC15C0 + D94911D60EC642DC4915DA9BCA714C97024E6E87C46BA029AE86DA5C08C79F4E + A1F7CAB566AB08DB3DC280C19CA77FBBA42877BB776C940F08018444B0DB3E1C + EE6178AD1B88CAFDE58E02797526D8561BB1324A00519A191A532174E535181A + 1A176C3FF42595EB6360836595E1AB1C9DB660CC39A1EC0F46204E06B0AF4DC2 + BBB17D0A409E1C032AD6E7E3C7223D8C31803C54E999C8B1AC85F3A6CF6BBFFC + 4BB30C3995A2B2D696E6BC2F8602691E6F50D9E79F4298CAD2DE069C4ECC320E + 90E32450BF6605BE37A623231122A9782CAF5A0DF7B44618F869F0FC9A55D94F + BB275DAA6058549EFB66C45BACC085D9654C02C8F1058F268B09DF64A5429B08 + 11A97419463304B707E1E014A669215696093F9EDB097C399701EE01C8714A83 + D60773F1499A1A7C1264D6A0864A54F397A8E65DF3396C4E801C67B4D85F9683 + 4EB50ADC5CE25351B04972CB76865716B2F0BC8083D4DFAA545C2DCEC6BA9868 + 34011096ED18C4E1768657659D2501C8519A2C9DB6AB7A6DB955F8E3376EBE12 + C959F8C238B003E85C3480C497E5E51BCE6C78AA79EBDF17CE21484D5DA80FD3 + 049916B1872047EE0B20F1ACE212F3B71B5B1EDD343E781DA3D7FA93C4C88E1E + 8941CDABA04B5C8F48F289C58BCF2BE76F1E00D55C5DBF42FF5D43D3238F07C3 + 115CEFB90831CAE222816984DD213446818954158E136463ECD413546E428446 + FB2E72FA9C80AF759A37B734D4BC9E663070FDBD5721787C890D955C41B45119 + 3E57F6D29FA31BE8500187E8F1B2B8D80CE459827427014EF0D8FC585DD1C53C + 935E3DEC9CC4B06334A9C6247EC4CAB06776FA1F02D5F4EB8ED3743D77F75EA1 + DE63DB6EE07C1CD05791FB7B6D85B1CAE70FE1D7010722E2DDD2FC13823D1C45 + 039DD4C83C76D61A8197497D3F8DD43B990428BBADF4CE6505602FCAEE7EA826 + BFA56FD0018F371417F747E017A650FB027003F70932482D099FA0A9E5CE9240 + A37127633F739FF16859579ADD3D36E1492A0DB176B72BB7E0E2E23D20450B1C + A0E95ECA86A7526DDEC5582F27A759A6852D330575316708615C1A91B0E50D32 + C9620109BDA9A78F27A9D91D7117D19D6A58AEC6E9340D1AC9350295A796360C + 2D557C76241D34D97E5E4A8F9270ED506EC4FF1E32E05FC9675CEF0AFC725300 + 00000049454E44AE426082} + Name = 'PngImage5' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000027F4944415478DA + 63FCFFFF3F032D0123CC02464646AC0A66243060B820630103230391006EC1C9 + 898CEE406A07B2E4890B40C33AA6A268B8B8229761E9E67F0CD1BE4C1886FD67 + F8E76151C0B0139705FF154C1A18045444212EAFC8061BFEE5C54D86A6E24970 + 0D75BD790C770F4C015BD2B16802C3FFBFBF19FE01F1D7A7BF1836CC69C0F01D + 8A05061153510C7F7D7527032EF0ECF216B025AD73DAC016DCD8D2C870FEC23F + E22C787C6C21C3D64DA70886AFB79F1983988E07D8825B3B3B89B70066092100 + 331C84EFECE923CD027430F9A037410B61A0345C016E095116FCFFFF8F61CA21 + 5F869230798286F7AC7AC8D0317B23C3DB3DF98C445900321C9452A61E0D22DA + 021385DF0C21D5DBC096E0B50066F8BF3FBF18A69F8C2068C1AF3FFF1926AD7B + C410ED24CC70F3DE0BB025382D00451C03D00290E120F6CC33B1382DF8FB0F62 + F8AF3FFF18666F79020E22BC71003210968160ECD91752B05A806C388CDEB9FF + 2458AE6CC6794C0BB0190EF2C5DC2B59700B225AAEE00CA6F63455B025478F9F + C1B4402F740256C341F4BCEBF9283EC0E67264FAF4E9B39816E8067563351CC4 + 5F70AB046E0121C341F8E2F973981668FBB761351C8417DDAD045B00323CBA0D + 7710954629327CFBF997E1F6B58B981668FA346235FCFFBF3F0C8BEFD7321486 + C8337CFFF50FAB8B41EC9FBF11620F6F5DC2B440C3B306ABE120FE92474D0C19 + 7EB244190E62BFB87F19D302559712B8E1E8F4F2E75D0C495ED260030AA6DCC4 + 1944715E32608BDE3DBE8A6981B45E00C3B34B9BB06A3C24798F21C64D8AA0CB + 416C503C7D7C8A6901B8CABC7001BBCB3E7B3E6008739220CA7010C0B00057A5 + 0F03DD2B1FFC0FB013673874F43403B180640B90CB18620100261ED9D6E5FCF2 + FA0000000049454E44AE426082} + Name = 'PngImage6' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000037C4944415478DA + B595DF4F5B6518C73F2DFD4191B66C6C4E8512618376DD28B485B1C126D90F36 + 8D1B1726264B76B53BAF3431DE99F80F18BDD1449399254B644E1747743ADD94 + 48169C428131268366832D631BC838FC687B0A057AEA7B0EB692B562417D9393 + 9C93F33EDFCFFB7D9EE73C47974824F83F976E25A0E59BCE75D1DEFBF00CD72F + 7FA4CB0A70E268DD9AC4450C454F17F2E63BEF6784FC2780EAEDCFF3580A6784 + FC2B403CAE70EEBB007BFD4E22D15846C8BA01AA783C9EE0FC956E0EECDEC1C2 + E2524648D680E1FB9374760E119A95B1D99FA2AECEC5739BED5C68EBD58AFCE4 + CA1A1096635CBC14D084B7941761CECB25321D66EAFE440A343032811C959124 + 498B39DDF275760055BCE5B3761C9E321CDB1D42DC844EA7435114E6E57946FB + 4778187C44D3613F66B3414BDBC5B6AEEC0167CF77905FBC096F4D3936430EF7 + C2301E5D7E67B5409E3EC648D720F353111A1ADC28A226DFB607B203A839FFE1 + 4A0FF5C71B291169B1EBE14E086E882C0813E488E70D3630CA53F48B4EF2EE72 + 512852F6FDD5EEEC00EAE973375AA93C50C55C04CC0A8C89D3CB4B5060165D24 + C242E2DE4A98B1BE2114D1413E7F053FFEDC9B1DE0E34F2E535A5341597529C3 + 63301703530E3C9B07361308034C2E08A09009DD1A606CE801FB1AABF8E9D7BE + 7F06A8C5FAFCC235AC22FFAE3D2E46C661711136E5C266711905A8C0080BC255 + 707A9E4737832CCE84D95959C6D540FFEA80E32FD56A1FD0E8F8B45683FD279B + 90643D2191A62DA2B076215C201C6C109738070392CC2F5F75E0F26CC5969FCB + B59EDF5607BC7AB84673B0245A51EDFF925D4E0A859389591D46B1F519E1C022 + F2633588B489E79B771E70B73B48B5AF428B09DC185C1DF0CA419FB651854833 + B2E6C2DFBC1BEB461BB373A20E8A0EBB69B9931E4F4DD37BA90B5FA59D2F4F9F + E575DF755AF3DE5E1DD0BCBFFACF39B3EC22223EB6E488F01CF163C9B7109989 + 30D0D6A7C544676EE1609CA6E2DB58BC47986CFF9463AD957F0F78F9054F4A3C + 098A2B097E17436C38389A9A455B9D0E0C7A3D5F7CF02E45917BD497C6707B8C + E4541DD320C5AF756406BCD8B0334D3C39399F0427EF4FBD518FD751AB419C6E + 03267F730A920638B4C7BD26F1E4BE336FED4B41563A490334D63AB52075AEA8 + 814BF1BF84944422A37872AD846C739B18948CE980BDBE726D22AE77F59C3A99 + 829C934AD201997E1E6B5D55D1560A771C659BC7CB1F1C73BA92B5793DE80000 + 000049454E44AE426082} + Name = 'PngImage7' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000B3A00000B3A01647F570D000002724944415478DA + 63FCFFFF3F032D01235D2C606464C42AB978D3F10C0E76EEE9E4181CEAAE0731 + 1B9F05AB775E3A1DE2A66B822E0EF2F3BF7FFF19FEFEFB8742FF03D217AE3F67 + E89DB19261F3BC2AFC16C05C0FB480E1E0E97B0CAFDF7FC5E95A51416E067D0D + 49B02513E6AC66D0D3353A03F481295E0B40AEB73751341115E2818BFDFB0F72 + 2DC4A5A82E87E0CBB75E3014D6F6309CDF391D6C204E0B905D4FACE120B9C9F3 + D6C05D8FD70264D713133C5A2AE20CD7EEBC44713D4E0BD05D4F8CCB4172A965 + 5318FC3C6C18EEDDBDCEC0C6C6CEA0A363C400348311C30264D7136BF88D7BAF + C129C7232C99C152959B61FDFA350C17AE3D63D834B712AB05FF41AE07197EF8 + CC7D82C1A3A620C2905E3115C570297975866DDBF7A35A50DBB3E03F30821880 + AE671012E0C69AC681086BFACFAE9ECED0589D07371C04502C689EB8E4FFEF3F + 7FC9C9B070C0CCCCC2202EA30C371C04E016D4F52EFCDF541C4FD0901FBFFE31 + 7CFFFD1F4CFFF8FD8FE1CF5F18FB3FC3E68D88A0F1F27444F5013116A01B0EA6 + A18683F0FE9DEBC0110B321C2388401650143EB060E2E063E0E6E165E0E1E621 + DE07845CFE1D2A7EE1C82686EF7F9818787878C0961C3A749AB005840C5FF4D5 + 8E61C1850B0C4BB5DE30DC38B585E10D304973F3F2822D397BEE067E0B8871B9 + F76901B0DAB9AAAF181E9CDFC670FFD173065E5E3EB025376F3DC16D01B1C1E2 + 9D21C43083D59481B5790BC38B2BDB192E5EB9C1C0C7C7CFF0F1CB7FD4FA0066 + 0138D9C10C40321C268E6C3848FC75B127D841300B4E9FBBC8C0CA210A361C24 + 8E62415D411CC3EC95BBC94E41CF9F3F07275398E12816C08A0A4A92A8B28621 + 43828F3E4AB90FB7809600004F6ECDEFF6DCFB3B0000000049454E44AE426082} + Name = 'PngImage8' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000B3A00000B3A01647F570D000002954944415478DA + B5955F6852511CC7BF3E9882694B723D6450D4A21ED61FB3879EEA295CABA058 + D1CB6A23A315C2A441AC4123368A82FE5011066D63D1ECAF6058291643AC8D60 + 966EB5FE3E64D4966B7B1841B1997A4FF75CF14E773DFE1978E070EE3D1E3F9F + EF399C9FCA082190C964284523F73A88AC54020A8F9E3323A7E0B6EB558352A1 + B2150BAF991C00852B0779742EC143EFDB40CDB64AA3241DDF398EC066F74ABE + 6399372AC2E93B53904ACF0BE00F7CC5C4E45FC99AB15FA3B054AD07ECE781C6 + CB4084876FD743D1DC01D97E736E014DBFC5B8DCA8D3CE17E7387E6D824FCE71 + 9CB083CE07BD387CA94AF84CE1FC88E8EE3550D45961F04411F2DAD882F4F42C + 78821FBB1D3E58E2EF10BD7A425CA7708FC0507F26B7203D3DEB78C423DABA12 + 38DD8868D02D1C0DF6D4C2B0D3CA16CC4E9F2D3927BC13F43CF2C3526B02EE5E + 037E8401F34940AB83C1740C2DC78F0AB74922484F9F0B4EFB1DD70B74D95D59 + 7717ACDF88AC75C00B084D4FE12F5F8799C7439B6EA10AAB962DC291E6EB30ED + 3B84CD152A389D0EB4E9E3D23A3875A19BACAD34804F0F6D994A4C3B939A8EC8 + 987378FA9975B0D770168FBB5A9282F62B3D24164FA0D8565EBE985907BB9E8D + CF085A2FDE226D4D07F302A7FF71988A11619C8E7178EAF531EB40BF64697182 + D9703AF6FAFCCC3A90088A3E9FD41131EAA0E01D644B9E7C267833D0C7AC8382 + 04B9E0B4BF0FF533EB20AF201F7C8A7FAE0E94096B3B2BC6F12DE446F87B046A + B5062AB51A9FBF8CB00585C0E97C75831637E49B206F7F82B1610F86863F41A3 + 5980DF7F8800A7AC0C413C91064883A7E6D3E1747EA2297945538240700872A5 + 4E8467085AAD0770F3FEF3B95C26A14522110C7EF899011705A99F8A39D3F9B6 + 62F506D4ED5827F9E71204A56CFF01E5E2820611E3A8010000000049454E44AE + 426082} + Name = 'PngImage9' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000029E4944415478DA + 63FCFFFF3F032D0123B2054BB79C24CBB6DE290B19CEEF9CCE882C063317C382 + 681F73920C07EA619016136628AAEB43B184AA1618682A30BC7EFB19C512AA58 + F0F7EF3F8615DB4F33D818AB337CF9F613C5128A2D0019FEF7EF7F86D5BBCE30 + 38596833FCFAFD07C592733BA6319265C1FF7FFF19FE02F11FA00520F6BABDE7 + C0918C0E48B2E0D687070C53AF4E62B8F0F6020348B59BB41F43A1661603EF12 + 0E8637E15F188E9C7FC0F0F5DB5786B76FDF82D5CF5BBA89780BE6DC58C0B0FD + D9620C4B4F3FBFCFF0E4EB038697219FC0C1F5E7DF3F30BD79EF29E22D38FDEA + 0283F906230CC303551CC1F4FA3BFB199E057E801BFE0F18275B0F9C26DE0287 + CD4E0C879E1F6028D56B606834AC021B62BEC582415D44106EC123FF7770C341 + 71B3E3D019E22C38F5F20283FB7627860D6EFB18CC8575A0A9E61F83D5762B14 + 0BEEFBBC811B0E8AF83D47CF116741FED12206676064BA49DAC00D1758CE8511 + 5C773D5FC30D07A9D97FE202610B400A6BCEB430D4E95532FC03CA234722321B + E6F2B92FA631C408A581C50E9DBE84DF82084F5370068219C4BF9413C3D5F7BC + DFC033DAD467ED60B164E112B0FA6367AFE0B720D4CD04C595422BB8E1A9E6E6 + 9BF70C5BACF7C00D7FCEFE942160971343B16E1D83277B3058CFE98BD7F15B10 + E46C84121CA2AB79512CD868B10B6CF8DC97D319BA2F3530D8493A30F42A2E84 + EB3977E5267E0BFC1C0D50C25A722D3FDC0274004A454DC67D0CAEAC81703D17 + AFDFC66F81B79D1E4A10C96C106490E15600E75A74806E3828C2AFDCBC83DF02 + 0F6B1D942092DF2CCC70DBE315C3F2D74B18763DDDC400D265206CC020CA2187 + 61380810B4C0C5520B45132C4271255564C389B2C0DE541D258DC33210580C4B + 9E40369C280B6C8C54C125222500AF05D82A0F7200CC0200F191E9EFB5062090 + 0000000049454E44AE426082} + Name = 'PngImage10' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300004E2000004E2001167D99DE0000035A4944415478DA + ED954D4C134114C7DFEC6E0B420B085A6A040DD88A45C0C4602D4A2D281F5589 + F1AB6AA2094A4C5502DC34F160EAD11BF1E4498D462F1A43FC408BA052C11435 + F8890AA222A2601B6B2D94B26DB73BEEB4168B16E1E2C1C4974C7627F37BFFFF + CB9B995D843186BF19E8BFC1940653012693897AF9CEAEA5696825732FE72B6B + 3877F2B6F01A982A77435595F48F0646A351E4E3E3342CE7BDFBD1F6F1E7024D + 957CE6BCED6FCC66EF6485D71D3DDE617FDFAD9ECC00E96B6BC5727FAC9A65DD + 41718EF795A6CBE6F9699A6925738F67ACE091A5A5235AB2C1502DA1E3F108E1 + A219A0CA4A530C15CFE68F7986DB0814F0072AAC2DD71BC9A276FDA69D98E7CE + 7198DFDC616E6C8866A0D6EB13C448E48AB6078278A5209E22888F05C531E075 + F76E5CBB11660B4AD716D30C732BC0F37A6B5363535403B56090F2BB01D209E2 + 4AA96C99DB1D6A0BE251455BD395C6C8E4253A5D929491248F70CCD7A796CBDF + A219E495EE8A4F605CEE09060683412C92CED6F03CB64C26FE830F9F6B4A187C + D41D144EDECAFBF7D50889AC41039D4EC7C83354050850B0721FEB392441D892 + 1827C62C93E892393F7F3863B1F822049142A110CB6473553C254AA431041806 + 80E3001266A7D8ED036FFA3A3333F94237CB1103B4AD72DF0A0A51EDD18AE91F + EA3F2191CCBADA7CE9ECCD88EA614B556DC9E0A7B71BE7CF997FE0579E773B2E + 386C0EAB5CA962D1DE9A835AD273B25873B41E66C602385900DB28C0C008C0F3 + 0127F49C3282D3ED2F7FD16626170C6FDB53534CE140F39FF8A10FB6D573E6A5 + DE463B761FC061F17C39C0A03B34C209244892F9702924C5607DD6E2A501719C + A4793A7C863203D05C450ED6166AE1C8B17A9821F4718C9B5811097A580CC7AA + F38070E1980E1FDC2C7966567ED1AAD50F4945E1707943C3EE9998402A229196 + 9A06D3E159AF6719D2EB6B63B20A942D19E5C6C2746908F0064209E449E0272E + 1BBC3D5F37D865BD6BCCC9CDE5E4694AB3667F3D4CC5B73E7EB020784CD76EDC + BE70C4EBE9D96ABA0831B470DC9CE2F1EA084CFAF9CDE95C33EAF8D49E9D9D0D + 0AC5224D5C72AA85984CC6B37E9FCAD1FFBA7BFCA269CACA14CB57569CEEEC68 + 2EECEBED1B4F50E6A8067BBA7B770F753F89FC4453E5DB77AE1A1D1EBE13C986 + F9AE675D455FDEBDEA0DEEC1BFFF47FBE70DBE03EC16D6DE8FAAF1BC00000000 + 49454E44AE426082} + Name = 'PngImage11' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD252000003784944415478DA + B5566B48544114FE362D31A3C78F104C7B50145A902FECE15299D12668ADBA61 + AE925AA405811585F4A31745FD308A0A42DB5EBBE96E56AE9AAF30CD2CC5C79A + BB998FCCEDA5640F15823233DC7B9BB9EBBDEEB65BAD5207863967E6CCF7CD39 + 6766EE15B12C8BFF29224AA0CCAF89237DD63F051689E21323C5D91CC1F5BC6A + 96186302A0EB68EC0CC3C2C430309918B34E7A2AF2DD2751A23A21B22210F965 + 9A17EB5304DD9ECD34256382FF25C11EA84D82DB8A6B9CDEFF301E771FE8A0D4 + 94E0E1ED745B020A36F69DD39EC5F4552A7CAA88437155A37D02478421FE96E0 + E6366293C610FD5E75D3F822A0E096B9363116E0C4765FA74677690CCA6B0D63 + 23287EDC850B375BF0A4AD177D9FBF63DA94499086CCC1B15D0198E2EA2C44E1 + 21D1E04DF16654D6373B4E702CF3098E663422FFAC049215B35050F5165BD22A + B8B9D0200FA84FAE11A2F00ACBC1CB42191EE99E395E03D76597F1FD8709BB36 + FB207DEF320E689A58C9CD393B89D0551243C6F81A985357D3D4EA5804F47424 + 1DA982BAD488C329FE48952FC6FDDA77901D28177C68CE79F0F91177D09E2B45 + DDD3F6BF13F005A5EDC730C3919C57B7C063E6645434F40804AF8B64233B67B1 + 28528B67B736A2B1A5E3F704F412D1313EDCEE8F0388492B87FE793FC2C45E50 + 1C0A86A7E4A64060BC1B2D6CC447560083261CFAF64E5B82046930B7800233FC + 1927FADAE462E85A7BB9B9B6DC284C759B08CF0D390241475EA4E0CBF7CD1D46 + FB04F4FA0F356CB75AE0BE2E1B43A4C854CA2E4AA02A3222ABE4A54060D044C0 + 89149BFAFAC616A1E146185A3B5FD912C46F5C8989810A7C23EF8AC9E22229B4 + 1D38AED07360625F77246E5A0065A111F7EB7AE03C4184D80DF3B047EE8D3A6F + 4F81D4455B694B200F5F0E97A02BF85293387A4B99D14233BF1C45ABB490A65B + 321B29CA73C84C48B54F10131664B573BB4056F3E6776778C447BF74EE9F09A2 + D707622AB9407D95F1E6428F000D5B00FFFA06D5FB8CA685CA8E3307A1D877CA + 6A4C2090860660C66A1537D853160B8FF51AC1E9457E14164AB582AD5787C34F + 5E840CC34E6ED7ECE057B0FD1FC0F4BD0778BDD380EB060B8288103F3B69F8F3 + EB49D36229DBB78A7145556D3F024A5058A973E89B604F86A242B02D7C01AE92 + 636C5303FAD1CFD196667D1B1C1A3741EC9DD348F40597168D6C3F92E2A4A31F + 7DF207306E605E3200E1FF6727C90CAFFF0482645308AD8246DC000000004945 + 4E44AE426082} + Name = 'PngImage12' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000E9C00000E9C01079453DD000003DC4944415478DA + BD947F4C1B6518C79F7BEF8EFBD56BAFC7951F33BA75E9822B88520C88D92C93 + 05C410CA70986D3261B1DB3F261B24D3F92331F2A799C6B0F96B666668165D88 + 12E7FE598CC14C639C43D0988D41B69974DD5A680B584A5B68EFFA7AAD81306C + 8D0BE2935CEE9E7B9FE7FB79DEF779DF97C018C35A1AF1BF020882C81978E004 + A6EB6BA106236D0B42E4BD080045E3AA8A35ECA3587A607709717531F60ECD7F + 0378FFDBF806A9807E2734956898F027A94844054D03C86310701C02AB950B47 + E3DA075D4EEEA5BB069CB898DCC671D03F3E1655BCDE0548A520F3A4D332DFFA + 9BA208D8B2D5047351B5EB48BDD09B13F0E27B41E7A580E5870B3D849AF64F5F + 49BA522AEE1B198E48B11806DE40416C4EBDA380A9192D03E278048D0DE61BDE + 49B2FAE5ED309515B0AFD7838D14FFEE3C6DE9AEAD559B6211AD7F642842A91A + B1243E3D1D85D999202416E2C08B0A30BC5907109999382A045C5E2674B6DAE0 + 93AC8096377EC7452C8F79237DB6AC5CAC1BBA14165329B4243EE10B82DF3B06 + 34237E93C2DA607C36F4B849595F67B26C22B03E0B399F82E626F9B3A76CB027 + 27A0D0600235F9D7325034B5241E0C84E1E6F591A02E7870F058D599F4F87AE7 + 295654882F8B37D434D08CA4C7226869967F7CA6143D9A1320911C305C5EC65F + 140F8713E0B9368C3535F5E4D069D7F9E53DB0EF38D526291BFB8DCAFD603090 + B0C3257DB7A79474660534BF12C0884A81C9844056988C7824A24168D283FDDE + AB472F7FD17164E52EB3B77D7C1FCF291EB9F8613D8F84D656F3B95D25A83927 + E076488375051498440C825E5178568399D0ED9F3DD7475CE35FB97D2B01B627 + 3EB218154B405E570D160B05AD2D52DF4E1BDA97133039A3427AD714EA0D33EA + 907455A169350E40BA075EB37CBA12B0A9ADEF1E91C9BF251557C1462B03CEAD + E25BED65E8705640E5013F9E5767F553A4014AA9A07700B4E43CA49271482EC4 + E7584172FD76A66E7039A0F2D9F35588CCFB49904BC1F1100F763B77F0390779 + 3C2BA0F11830E274805EF4037F3BD731F5428F757EF91FC7DEAFBB04B3ED6D82 + 12A0A9D1A4996554ED76D0C35901FF74D965B347BA6F725AD8F73D27592BD3B9 + 9DED66DF956B0B9547DB8489FF0450D171712F6750FA106D440F3EC0E9CBC39C + 7CBE266FFF5DDFA6D9CCDE71B98867F02F2C5F50C43024EC6C312646C763F6E3 + 9DD28D5503CADB7F1568160D7086C27A8AD42FB97A51CDB75087DD0EAA373DBE + 6A40C5FEB10F395674CB324B6C731A4010D09B7E0FF56ACFD34462D580C70E85 + 369BCC7874730987CB4AD9D1C980FAFA0BDBD9CF97C7AC0AE03C3423EDDA2D9C + 5414FADCAD089CEDAE20FE58199313B016B6E6803F0192C0D6E065D4DD9D0000 + 000049454E44AE426082} + Name = 'PngImage13' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A0000053A4944415478DA + AD956B50546518C79F73CE2ECB5ED9B3ECB22C48800A02CA45101BBCA005D9D4 + 4C17758C6FD57899FAE0D4871AB3CC6B5FD2748CA91877600AB3A949CA4427E3 + A65C1409729565B92CEEB2807B935DD80BECB2B773F6F4420A5841493D33E7D3 + 7BDEDFEF39FFF799F760F058C5601F2BAB443E079B0C077DF250304086432117 + CDC6AD3EA77FACAC6CAF77EAA5B93BB07F8B3EFD55A37872CC95C7E5725E6671 + 584F4570D871188E7182815068D2E3354E38DC17273C8E2B9DC33A4D735599E7 + B10495E76FC63B6CCED7F8A4708F58267A429620C5C4B1628C601310F006C06E + 1A656CF7ECA151B3ADDB366256EA07BB2EFEF4CD19FBF427FF13FCA4F29214A3 + 88BD9218F2CDB4DCA531B1F1122C40B0C11B02A0C37F74C822502A011F63EA37 + 33BACEBB8377BBD5A75B9B7EF956A3B9E15C50B063C77922AF20622B29979CC8 + 29484D4C7F428647E038DCF703BC70E826681A34F0F9B15720398F0452C0000F + 0FC1B0C640AB9A3ABA55ED8DEFFD5C5D797541C1A7E5D5F2E024766C59CEB29D + F96B5388380E0BC351CFEE2040E187B3024516096C1680044958FE71467D4D1D + AAABAE52B65D6F38BAA0E0E8890B05B21871E5AAC28C94D8043926A601F80480 + 651260DB47B382F47C12BC14008ED6A2793458D4FDE196CBB53D576BBE7B635E + C1543C2B32A8ED4B33932A5617670929161F761EB9396F330F6519EB49A06C56 + 4655D3EA3A5B7162DF0282C3112969A9AFA7E7A794E61467478E072360FD66E5 + CC7A6671E634746E4D0956AD2301BC4EE8ACFDD5AF2C3DF2C9BC824D9B0EB30A + 3624EF589EBDBC3CB7389B1F2004A06A76CEAC2B5BFA66BA9E5B1B3693601DB6 + 30B7EB5B3D155F1C2B5DF00C0E1CAE2C8C8E8B399BFB744EA2302E16333B3020 + D08E680EC09EE3B367B0BD98041A4D2A9A5AF08469E8EAE8635A2E5D19BCF07D + D9A90505EF1CA84814F1F92757ADCFDC96929F8A8F4DA2F9F7014421C1C62DCA + 9958B622C154518866754E80A6454D55559EA96F69AA3E3EAF40B57FCB726D50 + C0D2466DD9268D4F7C376B6396589A28C7EC1E0218344D7DEDB371BD84040CC6 + 80C31F64746A1DEABECE5873F9EBB33A9DFAB3BF15B41F78A690C7659A3D9152 + D044AE8500AE08B1F83266C593692C91428A071836BA0470E0A2B1E4A10747E1 + 38C6BD8C65C014EEBCFE9BA3B1EEC7DAB6EB57CA298A6AFB8BA0637FF18B3C11 + 5D91B03A534684ECA0712583C61D0316271EE408E4DEA495295162B904E39242 + 60B1D998DFE367D04507F6210BD577476DBD73BBF9467B5BED799FC7D38470EE + 47041D1F146D1788C22715B9EB92843C0A5CDA4EE8B708A163221E8C7E4269F3 + B0FB2339FC2269AC224D1EAF904444B2591E97276C1A1A720E1B740383035DB7 + 7A7B54F5341DB88D702E987BD94D752E10D3A58ABC8D4922AE7F1A6E30B2C130 + 26048DD50A23E38EE7CBEB354D19196B93A3158A748C2696D1B43F0AC5002EF7 + 98C334ACEFF47ADD030835821EDF432EF630733E9FFA217ECD3A998817828981 + 2ED0E93130B824A0350D41B7590F6E7FF0B9BA2E67CD833DE8E6017410403CE0 + 4C4D68706A90E0CF3F1CD5C1E2A24801D1B0243707F85C149AF60E188609E877 + 4483D6A8875E8BDEE5F4516F35F6B8CEC1220AEB39FE2CB3247B25F0055C14CB + 2D1834B2C0E010836678007AAD7ABBCB1B3C78AD775CB918F8B4A0FE5409B366 + 752A50860E1832A1CC4705A0351B416DEC7721F8FBD7FAC6CF2C163E2D38B4EF + 6D2647781F12682F82F3A0CF6C821EF3008C7A03AF2E36964704BB77EF629688 + F9407A6CE01CB987E006704FFA76D575BBBFFCAFF06941494949915020688811 + F1E15E4F2BD82CFA5D63DDEE732A80D0FF21F81D69327688E78891A000000000 + 49454E44AE426082} + Name = 'PngImage14' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A000005234944415478DA + AD956B4C53671880DF7329BD9CB6B4A5174A454005112F205E16DCD46C3097ED + C7B2690CFFB665BAE80FB3FDD8E2DC8C739AFD984EE3C8326203D9702E5B069B + 139D8E9B82283299454AB9147B81DA9BB4D00BB4F476DAB3AF80896E02D3ED24 + 5F4E4ECEF99EE7FDDEEF7DBF83C1135D0CF6B9BA4E18F2B0C4896848118B46C4 + 8958CC1767E1CE90373C5E59B92F98FCE8E119D8BF459FFAB6553435EE5BC7E5 + B25F23D9E4F3296C56068663EC6824169B0A04AD931EFFF9C980E7728FC5A0BB + 5657197822414DED4D95C7E57D93120BDE11C9848B6599524C942EC208160191 + 6004DCB631C675CF1D1BB3BBFA5CA376B571B8F7FCAFDF9F764F2F7921F809F5 + 05294613FB2472F1DEFCE225F27495048B102C08C600E2899908490265251262 + 6C4376C6D07377F86E9FF65447DBEF3FE87437BCF30A76EEAC25D695A4BC2E56 + 488E1795E465AD582CC353701CEE870106BD00D1F84C0E481C40CC678087C7C0 + A233C7356D5D7D9A5BAD1F5EAAAFB932AFE0CBAA7A45740A3BBAB468E9DB1B36 + E612196C12C311D11F05E81E07F044101F9B192C12408224647882D15ED5C69A + EAEBD49DD75B8ECC2B3872FC5C894C2EAA59B5A520373D53818950C41401E098 + 0218F2CD940B8F35B38A200D80A37769BC3838B44389F68B8DFD571A7EDC33A7 + 20999EE505F48E25ABB3ABD796AD11D024056EEFC2BBC6E502D02E27A369E8F0 + 9DA93EBE7F1EC1E194DCFCBCB7566CC8AD282A2BE44C445360EF6737E704EB5A + 7470E9B73D4071D043D00B3D8D7F84D5159F7E31A760EBD6C364C973393B9715 + 2EAB2A2E2BA422041F4AB6AAE78D3E295009019C1607D3DDDC11A8FEFA68C5BC + 0B3E78B8664B5A86FC4CF10B4559828C74ECBE77E1B6C9498D436FD720D37EE1 + F2F0B99F2A4FCE3BE3FD83D559428A3AB1EAD9D5DB7337E4E1E353A8FE4300A9 + 6C00394A059B98ED83590A8DEE4EEF24E8DAB5745DCDE9E6F6B6FA63730A3407 + B62DD347F9A43E75DB76A92AEB83359BD788A4590ACC1D208041D5244896650A + 2A4FD4033896DC7C063CE12863D01A50F44DD6868BDF9D3118B45F3D5670EBE0 + 8B5B785CE65A8023051D67234470658CA464CCF267F249A1528A4718549B0C0E + 5CB4021E1A3824C03311641C265BA2E7FA9F9ED6A65F1A3BAF5FAEA269BAF31F + 82AE0365AFF284F1EACCB5AB6544CC0D3A5F0EE8FC727078F1289BAF0866AFCC + 4D15292418572C0092C5C2C28130830E3A708F38E8C13B5AE79DEE6B376E7536 + D68602813684F33F22E8FAB874075F9838A12CDE942DE0D1E0D3F7C09043005D + 932AB08609B52BC01AE2B0A95269BA325FA1524A52382C32E00B246C23235E8B + D9601A36F5DE1EE8D734C7E3916E8443ADF850DB2423E78BE215CA759BB385DC + F034DC6C6581795C003AA71346273CAF5435EBDA0A0A36E6A429952BB038B134 + 1E0FA7A23480CF3FEEB1598C3DC1A0DF8450A368841E70B10739A728FA67D5FA + 4D32212F0693A65E30183130FB24A0B78D409FDD08FE70F4E5A65E6FC3EC1CB4 + C5903C2488590E3A57219A2C24F8FB0F4773A8AC94C3275A1615170185DADCAF + BF03660B01439E34D05B8D30E030FABC21FADDD67EDFD9059BE03117D67FEC25 + 6651E14AA0F85C9496DB306C25C1EC1181CE628201A7D1ED0B460F5D1D98503F + 0D7C5AD07CB29C59BF360F6873178CD850CEC7F8A0B75B416B1DF221F8475707 + 274E3F2D7C5AF0C9FEF79822C17DC88C07119C0783761BF4DB4D30168CBCF1B4 + 697944B07BF72E6691880271C005DED17B086E06FF546857539FFF9BFF0A9F16 + 949797970AF8FC16B990827BFD1DE07218778DF7F9CF6A0062FF87E02F9F6855 + 88E7298D620000000049454E44AE426082} + Name = 'PngImage0' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A000005A34944415478DA + 8D960B50546514C7CFBDFB625958DC455049C8074A3C44B490C67C8C5A098A8E + 8E61A0E68C363A4C884C5A3E7240D1F1C13496A58E634FCD0AABC9416DB29C18 + D9626C542052234904158170A10576F7DEBBDF7D75BEBB0B3E82F49BF9CF7767 + F7DCFFEF7CCF731918B8E950C1283B6AB8D96C8C62F5AC4994149EF0A4197F6B + 4575A13894D29F81AAAAC00C601EA6D3416A5090F9F9509B65AA2D3C74C490E8 + C121C19620D6E316E4F616678FCBD973C3E5723B445E2CC7F81A94F7710034EB + B17ABD7E516C42744E424AECA8F8F1234D23C63CC10C8D8900539001BC5E1E5A + 6EFD0DF57537D53F6A1BF9FADAC66B6D8D1DC7144529C3776F51DF8100D43CCD + 1E11B626754A52C69CACA9831252464358B815581DA305CB8A028AAA804F26E0 + 1638686DBBAB5EB9F417549EAA71D6573595096E72103DAEF442EE07B0A8F1B6 + 48EB96CC97A6A72F58362B3866F43046A763FBD2A1C6C5F90ED8F8EEB3C0893C + 78509C28809BF74243FD6DF5E7D2AA9ECB3F5DFF9678C91E0C6FF0FBDF034418 + 0CBA4DF397CE5CBD7CCD7C4B544C24A36391C930BDB940D19A735AE0EB7B9F06 + 0FE1347935103EFB38B8D3D0AE3A3EAD72D59737BD8361FB513DBD0093C1C02E + 9B38257157DE9625914F258F445F06588645E1D46048515E399C2E3D08F372F2 + 20B7244933778B5EF05210422888230234D5DC81F3876B9B3AEA5DEBD1F73402 + 240A181E3ED476287BD5EC3959AFA6B366B34903E8581DF66C9F396D14B0724F + 3CB87D1E70138F96B936020471124E57B7176A8F5F93AE7F7FFB33C9236D4440 + 07CE33A4C7A5C41ECDDF9A13999C1AA7654DB3A7806DF9157DE6BD80FE5AD4AA + 0EE071148244A0F9421B5C3DD2D0E469E65620C0C1982C86E21973D336BF5698 + 6D1844774C20FB9D05950F98D31D24490A88921C90FF39B7E02DB0AF6C418080 + 001F74B5F640DD478DA2EBF79E4259944B98109BE5544E6E46E6E2D5E98CDEA0 + 031617F7ED75171ECB9C2A7F7D21985FB901BCE407705E011A4BEFA8CE739D47 + 245E59C9D822C2AAF28AB3274E9FFB0C43E77EDF869AC736F71109DED85C0CCC + 92BAC0088876465ACF38D5B613CE5F658FFC1C631F32A8A660D7D209A93393B4 + 1D7968F3953E407FA6D243CF9B0A77009F558D009F66EE9345E83CD705EDDF74 + D6CA6E790263B5592A96AD9B37EDC5ECC98C04321045842FB7DE8413C7DE7FA4 + 39ED0B8B77C13F0BCE6BD3A3017C22749C76A9DD673DD58AA0A432C1A1410766 + 2C9A949BB576B60E8218201844213FEC76C1E71FEEFD5F73AAED3B4BA0655E05 + F81040307BA18B40676997CAFF269C54457521C31AD8E58993461F78796346A8 + 2DC61A18A61F72699F0A1FECDFDD6758F06651BFDBB431E34704F8DFE11A04E8 + FECACD49B7E5125556B7D383161F1963FB62F6EA2929492FC4323E55BC079125 + 683C6C85F7DEDEAE01E8822AD957B5E9E051DAB468BDDF5CC445F73838953B2B + FCA276AB5BF01C545240A8C1ACDB903C2B6EFDF455A966A3DD0082ECD3168B42 + 44EC5D47A361CF8E426D41DD8B2EF6ED169A756FE634195F1B016F19D72DD5C9 + 5B41828F11E0E9BDECE22DB6A092B4A5E3D3C7A63FA9978D0AC35388F6B27F67 + E8BF4ED602DB321D81D1899A4445F2F76E51E52A0442CAC5E340A010439BEFBF + 4D8DA8CCC1636D45E316C4260E993458279914C6171809096CBFF09393E166C6 + 59CDD01730A72324682E54119138C845F52E6C432F074A7AB8E0846255586C1F + 655D1B3D6D5842449A5DCFD870573DB026FE7511E994507311FF6B2720541322 + 568BD56A3BD0ABFA3B943050C9B4A266996C8615F6C4B099D6849060D3082303 + 363CD1264583116AEA45E05DEC9B7C2AA9177BA4EBF2192CFD9FE0BB9528FE51 + 45DF801AC31AD9857AAB3ED318AE8F3344E843749178EF5A8021DDA24ADA4549 + 724A3DB24BF95375AB65B8A02703F5587A54D1EF6DF477FAC91285953A99D1C3 + 38303276BC074D8A0CBC4A54271EFACBA8AB18D30EFE4F97FF340AF8172272E4 + FE66E507F40000000049454E44AE426082} + Name = 'PngImage16' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A000005A14944415478DA + 8D960B50546514C7CFBD771FC0C2E22E026A8A2F140145B490C65047AC0445D3 + F111A463A38DE608CA949A1A83864C2AD5E8543A4D33659AD360E3E8A036D958 + 069B943D80C8576E12A8BCC28559D8C7DDBBDF7D75BECB2EBE60F49BF9CFBD77 + F7DCFFEF7CE77B5D06066E1C2A0C65450D0F0D350C6375AC5194141FF19166FC + AD0DD58DE2514A7F06AAAA0233807924C7415A4848E8F31116D30C4B54C4A8D8 + 1183C3C34C21ACC72DC81DAD0E97D3E1FAD7E974DB449F7801E3EB50DE2701D0 + ACC7EB74BA25F14923F29252E3C7244E1E6D1C35EE2966485C341843F4E0F5FA + A0F5F67F60BF7E4BBD56DFE8B3D737DE686FEC3CA6284A05BE7B9BFA0E04A0E6 + E9D6E8C882B48C89D9F396CD1894943A1622A3CCC0728C162C2B0A28AA027E99 + 805BE0A1ADFDAE7AE58F7FA0FA4C9DC35ED35421B8C921F4B81284DC0F605193 + 2D31E6A29CA5B3B216AD9C1316377628C3716C5F3AD4B864A30DB61D781678D1 + 071E142F0AE0F679A1C17E47FDA9BCC675F9879B278997ECC3F0865EFF7B8068 + BD9EDBBE7045E6BA55050B4DC3E262188E4526C30473D12EBB0A2AB5E0B57B13 + C14378F06A201E3C7E1E5A1A3A54DB17354EFB85A6FD18F231CA150418F57A76 + E5D48CE43DF945AFC44C48198DBE0CB00C8BC2D260888A5192224169810DCE96 + 1F820579F9F0D2CE58F02284F68482782240535D0BFCF2697D53A7DDB9197DCF + 2240A280E151432C9FE4AE9D3B6FD96B596C68A85103702C87572C11CB8084CF + 7E4584F736546900DA2824638BB1B70708E2252C578F17EA8FDF906E7E7BE74B + C9236D434027D619B21252E38F6EDC9517939296A0654DB32F2DBCD8EFFCA500 + 3AD892A4C0D2570B21219F0737027CD80B4122D0FC5B3B5C3DD2D0E469E65723 + C0C6184DFA92D9F3D3776C28CED50FA2332690FDBB85D57DD9DEDF82E6A2246B + 5AF5FA56B0AE69458080003F74B7B9E0FA678DA2F32F57B12CCA654CB8C57426 + 6F7D76CEF275598C4ECF01CBB25A0FCADEB8F408E061733170BFBEF06D80BC6B + 1A80F70AD058DEA23A2ABB8E483E650D63898EACC92FC99D3A6BFE338C36B808 + A0A37F606BED038081CCA9FC44822D3B4AA07BF1AFDA1A693BE750DB4F392EC9 + 1EF939C61A3BA8AE70CF8A29699913B5A9884B09449C31878BEC7D80FE4CA587 + EEB7179742FB822A0488D055D90D1D27BAEA65B73C85315B4C552BDF5C30F3C5 + DCE98C0432109C2DA22CC189DD2D1AE049CDDB722AB5ECFD7E113ACF3AD59EF3 + 9E5A4550D298B0889083B3974C5BBF6CD35C0E421820184421DFED75C2A9631F + 3D91792BCD1CEB4F307BA19B405779B7EAFB5338AD8AEA6286D5B3AB92A78D3D + F8F2B6EC084B9CB9370BD4CFFB49BFD3F4C3F7773F98399AD3C1F54BBD89F10D + 02F47CEDE6A53B72992AABBBE9424B8C89B37C35775D46EAC417E219BF2AF641 + 08968ABE4402CF3D4747C2077B77DDCB9C9605CD8580B98883EDB1F12A7F5EB8 + A8F6A8453859AA2920421FCABD95322761F3ACB569A106AB1E04D9AF0D163515 + E5205004B97C02EC2B2DD6CC5B727ED4B20E664E93F1B713F056F03DD27519B3 + 80CF11E0096E7689264B4859FA8AC959E3B346EA6483C2F8E460B77BCD697DC3 + 4E3EAD05DFCAFE5E7BA6A2334EBBBA4595AF1208B9201E0702C518D67CFF6E6A + 40E50C1E6FD93969517C72ECB4C19C6454187FA02724D083A8D3D3D1FCBC66E8 + 0F98D31E1234176A88486CE477F52EBC835E3694F4F0811381A7C272EB18F3A6 + 1133872645A75B758C0567D50363D23B2E222D093517F1BF0E02422D2162AD58 + AB7600DDAABF4109031D9966D41CA345BFDA9A1C99694E0A0F338E323060C195 + 6C543418A1A65E04DEC56B935F2576D125DD94CFE1D17F18DFAD46F91E77E8EB + 51E35803BB5867D6E518A27409FA685D381783FBAE0918D223AAA443942487E4 + 929DCADFAA5BADC0013D1D388FA5C71DFAC1467FA79F2CC3F0A44E617430090C + 8C15B729A322834F25AA0317FD65D4558CE980DE4F97471A05FC0F622CD6FE88 + 2F15D20000000049454E44AE426082} + Name = 'PngImage15' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD252000002814944415478DA + 63FCFFFF3F032D0123C8822F5C7FFED767DC625876E301458645692830B0B2FF + 67E8ECD06184391CCC282EBAF6DFC7478B21AA671BC3F36D5E040DFAF3E71FC3 + EFBF7F19FEFDFB0F66FF01B275A20E32AC28E766F0F2F26250538B63387F7E3A + 235E0B3AD73F25CAD571D6BC60DA28E108C3A783A160365116E07339C4D540FC + 07C1364B3EC6D0E0AFCDF0EBD72F8679F3FA48B7009FE1206C957682A1CA5395 + E1E7AFDF0C4B974CA65E10051AB28169FBACD30CC5CE0A401FFC6658BD6A06F1 + 3E20E4F2DF50BE73DE59862C2B09A0057F18B66C9E4F9C05C41A0E4A45EE8517 + 18524C44C03ED8B573097E0B40C9AF7BE333A282C8550D92DEBD4B2F31C4E9F1 + 03E3E017C3C1FDAB705BF0748B2786EB103EC04CFF3039FF8A2B0CE11A9C601F + 1C3FBA1EB7050F37BAE3351C3DB8FE41732CC882402516B005674F6FC16E0138 + BB032D2107C00C07E583CB1777E1B6E02FD07520853F7FFE82D0504DE86C506A + 8188C1F81039909A5BD7F763B7006678754D0159BE5056B303EB7FFCE038A605 + 6E6EC05CF813E292D6B60A9002AC86FCFEF593E1F7CF9F0CBF8018C4CE2E3A0A + 16BF7DF30083AC822558FFCB6767302DB0B757807BB3BBA70E6C0137373758B3 + 868605C3D9B37B310CFFF3FB17437EF969B805E252266033DEBFB9886981A5A5 + 343C0C274D6A065B2025A5C42029A9C8A0AB6BCD307B563586E1BF81EA4B6A2F + C22D1014D107B3B15A606C2C0A8DC4DF0C336674802D303676061BAEA666C450 + 90EB8461F81F20AE68BE4E9C053ABA02F0208216B70C09097560C385852519C2 + 8395300C07D1B59D77095BC0C8C8C8505478F5BF82222B72718B35CC910DFF07 + CC78F53D0F88B300040C0C32A8D202B87061066A9D4C4B40730B0038C31BFE85 + 5838D40000000049454E44AE426082} + Name = 'PngImage17' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000026D4944415478DA + B5966D48535118C7FF138A455F84588C0A7A27AA1163CDB69168929851CB5806 + 81D5878A7C29412428484264A85006814342E805112DE8436F94F43E74393775 + ABC1552C87B5EA6286B7B01AB4BBD3CE8D0DC57976B7D9038773B8F79CDFEF9C + F33C17AE821082FF198AE982F607CE946C4DCD3731D8D5A2A063FFDA73E4C9FB + 469C8CB0E30A4AF61A928247D660F9D225A8BE7019366F0B0CD595C8186B43AB + 4D9024F322D06E5C8521F75D2CAB2A85E94026E010C00533D1CD09E99D4014C3 + E87CE482F2A717D93B8A305AA381A97F4282D3484B40E1A248F0BAE33486825A + 188D464C0A5FF1A3AA002A9EC0C7837D457957C7124A6A958DD896AF4146C08D + 1B1E23D46A35789E87D56A452010483EC9244C20465A28B27B6767650CFEE5D7 + 38BE8F7F46AF5026C1559BCDB1AA922D48040F0A1E145B57E06C7D2BAEB5DF4B + 4E20176E7778F0F0A54B9E205E0EA6DF793C38DDC463BB5BFE0992D97974DED3 + 9E01798254E0B4745FF47A120BA2354EFB70E47D435D09FE902294177630E1B4 + D95D6FD88243BBB324F8AEEB01E95959A8166F3F4E4137F509CEC515B0AC3922 + C1D7D574CFC8CF95DC050885C370F4FBD88283057A69277432ED2FD51FC5999C + 85F03FE7E00F2A71E7C322D435DF8A9D303A2F3A767939B6C0B253175BD4D556 + 0197E3154EE95663D0FF1B8E491EE50D7D73C2693FE01B660BF6E569638B8E9F + 3886D1110E2B5504872D7AE8CD179970DABCDC085BB027678B34B1F8F604BED9 + CC385FBA1586FD4D33123F179C26DC37FC8E2D28DCAE99B5482E9C464241BE69 + 53CA705982DCAC0DFFEA5F24B36A9C7E132CB82C41B66E3DEE3FEB433AC114D0 + 3F84F988A8E02F75743575B8E251160000000049454E44AE426082} + Name = 'PngImage18' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300004E2000004E2001167D99DE000004124944415478DA + ED955F4C5B551CC77FF7DEFE61D0C204D7758139C15684752C1A565A47D7A983 + 1664449D75337301A7D68D8CBD69F4C11463627858427C30DD8B3A0C8B0FBA10 + 71B8F247470706A6996E93617173C060A56D645DD7526EDBDB7BBCE75E6F2D5A + 46E2E29BBFE4E49ED3F33DDFCFEFFCEE39B7044208FECB20FE07AC0A584DE070 + 38C889EB011345C1101EC798786D77D747DF72DDE46A6B1B0F1E54DE1560B7DB + A57136DB4033B17373FEB9BF262872978F898D5C73B9622B257EB4ED83B1C0B4 + 47BF1280B0B6B6CAD4892C3D4D477873868DD76C543D90A028C9101E47A34BC6 + 1FDD83639916DB6C2D0A2A0785B12E1380686A72C8C91CBA72297A67188B9289 + 64C3E8E0D7BD78D2F4F4B3FB11CB7431887D6ECCD5DB9D09A0B75A7365843494 + E91D70E64D9C790167BEC49B2340F5DF9D397D46D41A6BEA9EA024926F922C6B + 1DEDEBEDCB08D07380827F02083367AE55AAB64522425908966818EEEBE94D5F + BCD56C5EAB9428F2C38CE4D625F797B733012A6A5ECAC9958422CB00369B4D26 + 55AE33B02C72AF64FEA75E3CD724D7D88C6F903B79DBCF9FD7138474940798CD + 6689BAB8CC4800C1671EA7A36F2A08E4CECB96215A921752057D373ADDEE789A + 21A1D168642A5561194B4AF3280449890480610072D7150402B3D7A62E9494B0 + D5119AC100E285A6D71F27097224533233F3334E85E2FEAF064E7DDA2F663F57 + 21DC01DB867AE7A60D9B0EA7EBF3E6273EFB708DFF45DF758F90C9AB47DE30E1 + 9AE3C191B60EB82F0B204803F8170166C3003FCF0661F2633B042309CB956117 + BE60E83897EC6B4E07CC3BDF85503F9DD2FB16A2606F7F14C8DDCDFCDCE9CB1C + 605FF361249A57AA01BC11A189001C18E27ABB06D6CA91B574F3634959B66260 + E709278890E91E9AD737BE550E64FD81947957DD6E200A353A64AA36C13BED1D + B086ABE312B37C0738A83B32686FA900AC1303EB87D5592988BAA41408CBBE94 + F97B1A9D50226EA272E78E277FC03B102314135A20BA1C50AC2DE6C745EB8B40 + D48F3F9805AF580BF9BEDF7B93374FF4B3BC9E8E45B711566BABBCD4A81D2CB6 + D8AB372A05C3585200E02736BF18F2C36F278F7AC747CFD9755BB630EA22ADCB + 70A803B05E1EFE1D2C6D55BC398EEE636C4A3FF4D3F70FF1C7B4EE99BD0F8763 + D1C9E71D9F839CE2DE605096DA0D16E3FADF0E069F5A5CB839525E5E0E1ACD23 + 86ECFCF56EA3FD18B4BCBF19FC37A6F9CCF14E30A82AAA033A112F5B98F9D593 + BA6886DA5A4DD5F6864F2E8C0D544F5D9D4A01B4BA32EFA4E76AF3BCE762FA27 + 9AB4ECDDBFE340E897B37B923EE81CF0420F57B646EE0E8990A2CBC2255EF5FF + 60A548580BF7708F2FB0399344CD87003AF1EFDC1146E9907B01A0D1F1004CCC + 254E70E62FA7CFA543FE3560726B3E3A7BE916EE2A38C0E2DFE731A4A1E21E4A + 745CF86CE838F32B77D3FC01CF05F8A9B438C37F0000000049454E44AE426082} + Name = 'PngImage19' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD252000002F14944415478DA + D596494C135118C7FF25404B03B614098807C1A84823081421EC0112A322211E + B89078E064E2050F9A885E8C8683CB4D0D116334C881C42A1A448301458C0BC4 + 22298A6C6915D9B1EDD0D26576674ADAD8141968C2C1974CBE37F3BDF9FDDEFB + 66DE64643CCF632B9B6CCB051B1DD8D972AB5E08E7098248FCD798D78983A109 + 04F89C10128B8B098487B1E0680A2C4582A53DE07C71651EEFEC51988C49813A + 4EBD718100E7755A13E8DFA3502B59C8927282E134098E7481A11C3050F1988B + CB822A761B3C24B5BE4084E76698E1FC69C0AB4F6158B2F238532B03A9D606C0 + 59CA03561070941B46670C4C09B9881104768713B2F61EE39ACF593EDB87C2AC + 092C7C1F42FF68246AEA4A414C0EA1456FC1C9232CC2637782659855B8001605 + 2CE98191D4602C4E8748A502F61541F0A4DBC89FA8480F80BF7878DB0B9F1B31 + E2DB8F0854D69678E1C3331A704E2B2CF356E469192855D1A0296A55E2718126 + DD18B0A930AAC946A45A29AC60255820C2C5B258C73F63782A1EF21D3A6C978F + E1D70C8D283987FC4C0568B7036F7A1790B68B44B48201CFD26084076F5E64D0 + 33AD06959A8E70B502B6657BA04084A7259B10661B449F51859A737AB01C07FD + DDCB48D698A04D910975A76018F64097AE80FEE957B4F79301AB4FCADD078536 + 01B4503E1B610F5EC1E3E60B981E1FC4A9C6E75E38CB72E0381E2F5B2F41EE1A + 00870814E5A8B06C36E274338DB3D73A71B1F126BE7435F95F98F286725EA190 + 83A2E84081085A85F201705FFFDED57AD41D73F8E177DA063031B51424F049BC + FBC0279082FB72F76F34A0F77D9717CE08D7CD33963505FE8D260AAACB0E6C08 + FEF72444B8989B9AB7490B8E976A438233C2F9ECE2B2B4E068519AF7E607ADDD + FE447555019E757C58F733925F9881058B435A70B82075D333F746E1B0104E69 + 4145DEDE90E062241C6E6941D9A13D5E50DBA3B7FE4455653E3A3A3FAE5BA283 + D9FBE17091D28212DDEE4DCFDCD77793B4B4A030331986916984DA240557AE37 + 850CF7B57F0AFEFBBF8A3FEEF0D2AAE4F624F60000000049454E44AE426082} + Name = 'PngImage20' + Background = clWindow + end> + Bitmap = {} + end + object ViewPopupMenu: TPopupMenu + Images = SmallImages + Left = 72 + Top = 88 + object Modificar1: TMenuItem + Action = actModificar + end + object Eliminar1: TMenuItem + Action = actEliminar + end + object N1: TMenuItem + Caption = '-' + end + object Nuevo1: TMenuItem + Action = actNuevo + end + object N2: TMenuItem + Caption = '-' + end + object Propiedades1: TMenuItem + Action = actPropiedades + end + end + object pngImageNuevo: TPngImageList + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000000F84944415478DA + 63FCFFFF3F03084C59BC03C2200072E33C19616C905E46640372623DF06A06AA + 6198B77413C3F99DD3194936E0DFBF7F0CD396EE62D051576128AAEB031B42B4 + 0120CDBFFFFC6398BD720F43B0A70DC3CD7B2FC0869CDB318D91A00130CDBF7F + FF6558B06E3FD80B3040D00064CDBFFF40F0AA6D47C1722083F01A804D3304FF + 63D8B2EF147E03F06906D13B0F9DC56D0058E16F540D20FC07C607CA1D387911 + BB01E991AE043583F847CF5EC16E4052881341CD207CEAE275EC06C406D813D4 + 0CC2E7AFDEC26E40848F2D41CD20B12B37EF603720D8C38AA06610C069809F8B + 39C3A63D2789C994D80D404EA6C400900100F58BBFF09BC1E25C000000004945 + 4E44AE426082} + Name = 'PngImage0' + Background = clWindow + end> + PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled] + Left = 91 + Top = 224 + Bitmap = {} + end +end diff --git a/Source/ControlesBase/Cliente/uEditorControlesBase.pas b/Source/ControlesBase/Cliente/uEditorControlesBase.pas index 566bb38..3817fac 100644 --- a/Source/ControlesBase/Cliente/uEditorControlesBase.pas +++ b/Source/ControlesBase/Cliente/uEditorControlesBase.pas @@ -9,7 +9,7 @@ uses PngImageList, StdActns, ActnList, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, pngimage, uBizControlesBase, uEditorBase, - uViewControlesBase; + uViewControlesBase, uDAInterfaces; type IEditorControlesBase = interface(IEditorDBBase) diff --git a/Source/ControlesBase/Cliente/uViewControlBase.dfm b/Source/ControlesBase/Cliente/uViewControlBase.dfm index f01fddc..916411a 100644 --- a/Source/ControlesBase/Cliente/uViewControlBase.dfm +++ b/Source/ControlesBase/Cliente/uViewControlBase.dfm @@ -1,6 +1,8 @@ inherited frViewControlBase: TfrViewControlBase Width = 699 Height = 607 + ExplicitWidth = 699 + ExplicitHeight = 607 object TBXMultiDock1: TTBXMultiDock Left = 0 Top = 0 @@ -27,12 +29,12 @@ inherited frViewControlBase: TfrViewControlBase Top = 0 Width = 218 Height = 67 - Align = alTop - AutoSize = True Margins.Left = 4 Margins.Top = 4 Margins.Right = 4 Margins.Bottom = 4 + Align = alTop + AutoSize = True TabOrder = 0 object TBXLink1: TTBXLink Left = 4 @@ -40,6 +42,8 @@ inherited frViewControlBase: TfrViewControlBase Width = 210 Height = 19 Cursor = crHandPoint + Margins.Top = 2 + Margins.Bottom = 2 Align = alTop Font.Charset = DEFAULT_CHARSET Font.Color = clActiveCaption @@ -47,8 +51,6 @@ inherited frViewControlBase: TfrViewControlBase Font.Name = 'Tahoma' Font.Style = [] ImageIndex = 29 - Margins.Top = 2 - Margins.Bottom = 2 ParentColor = True ParentFont = False TabOrder = 0 @@ -60,6 +62,8 @@ inherited frViewControlBase: TfrViewControlBase Width = 210 Height = 20 Cursor = crHandPoint + Margins.Top = 2 + Margins.Bottom = 2 Action = actColumnas Align = alTop Font.Charset = DEFAULT_CHARSET @@ -69,8 +73,6 @@ inherited frViewControlBase: TfrViewControlBase Font.Style = [] ImageIndex = 3 Images = SmallImages - Margins.Top = 2 - Margins.Bottom = 2 ParentColor = True ParentFont = False TabOrder = 1 @@ -82,6 +84,8 @@ inherited frViewControlBase: TfrViewControlBase Width = 210 Height = 20 Cursor = crHandPoint + Margins.Top = 2 + Margins.Bottom = 2 Action = actAgrupaciones Align = alTop Font.Charset = DEFAULT_CHARSET @@ -91,8 +95,6 @@ inherited frViewControlBase: TfrViewControlBase Font.Style = [] ImageIndex = 0 Images = SmallImages - Margins.Top = 2 - Margins.Bottom = 2 ParentColor = True ParentFont = False TabOrder = 2 @@ -124,12 +126,17 @@ inherited frViewControlBase: TfrViewControlBase Align = alClient TabOrder = 0 ReadOnly = False + ExplicitWidth = 210 + ExplicitHeight = 159 inherited lbColumnas: TcxCheckListBox Width = 210 Height = 130 + ExplicitWidth = 210 + ExplicitHeight = 130 end inherited TBXLabel1: TTBXLabel Width = 210 + ExplicitWidth = 210 end end end @@ -151,22 +158,41 @@ inherited frViewControlBase: TfrViewControlBase ParentFont = False TabOrder = 0 ReadOnly = False + ExplicitWidth = 210 + ExplicitHeight = 159 inherited TBXLabel1: TTBXLabel Width = 210 + ExplicitWidth = 210 end inherited pnlAgrupaciones: TTBXAlignmentPanel Width = 210 + ExplicitWidth = 210 DesignSize = ( 210 77) + inherited Label3: TLabel + Width = 74 + ExplicitWidth = 74 + end + inherited Label2: TLabel + Width = 61 + ExplicitWidth = 61 + end + inherited Label1: TLabel + Width = 95 + ExplicitWidth = 95 + end inherited TBXButton1: TTBXButton Width = 97 + ExplicitWidth = 97 end inherited TBXButton3: TTBXButton Width = 97 + ExplicitWidth = 97 end inherited TBXButton2: TTBXButton Width = 97 + ExplicitWidth = 97 end end inherited PopupMenu1: TPopupMenu @@ -230,12 +256,12 @@ inherited frViewControlBase: TfrViewControlBase Top = 0 Width = 218 Height = 48 - Align = alTop - AutoSize = True Margins.Left = 4 Margins.Top = 4 Margins.Right = 4 Margins.Bottom = 4 + Align = alTop + AutoSize = True TabOrder = 0 object bFiltros: TTBXLink Left = 4 @@ -243,6 +269,8 @@ inherited frViewControlBase: TfrViewControlBase Width = 210 Height = 20 Cursor = crHandPoint + Margins.Top = 2 + Margins.Bottom = 2 Action = actFiltros Align = alTop Font.Charset = DEFAULT_CHARSET @@ -252,8 +280,6 @@ inherited frViewControlBase: TfrViewControlBase Font.Style = [] ImageIndex = 1 Images = SmallImages - Margins.Top = 2 - Margins.Bottom = 2 ParentColor = True ParentFont = False TabOrder = 0 @@ -264,6 +290,8 @@ inherited frViewControlBase: TfrViewControlBase Width = 210 Height = 20 Cursor = crHandPoint + Margins.Top = 2 + Margins.Bottom = 2 Action = actSumarios Align = alTop Font.Charset = DEFAULT_CHARSET @@ -273,8 +301,6 @@ inherited frViewControlBase: TfrViewControlBase Font.Style = [] ImageIndex = 2 Images = SmallImages - Margins.Top = 2 - Margins.Bottom = 2 ParentColor = True ParentFont = False TabOrder = 1 @@ -301,12 +327,17 @@ inherited frViewControlBase: TfrViewControlBase Align = alClient TabOrder = 0 ReadOnly = False + ExplicitWidth = 210 + ExplicitHeight = 223 inherited TBXLabel1: TTBXLabel Width = 210 + ExplicitWidth = 210 end inherited vgSumarios: TcxVerticalGrid Width = 210 Height = 194 + ExplicitWidth = 210 + ExplicitHeight = 194 end end end @@ -322,23 +353,32 @@ inherited frViewControlBase: TfrViewControlBase Align = alClient TabOrder = 0 ReadOnly = False + ExplicitWidth = 210 + ExplicitHeight = 223 inherited vgFiltros: TcxVerticalGrid Width = 196 Height = 0 + ExplicitWidth = 196 + ExplicitHeight = 0 inherited vgFiltrosEditorRow1: TcxEditorRow Properties.EditProperties.OnEditValueChanged = nil end end inherited TBXLabel1: TTBXLabel Width = 210 + ExplicitWidth = 210 end inherited cxFilterControl1: TcxFilterControl Width = 210 Height = 164 + ExplicitWidth = 210 + ExplicitHeight = 164 end inherited TBXAlignmentPanel3: TTBXAlignmentPanel Top = 193 Width = 210 + ExplicitTop = 193 + ExplicitWidth = 210 end end end diff --git a/Source/ControlesBase/Cliente/uViewControlesBase.dfm b/Source/ControlesBase/Cliente/uViewControlesBase.dfm index 3237216..061fcfb 100644 --- a/Source/ControlesBase/Cliente/uViewControlesBase.dfm +++ b/Source/ControlesBase/Cliente/uViewControlesBase.dfm @@ -2,10 +2,17 @@ inherited frViewControlesBase: TfrViewControlesBase object EasyListview: TEasyListview Left = 0 Top = 0 - Width = 296 - Height = 216 + Width = 294 + Height = 214 Align = alClient - EditManager.TabMoveFocus = False + BevelKind = bkTile + CacheDoubleBufferBits = False + CellSizes.List.AutoSize = True + EditManager.Font.Charset = DEFAULT_CHARSET + EditManager.Font.Color = clWindowText + EditManager.Font.Height = -11 + EditManager.Font.Name = 'Tahoma' + EditManager.Font.Style = [] UseDockManager = False Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -17,6 +24,11 @@ inherited frViewControlesBase: TfrViewControlesBase GroupFont.Height = -11 GroupFont.Name = 'Tahoma' GroupFont.Style = [] + HintAlignment = taLeftJustify + Header.Columns.Items = { + 0500000001000000110000005445617379436F6C756D6E53746F726564FFFECE + 0005000000800800010000010000000000000121010000000000000000000000 + 00000000000000} Header.Font.Charset = DEFAULT_CHARSET Header.Font.Color = clWindowText Header.Font.Height = -11 @@ -27,10 +39,9 @@ inherited frViewControlesBase: TfrViewControlesBase PaintInfoGroup.BandThickness = 2 PaintInfoGroup.CaptionIndent = 5 PaintInfoGroup.Expandable = False + PaintInfoGroup.MarginBottom.CaptionIndent = 4 ParentFont = False Selection.AlphaBlend = True - Selection.MouseButton = [embLeft, embRight] - Selection.MouseButtonSelRect = [embLeft, embRight] TabOrder = 0 View = elsTile OnItemContextMenu = EasyListviewItemContextMenu diff --git a/Source/ControlesBase/Cliente/uViewControlesBase.dfm.cbk b/Source/ControlesBase/Cliente/uViewControlesBase.dfm.cbk new file mode 100644 index 0000000..0afad52 --- /dev/null +++ b/Source/ControlesBase/Cliente/uViewControlesBase.dfm.cbk @@ -0,0 +1,269 @@ +inherited frViewControlesBase: TfrViewControlesBase + object EasyListview: TEasyListview + Left = 0 + Top = 0 + Width = 294 + Height = 214 + Align = alClient + BevelKind = bkTile + CacheDoubleBufferBits = False + CellSizes.List.AutoSize = True + EditManager.Font.Charset = DEFAULT_CHARSET + EditManager.Font.Color = clWindowText + EditManager.Font.Height = -11 + EditManager.Font.Name = 'Tahoma' + EditManager.Font.Style = [] + UseDockManager = False + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + GroupFont.Charset = DEFAULT_CHARSET + GroupFont.Color = clWindowText + GroupFont.Height = -11 + GroupFont.Name = 'Tahoma' + GroupFont.Style = [] + Header.Font.Charset = DEFAULT_CHARSET + Header.Font.Color = clWindowText + Header.Font.Height = -11 + Header.Font.Name = 'Tahoma' + Header.Font.Style = [] + ImagesLarge = ReportImages + PaintInfoGroup.BandColor = clGradientActiveCaption + PaintInfoGroup.BandThickness = 2 + PaintInfoGroup.CaptionIndent = 5 + PaintInfoGroup.Expandable = False + PaintInfoGroup.MarginBottom.CaptionIndent = 4 + ParentFont = False + Selection.AlphaBlend = True + TabOrder = 0 + View = elsTile + OnItemContextMenu = EasyListviewItemContextMenu + OnItemDblClick = EasyListviewItemDblClick + OnItemSelectionChanged = EasyListviewItemSelectionChanged + end + object ReportImages: TPngImageList + Height = 28 + Width = 28 + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF + 940000000970485973000017120000171201679FD252000002024944415478DA + BDD5DB2E03411800E0E923B870E1CE9D085A940B823894D2489C4FAFE101BC80 + 8444840B89B3D4A954292D8A2855DD5655EB14E205A4570E09BAFB9B5944C7A1 + B335F87727F3CFBF93F976B3995D1500A0FF0C553468D93A9107A4F6D6A8313E + E4F33597AFCBE74BDED93384FCF67E5534F0F181287061F3186A4AD27E74E746 + AB80921213507B471785C604CD1B21A82D4DFF1138B1B48F325393D175F88642 + FF0494F01A46AB07156853D0EDFD0385C604E71D41A82BCB880B1325098922A0 + 699B80CAF2D2D1E35384420F6C7DAA6FC1B9F523A8D7A9E3C6483F6BF7A2EEBE + B14F736282A6F50034E834716392847B51425BDE2B74777F87C2E1B03C6770C2 + C200D73058CE06BFC23ED64C36171B9C5D3D84C68A4C6E8CD4CC6B6E363863F7 + 43933E8B1B23F9A2C3C306A7ED07D0ACCFE6C6486EDD14D8E094CD072D955A0A + 227B8C0550B5D7F1AAD3A7005CC16095961B23BD63D7CF062757BCD05A95C38D + C95BC41D6083C66501DA0CB9DC18694E21A800B40AD062C8E1C6445C77F9426C + 107FF1F13BCCE5C622B8F71C9E28031B2BB4DC18C97DC1333638BEE8863A5D36 + 738F452FFC0ED278E0F4820D8E59F6A0A6348B1B237342E797CAC0EA620D3746 + 421138BAE0024391861B530C8E9877A1B250CD8D290687E777405FA0E6C61483 + 43734E28CFCF90FF65BF114C70D0B40DBD0393BF82BD454CF03FE219EFD39C05 + A47A98E90000000049454E44AE426082} + Name = 'PngImage0' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF + 940000000970485973000017120000171201679FD252000002CB4944415478DA + BDD36F4813711807F0EF4984F5A68108254249648689A961334B8C95342CAD4C + 222D5F66607F2C825E1426B504090A7B636446A00605A624A4258A664EF1DFA6 + 0E97298D72AED3306FCB68A277D7EE3776E9727AB7AB1E381EF8DDFD9ECFEFB9 + E78EE2791EFF33286F90A228E0DA171EB737504AB37E3D48F1DD34A865415556 + 13CF3CD5504AF2AB660D765D3E8F804F15E8A86644F40FF0597D2F59385B69C7 + 8353EBFCCA8FD24611929F8B840C15A0676076AA60187720DBC1514B8227B471 + A0624AC01B2ECACA6CDF05D43C2FC39EE4740C6487E2C0B77982093134F51D21 + 012C7C82728373D5F160344D639AF90A477E0A8269777D130D9C1126F6374096 + E3F0AE220FEF9D3BA056AB0926849DF901AAF028268C3CC17CCE500EE8C1E2F7 + 6F4780B5074F8C6A6C8DD84C30A1539D4E07ABD5EAFB2B5D0816D78CAF08AA1D + 3A119B9C9B01373F8B86E15472CF1B53D4A177671E8C9918839331E2B82E14C1 + 918761785DAA1C94825D2D2AC3E3AA97CA416F6C62D60E8E9D857DD226621DDD + 83A86DEC940F2E35C38533F3850987AA6BEAF2BF43E11FE3381EED95CB77D6DE + 35409E13C0FA961EFF407F3096E5F1A6AD573EE8C15896C3AD829398E3D39197 + FA62454CC84DED0679A080DDA9B591B54DB6EB181C9B41ECCC38FA5497901955 + 2462E7EE772EDA9F16BD8A1CB0A5B35F3A98793056EC4C386D516136AE24AD86 + A5D90C8B3310D59FD7E0ADE1C3929D913DAEABCDF5F1480633526244ACAE3C17 + DDFA56E4C586C160F909FD340D666D1C0A6E3EF489B1AE757DAF493A7844132D + 163A9D93838F23666C0CE611141A066D7C10128EDD5D169B77E52EE39074F050 + 7214D95CDA3885AA1B5A848547226B5F201233EE91E26ECC5DD8F326DCE06FBC + CF342C1DD4EE8D5C74FA85F394820957BF79443A9892B84D11263C631A1E950E + 6AD4118A30216481C9F1E18A30D960D2CE2DA86ED0436948068B4BCA15639E58 + 11FCD7F10B8E341130466CDCF80000000049454E44AE426082} + Name = 'PngImage1' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF + 940000000970485973000017120000171201679FD252000002B14944415478DA + BDD5CB4F13411800F0AF897AF2A0311E8C07F5604C63E9839683040D42A1D098 + D42A8826DEFC070C4AF4E4C1981883C117C13755B02922A505ACB440855829B5 + DB07B5151589070831846C222A242ADD717760B14B6B676991AFBB99D9D96FF7 + 37B3B3D3952084602D439208760E8CE003AE8DDF05C7EC0F6F8B757C1E6F0BF5 + DA9B2608BB6E4B1281E50312801DFDEF90E1E0DE8C7A6E7150B06DEB66A8BE50 + 2740D382F6973174B8489611687EFE0694D29D304D7F17A0FF0564D87B581C7E + 2850EF811F733F05685AD0E68E2263710EAE5FB14D12A173C6ED10671888C711 + B43A2928DE27835FBFE70568C8D920F927D8DEF7161DD1CA458F8CC7B8B2CD15 + 806B0DCD493969416B5F041DD52A568C310C5BC61918087C86D9B959A0691AE7 + 349A3B09602F0B9690C154D8F236ABD34B06DB7A865145A952F41C26C6A9C24D + 820ED87B7D64F0992B8C2A75AAAC46C6B775B9FD64B0D51542C774B959635CDD + D14F91C1A7CE20AA2A530B206E8D910041DBE2718F272802EC66C172754673C8 + 8751B501A3EEC130196CE90EA0E3E59AAC46B650B24BC41721839617143AA1CF + CB1AE3760F1515013A2854A5D7648DC5D9766F304606D97F7C760EF3F045D71D + 5329E7E864FE467CF31DF7C6539E0F566E8179F67AFFF08838B0A2542D6A64BB + 1E4C80A9F8EFB7939E61C07CEB34DCA93D8FF383D10F64F049970F19B5B9C435 + C63DB2DDA6C92590C3462718A0ECD5507FB906E746DE7F2283CD9D43C850A422 + 62DC2393367DC1208F8D8E3330133A0B372E9DC139B18F63E2C043850A8C3D1C + F89A728E0CCAF5B80332F3145CD5489730FA1B827563355077B11AE789029B3A + BC487F409176647C9BC2320DAAA1BB491D5A11F8D83E88CAF6CB89D8C2EB9FBC + 14124314F8C8F61AE90AE45963A24153BB0795E4E7E06FD96A04116CB4BE42F5 + F75B5605E3232DB816F1079F420105E5B916660000000049454E44AE426082} + Name = 'PngImage2' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF + 940000000970485973000017120000171201679FD252000002E14944415478DA + 63FCFFFF3F033D0123B2859B0E5C03734062308CC207423082B2C1F260046177 + 4F9ACF707EE77446640BD03D8462E1C6FD57FFFB3B6A93E5F2E55B4F33488A0A + 3214D5F5A1588AD7C20DFBAEFC0F70D221CBC2A55B4E3218682A30BC7EFB19C5 + 52A22DEC5CFF142E5E1E284D504C86F509838DB13AC3976F3F512CC56BE1FABD + 97FF073AEB92E4B3BFFFFE31FCFDFB9F61D58ED30CCE963A0CBF7EFF41B1F4DC + 8E698C382D5CB7E7D2FF20173D922D03D16B769E61E89FB618430D5E0BD7EEB9 + F83FD8451F23F8B081127F49B865FFFE01E9BFFF180E9CB9C7F0F5DB5786B76F + DF82D5CC5BBA898085BB8116BAEA93E4339865E8626B771C236CE19A5D17FE87 + B819506C19486CC3EE13842D5CBDF3FCFF5077439420454F8D20D5202D208341 + 74B6BB10D8B2C93BDF81B300509821D5818761F3DE53842D5CB5F3DCFF307723 + 8A7C06636FDD7F9AB0852B779CFD1FEE618CE2A3D20029B0013D9B9EA3F8ECDF + 7F089DEECC0FB674FADE8F50710686441B4E865D87CF1261E176A0859EC6703E + C85042BE411143E2EF3D7A9EB0852BB69FF91FE16982E2C3026F71B0017D5B5E + 217CF60FE1C354475EB06533F77F81C7619C251BC3811317095BB87CDBE9FF91 + 5EA614F90C2C0FC4874F5F26C2C2ADA7FF877B99800DE9DEF81CECE25C0F51B0 + 4113B7BF41F1D93F48CDC4906CC705B66CF6C16F701FC698B3301C3B7B85B085 + C0121F1887A614F9EC2F50FC0F903E75E11A711686B819A3C459B69B10D82048 + 3E43F80C9662136C38C0F2F38EFC848B459830329CBD7C83B0854B369FF81FE8 + 6244308FC17C815087E9D38BD76F13B670F1A6E3FFFD9D0CC11A27ED780B8E33 + 483EFB07CC679F507CF60FDAD48806C617C8B2C527FE80C5402058FF2FC3959B + 7788B3D0C7419F229FFD85DA4A94858B361EFBEF65A74FB165445BB870C3D1FF + 1EB67A6459B6EA3C13DC1CA28374C1FA23FFDD6DF428F219493E9CBFEEF07F57 + 2B5D705D460D40D0C2796B0FFD9F327B05552C8301BC16D2030000BD734D0581 + 7DF1720000000049454E44AE426082} + Name = 'PngImage3' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF + 940000000970485973000017120000171201679FD252000001C64944415478DA + 63FCFFFF3F033D01E38059B87CDB699ADB1CE965CA88622150806CC3FE01CDF9 + F7EF3FC3DFBFFF18FEFEFB87C4FECFB06CD32186794B37319CDB310DBF858C33 + 1919823435197EFDFD0BC6BFA134980D34F4C79F3F0C3F81EC3F40F64F201BCC + 07E237515FE196FD03CAADD87284780BC9011FA2BEC12D03D1ABB71D25CE424A + 8211661988BF6EE771D22D644CC4EFDBCF537F30FCF903B1186C21D462107FD3 + 9E9394F9106CE85F245F807CF7F73F56CB40BEDEB2EF146E0B09F9845470A7E9 + 35C3F60367F05BF87F3E224B5E5C69C8A01F7E1E271F19A0CB81CCBA59FF8A61 + D7E1B3F82D4CC830806B2A78C0C030418101271F19A0CB2D987181E17AED0B86 + 3D47CFD3CF8757AA9F33EC3F7E817E3EBC50FE84E1F0E9CBF4F3E1D9D2C70CC7 + CE5EA19F0F4F173F643871FE1AFD7C78A2F001C3E98BD7B15B18EE69C2C09CC4 + 44551F1ECDBBC770EECA4DEC1686BA1B33B0A63053D5878773EE325CB8760BBB + 85412E860C1CE9AC54F5E1FECCDB0C576EDEC16EA1BF933E0377263B557D88D7 + 426F7B5D06FE1C4E066A02BC167ADAE8E02CF149AD2190014E0BDDACB4A86E19 + 5E0B9D2D3419566D3D42D5208501AC16764F9A4F13CB6000C5427A01BA5B0800 + BE8AE7E7F700C7D10000000049454E44AE426082} + Name = 'PngImage4' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF + 940000000970485973000017120000171201679FD2520000020E4944415478DA + 63FCFFFF3F033D0123C842464646086F06034D6CFF9FFE9F11C5C2695326FDEF + 9ED4CFF0A0F801C311EF7D641BFC0F08FFFCFFC5F0FBDF2F300DC2FE4D310CFF + E7A359A8A8A6F8FFFEADFB0C8585850C1BB66E6058B26F1E752CDB15C3C07082 + 01D342980F4100D9329BAD4E382D60636283606636067628FBE1D7470C5BDD57 + C12D0CDE9D84DD425C3E0459986060806A112307030FB310032F8B1098E666E6 + 63E060E201E3A8B61C868D754B2016027D1ABE3783741F225B88CF324E661E86 + C0E60486B5B5F3C096FD065A1AB32F8F7C1F12B20C447B3686302CAB9E0AB610 + E4CBA403E5E4F99018CB40D8B1DE836151653F3C0ED30ED692EEC334430BA22C + 6305261A9B5A278679159D700BB30E3593914A4F90963D669537C32DCC3BDC49 + 9A0F91C19FFFBFC1090196026186FE46E323F06F86A2237DA4F99012CB4072E5 + 47A790EE434296FDFAFF1D21CEF01BA5B4A93D3E97781F622BAA6096FE46E363 + B30C841B4F2C26CE878BF6CDA1D832106E3DB992B00FA9651908779E5A4F9C0F + 67EE9E40B16520F57DA7B712F621B52C03D193CEEC26CE871377B6906DD9CF7F + DFE1EC19E78E10F621BA65BF900C40CE637843018AE79C3F459C0FDBB695E2CD + D0C45806C20B2E5C20EC43522D5B1E7E066B99EAB05800B785E83EACDB9C4991 + CF6080281F52CB32BC16A2FB10D45CA41AC06621A821ACA0AA006E043FB0A6A2 + 65508061213D010026DA8D05688EA69C0000000049454E44AE426082} + Name = 'PngImage5' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF + 940000000970485973000017120000171201679FD252000003474944415478DA + BD946B48536118C79F95140409E62DBB7C083F85084566372135D2F292B74AD3 + CCC44B492C32FC966D5AFA2D2A34E9A236733A9D695EA76B622A998917549CA9 + 980895B75D6995A5DBD9DBD939DBAB23754B9D0FBC9CE7FF1ECEF37BFEEFCB79 + 180821D8C860E8808CDB03CE649E4AAEAB16E214902B033D741D330039AE7B6D + D604637AD8027F500D12A5CA28EF1E0F845EE526386A5F5040026329A055BC08 + 1173EAE5AB21C672E78353768C37D48895D0DBD36B948B9D7221EFE721C89E3F + 029A3C1F06063A8C0D5AE834E99038BB2C007730BBD048FA7E8B029DEF0E812A + E7300DB4BDD98DE4596EAB2EA6256B68B50808420B84965C04A29E863DBEA00D + 5822040AEE59D3C0FCFC853C2E6E657D296A1E4A8AB7601D10FC83825608DB81 + F5560B8A22BFB5395CCACD527B558D1D24902081FEC6C0FCC5EDAE43F8FA8751 + E0DAA64E600935A0280E589D43739D1972417317B01AD4A0E0051A03E3E37BA9 + 82797907CDBAC388C87928E519DF595DD576ACBD7DE5241481B0B51BD80DF320 + E79DA38176CC4E24CB765F77673A985A4340D3077218D4CF81BC24480FBCF111 + C9728E9974187D85006EE166AC432FCCC29BD7DBB03EEDA784C67A1BAC8F7BCD + 500DB474F4035BF007E4A5C134D03EA90D499F7A98ED4CD7F5B20E1769EA3DB9 + DE770D00BBEE37C8F9217AE0B556247D7EF21F87BA1F9AF372618E5E8C9883B2 + D2AD58FB07A940506D8DB5A78F0C5A447658BB9D98A08EB5BD474C0267496028 + 0D74486841925C4F2357A6A68739CE74300DF9ECECFB0469B5BF405616A607C6 + 352149FE29ECF045EE015CB8886B859B08393F0B95E52BDF597BB323D6AEEE5F + A81A3D03C3904E02A506A063AC08CD707CD6D599EE9E0DBA7F6814D2ABBE83B4 + 225C0F8C11A29957675605536BB48BDE2D0D178F7C867BE552905447D3C09DD1 + 023459E80789097D94CBAC272EF8C394E4617C446919FB202D751CEB943BBBE1 + 41E604D6D76FD9C1B3C732AC2F27D2434007BCCF9F8299BA583D30AA067D2B0C + C09D6A34A67F680D61DA992174C00CDE57986E48A081BB222BD11827C0ECE9F1 + 3F300CE48EC3B4288906EE09E5A291E270E094BF3339DE561B9905A330D5C4A4 + 814E5E8FD0B4B5DDDAABAE104E2A194C3627EB8F94045A94A60F0CDCC8D870E0 + 5FA7D4B1F664B3FE1D0000000049454E44AE426082} + Name = 'PngImage6' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF + 940000000970485973000017120000171201679FD252000001084944415478DA + 63FCFFFF3F033D01E3A88534B19031F124ED6DBD7081E1FFF97446B885516106 + 0CEF7E3130ECD870812134D480E1EB1F06862F50FCE937847E71807C390C0B3D + 0220169EDA7681C12BD00045D38B1F1036C3093C72474F31788598E1D4876121 + CD82F2FF3F60C431A15AB874CBC9FF6E969A0C5FBFFF64387AE11E43B48F3956 + BD407564C98180914716C3B91DD310161AA849812DBCFDF82DD52D9CB27807C3 + BCA59B502D549515663875E90E83A0A020568D7FFFFE6558B1FD0C5972D397ED + C6B49016D1F7FBD72F0656363686F7EFDF635A48CB38C41AA4A3714809188DC3 + D1381C8D43E2E21014A42BB71DA3593C6258D83B6521CD2C8301B885F404C3DF + 42005A1A11E70A945A890000000049454E44AE426082} + Name = 'PngImage7' + Background = clWindow + end> + PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled] + Left = 115 + Top = 96 + Bitmap = {} + end + object dsDataTable: TDADataSource + Left = 40 + Top = 96 + end +end diff --git a/Source/ControlesBase/Cliente/uViewControlesBase.pas b/Source/ControlesBase/Cliente/uViewControlesBase.pas index d416cde..9477dcc 100644 --- a/Source/ControlesBase/Cliente/uViewControlesBase.pas +++ b/Source/ControlesBase/Cliente/uViewControlesBase.pas @@ -7,8 +7,8 @@ uses Dialogs, uViewBase, cxGraphics, cxCustomData, cxStyles, cxTL, cxImageComboBox, cxMaskEdit, cxTextEdit, cxInplaceContainer, cxDBTL, cxControls, cxTLData, Menus, uBizControlesBase, DB, uDADataTable, - ImgList, PngImageList, EasyLVCommonObjects, EasyListview, - EasyLVCommonUtilities; + ImgList, PngImageList, uDAInterfaces, MPCommonObjects, EasyListview, + MPCommonUtilities; type IViewControlesBase = interface(IViewBase) @@ -32,12 +32,17 @@ type ReportImages: TPngImageList; dsDataTable: TDADataSource; EasyListview: TEasyListview; - procedure EasyListviewItemDblClick(Sender: TCustomEasyListview; +{ procedure EasyListviewItemDblClick(Sender: TCustomEasyListview; Button: TEasyMouseButton; MousePos: TPoint; - HitInfo: TEasyHitInfoItem); + HitInfo: TEasyHitInfoItem);} + + procedure EasyListviewItemDblClick(Sender: TCustomEasyListview; + Button: TCommonMouseButton; MousePos: TPoint; HitInfo: TEasyHitInfoItem); + procedure EasyListviewItemContextMenu(Sender: TCustomEasyListview; HitInfo: TEasyHitInfoItem; WindowPoint: TPoint; var Menu: TPopupMenu; var Handled: Boolean); + procedure EasyListviewItemSelectionChanged(Sender: TCustomEasyListview; Item: TEasyItem); protected @@ -94,7 +99,7 @@ begin if not Assigned(FControl) then Exit; - EasyListview.BeginUpdate(False); + EasyListview.BeginUpdate; try IDSelected := ''; if EasyListview.Groups.Count > 0 then @@ -171,15 +176,6 @@ begin FPopupMenu := Value; end; -procedure TfrViewControlesBase.EasyListviewItemDblClick( - Sender: TCustomEasyListview; Button: TEasyMouseButton; MousePos: TPoint; - HitInfo: TEasyHitInfoItem); -begin - inherited; - if Assigned(FOnDblClick) then - FOnDblClick(Self); -end; - procedure TfrViewControlesBase.EasyListviewItemContextMenu( Sender: TCustomEasyListview; HitInfo: TEasyHitInfoItem; WindowPoint: TPoint; var Menu: TPopupMenu; var Handled: Boolean); @@ -189,6 +185,15 @@ begin Menu := FPopupMenu; end; +procedure TfrViewControlesBase.EasyListviewItemDblClick( + Sender: TCustomEasyListview; Button: TCommonMouseButton; MousePos: TPoint; + HitInfo: TEasyHitInfoItem); +begin + inherited; + if Assigned(FOnDblClick) then + FOnDblClick(Self); +end; + procedure TfrViewControlesBase.EasyListviewItemSelectionChanged( Sender: TCustomEasyListview; Item: TEasyItem); begin @@ -202,3 +207,4 @@ end; end. + diff --git a/Source/ControlesBase/ControlesBaseD10.bdsproj b/Source/ControlesBase/ControlesBaseD10.bdsproj new file mode 100644 index 0000000..be74bb3 --- /dev/null +++ b/Source/ControlesBase/ControlesBaseD10.bdsproj @@ -0,0 +1,658 @@ + + + + + + + + + + + + ControlesBaseD10.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\Output\Debug\Cliente + ..\Lib + ..\Lib;..\Base + vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7 + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/ControlesBase/ControlesBaseD7.dpk b/Source/ControlesBase/ControlesBaseD10.dpk similarity index 78% rename from Source/ControlesBase/ControlesBaseD7.dpk rename to Source/ControlesBase/ControlesBaseD10.dpk index c9666cc..2c5a651 100644 --- a/Source/ControlesBase/ControlesBaseD7.dpk +++ b/Source/ControlesBase/ControlesBaseD10.dpk @@ -1,4 +1,4 @@ -package ControlesBaseD7; +package ControlesBaseD10; {$R *.res} {$ALIGN 8} @@ -23,47 +23,47 @@ package ControlesBaseD7; {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$RUNONLY} -{$IMPLICITBUILD OFF} +{$IMPLICITBUILD ON} +{$DEFINE DEBUG} requires rtl, vcl, - PngComponentsD7, - DataAbstract_D7, - PNG_D7, - BaseD7, + PngComponentsD10, + PNG_D10, + BaseD10, dbrtl, dsnap, adortl, - JvGlobusD7R, - cxTreeListVCLD7, + JvGlobusD10R, + cxTreeListD10, vclactnband, vclx, - tb2k_d7, - tbx_d7, - JvCoreD7R, + tb2k_D10, + tbx_D10, + JvCoreD10R, vcljpg, Jcl, JclVcl, - JvSystemD7R, - JvPageCompsD7R, - JvStdCtrlsD7R, - dxThemeD7, - cxLibraryVCLD7, - cxExportVCLD7, - cxEditorsVCLD7, - cxDataD7, + JvSystemD10R, + JvPageCompsD10R, + JvStdCtrlsD10R, + dxThemeD10, + cxLibraryD10, + cxExportD10, + cxEditorsD10, + cxDataD10, vcldb, - cxExtEditorsVCLD7, - cxGridVCLD7, - cxPageControlVCLD7, - dxLayoutControlD7, - dxComnD7, - cxVerticalGridVCLD7, - dxPSCoreD7, + cxExtEditorsD10, + cxGridD10, + cxPageControlD10, + dxLayoutControlD10, + dxComnD10, + cxVerticalGridD10, + dxPSCoreD10, VclSmp, bdertl, - EasyListviewD7; + EasyListviewD11; contains uEditorControlesBase in 'Cliente\uEditorControlesBase.pas' {fEditorControlesBase: TCustomEditor}, diff --git a/Source/ControlesBase/ControlesBaseD10.dproj b/Source/ControlesBase/ControlesBaseD10.dproj new file mode 100644 index 0000000..00cee7f --- /dev/null +++ b/Source/ControlesBase/ControlesBaseD10.dproj @@ -0,0 +1,627 @@ + + + {5a36df18-a9b1-4d84-b46c-41d1522c62e2} + ControlesBaseD10.dpk + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Cliente\ControlesBaseD10.bpl + + + 7.0 + False + False + False + True + 0 + 3 + .\ + .\ + .\ + ..\..\Output\Debug\Cliente + ..\Lib + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + RELEASE + + + 7.0 + False + True + 3 + .\ + .\ + .\ + ..\..\Output\Debug\Cliente + ..\Lib + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + DEBUG + + + Delphi.Personality + Package + +FalseTrueFalseTrueFalseTrueC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1030FalseFalseFalseFalseFalse308212521.0.3.01.0.0.0ControlesBaseD10.dpk + CodeGear WebSnap Components + CodeGear SOAP Components + Microsoft Office XP Sample Automation Server Wrapper Components + Microsoft Office 2000 Sample Automation Server Wrapper Components + CodeGear C++Builder Office 2000 Servers Package + CodeGear C++Builder Office XP Servers Package + + + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dmControles
+
+ + +
fEditorControlBase
+
+ +
fEditorControlesBase
+
+ +
frPropiedadesControl
+
+ +
frViewAgrupaciones
+
+ +
frViewColumnas
+
+ +
frViewControlBase
+
+ +
frViewControlesBase
+
+ +
frViewControlGrid
+
+ +
frViewFiltros
+
+ +
frViewParametrosControlGrid
+
+ +
frViewPeriodoFechas
+
+ +
frViewSumarios
+
+ + +
+
+ diff --git a/Source/ControlesBase/ControlesBaseD10.drc b/Source/ControlesBase/ControlesBaseD10.drc new file mode 100644 index 0000000..d1f1368 --- /dev/null +++ b/Source/ControlesBase/ControlesBaseD10.drc @@ -0,0 +1,29 @@ +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +STRINGTABLE +BEGIN +END + +/* C:\Varela_D2007\Source\ControlesBase\Cliente\uFormPropiedadesControl.dfm */ +/* C:\Varela_D2007\Source\ControlesBase\Cliente\uViewControlesBase.dfm */ +/* C:\Varela_D2007\Source\ControlesBase\Cliente\uEditorControlesBase.dfm */ +/* C:\Varela_D2007\Source\ControlesBase\Cliente\uDataModuleControles.dfm */ +/* C:\Varela_D2007\Source\ControlesBase\Cliente\uViewControlGrid.dfm */ +/* C:\Varela_D2007\Source\ControlesBase\Cliente\uViewParametrosControlGrid.dfm */ +/* C:\Varela_D2007\Source\ControlesBase\Cliente\uViewAgrupaciones.dfm */ +/* C:\Varela_D2007\Source\ControlesBase\Cliente\uViewColumnas.dfm */ +/* C:\Varela_D2007\Source\ControlesBase\Cliente\uViewSumarios.dfm */ +/* C:\Varela_D2007\Source\ControlesBase\Cliente\uViewFiltros.dfm */ +/* C:\Varela_D2007\Source\ControlesBase\Cliente\uViewControlBase.dfm */ +/* C:\Varela_D2007\Source\ControlesBase\Cliente\uEditorControlBase.dfm */ +/* C:\Varela_D2007\Source\ControlesBase\Cliente\uViewPeriodoFechas.dfm */ +/* C:\Varela_D2007\Source\ControlesBase\ControlesBaseD10.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf8.tmp */ diff --git a/Source/ControlesBase/ControlesBaseD10.identcache b/Source/ControlesBase/ControlesBaseD10.identcache new file mode 100644 index 0000000..626882e Binary files /dev/null and b/Source/ControlesBase/ControlesBaseD10.identcache differ diff --git a/Source/ControlesBase/ControlesBaseD10.rc b/Source/ControlesBase/ControlesBaseD10.rc new file mode 100644 index 0000000..169f997 --- /dev/null +++ b/Source/ControlesBase/ControlesBaseD10.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,3,0 +PRODUCTVERSION 1,0,3,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.3.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/ControlesBase/ControlesBaseD10.res b/Source/ControlesBase/ControlesBaseD10.res new file mode 100644 index 0000000..784f75e Binary files /dev/null and b/Source/ControlesBase/ControlesBaseD10.res differ diff --git a/Source/ControlesBase/ControlesBaseD7.cfg b/Source/ControlesBase/ControlesBaseD7.cfg deleted file mode 100644 index 2194cf3..0000000 --- a/Source/ControlesBase/ControlesBaseD7.cfg +++ /dev/null @@ -1,45 +0,0 @@ --$A8 --$B- --$C+ --$D+ --$E- --$F- --$G+ --$H+ --$I+ --$J- --$K- --$L+ --$M- --$N+ --$O- --$P+ --$Q- --$R- --$S- --$T- --$U- --$V+ --$W+ --$X+ --$YD --$Z1 --GD --cg --AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; --H+ --W+ --M --$M16384,1048576 --K$00400000 --N".\" --LE"..\..\Output\Cliente" --LN"..\Lib" --U"..\Lib" --O"..\Lib" --I"..\Lib" --R"..\Lib" --Z --w-UNSAFE_TYPE --w-UNSAFE_CODE --w-UNSAFE_CAST diff --git a/Source/ControlesBase/ControlesBaseD7.dof b/Source/ControlesBase/ControlesBaseD7.dof deleted file mode 100644 index ecc675b..0000000 --- a/Source/ControlesBase/ControlesBaseD7.dof +++ /dev/null @@ -1,471 +0,0 @@ -[FileVersion] -Version=7.0 -[Compiler] -A=8 -B=0 -C=1 -D=1 -E=0 -F=0 -G=1 -H=1 -I=1 -J=0 -K=0 -L=1 -M=0 -N=1 -O=0 -P=1 -Q=0 -R=0 -S=0 -T=0 -U=0 -V=1 -W=1 -X=1 -Y=1 -Z=1 -ShowHints=1 -ShowWarnings=1 -UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -NamespacePrefix= -SymbolDeprecated=1 -SymbolLibrary=1 -SymbolPlatform=1 -UnitLibrary=1 -UnitPlatform=1 -UnitDeprecated=1 -HResultCompat=1 -HidingMember=1 -HiddenVirtual=1 -Garbage=1 -BoundsError=1 -ZeroNilCompat=1 -StringConstTruncated=1 -ForLoopVarVarPar=1 -TypedConstVarPar=1 -AsgToTypedConst=1 -CaseLabelRange=1 -ForVariable=1 -ConstructingAbstract=1 -ComparisonFalse=1 -ComparisonTrue=1 -ComparingSignedUnsigned=1 -CombiningSignedUnsigned=1 -UnsupportedConstruct=1 -FileOpen=1 -FileOpenUnitSrc=1 -BadGlobalSymbol=1 -DuplicateConstructorDestructor=1 -InvalidDirective=1 -PackageNoLink=1 -PackageThreadVar=1 -ImplicitImport=1 -HPPEMITIgnored=1 -NoRetVal=1 -UseBeforeDef=1 -ForLoopVarUndef=1 -UnitNameMismatch=1 -NoCFGFileFound=1 -MessageDirective=1 -ImplicitVariants=1 -UnicodeToLocale=1 -LocaleToUnicode=1 -ImagebaseMultiple=1 -SuspiciousTypecast=1 -PrivatePropAccessor=1 -UnsafeType=0 -UnsafeCode=0 -UnsafeCast=0 -[Linker] -MapFile=3 -OutputObjs=0 -ConsoleApp=1 -DebugInfo=0 -RemoteSymbols=0 -MinStackSize=16384 -MaxStackSize=1048576 -ImageBase=4194304 -ExeDescription= -[Directories] -OutputDir= -UnitOutputDir=.\ -PackageDLLOutputDir=..\..\Output\Cliente -PackageDCPOutputDir=..\Lib -SearchPath=..\Lib -Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7 -Conditionals= -DebugSourceDirs= -UsePackages=0 -[Parameters] -RunParams= -HostApplication= -Launcher= -UseLauncher=0 -DebugCWD= -[Language] -ActiveLang= -ProjectLang= -RootDir=C:\Archivos de programa\Borland\Delphi7\Bin\ -[Version Info] -IncludeVerInfo=1 -AutoIncBuild=0 -MajorVer=1 -MinorVer=0 -Release=3 -Build=0 -Debug=0 -PreRelease=0 -Special=0 -Private=0 -DLL=0 -Locale=3082 -CodePage=1252 -[Version Info Keys] -CompanyName= -FileDescription= -FileVersion=1.0.3.0 -InternalName= -LegalCopyright= -LegalTrademarks= -OriginalFilename= -ProductName= -ProductVersion=1.0.0.0 -Comments= -[Excluded Packages] -c:\archivos de programa\borland\delphi7\Bin\designdgm70.bpl=Borland Module Diagram Editview -T:\BPL_D7\dxPSCoreD7.bpl=ExpressPrinting System by Developer Express Inc. -[HistoryLists\hlUnitAliases] -Count=1 -Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -[HistoryLists\hlSearchPath] -Count=1 -Item0=..\Lib -[HistoryLists\hlUnitOutputDirectory] -Count=1 -Item0=.\ -[HistoryLists\hlBPLOutput] -Count=1 -Item0=..\..\Output\Cliente -[HistoryLists\hlDCPOutput] -Count=1 -Item0=..\Lib -[Exception Log] -EurekaLog Version=519 -Activate=1 -Activate Handle=1 -Save Log File=1 -Foreground Tab=0 -Freeze Activate=0 -Freeze Timeout=0 -Freeze Message=The application seems to be frozen. -SMTP From=eurekalog@email.com -SMTP Host= -SMTP Port=25 -SMTP UserID= -SMTP Password= -Append to Log=0 -Show TerminateBtn=1 -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= -Count=0 -EMail Message Line Count=0 -loNoDuplicateErrors=0 -loAppendReproduceText=0 -loDeleteLogAtVersionChange=0 -loAddComputerNameInLogFileName=0 -loSaveModulesSection=1 -loSaveCPUSection=1 -soAppStartDate=1 -soAppName=1 -soAppVersionNumber=1 -soAppParameters=1 -soAppCompilationDate=1 -soExcDate=1 -soExcAddress=1 -soExcModule=1 -soExcType=1 -soExcMessage=1 -soActCtlsFormClass=1 -soActCtlsFormText=1 -soActCtlsControlClass=1 -soActCtlsControlText=1 -soCmpName=1 -soCmpUser=1 -soCmpTotalMemory=1 -soCmpFreeMemory=1 -soCmpTotalDisk=1 -soCmpFreeDisk=1 -soCmpSysUpTime=1 -soCmpProcessor=1 -soCmpDisplayMode=1 -soOSType=1 -soOSBuildN=1 -soOSUpdate=1 -soOSLanguage=1 -soNetIP=1 -soNetSubmask=1 -soNetGateway=1 -soNetDNS1=1 -soNetDNS2=1 -soNetDHCP=1 -sndShowSendDialog=1 -sndShowSuccessFailureMsg=0 -sndSendEntireLog=0 -sndSendXMLLogCopy=0 -sndSendScreenshot=0 -sndUseOnlyActiveWindow=0 -sndSendLastHTMLPage=1 -sndSendInSeparatedThread=0 -sndAddDateInFileName=0 -sndCompressAllFiles=0 -edoShowExceptionDialog=1 -edoSendEmailChecked=1 -edoAttachScreenshotChecked=1 -edoShowCopyToClipOption=1 -edoShowDetailsButton=1 -edoShowInDetailedMode=0 -edoShowInTopMostMode=0 -edoUseEurekaLogLookAndFeel=1 -csoShowDLLs=1 -csoShowBPLs=1 -csoShowBorlandThreads=1 -csoShowWindowsThreads=1 -csoShowProcedureOffset=0 -boActivateCrashDetection=0 -boPauseBorlandThreads=0 -boDoNotPauseMainThread=0 -boPauseWindowsThreads=0 -boUseMainModuleOptions=1 -boCopyLogInCaseOfError=1 -boSaveCompressedCopyInCaseOfError=0 -Count mtInformationMsgCaption=1 -mtInformationMsgCaption0="Information." -Count mtQuestionMsgCaption=1 -mtQuestionMsgCaption0="Question." -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_CPUCaption=1 -mtDialog_CPUCaption0="CPU" -Count mtDialog_CPUHeader=1 -mtDialog_CPUHeader0="CPU Information" -Count mtDialog_CustomDataCaption=1 -mtDialog_CustomDataCaption0="Other" -Count mtDialog_CustomDataHeader=1 -mtDialog_CustomDataHeader0="Other 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_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 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_ExcHeader=1 -mtLog_ExcHeader0="Exception" -Count mtLog_ExcDate=1 -mtLog_ExcDate0="Date" -Count mtLog_ExcAddress=1 -mtLog_ExcAddress0="Address" -Count mtLog_ExcModule=1 -mtLog_ExcModule0="Module" -Count mtLog_ExcType=1 -mtLog_ExcType0="Type" -Count mtLog_ExcMessage=1 -mtLog_ExcMessage0="Message" -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_CmpUser=1 -mtLog_CmpUser0="User" -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_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_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 mtSendDialog_Caption=1 -mtSendDialog_Caption0="Send." -Count mtSendDialog_Message=1 -mtSendDialog_Message0="Message" -Count mtSendDialog_Resolving=1 -mtSendDialog_Resolving0="Resolving DNS..." -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 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 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." - - diff --git a/Source/ControlesBase/ControlesBaseD7.drc b/Source/ControlesBase/ControlesBaseD7.drc deleted file mode 100644 index a5d5271..0000000 --- a/Source/ControlesBase/ControlesBaseD7.drc +++ /dev/null @@ -1,14 +0,0 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler - because -GD or --drc was supplied to the compiler. - - This file contains compiler-generated resources that - were bound to the executable. - If this file is empty, then no compiler-generated - resources were bound to the produced executable. -*/ - -STRINGTABLE -BEGIN -END - diff --git a/Source/ControlesBase/ControlesBaseD7.res b/Source/ControlesBase/ControlesBaseD7.res deleted file mode 100644 index b1dc5fd..0000000 Binary files a/Source/ControlesBase/ControlesBaseD7.res and /dev/null differ diff --git a/Source/ControlesBase/Servidor/srvControles_Impl.dfm b/Source/ControlesBase/Servidor/srvControles_Impl.dfm index f0d8e34..b5cd583 100644 --- a/Source/ControlesBase/Servidor/srvControles_Impl.dfm +++ b/Source/ControlesBase/Servidor/srvControles_Impl.dfm @@ -4,8 +4,10 @@ object srvControles: TsrvControles AcquireConnection = True ServiceSchema = schControles ServiceAdapter = DABINAdapter - Left = 677 - Top = 321 + OnAfterProcessTransactionAction = pptaNone + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] Height = 297 Width = 298 object schControles: TDASchema @@ -18,9 +20,7 @@ object srvControles: TsrvControles item Name = 'CATEGORIA' DataType = datString - Size = 15 - BlobType = dabtUnknown - Value = 'VENTAS' + Value = 'vebyas' ParamType = daptInput end> Statements = < @@ -71,101 +71,46 @@ object srvControles: TsrvControles item Name = 'ID' DataType = datAutoInc - BlobType = dabtUnknown Required = True - DisplayWidth = 0 - Alignment = taLeftJustify ServerAutoRefresh = True InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CATEGORIA' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'MODIFICABLE' DataType = datString Size = 1 - BlobType = dabtUnknown DefaultValue = 'S' - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ICONO' - DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + DataType = datSmallInt end item Name = 'NOMBRE' DataType = datString Size = 50 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DESCRIPCION' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ORDEN' - DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False + DataType = datSmallInt end item Name = 'VISTA' DataType = datMemo - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = < item Params = < @@ -173,7 +118,6 @@ object srvControles: TsrvControles Name = 'CATEGORIA' DataType = datString Size = 15 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -181,14 +125,12 @@ object srvControles: TsrvControles Name = 'MODIFICABLE' DataType = datString Size = 1 - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'ICONO' DataType = datInteger - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -196,7 +138,6 @@ object srvControles: TsrvControles Name = 'NOMBRE' DataType = datString Size = 50 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -204,21 +145,18 @@ object srvControles: TsrvControles Name = 'DESCRIPCION' DataType = datString Size = 255 - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'ORDEN' DataType = datInteger - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'VISTA' DataType = datMemo - BlobType = dabtUnknown Value = '' ParamType = daptInput end> @@ -241,7 +179,6 @@ object srvControles: TsrvControles Name = 'CATEGORIA' DataType = datString Size = 15 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -249,14 +186,12 @@ object srvControles: TsrvControles Name = 'MODIFICABLE' DataType = datString Size = 1 - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'ICONO' DataType = datInteger - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -264,7 +199,6 @@ object srvControles: TsrvControles Name = 'NOMBRE' DataType = datString Size = 50 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -272,28 +206,24 @@ object srvControles: TsrvControles Name = 'DESCRIPCION' DataType = datString Size = 255 - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'ORDEN' DataType = datInteger - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'VISTA' DataType = datMemo - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'OLD_ID' DataType = datInteger - BlobType = dabtUnknown Value = '' ParamType = daptInput end> @@ -313,6 +243,7 @@ object srvControles: TsrvControles end> RelationShips = <> UpdateRules = <> + Version = 0 Left = 40 Top = 24 end @@ -321,7 +252,7 @@ object srvControles: TsrvControles InsertCommandName = 'Insert_ControlesPorCategoria' UpdateCommandName = 'Update_ControlesPorCategoria' ReferencedDataset = 'ListaControlesPorCategoria' - ProcessorOptions = [poAutoGenerateDelete, poAutoGenerateRefreshDataset, poPrepareCommands] + ProcessorOptions = [poAutoGenerateDelete, poAutoGenerateRefreshDataset, poPrepareCommands, poIgnoreRowsAffected] UpdateMode = updWhereKeyOnly Left = 144 Top = 24 diff --git a/Source/ControlesBase/Servidor/srvControles_Impl.pas b/Source/ControlesBase/Servidor/srvControles_Impl.pas index 3ac9c3f..c4dbf0b 100644 --- a/Source/ControlesBase/Servidor/srvControles_Impl.pas +++ b/Source/ControlesBase/Servidor/srvControles_Impl.pas @@ -13,16 +13,16 @@ uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, {Ancestor Implementation:} DARemoteService_Impl, - {Used RODLs:} DataAbstract_Intf, + {Used RODLs:} DataAbstract3_Intf, {Generated:} VARELA_Intf, uDAScriptingProvider, uDABusinessProcessor, - uDAClasses, uDADataTable, uDABINAdapter; + uDAClasses, uDADataTable, uDABINAdapter, uDADataStreamer; type { TsrvControles } TsrvControles = class(TDARemoteService, IsrvControles) bpControles: TDABusinessProcessor; - schControles: TDASchema; DABINAdapter: TDABINAdapter; + schControles: TDASchema; private protected { IsrvControles methods } diff --git a/Source/DataAbstract_D7/DataAbstract_D7.cfg b/Source/DataAbstract_D7/DataAbstract_D7.cfg deleted file mode 100644 index f105ebf..0000000 --- a/Source/DataAbstract_D7/DataAbstract_D7.cfg +++ /dev/null @@ -1,38 +0,0 @@ --$A8 --$B- --$C+ --$D+ --$E- --$F- --$G+ --$H+ --$I+ --$J- --$K- --$L+ --$M- --$N+ --$O+ --$P+ --$Q- --$R- --$S- --$T- --$U- --$V+ --$W- --$X+ --$YD --$Z1 --GD --cg --AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; --H+ --W+ --M --$M16384,1048576 --K$00400000 --N".\" --LE"..\..\Output\Cliente" --LN"..\Lib" --Z diff --git a/Source/DataAbstract_D7/DataAbstract_D7.dof b/Source/DataAbstract_D7/DataAbstract_D7.dof deleted file mode 100644 index 8a91c80..0000000 --- a/Source/DataAbstract_D7/DataAbstract_D7.dof +++ /dev/null @@ -1,467 +0,0 @@ -[FileVersion] -Version=7.0 -[Compiler] -A=8 -B=0 -C=1 -D=1 -E=0 -F=0 -G=1 -H=1 -I=1 -J=0 -K=0 -L=1 -M=0 -N=1 -O=1 -P=1 -Q=0 -R=0 -S=0 -T=0 -U=0 -V=1 -W=0 -X=1 -Y=1 -Z=1 -ShowHints=1 -ShowWarnings=1 -UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -NamespacePrefix= -SymbolDeprecated=1 -SymbolLibrary=1 -SymbolPlatform=1 -UnitLibrary=1 -UnitPlatform=1 -UnitDeprecated=1 -HResultCompat=1 -HidingMember=1 -HiddenVirtual=1 -Garbage=1 -BoundsError=1 -ZeroNilCompat=1 -StringConstTruncated=1 -ForLoopVarVarPar=1 -TypedConstVarPar=1 -AsgToTypedConst=1 -CaseLabelRange=1 -ForVariable=1 -ConstructingAbstract=1 -ComparisonFalse=1 -ComparisonTrue=1 -ComparingSignedUnsigned=1 -CombiningSignedUnsigned=1 -UnsupportedConstruct=1 -FileOpen=1 -FileOpenUnitSrc=1 -BadGlobalSymbol=1 -DuplicateConstructorDestructor=1 -InvalidDirective=1 -PackageNoLink=1 -PackageThreadVar=1 -ImplicitImport=1 -HPPEMITIgnored=1 -NoRetVal=1 -UseBeforeDef=1 -ForLoopVarUndef=1 -UnitNameMismatch=1 -NoCFGFileFound=1 -MessageDirective=1 -ImplicitVariants=1 -UnicodeToLocale=1 -LocaleToUnicode=1 -ImagebaseMultiple=1 -SuspiciousTypecast=1 -PrivatePropAccessor=1 -UnsafeType=1 -UnsafeCode=1 -UnsafeCast=1 -[Linker] -MapFile=3 -OutputObjs=0 -ConsoleApp=1 -DebugInfo=0 -RemoteSymbols=0 -MinStackSize=16384 -MaxStackSize=1048576 -ImageBase=4194304 -ExeDescription= -[Directories] -OutputDir= -UnitOutputDir=.\ -PackageDLLOutputDir=..\..\Output\Cliente -PackageDCPOutputDir=..\Lib -SearchPath= -Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7 -Conditionals= -DebugSourceDirs= -UsePackages=0 -[Parameters] -RunParams= -HostApplication= -Launcher= -UseLauncher=0 -DebugCWD= -[Language] -ActiveLang= -ProjectLang= -RootDir= -[Version Info] -IncludeVerInfo=1 -AutoIncBuild=0 -MajorVer=1 -MinorVer=0 -Release=0 -Build=0 -Debug=0 -PreRelease=0 -Special=0 -Private=0 -DLL=0 -Locale=3082 -CodePage=1252 -[Version Info Keys] -CompanyName= -FileDescription= -FileVersion=1.0.0.0 -InternalName= -LegalCopyright= -LegalTrademarks= -OriginalFilename= -ProductName= -ProductVersion=1.0.0.0 -[Excluded Packages] -c:\archivos de programa\borland\delphi7\Bin\designdgm70.bpl=Borland Module Diagram Editview -T:\BPL_D7\dxPSCoreD7.bpl=ExpressPrinting System by Developer Express Inc. -[HistoryLists\hlUnitAliases] -Count=1 -Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -[HistoryLists\hlUnitOutputDirectory] -Count=1 -Item0=.\ -[HistoryLists\hlBPLOutput] -Count=1 -Item0=..\..\Output\Cliente -[HistoryLists\hlDCPOutput] -Count=1 -Item0=..\Lib -[Exception Log] -EurekaLog Version=519 -Activate=1 -Activate Handle=1 -Save Log File=1 -Foreground Tab=0 -Freeze Activate=0 -Freeze Timeout=60 -Freeze Message=The application seems to be frozen. -SMTP From=eurekalog@email.com -SMTP Host= -SMTP Port=25 -SMTP UserID= -SMTP Password= -Append to Log=0 -Show TerminateBtn=1 -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= -Count=0 -EMail Message Line Count=0 -loNoDuplicateErrors=0 -loAppendReproduceText=0 -loDeleteLogAtVersionChange=0 -loAddComputerNameInLogFileName=0 -loSaveModulesSection=1 -loSaveCPUSection=1 -soAppStartDate=1 -soAppName=1 -soAppVersionNumber=1 -soAppParameters=1 -soAppCompilationDate=1 -soExcDate=1 -soExcAddress=1 -soExcModule=1 -soExcType=1 -soExcMessage=1 -soActCtlsFormClass=1 -soActCtlsFormText=1 -soActCtlsControlClass=1 -soActCtlsControlText=1 -soCmpName=1 -soCmpUser=1 -soCmpTotalMemory=1 -soCmpFreeMemory=1 -soCmpTotalDisk=1 -soCmpFreeDisk=1 -soCmpSysUpTime=1 -soCmpProcessor=1 -soCmpDisplayMode=1 -soOSType=1 -soOSBuildN=1 -soOSUpdate=1 -soOSLanguage=1 -soNetIP=1 -soNetSubmask=1 -soNetGateway=1 -soNetDNS1=1 -soNetDNS2=1 -soNetDHCP=1 -sndShowSendDialog=1 -sndShowSuccessFailureMsg=0 -sndSendEntireLog=0 -sndSendXMLLogCopy=0 -sndSendScreenshot=1 -sndUseOnlyActiveWindow=0 -sndSendLastHTMLPage=1 -sndSendInSeparatedThread=0 -sndAddDateInFileName=0 -sndCompressAllFiles=0 -edoShowExceptionDialog=1 -edoSendEmailChecked=1 -edoAttachScreenshotChecked=1 -edoShowCopyToClipOption=1 -edoShowDetailsButton=1 -edoShowInDetailedMode=0 -edoShowInTopMostMode=0 -edoUseEurekaLogLookAndFeel=0 -csoShowDLLs=1 -csoShowBPLs=1 -csoShowBorlandThreads=1 -csoShowWindowsThreads=1 -csoShowProcedureOffset=0 -boActivateCrashDetection=0 -boPauseBorlandThreads=0 -boDoNotPauseMainThread=0 -boPauseWindowsThreads=0 -boUseMainModuleOptions=1 -boCopyLogInCaseOfError=1 -boSaveCompressedCopyInCaseOfError=0 -Count mtInformationMsgCaption=1 -mtInformationMsgCaption0="Information." -Count mtQuestionMsgCaption=1 -mtQuestionMsgCaption0="Question." -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_CPUCaption=1 -mtDialog_CPUCaption0="CPU" -Count mtDialog_CPUHeader=1 -mtDialog_CPUHeader0="CPU Information" -Count mtDialog_CustomDataCaption=1 -mtDialog_CustomDataCaption0="Other" -Count mtDialog_CustomDataHeader=1 -mtDialog_CustomDataHeader0="Other 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_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 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_ExcHeader=1 -mtLog_ExcHeader0="Exception" -Count mtLog_ExcDate=1 -mtLog_ExcDate0="Date" -Count mtLog_ExcAddress=1 -mtLog_ExcAddress0="Address" -Count mtLog_ExcModule=1 -mtLog_ExcModule0="Module" -Count mtLog_ExcType=1 -mtLog_ExcType0="Type" -Count mtLog_ExcMessage=1 -mtLog_ExcMessage0="Message" -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_CmpUser=1 -mtLog_CmpUser0="User" -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_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_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 mtSendDialog_Caption=1 -mtSendDialog_Caption0="Send." -Count mtSendDialog_Message=1 -mtSendDialog_Message0="Message" -Count mtSendDialog_Resolving=1 -mtSendDialog_Resolving0="Resolving DNS..." -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 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 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." - - diff --git a/Source/DataAbstract_D7/DataAbstract_D7.dpk b/Source/DataAbstract_D7/DataAbstract_D7.dpk deleted file mode 100644 index 82aecbb..0000000 --- a/Source/DataAbstract_D7/DataAbstract_D7.dpk +++ /dev/null @@ -1,57 +0,0 @@ -package DataAbstract_D7; - -{$R *.res} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO ON} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - vcl, - rtl, - dbrtl, - dsnap; - -contains - uDADataTable, - uDABINAdapter, - uDAScriptingProvider, - uDACDSDataTable, - uDARegExpr, - uDAInterfaces, - uDARes, - uDAClasses, - uDAEngine, - uDAHelpers, - uDAInterfacesEx, - uDAMacros, - uDAUtils, - uDADriverManager, - uDASupportClasses, - uDAXMLUtils, - DataAbstract_Intf, - uDAClientDataModule, - uDABusinessProcessor, - uDAOracleInterfaces, - uDADesigntimeCall; - -end. diff --git a/Source/DataAbstract_D7/DataAbstract_D7.drc b/Source/DataAbstract_D7/DataAbstract_D7.drc deleted file mode 100644 index 04b8dcc..0000000 --- a/Source/DataAbstract_D7/DataAbstract_D7.drc +++ /dev/null @@ -1,400 +0,0 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler - because -GD or --drc was supplied to the compiler. - - This file contains compiler-generated resources that - were bound to the executable. - If this file is empty, then no compiler-generated - resources were bound to the produced executable. -*/ - -#define uDARes_err_ExecuteSQLCommandNotAllowed 65328 -#define uDARes_err_FieldIsNotBound 65344 -#define uDARes_err_CannotFindField 65345 -#define uDARes_err_LoadPackageFailed 65346 -#define uDARes_err_InvalidDriverReference 65347 -#define uDARes_err_CannotFindStatement 65348 -#define uDARes_err_CannotFindDefaultItem 65349 -#define uDARes_err_PoolIsNotEmpty 65350 -#define uDARes_err_MaxPoolSizeReached 65351 -#define uDARes_err_CannotAccessThisProperty 65352 -#define uDARes_err_LAMEDataset 65353 -#define uDARes_err_DARDMInvalidSchema 65354 -#define uDARes_err_DARDMMissingConnectionName 65355 -#define uDARes_err_DARDMUnassignedAdapter 65356 -#define uDARes_err_DARDMConnectionIsNotAssigned 65357 -#define uDARes_err_DARDMCannotFindProxessorForDelta 65358 -#define uDARes_err_NeedShareMem 65359 -#define uDARes_err_DriverManagerNotAssigned 65360 -#define uDARes_err_ConnectionManagerNotAssigned 65361 -#define uDARes_err_FieldTypeNotSupported 65362 -#define uDARes_err_NotSupported 65363 -#define uDARes_err_DataTypeNotSupportedByRemoteRequest 65364 -#define uDARes_err_InvalidDataset 65365 -#define uDARes_err_CannotMakeNILDefault 65366 -#define uDARes_err_DifferentOwnerCollection 65367 -#define uDARes_err_CannotFindItem 65368 -#define uDARes_err_InvalidCollectionType 65369 -#define uDARes_err_InvalidOwner 65370 -#define uDARes_err_DriverAlreadyLoaded 65371 -#define uDARes_err_DriverIsNotLoaded 65372 -#define uDARes_err_InvalidDLL 65373 -#define uDARes_err_UnknownDriver 65374 -#define uDARes_err_UnknownParameter 65375 -#define uRODECConst_sInvalidCalc 65376 -#define uRODECConst_sInvalidDictionary 65377 -#define uRODECConst_sOTPIdent 65378 -#define uRODECConst_sOTPExt 65379 -#define uRODECConst_sOTPWord 65380 -#define uRODECConst_sOTPHex 65381 -#define uRODECConst_sSKeyIdent 65382 -#define uDARes_err_ChangeLogAlreadyStarted 65383 -#define uDARes_err_NotAttachedToDataTable 65384 -#define uDARes_err_DeltaAttachedToDataTable 65385 -#define uDARes_err_DriverProcAlreadyRegistered 65386 -#define uDARes_err_DriverManagerNotCreated 65387 -#define uDARes_err_DriverManagerAlreadyCreated 65388 -#define uDARes_err_DatasetNotAssigned 65389 -#define uDARes_err_VariantNotSupported 65390 -#define uDARes_err_InvalidDestination 65391 -#define uRODECConst_sLoadFail 65392 -#define uRODECConst_sParams 65393 -#define uRODECConst_sJacobi 65394 -#define uRODECConst_sSPPrime 65395 -#define uRODECConst_sSetPrime 65396 -#define uRODECConst_sSetPrimeSize 65397 -#define uRODECConst_sSetPrimeParam 65398 -#define uRODECConst_sSqrt 65399 -#define uRODECConst_sExpMod 65400 -#define uRODECConst_sCalcName 65401 -#define uRODECConst_sInvalidState 65402 -#define uRODECConst_sIDOutOfRange 65403 -#define uRODECConst_sInvalidZIPData 65404 -#define uRODECConst_sInvalidChallenge 65405 -#define uRODECConst_sInvalidPassword 65406 -#define uRODECConst_sInvalidSeed 65407 -#define uRODECConst_sNotInitialized 65408 -#define uRODECConst_sInvalidMACMode 65409 -#define uRODECConst_sCantCalc 65410 -#define uRODECConst_sInvalidRandomStream 65411 -#define uRODECConst_sRandomDataProtected 65412 -#define uRODECConst_sBBSnotSeekable 65413 -#define uRODECConst_sBigNumDestroy 65414 -#define uRODECConst_sIndexOutOfRange 65415 -#define uRODECConst_sBigNumAborted 65416 -#define uRODECConst_sErrGeneric 65417 -#define uRODECConst_sErrAsInteger 65418 -#define uRODECConst_sErrAsComp 65419 -#define uRODECConst_sErrAsFloat 65420 -#define uRODECConst_sNumberFormat 65421 -#define uRODECConst_sDivByZero 65422 -#define uRODECConst_sStackIndex 65423 -#define uRORes_err_UnknownMessageType 65424 -#define uRORes_err_MasterServerNeedsChannel 65425 -#define uRORes_err_StreamIsReadOnly 65426 -#define uRODECConst_sProtectionCircular 65427 -#define uRODECConst_sStringFormatExists 65428 -#define uRODECConst_sInvalidStringFormat 65429 -#define uRODECConst_sInvalidFormatString 65430 -#define uRODECConst_sFMT_COPY 65431 -#define uRODECConst_sFMT_HEX 65432 -#define uRODECConst_sFMT_HEXL 65433 -#define uRODECConst_sFMT_MIME64 65434 -#define uRODECConst_sFMT_UU 65435 -#define uRODECConst_sFMT_XX 65436 -#define uRODECConst_sInvalidKey 65437 -#define uRODECConst_sInvalidCRC 65438 -#define uRODECConst_sInvalidKeySize 65439 -#define uRORes_err_CannotLoadXMLDocument 65440 -#define uRORes_err_ErrorCreatingMsXmlDoc 65441 -#define uRORes_err_NoXMLParsersAvailable 65442 -#define uRORes_err_IDispatchMarshalingNotSupported 65443 -#define uRORes_err_UnsupportedVariantType 65444 -#define uRORes_err_InvalidBinaryFormat 65445 -#define uRORes_err_VariantIsNotArray 65446 -#define uRORes_err_InvalidVarArrayDimCount 65447 -#define uRORes_err_CannotFindParameter 65448 -#define uRORes_err_CannotFindService 65449 -#define uRORes_err_RODLResourceNotLoaded 65450 -#define uRORes_err_MayNotAddResult 65451 -#define uRORes_err_OperationNameNeedsServiceName 65452 -#define uRORes_err_ServiceNameIsNotSet 65453 -#define uRORes_err_EventReceivedNotConnectedToMessage 65454 -#define uRORes_err_MessageNotAssigned 65455 -#define uRORes_err_MessagePropertyMustBeSet 65456 -#define uRORes_err_WinMessageFailed 65457 -#define uRORes_err_UnexpectedWinINetProblem 65458 -#define uRORes_err_CommunicationWithServerTimedOut 65459 -#define uRORes_err_CannotConnectToServer 65460 -#define uRORes_err_ConnectionError 65461 -#define uRORes_err_PoolSizeMustBe1orHigher 65462 -#define uRORes_err_NoFreeObjectsInPool 65463 -#define uRORes_msg_NoMultipleDispatchers 65464 -#define uRORes_err_InvalidStorage 65465 -#define uRORes_err_ErrorConvertingFloat 65466 -#define uRORes_err_SessionNotFound 65467 -#define uRORes_err_ChannelDoesntSupportIROMetadataReader 65468 -#define uRORes_err_TooManySessions 65469 -#define uRORes_err_DOMElementIsNIL 65470 -#define uRORes_err_IndexOutOfBounds 65471 -#define uRORes_err_CannotAssignClass 65472 -#define uRORes_err_ChannelBusy 65473 -#define uRORes_err_DesignTimeProperty 65474 -#define uRORes_err_ExpectedParameterNotFound 65475 -#define uRORes_err_AmbigousResponse 65476 -#define uRORes_err_InvalidEnvelope 65477 -#define uRORes_err_InvalidData 65478 -#define uRORes_inf_InvalidEnvelopeNode 65479 -#define uRORes_inf_AbsentBody 65480 -#define uRORes_inf_AbsentMessage 65481 -#define uRORes_err_ArrayIndexOutOfBounds 65482 -#define uRORes_err_InvalidHeader 65483 -#define uRORes_err_UnknownClassInStream 65484 -#define uRORes_err_UnexpectedClassInStream 65485 -#define uRORes_err_InvalidDateTimeReadFromStream 65486 -#define uRORes_err_CannotFindServer 65487 -#define uRORes_err_ParameterNotFound 65488 -#define uRORes_err_NotImplemented 65489 -#define uRORes_err_TypeNotSupported 65490 -#define uRORes_err_ClassFactoryNotFound 65491 -#define uRORes_err_UnspecifiedTargetURL 65492 -#define uRORes_err_IROMessageNotSupported 65493 -#define uRORes_err_ClassAlreadyRegistered 65494 -#define uRORes_err_UnknownClass 65495 -#define uRORes_err_UnknownProxyInterface 65496 -#define uRORes_err_UnknownTransportChannelClass 65497 -#define uRORes_err_UnknownMessageClass 65498 -#define uRORes_err_DispatcherAlreadyAssigned 65499 -#define uRORes_err_CannotFindMessageDispatcher 65500 -#define uRORes_err_ServerOnlySupportsOneDispatcher 65501 -#define uRORes_err_UnhandledException 65502 -#define uRORes_err_CannotReadRODLWithoutChannel 65503 -#define uRORes_err_RodlNoStructElementsDefined 65504 -#define uRORes_err_RodlNoOperationsDefined 65505 -#define uRORes_err_RodlUsedFileDoesNotExist 65506 -#define uRORes_err_RodlInvalidDataType 65507 -#define uRORes_err_RodlStructCannotBeNested 65508 -#define uRORes_err_RodlInvalidAncestorType 65509 -#define uRORes_err_UnspecifiedRODLLocation 65510 -#define uRORes_str_ExceptionOnServer 65511 -#define uRORes_str_ExceptionReraisedFromServer 65512 -#define uRORes_err_AssignError 65513 -#define uRORes_err_InvalidRequestStream 65514 -#define uRORes_err_NILMessage 65515 -#define uRORes_err_UnspecifiedInterface 65516 -#define uRORes_err_UnspecifiedMessage 65517 -#define uRORes_err_UnknownMethod 65518 -#define uRORes_err_ClassFactoryDidNotReturnInstance 65519 -#define uRORes_err_InvalidIndex 65520 -#define uRORes_err_InvalidType 65521 -#define uRORes_err_InvalidLibrary 65522 -#define uRORes_err_InvalidStream 65523 -#define uRORes_err_InvalidTargetEntity 65524 -#define uRORes_err_InvalidParamFlag 65525 -#define uRORes_err_InvalidStringLength 65526 -#define uRORes_err_InvalidBinaryLength 65527 -#define uRORes_str_InvalidClassTypeInStream 65528 -#define uRORes_err_ObjectExpectedInStream 65529 -#define uRORes_err_UnexpectedEndOfStream 65530 -#define uRORes_err_MessageClassMustImplementAssign 65531 -#define uRORes_err_InvalidInfo 65532 -#define uRORes_err_RodlDuplicateName 65533 -#define uRORes_err_RodlNoDataTypeSpecified 65534 -#define uRORes_err_RodlNoEnumValues 65535 -STRINGTABLE -BEGIN - uDARes_err_ExecuteSQLCommandNotAllowed, "ExecuteSQLCommand is not enabled for this server." - uDARes_err_FieldIsNotBound, "Field is not bound" - uDARes_err_CannotFindField, "Cannot find field %s" - uDARes_err_LoadPackageFailed, "LoadPackage failed for file %s" - uDARes_err_InvalidDriverReference, "The driver in %s could not be loaded" - uDARes_err_CannotFindStatement, "Cannot find statement %s for connection %s" - uDARes_err_CannotFindDefaultItem, "Cannot find default %s" - uDARes_err_PoolIsNotEmpty, "Cannot perform this operation when connections are pooled" - uDARes_err_MaxPoolSizeReached, "Maximum pool size reached. Cannot create a new connection" - uDARes_err_CannotAccessThisProperty, "Cannot access this property with the current DataType value" - uDARes_err_LAMEDataset, "%s does not implement IProviderSupport or implements it incorrectly" - uDARes_err_DARDMInvalidSchema, "Schema must be assigned and must point to a ConnectionManager" - uDARes_err_DARDMMissingConnectionName, "Cannot acquire a connection without a ConnectionName or a OnBeforeAcquireConnection event handler" - uDARes_err_DARDMUnassignedAdapter, "DataAdapter is not assigned" - uDARes_err_DARDMConnectionIsNotAssigned, "Connection is not assigned" - uDARes_err_DARDMCannotFindProxessorForDelta, "Cannot find a business processor for delta \"%s\"" - uDARes_err_NeedShareMem, "To use dynamically loaded drivers, you must build your application with ShareMem." - uDARes_err_DriverManagerNotAssigned, "Driver Manager is not assigned" - uDARes_err_ConnectionManagerNotAssigned, "Connection Manager is not assigned" - uDARes_err_FieldTypeNotSupported, "FieldType %s (%d) is not supported" - uDARes_err_NotSupported, "Not supported" - uDARes_err_DataTypeNotSupportedByRemoteRequest, "DataType is not supported by RemoteRequest" - uDARes_err_InvalidDataset, "Invalid or NIL dataset" - uDARes_err_CannotMakeNILDefault, "Cannot set NIL" - uDARes_err_DifferentOwnerCollection, "The connection definition is not owned by this collection" - uDARes_err_CannotFindItem, "Cannot find %s \"%s\" in collection of type %s" - uDARes_err_InvalidCollectionType, "Invalid collection type" - uDARes_err_InvalidOwner, "Invalid owner" - uDARes_err_DriverAlreadyLoaded, "Driver %s is already loaded" - uDARes_err_DriverIsNotLoaded, "Driver %s was not loaded" - uDARes_err_InvalidDLL, "%s is not a valid Data Abstract driver" - uDARes_err_UnknownDriver, "Unknown driver %s" - uDARes_err_UnknownParameter, "Unknown parameter %s" - uRODECConst_sInvalidCalc, "Invalid Parameters in OTPCalc." - uRODECConst_sInvalidDictionary, "Used Dictionary in %s is invalid." - uRODECConst_sOTPIdent, "otp-" - uRODECConst_sOTPExt, "ext" - uRODECConst_sOTPWord, "word:" - uRODECConst_sOTPHex, "hex:" - uRODECConst_sSKeyIdent, "s/key" - uDARes_err_ChangeLogAlreadyStarted, "StartChange has already been called; cannot log more than one change at a time." - uDARes_err_NotAttachedToDataTable, "Delta is not attached to a DataTable" - uDARes_err_DeltaAttachedToDataTable, "Cannot perform this operation on a delta that is attached to a DataTable" - uDARes_err_DriverProcAlreadyRegistered, "DriverProc 0x%0.8x is already registered" - uDARes_err_DriverManagerNotCreated, "A Data Abstract DriverManager is not currently instantiated" - uDARes_err_DriverManagerAlreadyCreated, "An instance of a TDADriverManager was already initialized. Only one driver manager per module is allowed" - uDARes_err_DatasetNotAssigned, "Dataset is not assigned" - uDARes_err_VariantNotSupported, "Variant type %d is not supported" - uDARes_err_InvalidDestination, "Invalid destination" - uRODECConst_sLoadFail, "BigNum invalid data format." - uRODECConst_sParams, "BigNum parameter error.\r\n%s." - uRODECConst_sJacobi, "BigNum Jacobi(A, B), B must be >= 3, Odd and B < A" - uRODECConst_sSPPrime, "BigNum IsSPPrime(A, Base), |Base| must be > 1, |A| > |Base| and |A| >= 3" - uRODECConst_sSetPrime, "BigNum SetPrime(Base, Residue, Modulus), Invalid Parameter.\r\n%s." - uRODECConst_sSetPrimeSize, "Value must be greater 32767" - uRODECConst_sSetPrimeParam, "GCD(Residue, Modulus) must be 1 and Residue < Modulus" - uRODECConst_sSqrt, "BigNum Sqrt(A) A must be position" - uRODECConst_sExpMod, "BigNum ExpMod(E, M) M must be positive" - uRODECConst_sCalcName, "Calculation No %d" - uRODECConst_sInvalidState, "Invalid Protector State detected." - uRODECConst_sIDOutOfRange, "Protector Error: ID is out of Range." - uRODECConst_sInvalidZIPData, "Invalid compressed Data detected." - uRODECConst_sInvalidChallenge, "Challenge is not an RO_RFC2289 Format." - uRODECConst_sInvalidPassword, "Invalid Passphraselength, must be more than 9 Chars." - uRODECConst_sInvalidSeed, "Invalid Seed Value in OTPCalc." - uRODECConst_sNotInitialized, "%s is not initialized call Init() or InitKey() before." - uRODECConst_sInvalidMACMode, "Invalid Ciphermode selected to produce a MAC.\r\nPlease use Modes cmCBC, cmCTS, cmCFB, cmCBCMAC, cmCFBMAC or cmCTSMAC for CalcMAC." - uRODECConst_sCantCalc, "Invalid Ciphermode selected." - uRODECConst_sInvalidRandomStream, "Invalid Random Data detected." - uRODECConst_sRandomDataProtected, "Random Data are protected." - uRODECConst_sBBSnotSeekable, "BBS Generator is not seekable." - uRODECConst_sBigNumDestroy, "Used Bignums in a BBS Generator can be not destroy." - uRODECConst_sIndexOutOfRange, "BBS Error: Index out of Range." - uRODECConst_sBigNumAborted, "BigNum aborted by User." - uRODECConst_sErrGeneric, "Bignum Generic Error." - uRODECConst_sErrAsInteger, "BigNum overflow in AsInteger." - uRODECConst_sErrAsComp, "BigNum overflow in AsComp." - uRODECConst_sErrAsFloat, "BigNum overflow in AsFloat." - uRODECConst_sNumberFormat, "BigNum invalid Numberformat for Base %d.\r\nValue: %s" - uRODECConst_sDivByZero, "BigNum division by Zero." - uRODECConst_sStackIndex, "BigNum Stackindex out of range." - uRORes_err_UnknownMessageType, "Unknown message type \"%s\"" - uRORes_err_MasterServerNeedsChannel, "No Channel assigned to %s." - uRORes_err_StreamIsReadOnly, "Stream is read-only." - uRODECConst_sProtectionCircular, "Circular Protection detected, Protection Object is invalid." - uRODECConst_sStringFormatExists, "String Format \"%d\" not exists." - uRODECConst_sInvalidStringFormat, "Input is not an valid %s Format." - uRODECConst_sInvalidFormatString, "Input can not be convert to %s Format." - uRODECConst_sFMT_COPY, "copy Input to Output" - uRODECConst_sFMT_HEX, "Hexadecimal" - uRODECConst_sFMT_HEXL, "Hexadecimal lowercase" - uRODECConst_sFMT_MIME64, "MIME Base 64" - uRODECConst_sFMT_UU, "UU Coding" - uRODECConst_sFMT_XX, "XX Coding" - uRODECConst_sInvalidKey, "Encryptionkey is invalid" - uRODECConst_sInvalidCRC, "Encrypted Data is corrupt, invalid Checksum" - uRODECConst_sInvalidKeySize, "Length from Encryptionkey is invalid.\r\nKeysize for %s must be to %d-%d bytes" - uRORes_err_CannotLoadXMLDocument, "Cannot load XML document.\rReason: %s\rLine: %d\rPosition: %d" - uRORes_err_ErrorCreatingMsXmlDoc, "Error creating MSXML Document class\r\r%s: %s" - uRORes_err_NoXMLParsersAvailable, "MSXML is not installed" - uRORes_err_IDispatchMarshalingNotSupported, "Marshaling of IDispatch (%d) type variants is not supported." - uRORes_err_UnsupportedVariantType, "Unsupported variant type \"%d\"" - uRORes_err_InvalidBinaryFormat, "Invalid binary format for a variant" - uRORes_err_VariantIsNotArray, "Variant must be Array, but is %d" - uRORes_err_InvalidVarArrayDimCount, "Variant Array DimCount must be 1 but is %d" - uRORes_err_CannotFindParameter, "Cannot find parameter %s" - uRORes_err_CannotFindService, "Cannot find service %s" - uRORes_err_RODLResourceNotLoaded, "RODL resource has not been loaded" - uRORes_err_MayNotAddResult, "Cannot add Result parameter to collection. Use AddResult instead" - uRORes_err_OperationNameNeedsServiceName, "Cannot set the OperationName without a ServiceName" - uRORes_err_ServiceNameIsNotSet, "ServiceName is not set" - uRORes_err_EventReceivedNotConnectedToMessage, "The event receiver must be connected to a message component first" - uRORes_err_MessageNotAssigned, "Message is NIL" - uRORes_err_MessagePropertyMustBeSet, "Message property must be assigned for the server to be active" - uRORes_err_WinMessageFailed, "Communication with the WinMessage Server failed or timed out (Error Code %d)" - uRORes_err_UnexpectedWinINetProblem, "Unexpected error in WinInet HTTP Channel (%d)" - uRORes_err_CommunicationWithServerTimedOut, "Communication with the server timed out (after %sms)" - uRORes_err_CannotConnectToServer, "Cannot connect to server \"%s\"" - uRORes_err_ConnectionError, "Connection error" - uRORes_err_PoolSizeMustBe1orHigher, "Pool Size must be 1 or higher" - uRORes_err_NoFreeObjectsInPool, "There are no Free Objects in the Pool. Try again later." - uRORes_msg_NoMultipleDispatchers, "Multiple message dispatchers not supported" - uRORes_err_InvalidStorage, "Invalid storage" - uRORes_err_ErrorConvertingFloat, "Error converting float \"%s\" at byte %d" - uRORes_err_SessionNotFound, "Session %s could not be found" - uRORes_err_ChannelDoesntSupportIROMetadataReader, "Channel does not support IROMetadataReader" - uRORes_err_TooManySessions, "Too many sessions. Try again in %d minute(s)" - uRORes_err_DOMElementIsNIL, "DOMElement is NIL" - uRORes_err_IndexOutOfBounds, "Index out of bounds" - uRORes_err_CannotAssignClass, "Cannot Assign a \"%s\" to a \"%s\"." - uRORes_err_ChannelBusy, "Channel is busy. Try again later." - uRORes_err_DesignTimeProperty, "%s is a designtime-only property" - uRORes_err_ExpectedParameterNotFound, "Expected parameter \"%s\" was not found." - uRORes_err_AmbigousResponse, "Ambigous response. Expected one \"%s\" but %d were received" - uRORes_err_InvalidEnvelope, "Invalid SOAP Envelope. %s" - uRORes_err_InvalidData, "Cannot convert data for parameter \"%s\"\rException was \"%s\"\rData was \"%s\"." - uRORes_inf_InvalidEnvelopeNode, "SOAP Envelope node missing or not root." - uRORes_inf_AbsentBody, "SOAP envelope does not contain a Body." - uRORes_inf_AbsentMessage, "SOAP Body does not contain a message nor a fault" - uRORes_err_ArrayIndexOutOfBounds, "Array index out of bounds (%d)." - uRORes_err_InvalidHeader, "Invalid binary header. Either incompatible or not a binary message." - uRORes_err_UnknownClassInStream, "Unknown class \"%s\" found in stream." - uRORes_err_UnexpectedClassInStream, "Unexpected class found in stream; class \"%s\" does not descend from \"%s\"." - uRORes_err_InvalidDateTimeReadFromStream, "Invalid DateTime read from Stream." - uRORes_err_CannotFindServer, "Cannot find server \"%s\"" - uRORes_err_ParameterNotFound, "Parameter \"%s\" was not found" - uRORes_err_NotImplemented, "Not implemented" - uRORes_err_TypeNotSupported, "Type \"%s\" not supported" - uRORes_err_ClassFactoryNotFound, "Class factory for interface %s not found" - uRORes_err_UnspecifiedTargetURL, "Unspecified TargetURL" - uRORes_err_IROMessageNotSupported, "Class \"%s\" does not support IROMessage" - uRORes_err_ClassAlreadyRegistered, "Class \"%s\" is already registered" - uRORes_err_UnknownClass, "Unknown class \"%s\"" - uRORes_err_UnknownProxyInterface, "Unknown proxy interface \"%s\"" - uRORes_err_UnknownTransportChannelClass, "Unknown transport channel class \"%s\"" - uRORes_err_UnknownMessageClass, "Unknown message class \"%s\"" - uRORes_err_DispatcherAlreadyAssigned, "Dispatcher for %s already assigned" - uRORes_err_CannotFindMessageDispatcher, "Cannot find message dispatcher. Maybe there is no message component configured for for the requested path?" - uRORes_err_ServerOnlySupportsOneDispatcher, "%s servers only support one dispatcher" - uRORes_err_UnhandledException, "Unhandled exception" - uRORes_err_CannotReadRODLWithoutChannel, "Cannot read RODL information without a channel" - uRORes_err_RodlNoStructElementsDefined, "Struct does not contain any elements." - uRORes_err_RodlNoOperationsDefined, "Service interface does not contain any elements." - uRORes_err_RodlUsedFileDoesNotExist, "The referenced RODL file \"%s\" could not be found." - uRORes_err_RodlInvalidDataType, "Invalid or undefined data type \"%s\"." - uRORes_err_RodlStructCannotBeNested, "Structs cannot recursively contain themselves." - uRORes_err_RodlInvalidAncestorType, "Invalid or undefined ancestor type \"%s\"." - uRORes_err_UnspecifiedRODLLocation, "Unspecified RODL location" - uRORes_str_ExceptionOnServer, "An exception of type %s was raised on the server: %s" - uRORes_str_ExceptionReraisedFromServer, "An exception was raised on the server: %s" - uRORes_err_AssignError, "Cannot assign a \"%s\" to a \"%s\"." - uRORes_err_InvalidRequestStream, "Invalid request stream (%d bytes)" - uRORes_err_NILMessage, "Message is NIL" - uRORes_err_UnspecifiedInterface, "The message does not have an interface name" - uRORes_err_UnspecifiedMessage, "The message does not have a name" - uRORes_err_UnknownMethod, "Unknown method %s for interface %s" - uRORes_err_ClassFactoryDidNotReturnInstance, "Class factory did not return an instance of \"%s\"" - uRORes_err_InvalidIndex, "Invalid index %d" - uRORes_err_InvalidType, "Invalid type \"%s. Expected \"%s\"\"" - uRORes_err_InvalidLibrary, "Invalid library" - uRORes_err_InvalidStream, "Invalid stream" - uRORes_err_InvalidTargetEntity, "Invalid TargetEntity \"%s\"" - uRORes_err_InvalidParamFlag, "Invalid Parameter Flag \"%s\"" - uRORes_err_InvalidStringLength, "Stream read error: Invalid string length \"%d\"" - uRORes_err_InvalidBinaryLength, "Stream read error: Invalid binary length \"%d\"" - uRORes_str_InvalidClassTypeInStream, "Stream read error: Invalid class type encountered: \"%s\"" - uRORes_err_ObjectExpectedInStream, "Stream read error: Object expected, but nil found." - uRORes_err_UnexpectedEndOfStream, "Unexpected end of stream." - uRORes_err_MessageClassMustImplementAssign, "Please implement Assign() for your custom message class." - uRORes_err_InvalidInfo, "Invalid or incomplete info." - uRORes_err_RodlDuplicateName, "Duplicate name." - uRORes_err_RodlNoDataTypeSpecified, "No data type specified." - uRORes_err_RodlNoEnumValues, "Enum does not contain any values." -END - diff --git a/Source/DataAbstract_D7/DataAbstract_D7.res b/Source/DataAbstract_D7/DataAbstract_D7.res deleted file mode 100644 index 6efd61f..0000000 Binary files a/Source/DataAbstract_D7/DataAbstract_D7.res and /dev/null differ diff --git a/Source/Iconos/Factuges.ico b/Source/Iconos/Factuges.ico deleted file mode 100644 index 9e11815..0000000 Binary files a/Source/Iconos/Factuges.ico and /dev/null differ diff --git a/Source/Iconos/Referencias genéricas/16x16/Thumbs.db b/Source/Iconos/Referencias genéricas/16x16/Thumbs.db deleted file mode 100644 index ba3cc9e..0000000 Binary files a/Source/Iconos/Referencias genéricas/16x16/Thumbs.db and /dev/null differ diff --git a/Source/Iconos/Ventas terminadas/16x16/Thumbs.db b/Source/Iconos/Ventas terminadas/16x16/Thumbs.db deleted file mode 100644 index 73554b0..0000000 Binary files a/Source/Iconos/Ventas terminadas/16x16/Thumbs.db and /dev/null differ diff --git a/Source/Iconos/Ventas terminadas/28x28/Thumbs.db b/Source/Iconos/Ventas terminadas/28x28/Thumbs.db deleted file mode 100644 index 800ce60..0000000 Binary files a/Source/Iconos/Ventas terminadas/28x28/Thumbs.db and /dev/null differ diff --git a/Output/Servidor/Informes/InformeReferenciaGenerica.fr3 b/Source/Informes/InformeReferenciaGenerica.fr3 similarity index 100% rename from Output/Servidor/Informes/InformeReferenciaGenerica.fr3 rename to Source/Informes/InformeReferenciaGenerica.fr3 diff --git a/Source/Modulos/Devoluciones/Cliente/Devoluciones.bdsproj b/Source/Modulos/Devoluciones/Cliente/Devoluciones.bdsproj new file mode 100644 index 0000000..099c4ad --- /dev/null +++ b/Source/Modulos/Devoluciones/Cliente/Devoluciones.bdsproj @@ -0,0 +1,677 @@ + + + + + + + + + + + + Devoluciones.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7 + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Modulos/Devoluciones/Cliente/Devoluciones.dpk b/Source/Modulos/Devoluciones/Cliente/Devoluciones.dpk index 982e597..929e16d 100644 --- a/Source/Modulos/Devoluciones/Cliente/Devoluciones.dpk +++ b/Source/Modulos/Devoluciones/Cliente/Devoluciones.dpk @@ -22,49 +22,49 @@ package Devoluciones; {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} +{$IMPLICITBUILD ON} +{$DEFINE DEBUG} requires rtl, dbrtl, dsnap, - BaseD7, - DataAbstract_D7, + BaseD10, vcl, adortl, - PluginSDK_D7R, - PngComponentsD7, - PNG_D7, + PluginSDK_D10R, + PngComponentsD10, + PNG_D10, vclactnband, vclx, - GUISDK_D7, - tb2k_d7, - tbx_d7, - JvCoreD7R, + GUISDK_D10, + tb2k_D10, + tbx_D10, + JvCoreD10R, vcljpg, Jcl, JclVcl, - JvSystemD7R, - JvPageCompsD7R, - JvStdCtrlsD7R, - cxTreeListVCLD7, - dxThemeD7, - cxLibraryVCLD7, - cxExportVCLD7, - cxEditorsVCLD7, - cxDataD7, + JvSystemD10R, + JvPageCompsD10R, + JvStdCtrlsD10R, + cxTreeListD10, + dxThemeD10, + cxLibraryD10, + cxExportD10, + cxEditorsD10, + cxDataD10, vcldb, - JvGlobusD7R, - ControlesBaseD7, - cxGridVCLD7, - cxPageControlVCLD7, - cxExtEditorsVCLD7, - dxPSCoreD7, - dxComnD7, - JvCustomD7R, + JvGlobusD10R, + ControlesBaseD10, + cxGridD10, + cxPageControlD10, + cxExtEditorsD10, + dxPSCoreD10, + dxComnD10, + JvCustomD10R, bdertl, VclSmp, - dxLayoutControlD7, + dxLayoutControlD10, Parametros; contains diff --git a/Source/Modulos/Devoluciones/Cliente/Devoluciones.dproj b/Source/Modulos/Devoluciones/Cliente/Devoluciones.dproj new file mode 100644 index 0000000..607a53c --- /dev/null +++ b/Source/Modulos/Devoluciones/Cliente/Devoluciones.dproj @@ -0,0 +1,659 @@ + + + {b18cc884-6459-4d3a-be2f-ae618ad4aa76} + Devoluciones.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\Devoluciones.bpl + + + 7.0 + False + False + False + 0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + RELEASE + + + 7.0 + False + 0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + DEBUG + + + Delphi.Personality + Package + + + False + True + False + + + True + False + False + + + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + Devoluciones.dpk + + + + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dmDevoluciones
+
+ +
fEditorAjustarRecepciones
+
+ +
fEditorListaDevoluciones
+
+ +
ModuleDevoluciones
+
+ +
frViewListaDevoluciones
+
+
+ +
+ + diff --git a/Source/Modulos/Devoluciones/Cliente/Devoluciones.drc b/Source/Modulos/Devoluciones/Cliente/Devoluciones.drc index a5d5271..aec5e05 100644 --- a/Source/Modulos/Devoluciones/Cliente/Devoluciones.drc +++ b/Source/Modulos/Devoluciones/Cliente/Devoluciones.drc @@ -1,5 +1,5 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,10 @@ STRINGTABLE BEGIN END +/* C:\Varela_D2007\Source\Modulos\Devoluciones\Cliente\uDataModuleDevoluciones.dfm */ +/* C:\Varela_D2007\Source\Modulos\Devoluciones\Cliente\uViewListaDevoluciones.dfm */ +/* C:\Varela_D2007\Source\Modulos\Devoluciones\Cliente\uEditorListaDevoluciones.dfm */ +/* C:\Varela_D2007\Source\Modulos\Devoluciones\Cliente\uPluginControllerDevoluciones.dfm */ +/* C:\Varela_D2007\Source\Modulos\Devoluciones\Cliente\uEditorAjustarDevoluciones.dfm */ +/* C:\Varela_D2007\Source\Modulos\Devoluciones\Cliente\Devoluciones.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1A.tmp */ diff --git a/Source/Modulos/Devoluciones/Cliente/Devoluciones.identcache b/Source/Modulos/Devoluciones/Cliente/Devoluciones.identcache new file mode 100644 index 0000000..9ba82d1 Binary files /dev/null and b/Source/Modulos/Devoluciones/Cliente/Devoluciones.identcache differ diff --git a/Source/Modulos/Devoluciones/Cliente/Devoluciones.rc b/Source/Modulos/Devoluciones/Cliente/Devoluciones.rc new file mode 100644 index 0000000..e69de29 diff --git a/Source/Modulos/Devoluciones/Cliente/Devoluciones.res b/Source/Modulos/Devoluciones/Cliente/Devoluciones.res index ec5f233..36f26e2 100644 Binary files a/Source/Modulos/Devoluciones/Cliente/Devoluciones.res and b/Source/Modulos/Devoluciones/Cliente/Devoluciones.res differ diff --git a/Source/Modulos/Devoluciones/Cliente/MPCommonLibD10.drc b/Source/Modulos/Devoluciones/Cliente/MPCommonLibD10.drc new file mode 100644 index 0000000..e520ba1 --- /dev/null +++ b/Source/Modulos/Devoluciones/Cliente/MPCommonLibD10.drc @@ -0,0 +1,23 @@ +/* VER180 + Generated by the Borland Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +DESCRIPTION RCDATA +BEGIN + "\x52", "\x00", "\x65", "\x00", "\x6d", "\x00", "\x4f", "\x00", /* 0000: R.e.m.O. */ + "\x62", "\x00", "\x6a", "\x00", "\x65", "\x00", "\x63", "\x00", /* 0008: b.j.e.c. */ + "\x74", "\x00", "\x73", "\x00", "\x20", "\x00", "\x53", "\x00", /* 0010: t.s. .S. */ + "\x44", "\x00", "\x4b", "\x00", "\x20", "\x00", "\x2d", "\x00", /* 0018: D.K. .-. */ + "\x20", "\x00", "\x52", "\x00", "\x4f", "\x00", "\x44", "\x00", /* 0020: .R.O.D. */ + "\x58", "\x00", "\x53", "\x00", "\x6f", "\x00", "\x63", "\x00", /* 0028: X.S.o.c. */ + "\x6b", "\x00", "\x20", "\x00", "\x4c", "\x00", "\x69", "\x00", /* 0030: k. .L.i. */ + "\x62", "\x00", "\x72", "\x00", "\x61", "\x00", "\x72", "\x00", /* 0038: b.r.a.r. */ + "\x79", "\x00", "\x00", "\x00" /* 0040: y... */ +END + diff --git a/Source/Modulos/Devoluciones/Cliente/cxVerticalGridVCLD7.drc b/Source/Modulos/Devoluciones/Cliente/cxVerticalGridVCLD7.drc new file mode 100644 index 0000000..e520ba1 --- /dev/null +++ b/Source/Modulos/Devoluciones/Cliente/cxVerticalGridVCLD7.drc @@ -0,0 +1,23 @@ +/* VER180 + Generated by the Borland Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +DESCRIPTION RCDATA +BEGIN + "\x52", "\x00", "\x65", "\x00", "\x6d", "\x00", "\x4f", "\x00", /* 0000: R.e.m.O. */ + "\x62", "\x00", "\x6a", "\x00", "\x65", "\x00", "\x63", "\x00", /* 0008: b.j.e.c. */ + "\x74", "\x00", "\x73", "\x00", "\x20", "\x00", "\x53", "\x00", /* 0010: t.s. .S. */ + "\x44", "\x00", "\x4b", "\x00", "\x20", "\x00", "\x2d", "\x00", /* 0018: D.K. .-. */ + "\x20", "\x00", "\x52", "\x00", "\x4f", "\x00", "\x44", "\x00", /* 0020: .R.O.D. */ + "\x58", "\x00", "\x53", "\x00", "\x6f", "\x00", "\x63", "\x00", /* 0028: X.S.o.c. */ + "\x6b", "\x00", "\x20", "\x00", "\x4c", "\x00", "\x69", "\x00", /* 0030: k. .L.i. */ + "\x62", "\x00", "\x72", "\x00", "\x61", "\x00", "\x72", "\x00", /* 0038: b.r.a.r. */ + "\x79", "\x00", "\x00", "\x00" /* 0040: y... */ +END + diff --git a/Source/Modulos/Devoluciones/Cliente/uDataModuleDevoluciones.dfm b/Source/Modulos/Devoluciones/Cliente/uDataModuleDevoluciones.dfm index d910340..72e2fe3 100644 --- a/Source/Modulos/Devoluciones/Cliente/uDataModuleDevoluciones.dfm +++ b/Source/Modulos/Devoluciones/Cliente/uDataModuleDevoluciones.dfm @@ -1,23 +1,12 @@ object dmDevoluciones: TdmDevoluciones OldCreateOrder = True OnCreate = DAClientDataModuleCreate - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter - SchemaCall.MethodName = 'GetSchemaAsXML' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtString - end> - Left = 489 - Top = 456 Height = 297 Width = 620 object RORemoteService: TRORemoteService - ServiceName = 'srvDevoluciones' Message = dmBase.ROMessage Channel = dmBase.ROChannel + ServiceName = 'srvDevoluciones' Left = 40 Top = 32 end @@ -34,6 +23,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_APROBADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -46,6 +36,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_FECHACAMBIO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -60,6 +51,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_CENTRO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -75,6 +67,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_FILIAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -89,6 +82,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_CODIGO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -104,6 +98,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_PRODUCTO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -118,6 +113,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_COLOR' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -131,6 +127,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_FECHA' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -144,6 +141,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_NUMHOJA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -157,6 +155,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ESTADO_HOJA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -170,6 +169,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_OBSERVACIONES_HOJA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -183,6 +183,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_CONTABILIZAR_HOJA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -197,6 +198,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -211,6 +213,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -225,6 +228,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -239,6 +243,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -253,6 +258,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -267,6 +273,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -281,6 +288,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_SOLICITADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -295,6 +303,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -309,6 +318,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -323,6 +333,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -337,6 +348,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -351,6 +363,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -365,6 +378,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -379,6 +393,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ENVIADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -391,6 +406,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -403,6 +419,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -415,6 +432,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -427,6 +445,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -439,6 +458,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -451,6 +471,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -464,6 +485,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ENVIADO_RECT' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -477,91 +499,15 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_DIFERENCIA' InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'Devoluciones' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'Devoluciones' - 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 = 'Devoluciones' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'Devoluciones' @@ -570,6 +516,7 @@ object dmDevoluciones: TdmDevoluciones Top = 96 end object ds_Devoluciones: TDADataSource + DataSet = tbl_Devoluciones.Dataset DataTable = tbl_Devoluciones Left = 160 Top = 32 @@ -587,6 +534,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_APROBADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -599,6 +547,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_FECHACAMBIO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -613,6 +562,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_CENTRO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -628,6 +578,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_FILIAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -642,6 +593,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_CODIGO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -657,6 +609,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_PRODUCTO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -671,6 +624,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_COLOR' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -684,6 +638,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_FECHA' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -697,6 +652,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_NUMHOJA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -710,6 +666,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ESTADO_HOJA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -723,6 +680,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_OBSERVACIONES_HOJA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -736,6 +694,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_CONTABILIZAR_HOJA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -750,6 +709,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -764,6 +724,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -778,6 +739,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -792,6 +754,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -806,6 +769,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -820,6 +784,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -834,6 +799,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_SOLICITADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -848,6 +814,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -862,6 +829,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -876,6 +844,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -890,6 +859,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -904,6 +874,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -918,6 +889,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -932,6 +904,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ENVIADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -944,6 +917,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -956,6 +930,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -968,6 +943,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -980,6 +956,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -992,6 +969,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1004,6 +982,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1017,6 +996,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ENVIADO_RECT' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1030,91 +1010,15 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_DIFERENCIA' InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'DevolucionesAprobadas' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'DevolucionesAprobadas' - 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 = 'DevolucionesAprobadas' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'DevolucionesAprobadas' @@ -1123,6 +1027,7 @@ object dmDevoluciones: TdmDevoluciones Top = 96 end object ds_DevolucionesAprobadas: TDADataSource + DataSet = tbl_DevolucionesAprobadas.Dataset DataTable = tbl_DevolucionesAprobadas Left = 320 Top = 32 @@ -1140,6 +1045,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_APROBADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1152,6 +1058,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_FECHACAMBIO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1166,6 +1073,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_CENTRO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1181,6 +1089,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_FILIAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1195,6 +1104,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_CODIGO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1209,6 +1119,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_PRODUCTO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1223,6 +1134,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_COLOR' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1236,6 +1148,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_FECHA' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1249,6 +1162,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_NUMHOJA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1262,6 +1176,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ESTADO_HOJA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1275,6 +1190,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_OBSERVACIONES_HOJA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1288,6 +1204,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_CONTABILIZAR_HOJA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1302,6 +1219,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1316,6 +1234,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1330,6 +1249,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1344,6 +1264,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1358,6 +1279,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1372,6 +1294,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_S48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1386,6 +1309,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_SOLICITADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1400,6 +1324,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1414,6 +1339,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1428,6 +1354,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1442,6 +1369,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1456,6 +1384,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1470,6 +1399,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_E48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1484,6 +1414,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ENVIADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1496,6 +1427,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1508,6 +1440,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1520,6 +1453,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1532,6 +1466,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1544,6 +1479,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1556,6 +1492,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ER48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1569,6 +1506,7 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_ENVIADO_RECT' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1582,91 +1520,15 @@ object dmDevoluciones: TdmDevoluciones DictionaryEntry = 'Devoluciones_DIFERENCIA' InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'DevolucionesPendientes' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'DevolucionesPendientes' - 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 = 'DevolucionesPendientes' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'DevolucionesPendientes' @@ -1675,8 +1537,103 @@ object dmDevoluciones: TdmDevoluciones Top = 96 end object ds_DevolucionesPendientes: TDADataSource + DataSet = tbl_DevolucionesPendientes.Dataset DataTable = tbl_DevolucionesPendientes Left = 480 Top = 32 end + object DARemoteDataAdapter: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RORemoteService + GetSchemaCall.MethodName = 'GetSchemaAsXML' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetSchemaCall.OutgoingFilterParameter = 'aFilter' + GetDataCall.RemoteService = RORemoteService + GetDataCall.MethodName = 'GetDatasetDataEx' + GetDataCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + end + item + Name = 'Params' + DataType = rtUserDefined + Flag = fIn + TypeName = 'TDADatasetParamArray' + Value = Null + end + item + Name = 'UserFilter' + DataType = rtString + Flag = fIn + Value = Null + end + item + Name = 'IncludeSchema' + DataType = rtBoolean + Flag = fIn + end + item + Name = 'MaxRecords' + DataType = rtInteger + Flag = fIn + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'DatasetName' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + GetDataCall.OutgoingParamsParameter = 'Params' + GetDataCall.OutgoingIncludeSchemaParameter = 'IncludeSchema' + GetDataCall.OutgoingMaxRecordsParameter = 'MaxRecords' + UpdateDataCall.RemoteService = RORemoteService + UpdateDataCall.MethodName = 'UpdateData' + UpdateDataCall.Params = < + item + Name = 'Delta' + DataType = rtBinary + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + UpdateDataCall.Default = False + UpdateDataCall.OutgoingDeltaParameter = 'Delta' + UpdateDataCall.IncomingDeltaParameter = 'Result' + GetScriptsCall.RemoteService = RORemoteService + GetScriptsCall.MethodName = 'GetDatasetScripts' + GetScriptsCall.Params = < + item + Name = 'DatasetNames' + DataType = rtString + Flag = fIn + end + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetScriptsCall.Default = False + GetScriptsCall.OutgoingTableNamesParameter = 'DatasetNames' + GetScriptsCall.IncomingScriptParameter = 'Result' + RemoteService = RORemoteService + DataStreamer = dmBase.DABINAdapter + FailureBehavior = fbBoth + Left = 40 + Top = 96 + end end diff --git a/Source/Modulos/Devoluciones/Cliente/uDataModuleDevoluciones.pas b/Source/Modulos/Devoluciones/Cliente/uDataModuleDevoluciones.pas index b002007..7809dc3 100644 --- a/Source/Modulos/Devoluciones/Cliente/uDataModuleDevoluciones.pas +++ b/Source/Modulos/Devoluciones/Cliente/uDataModuleDevoluciones.pas @@ -5,7 +5,8 @@ interface uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uDAClientDataModule, uDADataTable, uDAScriptingProvider, uDACDSDataTable, uDABINAdapter, uDataModuleBase, uROClient, - uROServiceComponent, uRORemoteService, uBizDevoluciones; + uROServiceComponent, uRORemoteService, uBizDevoluciones, uDARemoteDataAdapter, + uDAInterfaces; type TdmDevoluciones = class(TDAClientDataModule) @@ -16,6 +17,7 @@ type ds_DevolucionesAprobadas: TDADataSource; tbl_DevolucionesPendientes: TDACDSDataTable; ds_DevolucionesPendientes: TDADataSource; + DARemoteDataAdapter: TDARemoteDataAdapter; procedure DAClientDataModuleCreate(Sender: TObject); public function GetItems : IBizDevoluciones; overload; @@ -31,7 +33,7 @@ implementation uses Forms, Windows, Controls, VARELA_Intf, uEditorPreview, - uDataTableUtils, uROTypes, cxControls, uDAInterfaces; + uDataTableUtils, uROTypes, cxControls; procedure TdmDevoluciones.DAClientDataModuleCreate(Sender: TObject); begin diff --git a/Source/Modulos/Devoluciones/Cliente/uEditorListaDevoluciones.dfm b/Source/Modulos/Devoluciones/Cliente/uEditorListaDevoluciones.dfm index d501b88..c37762d 100644 --- a/Source/Modulos/Devoluciones/Cliente/uEditorListaDevoluciones.dfm +++ b/Source/Modulos/Devoluciones/Cliente/uEditorListaDevoluciones.dfm @@ -1,21 +1,27 @@ inherited fEditorListaDevoluciones: TfEditorListaDevoluciones Left = 403 Top = 247 - Width = 909 - Height = 671 Caption = 'Control de devoluciones' + ClientHeight = 637 + ClientWidth = 901 + ExplicitWidth = 909 + ExplicitHeight = 671 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader Width = 901 Caption = 'Control de devoluciones' + ExplicitWidth = 901 inherited Image1: TImage Left = 874 + ExplicitLeft = 874 end end inherited TBXDock: TTBXDock Width = 901 + ExplicitWidth = 901 inherited tbxMain: TTBXToolbar + ExplicitWidth = 583 object TBXSubmenuItem2: TTBXSubmenuItem [5] Caption = 'Cambiar el estado' DropdownCombo = True @@ -39,17 +45,23 @@ inherited fEditorListaDevoluciones: TfEditorListaDevoluciones DisplayMode = nbdmImageAndText end end + inherited tbxMenu: TTBXToolbar + ExplicitWidth = 901 + end inherited tbxFiltro: TTBXToolbar Left = 583 + ExplicitLeft = 583 end end inherited StatusBar: TStatusBar Top = 618 Width = 901 + ExplicitTop = 618 + ExplicitWidth = 901 end object JvTabBar1: TJvTabBar [3] Left = 0 - Top = 137 + Top = 204 Width = 901 Height = 29 Cursor = crHandPoint @@ -73,9 +85,9 @@ inherited fEditorListaDevoluciones: TfEditorListaDevoluciones end inline frViewListaDevoluciones1: TfrViewListaDevoluciones [4] Left = 0 - Top = 166 + Top = 233 Width = 901 - Height = 452 + Height = 385 Align = alClient Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -85,9 +97,14 @@ inherited fEditorListaDevoluciones: TfEditorListaDevoluciones ParentFont = False TabOrder = 4 ReadOnly = False + ExplicitTop = 233 + ExplicitWidth = 901 + ExplicitHeight = 385 inherited cxGrid: TcxGrid Width = 901 - Height = 452 + Height = 385 + ExplicitWidth = 901 + ExplicitHeight = 385 inherited cxGridView: TcxGridDBTableView PopupMenu = GridPopupMenu DataController.Summary.DefaultGroupSummaryItems = < @@ -127,15 +144,19 @@ inherited fEditorListaDevoluciones: TfEditorListaDevoluciones Left = 0 Top = 19 Width = 425 - Height = 42 + Height = 109 Align = alLeft TabOrder = 0 ReadOnly = False + ExplicitTop = 19 + ExplicitWidth = 425 + ExplicitHeight = 109 inherited dxLayoutControl1: TdxLayoutControl Width = 425 + ExplicitWidth = 425 inherited ccbCentro: TJvCheckedComboBox - Left = 52 Width = 392 + ExplicitWidth = 392 end end end @@ -144,6 +165,8 @@ inherited fEditorListaDevoluciones: TfEditorListaDevoluciones Top = 0 Width = 901 Height = 19 + Margins.Left = 5 + Margins.Top = 5 Align = alTop Caption = 'Par'#225'metros de consulta' Font.Charset = DEFAULT_CHARSET @@ -151,8 +174,6 @@ inherited fEditorListaDevoluciones: TfEditorListaDevoluciones Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [fsBold] - Margins.Left = 5 - Margins.Top = 5 ParentColor = True ParentFont = False Underline = True @@ -161,7 +182,7 @@ inherited fEditorListaDevoluciones: TfEditorListaDevoluciones Left = 425 Top = 19 Width = 476 - Height = 42 + Height = 109 Align = alClient AutoSize = True TabOrder = 2 diff --git a/Source/Modulos/Devoluciones/Cliente/uEditorListaDevoluciones.pas b/Source/Modulos/Devoluciones/Cliente/uEditorListaDevoluciones.pas index 1ad3136..2b65b96 100644 --- a/Source/Modulos/Devoluciones/Cliente/uEditorListaDevoluciones.pas +++ b/Source/Modulos/Devoluciones/Cliente/uEditorListaDevoluciones.pas @@ -18,7 +18,7 @@ uses JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, TBXDkPanels, - uViewParametrosControlGrid, uViewParametrosCentro; + uViewParametrosControlGrid, uViewParametrosCentro, uDAInterfaces; type @@ -223,12 +223,15 @@ var AWhere : String; i : integer; begin - case (ViewGrid as IViewListaDevoluciones).VistaActiva of + // BEGIN Adaptación a DA5 + {case (ViewGrid as IViewListaDevoluciones).VistaActiva of tdvaPendiente, tdvaAprobado : AWhere := ' and' else AWhere := ''; - end; + end;} + AWhere := ''; + // END Adaptación a DA5 AWhere := AWhere + ' CENTRO in ('; diff --git a/Source/Modulos/Devoluciones/Servidor/srvDevoluciones_Impl.dfm b/Source/Modulos/Devoluciones/Servidor/srvDevoluciones_Impl.dfm index 825e6bb..647da8b 100644 --- a/Source/Modulos/Devoluciones/Servidor/srvDevoluciones_Impl.dfm +++ b/Source/Modulos/Devoluciones/Servidor/srvDevoluciones_Impl.dfm @@ -4,8 +4,10 @@ object srvDevoluciones: TsrvDevoluciones AcquireConnection = True ServiceSchema = schDevoluciones ServiceAdapter = DABINAdapter - Left = 558 - Top = 366 + OnAfterProcessTransactionAction = pptaNone + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] Height = 300 Width = 300 object schDevoluciones: TDASchema @@ -165,370 +167,186 @@ object srvDevoluciones: TsrvDevoluciones Name = 'APROBADO' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_APROBADO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHACAMBIO' DataType = datDateTime - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_FECHACAMBIO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CENTRO' DataType = datString Size = 17 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_CENTRO' InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FILIAL' DataType = datString Size = 25 - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_FILIAL' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_CODIGO' InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PRODUCTO' DataType = datString Size = 40 - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_PRODUCTO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_COLOR' InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_FECHA' InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NUMHOJA' DataType = datString Size = 8 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_NUMHOJA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ESTADO_HOJA' DataType = datString Size = 20 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ESTADO_HOJA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'OBSERVACIONES_HOJA' DataType = datString Size = 255 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_OBSERVACIONES_HOJA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CONTABILIZAR_HOJA' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_CONTABILIZAR_HOJA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S38' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S40' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S42' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S44' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S46' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S48' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'SOLICITADO' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_SOLICITADO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E38' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E40' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E42' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E44' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E46' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E48' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ENVIADO' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_ENVIADO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER38' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER40' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER42' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER44' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER46' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER48' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ENVIADO_RECT' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ENVIADO_RECT' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DIFERENCIA' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_DIFERENCIA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end item Params = <> @@ -684,369 +502,186 @@ object srvDevoluciones: TsrvDevoluciones Name = 'APROBADO' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_APROBADO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHACAMBIO' DataType = datDateTime - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_FECHACAMBIO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CENTRO' DataType = datString Size = 17 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_CENTRO' InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FILIAL' DataType = datString Size = 25 - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_FILIAL' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_CODIGO' InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PRODUCTO' DataType = datString Size = 40 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_PRODUCTO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_COLOR' InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_FECHA' InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NUMHOJA' DataType = datString Size = 8 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_NUMHOJA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ESTADO_HOJA' DataType = datString Size = 20 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ESTADO_HOJA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'OBSERVACIONES_HOJA' DataType = datString Size = 255 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_OBSERVACIONES_HOJA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CONTABILIZAR_HOJA' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_CONTABILIZAR_HOJA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S38' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S40' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S42' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S44' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S46' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S48' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'SOLICITADO' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_SOLICITADO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E38' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E40' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E42' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E44' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E46' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E48' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ENVIADO' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_ENVIADO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER38' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER40' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER42' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER44' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER46' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER48' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ENVIADO_RECT' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ENVIADO_RECT' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DIFERENCIA' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_DIFERENCIA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end item Params = <> @@ -1202,377 +837,192 @@ object srvDevoluciones: TsrvDevoluciones Name = 'APROBADO' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_APROBADO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHACAMBIO' DataType = datDateTime - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_FECHACAMBIO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CENTRO' DataType = datString Size = 17 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_CENTRO' InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FILIAL' DataType = datString Size = 25 - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_FILIAL' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_CODIGO' InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PRODUCTO' DataType = datString Size = 40 - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_PRODUCTO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_COLOR' InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_FECHA' InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NUMHOJA' DataType = datString Size = 8 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_NUMHOJA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ESTADO_HOJA' DataType = datString Size = 20 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ESTADO_HOJA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'OBSERVACIONES_HOJA' DataType = datString Size = 255 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_OBSERVACIONES_HOJA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CONTABILIZAR_HOJA' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_CONTABILIZAR_HOJA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S38' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S40' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S42' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S44' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S46' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'S48' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_S48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'SOLICITADO' DataType = datInteger - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_SOLICITADO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E38' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E40' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E42' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E44' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E46' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'E48' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_E48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ENVIADO' DataType = datFloat - BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Devoluciones_ENVIADO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER38' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER40' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER42' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER44' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER46' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ER48' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ER48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ENVIADO_RECT' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_ENVIADO_RECT' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DIFERENCIA' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Devoluciones_DIFERENCIA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end item Params = < item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1580,7 +1030,6 @@ object srvDevoluciones: TsrvDevoluciones Name = 'CENTRO' DataType = datString Size = 17 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1588,7 +1037,6 @@ object srvDevoluciones: TsrvDevoluciones Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1596,7 +1044,6 @@ object srvDevoluciones: TsrvDevoluciones Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown Value = '' ParamType = daptInput end> @@ -1624,28 +1071,14 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'ENVIADO_RECT' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DIFERENCIA' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = < item Params = < @@ -1653,7 +1086,6 @@ object srvDevoluciones: TsrvDevoluciones Name = 'NUMHOJA' DataType = datString Size = 8 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1661,7 +1093,6 @@ object srvDevoluciones: TsrvDevoluciones Name = 'ESTADO_HOJA' DataType = datString Size = 20 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1669,7 +1100,6 @@ object srvDevoluciones: TsrvDevoluciones Name = 'OBSERVACIONES_HOJA' DataType = datString Size = 255 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1677,49 +1107,42 @@ object srvDevoluciones: TsrvDevoluciones Name = 'CONTABILIZAR_HOJA' DataType = datString Size = 1 - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'ER38' DataType = datFloat - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'ER40' DataType = datFloat - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'ER42' DataType = datFloat - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'ER44' DataType = datFloat - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'ER46' DataType = datFloat - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'ER48' DataType = datFloat - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1727,14 +1150,12 @@ object srvDevoluciones: TsrvDevoluciones Name = 'APROBADO' DataType = datString Size = 1 - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1742,7 +1163,6 @@ object srvDevoluciones: TsrvDevoluciones Name = 'CENTRO' DataType = datString Size = 17 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1750,7 +1170,6 @@ object srvDevoluciones: TsrvDevoluciones Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1758,7 +1177,6 @@ object srvDevoluciones: TsrvDevoluciones Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown Value = '' ParamType = daptInput end> @@ -1815,6 +1233,7 @@ object srvDevoluciones: TsrvDevoluciones end> RelationShips = <> UpdateRules = <> + Version = 0 Left = 48 Top = 32 end @@ -1823,7 +1242,7 @@ object srvDevoluciones: TsrvDevoluciones UpdateCommandName = 'Update_Estado_Devoluciones' RefreshDatasetName = 'RefreshDevoluciones' ReferencedDataset = 'Devoluciones' - ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands] + ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands, poIgnoreRowsAffected] UpdateMode = updWhereKeyOnly Left = 192 Top = 32 @@ -1833,7 +1252,7 @@ object srvDevoluciones: TsrvDevoluciones UpdateCommandName = 'Update_Estado_Devoluciones' RefreshDatasetName = 'RefreshDevoluciones' ReferencedDataset = 'DevolucionesAprobadas' - ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands] + ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands, poIgnoreRowsAffected] UpdateMode = updWhereKeyOnly Left = 192 Top = 88 @@ -1843,7 +1262,7 @@ object srvDevoluciones: TsrvDevoluciones UpdateCommandName = 'Update_Estado_Devoluciones' RefreshDatasetName = 'RefreshDevoluciones' ReferencedDataset = 'DevolucionesPendientes' - ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands] + ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands, poIgnoreRowsAffected] UpdateMode = updWhereKeyOnly Left = 192 Top = 152 @@ -1854,119 +1273,81 @@ object srvDevoluciones: TsrvDevoluciones Name = 'Devoluciones_APROBADO' DataType = datString Size = 1 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'APROBADO' - Alignment = taLeftJustify end item Name = 'Devoluciones_FECHACAMBIO' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'FECHACAMBIO' - Alignment = taLeftJustify end item Name = 'Devoluciones_CENTRO' DataType = datString Size = 17 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'CENTRO' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Devoluciones_FILIAL' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'FILIAL' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Devoluciones_CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'CODIGO' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Devoluciones_PRODUCTO' DataType = datString Size = 40 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'PRODUCTO' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Devoluciones_COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'COLOR' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Devoluciones_FECHA' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'FECHA' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Devoluciones_NUMHOJA' DataType = datString Size = 8 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'NUMHOJA' - Alignment = taLeftJustify end item Name = 'Devoluciones_ESTADO_HOJA' DataType = datString Size = 20 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'ESTADO_HOJA' - Alignment = taLeftJustify end item Name = 'Devoluciones_OBSERVACIONES_HOJA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'OBSERVACIONES_HOJA' - Alignment = taLeftJustify end item Name = 'Devoluciones_CONTABILIZAR_HOJA' DataType = datString Size = 1 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'CONTABILIZAR_HOJA' - Alignment = taLeftJustify end item Name = 'Devoluciones_S38' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'S38' ReadOnly = True Alignment = taRightJustify @@ -1974,8 +1355,6 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_S40' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'S40' ReadOnly = True Alignment = taRightJustify @@ -1983,8 +1362,6 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_S42' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'S42' ReadOnly = True Alignment = taRightJustify @@ -1992,8 +1369,6 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_S44' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'S44' ReadOnly = True Alignment = taRightJustify @@ -2001,8 +1376,6 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_S46' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'S46' ReadOnly = True Alignment = taRightJustify @@ -2010,8 +1383,6 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_S48' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'S48' ReadOnly = True Alignment = taRightJustify @@ -2019,8 +1390,6 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_SOLICITADO' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'SOLICITADO' ReadOnly = True Alignment = taRightJustify @@ -2029,8 +1398,6 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_E38' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'E38' ReadOnly = True Alignment = taRightJustify @@ -2038,8 +1405,6 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_E40' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'E40' ReadOnly = True Alignment = taRightJustify @@ -2047,8 +1412,6 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_E42' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'E42' ReadOnly = True Alignment = taRightJustify @@ -2056,8 +1419,6 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_E44' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'E44' ReadOnly = True Alignment = taRightJustify @@ -2065,8 +1426,6 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_E46' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'E46' ReadOnly = True Alignment = taRightJustify @@ -2074,8 +1433,6 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_E48' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'E48' ReadOnly = True Alignment = taRightJustify @@ -2083,8 +1440,6 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_ENVIADO' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'ENVIADO' ReadOnly = True Alignment = taRightJustify @@ -2093,56 +1448,42 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_ER38' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'ER38' Alignment = taRightJustify end item Name = 'Devoluciones_ER40' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'ER40' Alignment = taRightJustify end item Name = 'Devoluciones_ER42' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'ER42' Alignment = taRightJustify end item Name = 'Devoluciones_ER44' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'ER44' Alignment = taRightJustify end item Name = 'Devoluciones_ER46' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'ER46' Alignment = taRightJustify end item Name = 'Devoluciones_ER48' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'ER48' Alignment = taRightJustify end item Name = 'Devoluciones_ENVIADO_RECT' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'ENVIADO_RECT' Alignment = taRightJustify ServerAutoRefresh = True @@ -2150,8 +1491,6 @@ object srvDevoluciones: TsrvDevoluciones item Name = 'Devoluciones_DIFERENCIA' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'DIFERENCIA' Alignment = taRightJustify ServerAutoRefresh = True diff --git a/Source/Modulos/Devoluciones/Servidor/srvDevoluciones_Impl.pas b/Source/Modulos/Devoluciones/Servidor/srvDevoluciones_Impl.pas index 4f6d845..e52bb6e 100644 --- a/Source/Modulos/Devoluciones/Servidor/srvDevoluciones_Impl.pas +++ b/Source/Modulos/Devoluciones/Servidor/srvDevoluciones_Impl.pas @@ -13,9 +13,9 @@ uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, {Ancestor Implementation:} DARemoteService_Impl, - {Used RODLs:} DataAbstract_Intf, + {Used RODLs:} DataAbstract3_Intf, {Generated:} VARELA_Intf, uDAScriptingProvider, uDABusinessProcessor, - uDAClasses, uDADataTable, uDABINAdapter; + uDAClasses, uDADataTable, uDABINAdapter, uDADataStreamer; type { TsrvDevoluciones } diff --git a/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.bdsproj b/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.bdsproj new file mode 100644 index 0000000..3469638 --- /dev/null +++ b/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.bdsproj @@ -0,0 +1,677 @@ + + + + + + + + + + + + FicherosEDI.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7 + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.dpk b/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.dpk index 04ed7be..e014b67 100644 --- a/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.dpk +++ b/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.dpk @@ -22,44 +22,43 @@ package FicherosEDI; {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} +{$IMPLICITBUILD ON} +{$DEFINE DEBUG} requires vcl, rtl, - PluginSDK_D7R, - GUISDK_D7, - PNG_D7, - PngComponentsD7, - BaseD7, - DataAbstract_D7, - JvWizardD7R, - indy, + PluginSDK_D10R, + GUISDK_D10, + PNG_D10, + PngComponentsD10, + BaseD10, + JvWizardD10R, dbrtl, vclx, dsnap, adortl, - cxLibraryVCLD7, - dxThemeD7, - cxEditorsVCLD7, - cxDataD7, + cxLibraryD10, + dxThemeD10, + cxEditorsD10, + cxDataD10, vcljpg, vcldb, - cxGridVCLD7, - cxPageControlVCLD7, - cxExtEditorsVCLD7, - cxExportVCLD7, - dxPSCoreD7, - dxComnD7, + cxGridD10, + cxPageControlD10, + cxExtEditorsD10, + cxExportD10, + dxPSCoreD10, + dxComnD10, vclactnband, - tb2k_d7, - tbx_d7, - JvCoreD7R, + tb2k_D10, + tbx_D10, + JvCoreD10R, Jcl, JclVcl, - JvSystemD7R, - JvPageCompsD7R, - JvStdCtrlsD7R; + JvSystemD10R, + JvPageCompsD10R, + JvStdCtrlsD10R; contains uPluginControllerFicherosEDI in 'uPluginControllerFicherosEDI.pas' {ModuleFicherosEDI: TModuleController}, diff --git a/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.dproj b/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.dproj new file mode 100644 index 0000000..0b28833 --- /dev/null +++ b/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.dproj @@ -0,0 +1,655 @@ + + + {184c8df1-a667-496a-975e-df3d0e0781b0} + FicherosEDI.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\FicherosEDI.bpl + + + 7.0 + False + False + False + 0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + RELEASE + + + 7.0 + False + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + DEBUG + + + Delphi.Personality + Package + + + False + True + False + + + True + False + False + + + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + FicherosEDI.dpk + + + + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
fAsistenteCargaFicheros
+
+ + +
dmFicherosEDI
+
+ +
fEditorHistorialCargasEDI
+
+ +
ModuleFicherosEDI
+
+ + +
frViewHistorialCargasEDI
+
+
+ +
+ + diff --git a/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.drc b/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.drc index a5d5271..a133ba7 100644 --- a/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.drc +++ b/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.drc @@ -1,5 +1,5 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,10 @@ STRINGTABLE BEGIN END +/* C:\Varela_D2007\Source\Modulos\FicherosEDI\Cliente\uAsistenteCargaFicheros.dfm */ +/* C:\Varela_D2007\Source\Modulos\FicherosEDI\Cliente\uDataModuleFicherosEDI.dfm */ +/* C:\Varela_D2007\Source\Modulos\FicherosEDI\Cliente\uViewHistorialCargasEDI.dfm */ +/* C:\Varela_D2007\Source\Modulos\FicherosEDI\Cliente\uEditorHistorialCargasEDI.dfm */ +/* C:\Varela_D2007\Source\Modulos\FicherosEDI\Cliente\uPluginControllerFicherosEDI.dfm */ +/* C:\Varela_D2007\Source\Modulos\FicherosEDI\Cliente\FicherosEDI.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf10.tmp */ diff --git a/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.identcache b/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.identcache new file mode 100644 index 0000000..41c8bfd Binary files /dev/null and b/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.identcache differ diff --git a/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.rc b/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.rc new file mode 100644 index 0000000..e69de29 diff --git a/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.res b/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.res index b1dc5fd..36f26e2 100644 Binary files a/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.res and b/Source/Modulos/FicherosEDI/Cliente/FicherosEDI.res differ diff --git a/Source/Modulos/FicherosEDI/Cliente/uDataModuleFicherosEDI.dfm b/Source/Modulos/FicherosEDI/Cliente/uDataModuleFicherosEDI.dfm index 45ab8ce..ad25fb4 100644 --- a/Source/Modulos/FicherosEDI/Cliente/uDataModuleFicherosEDI.dfm +++ b/Source/Modulos/FicherosEDI/Cliente/uDataModuleFicherosEDI.dfm @@ -1,22 +1,12 @@ object dmFicherosEDI: TdmFicherosEDI OldCreateOrder = True OnCreate = DAClientDataModuleCreate - RemoteService = RORemoteService - SchemaCall.MethodName = 'GetSchemaAsXML' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtString - end> - Left = 336 - Top = 413 Height = 186 Width = 300 object RORemoteService: TRORemoteService - ServiceName = 'EDI_Log' Message = dmBase.ROMessage Channel = dmBase.ROChannel + ServiceName = 'EDI_Log' Left = 40 Top = 16 end @@ -32,6 +22,7 @@ object dmFicherosEDI: TdmFicherosEDI Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -44,6 +35,7 @@ object dmFicherosEDI: TdmFicherosEDI Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -56,6 +48,7 @@ object dmFicherosEDI: TdmFicherosEDI Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -68,6 +61,7 @@ object dmFicherosEDI: TdmFicherosEDI Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -80,91 +74,15 @@ object dmFicherosEDI: TdmFicherosEDI Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'EDILog' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'EDILog' - 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 = 'EDILog' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'EDILog' @@ -173,8 +91,102 @@ object dmFicherosEDI: TdmFicherosEDI Top = 24 end object ds_EDILog: TDADataSource + DataSet = tbl_EDILog.Dataset DataTable = tbl_EDILog Left = 152 Top = 80 end + object DARemoteDataAdapter: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RORemoteService + GetSchemaCall.MethodName = 'GetSchemaAsXML' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetDataCall.RemoteService = RORemoteService + GetDataCall.MethodName = 'GetDatasetDataEx' + GetDataCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + end + item + Name = 'Params' + DataType = rtUserDefined + Flag = fIn + TypeName = 'TDADatasetParamArray' + Value = Null + end + item + Name = 'UserFilter' + DataType = rtString + Flag = fIn + Value = Null + end + item + Name = 'IncludeSchema' + DataType = rtBoolean + Flag = fIn + end + item + Name = 'MaxRecords' + DataType = rtInteger + Flag = fIn + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'DatasetName' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + GetDataCall.OutgoingParamsParameter = 'Params' + GetDataCall.OutgoingIncludeSchemaParameter = 'IncludeSchema' + GetDataCall.OutgoingMaxRecordsParameter = 'MaxRecords' + UpdateDataCall.RemoteService = RORemoteService + UpdateDataCall.MethodName = 'UpdateData' + UpdateDataCall.Params = < + item + Name = 'Delta' + DataType = rtBinary + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + UpdateDataCall.Default = False + UpdateDataCall.OutgoingDeltaParameter = 'Delta' + UpdateDataCall.IncomingDeltaParameter = 'Result' + GetScriptsCall.RemoteService = RORemoteService + GetScriptsCall.MethodName = 'GetDatasetScripts' + GetScriptsCall.Params = < + item + Name = 'DatasetNames' + DataType = rtString + Flag = fIn + end + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetScriptsCall.Default = False + GetScriptsCall.OutgoingTableNamesParameter = 'DatasetNames' + GetScriptsCall.IncomingScriptParameter = 'Result' + RemoteService = RORemoteService + DataStreamer = dmBase.DABINAdapter + FailureBehavior = fbBoth + Left = 40 + Top = 80 + end end diff --git a/Source/Modulos/FicherosEDI/Cliente/uDataModuleFicherosEDI.dfm.cbk b/Source/Modulos/FicherosEDI/Cliente/uDataModuleFicherosEDI.dfm.cbk new file mode 100644 index 0000000..d10077e --- /dev/null +++ b/Source/Modulos/FicherosEDI/Cliente/uDataModuleFicherosEDI.dfm.cbk @@ -0,0 +1,193 @@ +object dmFicherosEDI: TdmFicherosEDI + OldCreateOrder = True + OnCreate = DAClientDataModuleCreate + Height = 186 + Width = 300 + object RORemoteService: TRORemoteService + Message = dmBase.ROMessage + Channel = dmBase.ROChannel + ServiceName = 'EDI_Log' + Left = 40 + Top = 16 + end + object tbl_EDILog: TDACDSDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ID' + DataType = datInteger + BlobType = dabtUnknown + Required = True + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = True + Calculated = False + ServerCalculated = False + Lookup = False + LookupCache = False + end + item + Name = 'REPORT' + DataType = datString + Size = 10 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + ServerCalculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FECHA' + DataType = datDateTime + BlobType = dabtUnknown + Required = True + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + ServerCalculated = False + Lookup = False + LookupCache = False + end + item + Name = 'OK' + DataType = datBoolean + BlobType = dabtUnknown + Required = True + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + ServerCalculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ERROR_MSG' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + ServerCalculated = False + Lookup = False + LookupCache = False + end> + Params = <> + MasterMappingMode = mmDataRequest + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteDataAdapter = DARemoteDataAdapter + ReadOnly = False + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'EDILog' + IndexDefs = <> + Left = 152 + Top = 24 + end + object ds_EDILog: TDADataSource + DataSet = tbl_EDILog.Dataset + DataTable = tbl_EDILog + Left = 152 + Top = 80 + end + object DARemoteDataAdapter: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RORemoteService + GetSchemaCall.MethodName = 'GetSchemaAsXML' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetSchemaCall.OutgoingFilterParameter = 'aFilter' + GetDataCall.RemoteService = RORemoteService + GetDataCall.MethodName = 'GetDatasetDataEx' + GetDataCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + end + item + Name = 'Params' + DataType = rtUserDefined + Flag = fIn + TypeName = 'TDADatasetParamArray' + Value = Null + end + item + Name = 'UserFilter' + DataType = rtString + Flag = fIn + Value = Null + end + item + Name = 'IncludeSchema' + DataType = rtBoolean + Flag = fIn + end + item + Name = 'MaxRecords' + DataType = rtInteger + Flag = fIn + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'DatasetName' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + GetDataCall.OutgoingParamsParameter = 'Params' + GetDataCall.OutgoingIncludeSchemaParameter = 'IncludeSchema' + GetDataCall.OutgoingMaxRecordsParameter = 'MaxRecords' + UpdateDataCall.RemoteService = RORemoteService + UpdateDataCall.MethodName = 'UpdateData' + UpdateDataCall.Params = < + item + Name = 'Delta' + DataType = rtBinary + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + UpdateDataCall.Default = False + UpdateDataCall.OutgoingDeltaParameter = 'Delta' + UpdateDataCall.IncomingDeltaParameter = 'Result' + GetScriptsCall.RemoteService = RORemoteService + GetScriptsCall.MethodName = 'GetDatasetScripts' + GetScriptsCall.Params = < + item + Name = 'DatasetNames' + DataType = rtString + Flag = fIn + end + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetScriptsCall.Default = False + GetScriptsCall.OutgoingTableNamesParameter = 'DatasetNames' + GetScriptsCall.IncomingScriptParameter = 'Result' + RemoteService = RORemoteService + DataStreamer = dmBase.DABINAdapter + FailureBehavior = fbBoth + Left = 40 + Top = 80 + end +end diff --git a/Source/Modulos/FicherosEDI/Cliente/uDataModuleFicherosEDI.pas b/Source/Modulos/FicherosEDI/Cliente/uDataModuleFicherosEDI.pas index e1537ff..c21f9ad 100644 --- a/Source/Modulos/FicherosEDI/Cliente/uDataModuleFicherosEDI.pas +++ b/Source/Modulos/FicherosEDI/Cliente/uDataModuleFicherosEDI.pas @@ -6,13 +6,14 @@ uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uDAClientDataModule, uDADataTable, uDAScriptingProvider, uDACDSDataTable, uDABINAdapter, uROServiceComponent, uRORemoteService, uROClient, uROBinMessage, uROWinInetHttpChannel, uDataModuleBase, - schEDILogClient_Intf, uBizEDILog; + schEDILogClient_Intf, uBizEDILog, uDARemoteDataAdapter, uDAInterfaces; type TdmFicherosEDI = class(TDAClientDataModule) RORemoteService: TRORemoteService; tbl_EDILog: TDACDSDataTable; ds_EDILog: TDADataSource; + DARemoteDataAdapter: TDARemoteDataAdapter; procedure DAClientDataModuleCreate(Sender: TObject); private { Private declarations } diff --git a/Source/Modulos/FicherosEDI/Cliente/uEditorHistorialCargasEDI.dfm b/Source/Modulos/FicherosEDI/Cliente/uEditorHistorialCargasEDI.dfm index 35db378..5f3fd16 100644 --- a/Source/Modulos/FicherosEDI/Cliente/uEditorHistorialCargasEDI.dfm +++ b/Source/Modulos/FicherosEDI/Cliente/uEditorHistorialCargasEDI.dfm @@ -1,25 +1,33 @@ inherited fEditorHistorialCargasEDI: TfEditorHistorialCargasEDI Left = 525 Top = 313 - Width = 668 - Height = 485 Caption = 'fEditorHistorialCargasEDI' + ClientHeight = 451 + ClientWidth = 660 OnCreate = CustomEditorCreate + ExplicitWidth = 668 + ExplicitHeight = 485 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader Width = 660 Caption = 'Historial de cargas de ficheros EDI' + ExplicitWidth = 660 inherited Image1: TImage Left = 633 + ExplicitLeft = 633 end end inherited TBXDock: TTBXDock Width = 660 Visible = False + ExplicitWidth = 660 inherited tbxMain: TTBXToolbar Visible = False end + inherited tbxMenu: TTBXToolbar + ExplicitWidth = 660 + end inherited tbxFiltro: TTBXToolbar Visible = False end @@ -27,6 +35,8 @@ inherited fEditorHistorialCargasEDI: TfEditorHistorialCargasEDI inherited StatusBar: TStatusBar Top = 432 Width = 660 + ExplicitTop = 432 + ExplicitWidth = 660 end inline frViewHistorialCargasEDI1: TfrViewHistorialCargasEDI [3] Left = 0 @@ -42,9 +52,14 @@ inherited fEditorHistorialCargasEDI: TfEditorHistorialCargasEDI ParentFont = False TabOrder = 3 ReadOnly = False + ExplicitTop = 76 + ExplicitWidth = 660 + ExplicitHeight = 356 inherited cxGrid: TcxGrid Width = 660 Height = 356 + ExplicitWidth = 660 + ExplicitHeight = 356 inherited cxGridView: TcxGridDBTableView inherited cxGridViewOK: TcxGridDBColumn IsCaptionAssigned = True diff --git a/Source/Modulos/FicherosEDI/Cliente/uEditorHistorialCargasEDI.pas b/Source/Modulos/FicherosEDI/Cliente/uEditorHistorialCargasEDI.pas index 379cc3e..1daa18b 100644 --- a/Source/Modulos/FicherosEDI/Cliente/uEditorHistorialCargasEDI.pas +++ b/Source/Modulos/FicherosEDI/Cliente/uEditorHistorialCargasEDI.pas @@ -9,7 +9,7 @@ uses PngImageList, StdActns, ActnList, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uBizEDILog, uCustomView, uViewBase, - uViewHistorialCargasEDI, uViewGrid, uViewGridBase; + uViewHistorialCargasEDI, uViewGrid, uViewGridBase, StdCtrls, uDAInterfaces; type IEditorHistorialCargasEDI = interface(IEditorGridBase) diff --git a/Source/Modulos/FicherosEDI/Cliente/uViewHistorialCargasEDI.dfm b/Source/Modulos/FicherosEDI/Cliente/uViewHistorialCargasEDI.dfm index 08cbfc0..0432b04 100644 --- a/Source/Modulos/FicherosEDI/Cliente/uViewHistorialCargasEDI.dfm +++ b/Source/Modulos/FicherosEDI/Cliente/uViewHistorialCargasEDI.dfm @@ -1,9 +1,13 @@ inherited frViewHistorialCargasEDI: TfrViewHistorialCargasEDI Width = 736 Height = 430 + ExplicitWidth = 736 + ExplicitHeight = 430 inherited cxGrid: TcxGrid Width = 736 Height = 430 + ExplicitWidth = 736 + ExplicitHeight = 430 inherited cxGridView: TcxGridDBTableView OptionsCustomize.ColumnGrouping = True OptionsView.GridLines = glHorizontal diff --git a/Source/Modulos/FicherosEDI/Cliente/uViewHistorialCargasEDI.dfm.cbk b/Source/Modulos/FicherosEDI/Cliente/uViewHistorialCargasEDI.dfm.cbk new file mode 100644 index 0000000..0432b04 --- /dev/null +++ b/Source/Modulos/FicherosEDI/Cliente/uViewHistorialCargasEDI.dfm.cbk @@ -0,0 +1,123 @@ +inherited frViewHistorialCargasEDI: TfrViewHistorialCargasEDI + Width = 736 + Height = 430 + ExplicitWidth = 736 + ExplicitHeight = 430 + inherited cxGrid: TcxGrid + Width = 736 + Height = 430 + ExplicitWidth = 736 + ExplicitHeight = 430 + inherited cxGridView: TcxGridDBTableView + OptionsCustomize.ColumnGrouping = True + OptionsView.GridLines = glHorizontal + OptionsView.GroupRowStyle = grsOffice11 + object cxGridViewOK: TcxGridDBColumn + DataBinding.FieldName = 'OK' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.Glyph.Data = { + 36090000424D3609000000000000360000002800000030000000100000000100 + 18000000000000090000120B0000120B00000000000000000000EBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEB8599CD1028908B99CAEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB70 + 88E01048FF102890EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBE1E7E09EC395B0DCADEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBADB9DD7088E0ABB5D8EBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB709F5E3F812065B259CE + E4CCEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEB92A0CAEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + D8E0D459993B65CD505CC74042AA3083C87AE0E6DFEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB4050B0EBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBD8E0D450943065CD5079EA6082E0776AD06057 + B247A2C799EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB92 + 9CC30038F0848EAEEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB4F9D3B + 6AD95079EA60A3ED96D9E7D89DED8E6AD0604CAE3BD5DED2EBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEB2040C00038F00E3395EBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBAAEB9BA7EC9090ED87EBEBEBEBEBEBE3E9E197 + E28E6AD06059A247D1EAC2EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBA7B1D850 + 70E00040FF0030D0BFC3CEEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE1EDDD + CAEBC3EBEBEBEBEBEBEBEBEBEBEBEBE3E9E182E07765CD505EB359D5EACDEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEB7688CB5078E01048FF0040F07581A5EBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBE3E9E182E0774CBE4085C177D5EACDEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB5068D070 + 90FF1050FF1040F00E33A4EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE3EAE189E07F4CBE4094D0 + 86D8E5D3EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEB6078D08098FF3060FF1050FF1D43C3EBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBE3EAE1B0EDA164BE50C7DFC3EBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB7088E090 + A8F080A0FF6080F03955A9EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBE4EBE2CBEA + C196CF8AEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBD4D8E37088E06078D05068D0D6DBE8EBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB + EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB} + Properties.GlyphCount = 3 + Width = 20 + IsCaptionAssigned = True + end + object cxGridViewFECHA: TcxGridDBColumn + Caption = 'Fecha' + DataBinding.FieldName = 'FECHA' + PropertiesClassName = 'TcxDateEditProperties' + Properties.Alignment.Vert = taVCenter + OnGetDisplayText = cxGridViewFECHAGetDisplayText + SortIndex = 0 + SortOrder = soDescending + Width = 61 + end + object cxGridViewREPORT: TcxGridDBColumn + Caption = 'Report' + DataBinding.FieldName = 'REPORT' + PropertiesClassName = 'TcxTextEditProperties' + Properties.Alignment.Vert = taVCenter + Width = 35 + end + object cxGridViewERROR_MSG: TcxGridDBColumn + Caption = 'Error' + DataBinding.FieldName = 'ERROR_MSG' + PropertiesClassName = 'TcxTextEditProperties' + Properties.Alignment.Vert = taVCenter + Width = 323 + end + end + end +end diff --git a/Source/Modulos/FicherosEDI/Cliente/uViewHistorialCargasEDI.pas b/Source/Modulos/FicherosEDI/Cliente/uViewHistorialCargasEDI.pas index cc43dd4..1324623 100644 --- a/Source/Modulos/FicherosEDI/Cliente/uViewHistorialCargasEDI.pas +++ b/Source/Modulos/FicherosEDI/Cliente/uViewHistorialCargasEDI.pas @@ -10,7 +10,7 @@ uses dxPSEdgePatterns, dxPSCore, ActnList, uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, uBizEDILog, cxCheckBox, - uViewGrid, cxCalendar, cxTextEdit, uDataModuleFicherosEDI; + uViewGrid, cxCalendar, cxTextEdit, uDataModuleFicherosEDI, uDAInterfaces; type IViewHistorialCargasEDI = interface(IViewGrid) diff --git a/Source/Modulos/FicherosEDI/Reglas/uBizEDILog.pas b/Source/Modulos/FicherosEDI/Reglas/uBizEDILog.pas index 8b12c7e..3c79abf 100644 --- a/Source/Modulos/FicherosEDI/Reglas/uBizEDILog.pas +++ b/Source/Modulos/FicherosEDI/Reglas/uBizEDILog.pas @@ -4,7 +4,7 @@ interface uses Classes, DB, SysUtils, uROClasses, uDADataTable, uDAInterfaces, - DataAbstract_Intf, uROTypes, schEDILogClient_Intf; + DataAbstract3_Intf, uROTypes, schEDILogClient_Intf; const BIZ_EDILOG = 'Client.EDILog'; diff --git a/Source/Modulos/Parametros/Cliente/Parametros.bdsproj b/Source/Modulos/Parametros/Cliente/Parametros.bdsproj new file mode 100644 index 0000000..954f701 --- /dev/null +++ b/Source/Modulos/Parametros/Cliente/Parametros.bdsproj @@ -0,0 +1,677 @@ + + + + + + + + + + + + Parametros.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + rtl;vcl;vclx;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;indy;cxTreeListVCLD7;dxThemeD7;cxLibraryVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxsbD7;dxComnD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxIntlPrintSys3D7;PluginSDK_D7R;PngComponentsD7;PNG_D7;tb2k_d7;tbx_d7;cxExportVCLD7;cxIntlSchedulerD7;TMSD7;CEToolsPkgd7;Jcl;JclVcl;JvCoreD7R;JvSystemD7R;JvStdCtrlsD7R;JvAppFrmD7R;JvBandsD7R;JvDBD7R;JvDlgsD7R;JvBDED7R;JvCmpD7R;JvCryptD7R;JvCtrlsD7R;JvCustomD7R;JvDockingD7R;JvDotNetCtrlsD7R;JvEDID7R;JvGlobusD7R;JvHMID7R;JvInterpreterD7R;JvJansD7R;JvManagedThreadsD7R;JvMMD7R;JvNetD7R;JvPageCompsD7R;JvPluginD7R;JvPrintPreviewD7R;JvRuntimeDesignD7R;JvTimeFrameworkD7R;JvUIBD7R;JvValidatorsD7R;JvWizardD7R;JvXPCtrlsD7R;dxPSTeeChartD7;dxPScxCommonD7;dxPSLnksD7;dxPScxExtCommonD7;dxPScxGridLnkD7;dxPScxPCProdD7;dxPScxScheduler2LnkD7;dxPScxTLLnkD7;dxPSDBTeeChartD7;dxPsPrVwAdvD7;cxVerticalGridVCLD7;EasyListviewD7;VirtualTreesD7;cxIntl5D7;ccpack70;ccpack70dsg;RemObjects_WebBroker_D7;RemObjects_Indy_D7;RemObjects_RODX_D7;RemObjects_BPDX_D7;PascalScript_RO_D7;DataAbstract_Core_D7;DataAbstract_DBXDriver_D7;DataAbstract_Scripting_D7;FR7;SMImportD7;SMExportD7;FRIBX7;DataAbstract_IDE_D7;GUISDK_D7;fsTee7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;frxTee7;fsADO7;fsBDE7;fsDB7;fsIBX7 + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Modulos/Parametros/Cliente/Parametros.dpk b/Source/Modulos/Parametros/Cliente/Parametros.dpk index ee8633b..dc156f8 100644 --- a/Source/Modulos/Parametros/Cliente/Parametros.dpk +++ b/Source/Modulos/Parametros/Cliente/Parametros.dpk @@ -16,37 +16,37 @@ package Parametros; {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} +{$STACKFRAMES ON} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} +{$IMPLICITBUILD ON} +{$DEFINE DEBUG} requires rtl, vcl, dbrtl, dsnap, - cxLibraryVCLD7, - dxThemeD7, + cxLibraryD10, + dxThemeD10, adortl, - DataAbstract_D7, - BaseD7, - ControlesBaseD7, - dxLayoutControlD7, - dxComnD7, - JvCoreD7R, + BaseD10, + ControlesBaseD10, + dxLayoutControlD10, + dxComnD10, + JvCoreD10R, vcldb, vcljpg, vclx, Jcl, JclVcl, - JvStdCtrlsD7R, - JvSystemD7R, - tbx_d7, - tb2k_d7; + JvStdCtrlsD10R, + JvSystemD10R, + tbx_D10, + tb2k_D10; contains uDataModuleParametros in 'uDataModuleParametros.pas' {dmParametros: TDAClientDataModule}, diff --git a/Source/Modulos/Parametros/Cliente/Parametros.dproj b/Source/Modulos/Parametros/Cliente/Parametros.dproj new file mode 100644 index 0000000..3a3a1a5 --- /dev/null +++ b/Source/Modulos/Parametros/Cliente/Parametros.dproj @@ -0,0 +1,634 @@ + + + {6be250c1-7a66-46ce-a9aa-2c4fe6aa768e} + Parametros.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\Parametros.bpl + + + 7.0 + False + False + True + 0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + RELEASE + + + 7.0 + True + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + DEBUG + + + Delphi.Personality + Package + + + False + True + False + + + True + False + False + + + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + Parametros.dpk + + + + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + +
dmParametros
+
+ +
frViewParametrosCentro
+
+ +
frViewParametrosColeccion
+
+
+ +
+ + diff --git a/Source/Modulos/Parametros/Cliente/Parametros.drc b/Source/Modulos/Parametros/Cliente/Parametros.drc index a5d5271..31da31d 100644 --- a/Source/Modulos/Parametros/Cliente/Parametros.drc +++ b/Source/Modulos/Parametros/Cliente/Parametros.drc @@ -1,5 +1,5 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,8 @@ STRINGTABLE BEGIN END +/* C:\Varela_D2007\Source\Modulos\Parametros\Cliente\uDataModuleParametros.dfm */ +/* C:\Varela_D2007\Source\Modulos\Parametros\Cliente\uViewParametrosCentro.dfm */ +/* C:\Varela_D2007\Source\Modulos\Parametros\Cliente\uViewParametrosColeccion.dfm */ +/* C:\Varela_D2007\Source\Modulos\Parametros\Cliente\Parametros.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtfA.tmp */ diff --git a/Source/Modulos/Parametros/Cliente/Parametros.identcache b/Source/Modulos/Parametros/Cliente/Parametros.identcache new file mode 100644 index 0000000..cb628de Binary files /dev/null and b/Source/Modulos/Parametros/Cliente/Parametros.identcache differ diff --git a/Source/Modulos/Parametros/Cliente/Parametros.rc b/Source/Modulos/Parametros/Cliente/Parametros.rc new file mode 100644 index 0000000..e69de29 diff --git a/Source/Modulos/Parametros/Cliente/Parametros.res b/Source/Modulos/Parametros/Cliente/Parametros.res index ec5f233..36f26e2 100644 Binary files a/Source/Modulos/Parametros/Cliente/Parametros.res and b/Source/Modulos/Parametros/Cliente/Parametros.res differ diff --git a/Source/Modulos/Parametros/Cliente/uDataModuleParametros.dfm b/Source/Modulos/Parametros/Cliente/uDataModuleParametros.dfm index 7fc1c6a..4d5c1f1 100644 --- a/Source/Modulos/Parametros/Cliente/uDataModuleParametros.dfm +++ b/Source/Modulos/Parametros/Cliente/uDataModuleParametros.dfm @@ -1,23 +1,12 @@ object dmParametros: TdmParametros OldCreateOrder = True OnCreate = DAClientDataModuleCreate - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter - SchemaCall.MethodName = 'GetSchemaAsXML' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtString - end> - Left = 532 - Top = 343 Height = 297 Width = 620 object RORemoteService: TRORemoteService - ServiceName = 'srvParametros' Message = dmBase.ROMessage Channel = dmBase.ROChannel + ServiceName = 'srvParametros' Left = 40 Top = 32 end @@ -33,6 +22,7 @@ object dmParametros: TdmParametros Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -45,6 +35,7 @@ object dmParametros: TdmParametros Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -57,91 +48,15 @@ object dmParametros: TdmParametros Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'ListaCentros' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'ListaCentros' - 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 = 'ListaCentros' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = True - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'ListaCentros' @@ -150,6 +65,7 @@ object dmParametros: TdmParametros Top = 96 end object ds_ListaCentros: TDADataSource + DataSet = tbl_ListaCentros.Dataset DataTable = tbl_ListaCentros Left = 160 Top = 32 @@ -166,6 +82,7 @@ object dmParametros: TdmParametros Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -178,91 +95,15 @@ object dmParametros: TdmParametros Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'ListaColecciones' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'ListaColecciones' - 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 = 'ListaColecciones' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = True - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'ListaColecciones' @@ -271,8 +112,103 @@ object dmParametros: TdmParametros Top = 96 end object dsListaColecciones: TDADataSource + DataSet = tbl_ListaColecciones.Dataset DataTable = tbl_ListaColecciones Left = 296 Top = 32 end + object DARemoteDataAdapter: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RORemoteService + GetSchemaCall.MethodName = 'GetSchemaAsXML' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetSchemaCall.OutgoingFilterParameter = 'aFilter' + GetDataCall.RemoteService = RORemoteService + GetDataCall.MethodName = 'GetDatasetDataEx' + GetDataCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + end + item + Name = 'Params' + DataType = rtUserDefined + Flag = fIn + TypeName = 'TDADatasetParamArray' + Value = Null + end + item + Name = 'UserFilter' + DataType = rtString + Flag = fIn + Value = Null + end + item + Name = 'IncludeSchema' + DataType = rtBoolean + Flag = fIn + end + item + Name = 'MaxRecords' + DataType = rtInteger + Flag = fIn + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'DatasetName' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + GetDataCall.OutgoingParamsParameter = 'Params' + GetDataCall.OutgoingIncludeSchemaParameter = 'IncludeSchema' + GetDataCall.OutgoingMaxRecordsParameter = 'MaxRecords' + UpdateDataCall.RemoteService = RORemoteService + UpdateDataCall.MethodName = 'UpdateData' + UpdateDataCall.Params = < + item + Name = 'Delta' + DataType = rtBinary + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + UpdateDataCall.Default = False + UpdateDataCall.OutgoingDeltaParameter = 'Delta' + UpdateDataCall.IncomingDeltaParameter = 'Result' + GetScriptsCall.RemoteService = RORemoteService + GetScriptsCall.MethodName = 'GetDatasetScripts' + GetScriptsCall.Params = < + item + Name = 'DatasetNames' + DataType = rtString + Flag = fIn + end + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetScriptsCall.Default = False + GetScriptsCall.OutgoingTableNamesParameter = 'DatasetNames' + GetScriptsCall.IncomingScriptParameter = 'Result' + RemoteService = RORemoteService + DataStreamer = dmBase.DABINAdapter + FailureBehavior = fbBoth + Left = 40 + Top = 96 + end end diff --git a/Source/Modulos/Parametros/Cliente/uDataModuleParametros.pas b/Source/Modulos/Parametros/Cliente/uDataModuleParametros.pas index 0744d2a..c2f730f 100644 --- a/Source/Modulos/Parametros/Cliente/uDataModuleParametros.pas +++ b/Source/Modulos/Parametros/Cliente/uDataModuleParametros.pas @@ -5,7 +5,8 @@ interface uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uDAClientDataModule, uDADataTable, uDAScriptingProvider, uDACDSDataTable, uDABINAdapter, uDataModuleBase, uROClient, - uROServiceComponent, uRORemoteService, uBizParametros; + uROServiceComponent, uRORemoteService, uBizParametros, uDARemoteDataAdapter, + uDAInterfaces; type TdmParametros = class(TDAClientDataModule) @@ -14,6 +15,7 @@ type ds_ListaCentros: TDADataSource; tbl_ListaColecciones: TDACDSDataTable; dsListaColecciones: TDADataSource; + DARemoteDataAdapter: TDARemoteDataAdapter; procedure DAClientDataModuleCreate(Sender: TObject); public function GetCentros : IBizCentros; @@ -29,7 +31,7 @@ implementation uses Forms, Windows, Controls, VARELA_Intf, uEditorPreview, - uDataTableUtils, uROTypes, cxControls, uDAInterfaces; + uDataTableUtils, uROTypes, cxControls; procedure TdmParametros.DAClientDataModuleCreate(Sender: TObject); begin diff --git a/Source/Modulos/Parametros/Servidor/srvParametros_Impl.dfm b/Source/Modulos/Parametros/Servidor/srvParametros_Impl.dfm index 18d51f9..fb27827 100644 --- a/Source/Modulos/Parametros/Servidor/srvParametros_Impl.dfm +++ b/Source/Modulos/Parametros/Servidor/srvParametros_Impl.dfm @@ -4,8 +4,10 @@ object srvParametros: TsrvParametros AcquireConnection = True ServiceSchema = schParametros ServiceAdapter = DABINAdapter - Left = 718 - Top = 370 + OnAfterProcessTransactionAction = pptaNone + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] Height = 300 Width = 300 object schParametros: TDASchema @@ -50,6 +52,7 @@ object srvParametros: TsrvParametros Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -62,6 +65,7 @@ object srvParametros: TsrvParametros Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -74,6 +78,7 @@ object srvParametros: TsrvParametros Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> @@ -112,6 +117,7 @@ object srvParametros: TsrvParametros Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -124,19 +130,25 @@ object srvParametros: TsrvParametros Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> BusinessRulesClient.ScriptLanguage = rslPascalScript BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = <> RelationShips = <> UpdateRules = <> + Version = 0 Left = 40 Top = 24 end object DABINAdapter: TDABINAdapter + BufferSize = 262144 + IsCompatibleV4 = True Left = 40 Top = 96 end diff --git a/Source/Modulos/Parametros/Servidor/srvParametros_Impl.pas b/Source/Modulos/Parametros/Servidor/srvParametros_Impl.pas index 364b265..3cc706d 100644 --- a/Source/Modulos/Parametros/Servidor/srvParametros_Impl.pas +++ b/Source/Modulos/Parametros/Servidor/srvParametros_Impl.pas @@ -13,9 +13,9 @@ uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, {Ancestor Implementation:} DARemoteService_Impl, - {Used RODLs:} DataAbstract_Intf, + {Used RODLs:} DataAbstract3_Intf, {Generated:} VARELA_Intf, uDAScriptingProvider, uDABusinessProcessor, - uDAClasses, uDADataTable, uDABINAdapter; + uDAClasses, uDADataTable, uDABINAdapter, uDADataStreamer; type diff --git a/Source/Modulos/Recepciones/Cliente/Recepciones.bdsproj b/Source/Modulos/Recepciones/Cliente/Recepciones.bdsproj new file mode 100644 index 0000000..6072fed --- /dev/null +++ b/Source/Modulos/Recepciones/Cliente/Recepciones.bdsproj @@ -0,0 +1,679 @@ + + + + + + + + + + + + Recepciones.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + Intraweb 8.0 Design Package for Borland Development Studio 2006 + + + + diff --git a/Source/Modulos/Recepciones/Cliente/Recepciones.dpk b/Source/Modulos/Recepciones/Cliente/Recepciones.dpk index d44a89d..ad71ba4 100644 --- a/Source/Modulos/Recepciones/Cliente/Recepciones.dpk +++ b/Source/Modulos/Recepciones/Cliente/Recepciones.dpk @@ -22,55 +22,55 @@ package Recepciones; {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} +{$IMPLICITBUILD ON} +{$DEFINE DEBUG} requires rtl, dbrtl, dsnap, - BaseD7, - DataAbstract_D7, + BaseD10, vcl, adortl, - PluginSDK_D7R, - PngComponentsD7, - PNG_D7, + PluginSDK_D10R, + PngComponentsD10, + PNG_D10, vclactnband, vclx, - GUISDK_D7, - tb2k_d7, - tbx_d7, - JvCoreD7R, + GUISDK_D10, + tb2k_D10, + tbx_D10, + JvCoreD10R, vcljpg, Jcl, JclVcl, - JvSystemD7R, - JvPageCompsD7R, - JvStdCtrlsD7R, - cxTreeListVCLD7, - dxThemeD7, - cxLibraryVCLD7, - cxExportVCLD7, - cxEditorsVCLD7, - cxDataD7, + JvSystemD10R, + JvPageCompsD10R, + JvStdCtrlsD10R, + cxTreeListD10, + dxThemeD10, + cxLibraryD10, + cxExportD10, + cxEditorsD10, + cxDataD10, vcldb, - JvGlobusD7R, - ControlesBaseD7, + JvGlobusD10R, + ControlesBaseD10, Parametros, - cxGridVCLD7, - cxPageControlVCLD7, - cxExtEditorsVCLD7, - dxPSCoreD7, - dxComnD7, - JvCustomD7R, + cxGridD10, + cxPageControlD10, + cxExtEditorsD10, + dxPSCoreD10, + dxComnD10, + JvCustomD10R, bdertl, VclSmp, - dxPScxGridLnkD7, - dxPScxCommonD7, - dxPSLnksD7, + dxPScxGridLnkD10, + dxPScxCommonD10, + dxPSLnksD10, designide, vclshlctrls, - dclcxLibraryVCLD7; + dclcxLibraryD10; contains uPluginControllerRecepciones in 'uPluginControllerRecepciones.pas' {ModuleRecepciones: TModuleController}, @@ -82,5 +82,4 @@ contains uViewListaRecepcionesAlbaran in 'uViewListaRecepcionesAlbaran.pas' {frViewListaRecepcionesAlbaran: TCustomView}, uEditorListaRecepcionesAlbaran in 'uEditorListaRecepcionesAlbaran.pas' {fEditorListaRecepcionesAlbaran: TCustomEditor}; - end. diff --git a/Source/Modulos/Recepciones/Cliente/Recepciones.dproj b/Source/Modulos/Recepciones/Cliente/Recepciones.dproj new file mode 100644 index 0000000..f880b17 --- /dev/null +++ b/Source/Modulos/Recepciones/Cliente/Recepciones.dproj @@ -0,0 +1,677 @@ + + + {5990f68e-d16f-46ae-93db-ba7d141d4021} + Recepciones.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\Recepciones.bpl + + + 7.0 + False + False + False + 0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + RELEASE + + + 7.0 + False + 0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + DEBUG + + + Delphi.Personality + Package + + + False + True + False + + + True + False + False + + + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + + + + + Intraweb 8.0 Design Package for Borland Development Studio 2006 + + + Recepciones.dpk + + + + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dmRecepciones
+
+ +
fEditorAjustarRecepciones
+
+ +
fEditorListaRecepciones
+
+ +
fEditorListaRecepcionesAlbaran
+
+ +
ModuleRecepciones
+
+ +
frViewListaRecepciones
+
+ +
frViewListaRecepcionesAlbaran
+
+
+ +
+ + diff --git a/Source/Modulos/Recepciones/Cliente/Recepciones.drc b/Source/Modulos/Recepciones/Cliente/Recepciones.drc index a5d5271..239fd85 100644 --- a/Source/Modulos/Recepciones/Cliente/Recepciones.drc +++ b/Source/Modulos/Recepciones/Cliente/Recepciones.drc @@ -1,5 +1,5 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,12 @@ STRINGTABLE BEGIN END +/* C:\Varela_D2007\Source\Modulos\Recepciones\Cliente\uDataModuleRecepciones.dfm */ +/* C:\Varela_D2007\Source\Modulos\Recepciones\Cliente\uViewListaRecepciones.dfm */ +/* C:\Varela_D2007\Source\Modulos\Recepciones\Cliente\uEditorListaRecepciones.dfm */ +/* C:\Varela_D2007\Source\Modulos\Recepciones\Cliente\uViewListaRecepcionesAlbaran.dfm */ +/* C:\Varela_D2007\Source\Modulos\Recepciones\Cliente\uEditorListaRecepcionesAlbaran.dfm */ +/* C:\Varela_D2007\Source\Modulos\Recepciones\Cliente\uPluginControllerRecepciones.dfm */ +/* C:\Varela_D2007\Source\Modulos\Recepciones\Cliente\uEditorAjustarRecepciones.dfm */ +/* C:\Varela_D2007\Source\Modulos\Recepciones\Cliente\Recepciones.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf18.tmp */ diff --git a/Source/Modulos/Recepciones/Cliente/Recepciones.identcache b/Source/Modulos/Recepciones/Cliente/Recepciones.identcache new file mode 100644 index 0000000..ce259cd Binary files /dev/null and b/Source/Modulos/Recepciones/Cliente/Recepciones.identcache differ diff --git a/Source/Modulos/Recepciones/Cliente/Recepciones.rc b/Source/Modulos/Recepciones/Cliente/Recepciones.rc new file mode 100644 index 0000000..e69de29 diff --git a/Source/Modulos/Recepciones/Cliente/Recepciones.res b/Source/Modulos/Recepciones/Cliente/Recepciones.res index b1dc5fd..36f26e2 100644 Binary files a/Source/Modulos/Recepciones/Cliente/Recepciones.res and b/Source/Modulos/Recepciones/Cliente/Recepciones.res differ diff --git a/Source/Modulos/Recepciones/Cliente/cxVerticalGridD10.drc b/Source/Modulos/Recepciones/Cliente/cxVerticalGridD10.drc new file mode 100644 index 0000000..e520ba1 --- /dev/null +++ b/Source/Modulos/Recepciones/Cliente/cxVerticalGridD10.drc @@ -0,0 +1,23 @@ +/* VER180 + Generated by the Borland Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +DESCRIPTION RCDATA +BEGIN + "\x52", "\x00", "\x65", "\x00", "\x6d", "\x00", "\x4f", "\x00", /* 0000: R.e.m.O. */ + "\x62", "\x00", "\x6a", "\x00", "\x65", "\x00", "\x63", "\x00", /* 0008: b.j.e.c. */ + "\x74", "\x00", "\x73", "\x00", "\x20", "\x00", "\x53", "\x00", /* 0010: t.s. .S. */ + "\x44", "\x00", "\x4b", "\x00", "\x20", "\x00", "\x2d", "\x00", /* 0018: D.K. .-. */ + "\x20", "\x00", "\x52", "\x00", "\x4f", "\x00", "\x44", "\x00", /* 0020: .R.O.D. */ + "\x58", "\x00", "\x53", "\x00", "\x6f", "\x00", "\x63", "\x00", /* 0028: X.S.o.c. */ + "\x6b", "\x00", "\x20", "\x00", "\x4c", "\x00", "\x69", "\x00", /* 0030: k. .L.i. */ + "\x62", "\x00", "\x72", "\x00", "\x61", "\x00", "\x72", "\x00", /* 0038: b.r.a.r. */ + "\x79", "\x00", "\x00", "\x00" /* 0040: y... */ +END + diff --git a/Source/Modulos/Recepciones/Cliente/cxVerticalGridVCLD7.drc b/Source/Modulos/Recepciones/Cliente/cxVerticalGridVCLD7.drc new file mode 100644 index 0000000..ae9acff --- /dev/null +++ b/Source/Modulos/Recepciones/Cliente/cxVerticalGridVCLD7.drc @@ -0,0 +1,22 @@ +/* VER180 + Generated by the Borland Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +DESCRIPTION RCDATA +BEGIN + "\x52", "\x00", "\x65", "\x00", "\x6d", "\x00", "\x4f", "\x00", /* 0000: R.e.m.O. */ + "\x62", "\x00", "\x6a", "\x00", "\x65", "\x00", "\x63", "\x00", /* 0008: b.j.e.c. */ + "\x74", "\x00", "\x73", "\x00", "\x20", "\x00", "\x53", "\x00", /* 0010: t.s. .S. */ + "\x44", "\x00", "\x4b", "\x00", "\x20", "\x00", "\x2d", "\x00", /* 0018: D.K. .-. */ + "\x20", "\x00", "\x43", "\x00", "\x6f", "\x00", "\x72", "\x00", /* 0020: .C.o.r. */ + "\x65", "\x00", "\x20", "\x00", "\x4c", "\x00", "\x69", "\x00", /* 0028: e. .L.i. */ + "\x62", "\x00", "\x72", "\x00", "\x61", "\x00", "\x72", "\x00", /* 0030: b.r.a.r. */ + "\x79", "\x00", "\x00", "\x00" /* 0038: y... */ +END + diff --git a/Source/Modulos/Recepciones/Cliente/dxLayoutControlD10.drc b/Source/Modulos/Recepciones/Cliente/dxLayoutControlD10.drc new file mode 100644 index 0000000..e520ba1 --- /dev/null +++ b/Source/Modulos/Recepciones/Cliente/dxLayoutControlD10.drc @@ -0,0 +1,23 @@ +/* VER180 + Generated by the Borland Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +DESCRIPTION RCDATA +BEGIN + "\x52", "\x00", "\x65", "\x00", "\x6d", "\x00", "\x4f", "\x00", /* 0000: R.e.m.O. */ + "\x62", "\x00", "\x6a", "\x00", "\x65", "\x00", "\x63", "\x00", /* 0008: b.j.e.c. */ + "\x74", "\x00", "\x73", "\x00", "\x20", "\x00", "\x53", "\x00", /* 0010: t.s. .S. */ + "\x44", "\x00", "\x4b", "\x00", "\x20", "\x00", "\x2d", "\x00", /* 0018: D.K. .-. */ + "\x20", "\x00", "\x52", "\x00", "\x4f", "\x00", "\x44", "\x00", /* 0020: .R.O.D. */ + "\x58", "\x00", "\x53", "\x00", "\x6f", "\x00", "\x63", "\x00", /* 0028: X.S.o.c. */ + "\x6b", "\x00", "\x20", "\x00", "\x4c", "\x00", "\x69", "\x00", /* 0030: k. .L.i. */ + "\x62", "\x00", "\x72", "\x00", "\x61", "\x00", "\x72", "\x00", /* 0038: b.r.a.r. */ + "\x79", "\x00", "\x00", "\x00" /* 0040: y... */ +END + diff --git a/Source/Modulos/Recepciones/Cliente/uDataModuleRecepciones.dfm b/Source/Modulos/Recepciones/Cliente/uDataModuleRecepciones.dfm index 6fe51d8..42adba6 100644 --- a/Source/Modulos/Recepciones/Cliente/uDataModuleRecepciones.dfm +++ b/Source/Modulos/Recepciones/Cliente/uDataModuleRecepciones.dfm @@ -1,24 +1,13 @@ object dmRecepciones: TdmRecepciones OldCreateOrder = True OnCreate = DAClientDataModuleCreate - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter - SchemaCall.MethodName = 'GetSchemaAsXML' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtString - end> - Left = 463 - Top = 120 Height = 364 Width = 620 object RORemoteService: TRORemoteService - ServiceName = 'srvRecepciones' Message = dmBase.ROMessage Channel = dmBase.ROChannel - Left = 40 + ServiceName = 'srvRecepciones' + Left = 64 Top = 32 end object tbl_Recepciones: TDACDSDataTable @@ -34,6 +23,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_APROBADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -47,6 +37,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_FECHACAMBIO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -61,6 +52,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_CENTRO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -76,6 +68,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_FILIAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -90,6 +83,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_CODIGO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -105,6 +99,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_PRODUCTO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -119,6 +114,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_COLOR' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -132,6 +128,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_FECHA' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -146,6 +143,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -159,6 +157,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_ESTADO_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -172,6 +171,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_OBSERVACIONES_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -185,6 +185,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_CONTABILIZAR_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -199,6 +200,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -213,6 +215,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -227,6 +230,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -241,6 +245,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -255,6 +260,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -269,6 +275,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -283,6 +290,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_ENVIADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -297,6 +305,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -311,6 +320,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -325,6 +335,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -339,6 +350,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -353,6 +365,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -367,6 +380,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -381,6 +395,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RECIBIDO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -393,6 +408,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -405,6 +421,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -417,6 +434,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -429,6 +447,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -441,6 +460,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -453,6 +473,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -466,6 +487,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RECIBIDO_RECT' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -479,102 +501,27 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_DIFERENCIA' InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'Recepciones' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'Recepciones' - 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 = 'Recepciones' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'Recepciones' IndexDefs = <> Left = 208 - Top = 40 + Top = 32 end object ds_Recepciones: TDADataSource + DataSet = tbl_Recepciones.Dataset DataTable = tbl_Recepciones - Left = 216 - Top = 152 + Left = 208 + Top = 88 end object tbl_RecepcionesAprobadas: TDACDSDataTable RemoteUpdatesOptions = [] @@ -589,6 +536,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_APROBADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -602,6 +550,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_FECHACAMBIO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -616,6 +565,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_CENTRO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -631,6 +581,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_FILIAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -645,6 +596,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_CODIGO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -660,6 +612,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_PRODUCTO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -674,6 +627,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_COLOR' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -687,6 +641,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_FECHA' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -701,6 +656,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -714,6 +670,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_ESTADO_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -727,6 +684,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_OBSERVACIONES_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -740,6 +698,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_CONTABILIZAR_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -754,6 +713,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -768,6 +728,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -782,6 +743,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -796,6 +758,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -810,6 +773,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -824,6 +788,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -838,6 +803,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_ENVIADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -852,6 +818,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -866,6 +833,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -880,6 +848,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -894,6 +863,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -908,6 +878,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -922,6 +893,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -936,6 +908,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RECIBIDO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -948,6 +921,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -960,6 +934,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -972,6 +947,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -984,6 +960,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -996,6 +973,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1008,6 +986,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1021,6 +1000,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RECIBIDO_RECT' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1034,102 +1014,27 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_DIFERENCIA' InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'RecepcionesAprobadas' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'RecepcionesAprobadas' - 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 = 'RecepcionesAprobadas' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'RecepcionesAprobadas' IndexDefs = <> Left = 352 - Top = 40 + Top = 32 end object ds_RecepcionesAprobadas: TDADataSource + DataSet = tbl_RecepcionesAprobadas.Dataset DataTable = tbl_RecepcionesAprobadas Left = 352 - Top = 152 + Top = 88 end object tbl_RecepcionesPendientes: TDACDSDataTable RemoteUpdatesOptions = [] @@ -1144,6 +1049,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_APROBADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1157,6 +1063,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_FECHACAMBIO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1171,6 +1078,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_CENTRO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1186,6 +1094,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_FILIAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1200,6 +1109,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_CODIGO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1215,6 +1125,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_PRODUCTO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1229,6 +1140,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_COLOR' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1242,6 +1154,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_FECHA' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1256,6 +1169,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1269,6 +1183,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_ESTADO_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1282,6 +1197,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_OBSERVACIONES_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1295,6 +1211,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_CONTABILIZAR_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1309,6 +1226,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1323,6 +1241,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1337,6 +1256,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1351,6 +1271,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1365,6 +1286,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1379,6 +1301,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_E48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1393,6 +1316,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_ENVIADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1407,6 +1331,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1421,6 +1346,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1435,6 +1361,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1449,6 +1376,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1463,6 +1391,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1477,6 +1406,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_R48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1491,6 +1421,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RECIBIDO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1503,6 +1434,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1515,6 +1447,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1527,6 +1460,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1539,6 +1473,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1551,6 +1486,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1563,6 +1499,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RR48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1576,6 +1513,7 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_RECIBIDO_RECT' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1589,102 +1527,27 @@ object dmRecepciones: TdmRecepciones DictionaryEntry = 'Recepciones_DIFERENCIA' InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'RecepcionesPendientes' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'RecepcionesPendientes' - 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 = 'RecepcionesPendientes' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'RecepcionesPendientes' IndexDefs = <> Left = 488 - Top = 40 + Top = 32 end object ds_RecepcionesPendientes: TDADataSource + DataSet = tbl_RecepcionesPendientes.Dataset DataTable = tbl_RecepcionesPendientes - Left = 496 - Top = 152 + Left = 488 + Top = 88 end object tbl_RecepcionesAlbaran: TDACDSDataTable RemoteUpdatesOptions = [] @@ -1698,6 +1561,7 @@ object dmRecepciones: TdmRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1710,6 +1574,7 @@ object dmRecepciones: TdmRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1722,6 +1587,7 @@ object dmRecepciones: TdmRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1734,6 +1600,7 @@ object dmRecepciones: TdmRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1746,6 +1613,7 @@ object dmRecepciones: TdmRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1758,6 +1626,7 @@ object dmRecepciones: TdmRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1770,6 +1639,7 @@ object dmRecepciones: TdmRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1781,6 +1651,7 @@ object dmRecepciones: TdmRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1792,6 +1663,7 @@ object dmRecepciones: TdmRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1803,6 +1675,7 @@ object dmRecepciones: TdmRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1814,6 +1687,7 @@ object dmRecepciones: TdmRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1825,6 +1699,7 @@ object dmRecepciones: TdmRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1836,101 +1711,120 @@ object dmRecepciones: TdmRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'RecepcionesAlbaran' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'RecepcionesAlbaran' - 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 = 'RecepcionesAlbaran' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'RecepcionesAlbaran' IndexDefs = <> - Left = 352 - Top = 240 + Left = 208 + Top = 192 end object ds_RecepcionesAlbaran: TDADataSource + DataSet = tbl_RecepcionesAlbaran.Dataset DataTable = tbl_RecepcionesAlbaran - Left = 216 - Top = 240 + Left = 208 + Top = 248 + end + object DARemoteDataAdapter: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RORemoteService + GetSchemaCall.MethodName = 'GetSchemaAsXML' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetSchemaCall.OutgoingFilterParameter = 'aFilter' + GetDataCall.RemoteService = RORemoteService + GetDataCall.MethodName = 'GetDatasetDataEx' + GetDataCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + end + item + Name = 'Params' + DataType = rtUserDefined + Flag = fIn + TypeName = 'TDADatasetParamArray' + Value = Null + end + item + Name = 'UserFilter' + DataType = rtString + Flag = fIn + Value = Null + end + item + Name = 'IncludeSchema' + DataType = rtBoolean + Flag = fIn + end + item + Name = 'MaxRecords' + DataType = rtInteger + Flag = fIn + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'DatasetName' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + GetDataCall.OutgoingParamsParameter = 'Params' + GetDataCall.OutgoingIncludeSchemaParameter = 'IncludeSchema' + GetDataCall.OutgoingMaxRecordsParameter = 'MaxRecords' + UpdateDataCall.RemoteService = RORemoteService + UpdateDataCall.MethodName = 'UpdateData' + UpdateDataCall.Params = < + item + Name = 'Delta' + DataType = rtBinary + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + UpdateDataCall.Default = False + UpdateDataCall.OutgoingDeltaParameter = 'Delta' + UpdateDataCall.IncomingDeltaParameter = 'Result' + GetScriptsCall.RemoteService = RORemoteService + GetScriptsCall.MethodName = 'GetDatasetScripts' + GetScriptsCall.Params = < + item + Name = 'DatasetNames' + DataType = rtString + Flag = fIn + end + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetScriptsCall.Default = False + GetScriptsCall.OutgoingTableNamesParameter = 'DatasetNames' + GetScriptsCall.IncomingScriptParameter = 'Result' + RemoteService = RORemoteService + DataStreamer = dmBase.DABINAdapter + FailureBehavior = fbBoth + Left = 64 + Top = 96 end end diff --git a/Source/Modulos/Recepciones/Cliente/uDataModuleRecepciones.pas b/Source/Modulos/Recepciones/Cliente/uDataModuleRecepciones.pas index 00a6e4e..1216728 100644 --- a/Source/Modulos/Recepciones/Cliente/uDataModuleRecepciones.pas +++ b/Source/Modulos/Recepciones/Cliente/uDataModuleRecepciones.pas @@ -5,7 +5,8 @@ interface uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uDAClientDataModule, uDADataTable, uDAScriptingProvider, uDACDSDataTable, uDABINAdapter, uDataModuleBase, uROClient, - uROServiceComponent, uRORemoteService, uBizRecepciones; + uROServiceComponent, uRORemoteService, uBizRecepciones, uDARemoteDataAdapter, + uDAInterfaces; type TdmRecepciones = class(TDAClientDataModule) @@ -18,6 +19,7 @@ type ds_RecepcionesPendientes: TDADataSource; tbl_RecepcionesAlbaran: TDACDSDataTable; ds_RecepcionesAlbaran: TDADataSource; + DARemoteDataAdapter: TDARemoteDataAdapter; procedure DAClientDataModuleCreate(Sender: TObject); private { Private declarations } @@ -37,7 +39,7 @@ implementation uses Forms, Windows, Controls, VARELA_Intf, uEditorPreview, - uDataTableUtils, uROTypes, cxControls, uDAInterfaces; + uDataTableUtils, uROTypes, cxControls; procedure TdmRecepciones.DAClientDataModuleCreate(Sender: TObject); @@ -65,7 +67,6 @@ function TdmRecepciones.GetItems( const AEstado: TInvRecepcionEstado): IBizRecepciones; var dtLista: TDACDSDataTable; - AStr : String; begin ShowHourglassCursor; try diff --git a/Source/Modulos/Recepciones/Cliente/uEditorListaRecepciones.dfm b/Source/Modulos/Recepciones/Cliente/uEditorListaRecepciones.dfm index 8d22c05..f42f185 100644 --- a/Source/Modulos/Recepciones/Cliente/uEditorListaRecepciones.dfm +++ b/Source/Modulos/Recepciones/Cliente/uEditorListaRecepciones.dfm @@ -1,21 +1,27 @@ inherited fEditorListaRecepciones: TfEditorListaRecepciones Left = 448 Top = 221 - Width = 824 - Height = 698 Caption = 'Control de recepciones' + ClientHeight = 664 + ClientWidth = 816 + ExplicitWidth = 824 + ExplicitHeight = 698 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader Width = 816 Caption = 'Control de recepciones' + ExplicitWidth = 816 inherited Image1: TImage Left = 789 + ExplicitLeft = 789 end end inherited TBXDock: TTBXDock Width = 816 + ExplicitWidth = 816 inherited tbxMain: TTBXToolbar + ExplicitWidth = 578 object TBXSubmenuItem2: TTBXSubmenuItem [5] Caption = 'Cambiar el estado' DropdownCombo = True @@ -39,17 +45,23 @@ inherited fEditorListaRecepciones: TfEditorListaRecepciones DisplayMode = nbdmImageAndText end end + inherited tbxMenu: TTBXToolbar + ExplicitWidth = 816 + end inherited tbxFiltro: TTBXToolbar Left = 578 + ExplicitLeft = 578 end end inherited StatusBar: TStatusBar Top = 645 Width = 816 + ExplicitTop = 645 + ExplicitWidth = 816 end object JvTabBar1: TJvTabBar [3] Left = 0 - Top = 137 + Top = 204 Width = 816 Height = 29 Cursor = crHandPoint @@ -73,9 +85,9 @@ inherited fEditorListaRecepciones: TfEditorListaRecepciones end inline frViewListaRecepciones1: TfrViewListaRecepciones [4] Left = 0 - Top = 166 + Top = 233 Width = 816 - Height = 479 + Height = 412 Align = alClient Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -85,9 +97,14 @@ inherited fEditorListaRecepciones: TfEditorListaRecepciones ParentFont = False TabOrder = 4 ReadOnly = False + ExplicitTop = 233 + ExplicitWidth = 816 + ExplicitHeight = 412 inherited cxGrid: TcxGrid Width = 816 - Height = 479 + Height = 412 + ExplicitWidth = 816 + ExplicitHeight = 412 inherited cxGridView: TcxGridDBTableView PopupMenu = GridPopupMenu DataController.Summary.DefaultGroupSummaryItems = < @@ -127,15 +144,19 @@ inherited fEditorListaRecepciones: TfEditorListaRecepciones Left = 0 Top = 19 Width = 425 - Height = 42 + Height = 109 Align = alLeft TabOrder = 0 ReadOnly = False + ExplicitTop = 19 + ExplicitWidth = 425 + ExplicitHeight = 109 inherited dxLayoutControl1: TdxLayoutControl Width = 425 + ExplicitWidth = 425 inherited ccbCentro: TJvCheckedComboBox - Left = 52 Width = 392 + ExplicitWidth = 392 end end end @@ -144,6 +165,8 @@ inherited fEditorListaRecepciones: TfEditorListaRecepciones Top = 0 Width = 816 Height = 19 + Margins.Left = 5 + Margins.Top = 5 Align = alTop Caption = 'Par'#225'metros de consulta' Font.Charset = DEFAULT_CHARSET @@ -151,8 +174,6 @@ inherited fEditorListaRecepciones: TfEditorListaRecepciones Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [fsBold] - Margins.Left = 5 - Margins.Top = 5 ParentColor = True ParentFont = False Underline = True @@ -161,7 +182,7 @@ inherited fEditorListaRecepciones: TfEditorListaRecepciones Left = 425 Top = 19 Width = 391 - Height = 42 + Height = 109 Align = alClient AutoSize = True TabOrder = 2 diff --git a/Source/Modulos/Recepciones/Cliente/uEditorListaRecepciones.pas b/Source/Modulos/Recepciones/Cliente/uEditorListaRecepciones.pas index 0b7b8f5..008f4a6 100644 --- a/Source/Modulos/Recepciones/Cliente/uEditorListaRecepciones.pas +++ b/Source/Modulos/Recepciones/Cliente/uEditorListaRecepciones.pas @@ -18,7 +18,7 @@ uses JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, StdCtrls, TBXDkPanels, - uViewParametrosCentro, uViewParametrosControlGrid; + uViewParametrosCentro, uViewParametrosControlGrid, uDAInterfaces; const CM_SETFOCUSEDRECORD = WM_USER + 1002; @@ -80,7 +80,7 @@ implementation uses uEditorBase, cxGridTableView, cxGridCustomTableView, cxControls, uDBSelectionList, cxGridDBTableView, cxGridDBDataDefinitions, - uDataModuleRecepciones, uEditorDBBase, uDAInterfaces; + uDataModuleRecepciones, uEditorDBBase; {$R *.dfm} @@ -227,12 +227,14 @@ var AWhere : String; i : integer; begin - case (ViewGrid as IViewListaRecepciones).VistaActiva of + AWhere := ''; + + {case (ViewGrid as IViewListaRecepciones).VistaActiva of trvaPendiente, trvaAprobado : AWhere := ' and' else AWhere := ''; - end; + end;} AWhere := AWhere + ' CENTRO in ('; @@ -254,8 +256,7 @@ begin AWhere := AWhere + '''' + ACentrosList[i] + ''''; end; AWhere := AWhere + ')'; - - AddText(AWhere); + AddText(AWhere, False); end; Items.DataTable.Active := True; end; diff --git a/Source/Modulos/Recepciones/Cliente/uViewListaRecepciones.dfm b/Source/Modulos/Recepciones/Cliente/uViewListaRecepciones.dfm index 04555e9..cfce401 100644 --- a/Source/Modulos/Recepciones/Cliente/uViewListaRecepciones.dfm +++ b/Source/Modulos/Recepciones/Cliente/uViewListaRecepciones.dfm @@ -1,9 +1,13 @@ inherited frViewListaRecepciones: TfrViewListaRecepciones Width = 695 Height = 477 + ExplicitWidth = 695 + ExplicitHeight = 477 inherited cxGrid: TcxGrid Width = 695 Height = 477 + ExplicitWidth = 695 + ExplicitHeight = 477 inherited cxGridView: TcxGridDBTableView OnMouseDown = cxGridViewMouseDown FilterBox.Visible = fvNever diff --git a/Source/Modulos/Recepciones/Cliente/uViewListaRecepciones.pas b/Source/Modulos/Recepciones/Cliente/uViewListaRecepciones.pas index 0f0d07a..080d655 100644 --- a/Source/Modulos/Recepciones/Cliente/uViewListaRecepciones.pas +++ b/Source/Modulos/Recepciones/Cliente/uViewListaRecepciones.pas @@ -20,7 +20,7 @@ uses dxPSFillPatterns, dxPSEdgePatterns, cxCalendar, cxTextEdit, cxCurrencyEdit, dxPSCore, uDADataTable, StdCtrls, cxGridBandedTableView, cxGridDBBandedTableView, cxImageComboBox, ImgList, PngImageList, - dxPScxCommon, dxPScxGridLnk, cxMemo; + dxPScxCommon, dxPScxGridLnk, cxMemo, uDAInterfaces; type TvRecepcionVistaActiva = (trvaPendiente, trvaAprobado, trvaTodos); diff --git a/Source/Modulos/Recepciones/RecepcionesGroup.bdsgroup b/Source/Modulos/Recepciones/RecepcionesGroup.bdsgroup new file mode 100644 index 0000000..bb8123f --- /dev/null +++ b/Source/Modulos/Recepciones/RecepcionesGroup.bdsgroup @@ -0,0 +1,24 @@ + + + + + + + + + + + ..\..\Base\BaseD10.bdsproj + ..\..\ControlesBase\ControlesBaseD10.bdsproj + ..\Parametros\Cliente\Parametros.bdsproj + ..\..\Usuarios\Usuarios.bdsproj + ..\..\Configuracion\Configuracion.bdsproj + Cliente\Recepciones.bdsproj + ..\..\Cliente\AdminPV.bdsproj + ..\..\Servidor\AdminPV_Server.bdsproj + BaseD10.bpl ControlesBaseD10.bpl Parametros.bpl Usuarios.bpl Configuracion.bpl Recepciones.bpl AdminPV.exe AdminPV_Server.exe + + + + diff --git a/Source/Modulos/Recepciones/RecepcionesGroup.bdsgroup.local b/Source/Modulos/Recepciones/RecepcionesGroup.bdsgroup.local new file mode 100644 index 0000000..b451b7b --- /dev/null +++ b/Source/Modulos/Recepciones/RecepcionesGroup.bdsgroup.local @@ -0,0 +1,6 @@ + + + + + + diff --git a/Source/Modulos/Recepciones/Servidor/srvRecepciones_Impl.dfm b/Source/Modulos/Recepciones/Servidor/srvRecepciones_Impl.dfm index 73f3ddf..538d1bc 100644 --- a/Source/Modulos/Recepciones/Servidor/srvRecepciones_Impl.dfm +++ b/Source/Modulos/Recepciones/Servidor/srvRecepciones_Impl.dfm @@ -4,8 +4,10 @@ object srvRecepciones: TsrvRecepciones AcquireConnection = True ServiceSchema = schRecepciones ServiceAdapter = DABINAdapter - Left = 753 - Top = 383 + OnAfterProcessTransactionAction = pptaNone + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] Height = 300 Width = 300 object schRecepciones: TDASchema @@ -18,6 +20,7 @@ object srvRecepciones: TsrvRecepciones Statements = < item Connection = 'GFT_VARELA' + TargetTable = 'RDX_V_CONTROL_RECEPCION_ALBARANES' SQL = 'SELECT ALBARAN, ESTADOALBARAN, FILIAL, ESTADOPRODUCTO, CODIGO, P' + 'RODUCTO, COLOR, E38,'#10'E40, E42, E44, E46, E48'#10'FROM RDX_V_CONTROL_' + @@ -88,6 +91,7 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -100,6 +104,7 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -112,6 +117,7 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -124,6 +130,7 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -136,6 +143,7 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -148,6 +156,7 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -160,6 +169,7 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -171,6 +181,7 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -182,6 +193,7 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -193,6 +205,7 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -204,6 +217,7 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -215,6 +229,7 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -226,6 +241,7 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> @@ -388,6 +404,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_APROBADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -398,6 +415,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_FECHACAMBIO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -409,6 +427,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_CENTRO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -417,10 +436,10 @@ object srvRecepciones: TsrvRecepciones DataType = datString Size = 25 BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_FILIAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -432,6 +451,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_CODIGO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -440,10 +460,10 @@ object srvRecepciones: TsrvRecepciones DataType = datString Size = 40 BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_PRODUCTO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -455,6 +475,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_COLOR' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -465,6 +486,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_FECHA' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -476,6 +498,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -487,6 +510,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_ESTADO_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -498,6 +522,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_OBSERVACIONES_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -509,6 +534,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_CONTABILIZAR_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -516,10 +542,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E38' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -527,10 +553,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E40' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -538,10 +564,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E42' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -549,10 +575,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E44' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -560,10 +586,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E46' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -571,10 +597,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E48' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -582,10 +608,10 @@ object srvRecepciones: TsrvRecepciones Name = 'ENVIADO' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_ENVIADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -593,10 +619,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R38' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -604,10 +630,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R40' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -615,10 +641,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R42' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -626,10 +652,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R44' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -637,10 +663,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R46' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -648,10 +674,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R48' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -659,10 +685,10 @@ object srvRecepciones: TsrvRecepciones Name = 'RECIBIDO' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_RECIBIDO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -673,6 +699,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -683,6 +710,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -693,6 +721,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -703,6 +732,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -713,6 +743,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -723,6 +754,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -733,6 +765,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RECIBIDO_RECT' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -743,6 +776,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_DIFERENCIA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> @@ -907,6 +941,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_APROBADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -917,6 +952,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_FECHACAMBIO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -928,6 +964,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_CENTRO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -936,10 +973,10 @@ object srvRecepciones: TsrvRecepciones DataType = datString Size = 25 BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_FILIAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -951,6 +988,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_CODIGO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -959,10 +997,10 @@ object srvRecepciones: TsrvRecepciones DataType = datString Size = 40 BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_PRODUCTO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -974,6 +1012,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_COLOR' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -984,6 +1023,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_FECHA' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -995,6 +1035,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1006,6 +1047,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_ESTADO_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1017,6 +1059,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_OBSERVACIONES_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1028,6 +1071,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_CONTABILIZAR_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1035,10 +1079,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E38' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1046,10 +1090,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E40' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1057,10 +1101,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E42' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1068,10 +1112,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E44' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1079,10 +1123,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E46' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1090,10 +1134,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E48' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1101,10 +1145,10 @@ object srvRecepciones: TsrvRecepciones Name = 'ENVIADO' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_ENVIADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1112,10 +1156,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R38' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1123,10 +1167,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R40' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1134,10 +1178,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R42' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1145,10 +1189,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R44' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1156,10 +1200,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R46' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1167,10 +1211,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R48' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1178,10 +1222,10 @@ object srvRecepciones: TsrvRecepciones Name = 'RECIBIDO' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_RECIBIDO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1192,6 +1236,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1202,6 +1247,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1212,6 +1258,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1222,6 +1269,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1232,6 +1280,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1242,6 +1291,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1252,6 +1302,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RECIBIDO_RECT' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1262,6 +1313,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_DIFERENCIA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> @@ -1426,6 +1478,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_APROBADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1436,6 +1489,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_FECHACAMBIO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1447,6 +1501,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_CENTRO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1455,10 +1510,10 @@ object srvRecepciones: TsrvRecepciones DataType = datString Size = 25 BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_FILIAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1470,6 +1525,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_CODIGO' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1478,10 +1534,10 @@ object srvRecepciones: TsrvRecepciones DataType = datString Size = 40 BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_PRODUCTO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1493,6 +1549,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_COLOR' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1503,6 +1560,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_FECHA' InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1514,6 +1572,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1525,6 +1584,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_ESTADO_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1536,6 +1596,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_OBSERVACIONES_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1547,6 +1608,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_CONTABILIZAR_ALBARAN' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1554,10 +1616,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E38' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1565,10 +1627,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E40' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1576,10 +1638,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E42' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1587,10 +1649,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E44' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1598,10 +1660,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E46' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1609,10 +1671,10 @@ object srvRecepciones: TsrvRecepciones Name = 'E48' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_E48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1620,10 +1682,10 @@ object srvRecepciones: TsrvRecepciones Name = 'ENVIADO' DataType = datInteger BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_ENVIADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1631,10 +1693,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R38' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1642,10 +1704,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R40' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1653,10 +1715,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R42' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1664,10 +1726,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R44' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1675,10 +1737,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R46' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1686,10 +1748,10 @@ object srvRecepciones: TsrvRecepciones Name = 'R48' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_R48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1697,10 +1759,10 @@ object srvRecepciones: TsrvRecepciones Name = 'RECIBIDO' DataType = datFloat BlobType = dabtUnknown - LogChanges = False DictionaryEntry = 'Recepciones_RECIBIDO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1711,6 +1773,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1721,6 +1784,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1731,6 +1795,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1741,6 +1806,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1751,6 +1817,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1761,6 +1828,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RR48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1771,6 +1839,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_RECIBIDO_RECT' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1781,6 +1850,7 @@ object srvRecepciones: TsrvRecepciones DictionaryEntry = 'Recepciones_DIFERENCIA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> @@ -1849,6 +1919,7 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1860,12 +1931,15 @@ object srvRecepciones: TsrvRecepciones Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> BusinessRulesClient.ScriptLanguage = rslPascalScript BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = < item Params = < @@ -1987,48 +2061,49 @@ object srvRecepciones: TsrvRecepciones Connection = 'GFT_VARELA' TargetTable = 'RDX_V_CONTROL_RECEPCION' SQL = - 'begin'#10#9'declare @rowcount_var int'#10' declare @ALBARAN char(7)'#10' ' + - ' declare @ESTADO_ALBARAN varchar(20)'#10' declare @OBSERVACIONES' + - '_ALBARAN varchar(255)'#10' declare @CONTABILIZAR_ALBARAN char(1)'#10 + - #10' declare @RR38 numeric(15,0)'#10' declare @RR40 numeric(15,0)' + - #10' declare @RR42 numeric(15,0)'#10' declare @RR44 numeric(15,0)' + - #10' declare @RR46 numeric(15,0)'#10' declare @RR48 numeric(15,0)' + - #10#10' declare @APROBADO char(1)'#10' declare @FECHA datetime'#10' ' + - 'declare @CENTRO varchar(17)'#10' declare @CODIGO varchar(12)'#10' ' + - 'declare @COLOR varchar(10)'#10#10' set @ALBARAN = :ALBARAN'#10' set ' + - '@ESTADO_ALBARAN = :ESTADO_ALBARAN'#10' set @OBSERVACIONES_ALBARAN' + - ' = :OBSERVACIONES_ALBARAN'#10' set @CONTABILIZAR_ALBARAN = :CONTA' + - 'BILIZAR_ALBARAN'#10#10' set @RR38 = :RR38'#10' set @RR40 = :RR40'#10' ' + - ' set @RR42 = :RR42'#10' set @RR44 = :RR44'#10' set @RR46 = :RR46'#10' ' + - ' set @RR48 = :RR48'#10#10' set @APROBADO = :APROBADO'#10' set @FEC' + - 'HA = :FECHA'#10' set @CENTRO = :CENTRO'#10' set @CODIGO = :CODIGO'#10 + - ' set @COLOR = :COLOR'#10#10#10' /* *******************************' + - '**** */'#10' if @ALBARAN <> '#39#39#10' begin'#10' update RDX_AJUS' + - 'TES_ALBARAN set'#10#9' ESTADO = @ESTADO_ALBARAN,'#10#9' OBSERV' + - 'ACIONES = @OBSERVACIONES_ALBARAN,'#10#9' CONTABILIZAR = @CONTAB' + - 'ILIZAR_ALBARAN'#10' where RDX_AJUSTES_ALBARAN.ALBARAN = @ALB' + - 'ARAN'#10#10#9' select @ROWCOUNT_VAR = @@ROWCOUNT'#10#10' if @ROWCOUNT_VAR' + - ' = 0'#10#9' begin'#10' insert into RDX_AJUSTES_ALBARAN'#10' ' + - ' (ALBARAN, ESTADO, OBSERVACIONES, CONTABI' + - 'LIZAR)'#10#9' values (@ALBARAN, @ESTADO_ALBARAN,'#10' ' + - ' @OBSERVACIONES_ALBARAN, @CONTABILIZAR_ALBARAN)'#10' e' + - 'nd'#10' end'#10#10' /* *********************************** */'#10#9'upda' + - 'te RDX_RECEPCION_AJUSTES set'#10#9' CANT38 = @RR38,'#10#9' ' + - ' CANT40 = @RR40,'#10#9' CANT42 = @RR42,'#10#9' CAN' + - 'T44 = @RR44,'#10#9' CANT46 = @RR46,'#10#9' CANT48 = @R' + - 'R48,'#10' APROBADO = @APROBADO,'#10' FECHACA' + - 'MBIO = CURRENT_TIMESTAMP'#10#9'where'#10' (RDX_RECEPCION_AJUS' + - 'TES.CENTRO = @CENTRO and'#10#9' RDX_RECEPCION_AJUSTES.CODIGO = @' + - 'CODIGO and'#10#9' RDX_RECEPCION_AJUSTES.COLOR = @COLOR and'#10#9' ' + - ' RDX_RECEPCION_AJUSTES.FECHA = @FECHA)'#10#10#9'select @ROWCOUNT_VAR =' + - ' @@ROWCOUNT'#10#10#9'if @ROWCOUNT_VAR = 0'#10' begin'#10' insert int' + - 'o RDX_RECEPCION_AJUSTES'#10' (FECHA, CENTRO, CODIGO, ' + - 'COLOR,'#10' APROBADO, FECHACAMBIO,'#10' ' + - 'CANT38, CANT40, CANT42,'#10' CANT44, CANT46, CANT48)' + - #10' values ('#10' @FECHA, @CENTRO, @CODIGO,'#10' ' + - ' @COLOR, @APROBADO, CURRENT_TIMESTAMP,'#10' ' + - ' @RR38, @RR40, @RR42,'#10' @RR44, @RR46, @RR48)' + - #10' end'#10'end' + 'begin'#10' declare @rowcount_var int'#10' declare @ALBARAN char(7)' + + #10' declare @ESTADO_ALBARAN varchar(20)'#10' declare @OBSERVACIO' + + 'NES_ALBARAN varchar(255)'#10' declare @CONTABILIZAR_ALBARAN char(' + + '1)'#10#10' declare @RR38 numeric(15,0)'#10' declare @RR40 numeric(15' + + ',0)'#10' declare @RR42 numeric(15,0)'#10' declare @RR44 numeric(15' + + ',0)'#10' declare @RR46 numeric(15,0)'#10' declare @RR48 numeric(15' + + ',0)'#10#10' declare @APROBADO char(1)'#10' declare @FECHA datetime'#10' ' + + ' declare @CENTRO varchar(17)'#10' declare @CODIGO varchar(12)'#10' ' + + ' declare @COLOR varchar(10)'#10#10' set @ALBARAN = :ALBARAN'#10' s' + + 'et @ESTADO_ALBARAN = :ESTADO_ALBARAN'#10' set @OBSERVACIONES_ALBA' + + 'RAN = :OBSERVACIONES_ALBARAN'#10' set @CONTABILIZAR_ALBARAN = :CO' + + 'NTABILIZAR_ALBARAN'#10#10' set @RR38 = :RR38'#10' set @RR40 = :RR40'#10 + + ' set @RR42 = :RR42'#10' set @RR44 = :RR44'#10' set @RR46 = :RR4' + + '6'#10' set @RR48 = :RR48'#10#10' set @APROBADO = :APROBADO'#10' set @' + + 'FECHA = :FECHA'#10' set @CENTRO = :CENTRO'#10' set @CODIGO = :CODI' + + 'GO'#10' set @COLOR = :COLOR'#10#10#10' /* ****************************' + + '******* */'#10' if @ALBARAN <> '#39#39#10' begin'#10' update RDX_A' + + 'JUSTES_ALBARAN set'#10#9' ESTADO = @ESTADO_ALBARAN,'#10#9' OBS' + + 'ERVACIONES = @OBSERVACIONES_ALBARAN,'#10#9' CONTABILIZAR = @CON' + + 'TABILIZAR_ALBARAN'#10' where RDX_AJUSTES_ALBARAN.ALBARAN = @' + + 'ALBARAN'#10#10#9' select @ROWCOUNT_VAR = @@ROWCOUNT'#10#10' if @ROWCO' + + 'UNT_VAR = 0'#10#9' begin'#10' insert into RDX_AJUSTES_ALBARAN' + + #10' (ALBARAN, ESTADO, OBSERVACIONES, CONTABILIZ' + + 'AR)'#10' values (@ALBARAN, @ESTADO_ALBARAN,'#10' ' + + ' @OBSERVACIONES_ALBARAN, @CONTABILIZAR_ALBARAN)'#10#10' ' + + ' select @ROWCOUNT_VAR = @@ROWCOUNT'#10' end'#10' end'#10#10' ' + + ' /* *********************************** */'#10#9'update RDX_RECEPCI' + + 'ON_AJUSTES set'#10#9' CANT38 = @RR38,'#10#9' CANT40 = ' + + '@RR40,'#10#9' CANT42 = @RR42,'#10#9' CANT44 = @RR44,'#10#9 + + ' CANT46 = @RR46,'#10#9' CANT48 = @RR48,'#10' ' + + ' APROBADO = @APROBADO,'#10' FECHACAMBIO = CURRENT' + + '_TIMESTAMP'#10#9'where'#10' (RDX_RECEPCION_AJUSTES.CENTRO = @' + + 'CENTRO and'#10#9' RDX_RECEPCION_AJUSTES.CODIGO = @CODIGO and'#10#9' ' + + ' RDX_RECEPCION_AJUSTES.COLOR = @COLOR and'#10#9' RDX_RECEPCIO' + + 'N_AJUSTES.FECHA = @FECHA)'#10#10#9'select @ROWCOUNT_VAR = @@ROWCOUNT'#10#10#9 + + 'if @ROWCOUNT_VAR = 0'#10' begin'#10' insert into RDX_RECE' + + 'PCION_AJUSTES'#10' (FECHA, CENTRO, CODIGO, COLOR,'#10' ' + + ' APROBADO, FECHACAMBIO,'#10' CANT38, CA' + + 'NT40, CANT42,'#10' CANT44, CANT46, CANT48)'#10' ' + + 'values ('#10' @FECHA, @CENTRO, @CODIGO,'#10' ' + + ' @COLOR, @APROBADO, CURRENT_TIMESTAMP,'#10' @RR3' + + '8, @RR40, @RR42,'#10' @RR44, @RR46, @RR48)'#10#10' ' + + ' select @ROWCOUNT_VAR = @@ROWCOUNT'#10' end'#10'end'#10 StatementType = stSQL ColumnMappings = <> end> @@ -2036,6 +2111,7 @@ object srvRecepciones: TsrvRecepciones end> RelationShips = <> UpdateRules = <> + Version = 0 Left = 48 Top = 32 end @@ -2044,7 +2120,7 @@ object srvRecepciones: TsrvRecepciones UpdateCommandName = 'Update_Estado_Recepciones' RefreshDatasetName = 'RefreshRecepciones' ReferencedDataset = 'Recepciones' - ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands] + ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands, poIgnoreRowsAffected] UpdateMode = updWhereKeyOnly Left = 192 Top = 32 @@ -2054,7 +2130,7 @@ object srvRecepciones: TsrvRecepciones UpdateCommandName = 'Update_Estado_Recepciones' RefreshDatasetName = 'RefreshRecepciones' ReferencedDataset = 'RecepcionesAprobadas' - ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands] + ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands, poIgnoreRowsAffected] UpdateMode = updWhereKeyOnly Left = 192 Top = 88 @@ -2064,7 +2140,7 @@ object srvRecepciones: TsrvRecepciones UpdateCommandName = 'Update_Estado_Recepciones' RefreshDatasetName = 'RefreshRecepciones' ReferencedDataset = 'RecepcionesPendientes' - ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands] + ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands, poIgnoreRowsAffected] UpdateMode = updWhereKeyOnly Left = 192 Top = 152 @@ -2398,6 +2474,8 @@ object srvRecepciones: TsrvRecepciones Top = 104 end object DABINAdapter: TDABINAdapter + BufferSize = 262144 + IsCompatibleV4 = True Left = 48 Top = 168 end diff --git a/Source/Modulos/Recepciones/Servidor/srvRecepciones_Impl.pas b/Source/Modulos/Recepciones/Servidor/srvRecepciones_Impl.pas index e75655c..0e9d902 100644 --- a/Source/Modulos/Recepciones/Servidor/srvRecepciones_Impl.pas +++ b/Source/Modulos/Recepciones/Servidor/srvRecepciones_Impl.pas @@ -13,10 +13,10 @@ uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, {Ancestor Implementation:} DARemoteService_Impl, - {Used RODLs:} DataAbstract_Intf, + {Used RODLs:} DataAbstract3_Intf, uDAScriptingProvider, uDABusinessProcessor, {Generated:} VARELA_Intf, uDAClasses, - uDAInterfaces, uDADataTable, uDABINAdapter; + uDAInterfaces, uDADataTable, uDABINAdapter, uDADataStreamer; type { TsrvRecepciones } diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.bdsproj b/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.bdsproj new file mode 100644 index 0000000..d5c0d3d --- /dev/null +++ b/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.bdsproj @@ -0,0 +1,677 @@ + + + + + + + + + + + + ReferenciaGenerica.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7 + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.dpk b/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.dpk index ce8f817..ba30062 100644 --- a/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.dpk +++ b/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.dpk @@ -22,46 +22,46 @@ package ReferenciaGenerica; {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} +{$IMPLICITBUILD ON} +{$DEFINE DEBUG} requires rtl, dbrtl, dsnap, - BaseD7, - DataAbstract_D7, + BaseD10, vcl, adortl, - PluginSDK_D7R, - PngComponentsD7, - PNG_D7, + PluginSDK_D10R, + PngComponentsD10, + PNG_D10, vclactnband, vclx, - GUISDK_D7, - tb2k_d7, - tbx_d7, - JvCoreD7R, + GUISDK_D10, + tb2k_D10, + tbx_D10, + JvCoreD10R, vcljpg, Jcl, JclVcl, - JvSystemD7R, - JvPageCompsD7R, - JvStdCtrlsD7R, - cxTreeListVCLD7, - dxThemeD7, - cxLibraryVCLD7, - cxExportVCLD7, - cxEditorsVCLD7, - cxDataD7, + JvSystemD10R, + JvPageCompsD10R, + JvStdCtrlsD10R, + cxTreeListD10, + dxThemeD10, + cxLibraryD10, + cxExportD10, + cxEditorsD10, + cxDataD10, vcldb, - JvGlobusD7R, - ControlesBaseD7, - cxGridVCLD7, - cxPageControlVCLD7, - cxExtEditorsVCLD7, - dxPSCoreD7, - dxComnD7, - JvCustomD7R; + JvGlobusD10R, + ControlesBaseD10, + cxGridD10, + cxPageControlD10, + cxExtEditorsD10, + dxPSCoreD10, + dxComnD10, + JvCustomD10R; contains uPluginControllerReferenciaGenerica in 'uPluginControllerReferenciaGenerica.pas' {ModuleReferenciaGenerica: TModuleController}, diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.dproj b/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.dproj new file mode 100644 index 0000000..148510f --- /dev/null +++ b/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.dproj @@ -0,0 +1,657 @@ + + + {d34ce1e7-d660-436d-a982-7683ff67eecd} + ReferenciaGenerica.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\ReferenciaGenerica.bpl + + + 7.0 + False + False + False + 0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + RELEASE + + + 7.0 + False + 0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + DEBUG + + + Delphi.Personality + Package + + + False + True + False + + + True + False + False + + + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + ReferenciaGenerica.dpk + + + + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dmReferenciaGenerica
+
+ +
fEditorCambioReferenciaGenerica
+
+ +
fEditorListaReferenciaGenerica
+
+ +
ModuleReferenciaGenerica
+
+ +
frViewListaReferenciaGenerica
+
+
+ +
+ + diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.drc b/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.drc index a5d5271..6087eef 100644 --- a/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.drc +++ b/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.drc @@ -1,5 +1,5 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,10 @@ STRINGTABLE BEGIN END +/* C:\Varela_D2007\Source\Modulos\ReferenciaGenerica\Cliente\uDataModuleReferenciaGenerica.dfm */ +/* C:\Varela_D2007\Source\Modulos\ReferenciaGenerica\Cliente\uViewListaReferenciaGenerica.dfm */ +/* C:\Varela_D2007\Source\Modulos\ReferenciaGenerica\Cliente\uEditorListaReferenciaGenerica.dfm */ +/* C:\Varela_D2007\Source\Modulos\ReferenciaGenerica\Cliente\uPluginControllerReferenciaGenerica.dfm */ +/* C:\Varela_D2007\Source\Modulos\ReferenciaGenerica\Cliente\uEditorCambioReferenciaGenerica.dfm */ +/* C:\Varela_D2007\Source\Modulos\ReferenciaGenerica\Cliente\ReferenciaGenerica.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf16.tmp */ diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.identcache b/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.identcache new file mode 100644 index 0000000..5cbf90e Binary files /dev/null and b/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.identcache differ diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.rc b/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.rc new file mode 100644 index 0000000..e69de29 diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.res b/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.res index b1dc5fd..36f26e2 100644 Binary files a/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.res and b/Source/Modulos/ReferenciaGenerica/Cliente/ReferenciaGenerica.res differ diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/uDataModuleReferenciaGenerica.dfm b/Source/Modulos/ReferenciaGenerica/Cliente/uDataModuleReferenciaGenerica.dfm index 9bb35c4..fa19a3d 100644 --- a/Source/Modulos/ReferenciaGenerica/Cliente/uDataModuleReferenciaGenerica.dfm +++ b/Source/Modulos/ReferenciaGenerica/Cliente/uDataModuleReferenciaGenerica.dfm @@ -1,26 +1,112 @@ object dmReferenciaGenerica: TdmReferenciaGenerica OldCreateOrder = True OnCreate = DAClientDataModuleCreate - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter - SchemaCall.MethodName = 'GetSchemaAsXML' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtString - end> - Left = 566 - Top = 400 Height = 297 Width = 298 object RORemoteService: TRORemoteService - ServiceName = 'srvReferenciaGenerica' Message = dmBase.ROMessage Channel = dmBase.ROChannel + ServiceName = 'srvReferenciaGenerica' Left = 40 Top = 32 end + object ds_ReferenciaGenerica: TDADataSource + Left = 192 + Top = 96 + end + object DARemoteDataAdapter: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RORemoteService + GetSchemaCall.MethodName = 'GetSchemaAsXML' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetDataCall.RemoteService = RORemoteService + GetDataCall.MethodName = 'GetDatasetData' + GetDataCall.Params = < + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + Value = 'ReferenciaGenerica' + end + item + Name = 'Params' + DataType = rtString + Flag = fIn + Value = Null + end + item + Name = 'IncludeSchema' + DataType = rtBoolean + Flag = fIn + Value = False + end + item + Name = 'MaxRecords' + DataType = rtInteger + Flag = fIn + Value = -1 + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'DatasetName' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + GetDataCall.OutgoingParamsParameter = 'Params' + GetDataCall.OutgoingIncludeSchemaParameter = 'IncludeSchema' + GetDataCall.OutgoingMaxRecordsParameter = 'MaxRecords' + UpdateDataCall.RemoteService = RORemoteService + UpdateDataCall.MethodName = 'UpdateData' + UpdateDataCall.Params = < + item + Name = 'Delta' + DataType = rtBinary + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + UpdateDataCall.Default = False + UpdateDataCall.OutgoingDeltaParameter = 'Delta' + UpdateDataCall.IncomingDeltaParameter = 'Result' + GetScriptsCall.RemoteService = RORemoteService + GetScriptsCall.MethodName = 'GetDatasetScripts' + GetScriptsCall.Params = < + item + Name = 'DatasetNames' + DataType = rtString + Flag = fIn + end + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetScriptsCall.Default = False + GetScriptsCall.OutgoingTableNamesParameter = 'DatasetNames' + GetScriptsCall.IncomingScriptParameter = 'Result' + RemoteService = RORemoteService + DataStreamer = DABinDataStreamer1 + Left = 40 + Top = 96 + end + object DABinDataStreamer1: TDABinDataStreamer + IsCompatibleV4 = False + Left = 40 + Top = 160 + end object tbl_ReferenciaGenerica: TDACDSDataTable RemoteUpdatesOptions = [] Fields = < @@ -28,348 +114,114 @@ object dmReferenciaGenerica: TdmReferenciaGenerica Name = 'NUMINF' DataType = datString Size = 35 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE1' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE2' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE3' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NUMCON' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODCENTRO' DataType = datString Size = 17 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CENTRO' DataType = datString Size = 45 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODVENDEDOR' DataType = datString Size = 17 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VENDEDOR' DataType = datString Size = 86 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NUMTALON' DataType = datString Size = 35 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO_BARRA' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PRODUCTO' DataType = datString Size = 40 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA' DataType = datString Size = 8 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VTAPROCESO' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VTAFINAL' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VTATERM' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VALTOT' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ESTADO' DataType = datString Size = 1 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHACAMBIO' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - 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 = 'ReferenciaGenerica' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'ReferenciaGenerica' - 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 = 'ReferenciaGenerica' - end> - ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter + RemoteDataAdapter = DARemoteDataAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'ReferenciaGenerica' IndexDefs = <> Left = 192 - Top = 32 - end - object ds_ReferenciaGenerica: TDADataSource - DataTable = tbl_ReferenciaGenerica - Left = 192 - Top = 96 + Top = 40 end end diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/uDataModuleReferenciaGenerica.pas b/Source/Modulos/ReferenciaGenerica/Cliente/uDataModuleReferenciaGenerica.pas index 91674a9..2615ede 100644 --- a/Source/Modulos/ReferenciaGenerica/Cliente/uDataModuleReferenciaGenerica.pas +++ b/Source/Modulos/ReferenciaGenerica/Cliente/uDataModuleReferenciaGenerica.pas @@ -6,13 +6,15 @@ uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uDAClientDataModule, uDADataTable, uDAScriptingProvider, uDACDSDataTable, uDABINAdapter, uROServiceComponent, uRORemoteService, uROClient, uROBinMessage, uROWinInetHttpChannel, uDataModuleBase, - uBizReferenciaGenerica; + uBizReferenciaGenerica, uDARemoteDataAdapter, uDAInterfaces, uDADataStreamer; type TdmReferenciaGenerica = class(TDAClientDataModule) RORemoteService: TRORemoteService; - tbl_ReferenciaGenerica: TDACDSDataTable; ds_ReferenciaGenerica: TDADataSource; + DARemoteDataAdapter: TDARemoteDataAdapter; + DABinDataStreamer1: TDABinDataStreamer; + tbl_ReferenciaGenerica: TDACDSDataTable; procedure DAClientDataModuleCreate(Sender: TObject); private { Private declarations } @@ -77,6 +79,7 @@ begin CopyDataTable(AItems.DataTable, dtLista, True); dtLista.BusinessRulesID := BIZ_REFERENCIAGENERICA; dtLista.LogChanges := True; // Para guardar los cambios + dtLista.RemoteFetchEnabled := True; // Para guardar los cambios Result := (dtLista as IBizReferenciaGenerica); finally HideHourglassCursor; diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/uEditorCambioReferenciaGenerica.dfm b/Source/Modulos/ReferenciaGenerica/Cliente/uEditorCambioReferenciaGenerica.dfm index 53e08e3..9562cb5 100644 --- a/Source/Modulos/ReferenciaGenerica/Cliente/uEditorCambioReferenciaGenerica.dfm +++ b/Source/Modulos/ReferenciaGenerica/Cliente/uEditorCambioReferenciaGenerica.dfm @@ -1,10 +1,10 @@ object fEditorCambioReferenciaGenerica: TfEditorCambioReferenciaGenerica Left = 418 Top = 278 - Width = 767 - Height = 569 BorderIcons = [biSystemMenu, biMaximize] Caption = 'Rectificar referencia gen'#233'rica de producto' + ClientHeight = 535 + ClientWidth = 759 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -448,7 +448,6 @@ object fEditorCambioReferenciaGenerica: TfEditorCambioReferenciaGenerica end end object dsDataSource: TDADataSource - DataTable = dmReferenciaGenerica.tbl_ReferenciaGenerica Left = 200 Top = 496 end diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/uEditorCambioReferenciaGenerica.pas b/Source/Modulos/ReferenciaGenerica/Cliente/uEditorCambioReferenciaGenerica.pas index c17b67a..3740253 100644 --- a/Source/Modulos/ReferenciaGenerica/Cliente/uEditorCambioReferenciaGenerica.pas +++ b/Source/Modulos/ReferenciaGenerica/Cliente/uEditorCambioReferenciaGenerica.pas @@ -18,7 +18,7 @@ uses cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, cxGridBandedTableView, cxGridDBBandedTableView, cxCurrencyEdit, cxSpinEdit, cxButtonEdit, - cxTextEdit, cxEditRepositoryItems; + cxTextEdit, cxEditRepositoryItems, uDAInterfaces; type IEditorCambioReferenciaGenerica = interface @@ -91,6 +91,7 @@ type FItems : IBizReferenciaGenerica; FCodigoBarras : String; FHayErrores : Boolean; + FItemsErroneos : Integer; procedure DesglosarReferencia; protected function GetItems : IBizReferenciaGenerica; @@ -148,6 +149,7 @@ procedure TfEditorCambioReferenciaGenerica.FormShow(Sender: TObject); begin FCodigoBarras := ''; FHayErrores := False; + FItemsErroneos := 0; FItems.DataTable.Open; cxGridView.DataController.GotoFirst; end; @@ -213,6 +215,7 @@ var ABookmark : Pointer; begin FHayErrores := False; + FItemsErroneos := 0; FItems.DataTable.DisableControls; ABookmark := FItems.DataTable.GetBookMark; try @@ -231,6 +234,7 @@ begin end else begin FHayErrores := True; + FItemsErroneos := FItemsErroneos + 1; FItems.PRODUCTO := '*** PRODUCTO NO ENCONTRADO ***'; end; FItems.Post; @@ -256,9 +260,14 @@ begin bComprobar.Click; if FHayErrores then if (Application.MessageBox('Hay códigos de producto que no se han encontrado o son incorrectos.' + #10#13 + - '¿Desea guardar los cambios de aquellos que están bien?', 'Atención', MB_YESNO) = IDNO) then - Exit; - FItems.DataTable.ApplyUpdates; + '¿Desea guardar los cambios de solamente aquellos que están bien?', 'Atención', MB_YESNO) = IDNO) then + Exit; + + // Adaptación a DA5 + // Sólo guardar en el caso de que haya algún item correcto. Si todos están mal da una excepción el servidor + // porque no hay filas a actualizar. + if FItemsErroneos < FItems.DataTable.RecordCount then + FItems.DataTable.ApplyUpdates; Close; end; diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/uEditorListaReferenciaGenerica.dfm b/Source/Modulos/ReferenciaGenerica/Cliente/uEditorListaReferenciaGenerica.dfm index 0891932..4f2abe1 100644 --- a/Source/Modulos/ReferenciaGenerica/Cliente/uEditorListaReferenciaGenerica.dfm +++ b/Source/Modulos/ReferenciaGenerica/Cliente/uEditorListaReferenciaGenerica.dfm @@ -1,21 +1,27 @@ inherited fEditorListaReferenciaGenerica: TfEditorListaReferenciaGenerica Left = 301 Top = 227 - Width = 909 - Height = 671 Caption = 'Control de referencias gen'#233'ricas' + ClientHeight = 637 + ClientWidth = 901 + ExplicitWidth = 909 + ExplicitHeight = 671 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader Width = 901 Caption = 'Control de referencias gen'#233'ricas' + ExplicitWidth = 901 inherited Image1: TImage Left = 874 + ExplicitLeft = 874 end end inherited TBXDock: TTBXDock Width = 901 + ExplicitWidth = 901 inherited tbxMain: TTBXToolbar + ExplicitWidth = 691 object TBXSubmenuItem2: TTBXSubmenuItem [7] Caption = 'Cambiar el estado' DropdownCombo = True @@ -42,13 +48,19 @@ inherited fEditorListaReferenciaGenerica: TfEditorListaReferenciaGenerica DisplayMode = nbdmImageAndText end end + inherited tbxMenu: TTBXToolbar + ExplicitWidth = 901 + end inherited tbxFiltro: TTBXToolbar Left = 691 + ExplicitLeft = 691 end end inherited StatusBar: TStatusBar Top = 618 Width = 901 + ExplicitTop = 618 + ExplicitWidth = 901 end inline frViewListaReferenciaGenerica1: TfrViewListaReferenciaGenerica [3] Left = 0 @@ -64,9 +76,14 @@ inherited fEditorListaReferenciaGenerica: TfEditorListaReferenciaGenerica ParentFont = False TabOrder = 3 ReadOnly = False + ExplicitTop = 105 + ExplicitWidth = 901 + ExplicitHeight = 513 inherited cxGrid: TcxGrid Width = 901 Height = 513 + ExplicitWidth = 901 + ExplicitHeight = 513 inherited cxGridView: TcxGridDBTableView DataController.Summary.DefaultGroupSummaryItems = < item diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/uEditorListaReferenciaGenerica.pas b/Source/Modulos/ReferenciaGenerica/Cliente/uEditorListaReferenciaGenerica.pas index 7b6b3b5..d4e4299 100644 --- a/Source/Modulos/ReferenciaGenerica/Cliente/uEditorListaReferenciaGenerica.pas +++ b/Source/Modulos/ReferenciaGenerica/Cliente/uEditorListaReferenciaGenerica.pas @@ -18,7 +18,7 @@ uses TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uBizReferenciaGenerica, uCustomView, uViewBase, uViewControlGrid, uViewListaReferenciaGenerica, uViewGridBase, uViewGrid, - JvTabBar, Grids, DBGrids, StdCtrls, Buttons; + JvTabBar, Grids, DBGrids, StdCtrls, Buttons, uDAInterfaces; type IEditorListaReferenciaGenerica = interface(IEditorGridBase) diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/uViewListaReferenciaGenerica.dfm b/Source/Modulos/ReferenciaGenerica/Cliente/uViewListaReferenciaGenerica.dfm index 1978ce1..dc062a3 100644 --- a/Source/Modulos/ReferenciaGenerica/Cliente/uViewListaReferenciaGenerica.dfm +++ b/Source/Modulos/ReferenciaGenerica/Cliente/uViewListaReferenciaGenerica.dfm @@ -1,7 +1,9 @@ inherited frViewListaReferenciaGenerica: TfrViewListaReferenciaGenerica Width = 504 + ExplicitWidth = 504 inherited cxGrid: TcxGrid Width = 504 + ExplicitWidth = 504 inherited cxGridView: TcxGridDBTableView OnMouseDown = cxGridViewMouseDown FilterBox.Visible = fvNever diff --git a/Source/Modulos/ReferenciaGenerica/Cliente/uViewListaReferenciaGenerica.pas b/Source/Modulos/ReferenciaGenerica/Cliente/uViewListaReferenciaGenerica.pas index fe77839..5150184 100644 --- a/Source/Modulos/ReferenciaGenerica/Cliente/uViewListaReferenciaGenerica.pas +++ b/Source/Modulos/ReferenciaGenerica/Cliente/uViewListaReferenciaGenerica.pas @@ -18,7 +18,7 @@ uses cxControls, cxGridCustomView, cxGrid, uBizReferenciaGenerica, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, cxCalendar, cxTextEdit, - cxCurrencyEdit, dxPSCore, uDADataTable, StdCtrls; + cxCurrencyEdit, dxPSCore, uDADataTable, StdCtrls, uDAInterfaces; type IViewListaReferenciaGenerica = interface(IViewGrid) diff --git a/Source/Modulos/ReferenciaGenerica/Reglas/uBizReferenciaGenericaServer.pas b/Source/Modulos/ReferenciaGenerica/Reglas/uBizReferenciaGenericaServer.pas index 668cb8e..0604d66 100644 --- a/Source/Modulos/ReferenciaGenerica/Reglas/uBizReferenciaGenericaServer.pas +++ b/Source/Modulos/ReferenciaGenerica/Reglas/uBizReferenciaGenericaServer.pas @@ -14,7 +14,7 @@ uses Classes, SysUtils, uDADataTable, uDAInterfaces, schReferenciaGenericaServer_Intf, - uDABusinessProcessor; + uDABusinessProcessor, uDADelta; const BIZ_SERVER_REFERENCIA_GENERICA = 'Server.ReferenciaGenerica'; diff --git a/Source/Modulos/ReferenciaGenerica/Servidor/srvReferenciaGenerica_Impl.dfm b/Source/Modulos/ReferenciaGenerica/Servidor/srvReferenciaGenerica_Impl.dfm index 32b124f..6095da5 100644 --- a/Source/Modulos/ReferenciaGenerica/Servidor/srvReferenciaGenerica_Impl.dfm +++ b/Source/Modulos/ReferenciaGenerica/Servidor/srvReferenciaGenerica_Impl.dfm @@ -5,8 +5,10 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica AcquireConnection = True ServiceSchema = schReferenciaGenerica ServiceAdapter = DABINAdapter - Left = 533 - Top = 395 + OnAfterProcessTransactionAction = pptaNone + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] Height = 362 Width = 469 object schReferenciaGenerica: TDASchema @@ -88,6 +90,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -99,6 +102,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -110,6 +114,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -121,6 +126,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -132,6 +138,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> @@ -207,6 +214,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -219,6 +227,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -231,6 +240,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -243,6 +253,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -254,6 +265,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -266,6 +278,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -278,6 +291,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -289,6 +303,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> @@ -360,6 +375,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -372,6 +388,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -384,6 +401,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -396,6 +414,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -408,6 +427,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> @@ -534,6 +554,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -545,6 +566,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -556,6 +578,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -567,6 +590,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -578,6 +602,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -589,6 +614,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -601,6 +627,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -613,6 +640,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -625,6 +653,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -637,6 +666,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -649,6 +679,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -661,6 +692,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -673,6 +705,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -685,6 +718,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -697,6 +731,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -709,6 +744,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -720,6 +756,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -731,6 +768,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -742,6 +780,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -753,6 +792,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -765,6 +805,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -776,12 +817,15 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> BusinessRulesClient.ScriptLanguage = rslPascalScript BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = < item Params = < @@ -1079,6 +1123,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica end> RelationShips = <> UpdateRules = <> + Version = 0 Left = 56 Top = 32 end @@ -1101,6 +1146,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Top = 128 end object dsReferenciasGenericas: TDADataSource + DataSet = tbl_ReferenciasGenericas.Dataset DataTable = tbl_ReferenciasGenericas Left = 120 Top = 176 @@ -1182,12 +1228,7 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica MasterMappingMode = mmDataRequest StreamingOptions = [soDisableEventsWhileStreaming] RemoteFetchEnabled = False - SchemaCall.Params = <> - DataRequestCall.Params = <> - DataUpdateCall.Params = <> - ScriptCall.Params = <> ReadOnly = False - Adapter = DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] IndexDefs = <> @@ -1253,6 +1294,8 @@ object srvReferenciaGenerica: TsrvReferenciaGenerica Top = 144 end object DABINAdapter: TDABINAdapter + BufferSize = 262144 + IsCompatibleV4 = True Left = 336 Top = 32 end diff --git a/Source/Modulos/ReferenciaGenerica/Servidor/srvReferenciaGenerica_Impl.pas b/Source/Modulos/ReferenciaGenerica/Servidor/srvReferenciaGenerica_Impl.pas index eed3af7..47b0d33 100644 --- a/Source/Modulos/ReferenciaGenerica/Servidor/srvReferenciaGenerica_Impl.pas +++ b/Source/Modulos/ReferenciaGenerica/Servidor/srvReferenciaGenerica_Impl.pas @@ -13,11 +13,11 @@ uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, {Ancestor Implementation:} DARemoteService_Impl, - {Used RODLs:} DataAbstract_Intf, + {Used RODLs:} DataAbstract3_Intf, {Generated:} VARELA_Intf, uDAClasses, uDAScriptingProvider, uDABusinessProcessor, uDADataTable, uDACDSDataTable, frxClass, DB, frxDBSet, ADODB, uDAInterfaces, uROClient, uROEventRepository, - uDABINAdapter; + uDABINAdapter, uDADataStreamer; type { TsrvReferenciaGenerica } diff --git a/Source/Modulos/Stock/Cliente/Stock.bdsproj b/Source/Modulos/Stock/Cliente/Stock.bdsproj new file mode 100644 index 0000000..3e22257 --- /dev/null +++ b/Source/Modulos/Stock/Cliente/Stock.bdsproj @@ -0,0 +1,677 @@ + + + + + + + + + + + + Stock.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;PluginSDK_D7R;DJcl;JvStdCtrlsD7R;JvAppFrmD7R;JvCoreD7R;JvBandsD7R;JvBDED7R;JvDBD7R;JvDlgsD7R;JvCmpD7R;JvCryptD7R;JvCtrlsD7R;JvCustomD7R;JvDockingD7R;JvDotNetCtrlsD7R;JvEDID7R;qrpt;JvGlobusD7R;JvHMID7R;JvInspectorD7R;JvInterpreterD7R;JvJansD7R;JvManagedThreadsD7R;JvMMD7R;JvNetD7R;JvPageCompsD7R;JvPluginD7R;JvPrintPreviewD7R;JvSystemD7R;JvTimeFrameworkD7R;JvUIBD7R;JvValidatorsD7R;JvWizardD7R;JvXPCtrlsD7R;GUISDK_D7;RemObjects_WebBroker_D7;RemObjects_Indy_D7;RemObjects_RODX_D7;RemObjects_BPDX_D7;PascalScript_RO_D7;DataAbstract_Core_D7;DataAbstract_IDE_D7;DataAbstract_DBXDriver_D7;DataAbstract_Scripting_D7;dxBarD7;dxComnD7;cxLibraryVCLD7;cxEditorsVCLD7;dxThemeD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;cxTreeListVCLD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxNavBarD7;dxPSCoreD7;dxsbD7;dxPSLnksD7;dxPSTeeChartD7;EPCOTAUtils70;PNG_D7;PngComponentsD7;tb2k_d7;tbx_d7;UserControlD7_RT;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fs7;fsADO7;fsBDE7;fsDB7;fsIBX7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;dxPScxCommonD7;dxPScxExtCommonD7;dxPScxGridLnkD7;dxPScxPCProdD7;dxPScxTLLnkD7;dxPSDBTeeChartD7;dxPsPrVwAdvD7;TMSD7;FR7;FRIBX7;cxIntlSchedulerD7;dxLayoutControlD7;dxPScxScheduler2LnkD7;ComparerD7;dxPSdxLCLnkD7;dxLayoutControlcxEditAdaptersD7;cxVerticalGridVCLD7;vclShX_Generic_V3D7.bpl;vclShX_Namespace_V3D7.bpl + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 2 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.2.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Modulos/Stock/Cliente/Stock.dpk b/Source/Modulos/Stock/Cliente/Stock.dpk index 66d429f..8df0f15 100644 --- a/Source/Modulos/Stock/Cliente/Stock.dpk +++ b/Source/Modulos/Stock/Cliente/Stock.dpk @@ -22,48 +22,49 @@ package Stock; {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} +{$IMPLICITBUILD ON} +{$DEFINE DEBUG} requires rtl, vcl, - PngComponentsD7, - PNG_D7, + PngComponentsD10, + PNG_D10, vclactnband, vclx, - PluginSDK_D7R, - GUISDK_D7, - BaseD7, - ControlesBaseD7, + PluginSDK_D10R, + GUISDK_D10, + BaseD10, + ControlesBaseD10, dbrtl, dsnap, adortl, - cxLibraryVCLD7, - dxThemeD7, - cxEditorsVCLD7, - cxDataD7, + cxLibraryD10, + dxThemeD10, + cxEditorsD10, + cxDataD10, vcljpg, vcldb, - cxGridVCLD7, - cxPageControlVCLD7, - cxExtEditorsVCLD7, - cxExportVCLD7, - dxPSCoreD7, - dxComnD7, - dxPScxGridLnkD7, - dxPScxCommonD7, - dxPSLnksD7, + cxGridD10, + cxPageControlD10, + cxExtEditorsD10, + cxExportD10, + dxPSCoreD10, + dxComnD10, + dxPScxGridLnkD10, + dxPScxCommonD10, + dxPSLnksD10, designide, vclshlctrls, - dclcxLibraryVCLD7, - tb2k_d7, - tbx_d7, - JvCoreD7R, + dclcxLibraryD10, + tb2k_D10, + tbx_D10, + JvCoreD10R, Jcl, JclVcl, - JvSystemD7R, - JvPageCompsD7R, - JvStdCtrlsD7R, + JvSystemD10R, + JvPageCompsD10R, + JvStdCtrlsD10R, Parametros; contains diff --git a/Source/Modulos/Stock/Cliente/Stock.dproj b/Source/Modulos/Stock/Cliente/Stock.dproj new file mode 100644 index 0000000..d3f99ea --- /dev/null +++ b/Source/Modulos/Stock/Cliente/Stock.dproj @@ -0,0 +1,668 @@ + + + {4380a611-ee0c-4a44-ba5c-1ae341efa141} + Stock.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\Stock.bpl + + + 7.0 + False + False + 0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + RELEASE + + + 7.0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + DEBUG + + + Delphi.Personality + Package + + + False + True + False + + + True + False + False + + + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 2 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.2.0 + + + + + + 1.0.0.0 + + + + Stock.dpk + + + + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dmStock
+
+ +
fEditorControlStockEDI
+
+ +
fEditorControlStockVARELA
+
+ +
ModuleStock
+
+ +
frViewControlGridStockEDI
+
+ +
frViewControlGridStockEDIInventario
+
+ +
frViewControlGridStockPrendasCentros
+
+ +
frViewControlGridStockVARELA
+
+ +
frViewFiltrosStock
+
+
+ +
+ + diff --git a/Source/Modulos/Stock/Cliente/Stock.drc b/Source/Modulos/Stock/Cliente/Stock.drc index a5d5271..9ef0597 100644 --- a/Source/Modulos/Stock/Cliente/Stock.drc +++ b/Source/Modulos/Stock/Cliente/Stock.drc @@ -1,5 +1,5 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,14 @@ STRINGTABLE BEGIN END +/* C:\Varela_D2007\Source\Modulos\Stock\Cliente\uDataModuleStock.dfm */ +/* C:\Varela_D2007\Source\Modulos\Stock\Cliente\uViewFiltrosStock.dfm */ +/* C:\Varela_D2007\Source\Modulos\Stock\Cliente\uViewControGridStockEDI.dfm */ +/* C:\Varela_D2007\Source\Modulos\Stock\Cliente\uViewControGridStockPrendasCentros.dfm */ +/* C:\Varela_D2007\Source\Modulos\Stock\Cliente\uViewControGridStockEDIInventario.dfm */ +/* C:\Varela_D2007\Source\Modulos\Stock\Cliente\uEditorControlStockEDI.dfm */ +/* C:\Varela_D2007\Source\Modulos\Stock\Cliente\uViewControGridStockVARELA.dfm */ +/* C:\Varela_D2007\Source\Modulos\Stock\Cliente\uEditorControlStockVARELA.dfm */ +/* C:\Varela_D2007\Source\Modulos\Stock\Cliente\uPluginControllerStock.dfm */ +/* C:\Varela_D2007\Source\Modulos\Stock\Cliente\Stock.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1E.tmp */ diff --git a/Source/Modulos/Stock/Cliente/Stock.identcache b/Source/Modulos/Stock/Cliente/Stock.identcache new file mode 100644 index 0000000..b248b7d Binary files /dev/null and b/Source/Modulos/Stock/Cliente/Stock.identcache differ diff --git a/Source/Modulos/Stock/Cliente/Stock.rc b/Source/Modulos/Stock/Cliente/Stock.rc new file mode 100644 index 0000000..e69de29 diff --git a/Source/Modulos/Stock/Cliente/Stock.res b/Source/Modulos/Stock/Cliente/Stock.res index e421343..36f26e2 100644 Binary files a/Source/Modulos/Stock/Cliente/Stock.res and b/Source/Modulos/Stock/Cliente/Stock.res differ diff --git a/Source/Modulos/Stock/Cliente/cxVerticalGridD10.drc b/Source/Modulos/Stock/Cliente/cxVerticalGridD10.drc new file mode 100644 index 0000000..ae9acff --- /dev/null +++ b/Source/Modulos/Stock/Cliente/cxVerticalGridD10.drc @@ -0,0 +1,22 @@ +/* VER180 + Generated by the Borland Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +DESCRIPTION RCDATA +BEGIN + "\x52", "\x00", "\x65", "\x00", "\x6d", "\x00", "\x4f", "\x00", /* 0000: R.e.m.O. */ + "\x62", "\x00", "\x6a", "\x00", "\x65", "\x00", "\x63", "\x00", /* 0008: b.j.e.c. */ + "\x74", "\x00", "\x73", "\x00", "\x20", "\x00", "\x53", "\x00", /* 0010: t.s. .S. */ + "\x44", "\x00", "\x4b", "\x00", "\x20", "\x00", "\x2d", "\x00", /* 0018: D.K. .-. */ + "\x20", "\x00", "\x43", "\x00", "\x6f", "\x00", "\x72", "\x00", /* 0020: .C.o.r. */ + "\x65", "\x00", "\x20", "\x00", "\x4c", "\x00", "\x69", "\x00", /* 0028: e. .L.i. */ + "\x62", "\x00", "\x72", "\x00", "\x61", "\x00", "\x72", "\x00", /* 0030: b.r.a.r. */ + "\x79", "\x00", "\x00", "\x00" /* 0038: y... */ +END + diff --git a/Source/Modulos/Stock/Cliente/teedb.drc b/Source/Modulos/Stock/Cliente/teedb.drc new file mode 100644 index 0000000..ae9acff --- /dev/null +++ b/Source/Modulos/Stock/Cliente/teedb.drc @@ -0,0 +1,22 @@ +/* VER180 + Generated by the Borland Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +DESCRIPTION RCDATA +BEGIN + "\x52", "\x00", "\x65", "\x00", "\x6d", "\x00", "\x4f", "\x00", /* 0000: R.e.m.O. */ + "\x62", "\x00", "\x6a", "\x00", "\x65", "\x00", "\x63", "\x00", /* 0008: b.j.e.c. */ + "\x74", "\x00", "\x73", "\x00", "\x20", "\x00", "\x53", "\x00", /* 0010: t.s. .S. */ + "\x44", "\x00", "\x4b", "\x00", "\x20", "\x00", "\x2d", "\x00", /* 0018: D.K. .-. */ + "\x20", "\x00", "\x43", "\x00", "\x6f", "\x00", "\x72", "\x00", /* 0020: .C.o.r. */ + "\x65", "\x00", "\x20", "\x00", "\x4c", "\x00", "\x69", "\x00", /* 0028: e. .L.i. */ + "\x62", "\x00", "\x72", "\x00", "\x61", "\x00", "\x72", "\x00", /* 0030: b.r.a.r. */ + "\x79", "\x00", "\x00", "\x00" /* 0038: y... */ +END + diff --git a/Source/Modulos/Stock/Cliente/uDataModuleStock.dfm b/Source/Modulos/Stock/Cliente/uDataModuleStock.dfm index 74fe2f6..2f888c3 100644 --- a/Source/Modulos/Stock/Cliente/uDataModuleStock.dfm +++ b/Source/Modulos/Stock/Cliente/uDataModuleStock.dfm @@ -1,23 +1,12 @@ object dmStock: TdmStock OldCreateOrder = True OnCreate = DAClientDataModuleCreate - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter - SchemaCall.MethodName = 'GetSchemaAsXML' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtString - end> - Left = 752 - Top = 272 Height = 322 Width = 267 object RORemoteService: TRORemoteService - ServiceName = 'srvStock' Message = dmBase.ROMessage Channel = dmBase.ROChannel + ServiceName = 'srvStock' Left = 48 Top = 20 end @@ -33,6 +22,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -45,6 +35,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -57,6 +48,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -69,6 +61,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -81,6 +74,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -93,6 +87,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -105,6 +100,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -116,6 +112,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -127,6 +124,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -138,6 +136,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -149,6 +148,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -160,6 +160,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -171,6 +172,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -182,6 +184,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -193,6 +196,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -204,6 +208,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -215,6 +220,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -226,6 +232,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -237,6 +244,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -248,6 +256,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -259,6 +268,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -270,6 +280,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -281,6 +292,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -292,6 +304,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -303,6 +316,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -314,6 +328,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -325,6 +340,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -336,91 +352,15 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'StockEDI' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'StockEDI' - 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 = 'StockEDI' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'StockEDI' @@ -440,6 +380,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -452,6 +393,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -464,6 +406,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -476,6 +419,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -488,6 +432,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -500,6 +445,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -512,6 +458,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -523,6 +470,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -534,6 +482,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -545,6 +494,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -556,6 +506,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -567,6 +518,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -578,6 +530,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -589,91 +542,15 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'StockVARELA' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'StockVARELA' - 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 = 'StockVARELA' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'StockVARELA' @@ -694,6 +571,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -707,6 +585,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -720,6 +599,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -733,6 +613,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -746,6 +627,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -759,6 +641,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -771,6 +654,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -783,6 +667,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -795,6 +680,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -807,6 +693,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -819,6 +706,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -831,6 +719,7 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -843,102 +732,27 @@ object dmStock: TdmStock Alignment = taRightJustify InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'StockPrendasCentros' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'StockPrendasCentros' - 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 = 'StockPrendasCentros' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'StockPrendasCentros' IndexDefs = <> - Left = 104 - Top = 160 + Left = 48 + Top = 176 end object ds_StockPrendasCentros: TDADataSource + DataSet = tbl_StockPrendasCentros.Dataset DataTable = tbl_StockPrendasCentros - Left = 104 - Top = 216 + Left = 48 + Top = 232 end object tbl_StockEDIInventario: TDACDSDataTable RemoteUpdatesOptions = [] @@ -952,6 +766,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -964,6 +779,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -976,6 +792,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -988,6 +805,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1000,6 +818,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1012,6 +831,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1024,6 +844,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1035,6 +856,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1046,6 +868,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1057,6 +880,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1068,6 +892,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1079,6 +904,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1090,6 +916,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1101,6 +928,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1112,6 +940,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1123,6 +952,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1134,6 +964,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1145,6 +976,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1156,6 +988,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1167,6 +1000,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1178,6 +1012,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1189,6 +1024,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1200,6 +1036,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1211,6 +1048,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1222,6 +1060,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1233,6 +1072,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1244,6 +1084,7 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1255,91 +1096,15 @@ object dmStock: TdmStock Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'StockEDIInventario' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'StockEDIInventario' - 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 = 'StockEDIInventario' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'StockEDIInventario' @@ -1347,4 +1112,98 @@ object dmStock: TdmStock Left = 185 Top = 136 end + object DARemoteDataAdapter: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RORemoteService + GetSchemaCall.MethodName = 'GetSchemaAsXML' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetSchemaCall.OutgoingFilterParameter = 'aFilter' + GetDataCall.RemoteService = RORemoteService + GetDataCall.MethodName = 'GetDatasetDataEx' + GetDataCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + end + item + Name = 'Params' + DataType = rtUserDefined + Flag = fIn + TypeName = 'TDADatasetParamArray' + Value = Null + end + item + Name = 'UserFilter' + DataType = rtString + Flag = fIn + Value = Null + end + item + Name = 'IncludeSchema' + DataType = rtBoolean + Flag = fIn + end + item + Name = 'MaxRecords' + DataType = rtInteger + Flag = fIn + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'DatasetName' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + GetDataCall.OutgoingParamsParameter = 'Params' + GetDataCall.OutgoingIncludeSchemaParameter = 'IncludeSchema' + GetDataCall.OutgoingMaxRecordsParameter = 'MaxRecords' + UpdateDataCall.RemoteService = RORemoteService + UpdateDataCall.MethodName = 'UpdateData' + UpdateDataCall.Params = < + item + Name = 'Delta' + DataType = rtBinary + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + UpdateDataCall.Default = False + UpdateDataCall.OutgoingDeltaParameter = 'Delta' + UpdateDataCall.IncomingDeltaParameter = 'Result' + GetScriptsCall.RemoteService = RORemoteService + GetScriptsCall.MethodName = 'GetDatasetScripts' + GetScriptsCall.Params = < + item + Name = 'DatasetNames' + DataType = rtString + Flag = fIn + end + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetScriptsCall.Default = False + GetScriptsCall.OutgoingTableNamesParameter = 'DatasetNames' + GetScriptsCall.IncomingScriptParameter = 'Result' + RemoteService = RORemoteService + DataStreamer = dmBase.DABINAdapter + FailureBehavior = fbBoth + Left = 48 + Top = 96 + end end diff --git a/Source/Modulos/Stock/Cliente/uDataModuleStock.pas b/Source/Modulos/Stock/Cliente/uDataModuleStock.pas index a59ccf9..0e5ed7c 100644 --- a/Source/Modulos/Stock/Cliente/uDataModuleStock.pas +++ b/Source/Modulos/Stock/Cliente/uDataModuleStock.pas @@ -6,7 +6,7 @@ uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uDAClientDataModule, uDADataTable, uDABINAdapter, uROServiceComponent, uRORemoteService, uROClient, uROBinMessage, uROWinInetHttpChannel, uDAScriptingProvider, uDACDSDataTable, - uBizStock; + uBizStock, uDARemoteDataAdapter, uDAInterfaces; type TdmStock = class(TDAClientDataModule) @@ -16,6 +16,7 @@ type tbl_StockPrendasCentros: TDACDSDataTable; ds_StockPrendasCentros: TDADataSource; tbl_StockEDIInventario: TDACDSDataTable; + DARemoteDataAdapter: TDARemoteDataAdapter; procedure DAClientDataModuleCreate(Sender: TObject); public function GetItemsStockVarela : IBizStockVARELA; diff --git a/Source/Modulos/Stock/Cliente/uViewFiltrosStock.dfm b/Source/Modulos/Stock/Cliente/uViewFiltrosStock.dfm index 6d9b991..e2ead5c 100644 --- a/Source/Modulos/Stock/Cliente/uViewFiltrosStock.dfm +++ b/Source/Modulos/Stock/Cliente/uViewFiltrosStock.dfm @@ -17,7 +17,7 @@ object frViewFiltrosStock: TfrViewFiltrosStock TabOrder = 0 AutoContentSizes = [acsWidth, acsHeight] object cbColeccion: TcxComboBox - Left = 65 + Left = 64 Top = 10 Properties.DropDownListStyle = lsFixedList Properties.DropDownRows = 18 @@ -38,7 +38,7 @@ object frViewFiltrosStock: TfrViewFiltrosStock Width = 168 end object ccbCentro: TJvCheckedComboBox - Left = 278 + Left = 280 Top = 10 Width = 191 Height = 21 diff --git a/Source/Modulos/Stock/Cliente/uViewFiltrosStock.pas b/Source/Modulos/Stock/Cliente/uViewFiltrosStock.pas index b9a9408..c7f43ba 100644 --- a/Source/Modulos/Stock/Cliente/uViewFiltrosStock.pas +++ b/Source/Modulos/Stock/Cliente/uViewFiltrosStock.pas @@ -80,9 +80,6 @@ begin end; procedure TfrViewFiltrosStock.RellenarFiltros; -var - i : integer; - AList : TStringList; begin if ColeccionColumnIndex >= 0 then with cbColeccion.Properties do diff --git a/Source/Modulos/Stock/Reglas/uBizStock.pas b/Source/Modulos/Stock/Reglas/uBizStock.pas index 223f5fe..9f0ff64 100644 --- a/Source/Modulos/Stock/Reglas/uBizStock.pas +++ b/Source/Modulos/Stock/Reglas/uBizStock.pas @@ -4,7 +4,7 @@ interface uses Classes, DB, SysUtils, uROClasses, uDADataTable, uDAInterfaces, - DataAbstract_Intf, uROTypes, schStockClient_Intf; + DataAbstract3_Intf, uROTypes, schStockClient_Intf; const BIZ_STOCK_EDI = 'Client.StockEDI'; diff --git a/Source/Modulos/Stock/Servidor/srvStock_Impl.dfm b/Source/Modulos/Stock/Servidor/srvStock_Impl.dfm index 6b63e69..4fce771 100644 --- a/Source/Modulos/Stock/Servidor/srvStock_Impl.dfm +++ b/Source/Modulos/Stock/Servidor/srvStock_Impl.dfm @@ -4,9 +4,11 @@ object srvStock: TsrvStock AcquireConnection = True ServiceSchema = schStock ServiceAdapter = DABINAdapter + OnAfterProcessTransactionAction = pptaNone OnAfterAcquireConnection = DARemoteServiceAfterAcquireConnection - Left = 629 - Top = 348 + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] Height = 300 Width = 300 object DABINAdapter: TDABINAdapter diff --git a/Source/Modulos/Stock/Servidor/srvStock_Impl.pas b/Source/Modulos/Stock/Servidor/srvStock_Impl.pas index 398eeff..fc27fcc 100644 --- a/Source/Modulos/Stock/Servidor/srvStock_Impl.pas +++ b/Source/Modulos/Stock/Servidor/srvStock_Impl.pas @@ -13,9 +13,9 @@ uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, {Ancestor Implementation:} DARemoteService_Impl, - {Used RODLs:} DataAbstract_Intf, + {Used RODLs:} DataAbstract3_Intf, {Generated:} VARELA_Intf, uDAClasses, uDADataTable, uDABINAdapter, - uDAInterfaces; + uDAInterfaces, uDADataStreamer; type { TsrvStock } diff --git a/Source/Modulos/Traspasos/Cliente/Traspasos.bdsproj b/Source/Modulos/Traspasos/Cliente/Traspasos.bdsproj new file mode 100644 index 0000000..89713a6 --- /dev/null +++ b/Source/Modulos/Traspasos/Cliente/Traspasos.bdsproj @@ -0,0 +1,677 @@ + + + + + + + + + + + + Traspasos.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7 + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Modulos/Traspasos/Cliente/Traspasos.dpk b/Source/Modulos/Traspasos/Cliente/Traspasos.dpk index 5bd4486..709b8d1 100644 --- a/Source/Modulos/Traspasos/Cliente/Traspasos.dpk +++ b/Source/Modulos/Traspasos/Cliente/Traspasos.dpk @@ -22,55 +22,55 @@ package Traspasos; {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} +{$IMPLICITBUILD ON} +{$DEFINE DEBUG} requires rtl, dbrtl, dsnap, - BaseD7, - DataAbstract_D7, + BaseD10, vcl, adortl, - PluginSDK_D7R, - PngComponentsD7, - PNG_D7, + PluginSDK_D10R, + PngComponentsD10, + PNG_D10, vclactnband, vclx, - GUISDK_D7, - tb2k_d7, - tbx_d7, - JvCoreD7R, + GUISDK_D10, + tb2k_D10, + tbx_D10, + JvCoreD10R, vcljpg, Jcl, JclVcl, - JvSystemD7R, - JvPageCompsD7R, - JvStdCtrlsD7R, - cxTreeListVCLD7, - dxThemeD7, - cxLibraryVCLD7, - cxExportVCLD7, - cxEditorsVCLD7, - cxDataD7, + JvSystemD10R, + JvPageCompsD10R, + JvStdCtrlsD10R, + cxTreeListD10, + dxThemeD10, + cxLibraryD10, + cxExportD10, + cxEditorsD10, + cxDataD10, vcldb, - JvGlobusD7R, - ControlesBaseD7, - cxGridVCLD7, - cxPageControlVCLD7, - cxExtEditorsVCLD7, - dxPSCoreD7, - dxComnD7, - JvCustomD7R, + JvGlobusD10R, + ControlesBaseD10, + cxGridD10, + cxPageControlD10, + cxExtEditorsD10, + dxPSCoreD10, + dxComnD10, + JvCustomD10R, bdertl, VclSmp, - dxPScxCommonD7, - dxPSLnksD7, + dxPScxCommonD10, + dxPSLnksD10, designide, vclshlctrls, - dxPScxGridLnkD7, - dclcxLibraryVCLD7, - dxLayoutControlD7; + dxPScxGridLnkD10, + dclcxLibraryD10, + dxLayoutControlD10; contains uDataModuleTraspasos in 'uDataModuleTraspasos.pas' {dmTraspasos: TDAClientDataModule}, diff --git a/Source/Modulos/Traspasos/Cliente/Traspasos.dproj b/Source/Modulos/Traspasos/Cliente/Traspasos.dproj new file mode 100644 index 0000000..ab9bb24 --- /dev/null +++ b/Source/Modulos/Traspasos/Cliente/Traspasos.dproj @@ -0,0 +1,664 @@ + + + {8271ac21-0741-43b7-8373-432a0bf0ec7a} + Traspasos.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\Traspasos.bpl + + + 7.0 + False + False + False + 0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + RELEASE + + + 7.0 + False + 0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + DEBUG + + + Delphi.Personality + Package + + + False + True + False + + + True + False + False + + + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + Traspasos.dpk + + + + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dmTraspasos
+
+ +
fEditorAjustarTraspasos
+
+ +
fEditorListaTraspasos
+
+ +
ModuleTraspasos
+
+ +
frViewListaTraspasos
+
+
+ +
+ + diff --git a/Source/Modulos/Traspasos/Cliente/Traspasos.drc b/Source/Modulos/Traspasos/Cliente/Traspasos.drc index a5d5271..cc647b2 100644 --- a/Source/Modulos/Traspasos/Cliente/Traspasos.drc +++ b/Source/Modulos/Traspasos/Cliente/Traspasos.drc @@ -1,5 +1,5 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,10 @@ STRINGTABLE BEGIN END +/* C:\Varela_D2007\Source\Modulos\Traspasos\Cliente\uDataModuleTraspasos.dfm */ +/* C:\Varela_D2007\Source\Modulos\Traspasos\Cliente\uViewListaTraspasos.dfm */ +/* C:\Varela_D2007\Source\Modulos\Traspasos\Cliente\uEditorListaTraspasos.dfm */ +/* C:\Varela_D2007\Source\Modulos\Traspasos\Cliente\uPluginControllerTraspasos.dfm */ +/* C:\Varela_D2007\Source\Modulos\Traspasos\Cliente\uEditorAjustarTraspasos.dfm */ +/* C:\Varela_D2007\Source\Modulos\Traspasos\Cliente\Traspasos.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1C.tmp */ diff --git a/Source/Modulos/Traspasos/Cliente/Traspasos.rc b/Source/Modulos/Traspasos/Cliente/Traspasos.rc new file mode 100644 index 0000000..e69de29 diff --git a/Source/Modulos/Traspasos/Cliente/Traspasos.res b/Source/Modulos/Traspasos/Cliente/Traspasos.res index b1dc5fd..36f26e2 100644 Binary files a/Source/Modulos/Traspasos/Cliente/Traspasos.res and b/Source/Modulos/Traspasos/Cliente/Traspasos.res differ diff --git a/Source/Modulos/Traspasos/Cliente/uDataModuleTraspasos.dfm b/Source/Modulos/Traspasos/Cliente/uDataModuleTraspasos.dfm index a1a78d4..a407ef1 100644 --- a/Source/Modulos/Traspasos/Cliente/uDataModuleTraspasos.dfm +++ b/Source/Modulos/Traspasos/Cliente/uDataModuleTraspasos.dfm @@ -1,23 +1,12 @@ object dmTraspasos: TdmTraspasos OldCreateOrder = True OnCreate = DAClientDataModuleCreate - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter - SchemaCall.MethodName = 'GetSchemaAsXML' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtString - end> - Left = 645 - Top = 450 Height = 297 Width = 620 object RORemoteService: TRORemoteService - ServiceName = 'srvTraspasos' Message = dmBase.ROMessage Channel = dmBase.ROChannel + ServiceName = 'srvTraspasos' Left = 40 Top = 32 end @@ -37,6 +26,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TIPO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -51,6 +41,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_FECHA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -66,6 +57,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_CENTRO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -81,6 +73,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_FILIAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -96,6 +89,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_CENTRO2' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -111,6 +105,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_FILIAL2' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -125,6 +120,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_APROBADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -139,6 +135,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_ESTADO_TRASPASO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -153,6 +150,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_OBSERVACIONES' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -167,6 +165,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_CONTABILIZAR' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -181,6 +180,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_FECHACAMBIO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -196,6 +196,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_CODIGO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -212,6 +213,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_PRODUCTO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -227,6 +229,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_COLOR' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -240,6 +243,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -253,6 +257,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -266,6 +271,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -279,6 +285,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -292,6 +299,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -305,6 +313,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -319,6 +328,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TOTAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -331,6 +341,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -343,6 +354,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -355,6 +367,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -367,6 +380,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -379,6 +393,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -391,6 +406,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -405,91 +421,15 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TOTAL_RECT' InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'Traspasos' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'Traspasos' - 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 = 'Traspasos' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'Traspasos' @@ -498,6 +438,7 @@ object dmTraspasos: TdmTraspasos Top = 32 end object ds_Traspasos: TDADataSource + DataSet = tbl_Traspasos.Dataset DataTable = tbl_Traspasos Left = 136 Top = 88 @@ -518,6 +459,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TIPO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -532,6 +474,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_FECHA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -547,6 +490,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_CENTRO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -562,6 +506,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_FILIAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -577,6 +522,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_CENTRO2' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -592,6 +538,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_FILIAL2' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -606,6 +553,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_APROBADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -620,6 +568,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_ESTADO_TRASPASO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -634,6 +583,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_OBSERVACIONES' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -648,6 +598,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_CONTABILIZAR' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -662,6 +613,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_FECHACAMBIO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -677,6 +629,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_CODIGO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -693,6 +646,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_PRODUCTO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -708,6 +662,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_COLOR' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -721,6 +676,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -734,6 +690,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -747,6 +704,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -760,6 +718,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -773,6 +732,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -786,6 +746,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -800,6 +761,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TOTAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -812,6 +774,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -824,6 +787,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -836,6 +800,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -848,6 +813,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -860,6 +826,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -872,6 +839,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -886,91 +854,15 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TOTAL_RECT' InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'TraspasosAprobados' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'TraspasosAprobados' - 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 = 'TraspasosAprobados' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'TraspasosAprobados' @@ -979,6 +871,7 @@ object dmTraspasos: TdmTraspasos Top = 32 end object ds_TraspasosAprobados: TDADataSource + DataSet = tbl_TraspasosAprobados.Dataset DataTable = tbl_TraspasosAprobados Left = 272 Top = 88 @@ -999,6 +892,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TIPO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1013,6 +907,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_FECHA' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1028,6 +923,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_CENTRO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1043,6 +939,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_FILIAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1058,6 +955,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_CENTRO2' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1073,6 +971,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_FILIAL2' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1087,6 +986,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_APROBADO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1101,6 +1001,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_ESTADO_TRASPASO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1115,6 +1016,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_OBSERVACIONES' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1129,6 +1031,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_CONTABILIZAR' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1143,6 +1046,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_FECHACAMBIO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1158,6 +1062,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_CODIGO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1174,6 +1079,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_PRODUCTO' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1189,6 +1095,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_COLOR' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1202,6 +1109,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1215,6 +1123,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1228,6 +1137,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1241,6 +1151,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1254,6 +1165,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1267,6 +1179,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_T48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1281,6 +1194,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TOTAL' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1293,6 +1207,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR38' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1305,6 +1220,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR40' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1317,6 +1233,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR42' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1329,6 +1246,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR44' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1341,6 +1259,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR46' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1353,6 +1272,7 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TR48' InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1367,91 +1287,15 @@ object dmTraspasos: TdmTraspasos DictionaryEntry = 'Traspasos_TOTAL_RECT' InPrimaryKey = False Calculated = False + ServerCalculated = 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 = 'TraspasosPendientes' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'TraspasosPendientes' - 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 = 'TraspasosPendientes' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'TraspasosPendientes' @@ -1460,8 +1304,103 @@ object dmTraspasos: TdmTraspasos Top = 32 end object ds_TraspasosPendientes: TDADataSource + DataSet = tbl_TraspasosPendientes.Dataset DataTable = tbl_TraspasosPendientes Left = 408 Top = 88 end + object DARemoteDataAdapter: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RORemoteService + GetSchemaCall.MethodName = 'GetSchemaAsXML' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetSchemaCall.OutgoingFilterParameter = 'aFilter' + GetDataCall.RemoteService = RORemoteService + GetDataCall.MethodName = 'GetDatasetDataEx' + GetDataCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + end + item + Name = 'Params' + DataType = rtUserDefined + Flag = fIn + TypeName = 'TDADatasetParamArray' + Value = Null + end + item + Name = 'UserFilter' + DataType = rtString + Flag = fIn + Value = Null + end + item + Name = 'IncludeSchema' + DataType = rtBoolean + Flag = fIn + end + item + Name = 'MaxRecords' + DataType = rtInteger + Flag = fIn + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'DatasetName' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + GetDataCall.OutgoingParamsParameter = 'Params' + GetDataCall.OutgoingIncludeSchemaParameter = 'IncludeSchema' + GetDataCall.OutgoingMaxRecordsParameter = 'MaxRecords' + UpdateDataCall.RemoteService = RORemoteService + UpdateDataCall.MethodName = 'UpdateData' + UpdateDataCall.Params = < + item + Name = 'Delta' + DataType = rtBinary + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + UpdateDataCall.Default = False + UpdateDataCall.OutgoingDeltaParameter = 'Delta' + UpdateDataCall.IncomingDeltaParameter = 'Result' + GetScriptsCall.RemoteService = RORemoteService + GetScriptsCall.MethodName = 'GetDatasetScripts' + GetScriptsCall.Params = < + item + Name = 'DatasetNames' + DataType = rtString + Flag = fIn + end + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetScriptsCall.Default = False + GetScriptsCall.OutgoingTableNamesParameter = 'DatasetNames' + GetScriptsCall.IncomingScriptParameter = 'Result' + RemoteService = RORemoteService + DataStreamer = dmBase.DABINAdapter + FailureBehavior = fbBoth + Left = 40 + Top = 96 + end end diff --git a/Source/Modulos/Traspasos/Cliente/uDataModuleTraspasos.pas b/Source/Modulos/Traspasos/Cliente/uDataModuleTraspasos.pas index 34e6c97..b24c908 100644 --- a/Source/Modulos/Traspasos/Cliente/uDataModuleTraspasos.pas +++ b/Source/Modulos/Traspasos/Cliente/uDataModuleTraspasos.pas @@ -5,7 +5,8 @@ interface uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uDAClientDataModule, uDADataTable, uDAScriptingProvider, uDACDSDataTable, uDABINAdapter, uDataModuleBase, uROClient, - uROServiceComponent, uRORemoteService, uBizTraspasos; + uROServiceComponent, uRORemoteService, uBizTraspasos, uDARemoteDataAdapter, + uDAInterfaces; type TdmTraspasos = class(TDAClientDataModule) @@ -16,6 +17,7 @@ type ds_TraspasosAprobados: TDADataSource; tbl_TraspasosPendientes: TDACDSDataTable; ds_TraspasosPendientes: TDADataSource; + DARemoteDataAdapter: TDARemoteDataAdapter; procedure DAClientDataModuleCreate(Sender: TObject); public function GetItems : IBizTraspasos; overload; @@ -31,7 +33,7 @@ implementation uses Forms, Windows, Controls, VARELA_Intf, uEditorPreview, - uDataTableUtils, uROTypes, cxControls, uDAInterfaces; + uDataTableUtils, uROTypes, cxControls; procedure TdmTraspasos.DAClientDataModuleCreate(Sender: TObject); begin diff --git a/Source/Modulos/Traspasos/Servidor/srvTraspasos_Impl.dfm b/Source/Modulos/Traspasos/Servidor/srvTraspasos_Impl.dfm index 2f94322..8e32c08 100644 --- a/Source/Modulos/Traspasos/Servidor/srvTraspasos_Impl.dfm +++ b/Source/Modulos/Traspasos/Servidor/srvTraspasos_Impl.dfm @@ -4,8 +4,10 @@ object srvTraspasos: TsrvTraspasos AcquireConnection = True ServiceSchema = schTraspasos ServiceAdapter = DABINAdapter - Left = 815 - Top = 368 + OnAfterProcessTransactionAction = pptaNone + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] Height = 300 Width = 300 object DABINAdapter: TDABINAdapter @@ -149,296 +151,154 @@ object srvTraspasos: TsrvTraspasos Name = 'TIPO' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TIPO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_FECHA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CENTRO' DataType = datString Size = 17 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_CENTRO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FILIAL' DataType = datString Size = 25 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_FILIAL' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CENTRO2' DataType = datString Size = 17 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_CENTRO2' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FILIAL2' DataType = datString Size = 25 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_FILIAL2' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'APROBADO' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_APROBADO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ESTADO_TRASPASO' DataType = datString Size = 20 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_ESTADO_TRASPASO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'OBSERVACIONES' DataType = datString Size = 255 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_OBSERVACIONES' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CONTABILIZAR' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_CONTABILIZAR' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHACAMBIO' DataType = datDateTime - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_FECHACAMBIO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_CODIGO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PRODUCTO' DataType = datString Size = 40 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_PRODUCTO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_COLOR' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T38' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T40' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T42' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T44' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T46' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T48' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TOTAL' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TOTAL' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR38' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR40' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR42' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR44' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR46' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR48' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TOTAL_RECT' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TOTAL_RECT' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end item Params = <> @@ -573,296 +433,154 @@ object srvTraspasos: TsrvTraspasos Name = 'TIPO' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TIPO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_FECHA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CENTRO' DataType = datString Size = 17 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_CENTRO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FILIAL' DataType = datString Size = 25 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_FILIAL' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CENTRO2' DataType = datString Size = 17 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_CENTRO2' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FILIAL2' DataType = datString Size = 25 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_FILIAL2' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'APROBADO' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_APROBADO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ESTADO_TRASPASO' DataType = datString Size = 20 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_ESTADO_TRASPASO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'OBSERVACIONES' DataType = datString Size = 255 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_OBSERVACIONES' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CONTABILIZAR' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_CONTABILIZAR' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHACAMBIO' DataType = datDateTime - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_FECHACAMBIO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_CODIGO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PRODUCTO' DataType = datString Size = 40 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_PRODUCTO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_COLOR' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T38' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T40' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T42' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T44' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T46' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T48' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TOTAL' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TOTAL' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR38' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR40' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR42' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR44' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR46' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR48' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TOTAL_RECT' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TOTAL_RECT' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end item Params = <> @@ -997,303 +715,160 @@ object srvTraspasos: TsrvTraspasos Name = 'TIPO' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TIPO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_FECHA' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CENTRO' DataType = datString Size = 17 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_CENTRO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FILIAL' DataType = datString Size = 25 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_FILIAL' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CENTRO2' DataType = datString Size = 17 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_CENTRO2' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FILIAL2' DataType = datString Size = 25 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_FILIAL2' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'APROBADO' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_APROBADO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ESTADO_TRASPASO' DataType = datString Size = 20 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_ESTADO_TRASPASO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'OBSERVACIONES' DataType = datString Size = 255 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_OBSERVACIONES' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CONTABILIZAR' DataType = datString Size = 1 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_CONTABILIZAR' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHACAMBIO' DataType = datDateTime - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_FECHACAMBIO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_CODIGO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PRODUCTO' DataType = datString Size = 40 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_PRODUCTO' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_COLOR' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T38' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T40' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T42' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T44' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T46' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'T48' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_T48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TOTAL' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TOTAL' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR38' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR38' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR40' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR40' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR42' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR42' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR44' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR44' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR46' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR46' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TR48' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TR48' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TOTAL_RECT' DataType = datFloat - BlobType = dabtUnknown DictionaryEntry = 'Traspasos_TOTAL_RECT' - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end item Params = < item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1301,7 +876,6 @@ object srvTraspasos: TsrvTraspasos Name = 'CENTRO' DataType = datString Size = 17 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1309,7 +883,6 @@ object srvTraspasos: TsrvTraspasos Name = 'CENTRO2' DataType = datString Size = 17 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1317,7 +890,6 @@ object srvTraspasos: TsrvTraspasos Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1325,7 +897,6 @@ object srvTraspasos: TsrvTraspasos Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown Value = '' ParamType = daptInput end> @@ -1350,31 +921,21 @@ object srvTraspasos: TsrvTraspasos item Name = 'TOTAL_RECT' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = < item Params = < item Name = 'ESTADO' - BlobType = dabtUnknown Value = '' - ParamType = daptUnknown end item Name = 'OBSERVACIONES' DataType = datString Size = 255 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1382,49 +943,42 @@ object srvTraspasos: TsrvTraspasos Name = 'CONTABILIZAR' DataType = datString Size = 1 - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'TR38' DataType = datFloat - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'TR40' DataType = datFloat - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'TR42' DataType = datFloat - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'TR44' DataType = datFloat - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'TR46' DataType = datFloat - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'TR48' DataType = datFloat - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1432,14 +986,12 @@ object srvTraspasos: TsrvTraspasos Name = 'APROBADO' DataType = datString Size = 1 - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1447,7 +999,6 @@ object srvTraspasos: TsrvTraspasos Name = 'CENTRO' DataType = datString Size = 17 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1455,7 +1006,6 @@ object srvTraspasos: TsrvTraspasos Name = 'CENTRO2' DataType = datString Size = 17 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1463,7 +1013,6 @@ object srvTraspasos: TsrvTraspasos Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1471,7 +1020,6 @@ object srvTraspasos: TsrvTraspasos Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown Value = '' ParamType = daptInput end @@ -1479,7 +1027,6 @@ object srvTraspasos: TsrvTraspasos Name = 'TIPO' DataType = datString Size = 1 - BlobType = dabtUnknown Value = '' ParamType = daptInput end> @@ -1533,6 +1080,7 @@ object srvTraspasos: TsrvTraspasos end> RelationShips = <> UpdateRules = <> + Version = 0 Left = 40 Top = 24 end @@ -1542,256 +1090,172 @@ object srvTraspasos: TsrvTraspasos Name = 'Traspasos_TIPO' DataType = datString Size = 1 - BlobType = dabtUnknown Required = True - DisplayWidth = 0 DisplayLabel = 'Tipo' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_FECHA' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Fecha' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_CENTRO' DataType = datString Size = 17 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Centro' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_FILIAL' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Filial' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_CENTRO2' DataType = datString Size = 17 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Centro2' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_FILIAL2' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Filial2' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'C'#243'digo' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_PRODUCTO' DataType = datString Size = 40 - BlobType = dabtUnknown Required = True - DisplayWidth = 0 DisplayLabel = 'Producto' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Color' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_T38' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'T38' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_T40' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'T40' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_T42' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'T42' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_T44' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'T44' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_T46' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'T46' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_T48' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'T48' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_TOTAL' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Total' ReadOnly = True - Alignment = taLeftJustify end item Name = 'Traspasos_TR38' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'TR38' - Alignment = taLeftJustify end item Name = 'Traspasos_TR40' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'TR40' - Alignment = taLeftJustify end item Name = 'Traspasos_TR42' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'TR42' - Alignment = taLeftJustify end item Name = 'Traspasos_TR44' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'TR44' - Alignment = taLeftJustify end item Name = 'Traspasos_TR46' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'TR46' - Alignment = taLeftJustify end item Name = 'Traspasos_TR48' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'TR48' - Alignment = taLeftJustify end item Name = 'Traspasos_TOTAL_RECT' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Total' - Alignment = taLeftJustify end item Name = 'Traspasos_APROBADO' DataType = datString Size = 1 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Aprobado' - Alignment = taLeftJustify end item Name = 'Traspasos_ESTADO_TRASPASO' DataType = datString Size = 20 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Estado' - Alignment = taLeftJustify end item Name = 'Traspasos_OBSERVACIONES' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Observaciones' - Alignment = taLeftJustify end item Name = 'Traspasos_CONTABILIZAR' DataType = datString Size = 1 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Contabilizar' - Alignment = taLeftJustify end item Name = 'Traspasos_FECHACAMBIO' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Fecha cambio' ReadOnly = True - Alignment = taLeftJustify end> Left = 40 Top = 168 @@ -1801,7 +1265,7 @@ object srvTraspasos: TsrvTraspasos UpdateCommandName = 'Update_Estado_Traspasos' RefreshDatasetName = 'RefreshTraspasos' ReferencedDataset = 'Traspasos' - ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands] + ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands, poIgnoreRowsAffected] UpdateMode = updWhereKeyOnly Left = 192 Top = 32 @@ -1811,7 +1275,7 @@ object srvTraspasos: TsrvTraspasos UpdateCommandName = 'Update_Estado_Traspasos' RefreshDatasetName = 'RefreshTraspasos' ReferencedDataset = 'TraspasosAprobados' - ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands] + ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands, poIgnoreRowsAffected] UpdateMode = updWhereKeyOnly Left = 192 Top = 88 @@ -1821,7 +1285,7 @@ object srvTraspasos: TsrvTraspasos UpdateCommandName = 'Update_Estado_Traspasos' RefreshDatasetName = 'RefreshTraspasos' ReferencedDataset = 'TraspasosPendientes' - ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands] + ProcessorOptions = [poAutoGenerateInsert, poAutoGenerateDelete, poPrepareCommands, poIgnoreRowsAffected] UpdateMode = updWhereKeyOnly Left = 192 Top = 152 diff --git a/Source/Modulos/Traspasos/Servidor/srvTraspasos_Impl.pas b/Source/Modulos/Traspasos/Servidor/srvTraspasos_Impl.pas index db5be63..bfd4368 100644 --- a/Source/Modulos/Traspasos/Servidor/srvTraspasos_Impl.pas +++ b/Source/Modulos/Traspasos/Servidor/srvTraspasos_Impl.pas @@ -13,9 +13,9 @@ uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, {Ancestor Implementation:} DARemoteService_Impl, - {Used RODLs:} DataAbstract_Intf, + {Used RODLs:} DataAbstract3_Intf, {Generated:} VARELA_Intf, uDADataTable, uDABINAdapter, uDAClasses, - uDAScriptingProvider, uDABusinessProcessor; + uDAScriptingProvider, uDABusinessProcessor, uDADataStreamer; type { TsrvTraspasos } diff --git a/Source/Modulos/VentasProceso/Cliente/VentasProceso.bdsproj b/Source/Modulos/VentasProceso/Cliente/VentasProceso.bdsproj new file mode 100644 index 0000000..72aa031 --- /dev/null +++ b/Source/Modulos/VentasProceso/Cliente/VentasProceso.bdsproj @@ -0,0 +1,677 @@ + + + + + + + + + + + + VentasProceso.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7 + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Modulos/VentasProceso/Cliente/VentasProceso.dpk b/Source/Modulos/VentasProceso/Cliente/VentasProceso.dpk index 1a87d8b..25d89b6 100644 --- a/Source/Modulos/VentasProceso/Cliente/VentasProceso.dpk +++ b/Source/Modulos/VentasProceso/Cliente/VentasProceso.dpk @@ -22,43 +22,43 @@ package VentasProceso; {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} +{$IMPLICITBUILD ON} +{$DEFINE DEBUG} requires rtl, dbrtl, dsnap, - BaseD7, - DataAbstract_D7, + BaseD10, vcl, adortl, - PluginSDK_D7R, - PngComponentsD7, - PNG_D7, + PluginSDK_D10R, + PngComponentsD10, + PNG_D10, vclactnband, vclx, - GUISDK_D7, - tb2k_d7, - tbx_d7, - JvCoreD7R, + GUISDK_D10, + tb2k_D10, + tbx_D10, + JvCoreD10R, vcljpg, Jcl, JclVcl, - JvSystemD7R, - JvPageCompsD7R, - JvStdCtrlsD7R, - cxTreeListVCLD7, - dxThemeD7, - cxLibraryVCLD7, - cxExportVCLD7, - cxEditorsVCLD7, - cxDataD7, + JvSystemD10R, + JvPageCompsD10R, + JvStdCtrlsD10R, + cxTreeListD10, + dxThemeD10, + cxLibraryD10, + cxExportD10, + cxEditorsD10, + cxDataD10, vcldb, - JvGlobusD7R, - ControlesBaseD7, - cxGridVCLD7, - cxPageControlVCLD7, - cxExtEditorsVCLD7; + JvGlobusD10R, + ControlesBaseD10, + cxGridD10, + cxPageControlD10, + cxExtEditorsD10; contains uDataModuleVentasProceso in 'uDataModuleVentasProceso.pas' {dmVentasEnProceso: TDAClientDataModule}, diff --git a/Source/Modulos/VentasProceso/Cliente/VentasProceso.dproj b/Source/Modulos/VentasProceso/Cliente/VentasProceso.dproj new file mode 100644 index 0000000..8fe5471 --- /dev/null +++ b/Source/Modulos/VentasProceso/Cliente/VentasProceso.dproj @@ -0,0 +1,660 @@ + + + {4210e006-6776-47b8-963e-f11c96ed5691} + VentasProceso.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\VentasProceso.bpl + + + 7.0 + False + False + False + 0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + RELEASE + + + 7.0 + False + 0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + DEBUG + + + Delphi.Personality + Package + + + False + True + False + + + True + False + False + + + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + VentasProceso.dpk + + + + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dmVentasEnProceso
+
+ +
fEditorControlesVentasProceso
+
+ +
fEditorControlVentaProceso
+
+ +
ModuleVentasProceso
+
+ +
frViewControlGridVentaProceso
+
+ +
frViewControlesVentaProceso
+
+ +
frViewControlVentaProceso
+
+
+ +
+ + diff --git a/Source/Modulos/VentasProceso/Cliente/VentasProceso.drc b/Source/Modulos/VentasProceso/Cliente/VentasProceso.drc index a5d5271..21350ef 100644 --- a/Source/Modulos/VentasProceso/Cliente/VentasProceso.drc +++ b/Source/Modulos/VentasProceso/Cliente/VentasProceso.drc @@ -1,5 +1,5 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,12 @@ STRINGTABLE BEGIN END +/* C:\Varela_D2007\Source\Modulos\VentasProceso\Cliente\uDataModuleVentasProceso.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasProceso\Cliente\uViewControlesVentaProceso.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasProceso\Cliente\uEditorControlesVentaProceso.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasProceso\Cliente\uPluginControllerVentasProceso.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasProceso\Cliente\uViewControGridlVentaProceso.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasProceso\Cliente\uViewControlVentaProceso.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasProceso\Cliente\uEditorControlVentaProceso.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasProceso\Cliente\VentasProceso.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf14.tmp */ diff --git a/Source/Modulos/VentasProceso/Cliente/VentasProceso.identcache b/Source/Modulos/VentasProceso/Cliente/VentasProceso.identcache new file mode 100644 index 0000000..8b7a0ee Binary files /dev/null and b/Source/Modulos/VentasProceso/Cliente/VentasProceso.identcache differ diff --git a/Source/Modulos/VentasProceso/Cliente/VentasProceso.rc b/Source/Modulos/VentasProceso/Cliente/VentasProceso.rc new file mode 100644 index 0000000..e69de29 diff --git a/Source/Modulos/VentasProceso/Cliente/VentasProceso.res b/Source/Modulos/VentasProceso/Cliente/VentasProceso.res index b1dc5fd..36f26e2 100644 Binary files a/Source/Modulos/VentasProceso/Cliente/VentasProceso.res and b/Source/Modulos/VentasProceso/Cliente/VentasProceso.res differ diff --git a/Source/Modulos/VentasProceso/Cliente/uDataModuleVentasProceso.dfm b/Source/Modulos/VentasProceso/Cliente/uDataModuleVentasProceso.dfm index b593808..ccb41df 100644 --- a/Source/Modulos/VentasProceso/Cliente/uDataModuleVentasProceso.dfm +++ b/Source/Modulos/VentasProceso/Cliente/uDataModuleVentasProceso.dfm @@ -1,24 +1,13 @@ object dmVentasEnProceso: TdmVentasEnProceso OldCreateOrder = True OnCreate = DAClientDataModuleCreate - RemoteService = RemoteService - Adapter = dmBase.DABINAdapter - SchemaCall.MethodName = 'GetSchemaAsXML' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtString - end> - Left = 486 - Top = 626 Height = 300 Width = 306 object RemoteService: TRORemoteService - ServiceName = 'srvVentasEnProceso' Message = dmBase.ROMessage Channel = dmBase.ROChannel - Left = 40 + ServiceName = 'srvVentasEnProceso' + Left = 56 Top = 16 end object tbl_VentasEnProcesoPendientes: TDACDSDataTable @@ -28,344 +17,119 @@ object dmVentasEnProceso: TdmVentasEnProceso Name = 'NUMINF' DataType = datString Size = 35 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE1' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE2' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE3' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DIA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DIASEMANA' DataType = datString Size = 30 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'MES' DataType = datString Size = 30 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ANO' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CENTRO' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VENDEDOR' DataType = datString Size = 66 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NUMTALON' DataType = datString Size = 35 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PRODUCTO' DataType = datString Size = 40 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'GRUPOPRODUCTO' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TIPOPRODUCTO' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLECCION' DataType = datString Size = 6 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA' DataType = datString Size = 8 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'INICIO' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FINAL' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'IMPORTE' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 Alignment = taRightJustify - 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 = 'VentasEnProcesoPendientes' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'VentasEnProcesoPendientes' - 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 = 'VentasEnProcesoPendientes' - end> - ReadOnly = False - RemoteService = RemoteService - Adapter = dmBase.DABINAdapter + RemoteDataAdapter = DARemoteDataAdapter DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'VentasEnProcesoPendientes' IndexDefs = <> - Left = 184 + Left = 200 Top = 16 end object tbl_VentasEnProcesoPendientes2: TDACDSDataTable @@ -375,103 +139,226 @@ object dmVentasEnProceso: TdmVentasEnProceso item Name = 'FECHAINI' DataType = datDateTime - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'FECHAFIN' DataType = datDateTime - BlobType = dabtUnknown Value = '' ParamType = daptInput end> MasterMappingMode = mmDataRequest StreamingOptions = [soDisableEventsWhileStreaming] - SchemaCall.MethodName = 'GetSchema' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'VentasEnProcesoPendientes' - end - item - Name = 'Columns' - ParamType = fIn - DataType = rtString - Value = '' - end> - DataRequestCall.MethodName = 'GetData' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'VentasEnProcesoPendientes' - end - item - Name = 'MaxRecords' - ParamType = fIn - DataType = rtInteger - Value = -1 - end - item - Name = 'Columns' - ParamType = fIn - DataType = rtString - Value = '' - end - item - Name = 'Params' - ParamType = fIn - DataType = rtUserDefined - UserClassName = 'TDADatasetParamArray' - 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 = 'VentasEnProcesoPendientes' - end> - ReadOnly = False - RemoteService = RemoteService - Adapter = dmBase.DABINAdapter + RemoteDataAdapter = DARemoteDataAdapter2 DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'VentasEnProcesoPendientes' IndexDefs = <> - Left = 184 - Top = 80 + Left = 200 + Top = 96 + end + object DARemoteDataAdapter: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RemoteService + GetSchemaCall.MethodName = 'GetSchemaAsXML' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtString + Flag = fResult + Value = Null + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetSchemaCall.OutgoingFilterParameter = 'aFilter' + GetDataCall.RemoteService = RemoteService + GetDataCall.MethodName = 'GetDatasetDataEx' + GetDataCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + Value = 'VentasEnProcesoPendientes' + end + item + Name = 'Params' + DataType = rtUserDefined + Flag = fIn + TypeName = 'TDADatasetParamArray' + Value = Null + end + item + Name = 'UserFilter' + DataType = rtString + Flag = fIn + Value = Null + end + item + Name = 'IncludeSchema' + DataType = rtBoolean + Flag = fIn + Value = False + end + item + Name = 'MaxRecords' + DataType = rtInteger + Flag = fIn + Value = -1 + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'DatasetName' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + GetDataCall.OutgoingParamsParameter = 'Params' + GetDataCall.OutgoingIncludeSchemaParameter = 'IncludeSchema' + GetDataCall.OutgoingMaxRecordsParameter = 'MaxRecords' + UpdateDataCall.RemoteService = RemoteService + UpdateDataCall.MethodName = 'UpdateData' + UpdateDataCall.Params = < + item + Name = 'Delta' + DataType = rtBinary + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + UpdateDataCall.Default = False + UpdateDataCall.OutgoingDeltaParameter = 'Delta' + UpdateDataCall.IncomingDeltaParameter = 'Result' + GetScriptsCall.RemoteService = RemoteService + GetScriptsCall.MethodName = 'GetDatasetScripts' + GetScriptsCall.Params = < + item + Name = 'DatasetNames' + DataType = rtString + Flag = fIn + end + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetScriptsCall.Default = False + GetScriptsCall.OutgoingTableNamesParameter = 'DatasetNames' + GetScriptsCall.IncomingScriptParameter = 'Result' + RemoteService = RemoteService + DataStreamer = DABinDataStreamer2 + Left = 56 + Top = 96 + end + object DARemoteDataAdapter2: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RemoteService + GetSchemaCall.MethodName = 'GetSchema' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + Value = 'VentasEnProcesoPendientes' + end + item + Name = 'Columns' + DataType = rtString + Flag = fIn + Value = Null + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetDataCall.RemoteService = RemoteService + GetDataCall.MethodName = 'GetData' + GetDataCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + Value = 'VentasEnProcesoPendientes' + end + item + Name = 'Columns' + DataType = rtString + Flag = fIn + Value = Null + end + item + Name = 'Params' + DataType = rtString + Flag = fIn + Value = Null + end + item + Name = 'MaxRecords' + DataType = rtInteger + Flag = fIn + Value = -1 + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'DatasetName' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + GetDataCall.OutgoingParamsParameter = 'Params' + GetDataCall.OutgoingIncludeSchemaParameter = 'IncludeSchema' + GetDataCall.OutgoingMaxRecordsParameter = 'MaxRecords' + UpdateDataCall.RemoteService = RemoteService + UpdateDataCall.MethodName = 'UpdateData' + UpdateDataCall.Params = < + item + Name = 'Delta' + DataType = rtBinary + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + UpdateDataCall.Default = False + UpdateDataCall.OutgoingDeltaParameter = 'Delta' + UpdateDataCall.IncomingDeltaParameter = 'Result' + GetScriptsCall.RemoteService = RemoteService + GetScriptsCall.MethodName = 'GetDatasetScripts' + GetScriptsCall.Params = < + item + Name = 'DatasetNames' + DataType = rtString + Flag = fIn + end + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetScriptsCall.Default = False + GetScriptsCall.OutgoingTableNamesParameter = 'DatasetNames' + GetScriptsCall.IncomingScriptParameter = 'Result' + RemoteService = RemoteService + DataStreamer = DABinDataStreamer2 + Left = 56 + Top = 168 + end + object DABinDataStreamer2: TDABinDataStreamer + IsCompatibleV4 = False + Left = 56 + Top = 248 end end diff --git a/Source/Modulos/VentasProceso/Cliente/uDataModuleVentasProceso.pas b/Source/Modulos/VentasProceso/Cliente/uDataModuleVentasProceso.pas index 6e889e1..cd41a85 100644 --- a/Source/Modulos/VentasProceso/Cliente/uDataModuleVentasProceso.pas +++ b/Source/Modulos/VentasProceso/Cliente/uDataModuleVentasProceso.pas @@ -13,7 +13,8 @@ interface uses {vcl:} SysUtils, Classes, DB, uDataModuleBase, {RemObjects:} uDAClientDataModule, uROClient, uROServiceComponent, uRORemoteService, uDADataTable, uDAScriptingProvider, uDACDSDataTable, - uBizControlVentasProceso, uBizVentasProceso; + uBizControlVentasProceso, uBizVentasProceso, uDARemoteDataAdapter, + uDADataStreamer, uDABinAdapter; const CATEGORIA_VENTAS_PROCESO = 'VENTAPROCESO'; @@ -23,6 +24,9 @@ type RemoteService: TRORemoteService; tbl_VentasEnProcesoPendientes: TDACDSDataTable; tbl_VentasEnProcesoPendientes2: TDACDSDataTable; + DARemoteDataAdapter: TDARemoteDataAdapter; + DARemoteDataAdapter2: TDARemoteDataAdapter; + DABinDataStreamer2: TDABinDataStreamer; procedure DAClientDataModuleCreate(Sender: TObject); protected function GetItems : IBizVentasProceso; diff --git a/Source/Modulos/VentasProceso/Cliente/uViewControlesVentaProceso.pas b/Source/Modulos/VentasProceso/Cliente/uViewControlesVentaProceso.pas index 02a408a..637f1e4 100644 --- a/Source/Modulos/VentasProceso/Cliente/uViewControlesVentaProceso.pas +++ b/Source/Modulos/VentasProceso/Cliente/uViewControlesVentaProceso.pas @@ -7,7 +7,7 @@ uses Dialogs, uViewControlesBase, cxGraphics, cxCustomData, cxStyles, cxTL, cxImageComboBox, cxMaskEdit, cxTextEdit, DB, uDADataTable, ImgList, PngImageList, cxInplaceContainer, cxDBTL, cxControls, cxTLData, - EasyLVCommonObjects, EasyListview; + MPCommonObjects, MPCommonUtilities, EasyListview; type IViewControlesVentaProceso = interface(IViewControlesBase) diff --git a/Source/Modulos/VentasProceso/Reglas/uBizVentasProceso.pas b/Source/Modulos/VentasProceso/Reglas/uBizVentasProceso.pas index aab878b..fe6e9eb 100644 --- a/Source/Modulos/VentasProceso/Reglas/uBizVentasProceso.pas +++ b/Source/Modulos/VentasProceso/Reglas/uBizVentasProceso.pas @@ -4,7 +4,7 @@ interface uses Classes, DB, SysUtils, uROClasses, uDADataTable, uDAInterfaces, - DataAbstract_Intf, uROTypes, schVentasEnProcesoClient_Intf; + DataAbstract3_Intf, uROTypes, schVentasEnProcesoClient_Intf; const BIZ_VENTASPROCESO = 'Client.VentasProceso'; diff --git a/Source/Modulos/VentasProceso/Servidor/srvVentasEnProceso_Impl.dfm b/Source/Modulos/VentasProceso/Servidor/srvVentasEnProceso_Impl.dfm index fe86b80..c54e5ac 100644 --- a/Source/Modulos/VentasProceso/Servidor/srvVentasEnProceso_Impl.dfm +++ b/Source/Modulos/VentasProceso/Servidor/srvVentasEnProceso_Impl.dfm @@ -4,8 +4,10 @@ object srvVentasEnProceso: TsrvVentasEnProceso AcquireConnection = True ServiceSchema = schVentasEnProceso ServiceAdapter = DABINAdapter - Left = 536 - Top = 479 + OnAfterProcessTransactionAction = pptaNone + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] Height = 297 Width = 298 object schVentasEnProceso: TDASchema @@ -126,263 +128,117 @@ object srvVentasEnProceso: TsrvVentasEnProceso Name = 'NUMINF' DataType = datString Size = 35 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE1' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE2' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE3' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DIA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DIASEMANA' DataType = datString Size = 30 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'MES' DataType = datString Size = 30 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ANO' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CENTRO' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VENDEDOR' DataType = datString Size = 66 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NUMTALON' DataType = datString Size = 35 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PRODUCTO' DataType = datString Size = 40 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'GRUPOPRODUCTO' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TIPOPRODUCTO' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLECCION' DataType = datString Size = 6 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA' DataType = datString Size = 8 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'INICIO' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FINAL' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'IMPORTE' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = <> RelationShips = <> UpdateRules = <> + Version = 0 Left = 48 Top = 32 end diff --git a/Source/Modulos/VentasProceso/Servidor/srvVentasEnProceso_Impl.pas b/Source/Modulos/VentasProceso/Servidor/srvVentasEnProceso_Impl.pas index b5c8eda..3d8fe32 100644 --- a/Source/Modulos/VentasProceso/Servidor/srvVentasEnProceso_Impl.pas +++ b/Source/Modulos/VentasProceso/Servidor/srvVentasEnProceso_Impl.pas @@ -13,9 +13,9 @@ uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, {Ancestor Implementation:} DARemoteService_Impl, - {Used RODLs:} DataAbstract_Intf, + {Used RODLs:} DataAbstract3_Intf, {Generated:} VARELA_Intf, uDAClasses, uDABusinessProcessor, - uDAInterfaces, uDADataTable, uDABINAdapter; + uDAInterfaces, uDADataTable, uDABINAdapter, uDADataStreamer; type { TsrvVentasEnProceso } @@ -24,7 +24,7 @@ type schVentasEnProceso: TDASchema; private protected - function GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary; + function GetData(const DatasetName: String; const Columns: String; const Params: String; const MaxRecords: Integer): Binary; function GetSchema(const DatasetName: String; const Columns: String): Binary; end; @@ -42,43 +42,64 @@ begin anInstance := TsrvVentasEnProceso.Create(NIL); end; -{ srvVentasEnProceso } { TsrvVentasEnProceso } function TsrvVentasEnProceso.GetData(const DatasetName: String; - const MaxRecords: Integer; const Columns: String; - const Params: TDADatasetParamArray): Binary; + const Columns: String; const Params: String; + const MaxRecords: Integer): Binary; var ds : IDADataset; i : integer; + pars: TStringList; + parnames: array of string; + parvalues: array of Variant; begin + pars := TStringList.Create; result := Binary.Create; try - { Prepares the parameter arrays} - - with TReplicarDataSet.Create do - begin - SourceDataSetName := DatasetName; - Service := Self; - Columnas := Columns; - ColumnasQueSuman := CAMPOS_SUMA; - try - ds := GetNewDataSet; - finally - Free; + try + pars.Text := Params; + SetLength(parnames, pars.Count); + SetLength(parvalues, pars.Count); + for i := 0 to (pars.Count-1) do begin + parnames[i] := pars.Names[i]; + parvalues[i] := pars.Values[pars.Names[i]]; end; - end; - for i := 0 to (Params.Count-1) do - ds.ParamByName(Params[i].Name).Value := Params[i].Value; - ds.Open; - ServiceAdapter.WriteDataset(Result, ds, [woRows], MaxRecords); - except - FreeAndNIl(result); - raise; + { Prepares the parameter arrays} + + with TReplicarDataSet.Create do + begin + SourceDataSetName := DatasetName; + Service := Self; + Columnas := Columns; + ColumnasQueSuman := CAMPOS_SUMA; + try + ds := GetNewDataSet; + finally + Free; + end; + end; + + // Fills the parameters (if any are specified) + if (Length(parnames) > 0) then + begin + for i := 0 to (Length(parnames) - 1) do + ds.ParamByName(parnames[i]).Value := parvalues[i]; + end; + + ds.Open; + ServiceAdapter.WriteDataset(Result, ds, [woRows], MaxRecords); + except + FreeAndNIl(result); + raise; + end; + finally + FreeANDNil(pars); end; end; + function TsrvVentasEnProceso.GetSchema(const DatasetName, Columns: String): Binary; var @@ -98,6 +119,7 @@ begin Free; end; end; + ServiceAdapter.WriteDataset(result, ds, [woSchema]); except FreeAndNIl(result); diff --git a/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.bdsproj b/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.bdsproj new file mode 100644 index 0000000..92783e2 --- /dev/null +++ b/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.bdsproj @@ -0,0 +1,677 @@ + + + + + + + + + + + + VentasTerminadas.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7 + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.dpk b/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.dpk index 22f84e6..6926416 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.dpk +++ b/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.dpk @@ -16,62 +16,62 @@ package VentasTerminadas; {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} +{$STACKFRAMES ON} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} +{$IMPLICITBUILD ON} +{$DEFINE DEBUG} requires - BaseD7, + BaseD10, rtl, vcl, - PluginSDK_D7R, - PngComponentsD7, - PNG_D7, + PluginSDK_D10R, + PngComponentsD10, + PNG_D10, vclactnband, vclx, - GUISDK_D7, + GUISDK_D10, dbrtl, dsnap, adortl, - tb2k_d7, - tbx_d7, - JvCoreD7R, + tb2k_D10, + tbx_D10, + JvCoreD10R, vcljpg, Jcl, JclVcl, - JvSystemD7R, - JvPageCompsD7R, - JvStdCtrlsD7R, - cxTreeListVCLD7, - dxThemeD7, - cxLibraryVCLD7, - cxExportVCLD7, - cxEditorsVCLD7, - cxDataD7, + JvSystemD10R, + JvPageCompsD10R, + JvStdCtrlsD10R, + cxTreeListD10, + dxThemeD10, + cxLibraryD10, + cxExportD10, + cxEditorsD10, + cxDataD10, vcldb, - cxGridVCLD7, - cxPageControlVCLD7, - cxExtEditorsVCLD7, - dxPSCoreD7, - dxComnD7, - dxPScxCommonD7, - dxPSLnksD7, + cxGridD10, + cxPageControlD10, + cxExtEditorsD10, + dxPSCoreD10, + dxComnD10, + dxPScxCommonD10, + dxPSLnksD10, designide, vclshlctrls, - dxPScxGridLnkD7, - dclcxLibraryVCLD7, - ControlesBaseD7; + dxPScxGridLnkD10, + dclcxLibraryD10, + ControlesBaseD10; contains uPluginControllerVentasTerminadas in 'uPluginControllerVentasTerminadas.pas' {ModuleVentasTerminadas: TModuleController}, uDataModuleVentasTerminadas in 'uDataModuleVentasTerminadas.pas' {dmVentasTerminadas: TDAClientDataModule}, uBizVentasTerminadas in '..\Reglas\uBizVentasTerminadas.pas', uBizControlVentasTerminadas in '..\Reglas\uBizControlVentasTerminadas.pas', - schVentasTerminadasClient_Intf in '..\Reglas\schVentasTerminadasClient_Intf.pas', uEditorControlesVentasTerminadas in 'uEditorControlesVentasTerminadas.pas' {fEditorControlesVentasTerminadas: TCustomEditor}, uViewControlesVentasTerminadas in 'uViewControlesVentasTerminadas.pas' {frViewControlesVentasTerminadas: TCustomView}, uViewControlVentasTerminadas in 'uViewControlVentasTerminadas.pas' {frViewControlVentasTerminadas: TCustomView}, @@ -79,6 +79,7 @@ contains uViewControGridlVentasTerminadas in 'uViewControGridlVentasTerminadas.pas' {frViewControlGridVentasTerminadas: TCustomView}, uViewControGridResumenVentas in 'uViewControGridResumenVentas.pas' {frViewControlGridResumenVentas: TCustomView}, uEditorControlResumenVentas in 'uEditorControlResumenVentas.pas' {fEditorControlResumenVentas: TCustomEditor}, + schVentasTerminadasClient_Intf in '..\Reglas\schVentasTerminadasClient_Intf.pas', schVentasTerminadasServer_Intf in '..\Reglas\schVentasTerminadasServer_Intf.pas'; end. diff --git a/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.dproj b/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.dproj new file mode 100644 index 0000000..96af6d7 --- /dev/null +++ b/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.dproj @@ -0,0 +1,642 @@ + + + {e78ab5a1-3e67-4073-abb0-540b2303c7d3} + VentasTerminadas.dpk + Debug + AnyCPU + DCC32 + ..\..\..\..\Output\Debug\Cliente\VentasTerminadas.bpl + + + 7.0 + False + False + False + 0 + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + RELEASE + + + 7.0 + False + 3 + .\ + .\ + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + ..\..\..\Lib + DEBUG + True + + + Delphi.Personality + Package + +FalseTrueFalseTrueFalseFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1030FalseFalseFalseFalseFalse308212521.0.3.01.0.0.0VentasTerminadas.dpk + + + + + + + CodeGear WebSnap Components + CodeGear SOAP Components + Microsoft Office XP Sample Automation Server Wrapper Components + Microsoft Office 2000 Sample Automation Server Wrapper Components + CodeGear C++Builder Office 2000 Servers Package + CodeGear C++Builder Office XP Servers Package + + + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
dmVentasTerminadas
+
+ +
fEditorControlesVentasTerminadas
+
+ +
fEditorControlResumenVentas
+
+ +
fEditorControlVentasTerminadas
+
+ +
ModuleVentasTerminadas
+
+ +
frViewControlGridVentasTerminadas
+
+ +
frViewControlGridResumenVentas
+
+ +
frViewControlesVentasTerminadas
+
+ +
frViewControlVentasTerminadas
+
+ + + + + + +
+
+ diff --git a/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.drc b/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.drc index a5d5271..4f3a297 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.drc +++ b/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.drc @@ -1,5 +1,5 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,14 @@ STRINGTABLE BEGIN END +/* C:\Varela_D2007\Source\Modulos\VentasTerminadas\Cliente\uDataModuleVentasTerminadas.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasTerminadas\Cliente\uViewControlesVentasTerminadas.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasTerminadas\Cliente\uEditorControlesVentasTerminadas.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasTerminadas\Cliente\uViewControGridlVentasTerminadas.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasTerminadas\Cliente\uViewControlVentasTerminadas.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasTerminadas\Cliente\uViewControGridResumenVentas.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasTerminadas\Cliente\uEditorControlResumenVentas.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasTerminadas\Cliente\uPluginControllerVentasTerminadas.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasTerminadas\Cliente\uEditorControlVentasTerminadas.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasTerminadas\Cliente\VentasTerminadas.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf12.tmp */ diff --git a/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.identcache b/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.identcache new file mode 100644 index 0000000..2c70333 Binary files /dev/null and b/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.identcache differ diff --git a/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.rc b/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.rc new file mode 100644 index 0000000..169f997 --- /dev/null +++ b/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,3,0 +PRODUCTVERSION 1,0,3,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.3.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.res b/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.res index b1dc5fd..784f75e 100644 Binary files a/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.res and b/Source/Modulos/VentasTerminadas/Cliente/VentasTerminadas.res differ diff --git a/Source/Modulos/VentasTerminadas/Cliente/uDataModuleVentasTerminadas.dfm b/Source/Modulos/VentasTerminadas/Cliente/uDataModuleVentasTerminadas.dfm index ccfebed..700e83c 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/uDataModuleVentasTerminadas.dfm +++ b/Source/Modulos/VentasTerminadas/Cliente/uDataModuleVentasTerminadas.dfm @@ -1,26 +1,349 @@ object dmVentasTerminadas: TdmVentasTerminadas OldCreateOrder = True OnCreate = DAClientDataModuleCreate - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter - SchemaCall.MethodName = 'GetSchemaAsXML' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtString - end> - Left = 700 - Top = 505 - Height = 299 - Width = 464 + Height = 363 + Width = 600 object RORemoteService: TRORemoteService - ServiceName = 'srvVentasTerminadas' Message = dmBase.ROMessage Channel = dmBase.ROChannel + ServiceName = 'srvVentasTerminadas' Left = 48 Top = 20 end + object tbl_VentasTerminadas2: TDACDSDataTable + RemoteUpdatesOptions = [] + Fields = <> + Params = < + item + Name = 'FECHAINI' + DataType = datString + Value = '2006/01/01' + ParamType = daptInput + end + item + Name = 'FECHAFIN' + DataType = datString + Value = '2006/12/12' + ParamType = daptInput + end> + MasterMappingMode = mmDataRequest + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteDataAdapter = DARemoteDataAdapter_VentasTerminadas2 + LocalDataStreamer = DABinDataStreamer1 + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'VentasTerminadas' + IndexDefs = <> + Left = 464 + Top = 72 + end + object tbl_VentasTerminadasCrossTab: TDACDSDataTable + RemoteUpdatesOptions = [] + Fields = <> + Params = < + item + Name = 'fechaini' + DataType = datString + Value = '' + ParamType = daptInput + end + item + Name = 'fechafin' + DataType = datString + Value = '' + ParamType = daptInput + end + item + Name = 'coleccion' + DataType = datString + Value = '%' + ParamType = daptInput + end> + MasterMappingMode = mmDataRequest + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteDataAdapter = DARemoteDataAdapterCrossTab + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'VentasTerminadasCrossTab' + IndexDefs = <> + Left = 216 + Top = 224 + end + object ds_VentasTerminadasCrossTab: TDADataSource + DataSet = tbl_VentasTerminadasCrossTab.Dataset + DataTable = tbl_VentasTerminadasCrossTab + Left = 216 + Top = 288 + end + object DARemoteDataAdapterCrossTab: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RORemoteService + GetSchemaCall.MethodName = 'GetSchemaCrossTab' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'FechaIni' + DataType = rtString + Flag = fIn + Value = '01/01/2007' + end + item + Name = 'FechaFin' + DataType = rtString + Flag = fIn + Value = '31/01/2007' + end + item + Name = 'Coleccion' + DataType = rtString + Flag = fIn + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetSchemaCall.OutgoingFilterParameter = 'aFilter' + GetDataCall.RemoteService = RORemoteService + GetDataCall.MethodName = 'GetDataCrossTab' + GetDataCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'FechaIni' + DataType = rtString + Flag = fIn + Value = '01/01/2007' + end + item + Name = 'FechaFin' + DataType = rtString + Flag = fIn + Value = '31/01/2007' + end + item + Name = 'Coleccion' + DataType = rtString + Flag = fIn + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'DatasetName' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + GetDataCall.OutgoingParamsParameter = 'Params' + GetDataCall.OutgoingIncludeSchemaParameter = 'IncludeSchema' + GetDataCall.OutgoingMaxRecordsParameter = 'MaxRecords' + UpdateDataCall.RemoteService = RORemoteService + UpdateDataCall.MethodName = 'UpdateData' + UpdateDataCall.Params = < + item + Name = 'Delta' + DataType = rtBinary + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + UpdateDataCall.Default = False + UpdateDataCall.OutgoingDeltaParameter = 'Delta' + UpdateDataCall.IncomingDeltaParameter = 'Result' + GetScriptsCall.RemoteService = RORemoteService + GetScriptsCall.MethodName = 'GetDatasetScripts' + GetScriptsCall.Params = < + item + Name = 'DatasetNames' + DataType = rtString + Flag = fIn + end + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetScriptsCall.Default = False + GetScriptsCall.OutgoingTableNamesParameter = 'DatasetNames' + GetScriptsCall.IncomingScriptParameter = 'Result' + RemoteService = RORemoteService + DataStreamer = dmBase.DABINAdapter + Left = 216 + Top = 168 + end + object DARemoteDataAdapter_VentasTerminadas2: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RORemoteService + GetSchemaCall.MethodName = 'GetSchema' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + Value = 'VentasTerminadas' + end + item + Name = 'Columns' + DataType = rtString + Flag = fIn + Value = Null + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetSchemaCall.OutgoingFilterParameter = 'aFilter' + GetDataCall.RemoteService = RORemoteService + GetDataCall.MethodName = 'GetDataEx' + GetDataCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + Value = 'VentasTerminadas' + end + item + Name = 'Columns' + DataType = rtString + Flag = fIn + end + item + Name = 'Params' + DataType = rtString + Flag = fIn + Value = Null + end + item + Name = 'MaxRecords' + DataType = rtInteger + Flag = fIn + Value = -1 + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'DatasetName' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + GetDataCall.OutgoingParamsParameter = 'Params' + GetDataCall.OutgoingIncludeSchemaParameter = 'IncludeSchema' + GetDataCall.OutgoingMaxRecordsParameter = 'MaxRecords' + UpdateDataCall.RemoteService = RORemoteService + UpdateDataCall.MethodName = 'UpdateData' + UpdateDataCall.Params = < + item + Name = 'Delta' + DataType = rtBinary + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + UpdateDataCall.Default = False + UpdateDataCall.OutgoingDeltaParameter = 'Delta' + UpdateDataCall.IncomingDeltaParameter = 'Result' + GetScriptsCall.RemoteService = RORemoteService + GetScriptsCall.MethodName = 'GetDatasetScripts' + GetScriptsCall.Params = < + item + Name = 'DatasetNames' + DataType = rtString + Flag = fIn + end + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetScriptsCall.Default = False + GetScriptsCall.OutgoingTableNamesParameter = 'DatasetNames' + GetScriptsCall.IncomingScriptParameter = 'Result' + RemoteService = RORemoteService + DataStreamer = DABinDataStreamer1 + Left = 464 + Top = 16 + end + object DABinDataStreamer1: TDABinDataStreamer + IsCompatibleV4 = False + Left = 48 + Top = 96 + end + object DARemoteDataAdapter_VentasTerminadas: TDARemoteDataAdapter + GetSchemaCall.RemoteService = RORemoteService + GetSchemaCall.MethodName = 'GetSchemaAsXML' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetSchemaCall.OutgoingFilterParameter = 'aFilter' + GetDataCall.RemoteService = RORemoteService + GetDataCall.MethodName = 'GetDatasetDataEx' + GetDataCall.Params = < + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + Value = Null + end + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + Value = 'VentasTerminadas' + end + item + Name = 'Params' + DataType = rtUserDefined + Flag = fIn + TypeName = 'TDADatasetParamArray' + Value = Null + end + item + Name = 'UserFilter' + DataType = rtString + Flag = fIn + Value = Null + end + item + Name = 'IncludeSchema' + DataType = rtBoolean + Flag = fIn + Value = True + end + item + Name = 'MaxRecords' + DataType = rtInteger + Flag = fIn + Value = -1 + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'aTableNameArray' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + UpdateDataCall.RemoteService = RORemoteService + GetScriptsCall.RemoteService = RORemoteService + RemoteService = RORemoteService + DataStreamer = DABinDataStreamer1 + Left = 216 + Top = 16 + end object tbl_VentasTerminadas: TDACDSDataTable RemoteUpdatesOptions = [] Fields = < @@ -28,956 +351,226 @@ object dmVentasTerminadas: TdmVentasTerminadas Name = 'NUMINF' DataType = datString Size = 35 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE1' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify + DataType = datDecimal InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE2' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE3' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Fecha' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DIA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'D'#237'a' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DIASEMANA' - DataType = datString + DataType = datWideString Size = 30 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'D'#237'a de la semana' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'MES' - DataType = datString + DataType = datWideString Size = 30 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Mes' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ANO' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'A'#241'o' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CENTRO' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Centro' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VENDEDOR' DataType = datString Size = 66 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Vendedor' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NUMTALON' DataType = datString Size = 35 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'C'#243'digo producto' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PRODUCTO' DataType = datString Size = 40 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Producto' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'GRUPOPRODUCTO' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Grupo' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TIPOPRODUCTO' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Tipo' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLECCION' DataType = datString - Size = 40 - BlobType = dabtUnknown - DisplayWidth = 0 + Size = 6 DisplayLabel = 'Colecci'#243'n' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Color' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA' DataType = datString Size = 8 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Talla' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA38' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = '38' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA40' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = '40' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA42' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = '42' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA44' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = '44' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA46' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = '46' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA48' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = '48' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VTATERMDEV' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Vta.Term/Dev' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VTAFINALRESC' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Vta.Final/Resc' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VENTAS' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Ventas' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DEVOLUCIONES' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Devoluciones' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TOTAL' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Total ventas' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VALTERMDEV' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Val.Term/Dev' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VALFINALRESC' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Val.Final/Resc' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VALVEN' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Imp. ventas' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VALDEV' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Imp. devoluciones' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VALTOT' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Imp. Total' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> Params = < item Name = 'FECHAINI' - BlobType = dabtUnknown - Value = '2006/01/01' - ParamType = daptInput - end - item - Name = 'FECHAFIN' - BlobType = dabtUnknown - Value = '2006/12/12' - ParamType = daptInput - end> - 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 = 'VentasTerminadas' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'VentasTerminadas' - 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 = 'VentasTerminadas' - end> - ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] - LogicalName = 'VentasTerminadas' - IndexDefs = <> - Left = 216 - Top = 24 - end - object tbl_VentasTerminadas2: TDACDSDataTable - RemoteUpdatesOptions = [] - Fields = <> - Params = < - item - Name = 'FECHAINI' - DataType = datDateTime - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'FECHAFIN' - DataType = datDateTime - BlobType = dabtUnknown Value = '' ParamType = daptInput end> MasterMappingMode = mmDataRequest StreamingOptions = [soDisableEventsWhileStreaming] - SchemaCall.MethodName = 'GetSchema' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'VentasTerminadas' - end - item - Name = 'Columns' - ParamType = fIn - DataType = rtString - Value = '' - end> - DataRequestCall.MethodName = 'GetData' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'VentasTerminadas' - end - item - Name = 'MaxRecords' - ParamType = fIn - DataType = rtInteger - Value = -1 - end - item - Name = 'Columns' - ParamType = fIn - DataType = rtString - Value = '' - end - item - Name = 'Params' - ParamType = fIn - DataType = rtUserDefined - UserClassName = 'TDADatasetParamArray' - 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 = 'Ventas' - end> - ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter + RemoteDataAdapter = DARemoteDataAdapter_VentasTerminadas + LocalDataStreamer = DABinDataStreamer1 DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'VentasTerminadas' IndexDefs = <> - Left = 336 - Top = 24 - end - object tbl_VentasTerminadasCrossTab: TDACDSDataTable - RemoteUpdatesOptions = [] - Fields = < - item - Name = 'DIA' - DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'TOTAL' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = '8422416102352' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = '8422416200034' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = '8422416200201' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = '8422416201055' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'C. INGLES BARCELONA ' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'C. INGLES BILBAO ' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'C. INGLES CASTELLANA ' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'C. INGLES LA CORU'#209'A ' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'C. INGLES LAS PALMAS ' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'C. INGLES MALAGA ' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'C. INGLES MARBELLA ' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'C. INGLES PRINCESA ' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'C. INGLES SANCHINARRO ' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'C. INGLES SERRANO MADRID ' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'C. INGLES SEVILLA ' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'C. INGLES ZARAGOZA ' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end - item - Name = 'C.INGLES VALENCIA ' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False - end> - Params = < - item - Name = 'fechaini' - DataType = datString - BlobType = dabtUnknown - Value = '' - ParamType = daptInput - end - item - Name = 'fechafin' - DataType = datString - BlobType = dabtUnknown - Value = '' - ParamType = daptInput - end - item - Name = 'coleccion' - DataType = datString - BlobType = dabtUnknown - Value = '%' - ParamType = daptInput - end> - MasterMappingMode = mmDataRequest - StreamingOptions = [soDisableEventsWhileStreaming] - SchemaCall.MethodName = 'GetSchemaCrossTab' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'FechaIni' - ParamType = fIn - DataType = rtString - Value = '' - end - item - Name = 'FechaFin' - ParamType = fIn - DataType = rtString - Value = '' - end> - DataRequestCall.MethodName = 'GetDataCrossTab' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'FechaIni' - ParamType = fIn - DataType = rtString - Value = '' - end - item - Name = 'FechaFin' - ParamType = fIn - DataType = rtString - Value = '' - end - item - Name = 'Coleccion' - ParamType = fIn - DataType = rtString - Value = '%' - 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 = '' - end> - ReadOnly = False - RemoteService = RORemoteService - Adapter = dmBase.DABINAdapter - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] - LogicalName = 'VentasTerminadasCrossTab' - IndexDefs = <> - Left = 336 - Top = 96 - end - object ds_VentasTerminadasCrossTab: TDADataSource - DataTable = tbl_VentasTerminadasCrossTab Left = 216 - Top = 96 + Top = 72 end end diff --git a/Source/Modulos/VentasTerminadas/Cliente/uDataModuleVentasTerminadas.pas b/Source/Modulos/VentasTerminadas/Cliente/uDataModuleVentasTerminadas.pas index 9217482..57a300c 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/uDataModuleVentasTerminadas.pas +++ b/Source/Modulos/VentasTerminadas/Cliente/uDataModuleVentasTerminadas.pas @@ -6,7 +6,8 @@ uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uDAClientDataModule, uDADataTable, uDABINAdapter, uROServiceComponent, uRORemoteService, uROClient, uROBinMessage, uROWinInetHttpChannel, uDAScriptingProvider, uDACDSDataTable, - uBizVentasTerminadas, uBizControlVentasTerminadas; + uBizVentasTerminadas, uBizControlVentasTerminadas, uDARemoteDataAdapter, + uDAInterfaces, uDAMemDataTable, uDADataStreamer; const CATEGORIA_VENTA_TERMINADA = 'VENTATERMINADA'; @@ -14,10 +15,14 @@ const type TdmVentasTerminadas = class(TDAClientDataModule) RORemoteService: TRORemoteService; - tbl_VentasTerminadas: TDACDSDataTable; tbl_VentasTerminadas2: TDACDSDataTable; tbl_VentasTerminadasCrossTab: TDACDSDataTable; ds_VentasTerminadasCrossTab: TDADataSource; + DARemoteDataAdapterCrossTab: TDARemoteDataAdapter; + DARemoteDataAdapter_VentasTerminadas2: TDARemoteDataAdapter; + DABinDataStreamer1: TDABinDataStreamer; + DARemoteDataAdapter_VentasTerminadas: TDARemoteDataAdapter; + tbl_VentasTerminadas: TDACDSDataTable; procedure DAClientDataModuleCreate(Sender: TObject); protected function GetItems : IBizVentasTerminadas; @@ -35,7 +40,7 @@ implementation {$R *.DFM} uses - Controls, Forms, uDAInterfaces, DataAbstract_Intf, uDataTableUtils, + Controls, Forms, DataAbstract3_Intf, uDataTableUtils, uROTypes, uEditorPreview, Dialogs, uDataModuleControles, uDataModuleBase, uDBSelectionList, schVentasTerminadasClient_Intf, cxControls; diff --git a/Source/Modulos/VentasTerminadas/Cliente/uEditorControlResumenVentas.dfm b/Source/Modulos/VentasTerminadas/Cliente/uEditorControlResumenVentas.dfm index e6fbeea..2812d8b 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/uEditorControlResumenVentas.dfm +++ b/Source/Modulos/VentasTerminadas/Cliente/uEditorControlResumenVentas.dfm @@ -1,13 +1,16 @@ inherited fEditorControlResumenVentas: TfEditorControlResumenVentas Left = 419 Top = 239 - Width = 687 - Height = 607 Caption = 'Resumen de ventas' + ClientHeight = 573 + ClientWidth = 679 + ExplicitWidth = 687 + ExplicitHeight = 607 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader Width = 679 + ExplicitWidth = 679 inherited Image1: TImage Left = 652 Picture.Data = { @@ -118,11 +121,14 @@ inherited fEditorControlResumenVentas: TfEditorControlResumenVentas B1005AAA54ACD3E427D783846CBD0EBA0C0ED6EFBB123EFB577FB431DBA95582 F7F5673AD61714D5155EBBD3B7A20056DFDA7245B7C95C914CFC9F00A95ADA01 3F01A44422D9EF203E7B0000000049454E44AE426082} + ExplicitLeft = 652 end end inherited TBXDock: TTBXDock Width = 679 + ExplicitWidth = 679 inherited tbxMain: TTBXToolbar + ExplicitWidth = 469 object TBXLabelItem2: TTBXLabelItem [0] Caption = ' Mes:' end @@ -216,6 +222,7 @@ inherited fEditorControlResumenVentas: TfEditorControlResumenVentas end end inherited tbxMenu: TTBXToolbar + ExplicitWidth = 679 inherited TBXSubmenuItem6: TTBXSubmenuItem object TBXItem37: TTBXItem [0] Action = actExpandir @@ -233,17 +240,20 @@ inherited fEditorControlResumenVentas: TfEditorControlResumenVentas inherited tbxFiltro: TTBXToolbar Left = 469 Visible = False + ExplicitLeft = 469 end end inherited StatusBar: TStatusBar Top = 554 Width = 679 + ExplicitTop = 554 + ExplicitWidth = 679 end inline frViewControlGridResumenVentas1: TfrViewControlGridResumenVentas [3] Left = 0 Top = 76 Width = 679 - Height = 478 + Height = 284 Align = alClient Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -253,9 +263,14 @@ inherited fEditorControlResumenVentas: TfEditorControlResumenVentas ParentFont = False TabOrder = 3 ReadOnly = False + ExplicitTop = 76 + ExplicitWidth = 679 + ExplicitHeight = 478 inherited cxGrid: TcxGrid Width = 679 - Height = 478 + Height = 284 + ExplicitWidth = 679 + ExplicitHeight = 478 end inherited dxComponentPrinter: TdxComponentPrinter inherited dxComponentPrinterLink1: TdxGridReportLink @@ -264,7 +279,21 @@ inherited fEditorControlResumenVentas: TfEditorControlResumenVentas end end end - inherited EditorActionList: TActionList [4] + object DBGrid1: TDBGrid [4] + Left = 0 + Top = 360 + Width = 679 + Height = 194 + Align = alBottom + DataSource = dsDataTable + TabOrder = 4 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -11 + TitleFont.Name = 'Tahoma' + TitleFont.Style = [] + end + inherited EditorActionList: TActionList [5] inherited actNuevo: TAction Visible = False end @@ -297,7 +326,7 @@ inherited fEditorControlResumenVentas: TfEditorControlResumenVentas OnExecute = actAnchoAutoExecute end end - inherited SmallImages: TPngImageList [5] + inherited SmallImages: TPngImageList [6] PngImages = < item PngImage.Data = { @@ -830,7 +859,7 @@ inherited fEditorControlResumenVentas: TfEditorControlResumenVentas end> Bitmap = {} end - inherited LargeImages: TPngImageList [6] + inherited LargeImages: TPngImageList [7] PngImages = < item PngImage.Data = { @@ -1660,9 +1689,9 @@ inherited fEditorControlResumenVentas: TfEditorControlResumenVentas end> Bitmap = {} end - inherited JvFormStorage: TJvFormStorage [7] + inherited JvFormStorage: TJvFormStorage [8] end - inherited JvAppRegistryStorage: TJvAppRegistryStorage [9] + inherited JvAppRegistryStorage: TJvAppRegistryStorage [10] end object dsVentasTerminadas: TDADataSource Left = 320 diff --git a/Source/Modulos/VentasTerminadas/Cliente/uEditorControlResumenVentas.pas b/Source/Modulos/VentasTerminadas/Cliente/uEditorControlResumenVentas.pas index d254c75..0abc4e6 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/uEditorControlResumenVentas.pas +++ b/Source/Modulos/VentasTerminadas/Cliente/uEditorControlResumenVentas.pas @@ -11,7 +11,7 @@ uses uCustomView, uViewBase, uViewControlBase, Grids, DBGrids, pngimage, uViewControlVentasTerminadas, uEditorGridBase, uViewGridBase, uViewGrid, uViewControGridResumenVentas, Menus, TB2ExtItems, TBXExtItems, - uBizVentasTerminadas, StdCtrls; + uBizVentasTerminadas, StdCtrls, uDAInterfaces; type IEditorControlResumenVentas = interface(IEditorGridBase) @@ -43,6 +43,7 @@ type edtColeccion: TTBXEditItem; TBXLabelItem4: TTBXLabelItem; TBXSeparatorItem19: TTBXSeparatorItem; + DBGrid1: TDBGrid; procedure actAnchoAutoExecute(Sender: TObject); procedure FormShow(Sender: TObject); procedure actRefrescarExecute(Sender: TObject); diff --git a/Source/Modulos/VentasTerminadas/Cliente/uEditorControlVentasTerminadas.dfm b/Source/Modulos/VentasTerminadas/Cliente/uEditorControlVentasTerminadas.dfm index d719c28..f500fce 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/uEditorControlVentasTerminadas.dfm +++ b/Source/Modulos/VentasTerminadas/Cliente/uEditorControlVentasTerminadas.dfm @@ -1,15 +1,18 @@ inherited fEditorControlVentasTerminadas: TfEditorControlVentasTerminadas Left = 531 Top = 329 - Width = 687 - Height = 607 Caption = 'fEditorControlVentasTerminadas' + ClientHeight = 573 + ClientWidth = 679 OnCreate = CustomEditorCreate OnGetModified = CustomEditorGetModified + ExplicitWidth = 687 + ExplicitHeight = 607 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader Width = 679 + ExplicitWidth = 679 inherited Image1: TImage Left = 652 Picture.Data = { @@ -120,11 +123,14 @@ inherited fEditorControlVentasTerminadas: TfEditorControlVentasTerminadas B1005AAA54ACD3E427D783846CBD0EBA0C0ED6EFBB123EFB577FB431DBA95582 F7F5673AD61714D5155EBBD3B7A20056DFDA7245B7C95C914CFC9F00A95ADA01 3F01A44422D9EF203E7B0000000049454E44AE426082} + ExplicitLeft = 652 end end inherited TBXDock: TTBXDock Width = 679 + ExplicitWidth = 679 inherited tbxMain: TTBXToolbar + ExplicitWidth = 679 object TBXSeparatorItem16: TTBXSeparatorItem [13] end object tbxiExpandir: TTBXItem [14] @@ -139,6 +145,7 @@ inherited fEditorControlVentasTerminadas: TfEditorControlVentasTerminadas end end inherited tbxMenu: TTBXToolbar + ExplicitWidth = 679 inherited TBXSubmenuItem6: TTBXSubmenuItem object TBXItem37: TTBXItem [0] Action = actExpandir @@ -157,6 +164,8 @@ inherited fEditorControlVentasTerminadas: TfEditorControlVentasTerminadas inherited StatusBar: TStatusBar Top = 554 Width = 679 + ExplicitTop = 554 + ExplicitWidth = 679 end inline frViewControlVentasTerminadas1: TfrViewControlVentasTerminadas [3] Left = 0 @@ -172,62 +181,90 @@ inherited fEditorControlVentasTerminadas: TfEditorControlVentasTerminadas ParentFont = False TabOrder = 3 ReadOnly = False + ExplicitTop = 76 + ExplicitWidth = 679 + ExplicitHeight = 478 inherited TBXMultiDock1: TTBXMultiDock Width = 234 Height = 478 + ExplicitWidth = 234 + ExplicitHeight = 478 inherited pnlParametros: TTBXDockablePanel DockedWidth = 230 SplitHeight = 258 + ExplicitWidth = 234 + ExplicitHeight = 258 inherited TBXAlignmentPanel2: TTBXAlignmentPanel Width = 230 + ExplicitWidth = 230 inherited TBXLink1: TTBXLink Width = 222 + ExplicitWidth = 222 end inherited TBXLink5: TTBXLink Width = 222 + ExplicitWidth = 222 end inherited TBXLink2: TTBXLink Width = 222 + ExplicitWidth = 222 end end inherited pcParametros: TPageControl Width = 230 Height = 138 + ExplicitWidth = 230 + ExplicitHeight = 138 inherited TabSheet5: TTabSheet + ExplicitHeight = 0 inherited frViewPeriodoFechas1: TfrViewPeriodoFechas Height = 0 + ExplicitHeight = 0 inherited TBXAlignmentPanel1: TTBXAlignmentPanel inherited cbPeriodo: TcxComboBox + ExplicitWidth = 125 Width = 125 end end end end inherited tsColumnas: TTabSheet + ExplicitHeight = 0 inherited frViewColumnas1: TfrViewColumnas Height = 0 + ExplicitHeight = 0 inherited lbColumnas: TcxCheckListBox Height = 0 + ExplicitHeight = 0 end end end inherited tsAgrupacion: TTabSheet + ExplicitWidth = 222 + ExplicitHeight = 128 inherited frViewAgrupaciones1: TfrViewAgrupaciones Width = 222 Height = 128 + ExplicitWidth = 222 + ExplicitHeight = 128 inherited TBXLabel1: TTBXLabel Width = 222 + ExplicitWidth = 222 end inherited pnlAgrupaciones: TTBXAlignmentPanel Width = 222 + ExplicitWidth = 222 inherited TBXButton1: TTBXButton Width = 109 + ExplicitWidth = 109 end inherited TBXButton3: TTBXButton Width = 109 + ExplicitWidth = 109 end inherited TBXButton2: TTBXButton Width = 109 + ExplicitWidth = 109 end end end @@ -236,6 +273,8 @@ inherited fEditorControlVentasTerminadas: TfEditorControlVentasTerminadas inherited TBXAlignmentPanel3: TTBXAlignmentPanel Top = 206 Width = 230 + ExplicitTop = 206 + ExplicitWidth = 230 end end inherited pnlTareas: TTBXDockablePanel @@ -243,43 +282,65 @@ inherited fEditorControlVentasTerminadas: TfEditorControlVentasTerminadas DockedWidth = 230 DockPos = 258 SplitHeight = 204 + ExplicitTop = 258 + ExplicitWidth = 234 + ExplicitHeight = 204 inherited TBXPageScroller1: TTBXPageScroller Width = 230 Height = 182 + ExplicitWidth = 230 + ExplicitHeight = 182 inherited TBXAlignmentPanel1: TTBXAlignmentPanel Width = 230 + ExplicitWidth = 230 inherited bFiltros: TTBXLink Width = 222 + ExplicitWidth = 222 end inherited bSumarios: TTBXLink Width = 222 + ExplicitWidth = 222 end end inherited pcTareas: TPageControl Width = 230 Height = 134 + ExplicitWidth = 230 + ExplicitHeight = 134 inherited tsSumarios: TTabSheet + ExplicitHeight = 48 inherited frViewSumarios1: TfrViewSumarios Height = 48 + ExplicitHeight = 48 inherited vgSumarios: TcxVerticalGrid Height = 19 + ExplicitHeight = 19 end end end inherited tsFiltros: TTabSheet + ExplicitWidth = 222 + ExplicitHeight = 124 inherited frViewFiltros1: TfrViewFiltros Width = 222 Height = 124 + ExplicitWidth = 222 + ExplicitHeight = 124 inherited TBXLabel1: TTBXLabel Width = 222 + ExplicitWidth = 222 end inherited cxFilterControl1: TcxFilterControl Width = 222 Height = 65 + ExplicitWidth = 222 + ExplicitHeight = 65 end inherited TBXAlignmentPanel3: TTBXAlignmentPanel Top = 94 Width = 222 + ExplicitTop = 94 + ExplicitWidth = 222 end inherited cxStyleRepository1: TcxStyleRepository Top = 72 @@ -294,9 +355,14 @@ inherited fEditorControlVentasTerminadas: TfEditorControlVentasTerminadas Left = 234 Width = 445 Height = 478 + ExplicitLeft = 234 + ExplicitWidth = 445 + ExplicitHeight = 478 inherited cxGrid: TcxGrid Width = 445 Height = 478 + ExplicitWidth = 445 + ExplicitHeight = 478 inherited cxGridView: TcxGridDBTableView DataController.DataSource = dsVentasTerminadas end diff --git a/Source/Modulos/VentasTerminadas/Cliente/uEditorControlVentasTerminadas.pas b/Source/Modulos/VentasTerminadas/Cliente/uEditorControlVentasTerminadas.pas index 0b9ee57..cfb7138 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/uEditorControlVentasTerminadas.pas +++ b/Source/Modulos/VentasTerminadas/Cliente/uEditorControlVentasTerminadas.pas @@ -9,7 +9,7 @@ uses PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uBizControlesBase, uCustomView, uViewBase, uViewControlBase, uViewControlVentasTerminadas, - Grids, DBGrids, pngimage; + Grids, DBGrids, pngimage, uDAInterfaces; type IEditorControlVentasTerminadas = interface(IEditorControlBase) diff --git a/Source/Modulos/VentasTerminadas/Cliente/uEditorControlesVentasTerminadas.dfm b/Source/Modulos/VentasTerminadas/Cliente/uEditorControlesVentasTerminadas.dfm index fa8bfab..72533a3 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/uEditorControlesVentasTerminadas.dfm +++ b/Source/Modulos/VentasTerminadas/Cliente/uEditorControlesVentasTerminadas.dfm @@ -3,6 +3,8 @@ inherited fEditorControlesVentasTerminadas: TfEditorControlesVentasTerminadas Top = 325 ActiveControl = frViewControlesVentasTerminadas1.EasyListview Caption = 'fEditorControlesVentasTerminadas' + ExplicitWidth = 660 + ExplicitHeight = 494 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader @@ -132,23 +134,29 @@ inherited fEditorControlesVentasTerminadas: TfEditorControlesVentasTerminadas ParentFont = False TabOrder = 3 ReadOnly = False + ExplicitTop = 76 + ExplicitWidth = 652 + ExplicitHeight = 365 inherited EasyListview: TEasyListview Width = 652 Height = 365 Groups.Items = { - 000000000200000080080000000000000000010000000E000000730064006600 - 7300200061006400660020006100730064006600200000000000000000000000 - 0000800800000000000000000100000013000000200073006400660061007300 - 6400200020006100730020007400340074002000740034003300000000000000 - 000000000000} + 0400000002000000FFFECE000400000000000400000000000000010000000E00 + 0000730064006600730020006100640066002000610073006400660020000000 + 00000000000000000000FFFECE00040000000000040000000000000001000000 + 1300000020007300640066006100730064002000200061007300200074003400 + 74002000740034003300000000000000000000000000} Header.Columns.Items = { - 0000000004000000800800010000000000320000000101000000050000004900 - 63006F006E006F00000000000000000000000000800800000000000000320000 - 000101000000060000004E006F006D0062007200650000000000000000000000 - 00008008000200000000003200000001010000000B0000004400650073006300 - 72006900700063006900F3006E00000000000000000000000000800800030000 - 000100320000000101000000050000004F007200640065006E00000000000000 - 000000000000} + 0400000004000000FFFECE000400000000110001000001010000000000013200 + 00000100000005000000490063006F006E006F00000000000000000000000000 + FFFECE0004000000001100010000010000000000000132000000010000000600 + 00004E006F006D00620072006500000000000000000000000000FFFECE000400 + 0000001100010000010200000000000132000000010000000B00000044006500 + 7300630072006900700063006900F3006E00000000000000000000000000FFFE + CE00040000000011000100000103000000010001320000000100000005000000 + 4F007200640065006E00000000000000000000000000} + ExplicitWidth = 652 + ExplicitHeight = 365 end end inherited EditorActionList: TActionList [4] diff --git a/Source/Modulos/VentasTerminadas/Cliente/uEditorControlesVentasTerminadas.pas b/Source/Modulos/VentasTerminadas/Cliente/uEditorControlesVentasTerminadas.pas index 613d42a..c4ffdd2 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/uEditorControlesVentasTerminadas.pas +++ b/Source/Modulos/VentasTerminadas/Cliente/uEditorControlesVentasTerminadas.pas @@ -9,7 +9,7 @@ uses ActnList, ComCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uCustomView, uViewBase, uViewControlesBase, Menus, DB, EasyListview, - uDADataTable, uViewControlesVentasTerminadas; + uDADataTable, uViewControlesVentasTerminadas, uDAInterfaces; type IEditorControlesVentasTerminadas = interface(IEditorControlesBase) diff --git a/Source/Modulos/VentasTerminadas/Cliente/uViewControGridResumenVentas.dfm b/Source/Modulos/VentasTerminadas/Cliente/uViewControGridResumenVentas.dfm index 530a9b2..e92c347 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/uViewControGridResumenVentas.dfm +++ b/Source/Modulos/VentasTerminadas/Cliente/uViewControGridResumenVentas.dfm @@ -161,7 +161,7 @@ inherited frViewControlGridResumenVentas: TfrViewControlGridResumenVentas PrinterPage._dxMeasurementUnits_ = 0 PrinterPage._dxLastMU_ = 2 ReportDocument.Caption = 'Venta mensual' - ReportDocument.CreationDate = 39000.462467372680000000 + ReportDocument.CreationDate = 39329.694692372690000000 ReportTitle.Text = 'Venta mensual' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack diff --git a/Source/Modulos/VentasTerminadas/Cliente/uViewControGridResumenVentas.pas b/Source/Modulos/VentasTerminadas/Cliente/uViewControGridResumenVentas.pas index 463ca59..adcd752 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/uViewControGridResumenVentas.pas +++ b/Source/Modulos/VentasTerminadas/Cliente/uViewControGridResumenVentas.pas @@ -12,7 +12,7 @@ uses dxPrnDev, dxPSEngn, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPgsDlg, cxDropDownEdit, StdCtrls, cxSpinEdit, uViewGrid, cxMemo, - cxEditRepositoryItems; + cxEditRepositoryItems, uDAInterfaces; type IViewControlGridResumenVentas = interface(IViewGrid) @@ -63,9 +63,10 @@ end; procedure TfrViewControlGridResumenVentas.dsDataSourceStateChange(Sender: TObject); begin - if dsDataSource.State = dsInactive - then LimpiarGrid - else GenerarGrid; + if dsDataSource.State = dsInactive then + LimpiarGrid + else + GenerarGrid; end; procedure TfrViewControlGridResumenVentas.GenerarGrid; diff --git a/Source/Modulos/VentasTerminadas/Cliente/uViewControlVentasTerminadas.dfm b/Source/Modulos/VentasTerminadas/Cliente/uViewControlVentasTerminadas.dfm index 1470a24..bc80b1d 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/uViewControlVentasTerminadas.dfm +++ b/Source/Modulos/VentasTerminadas/Cliente/uViewControlVentasTerminadas.dfm @@ -1,33 +1,49 @@ inherited frViewControlVentasTerminadas: TfrViewControlVentasTerminadas Height = 608 + ExplicitHeight = 608 inherited TBXMultiDock1: TTBXMultiDock Width = 232 Height = 608 + ExplicitWidth = 232 + ExplicitHeight = 608 inherited pnlParametros: TTBXDockablePanel DockedWidth = 228 + ExplicitWidth = 232 + ExplicitHeight = 289 inherited TBXAlignmentPanel2: TTBXAlignmentPanel Width = 228 Height = 68 + ExplicitWidth = 228 + ExplicitHeight = 68 inherited TBXLink1: TTBXLink Width = 220 Height = 20 Action = actPeriodoFechas ImageIndex = 4 Images = SmallImages + ExplicitWidth = 220 + ExplicitHeight = 20 end inherited TBXLink5: TTBXLink Top = 24 Width = 220 + ExplicitTop = 24 + ExplicitWidth = 220 end inherited TBXLink2: TTBXLink Top = 44 Width = 220 + ExplicitTop = 44 + ExplicitWidth = 220 end end inherited pcParametros: TPageControl Top = 68 Width = 228 + ExplicitTop = 68 + ExplicitWidth = 228 inherited TabSheet5: TTabSheet + ExplicitWidth = 220 inline frViewPeriodoFechas1: TfrViewPeriodoFechas Left = 0 Top = 0 @@ -42,42 +58,61 @@ inherited frViewControlVentasTerminadas: TfrViewControlVentasTerminadas ParentFont = False TabOrder = 0 ReadOnly = False + ExplicitWidth = 220 + ExplicitHeight = 159 inherited TBXLabel1: TTBXLabel Width = 220 + ExplicitWidth = 220 end inherited TBXLabel2: TTBXLabel Width = 220 + ExplicitWidth = 220 end inherited TBXAlignmentPanel1: TTBXAlignmentPanel Width = 220 + ExplicitWidth = 220 inherited cbPeriodo: TcxComboBox + ExplicitWidth = 176 Width = 176 end end inherited TBXAlignmentPanel2: TTBXAlignmentPanel Width = 220 + ExplicitWidth = 220 + inherited Label2: TLabel + Width = 29 + ExplicitWidth = 29 + end end end end inherited tsColumnas: TTabSheet + ExplicitWidth = 220 inherited frViewColumnas1: TfrViewColumnas Width = 220 - inherited TBXLabel1: TTBXLabel - Width = 220 - end + ExplicitWidth = 220 inherited lbColumnas: TcxCheckListBox Width = 220 + ExplicitWidth = 220 + end + inherited TBXLabel1: TTBXLabel + Width = 220 + ExplicitWidth = 220 end end end inherited tsAgrupacion: TTabSheet + ExplicitWidth = 220 inherited frViewAgrupaciones1: TfrViewAgrupaciones Width = 220 + ExplicitWidth = 220 inherited TBXLabel1: TTBXLabel Width = 220 + ExplicitWidth = 220 end inherited pnlAgrupaciones: TTBXAlignmentPanel Width = 220 + ExplicitWidth = 220 DesignSize = ( 220 77) @@ -88,6 +123,8 @@ inherited frViewControlVentasTerminadas: TfrViewControlVentasTerminadas inherited TBXAlignmentPanel3: TTBXAlignmentPanel Top = 237 Width = 228 + ExplicitTop = 237 + ExplicitWidth = 228 end end inherited pnlTareas: TTBXDockablePanel @@ -95,41 +132,57 @@ inherited frViewControlVentasTerminadas: TfrViewControlVentasTerminadas DockedWidth = 228 DockPos = 289 Visible = False + ExplicitTop = 289 + ExplicitWidth = 232 inherited TBXPageScroller1: TTBXPageScroller Width = 228 + ExplicitWidth = 228 inherited TBXAlignmentPanel1: TTBXAlignmentPanel Width = 228 + ExplicitWidth = 228 inherited bFiltros: TTBXLink Width = 220 + ExplicitWidth = 220 end inherited bSumarios: TTBXLink Width = 220 + ExplicitWidth = 220 end end inherited pcTareas: TPageControl Width = 228 + ExplicitWidth = 228 inherited tsSumarios: TTabSheet + ExplicitWidth = 220 inherited frViewSumarios1: TfrViewSumarios Width = 220 + ExplicitWidth = 220 inherited TBXLabel1: TTBXLabel Width = 220 + ExplicitWidth = 220 end inherited vgSumarios: TcxVerticalGrid Width = 220 + ExplicitWidth = 220 end end end inherited tsFiltros: TTabSheet + ExplicitWidth = 220 inherited frViewFiltros1: TfrViewFiltros Width = 220 + ExplicitWidth = 220 inherited TBXLabel1: TTBXLabel Width = 220 + ExplicitWidth = 220 end inherited cxFilterControl1: TcxFilterControl Width = 220 + ExplicitWidth = 220 end inherited TBXAlignmentPanel3: TTBXAlignmentPanel Width = 220 + ExplicitWidth = 220 end inherited cxStyleRepository1: TcxStyleRepository Left = 136 @@ -155,9 +208,14 @@ inherited frViewControlVentasTerminadas: TfrViewControlVentasTerminadas ParentFont = False TabOrder = 1 ReadOnly = False + ExplicitLeft = 232 + ExplicitWidth = 467 + ExplicitHeight = 608 inherited cxGrid: TcxGrid Width = 467 Height = 608 + ExplicitWidth = 467 + ExplicitHeight = 608 end inherited dxPrintStyleManager1: TdxPrintStyleManager inherited dxPrintStyleManager1Style1: TdxPSPrintStyle diff --git a/Source/Modulos/VentasTerminadas/Cliente/uViewControlesVentasTerminadas.dfm b/Source/Modulos/VentasTerminadas/Cliente/uViewControlesVentasTerminadas.dfm index aaacb8b..65e3160 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/uViewControlesVentasTerminadas.dfm +++ b/Source/Modulos/VentasTerminadas/Cliente/uViewControlesVentasTerminadas.dfm @@ -1,10 +1,11 @@ inherited frViewControlesVentasTerminadas: TfrViewControlesVentasTerminadas inherited EasyListview: TEasyListview Header.Columns.Items = { - 0000000002000000800800000000000100320000000101000000060000004E00 - 6F006D0062007200650000000000000000000000000080080001000000000032 - 00000001010000000B000000440065007300630072006900700063006900F300 - 6E00000000000000000000000000} + 0400000002000000FFFECE000400000000110001000001000000000100013200 + 000001000000060000004E006F006D0062007200650000000000000000000000 + 0000FFFECE000400000000110001000001010000000000013200000001000000 + 0B000000440065007300630072006900700063006900F3006E00000000000000 + 000000000000} Header.Visible = True end end diff --git a/Source/Modulos/VentasTerminadas/Cliente/uViewControlesVentasTerminadas.pas b/Source/Modulos/VentasTerminadas/Cliente/uViewControlesVentasTerminadas.pas index 8dd07fa..c031e43 100644 --- a/Source/Modulos/VentasTerminadas/Cliente/uViewControlesVentasTerminadas.pas +++ b/Source/Modulos/VentasTerminadas/Cliente/uViewControlesVentasTerminadas.pas @@ -7,7 +7,7 @@ uses Dialogs, uViewControlesBase, cxGraphics, cxCustomData, cxStyles, cxTL, cxImageComboBox, cxMaskEdit, cxTextEdit, DB, uDADataTable, ImgList, PngImageList, cxInplaceContainer, cxDBTL, cxControls, cxTLData, - EasyLVCommonObjects, EasyListview; + MPCommonObjects, MPCommonUtilities, EasyListview, uDAInterfaces; type IViewControlesVentasTerminadas = interface(IViewControlesBase) diff --git a/Source/Modulos/VentasTerminadas/Reglas/schVentasTerminadasClient_Intf.pas b/Source/Modulos/VentasTerminadas/Reglas/schVentasTerminadasClient_Intf.pas index 6b47987..8f7213b 100644 --- a/Source/Modulos/VentasTerminadas/Reglas/schVentasTerminadasClient_Intf.pas +++ b/Source/Modulos/VentasTerminadas/Reglas/schVentasTerminadasClient_Intf.pas @@ -3,14 +3,14 @@ unit schVentasTerminadasClient_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_VentasTerminadasCrossTab = '{CB7ED815-B25C-406C-AC94-F6011D81D7F7}'; - RID_VentasTerminadas = '{DC08830B-E517-4CB1-A709-B8B9606E065E}'; + RID_VentasTerminadasCrossTab = '{2E68D174-CE7E-4597-A951-7670FA84D874}'; + RID_VentasTerminadas = '{F20667F0-C1D2-4500-8E10-1B8577467C80}'; { Data table names } nme_VentasTerminadasCrossTab = 'VentasTerminadasCrossTab'; @@ -97,7 +97,7 @@ const type { IVentasTerminadasCrossTab } IVentasTerminadasCrossTab = interface(IDAStronglyTypedDataTable) - ['{EF1D0240-B945-4A63-AB9C-C2584843DCC6}'] + ['{F1FA92FE-5A97-4645-A93A-CAFA9775A238}'] { Property getters and setters } @@ -120,116 +120,221 @@ type { IVentasTerminadas } IVentasTerminadas = interface(IDAStronglyTypedDataTable) - ['{EA7C15A8-75FD-4440-A504-0800A6BC8AE8}'] + ['{78DAAFC9-9EAE-4237-B301-3103B6C18EF2}'] { Property getters and setters } function GetNUMINFValue: String; procedure SetNUMINFValue(const aValue: String); - function GetCLAVE1Value: Float; - procedure SetCLAVE1Value(const aValue: Float); + function GetNUMINFIsNull: Boolean; + procedure SetNUMINFIsNull(const aValue: Boolean); + function GetCLAVE1Value: TBcd; + procedure SetCLAVE1Value(const aValue: TBcd); + function GetCLAVE1IsNull: Boolean; + procedure SetCLAVE1IsNull(const aValue: Boolean); function GetCLAVE2Value: Integer; procedure SetCLAVE2Value(const aValue: Integer); + function GetCLAVE2IsNull: Boolean; + procedure SetCLAVE2IsNull(const aValue: Boolean); function GetCLAVE3Value: Integer; procedure SetCLAVE3Value(const aValue: Integer); + function GetCLAVE3IsNull: Boolean; + procedure SetCLAVE3IsNull(const aValue: Boolean); function GetFECHAValue: DateTime; procedure SetFECHAValue(const aValue: DateTime); + function GetFECHAIsNull: Boolean; + procedure SetFECHAIsNull(const aValue: Boolean); function GetDIAValue: Integer; procedure SetDIAValue(const aValue: Integer); - function GetDIASEMANAValue: String; - procedure SetDIASEMANAValue(const aValue: String); - function GetMESValue: String; - procedure SetMESValue(const aValue: String); + function GetDIAIsNull: Boolean; + procedure SetDIAIsNull(const aValue: Boolean); + function GetDIASEMANAValue: WideString; + procedure SetDIASEMANAValue(const aValue: WideString); + function GetDIASEMANAIsNull: Boolean; + procedure SetDIASEMANAIsNull(const aValue: Boolean); + function GetMESValue: WideString; + procedure SetMESValue(const aValue: WideString); + function GetMESIsNull: Boolean; + procedure SetMESIsNull(const aValue: Boolean); function GetANOValue: Integer; procedure SetANOValue(const aValue: Integer); + function GetANOIsNull: Boolean; + procedure SetANOIsNull(const aValue: Boolean); function GetCENTROValue: String; procedure SetCENTROValue(const aValue: String); + function GetCENTROIsNull: Boolean; + procedure SetCENTROIsNull(const aValue: Boolean); function GetVENDEDORValue: String; procedure SetVENDEDORValue(const aValue: String); + function GetVENDEDORIsNull: Boolean; + procedure SetVENDEDORIsNull(const aValue: Boolean); function GetNUMTALONValue: String; procedure SetNUMTALONValue(const aValue: String); + function GetNUMTALONIsNull: Boolean; + procedure SetNUMTALONIsNull(const aValue: Boolean); function GetCODIGOValue: String; procedure SetCODIGOValue(const aValue: String); + function GetCODIGOIsNull: Boolean; + procedure SetCODIGOIsNull(const aValue: Boolean); function GetPRODUCTOValue: String; procedure SetPRODUCTOValue(const aValue: String); + function GetPRODUCTOIsNull: Boolean; + procedure SetPRODUCTOIsNull(const aValue: Boolean); function GetGRUPOPRODUCTOValue: String; procedure SetGRUPOPRODUCTOValue(const aValue: String); + function GetGRUPOPRODUCTOIsNull: Boolean; + procedure SetGRUPOPRODUCTOIsNull(const aValue: Boolean); function GetTIPOPRODUCTOValue: String; procedure SetTIPOPRODUCTOValue(const aValue: String); + function GetTIPOPRODUCTOIsNull: Boolean; + procedure SetTIPOPRODUCTOIsNull(const aValue: Boolean); function GetCOLECCIONValue: String; procedure SetCOLECCIONValue(const aValue: String); + function GetCOLECCIONIsNull: Boolean; + procedure SetCOLECCIONIsNull(const aValue: Boolean); function GetCOLORValue: String; procedure SetCOLORValue(const aValue: String); + function GetCOLORIsNull: Boolean; + procedure SetCOLORIsNull(const aValue: Boolean); function GetTALLAValue: String; procedure SetTALLAValue(const aValue: String); - function GetTALLA38Value: Float; - procedure SetTALLA38Value(const aValue: Float); - function GetTALLA40Value: Float; - procedure SetTALLA40Value(const aValue: Float); - function GetTALLA42Value: Float; - procedure SetTALLA42Value(const aValue: Float); - function GetTALLA44Value: Float; - procedure SetTALLA44Value(const aValue: Float); - function GetTALLA46Value: Float; - procedure SetTALLA46Value(const aValue: Float); - function GetTALLA48Value: Float; - procedure SetTALLA48Value(const aValue: Float); - function GetVTATERMDEVValue: Float; - procedure SetVTATERMDEVValue(const aValue: Float); - function GetVTAFINALRESCValue: Float; - procedure SetVTAFINALRESCValue(const aValue: Float); - function GetVENTASValue: Float; - procedure SetVENTASValue(const aValue: Float); - function GetDEVOLUCIONESValue: Float; - procedure SetDEVOLUCIONESValue(const aValue: Float); - function GetTOTALValue: Float; - procedure SetTOTALValue(const aValue: Float); - function GetVALTERMDEVValue: Float; - procedure SetVALTERMDEVValue(const aValue: Float); - function GetVALFINALRESCValue: Float; - procedure SetVALFINALRESCValue(const aValue: Float); - function GetVALVENValue: Float; - procedure SetVALVENValue(const aValue: Float); - function GetVALDEVValue: Float; - procedure SetVALDEVValue(const aValue: Float); - function GetVALTOTValue: Float; - procedure SetVALTOTValue(const aValue: Float); + function GetTALLAIsNull: Boolean; + procedure SetTALLAIsNull(const aValue: Boolean); + function GetTALLA38Value: TBcd; + procedure SetTALLA38Value(const aValue: TBcd); + function GetTALLA38IsNull: Boolean; + procedure SetTALLA38IsNull(const aValue: Boolean); + function GetTALLA40Value: TBcd; + procedure SetTALLA40Value(const aValue: TBcd); + function GetTALLA40IsNull: Boolean; + procedure SetTALLA40IsNull(const aValue: Boolean); + function GetTALLA42Value: TBcd; + procedure SetTALLA42Value(const aValue: TBcd); + function GetTALLA42IsNull: Boolean; + procedure SetTALLA42IsNull(const aValue: Boolean); + function GetTALLA44Value: TBcd; + procedure SetTALLA44Value(const aValue: TBcd); + function GetTALLA44IsNull: Boolean; + procedure SetTALLA44IsNull(const aValue: Boolean); + function GetTALLA46Value: TBcd; + procedure SetTALLA46Value(const aValue: TBcd); + function GetTALLA46IsNull: Boolean; + procedure SetTALLA46IsNull(const aValue: Boolean); + function GetTALLA48Value: TBcd; + procedure SetTALLA48Value(const aValue: TBcd); + function GetTALLA48IsNull: Boolean; + procedure SetTALLA48IsNull(const aValue: Boolean); + function GetVTATERMDEVValue: TBcd; + procedure SetVTATERMDEVValue(const aValue: TBcd); + function GetVTATERMDEVIsNull: Boolean; + procedure SetVTATERMDEVIsNull(const aValue: Boolean); + function GetVTAFINALRESCValue: TBcd; + procedure SetVTAFINALRESCValue(const aValue: TBcd); + function GetVTAFINALRESCIsNull: Boolean; + procedure SetVTAFINALRESCIsNull(const aValue: Boolean); + function GetVENTASValue: TBcd; + procedure SetVENTASValue(const aValue: TBcd); + function GetVENTASIsNull: Boolean; + procedure SetVENTASIsNull(const aValue: Boolean); + function GetDEVOLUCIONESValue: TBcd; + procedure SetDEVOLUCIONESValue(const aValue: TBcd); + function GetDEVOLUCIONESIsNull: Boolean; + procedure SetDEVOLUCIONESIsNull(const aValue: Boolean); + function GetTOTALValue: TBcd; + procedure SetTOTALValue(const aValue: TBcd); + function GetTOTALIsNull: Boolean; + procedure SetTOTALIsNull(const aValue: Boolean); + function GetVALTERMDEVValue: TBcd; + procedure SetVALTERMDEVValue(const aValue: TBcd); + function GetVALTERMDEVIsNull: Boolean; + procedure SetVALTERMDEVIsNull(const aValue: Boolean); + function GetVALFINALRESCValue: TBcd; + procedure SetVALFINALRESCValue(const aValue: TBcd); + function GetVALFINALRESCIsNull: Boolean; + procedure SetVALFINALRESCIsNull(const aValue: Boolean); + function GetVALVENValue: TBcd; + procedure SetVALVENValue(const aValue: TBcd); + function GetVALVENIsNull: Boolean; + procedure SetVALVENIsNull(const aValue: Boolean); + function GetVALDEVValue: TBcd; + procedure SetVALDEVValue(const aValue: TBcd); + function GetVALDEVIsNull: Boolean; + procedure SetVALDEVIsNull(const aValue: Boolean); + function GetVALTOTValue: TBcd; + procedure SetVALTOTValue(const aValue: TBcd); + function GetVALTOTIsNull: Boolean; + procedure SetVALTOTIsNull(const aValue: Boolean); { Properties } property NUMINF: String read GetNUMINFValue write SetNUMINFValue; - property CLAVE1: Float read GetCLAVE1Value write SetCLAVE1Value; + property NUMINFIsNull: Boolean read GetNUMINFIsNull write SetNUMINFIsNull; + property CLAVE1: TBcd read GetCLAVE1Value write SetCLAVE1Value; + property CLAVE1IsNull: Boolean read GetCLAVE1IsNull write SetCLAVE1IsNull; property CLAVE2: Integer read GetCLAVE2Value write SetCLAVE2Value; + property CLAVE2IsNull: Boolean read GetCLAVE2IsNull write SetCLAVE2IsNull; property CLAVE3: Integer read GetCLAVE3Value write SetCLAVE3Value; + property CLAVE3IsNull: Boolean read GetCLAVE3IsNull write SetCLAVE3IsNull; property FECHA: DateTime read GetFECHAValue write SetFECHAValue; + property FECHAIsNull: Boolean read GetFECHAIsNull write SetFECHAIsNull; property DIA: Integer read GetDIAValue write SetDIAValue; - property DIASEMANA: String read GetDIASEMANAValue write SetDIASEMANAValue; - property MES: String read GetMESValue write SetMESValue; + property DIAIsNull: Boolean read GetDIAIsNull write SetDIAIsNull; + property DIASEMANA: WideString read GetDIASEMANAValue write SetDIASEMANAValue; + property DIASEMANAIsNull: Boolean read GetDIASEMANAIsNull write SetDIASEMANAIsNull; + property MES: WideString read GetMESValue write SetMESValue; + property MESIsNull: Boolean read GetMESIsNull write SetMESIsNull; property ANO: Integer read GetANOValue write SetANOValue; + property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull; property CENTRO: String read GetCENTROValue write SetCENTROValue; + property CENTROIsNull: Boolean read GetCENTROIsNull write SetCENTROIsNull; property VENDEDOR: String read GetVENDEDORValue write SetVENDEDORValue; + property VENDEDORIsNull: Boolean read GetVENDEDORIsNull write SetVENDEDORIsNull; property NUMTALON: String read GetNUMTALONValue write SetNUMTALONValue; + property NUMTALONIsNull: Boolean read GetNUMTALONIsNull write SetNUMTALONIsNull; property CODIGO: String read GetCODIGOValue write SetCODIGOValue; + property CODIGOIsNull: Boolean read GetCODIGOIsNull write SetCODIGOIsNull; property PRODUCTO: String read GetPRODUCTOValue write SetPRODUCTOValue; + property PRODUCTOIsNull: Boolean read GetPRODUCTOIsNull write SetPRODUCTOIsNull; property GRUPOPRODUCTO: String read GetGRUPOPRODUCTOValue write SetGRUPOPRODUCTOValue; + property GRUPOPRODUCTOIsNull: Boolean read GetGRUPOPRODUCTOIsNull write SetGRUPOPRODUCTOIsNull; property TIPOPRODUCTO: String read GetTIPOPRODUCTOValue write SetTIPOPRODUCTOValue; + property TIPOPRODUCTOIsNull: Boolean read GetTIPOPRODUCTOIsNull write SetTIPOPRODUCTOIsNull; property COLECCION: String read GetCOLECCIONValue write SetCOLECCIONValue; + property COLECCIONIsNull: Boolean read GetCOLECCIONIsNull write SetCOLECCIONIsNull; property COLOR: String read GetCOLORValue write SetCOLORValue; + property COLORIsNull: Boolean read GetCOLORIsNull write SetCOLORIsNull; property TALLA: String read GetTALLAValue write SetTALLAValue; - property TALLA38: Float read GetTALLA38Value write SetTALLA38Value; - property TALLA40: Float read GetTALLA40Value write SetTALLA40Value; - property TALLA42: Float read GetTALLA42Value write SetTALLA42Value; - property TALLA44: Float read GetTALLA44Value write SetTALLA44Value; - property TALLA46: Float read GetTALLA46Value write SetTALLA46Value; - property TALLA48: Float read GetTALLA48Value write SetTALLA48Value; - property VTATERMDEV: Float read GetVTATERMDEVValue write SetVTATERMDEVValue; - property VTAFINALRESC: Float read GetVTAFINALRESCValue write SetVTAFINALRESCValue; - property VENTAS: Float read GetVENTASValue write SetVENTASValue; - property DEVOLUCIONES: Float read GetDEVOLUCIONESValue write SetDEVOLUCIONESValue; - property TOTAL: Float read GetTOTALValue write SetTOTALValue; - property VALTERMDEV: Float read GetVALTERMDEVValue write SetVALTERMDEVValue; - property VALFINALRESC: Float read GetVALFINALRESCValue write SetVALFINALRESCValue; - property VALVEN: Float read GetVALVENValue write SetVALVENValue; - property VALDEV: Float read GetVALDEVValue write SetVALDEVValue; - property VALTOT: Float read GetVALTOTValue write SetVALTOTValue; + property TALLAIsNull: Boolean read GetTALLAIsNull write SetTALLAIsNull; + property TALLA38: TBcd read GetTALLA38Value write SetTALLA38Value; + property TALLA38IsNull: Boolean read GetTALLA38IsNull write SetTALLA38IsNull; + property TALLA40: TBcd read GetTALLA40Value write SetTALLA40Value; + property TALLA40IsNull: Boolean read GetTALLA40IsNull write SetTALLA40IsNull; + property TALLA42: TBcd read GetTALLA42Value write SetTALLA42Value; + property TALLA42IsNull: Boolean read GetTALLA42IsNull write SetTALLA42IsNull; + property TALLA44: TBcd read GetTALLA44Value write SetTALLA44Value; + property TALLA44IsNull: Boolean read GetTALLA44IsNull write SetTALLA44IsNull; + property TALLA46: TBcd read GetTALLA46Value write SetTALLA46Value; + property TALLA46IsNull: Boolean read GetTALLA46IsNull write SetTALLA46IsNull; + property TALLA48: TBcd read GetTALLA48Value write SetTALLA48Value; + property TALLA48IsNull: Boolean read GetTALLA48IsNull write SetTALLA48IsNull; + property VTATERMDEV: TBcd read GetVTATERMDEVValue write SetVTATERMDEVValue; + property VTATERMDEVIsNull: Boolean read GetVTATERMDEVIsNull write SetVTATERMDEVIsNull; + property VTAFINALRESC: TBcd read GetVTAFINALRESCValue write SetVTAFINALRESCValue; + property VTAFINALRESCIsNull: Boolean read GetVTAFINALRESCIsNull write SetVTAFINALRESCIsNull; + property VENTAS: TBcd read GetVENTASValue write SetVENTASValue; + property VENTASIsNull: Boolean read GetVENTASIsNull write SetVENTASIsNull; + property DEVOLUCIONES: TBcd read GetDEVOLUCIONESValue write SetDEVOLUCIONESValue; + property DEVOLUCIONESIsNull: Boolean read GetDEVOLUCIONESIsNull write SetDEVOLUCIONESIsNull; + property TOTAL: TBcd read GetTOTALValue write SetTOTALValue; + property TOTALIsNull: Boolean read GetTOTALIsNull write SetTOTALIsNull; + property VALTERMDEV: TBcd read GetVALTERMDEVValue write SetVALTERMDEVValue; + property VALTERMDEVIsNull: Boolean read GetVALTERMDEVIsNull write SetVALTERMDEVIsNull; + property VALFINALRESC: TBcd read GetVALFINALRESCValue write SetVALFINALRESCValue; + property VALFINALRESCIsNull: Boolean read GetVALFINALRESCIsNull write SetVALFINALRESCIsNull; + property VALVEN: TBcd read GetVALVENValue write SetVALVENValue; + property VALVENIsNull: Boolean read GetVALVENIsNull write SetVALVENIsNull; + property VALDEV: TBcd read GetVALDEVValue write SetVALDEVValue; + property VALDEVIsNull: Boolean read GetVALDEVIsNull write SetVALDEVIsNull; + property VALTOT: TBcd read GetVALTOTValue write SetVALTOTValue; + property VALTOTIsNull: Boolean read GetVALTOTIsNull write SetVALTOTIsNull; end; { TVentasTerminadasDataTableRules } @@ -239,111 +344,216 @@ type { Property getters and setters } function GetNUMINFValue: String; virtual; procedure SetNUMINFValue(const aValue: String); virtual; - function GetCLAVE1Value: Float; virtual; - procedure SetCLAVE1Value(const aValue: Float); virtual; + function GetNUMINFIsNull: Boolean; virtual; + procedure SetNUMINFIsNull(const aValue: Boolean); virtual; + function GetCLAVE1Value: TBcd; virtual; + procedure SetCLAVE1Value(const aValue: TBcd); virtual; + function GetCLAVE1IsNull: Boolean; virtual; + procedure SetCLAVE1IsNull(const aValue: Boolean); virtual; function GetCLAVE2Value: Integer; virtual; procedure SetCLAVE2Value(const aValue: Integer); virtual; + function GetCLAVE2IsNull: Boolean; virtual; + procedure SetCLAVE2IsNull(const aValue: Boolean); virtual; function GetCLAVE3Value: Integer; virtual; procedure SetCLAVE3Value(const aValue: Integer); virtual; + function GetCLAVE3IsNull: Boolean; virtual; + procedure SetCLAVE3IsNull(const aValue: Boolean); virtual; function GetFECHAValue: DateTime; virtual; procedure SetFECHAValue(const aValue: DateTime); virtual; + function GetFECHAIsNull: Boolean; virtual; + procedure SetFECHAIsNull(const aValue: Boolean); virtual; function GetDIAValue: Integer; virtual; procedure SetDIAValue(const aValue: Integer); virtual; - function GetDIASEMANAValue: String; virtual; - procedure SetDIASEMANAValue(const aValue: String); virtual; - function GetMESValue: String; virtual; - procedure SetMESValue(const aValue: String); virtual; + function GetDIAIsNull: Boolean; virtual; + procedure SetDIAIsNull(const aValue: Boolean); virtual; + function GetDIASEMANAValue: WideString; virtual; + procedure SetDIASEMANAValue(const aValue: WideString); virtual; + function GetDIASEMANAIsNull: Boolean; virtual; + procedure SetDIASEMANAIsNull(const aValue: Boolean); virtual; + function GetMESValue: WideString; virtual; + procedure SetMESValue(const aValue: WideString); virtual; + function GetMESIsNull: Boolean; virtual; + procedure SetMESIsNull(const aValue: Boolean); virtual; function GetANOValue: Integer; virtual; procedure SetANOValue(const aValue: Integer); virtual; + function GetANOIsNull: Boolean; virtual; + procedure SetANOIsNull(const aValue: Boolean); virtual; function GetCENTROValue: String; virtual; procedure SetCENTROValue(const aValue: String); virtual; + function GetCENTROIsNull: Boolean; virtual; + procedure SetCENTROIsNull(const aValue: Boolean); virtual; function GetVENDEDORValue: String; virtual; procedure SetVENDEDORValue(const aValue: String); virtual; + function GetVENDEDORIsNull: Boolean; virtual; + procedure SetVENDEDORIsNull(const aValue: Boolean); virtual; function GetNUMTALONValue: String; virtual; procedure SetNUMTALONValue(const aValue: String); virtual; + function GetNUMTALONIsNull: Boolean; virtual; + procedure SetNUMTALONIsNull(const aValue: Boolean); virtual; function GetCODIGOValue: String; virtual; procedure SetCODIGOValue(const aValue: String); virtual; + function GetCODIGOIsNull: Boolean; virtual; + procedure SetCODIGOIsNull(const aValue: Boolean); virtual; function GetPRODUCTOValue: String; virtual; procedure SetPRODUCTOValue(const aValue: String); virtual; + function GetPRODUCTOIsNull: Boolean; virtual; + procedure SetPRODUCTOIsNull(const aValue: Boolean); virtual; function GetGRUPOPRODUCTOValue: String; virtual; procedure SetGRUPOPRODUCTOValue(const aValue: String); virtual; + function GetGRUPOPRODUCTOIsNull: Boolean; virtual; + procedure SetGRUPOPRODUCTOIsNull(const aValue: Boolean); virtual; function GetTIPOPRODUCTOValue: String; virtual; procedure SetTIPOPRODUCTOValue(const aValue: String); virtual; + function GetTIPOPRODUCTOIsNull: Boolean; virtual; + procedure SetTIPOPRODUCTOIsNull(const aValue: Boolean); virtual; function GetCOLECCIONValue: String; virtual; procedure SetCOLECCIONValue(const aValue: String); virtual; + function GetCOLECCIONIsNull: Boolean; virtual; + procedure SetCOLECCIONIsNull(const aValue: Boolean); virtual; function GetCOLORValue: String; virtual; procedure SetCOLORValue(const aValue: String); virtual; + function GetCOLORIsNull: Boolean; virtual; + procedure SetCOLORIsNull(const aValue: Boolean); virtual; function GetTALLAValue: String; virtual; procedure SetTALLAValue(const aValue: String); virtual; - function GetTALLA38Value: Float; virtual; - procedure SetTALLA38Value(const aValue: Float); virtual; - function GetTALLA40Value: Float; virtual; - procedure SetTALLA40Value(const aValue: Float); virtual; - function GetTALLA42Value: Float; virtual; - procedure SetTALLA42Value(const aValue: Float); virtual; - function GetTALLA44Value: Float; virtual; - procedure SetTALLA44Value(const aValue: Float); virtual; - function GetTALLA46Value: Float; virtual; - procedure SetTALLA46Value(const aValue: Float); virtual; - function GetTALLA48Value: Float; virtual; - procedure SetTALLA48Value(const aValue: Float); virtual; - function GetVTATERMDEVValue: Float; virtual; - procedure SetVTATERMDEVValue(const aValue: Float); virtual; - function GetVTAFINALRESCValue: Float; virtual; - procedure SetVTAFINALRESCValue(const aValue: Float); virtual; - function GetVENTASValue: Float; virtual; - procedure SetVENTASValue(const aValue: Float); virtual; - function GetDEVOLUCIONESValue: Float; virtual; - procedure SetDEVOLUCIONESValue(const aValue: Float); virtual; - function GetTOTALValue: Float; virtual; - procedure SetTOTALValue(const aValue: Float); virtual; - function GetVALTERMDEVValue: Float; virtual; - procedure SetVALTERMDEVValue(const aValue: Float); virtual; - function GetVALFINALRESCValue: Float; virtual; - procedure SetVALFINALRESCValue(const aValue: Float); virtual; - function GetVALVENValue: Float; virtual; - procedure SetVALVENValue(const aValue: Float); virtual; - function GetVALDEVValue: Float; virtual; - procedure SetVALDEVValue(const aValue: Float); virtual; - function GetVALTOTValue: Float; virtual; - procedure SetVALTOTValue(const aValue: Float); virtual; + function GetTALLAIsNull: Boolean; virtual; + procedure SetTALLAIsNull(const aValue: Boolean); virtual; + function GetTALLA38Value: TBcd; virtual; + procedure SetTALLA38Value(const aValue: TBcd); virtual; + function GetTALLA38IsNull: Boolean; virtual; + procedure SetTALLA38IsNull(const aValue: Boolean); virtual; + function GetTALLA40Value: TBcd; virtual; + procedure SetTALLA40Value(const aValue: TBcd); virtual; + function GetTALLA40IsNull: Boolean; virtual; + procedure SetTALLA40IsNull(const aValue: Boolean); virtual; + function GetTALLA42Value: TBcd; virtual; + procedure SetTALLA42Value(const aValue: TBcd); virtual; + function GetTALLA42IsNull: Boolean; virtual; + procedure SetTALLA42IsNull(const aValue: Boolean); virtual; + function GetTALLA44Value: TBcd; virtual; + procedure SetTALLA44Value(const aValue: TBcd); virtual; + function GetTALLA44IsNull: Boolean; virtual; + procedure SetTALLA44IsNull(const aValue: Boolean); virtual; + function GetTALLA46Value: TBcd; virtual; + procedure SetTALLA46Value(const aValue: TBcd); virtual; + function GetTALLA46IsNull: Boolean; virtual; + procedure SetTALLA46IsNull(const aValue: Boolean); virtual; + function GetTALLA48Value: TBcd; virtual; + procedure SetTALLA48Value(const aValue: TBcd); virtual; + function GetTALLA48IsNull: Boolean; virtual; + procedure SetTALLA48IsNull(const aValue: Boolean); virtual; + function GetVTATERMDEVValue: TBcd; virtual; + procedure SetVTATERMDEVValue(const aValue: TBcd); virtual; + function GetVTATERMDEVIsNull: Boolean; virtual; + procedure SetVTATERMDEVIsNull(const aValue: Boolean); virtual; + function GetVTAFINALRESCValue: TBcd; virtual; + procedure SetVTAFINALRESCValue(const aValue: TBcd); virtual; + function GetVTAFINALRESCIsNull: Boolean; virtual; + procedure SetVTAFINALRESCIsNull(const aValue: Boolean); virtual; + function GetVENTASValue: TBcd; virtual; + procedure SetVENTASValue(const aValue: TBcd); virtual; + function GetVENTASIsNull: Boolean; virtual; + procedure SetVENTASIsNull(const aValue: Boolean); virtual; + function GetDEVOLUCIONESValue: TBcd; virtual; + procedure SetDEVOLUCIONESValue(const aValue: TBcd); virtual; + function GetDEVOLUCIONESIsNull: Boolean; virtual; + procedure SetDEVOLUCIONESIsNull(const aValue: Boolean); virtual; + function GetTOTALValue: TBcd; virtual; + procedure SetTOTALValue(const aValue: TBcd); virtual; + function GetTOTALIsNull: Boolean; virtual; + procedure SetTOTALIsNull(const aValue: Boolean); virtual; + function GetVALTERMDEVValue: TBcd; virtual; + procedure SetVALTERMDEVValue(const aValue: TBcd); virtual; + function GetVALTERMDEVIsNull: Boolean; virtual; + procedure SetVALTERMDEVIsNull(const aValue: Boolean); virtual; + function GetVALFINALRESCValue: TBcd; virtual; + procedure SetVALFINALRESCValue(const aValue: TBcd); virtual; + function GetVALFINALRESCIsNull: Boolean; virtual; + procedure SetVALFINALRESCIsNull(const aValue: Boolean); virtual; + function GetVALVENValue: TBcd; virtual; + procedure SetVALVENValue(const aValue: TBcd); virtual; + function GetVALVENIsNull: Boolean; virtual; + procedure SetVALVENIsNull(const aValue: Boolean); virtual; + function GetVALDEVValue: TBcd; virtual; + procedure SetVALDEVValue(const aValue: TBcd); virtual; + function GetVALDEVIsNull: Boolean; virtual; + procedure SetVALDEVIsNull(const aValue: Boolean); virtual; + function GetVALTOTValue: TBcd; virtual; + procedure SetVALTOTValue(const aValue: TBcd); virtual; + function GetVALTOTIsNull: Boolean; virtual; + procedure SetVALTOTIsNull(const aValue: Boolean); virtual; { Properties } property NUMINF: String read GetNUMINFValue write SetNUMINFValue; - property CLAVE1: Float read GetCLAVE1Value write SetCLAVE1Value; + property NUMINFIsNull: Boolean read GetNUMINFIsNull write SetNUMINFIsNull; + property CLAVE1: TBcd read GetCLAVE1Value write SetCLAVE1Value; + property CLAVE1IsNull: Boolean read GetCLAVE1IsNull write SetCLAVE1IsNull; property CLAVE2: Integer read GetCLAVE2Value write SetCLAVE2Value; + property CLAVE2IsNull: Boolean read GetCLAVE2IsNull write SetCLAVE2IsNull; property CLAVE3: Integer read GetCLAVE3Value write SetCLAVE3Value; + property CLAVE3IsNull: Boolean read GetCLAVE3IsNull write SetCLAVE3IsNull; property FECHA: DateTime read GetFECHAValue write SetFECHAValue; + property FECHAIsNull: Boolean read GetFECHAIsNull write SetFECHAIsNull; property DIA: Integer read GetDIAValue write SetDIAValue; - property DIASEMANA: String read GetDIASEMANAValue write SetDIASEMANAValue; - property MES: String read GetMESValue write SetMESValue; + property DIAIsNull: Boolean read GetDIAIsNull write SetDIAIsNull; + property DIASEMANA: WideString read GetDIASEMANAValue write SetDIASEMANAValue; + property DIASEMANAIsNull: Boolean read GetDIASEMANAIsNull write SetDIASEMANAIsNull; + property MES: WideString read GetMESValue write SetMESValue; + property MESIsNull: Boolean read GetMESIsNull write SetMESIsNull; property ANO: Integer read GetANOValue write SetANOValue; + property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull; property CENTRO: String read GetCENTROValue write SetCENTROValue; + property CENTROIsNull: Boolean read GetCENTROIsNull write SetCENTROIsNull; property VENDEDOR: String read GetVENDEDORValue write SetVENDEDORValue; + property VENDEDORIsNull: Boolean read GetVENDEDORIsNull write SetVENDEDORIsNull; property NUMTALON: String read GetNUMTALONValue write SetNUMTALONValue; + property NUMTALONIsNull: Boolean read GetNUMTALONIsNull write SetNUMTALONIsNull; property CODIGO: String read GetCODIGOValue write SetCODIGOValue; + property CODIGOIsNull: Boolean read GetCODIGOIsNull write SetCODIGOIsNull; property PRODUCTO: String read GetPRODUCTOValue write SetPRODUCTOValue; + property PRODUCTOIsNull: Boolean read GetPRODUCTOIsNull write SetPRODUCTOIsNull; property GRUPOPRODUCTO: String read GetGRUPOPRODUCTOValue write SetGRUPOPRODUCTOValue; + property GRUPOPRODUCTOIsNull: Boolean read GetGRUPOPRODUCTOIsNull write SetGRUPOPRODUCTOIsNull; property TIPOPRODUCTO: String read GetTIPOPRODUCTOValue write SetTIPOPRODUCTOValue; + property TIPOPRODUCTOIsNull: Boolean read GetTIPOPRODUCTOIsNull write SetTIPOPRODUCTOIsNull; property COLECCION: String read GetCOLECCIONValue write SetCOLECCIONValue; + property COLECCIONIsNull: Boolean read GetCOLECCIONIsNull write SetCOLECCIONIsNull; property COLOR: String read GetCOLORValue write SetCOLORValue; + property COLORIsNull: Boolean read GetCOLORIsNull write SetCOLORIsNull; property TALLA: String read GetTALLAValue write SetTALLAValue; - property TALLA38: Float read GetTALLA38Value write SetTALLA38Value; - property TALLA40: Float read GetTALLA40Value write SetTALLA40Value; - property TALLA42: Float read GetTALLA42Value write SetTALLA42Value; - property TALLA44: Float read GetTALLA44Value write SetTALLA44Value; - property TALLA46: Float read GetTALLA46Value write SetTALLA46Value; - property TALLA48: Float read GetTALLA48Value write SetTALLA48Value; - property VTATERMDEV: Float read GetVTATERMDEVValue write SetVTATERMDEVValue; - property VTAFINALRESC: Float read GetVTAFINALRESCValue write SetVTAFINALRESCValue; - property VENTAS: Float read GetVENTASValue write SetVENTASValue; - property DEVOLUCIONES: Float read GetDEVOLUCIONESValue write SetDEVOLUCIONESValue; - property TOTAL: Float read GetTOTALValue write SetTOTALValue; - property VALTERMDEV: Float read GetVALTERMDEVValue write SetVALTERMDEVValue; - property VALFINALRESC: Float read GetVALFINALRESCValue write SetVALFINALRESCValue; - property VALVEN: Float read GetVALVENValue write SetVALVENValue; - property VALDEV: Float read GetVALDEVValue write SetVALDEVValue; - property VALTOT: Float read GetVALTOTValue write SetVALTOTValue; + property TALLAIsNull: Boolean read GetTALLAIsNull write SetTALLAIsNull; + property TALLA38: TBcd read GetTALLA38Value write SetTALLA38Value; + property TALLA38IsNull: Boolean read GetTALLA38IsNull write SetTALLA38IsNull; + property TALLA40: TBcd read GetTALLA40Value write SetTALLA40Value; + property TALLA40IsNull: Boolean read GetTALLA40IsNull write SetTALLA40IsNull; + property TALLA42: TBcd read GetTALLA42Value write SetTALLA42Value; + property TALLA42IsNull: Boolean read GetTALLA42IsNull write SetTALLA42IsNull; + property TALLA44: TBcd read GetTALLA44Value write SetTALLA44Value; + property TALLA44IsNull: Boolean read GetTALLA44IsNull write SetTALLA44IsNull; + property TALLA46: TBcd read GetTALLA46Value write SetTALLA46Value; + property TALLA46IsNull: Boolean read GetTALLA46IsNull write SetTALLA46IsNull; + property TALLA48: TBcd read GetTALLA48Value write SetTALLA48Value; + property TALLA48IsNull: Boolean read GetTALLA48IsNull write SetTALLA48IsNull; + property VTATERMDEV: TBcd read GetVTATERMDEVValue write SetVTATERMDEVValue; + property VTATERMDEVIsNull: Boolean read GetVTATERMDEVIsNull write SetVTATERMDEVIsNull; + property VTAFINALRESC: TBcd read GetVTAFINALRESCValue write SetVTAFINALRESCValue; + property VTAFINALRESCIsNull: Boolean read GetVTAFINALRESCIsNull write SetVTAFINALRESCIsNull; + property VENTAS: TBcd read GetVENTASValue write SetVENTASValue; + property VENTASIsNull: Boolean read GetVENTASIsNull write SetVENTASIsNull; + property DEVOLUCIONES: TBcd read GetDEVOLUCIONESValue write SetDEVOLUCIONESValue; + property DEVOLUCIONESIsNull: Boolean read GetDEVOLUCIONESIsNull write SetDEVOLUCIONESIsNull; + property TOTAL: TBcd read GetTOTALValue write SetTOTALValue; + property TOTALIsNull: Boolean read GetTOTALIsNull write SetTOTALIsNull; + property VALTERMDEV: TBcd read GetVALTERMDEVValue write SetVALTERMDEVValue; + property VALTERMDEVIsNull: Boolean read GetVALTERMDEVIsNull write SetVALTERMDEVIsNull; + property VALFINALRESC: TBcd read GetVALFINALRESCValue write SetVALFINALRESCValue; + property VALFINALRESCIsNull: Boolean read GetVALFINALRESCIsNull write SetVALFINALRESCIsNull; + property VALVEN: TBcd read GetVALVENValue write SetVALVENValue; + property VALVENIsNull: Boolean read GetVALVENIsNull write SetVALVENIsNull; + property VALDEV: TBcd read GetVALDEVValue write SetVALDEVValue; + property VALDEVIsNull: Boolean read GetVALDEVIsNull write SetVALDEVIsNull; + property VALTOT: TBcd read GetVALTOTValue write SetVALTOTValue; + property VALTOTIsNull: Boolean read GetVALTOTIsNull write SetVALTOTIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -353,7 +563,7 @@ type implementation -uses Variants; +uses Variants, uROBinaryHelpers; { TVentasTerminadasCrossTabDataTableRules } constructor TVentasTerminadasCrossTabDataTableRules.Create(aDataTable: TDADataTable); @@ -388,14 +598,36 @@ begin DataTable.Fields[idx_VentasTerminadasNUMINF].AsString := aValue; end; -function TVentasTerminadasDataTableRules.GetCLAVE1Value: Float; +function TVentasTerminadasDataTableRules.GetNUMINFIsNull: boolean; begin - result := DataTable.Fields[idx_VentasTerminadasCLAVE1].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasNUMINF].IsNull; end; -procedure TVentasTerminadasDataTableRules.SetCLAVE1Value(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetNUMINFIsNull(const aValue: Boolean); begin - DataTable.Fields[idx_VentasTerminadasCLAVE1].AsFloat := aValue; + if aValue then + DataTable.Fields[idx_VentasTerminadasNUMINF].AsVariant := Null; +end; + +function TVentasTerminadasDataTableRules.GetCLAVE1Value: TBcd; +begin + result := DataTable.Fields[idx_VentasTerminadasCLAVE1].AsDecimal; +end; + +procedure TVentasTerminadasDataTableRules.SetCLAVE1Value(const aValue: TBcd); +begin + DataTable.Fields[idx_VentasTerminadasCLAVE1].AsDecimal := aValue; +end; + +function TVentasTerminadasDataTableRules.GetCLAVE1IsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasCLAVE1].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetCLAVE1IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasCLAVE1].AsVariant := Null; end; function TVentasTerminadasDataTableRules.GetCLAVE2Value: Integer; @@ -408,6 +640,17 @@ begin DataTable.Fields[idx_VentasTerminadasCLAVE2].AsInteger := aValue; end; +function TVentasTerminadasDataTableRules.GetCLAVE2IsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasCLAVE2].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetCLAVE2IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasCLAVE2].AsVariant := Null; +end; + function TVentasTerminadasDataTableRules.GetCLAVE3Value: Integer; begin result := DataTable.Fields[idx_VentasTerminadasCLAVE3].AsInteger; @@ -418,6 +661,17 @@ begin DataTable.Fields[idx_VentasTerminadasCLAVE3].AsInteger := aValue; end; +function TVentasTerminadasDataTableRules.GetCLAVE3IsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasCLAVE3].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetCLAVE3IsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasCLAVE3].AsVariant := Null; +end; + function TVentasTerminadasDataTableRules.GetFECHAValue: DateTime; begin result := DataTable.Fields[idx_VentasTerminadasFECHA].AsDateTime; @@ -428,6 +682,17 @@ begin DataTable.Fields[idx_VentasTerminadasFECHA].AsDateTime := aValue; end; +function TVentasTerminadasDataTableRules.GetFECHAIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasFECHA].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetFECHAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasFECHA].AsVariant := Null; +end; + function TVentasTerminadasDataTableRules.GetDIAValue: Integer; begin result := DataTable.Fields[idx_VentasTerminadasDIA].AsInteger; @@ -438,24 +703,57 @@ begin DataTable.Fields[idx_VentasTerminadasDIA].AsInteger := aValue; end; -function TVentasTerminadasDataTableRules.GetDIASEMANAValue: String; +function TVentasTerminadasDataTableRules.GetDIAIsNull: boolean; begin - result := DataTable.Fields[idx_VentasTerminadasDIASEMANA].AsString; + result := DataTable.Fields[idx_VentasTerminadasDIA].IsNull; end; -procedure TVentasTerminadasDataTableRules.SetDIASEMANAValue(const aValue: String); +procedure TVentasTerminadasDataTableRules.SetDIAIsNull(const aValue: Boolean); begin - DataTable.Fields[idx_VentasTerminadasDIASEMANA].AsString := aValue; + if aValue then + DataTable.Fields[idx_VentasTerminadasDIA].AsVariant := Null; end; -function TVentasTerminadasDataTableRules.GetMESValue: String; +function TVentasTerminadasDataTableRules.GetDIASEMANAValue: WideString; begin - result := DataTable.Fields[idx_VentasTerminadasMES].AsString; + result := DataTable.Fields[idx_VentasTerminadasDIASEMANA].AsWideString; end; -procedure TVentasTerminadasDataTableRules.SetMESValue(const aValue: String); +procedure TVentasTerminadasDataTableRules.SetDIASEMANAValue(const aValue: WideString); begin - DataTable.Fields[idx_VentasTerminadasMES].AsString := aValue; + DataTable.Fields[idx_VentasTerminadasDIASEMANA].AsWideString := aValue; +end; + +function TVentasTerminadasDataTableRules.GetDIASEMANAIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasDIASEMANA].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetDIASEMANAIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasDIASEMANA].AsVariant := Null; +end; + +function TVentasTerminadasDataTableRules.GetMESValue: WideString; +begin + result := DataTable.Fields[idx_VentasTerminadasMES].AsWideString; +end; + +procedure TVentasTerminadasDataTableRules.SetMESValue(const aValue: WideString); +begin + DataTable.Fields[idx_VentasTerminadasMES].AsWideString := aValue; +end; + +function TVentasTerminadasDataTableRules.GetMESIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasMES].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetMESIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasMES].AsVariant := Null; end; function TVentasTerminadasDataTableRules.GetANOValue: Integer; @@ -468,6 +766,17 @@ begin DataTable.Fields[idx_VentasTerminadasANO].AsInteger := aValue; end; +function TVentasTerminadasDataTableRules.GetANOIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasANO].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetANOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasANO].AsVariant := Null; +end; + function TVentasTerminadasDataTableRules.GetCENTROValue: String; begin result := DataTable.Fields[idx_VentasTerminadasCENTRO].AsString; @@ -478,6 +787,17 @@ begin DataTable.Fields[idx_VentasTerminadasCENTRO].AsString := aValue; end; +function TVentasTerminadasDataTableRules.GetCENTROIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasCENTRO].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetCENTROIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasCENTRO].AsVariant := Null; +end; + function TVentasTerminadasDataTableRules.GetVENDEDORValue: String; begin result := DataTable.Fields[idx_VentasTerminadasVENDEDOR].AsString; @@ -488,6 +808,17 @@ begin DataTable.Fields[idx_VentasTerminadasVENDEDOR].AsString := aValue; end; +function TVentasTerminadasDataTableRules.GetVENDEDORIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasVENDEDOR].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetVENDEDORIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasVENDEDOR].AsVariant := Null; +end; + function TVentasTerminadasDataTableRules.GetNUMTALONValue: String; begin result := DataTable.Fields[idx_VentasTerminadasNUMTALON].AsString; @@ -498,6 +829,17 @@ begin DataTable.Fields[idx_VentasTerminadasNUMTALON].AsString := aValue; end; +function TVentasTerminadasDataTableRules.GetNUMTALONIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasNUMTALON].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetNUMTALONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasNUMTALON].AsVariant := Null; +end; + function TVentasTerminadasDataTableRules.GetCODIGOValue: String; begin result := DataTable.Fields[idx_VentasTerminadasCODIGO].AsString; @@ -508,6 +850,17 @@ begin DataTable.Fields[idx_VentasTerminadasCODIGO].AsString := aValue; end; +function TVentasTerminadasDataTableRules.GetCODIGOIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasCODIGO].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetCODIGOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasCODIGO].AsVariant := Null; +end; + function TVentasTerminadasDataTableRules.GetPRODUCTOValue: String; begin result := DataTable.Fields[idx_VentasTerminadasPRODUCTO].AsString; @@ -518,6 +871,17 @@ begin DataTable.Fields[idx_VentasTerminadasPRODUCTO].AsString := aValue; end; +function TVentasTerminadasDataTableRules.GetPRODUCTOIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasPRODUCTO].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetPRODUCTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasPRODUCTO].AsVariant := Null; +end; + function TVentasTerminadasDataTableRules.GetGRUPOPRODUCTOValue: String; begin result := DataTable.Fields[idx_VentasTerminadasGRUPOPRODUCTO].AsString; @@ -528,6 +892,17 @@ begin DataTable.Fields[idx_VentasTerminadasGRUPOPRODUCTO].AsString := aValue; end; +function TVentasTerminadasDataTableRules.GetGRUPOPRODUCTOIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasGRUPOPRODUCTO].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetGRUPOPRODUCTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasGRUPOPRODUCTO].AsVariant := Null; +end; + function TVentasTerminadasDataTableRules.GetTIPOPRODUCTOValue: String; begin result := DataTable.Fields[idx_VentasTerminadasTIPOPRODUCTO].AsString; @@ -538,6 +913,17 @@ begin DataTable.Fields[idx_VentasTerminadasTIPOPRODUCTO].AsString := aValue; end; +function TVentasTerminadasDataTableRules.GetTIPOPRODUCTOIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasTIPOPRODUCTO].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetTIPOPRODUCTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasTIPOPRODUCTO].AsVariant := Null; +end; + function TVentasTerminadasDataTableRules.GetCOLECCIONValue: String; begin result := DataTable.Fields[idx_VentasTerminadasCOLECCION].AsString; @@ -548,6 +934,17 @@ begin DataTable.Fields[idx_VentasTerminadasCOLECCION].AsString := aValue; end; +function TVentasTerminadasDataTableRules.GetCOLECCIONIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasCOLECCION].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetCOLECCIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasCOLECCION].AsVariant := Null; +end; + function TVentasTerminadasDataTableRules.GetCOLORValue: String; begin result := DataTable.Fields[idx_VentasTerminadasCOLOR].AsString; @@ -558,6 +955,17 @@ begin DataTable.Fields[idx_VentasTerminadasCOLOR].AsString := aValue; end; +function TVentasTerminadasDataTableRules.GetCOLORIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasCOLOR].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetCOLORIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasCOLOR].AsVariant := Null; +end; + function TVentasTerminadasDataTableRules.GetTALLAValue: String; begin result := DataTable.Fields[idx_VentasTerminadasTALLA].AsString; @@ -568,164 +976,351 @@ begin DataTable.Fields[idx_VentasTerminadasTALLA].AsString := aValue; end; -function TVentasTerminadasDataTableRules.GetTALLA38Value: Float; +function TVentasTerminadasDataTableRules.GetTALLAIsNull: boolean; begin - result := DataTable.Fields[idx_VentasTerminadasTALLA38].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasTALLA].IsNull; end; -procedure TVentasTerminadasDataTableRules.SetTALLA38Value(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetTALLAIsNull(const aValue: Boolean); begin - DataTable.Fields[idx_VentasTerminadasTALLA38].AsFloat := aValue; + if aValue then + DataTable.Fields[idx_VentasTerminadasTALLA].AsVariant := Null; end; -function TVentasTerminadasDataTableRules.GetTALLA40Value: Float; +function TVentasTerminadasDataTableRules.GetTALLA38Value: TBcd; begin - result := DataTable.Fields[idx_VentasTerminadasTALLA40].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasTALLA38].AsDecimal; end; -procedure TVentasTerminadasDataTableRules.SetTALLA40Value(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetTALLA38Value(const aValue: TBcd); begin - DataTable.Fields[idx_VentasTerminadasTALLA40].AsFloat := aValue; + DataTable.Fields[idx_VentasTerminadasTALLA38].AsDecimal := aValue; end; -function TVentasTerminadasDataTableRules.GetTALLA42Value: Float; +function TVentasTerminadasDataTableRules.GetTALLA38IsNull: boolean; begin - result := DataTable.Fields[idx_VentasTerminadasTALLA42].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasTALLA38].IsNull; end; -procedure TVentasTerminadasDataTableRules.SetTALLA42Value(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetTALLA38IsNull(const aValue: Boolean); begin - DataTable.Fields[idx_VentasTerminadasTALLA42].AsFloat := aValue; + if aValue then + DataTable.Fields[idx_VentasTerminadasTALLA38].AsVariant := Null; end; -function TVentasTerminadasDataTableRules.GetTALLA44Value: Float; +function TVentasTerminadasDataTableRules.GetTALLA40Value: TBcd; begin - result := DataTable.Fields[idx_VentasTerminadasTALLA44].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasTALLA40].AsDecimal; end; -procedure TVentasTerminadasDataTableRules.SetTALLA44Value(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetTALLA40Value(const aValue: TBcd); begin - DataTable.Fields[idx_VentasTerminadasTALLA44].AsFloat := aValue; + DataTable.Fields[idx_VentasTerminadasTALLA40].AsDecimal := aValue; end; -function TVentasTerminadasDataTableRules.GetTALLA46Value: Float; +function TVentasTerminadasDataTableRules.GetTALLA40IsNull: boolean; begin - result := DataTable.Fields[idx_VentasTerminadasTALLA46].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasTALLA40].IsNull; end; -procedure TVentasTerminadasDataTableRules.SetTALLA46Value(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetTALLA40IsNull(const aValue: Boolean); begin - DataTable.Fields[idx_VentasTerminadasTALLA46].AsFloat := aValue; + if aValue then + DataTable.Fields[idx_VentasTerminadasTALLA40].AsVariant := Null; end; -function TVentasTerminadasDataTableRules.GetTALLA48Value: Float; +function TVentasTerminadasDataTableRules.GetTALLA42Value: TBcd; begin - result := DataTable.Fields[idx_VentasTerminadasTALLA48].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasTALLA42].AsDecimal; end; -procedure TVentasTerminadasDataTableRules.SetTALLA48Value(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetTALLA42Value(const aValue: TBcd); begin - DataTable.Fields[idx_VentasTerminadasTALLA48].AsFloat := aValue; + DataTable.Fields[idx_VentasTerminadasTALLA42].AsDecimal := aValue; end; -function TVentasTerminadasDataTableRules.GetVTATERMDEVValue: Float; +function TVentasTerminadasDataTableRules.GetTALLA42IsNull: boolean; begin - result := DataTable.Fields[idx_VentasTerminadasVTATERMDEV].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasTALLA42].IsNull; end; -procedure TVentasTerminadasDataTableRules.SetVTATERMDEVValue(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetTALLA42IsNull(const aValue: Boolean); begin - DataTable.Fields[idx_VentasTerminadasVTATERMDEV].AsFloat := aValue; + if aValue then + DataTable.Fields[idx_VentasTerminadasTALLA42].AsVariant := Null; end; -function TVentasTerminadasDataTableRules.GetVTAFINALRESCValue: Float; +function TVentasTerminadasDataTableRules.GetTALLA44Value: TBcd; begin - result := DataTable.Fields[idx_VentasTerminadasVTAFINALRESC].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasTALLA44].AsDecimal; end; -procedure TVentasTerminadasDataTableRules.SetVTAFINALRESCValue(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetTALLA44Value(const aValue: TBcd); begin - DataTable.Fields[idx_VentasTerminadasVTAFINALRESC].AsFloat := aValue; + DataTable.Fields[idx_VentasTerminadasTALLA44].AsDecimal := aValue; end; -function TVentasTerminadasDataTableRules.GetVENTASValue: Float; +function TVentasTerminadasDataTableRules.GetTALLA44IsNull: boolean; begin - result := DataTable.Fields[idx_VentasTerminadasVENTAS].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasTALLA44].IsNull; end; -procedure TVentasTerminadasDataTableRules.SetVENTASValue(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetTALLA44IsNull(const aValue: Boolean); begin - DataTable.Fields[idx_VentasTerminadasVENTAS].AsFloat := aValue; + if aValue then + DataTable.Fields[idx_VentasTerminadasTALLA44].AsVariant := Null; end; -function TVentasTerminadasDataTableRules.GetDEVOLUCIONESValue: Float; +function TVentasTerminadasDataTableRules.GetTALLA46Value: TBcd; begin - result := DataTable.Fields[idx_VentasTerminadasDEVOLUCIONES].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasTALLA46].AsDecimal; end; -procedure TVentasTerminadasDataTableRules.SetDEVOLUCIONESValue(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetTALLA46Value(const aValue: TBcd); begin - DataTable.Fields[idx_VentasTerminadasDEVOLUCIONES].AsFloat := aValue; + DataTable.Fields[idx_VentasTerminadasTALLA46].AsDecimal := aValue; end; -function TVentasTerminadasDataTableRules.GetTOTALValue: Float; +function TVentasTerminadasDataTableRules.GetTALLA46IsNull: boolean; begin - result := DataTable.Fields[idx_VentasTerminadasTOTAL].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasTALLA46].IsNull; end; -procedure TVentasTerminadasDataTableRules.SetTOTALValue(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetTALLA46IsNull(const aValue: Boolean); begin - DataTable.Fields[idx_VentasTerminadasTOTAL].AsFloat := aValue; + if aValue then + DataTable.Fields[idx_VentasTerminadasTALLA46].AsVariant := Null; end; -function TVentasTerminadasDataTableRules.GetVALTERMDEVValue: Float; +function TVentasTerminadasDataTableRules.GetTALLA48Value: TBcd; begin - result := DataTable.Fields[idx_VentasTerminadasVALTERMDEV].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasTALLA48].AsDecimal; end; -procedure TVentasTerminadasDataTableRules.SetVALTERMDEVValue(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetTALLA48Value(const aValue: TBcd); begin - DataTable.Fields[idx_VentasTerminadasVALTERMDEV].AsFloat := aValue; + DataTable.Fields[idx_VentasTerminadasTALLA48].AsDecimal := aValue; end; -function TVentasTerminadasDataTableRules.GetVALFINALRESCValue: Float; +function TVentasTerminadasDataTableRules.GetTALLA48IsNull: boolean; begin - result := DataTable.Fields[idx_VentasTerminadasVALFINALRESC].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasTALLA48].IsNull; end; -procedure TVentasTerminadasDataTableRules.SetVALFINALRESCValue(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetTALLA48IsNull(const aValue: Boolean); begin - DataTable.Fields[idx_VentasTerminadasVALFINALRESC].AsFloat := aValue; + if aValue then + DataTable.Fields[idx_VentasTerminadasTALLA48].AsVariant := Null; end; -function TVentasTerminadasDataTableRules.GetVALVENValue: Float; +function TVentasTerminadasDataTableRules.GetVTATERMDEVValue: TBcd; begin - result := DataTable.Fields[idx_VentasTerminadasVALVEN].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasVTATERMDEV].AsDecimal; end; -procedure TVentasTerminadasDataTableRules.SetVALVENValue(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetVTATERMDEVValue(const aValue: TBcd); begin - DataTable.Fields[idx_VentasTerminadasVALVEN].AsFloat := aValue; + DataTable.Fields[idx_VentasTerminadasVTATERMDEV].AsDecimal := aValue; end; -function TVentasTerminadasDataTableRules.GetVALDEVValue: Float; +function TVentasTerminadasDataTableRules.GetVTATERMDEVIsNull: boolean; begin - result := DataTable.Fields[idx_VentasTerminadasVALDEV].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasVTATERMDEV].IsNull; end; -procedure TVentasTerminadasDataTableRules.SetVALDEVValue(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetVTATERMDEVIsNull(const aValue: Boolean); begin - DataTable.Fields[idx_VentasTerminadasVALDEV].AsFloat := aValue; + if aValue then + DataTable.Fields[idx_VentasTerminadasVTATERMDEV].AsVariant := Null; end; -function TVentasTerminadasDataTableRules.GetVALTOTValue: Float; +function TVentasTerminadasDataTableRules.GetVTAFINALRESCValue: TBcd; begin - result := DataTable.Fields[idx_VentasTerminadasVALTOT].AsFloat; + result := DataTable.Fields[idx_VentasTerminadasVTAFINALRESC].AsDecimal; end; -procedure TVentasTerminadasDataTableRules.SetVALTOTValue(const aValue: Float); +procedure TVentasTerminadasDataTableRules.SetVTAFINALRESCValue(const aValue: TBcd); begin - DataTable.Fields[idx_VentasTerminadasVALTOT].AsFloat := aValue; + DataTable.Fields[idx_VentasTerminadasVTAFINALRESC].AsDecimal := aValue; +end; + +function TVentasTerminadasDataTableRules.GetVTAFINALRESCIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasVTAFINALRESC].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetVTAFINALRESCIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasVTAFINALRESC].AsVariant := Null; +end; + +function TVentasTerminadasDataTableRules.GetVENTASValue: TBcd; +begin + result := DataTable.Fields[idx_VentasTerminadasVENTAS].AsDecimal; +end; + +procedure TVentasTerminadasDataTableRules.SetVENTASValue(const aValue: TBcd); +begin + DataTable.Fields[idx_VentasTerminadasVENTAS].AsDecimal := aValue; +end; + +function TVentasTerminadasDataTableRules.GetVENTASIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasVENTAS].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetVENTASIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasVENTAS].AsVariant := Null; +end; + +function TVentasTerminadasDataTableRules.GetDEVOLUCIONESValue: TBcd; +begin + result := DataTable.Fields[idx_VentasTerminadasDEVOLUCIONES].AsDecimal; +end; + +procedure TVentasTerminadasDataTableRules.SetDEVOLUCIONESValue(const aValue: TBcd); +begin + DataTable.Fields[idx_VentasTerminadasDEVOLUCIONES].AsDecimal := aValue; +end; + +function TVentasTerminadasDataTableRules.GetDEVOLUCIONESIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasDEVOLUCIONES].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetDEVOLUCIONESIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasDEVOLUCIONES].AsVariant := Null; +end; + +function TVentasTerminadasDataTableRules.GetTOTALValue: TBcd; +begin + result := DataTable.Fields[idx_VentasTerminadasTOTAL].AsDecimal; +end; + +procedure TVentasTerminadasDataTableRules.SetTOTALValue(const aValue: TBcd); +begin + DataTable.Fields[idx_VentasTerminadasTOTAL].AsDecimal := aValue; +end; + +function TVentasTerminadasDataTableRules.GetTOTALIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasTOTAL].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetTOTALIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasTOTAL].AsVariant := Null; +end; + +function TVentasTerminadasDataTableRules.GetVALTERMDEVValue: TBcd; +begin + result := DataTable.Fields[idx_VentasTerminadasVALTERMDEV].AsDecimal; +end; + +procedure TVentasTerminadasDataTableRules.SetVALTERMDEVValue(const aValue: TBcd); +begin + DataTable.Fields[idx_VentasTerminadasVALTERMDEV].AsDecimal := aValue; +end; + +function TVentasTerminadasDataTableRules.GetVALTERMDEVIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasVALTERMDEV].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetVALTERMDEVIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasVALTERMDEV].AsVariant := Null; +end; + +function TVentasTerminadasDataTableRules.GetVALFINALRESCValue: TBcd; +begin + result := DataTable.Fields[idx_VentasTerminadasVALFINALRESC].AsDecimal; +end; + +procedure TVentasTerminadasDataTableRules.SetVALFINALRESCValue(const aValue: TBcd); +begin + DataTable.Fields[idx_VentasTerminadasVALFINALRESC].AsDecimal := aValue; +end; + +function TVentasTerminadasDataTableRules.GetVALFINALRESCIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasVALFINALRESC].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetVALFINALRESCIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasVALFINALRESC].AsVariant := Null; +end; + +function TVentasTerminadasDataTableRules.GetVALVENValue: TBcd; +begin + result := DataTable.Fields[idx_VentasTerminadasVALVEN].AsDecimal; +end; + +procedure TVentasTerminadasDataTableRules.SetVALVENValue(const aValue: TBcd); +begin + DataTable.Fields[idx_VentasTerminadasVALVEN].AsDecimal := aValue; +end; + +function TVentasTerminadasDataTableRules.GetVALVENIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasVALVEN].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetVALVENIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasVALVEN].AsVariant := Null; +end; + +function TVentasTerminadasDataTableRules.GetVALDEVValue: TBcd; +begin + result := DataTable.Fields[idx_VentasTerminadasVALDEV].AsDecimal; +end; + +procedure TVentasTerminadasDataTableRules.SetVALDEVValue(const aValue: TBcd); +begin + DataTable.Fields[idx_VentasTerminadasVALDEV].AsDecimal := aValue; +end; + +function TVentasTerminadasDataTableRules.GetVALDEVIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasVALDEV].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetVALDEVIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasVALDEV].AsVariant := Null; +end; + +function TVentasTerminadasDataTableRules.GetVALTOTValue: TBcd; +begin + result := DataTable.Fields[idx_VentasTerminadasVALTOT].AsDecimal; +end; + +procedure TVentasTerminadasDataTableRules.SetVALTOTValue(const aValue: TBcd); +begin + DataTable.Fields[idx_VentasTerminadasVALTOT].AsDecimal := aValue; +end; + +function TVentasTerminadasDataTableRules.GetVALTOTIsNull: boolean; +begin + result := DataTable.Fields[idx_VentasTerminadasVALTOT].IsNull; +end; + +procedure TVentasTerminadasDataTableRules.SetVALTOTIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_VentasTerminadasVALTOT].AsVariant := Null; end; diff --git a/Source/Modulos/VentasTerminadas/Reglas/schVentasTerminadasServer_Intf.pas b/Source/Modulos/VentasTerminadas/Reglas/schVentasTerminadasServer_Intf.pas index a827a8f..cdee0f2 100644 --- a/Source/Modulos/VentasTerminadas/Reglas/schVentasTerminadasServer_Intf.pas +++ b/Source/Modulos/VentasTerminadas/Reglas/schVentasTerminadasServer_Intf.pas @@ -3,19 +3,19 @@ unit schVentasTerminadasServer_Intf; interface uses - Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, schVentasTerminadasClient_Intf; + Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, FmtBCD, uROXMLIntf, schVentasTerminadasClient_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_VentasTerminadasCrossTabDelta = '{D69FBA64-6F9E-4850-A61A-B1D060E04006}'; - RID_VentasTerminadasDelta = '{B705B6A2-C1E0-4936-830A-D1375D7F9F49}'; + RID_VentasTerminadasCrossTabDelta = '{450CE6EB-71EE-4A59-9D2A-558F4D5346A3}'; + RID_VentasTerminadasDelta = '{05A89678-2248-4B09-9BEC-354E07FD2CE5}'; type { IVentasTerminadasCrossTabDelta } IVentasTerminadasCrossTabDelta = interface(IVentasTerminadasCrossTab) - ['{D69FBA64-6F9E-4850-A61A-B1D060E04006}'] + ['{450CE6EB-71EE-4A59-9D2A-558F4D5346A3}'] { Property getters and setters } { Properties } @@ -37,16 +37,16 @@ type { IVentasTerminadasDelta } IVentasTerminadasDelta = interface(IVentasTerminadas) - ['{B705B6A2-C1E0-4936-830A-D1375D7F9F49}'] + ['{05A89678-2248-4B09-9BEC-354E07FD2CE5}'] { Property getters and setters } function GetOldNUMINFValue : String; - function GetOldCLAVE1Value : Float; + function GetOldCLAVE1Value : TBcd; function GetOldCLAVE2Value : Integer; function GetOldCLAVE3Value : Integer; function GetOldFECHAValue : DateTime; function GetOldDIAValue : Integer; - function GetOldDIASEMANAValue : String; - function GetOldMESValue : String; + function GetOldDIASEMANAValue : WideString; + function GetOldMESValue : WideString; function GetOldANOValue : Integer; function GetOldCENTROValue : String; function GetOldVENDEDORValue : String; @@ -58,32 +58,32 @@ type function GetOldCOLECCIONValue : String; function GetOldCOLORValue : String; function GetOldTALLAValue : String; - function GetOldTALLA38Value : Float; - function GetOldTALLA40Value : Float; - function GetOldTALLA42Value : Float; - function GetOldTALLA44Value : Float; - function GetOldTALLA46Value : Float; - function GetOldTALLA48Value : Float; - function GetOldVTATERMDEVValue : Float; - function GetOldVTAFINALRESCValue : Float; - function GetOldVENTASValue : Float; - function GetOldDEVOLUCIONESValue : Float; - function GetOldTOTALValue : Float; - function GetOldVALTERMDEVValue : Float; - function GetOldVALFINALRESCValue : Float; - function GetOldVALVENValue : Float; - function GetOldVALDEVValue : Float; - function GetOldVALTOTValue : Float; + function GetOldTALLA38Value : TBcd; + function GetOldTALLA40Value : TBcd; + function GetOldTALLA42Value : TBcd; + function GetOldTALLA44Value : TBcd; + function GetOldTALLA46Value : TBcd; + function GetOldTALLA48Value : TBcd; + function GetOldVTATERMDEVValue : TBcd; + function GetOldVTAFINALRESCValue : TBcd; + function GetOldVENTASValue : TBcd; + function GetOldDEVOLUCIONESValue : TBcd; + function GetOldTOTALValue : TBcd; + function GetOldVALTERMDEVValue : TBcd; + function GetOldVALFINALRESCValue : TBcd; + function GetOldVALVENValue : TBcd; + function GetOldVALDEVValue : TBcd; + function GetOldVALTOTValue : TBcd; { Properties } property OldNUMINF : String read GetOldNUMINFValue; - property OldCLAVE1 : Float read GetOldCLAVE1Value; + property OldCLAVE1 : TBcd read GetOldCLAVE1Value; property OldCLAVE2 : Integer read GetOldCLAVE2Value; property OldCLAVE3 : Integer read GetOldCLAVE3Value; property OldFECHA : DateTime read GetOldFECHAValue; property OldDIA : Integer read GetOldDIAValue; - property OldDIASEMANA : String read GetOldDIASEMANAValue; - property OldMES : String read GetOldMESValue; + property OldDIASEMANA : WideString read GetOldDIASEMANAValue; + property OldMES : WideString read GetOldMESValue; property OldANO : Integer read GetOldANOValue; property OldCENTRO : String read GetOldCENTROValue; property OldVENDEDOR : String read GetOldVENDEDORValue; @@ -95,22 +95,22 @@ type property OldCOLECCION : String read GetOldCOLECCIONValue; property OldCOLOR : String read GetOldCOLORValue; property OldTALLA : String read GetOldTALLAValue; - property OldTALLA38 : Float read GetOldTALLA38Value; - property OldTALLA40 : Float read GetOldTALLA40Value; - property OldTALLA42 : Float read GetOldTALLA42Value; - property OldTALLA44 : Float read GetOldTALLA44Value; - property OldTALLA46 : Float read GetOldTALLA46Value; - property OldTALLA48 : Float read GetOldTALLA48Value; - property OldVTATERMDEV : Float read GetOldVTATERMDEVValue; - property OldVTAFINALRESC : Float read GetOldVTAFINALRESCValue; - property OldVENTAS : Float read GetOldVENTASValue; - property OldDEVOLUCIONES : Float read GetOldDEVOLUCIONESValue; - property OldTOTAL : Float read GetOldTOTALValue; - property OldVALTERMDEV : Float read GetOldVALTERMDEVValue; - property OldVALFINALRESC : Float read GetOldVALFINALRESCValue; - property OldVALVEN : Float read GetOldVALVENValue; - property OldVALDEV : Float read GetOldVALDEVValue; - property OldVALTOT : Float read GetOldVALTOTValue; + property OldTALLA38 : TBcd read GetOldTALLA38Value; + property OldTALLA40 : TBcd read GetOldTALLA40Value; + property OldTALLA42 : TBcd read GetOldTALLA42Value; + property OldTALLA44 : TBcd read GetOldTALLA44Value; + property OldTALLA46 : TBcd read GetOldTALLA46Value; + property OldTALLA48 : TBcd read GetOldTALLA48Value; + property OldVTATERMDEV : TBcd read GetOldVTATERMDEVValue; + property OldVTAFINALRESC : TBcd read GetOldVTAFINALRESCValue; + property OldVENTAS : TBcd read GetOldVENTASValue; + property OldDEVOLUCIONES : TBcd read GetOldDEVOLUCIONESValue; + property OldTOTAL : TBcd read GetOldTOTALValue; + property OldVALTERMDEV : TBcd read GetOldVALTERMDEVValue; + property OldVALFINALRESC : TBcd read GetOldVALFINALRESCValue; + property OldVALVEN : TBcd read GetOldVALVENValue; + property OldVALDEV : TBcd read GetOldVALDEVValue; + property OldVALTOT : TBcd read GetOldVALTOTValue; end; { TVentasTerminadasBusinessProcessorRules } @@ -119,182 +119,357 @@ type protected { Property getters and setters } function GetNUMINFValue: String; virtual; + function GetNUMINFIsNull: Boolean; virtual; function GetOldNUMINFValue: String; virtual; + function GetOldNUMINFIsNull: Boolean; virtual; procedure SetNUMINFValue(const aValue: String); virtual; - function GetCLAVE1Value: Float; virtual; - function GetOldCLAVE1Value: Float; virtual; - procedure SetCLAVE1Value(const aValue: Float); virtual; + procedure SetNUMINFIsNull(const aValue: Boolean); virtual; + function GetCLAVE1Value: TBcd; virtual; + function GetCLAVE1IsNull: Boolean; virtual; + function GetOldCLAVE1Value: TBcd; virtual; + function GetOldCLAVE1IsNull: Boolean; virtual; + procedure SetCLAVE1Value(const aValue: TBcd); virtual; + procedure SetCLAVE1IsNull(const aValue: Boolean); virtual; function GetCLAVE2Value: Integer; virtual; + function GetCLAVE2IsNull: Boolean; virtual; function GetOldCLAVE2Value: Integer; virtual; + function GetOldCLAVE2IsNull: Boolean; virtual; procedure SetCLAVE2Value(const aValue: Integer); virtual; + procedure SetCLAVE2IsNull(const aValue: Boolean); virtual; function GetCLAVE3Value: Integer; virtual; + function GetCLAVE3IsNull: Boolean; virtual; function GetOldCLAVE3Value: Integer; virtual; + function GetOldCLAVE3IsNull: Boolean; virtual; procedure SetCLAVE3Value(const aValue: Integer); virtual; + procedure SetCLAVE3IsNull(const aValue: Boolean); virtual; function GetFECHAValue: DateTime; virtual; + function GetFECHAIsNull: Boolean; virtual; function GetOldFECHAValue: DateTime; virtual; + function GetOldFECHAIsNull: Boolean; virtual; procedure SetFECHAValue(const aValue: DateTime); virtual; + procedure SetFECHAIsNull(const aValue: Boolean); virtual; function GetDIAValue: Integer; virtual; + function GetDIAIsNull: Boolean; virtual; function GetOldDIAValue: Integer; virtual; + function GetOldDIAIsNull: Boolean; virtual; procedure SetDIAValue(const aValue: Integer); virtual; - function GetDIASEMANAValue: String; virtual; - function GetOldDIASEMANAValue: String; virtual; - procedure SetDIASEMANAValue(const aValue: String); virtual; - function GetMESValue: String; virtual; - function GetOldMESValue: String; virtual; - procedure SetMESValue(const aValue: String); virtual; + procedure SetDIAIsNull(const aValue: Boolean); virtual; + function GetDIASEMANAValue: WideString; virtual; + function GetDIASEMANAIsNull: Boolean; virtual; + function GetOldDIASEMANAValue: WideString; virtual; + function GetOldDIASEMANAIsNull: Boolean; virtual; + procedure SetDIASEMANAValue(const aValue: WideString); virtual; + procedure SetDIASEMANAIsNull(const aValue: Boolean); virtual; + function GetMESValue: WideString; virtual; + function GetMESIsNull: Boolean; virtual; + function GetOldMESValue: WideString; virtual; + function GetOldMESIsNull: Boolean; virtual; + procedure SetMESValue(const aValue: WideString); virtual; + procedure SetMESIsNull(const aValue: Boolean); virtual; function GetANOValue: Integer; virtual; + function GetANOIsNull: Boolean; virtual; function GetOldANOValue: Integer; virtual; + function GetOldANOIsNull: Boolean; virtual; procedure SetANOValue(const aValue: Integer); virtual; + procedure SetANOIsNull(const aValue: Boolean); virtual; function GetCENTROValue: String; virtual; + function GetCENTROIsNull: Boolean; virtual; function GetOldCENTROValue: String; virtual; + function GetOldCENTROIsNull: Boolean; virtual; procedure SetCENTROValue(const aValue: String); virtual; + procedure SetCENTROIsNull(const aValue: Boolean); virtual; function GetVENDEDORValue: String; virtual; + function GetVENDEDORIsNull: Boolean; virtual; function GetOldVENDEDORValue: String; virtual; + function GetOldVENDEDORIsNull: Boolean; virtual; procedure SetVENDEDORValue(const aValue: String); virtual; + procedure SetVENDEDORIsNull(const aValue: Boolean); virtual; function GetNUMTALONValue: String; virtual; + function GetNUMTALONIsNull: Boolean; virtual; function GetOldNUMTALONValue: String; virtual; + function GetOldNUMTALONIsNull: Boolean; virtual; procedure SetNUMTALONValue(const aValue: String); virtual; + procedure SetNUMTALONIsNull(const aValue: Boolean); virtual; function GetCODIGOValue: String; virtual; + function GetCODIGOIsNull: Boolean; virtual; function GetOldCODIGOValue: String; virtual; + function GetOldCODIGOIsNull: Boolean; virtual; procedure SetCODIGOValue(const aValue: String); virtual; + procedure SetCODIGOIsNull(const aValue: Boolean); virtual; function GetPRODUCTOValue: String; virtual; + function GetPRODUCTOIsNull: Boolean; virtual; function GetOldPRODUCTOValue: String; virtual; + function GetOldPRODUCTOIsNull: Boolean; virtual; procedure SetPRODUCTOValue(const aValue: String); virtual; + procedure SetPRODUCTOIsNull(const aValue: Boolean); virtual; function GetGRUPOPRODUCTOValue: String; virtual; + function GetGRUPOPRODUCTOIsNull: Boolean; virtual; function GetOldGRUPOPRODUCTOValue: String; virtual; + function GetOldGRUPOPRODUCTOIsNull: Boolean; virtual; procedure SetGRUPOPRODUCTOValue(const aValue: String); virtual; + procedure SetGRUPOPRODUCTOIsNull(const aValue: Boolean); virtual; function GetTIPOPRODUCTOValue: String; virtual; + function GetTIPOPRODUCTOIsNull: Boolean; virtual; function GetOldTIPOPRODUCTOValue: String; virtual; + function GetOldTIPOPRODUCTOIsNull: Boolean; virtual; procedure SetTIPOPRODUCTOValue(const aValue: String); virtual; + procedure SetTIPOPRODUCTOIsNull(const aValue: Boolean); virtual; function GetCOLECCIONValue: String; virtual; + function GetCOLECCIONIsNull: Boolean; virtual; function GetOldCOLECCIONValue: String; virtual; + function GetOldCOLECCIONIsNull: Boolean; virtual; procedure SetCOLECCIONValue(const aValue: String); virtual; + procedure SetCOLECCIONIsNull(const aValue: Boolean); virtual; function GetCOLORValue: String; virtual; + function GetCOLORIsNull: Boolean; virtual; function GetOldCOLORValue: String; virtual; + function GetOldCOLORIsNull: Boolean; virtual; procedure SetCOLORValue(const aValue: String); virtual; + procedure SetCOLORIsNull(const aValue: Boolean); virtual; function GetTALLAValue: String; virtual; + function GetTALLAIsNull: Boolean; virtual; function GetOldTALLAValue: String; virtual; + function GetOldTALLAIsNull: Boolean; virtual; procedure SetTALLAValue(const aValue: String); virtual; - function GetTALLA38Value: Float; virtual; - function GetOldTALLA38Value: Float; virtual; - procedure SetTALLA38Value(const aValue: Float); virtual; - function GetTALLA40Value: Float; virtual; - function GetOldTALLA40Value: Float; virtual; - procedure SetTALLA40Value(const aValue: Float); virtual; - function GetTALLA42Value: Float; virtual; - function GetOldTALLA42Value: Float; virtual; - procedure SetTALLA42Value(const aValue: Float); virtual; - function GetTALLA44Value: Float; virtual; - function GetOldTALLA44Value: Float; virtual; - procedure SetTALLA44Value(const aValue: Float); virtual; - function GetTALLA46Value: Float; virtual; - function GetOldTALLA46Value: Float; virtual; - procedure SetTALLA46Value(const aValue: Float); virtual; - function GetTALLA48Value: Float; virtual; - function GetOldTALLA48Value: Float; virtual; - procedure SetTALLA48Value(const aValue: Float); virtual; - function GetVTATERMDEVValue: Float; virtual; - function GetOldVTATERMDEVValue: Float; virtual; - procedure SetVTATERMDEVValue(const aValue: Float); virtual; - function GetVTAFINALRESCValue: Float; virtual; - function GetOldVTAFINALRESCValue: Float; virtual; - procedure SetVTAFINALRESCValue(const aValue: Float); virtual; - function GetVENTASValue: Float; virtual; - function GetOldVENTASValue: Float; virtual; - procedure SetVENTASValue(const aValue: Float); virtual; - function GetDEVOLUCIONESValue: Float; virtual; - function GetOldDEVOLUCIONESValue: Float; virtual; - procedure SetDEVOLUCIONESValue(const aValue: Float); virtual; - function GetTOTALValue: Float; virtual; - function GetOldTOTALValue: Float; virtual; - procedure SetTOTALValue(const aValue: Float); virtual; - function GetVALTERMDEVValue: Float; virtual; - function GetOldVALTERMDEVValue: Float; virtual; - procedure SetVALTERMDEVValue(const aValue: Float); virtual; - function GetVALFINALRESCValue: Float; virtual; - function GetOldVALFINALRESCValue: Float; virtual; - procedure SetVALFINALRESCValue(const aValue: Float); virtual; - function GetVALVENValue: Float; virtual; - function GetOldVALVENValue: Float; virtual; - procedure SetVALVENValue(const aValue: Float); virtual; - function GetVALDEVValue: Float; virtual; - function GetOldVALDEVValue: Float; virtual; - procedure SetVALDEVValue(const aValue: Float); virtual; - function GetVALTOTValue: Float; virtual; - function GetOldVALTOTValue: Float; virtual; - procedure SetVALTOTValue(const aValue: Float); virtual; + procedure SetTALLAIsNull(const aValue: Boolean); virtual; + function GetTALLA38Value: TBcd; virtual; + function GetTALLA38IsNull: Boolean; virtual; + function GetOldTALLA38Value: TBcd; virtual; + function GetOldTALLA38IsNull: Boolean; virtual; + procedure SetTALLA38Value(const aValue: TBcd); virtual; + procedure SetTALLA38IsNull(const aValue: Boolean); virtual; + function GetTALLA40Value: TBcd; virtual; + function GetTALLA40IsNull: Boolean; virtual; + function GetOldTALLA40Value: TBcd; virtual; + function GetOldTALLA40IsNull: Boolean; virtual; + procedure SetTALLA40Value(const aValue: TBcd); virtual; + procedure SetTALLA40IsNull(const aValue: Boolean); virtual; + function GetTALLA42Value: TBcd; virtual; + function GetTALLA42IsNull: Boolean; virtual; + function GetOldTALLA42Value: TBcd; virtual; + function GetOldTALLA42IsNull: Boolean; virtual; + procedure SetTALLA42Value(const aValue: TBcd); virtual; + procedure SetTALLA42IsNull(const aValue: Boolean); virtual; + function GetTALLA44Value: TBcd; virtual; + function GetTALLA44IsNull: Boolean; virtual; + function GetOldTALLA44Value: TBcd; virtual; + function GetOldTALLA44IsNull: Boolean; virtual; + procedure SetTALLA44Value(const aValue: TBcd); virtual; + procedure SetTALLA44IsNull(const aValue: Boolean); virtual; + function GetTALLA46Value: TBcd; virtual; + function GetTALLA46IsNull: Boolean; virtual; + function GetOldTALLA46Value: TBcd; virtual; + function GetOldTALLA46IsNull: Boolean; virtual; + procedure SetTALLA46Value(const aValue: TBcd); virtual; + procedure SetTALLA46IsNull(const aValue: Boolean); virtual; + function GetTALLA48Value: TBcd; virtual; + function GetTALLA48IsNull: Boolean; virtual; + function GetOldTALLA48Value: TBcd; virtual; + function GetOldTALLA48IsNull: Boolean; virtual; + procedure SetTALLA48Value(const aValue: TBcd); virtual; + procedure SetTALLA48IsNull(const aValue: Boolean); virtual; + function GetVTATERMDEVValue: TBcd; virtual; + function GetVTATERMDEVIsNull: Boolean; virtual; + function GetOldVTATERMDEVValue: TBcd; virtual; + function GetOldVTATERMDEVIsNull: Boolean; virtual; + procedure SetVTATERMDEVValue(const aValue: TBcd); virtual; + procedure SetVTATERMDEVIsNull(const aValue: Boolean); virtual; + function GetVTAFINALRESCValue: TBcd; virtual; + function GetVTAFINALRESCIsNull: Boolean; virtual; + function GetOldVTAFINALRESCValue: TBcd; virtual; + function GetOldVTAFINALRESCIsNull: Boolean; virtual; + procedure SetVTAFINALRESCValue(const aValue: TBcd); virtual; + procedure SetVTAFINALRESCIsNull(const aValue: Boolean); virtual; + function GetVENTASValue: TBcd; virtual; + function GetVENTASIsNull: Boolean; virtual; + function GetOldVENTASValue: TBcd; virtual; + function GetOldVENTASIsNull: Boolean; virtual; + procedure SetVENTASValue(const aValue: TBcd); virtual; + procedure SetVENTASIsNull(const aValue: Boolean); virtual; + function GetDEVOLUCIONESValue: TBcd; virtual; + function GetDEVOLUCIONESIsNull: Boolean; virtual; + function GetOldDEVOLUCIONESValue: TBcd; virtual; + function GetOldDEVOLUCIONESIsNull: Boolean; virtual; + procedure SetDEVOLUCIONESValue(const aValue: TBcd); virtual; + procedure SetDEVOLUCIONESIsNull(const aValue: Boolean); virtual; + function GetTOTALValue: TBcd; virtual; + function GetTOTALIsNull: Boolean; virtual; + function GetOldTOTALValue: TBcd; virtual; + function GetOldTOTALIsNull: Boolean; virtual; + procedure SetTOTALValue(const aValue: TBcd); virtual; + procedure SetTOTALIsNull(const aValue: Boolean); virtual; + function GetVALTERMDEVValue: TBcd; virtual; + function GetVALTERMDEVIsNull: Boolean; virtual; + function GetOldVALTERMDEVValue: TBcd; virtual; + function GetOldVALTERMDEVIsNull: Boolean; virtual; + procedure SetVALTERMDEVValue(const aValue: TBcd); virtual; + procedure SetVALTERMDEVIsNull(const aValue: Boolean); virtual; + function GetVALFINALRESCValue: TBcd; virtual; + function GetVALFINALRESCIsNull: Boolean; virtual; + function GetOldVALFINALRESCValue: TBcd; virtual; + function GetOldVALFINALRESCIsNull: Boolean; virtual; + procedure SetVALFINALRESCValue(const aValue: TBcd); virtual; + procedure SetVALFINALRESCIsNull(const aValue: Boolean); virtual; + function GetVALVENValue: TBcd; virtual; + function GetVALVENIsNull: Boolean; virtual; + function GetOldVALVENValue: TBcd; virtual; + function GetOldVALVENIsNull: Boolean; virtual; + procedure SetVALVENValue(const aValue: TBcd); virtual; + procedure SetVALVENIsNull(const aValue: Boolean); virtual; + function GetVALDEVValue: TBcd; virtual; + function GetVALDEVIsNull: Boolean; virtual; + function GetOldVALDEVValue: TBcd; virtual; + function GetOldVALDEVIsNull: Boolean; virtual; + procedure SetVALDEVValue(const aValue: TBcd); virtual; + procedure SetVALDEVIsNull(const aValue: Boolean); virtual; + function GetVALTOTValue: TBcd; virtual; + function GetVALTOTIsNull: Boolean; virtual; + function GetOldVALTOTValue: TBcd; virtual; + function GetOldVALTOTIsNull: Boolean; virtual; + procedure SetVALTOTValue(const aValue: TBcd); virtual; + procedure SetVALTOTIsNull(const aValue: Boolean); virtual; { Properties } property NUMINF : String read GetNUMINFValue write SetNUMINFValue; + property NUMINFIsNull : Boolean read GetNUMINFIsNull write SetNUMINFIsNull; property OldNUMINF : String read GetOldNUMINFValue; - property CLAVE1 : Float read GetCLAVE1Value write SetCLAVE1Value; - property OldCLAVE1 : Float read GetOldCLAVE1Value; + property OldNUMINFIsNull : Boolean read GetOldNUMINFIsNull; + property CLAVE1 : TBcd read GetCLAVE1Value write SetCLAVE1Value; + property CLAVE1IsNull : Boolean read GetCLAVE1IsNull write SetCLAVE1IsNull; + property OldCLAVE1 : TBcd read GetOldCLAVE1Value; + property OldCLAVE1IsNull : Boolean read GetOldCLAVE1IsNull; property CLAVE2 : Integer read GetCLAVE2Value write SetCLAVE2Value; + property CLAVE2IsNull : Boolean read GetCLAVE2IsNull write SetCLAVE2IsNull; property OldCLAVE2 : Integer read GetOldCLAVE2Value; + property OldCLAVE2IsNull : Boolean read GetOldCLAVE2IsNull; property CLAVE3 : Integer read GetCLAVE3Value write SetCLAVE3Value; + property CLAVE3IsNull : Boolean read GetCLAVE3IsNull write SetCLAVE3IsNull; property OldCLAVE3 : Integer read GetOldCLAVE3Value; + property OldCLAVE3IsNull : Boolean read GetOldCLAVE3IsNull; property FECHA : DateTime read GetFECHAValue write SetFECHAValue; + property FECHAIsNull : Boolean read GetFECHAIsNull write SetFECHAIsNull; property OldFECHA : DateTime read GetOldFECHAValue; + property OldFECHAIsNull : Boolean read GetOldFECHAIsNull; property DIA : Integer read GetDIAValue write SetDIAValue; + property DIAIsNull : Boolean read GetDIAIsNull write SetDIAIsNull; property OldDIA : Integer read GetOldDIAValue; - property DIASEMANA : String read GetDIASEMANAValue write SetDIASEMANAValue; - property OldDIASEMANA : String read GetOldDIASEMANAValue; - property MES : String read GetMESValue write SetMESValue; - property OldMES : String read GetOldMESValue; + property OldDIAIsNull : Boolean read GetOldDIAIsNull; + property DIASEMANA : WideString read GetDIASEMANAValue write SetDIASEMANAValue; + property DIASEMANAIsNull : Boolean read GetDIASEMANAIsNull write SetDIASEMANAIsNull; + property OldDIASEMANA : WideString read GetOldDIASEMANAValue; + property OldDIASEMANAIsNull : Boolean read GetOldDIASEMANAIsNull; + property MES : WideString read GetMESValue write SetMESValue; + property MESIsNull : Boolean read GetMESIsNull write SetMESIsNull; + property OldMES : WideString read GetOldMESValue; + property OldMESIsNull : Boolean read GetOldMESIsNull; property ANO : Integer read GetANOValue write SetANOValue; + property ANOIsNull : Boolean read GetANOIsNull write SetANOIsNull; property OldANO : Integer read GetOldANOValue; + property OldANOIsNull : Boolean read GetOldANOIsNull; property CENTRO : String read GetCENTROValue write SetCENTROValue; + property CENTROIsNull : Boolean read GetCENTROIsNull write SetCENTROIsNull; property OldCENTRO : String read GetOldCENTROValue; + property OldCENTROIsNull : Boolean read GetOldCENTROIsNull; property VENDEDOR : String read GetVENDEDORValue write SetVENDEDORValue; + property VENDEDORIsNull : Boolean read GetVENDEDORIsNull write SetVENDEDORIsNull; property OldVENDEDOR : String read GetOldVENDEDORValue; + property OldVENDEDORIsNull : Boolean read GetOldVENDEDORIsNull; property NUMTALON : String read GetNUMTALONValue write SetNUMTALONValue; + property NUMTALONIsNull : Boolean read GetNUMTALONIsNull write SetNUMTALONIsNull; property OldNUMTALON : String read GetOldNUMTALONValue; + property OldNUMTALONIsNull : Boolean read GetOldNUMTALONIsNull; property CODIGO : String read GetCODIGOValue write SetCODIGOValue; + property CODIGOIsNull : Boolean read GetCODIGOIsNull write SetCODIGOIsNull; property OldCODIGO : String read GetOldCODIGOValue; + property OldCODIGOIsNull : Boolean read GetOldCODIGOIsNull; property PRODUCTO : String read GetPRODUCTOValue write SetPRODUCTOValue; + property PRODUCTOIsNull : Boolean read GetPRODUCTOIsNull write SetPRODUCTOIsNull; property OldPRODUCTO : String read GetOldPRODUCTOValue; + property OldPRODUCTOIsNull : Boolean read GetOldPRODUCTOIsNull; property GRUPOPRODUCTO : String read GetGRUPOPRODUCTOValue write SetGRUPOPRODUCTOValue; + property GRUPOPRODUCTOIsNull : Boolean read GetGRUPOPRODUCTOIsNull write SetGRUPOPRODUCTOIsNull; property OldGRUPOPRODUCTO : String read GetOldGRUPOPRODUCTOValue; + property OldGRUPOPRODUCTOIsNull : Boolean read GetOldGRUPOPRODUCTOIsNull; property TIPOPRODUCTO : String read GetTIPOPRODUCTOValue write SetTIPOPRODUCTOValue; + property TIPOPRODUCTOIsNull : Boolean read GetTIPOPRODUCTOIsNull write SetTIPOPRODUCTOIsNull; property OldTIPOPRODUCTO : String read GetOldTIPOPRODUCTOValue; + property OldTIPOPRODUCTOIsNull : Boolean read GetOldTIPOPRODUCTOIsNull; property COLECCION : String read GetCOLECCIONValue write SetCOLECCIONValue; + property COLECCIONIsNull : Boolean read GetCOLECCIONIsNull write SetCOLECCIONIsNull; property OldCOLECCION : String read GetOldCOLECCIONValue; + property OldCOLECCIONIsNull : Boolean read GetOldCOLECCIONIsNull; property COLOR : String read GetCOLORValue write SetCOLORValue; + property COLORIsNull : Boolean read GetCOLORIsNull write SetCOLORIsNull; property OldCOLOR : String read GetOldCOLORValue; + property OldCOLORIsNull : Boolean read GetOldCOLORIsNull; property TALLA : String read GetTALLAValue write SetTALLAValue; + property TALLAIsNull : Boolean read GetTALLAIsNull write SetTALLAIsNull; property OldTALLA : String read GetOldTALLAValue; - property TALLA38 : Float read GetTALLA38Value write SetTALLA38Value; - property OldTALLA38 : Float read GetOldTALLA38Value; - property TALLA40 : Float read GetTALLA40Value write SetTALLA40Value; - property OldTALLA40 : Float read GetOldTALLA40Value; - property TALLA42 : Float read GetTALLA42Value write SetTALLA42Value; - property OldTALLA42 : Float read GetOldTALLA42Value; - property TALLA44 : Float read GetTALLA44Value write SetTALLA44Value; - property OldTALLA44 : Float read GetOldTALLA44Value; - property TALLA46 : Float read GetTALLA46Value write SetTALLA46Value; - property OldTALLA46 : Float read GetOldTALLA46Value; - property TALLA48 : Float read GetTALLA48Value write SetTALLA48Value; - property OldTALLA48 : Float read GetOldTALLA48Value; - property VTATERMDEV : Float read GetVTATERMDEVValue write SetVTATERMDEVValue; - property OldVTATERMDEV : Float read GetOldVTATERMDEVValue; - property VTAFINALRESC : Float read GetVTAFINALRESCValue write SetVTAFINALRESCValue; - property OldVTAFINALRESC : Float read GetOldVTAFINALRESCValue; - property VENTAS : Float read GetVENTASValue write SetVENTASValue; - property OldVENTAS : Float read GetOldVENTASValue; - property DEVOLUCIONES : Float read GetDEVOLUCIONESValue write SetDEVOLUCIONESValue; - property OldDEVOLUCIONES : Float read GetOldDEVOLUCIONESValue; - property TOTAL : Float read GetTOTALValue write SetTOTALValue; - property OldTOTAL : Float read GetOldTOTALValue; - property VALTERMDEV : Float read GetVALTERMDEVValue write SetVALTERMDEVValue; - property OldVALTERMDEV : Float read GetOldVALTERMDEVValue; - property VALFINALRESC : Float read GetVALFINALRESCValue write SetVALFINALRESCValue; - property OldVALFINALRESC : Float read GetOldVALFINALRESCValue; - property VALVEN : Float read GetVALVENValue write SetVALVENValue; - property OldVALVEN : Float read GetOldVALVENValue; - property VALDEV : Float read GetVALDEVValue write SetVALDEVValue; - property OldVALDEV : Float read GetOldVALDEVValue; - property VALTOT : Float read GetVALTOTValue write SetVALTOTValue; - property OldVALTOT : Float read GetOldVALTOTValue; + property OldTALLAIsNull : Boolean read GetOldTALLAIsNull; + property TALLA38 : TBcd read GetTALLA38Value write SetTALLA38Value; + property TALLA38IsNull : Boolean read GetTALLA38IsNull write SetTALLA38IsNull; + property OldTALLA38 : TBcd read GetOldTALLA38Value; + property OldTALLA38IsNull : Boolean read GetOldTALLA38IsNull; + property TALLA40 : TBcd read GetTALLA40Value write SetTALLA40Value; + property TALLA40IsNull : Boolean read GetTALLA40IsNull write SetTALLA40IsNull; + property OldTALLA40 : TBcd read GetOldTALLA40Value; + property OldTALLA40IsNull : Boolean read GetOldTALLA40IsNull; + property TALLA42 : TBcd read GetTALLA42Value write SetTALLA42Value; + property TALLA42IsNull : Boolean read GetTALLA42IsNull write SetTALLA42IsNull; + property OldTALLA42 : TBcd read GetOldTALLA42Value; + property OldTALLA42IsNull : Boolean read GetOldTALLA42IsNull; + property TALLA44 : TBcd read GetTALLA44Value write SetTALLA44Value; + property TALLA44IsNull : Boolean read GetTALLA44IsNull write SetTALLA44IsNull; + property OldTALLA44 : TBcd read GetOldTALLA44Value; + property OldTALLA44IsNull : Boolean read GetOldTALLA44IsNull; + property TALLA46 : TBcd read GetTALLA46Value write SetTALLA46Value; + property TALLA46IsNull : Boolean read GetTALLA46IsNull write SetTALLA46IsNull; + property OldTALLA46 : TBcd read GetOldTALLA46Value; + property OldTALLA46IsNull : Boolean read GetOldTALLA46IsNull; + property TALLA48 : TBcd read GetTALLA48Value write SetTALLA48Value; + property TALLA48IsNull : Boolean read GetTALLA48IsNull write SetTALLA48IsNull; + property OldTALLA48 : TBcd read GetOldTALLA48Value; + property OldTALLA48IsNull : Boolean read GetOldTALLA48IsNull; + property VTATERMDEV : TBcd read GetVTATERMDEVValue write SetVTATERMDEVValue; + property VTATERMDEVIsNull : Boolean read GetVTATERMDEVIsNull write SetVTATERMDEVIsNull; + property OldVTATERMDEV : TBcd read GetOldVTATERMDEVValue; + property OldVTATERMDEVIsNull : Boolean read GetOldVTATERMDEVIsNull; + property VTAFINALRESC : TBcd read GetVTAFINALRESCValue write SetVTAFINALRESCValue; + property VTAFINALRESCIsNull : Boolean read GetVTAFINALRESCIsNull write SetVTAFINALRESCIsNull; + property OldVTAFINALRESC : TBcd read GetOldVTAFINALRESCValue; + property OldVTAFINALRESCIsNull : Boolean read GetOldVTAFINALRESCIsNull; + property VENTAS : TBcd read GetVENTASValue write SetVENTASValue; + property VENTASIsNull : Boolean read GetVENTASIsNull write SetVENTASIsNull; + property OldVENTAS : TBcd read GetOldVENTASValue; + property OldVENTASIsNull : Boolean read GetOldVENTASIsNull; + property DEVOLUCIONES : TBcd read GetDEVOLUCIONESValue write SetDEVOLUCIONESValue; + property DEVOLUCIONESIsNull : Boolean read GetDEVOLUCIONESIsNull write SetDEVOLUCIONESIsNull; + property OldDEVOLUCIONES : TBcd read GetOldDEVOLUCIONESValue; + property OldDEVOLUCIONESIsNull : Boolean read GetOldDEVOLUCIONESIsNull; + property TOTAL : TBcd read GetTOTALValue write SetTOTALValue; + property TOTALIsNull : Boolean read GetTOTALIsNull write SetTOTALIsNull; + property OldTOTAL : TBcd read GetOldTOTALValue; + property OldTOTALIsNull : Boolean read GetOldTOTALIsNull; + property VALTERMDEV : TBcd read GetVALTERMDEVValue write SetVALTERMDEVValue; + property VALTERMDEVIsNull : Boolean read GetVALTERMDEVIsNull write SetVALTERMDEVIsNull; + property OldVALTERMDEV : TBcd read GetOldVALTERMDEVValue; + property OldVALTERMDEVIsNull : Boolean read GetOldVALTERMDEVIsNull; + property VALFINALRESC : TBcd read GetVALFINALRESCValue write SetVALFINALRESCValue; + property VALFINALRESCIsNull : Boolean read GetVALFINALRESCIsNull write SetVALFINALRESCIsNull; + property OldVALFINALRESC : TBcd read GetOldVALFINALRESCValue; + property OldVALFINALRESCIsNull : Boolean read GetOldVALFINALRESCIsNull; + property VALVEN : TBcd read GetVALVENValue write SetVALVENValue; + property VALVENIsNull : Boolean read GetVALVENIsNull write SetVALVENIsNull; + property OldVALVEN : TBcd read GetOldVALVENValue; + property OldVALVENIsNull : Boolean read GetOldVALVENIsNull; + property VALDEV : TBcd read GetVALDEVValue write SetVALDEVValue; + property VALDEVIsNull : Boolean read GetVALDEVIsNull write SetVALDEVIsNull; + property OldVALDEV : TBcd read GetOldVALDEVValue; + property OldVALDEVIsNull : Boolean read GetOldVALDEVIsNull; + property VALTOT : TBcd read GetVALTOTValue write SetVALTOTValue; + property VALTOTIsNull : Boolean read GetVALTOTIsNull write SetVALTOTIsNull; + property OldVALTOT : TBcd read GetOldVALTOTValue; + property OldVALTOTIsNull : Boolean read GetOldVALTOTIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -305,7 +480,7 @@ type implementation uses - Variants, uROBinaryHelpers; + Variants, uROBinaryHelpers, uDAInterfaces; { TVentasTerminadasCrossTabBusinessProcessorRules } constructor TVentasTerminadasCrossTabBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); @@ -335,29 +510,61 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasNUMINF]; end; +function TVentasTerminadasBusinessProcessorRules.GetNUMINFIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasNUMINF]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldNUMINFValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasNUMINF]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldNUMINFIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasNUMINF]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetNUMINFValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasNUMINF] := aValue; end; -function TVentasTerminadasBusinessProcessorRules.GetCLAVE1Value: Float; +procedure TVentasTerminadasBusinessProcessorRules.SetNUMINFIsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCLAVE1]; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasNUMINF] := Null; end; -function TVentasTerminadasBusinessProcessorRules.GetOldCLAVE1Value: Float; +function TVentasTerminadasBusinessProcessorRules.GetCLAVE1Value: TBcd; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCLAVE1]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCLAVE1]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetCLAVE1Value(const aValue: Float); +function TVentasTerminadasBusinessProcessorRules.GetCLAVE1IsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCLAVE1] := aValue; + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCLAVE1]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldCLAVE1Value: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCLAVE1]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldCLAVE1IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCLAVE1]); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetCLAVE1Value(const aValue: TBcd); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCLAVE1] := BCDToVariant(aValue); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetCLAVE1IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCLAVE1] := Null; end; function TVentasTerminadasBusinessProcessorRules.GetCLAVE2Value: Integer; @@ -365,494 +572,1022 @@ begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCLAVE2]; end; +function TVentasTerminadasBusinessProcessorRules.GetCLAVE2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCLAVE2]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldCLAVE2Value: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCLAVE2]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldCLAVE2IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCLAVE2]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetCLAVE2Value(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCLAVE2] := aValue; end; +procedure TVentasTerminadasBusinessProcessorRules.SetCLAVE2IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCLAVE2] := Null; +end; + function TVentasTerminadasBusinessProcessorRules.GetCLAVE3Value: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCLAVE3]; end; +function TVentasTerminadasBusinessProcessorRules.GetCLAVE3IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCLAVE3]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldCLAVE3Value: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCLAVE3]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldCLAVE3IsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCLAVE3]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetCLAVE3Value(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCLAVE3] := aValue; end; +procedure TVentasTerminadasBusinessProcessorRules.SetCLAVE3IsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCLAVE3] := Null; +end; + function TVentasTerminadasBusinessProcessorRules.GetFECHAValue: DateTime; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasFECHA]; end; +function TVentasTerminadasBusinessProcessorRules.GetFECHAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasFECHA]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldFECHAValue: DateTime; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasFECHA]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldFECHAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasFECHA]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetFECHAValue(const aValue: DateTime); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasFECHA] := aValue; end; +procedure TVentasTerminadasBusinessProcessorRules.SetFECHAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasFECHA] := Null; +end; + function TVentasTerminadasBusinessProcessorRules.GetDIAValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasDIA]; end; +function TVentasTerminadasBusinessProcessorRules.GetDIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasDIA]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldDIAValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasDIA]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldDIAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasDIA]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetDIAValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasDIA] := aValue; end; -function TVentasTerminadasBusinessProcessorRules.GetDIASEMANAValue: String; +procedure TVentasTerminadasBusinessProcessorRules.SetDIAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasDIA] := Null; +end; + +function TVentasTerminadasBusinessProcessorRules.GetDIASEMANAValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasDIASEMANA]; end; -function TVentasTerminadasBusinessProcessorRules.GetOldDIASEMANAValue: String; +function TVentasTerminadasBusinessProcessorRules.GetDIASEMANAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasDIASEMANA]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldDIASEMANAValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasDIASEMANA]; end; -procedure TVentasTerminadasBusinessProcessorRules.SetDIASEMANAValue(const aValue: String); +function TVentasTerminadasBusinessProcessorRules.GetOldDIASEMANAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasDIASEMANA]); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetDIASEMANAValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasDIASEMANA] := aValue; end; -function TVentasTerminadasBusinessProcessorRules.GetMESValue: String; +procedure TVentasTerminadasBusinessProcessorRules.SetDIASEMANAIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasDIASEMANA] := Null; +end; + +function TVentasTerminadasBusinessProcessorRules.GetMESValue: WideString; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasMES]; end; -function TVentasTerminadasBusinessProcessorRules.GetOldMESValue: String; +function TVentasTerminadasBusinessProcessorRules.GetMESIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasMES]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldMESValue: WideString; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasMES]; end; -procedure TVentasTerminadasBusinessProcessorRules.SetMESValue(const aValue: String); +function TVentasTerminadasBusinessProcessorRules.GetOldMESIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasMES]); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetMESValue(const aValue: WideString); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasMES] := aValue; end; +procedure TVentasTerminadasBusinessProcessorRules.SetMESIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasMES] := Null; +end; + function TVentasTerminadasBusinessProcessorRules.GetANOValue: Integer; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasANO]; end; +function TVentasTerminadasBusinessProcessorRules.GetANOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasANO]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldANOValue: Integer; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasANO]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldANOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasANO]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetANOValue(const aValue: Integer); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasANO] := aValue; end; +procedure TVentasTerminadasBusinessProcessorRules.SetANOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasANO] := Null; +end; + function TVentasTerminadasBusinessProcessorRules.GetCENTROValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCENTRO]; end; +function TVentasTerminadasBusinessProcessorRules.GetCENTROIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCENTRO]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldCENTROValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCENTRO]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldCENTROIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCENTRO]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetCENTROValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCENTRO] := aValue; end; +procedure TVentasTerminadasBusinessProcessorRules.SetCENTROIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCENTRO] := Null; +end; + function TVentasTerminadasBusinessProcessorRules.GetVENDEDORValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVENDEDOR]; end; +function TVentasTerminadasBusinessProcessorRules.GetVENDEDORIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVENDEDOR]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldVENDEDORValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVENDEDOR]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldVENDEDORIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVENDEDOR]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetVENDEDORValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVENDEDOR] := aValue; end; +procedure TVentasTerminadasBusinessProcessorRules.SetVENDEDORIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVENDEDOR] := Null; +end; + function TVentasTerminadasBusinessProcessorRules.GetNUMTALONValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasNUMTALON]; end; +function TVentasTerminadasBusinessProcessorRules.GetNUMTALONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasNUMTALON]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldNUMTALONValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasNUMTALON]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldNUMTALONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasNUMTALON]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetNUMTALONValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasNUMTALON] := aValue; end; +procedure TVentasTerminadasBusinessProcessorRules.SetNUMTALONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasNUMTALON] := Null; +end; + function TVentasTerminadasBusinessProcessorRules.GetCODIGOValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCODIGO]; end; +function TVentasTerminadasBusinessProcessorRules.GetCODIGOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCODIGO]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldCODIGOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCODIGO]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldCODIGOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCODIGO]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetCODIGOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCODIGO] := aValue; end; +procedure TVentasTerminadasBusinessProcessorRules.SetCODIGOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCODIGO] := Null; +end; + function TVentasTerminadasBusinessProcessorRules.GetPRODUCTOValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasPRODUCTO]; end; +function TVentasTerminadasBusinessProcessorRules.GetPRODUCTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasPRODUCTO]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldPRODUCTOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasPRODUCTO]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldPRODUCTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasPRODUCTO]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetPRODUCTOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasPRODUCTO] := aValue; end; +procedure TVentasTerminadasBusinessProcessorRules.SetPRODUCTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasPRODUCTO] := Null; +end; + function TVentasTerminadasBusinessProcessorRules.GetGRUPOPRODUCTOValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasGRUPOPRODUCTO]; end; +function TVentasTerminadasBusinessProcessorRules.GetGRUPOPRODUCTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasGRUPOPRODUCTO]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldGRUPOPRODUCTOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasGRUPOPRODUCTO]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldGRUPOPRODUCTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasGRUPOPRODUCTO]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetGRUPOPRODUCTOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasGRUPOPRODUCTO] := aValue; end; +procedure TVentasTerminadasBusinessProcessorRules.SetGRUPOPRODUCTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasGRUPOPRODUCTO] := Null; +end; + function TVentasTerminadasBusinessProcessorRules.GetTIPOPRODUCTOValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTIPOPRODUCTO]; end; +function TVentasTerminadasBusinessProcessorRules.GetTIPOPRODUCTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTIPOPRODUCTO]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldTIPOPRODUCTOValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTIPOPRODUCTO]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldTIPOPRODUCTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTIPOPRODUCTO]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetTIPOPRODUCTOValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTIPOPRODUCTO] := aValue; end; +procedure TVentasTerminadasBusinessProcessorRules.SetTIPOPRODUCTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTIPOPRODUCTO] := Null; +end; + function TVentasTerminadasBusinessProcessorRules.GetCOLECCIONValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCOLECCION]; end; +function TVentasTerminadasBusinessProcessorRules.GetCOLECCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCOLECCION]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldCOLECCIONValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCOLECCION]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldCOLECCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCOLECCION]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetCOLECCIONValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCOLECCION] := aValue; end; +procedure TVentasTerminadasBusinessProcessorRules.SetCOLECCIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCOLECCION] := Null; +end; + function TVentasTerminadasBusinessProcessorRules.GetCOLORValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCOLOR]; end; +function TVentasTerminadasBusinessProcessorRules.GetCOLORIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCOLOR]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldCOLORValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCOLOR]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldCOLORIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasCOLOR]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetCOLORValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCOLOR] := aValue; end; +procedure TVentasTerminadasBusinessProcessorRules.SetCOLORIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasCOLOR] := Null; +end; + function TVentasTerminadasBusinessProcessorRules.GetTALLAValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA]; end; +function TVentasTerminadasBusinessProcessorRules.GetTALLAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA]); +end; + function TVentasTerminadasBusinessProcessorRules.GetOldTALLAValue: String; begin result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA]; end; +function TVentasTerminadasBusinessProcessorRules.GetOldTALLAIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA]); +end; + procedure TVentasTerminadasBusinessProcessorRules.SetTALLAValue(const aValue: String); begin BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA] := aValue; end; -function TVentasTerminadasBusinessProcessorRules.GetTALLA38Value: Float; +procedure TVentasTerminadasBusinessProcessorRules.SetTALLAIsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA38]; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA] := Null; end; -function TVentasTerminadasBusinessProcessorRules.GetOldTALLA38Value: Float; +function TVentasTerminadasBusinessProcessorRules.GetTALLA38Value: TBcd; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA38]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA38]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetTALLA38Value(const aValue: Float); +function TVentasTerminadasBusinessProcessorRules.GetTALLA38IsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA38] := aValue; + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA38]); end; -function TVentasTerminadasBusinessProcessorRules.GetTALLA40Value: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldTALLA38Value: TBcd; begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA40]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA38]); end; -function TVentasTerminadasBusinessProcessorRules.GetOldTALLA40Value: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldTALLA38IsNull: Boolean; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA40]; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA38]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetTALLA40Value(const aValue: Float); +procedure TVentasTerminadasBusinessProcessorRules.SetTALLA38Value(const aValue: TBcd); begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA40] := aValue; + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA38] := BCDToVariant(aValue); end; -function TVentasTerminadasBusinessProcessorRules.GetTALLA42Value: Float; +procedure TVentasTerminadasBusinessProcessorRules.SetTALLA38IsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA42]; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA38] := Null; end; -function TVentasTerminadasBusinessProcessorRules.GetOldTALLA42Value: Float; +function TVentasTerminadasBusinessProcessorRules.GetTALLA40Value: TBcd; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA42]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA40]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetTALLA42Value(const aValue: Float); +function TVentasTerminadasBusinessProcessorRules.GetTALLA40IsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA42] := aValue; + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA40]); end; -function TVentasTerminadasBusinessProcessorRules.GetTALLA44Value: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldTALLA40Value: TBcd; begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA44]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA40]); end; -function TVentasTerminadasBusinessProcessorRules.GetOldTALLA44Value: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldTALLA40IsNull: Boolean; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA44]; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA40]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetTALLA44Value(const aValue: Float); +procedure TVentasTerminadasBusinessProcessorRules.SetTALLA40Value(const aValue: TBcd); begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA44] := aValue; + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA40] := BCDToVariant(aValue); end; -function TVentasTerminadasBusinessProcessorRules.GetTALLA46Value: Float; +procedure TVentasTerminadasBusinessProcessorRules.SetTALLA40IsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA46]; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA40] := Null; end; -function TVentasTerminadasBusinessProcessorRules.GetOldTALLA46Value: Float; +function TVentasTerminadasBusinessProcessorRules.GetTALLA42Value: TBcd; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA46]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA42]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetTALLA46Value(const aValue: Float); +function TVentasTerminadasBusinessProcessorRules.GetTALLA42IsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA46] := aValue; + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA42]); end; -function TVentasTerminadasBusinessProcessorRules.GetTALLA48Value: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldTALLA42Value: TBcd; begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA48]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA42]); end; -function TVentasTerminadasBusinessProcessorRules.GetOldTALLA48Value: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldTALLA42IsNull: Boolean; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA48]; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA42]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetTALLA48Value(const aValue: Float); +procedure TVentasTerminadasBusinessProcessorRules.SetTALLA42Value(const aValue: TBcd); begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA48] := aValue; + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA42] := BCDToVariant(aValue); end; -function TVentasTerminadasBusinessProcessorRules.GetVTATERMDEVValue: Float; +procedure TVentasTerminadasBusinessProcessorRules.SetTALLA42IsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVTATERMDEV]; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA42] := Null; end; -function TVentasTerminadasBusinessProcessorRules.GetOldVTATERMDEVValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetTALLA44Value: TBcd; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVTATERMDEV]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA44]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetVTATERMDEVValue(const aValue: Float); +function TVentasTerminadasBusinessProcessorRules.GetTALLA44IsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVTATERMDEV] := aValue; + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA44]); end; -function TVentasTerminadasBusinessProcessorRules.GetVTAFINALRESCValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldTALLA44Value: TBcd; begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVTAFINALRESC]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA44]); end; -function TVentasTerminadasBusinessProcessorRules.GetOldVTAFINALRESCValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldTALLA44IsNull: Boolean; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVTAFINALRESC]; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA44]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetVTAFINALRESCValue(const aValue: Float); +procedure TVentasTerminadasBusinessProcessorRules.SetTALLA44Value(const aValue: TBcd); begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVTAFINALRESC] := aValue; + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA44] := BCDToVariant(aValue); end; -function TVentasTerminadasBusinessProcessorRules.GetVENTASValue: Float; +procedure TVentasTerminadasBusinessProcessorRules.SetTALLA44IsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVENTAS]; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA44] := Null; end; -function TVentasTerminadasBusinessProcessorRules.GetOldVENTASValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetTALLA46Value: TBcd; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVENTAS]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA46]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetVENTASValue(const aValue: Float); +function TVentasTerminadasBusinessProcessorRules.GetTALLA46IsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVENTAS] := aValue; + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA46]); end; -function TVentasTerminadasBusinessProcessorRules.GetDEVOLUCIONESValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldTALLA46Value: TBcd; begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasDEVOLUCIONES]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA46]); end; -function TVentasTerminadasBusinessProcessorRules.GetOldDEVOLUCIONESValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldTALLA46IsNull: Boolean; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasDEVOLUCIONES]; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA46]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetDEVOLUCIONESValue(const aValue: Float); +procedure TVentasTerminadasBusinessProcessorRules.SetTALLA46Value(const aValue: TBcd); begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasDEVOLUCIONES] := aValue; + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA46] := BCDToVariant(aValue); end; -function TVentasTerminadasBusinessProcessorRules.GetTOTALValue: Float; +procedure TVentasTerminadasBusinessProcessorRules.SetTALLA46IsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTOTAL]; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA46] := Null; end; -function TVentasTerminadasBusinessProcessorRules.GetOldTOTALValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetTALLA48Value: TBcd; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTOTAL]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA48]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetTOTALValue(const aValue: Float); +function TVentasTerminadasBusinessProcessorRules.GetTALLA48IsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTOTAL] := aValue; + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA48]); end; -function TVentasTerminadasBusinessProcessorRules.GetVALTERMDEVValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldTALLA48Value: TBcd; begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALTERMDEV]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA48]); end; -function TVentasTerminadasBusinessProcessorRules.GetOldVALTERMDEVValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldTALLA48IsNull: Boolean; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALTERMDEV]; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTALLA48]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetVALTERMDEVValue(const aValue: Float); +procedure TVentasTerminadasBusinessProcessorRules.SetTALLA48Value(const aValue: TBcd); begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALTERMDEV] := aValue; + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA48] := BCDToVariant(aValue); end; -function TVentasTerminadasBusinessProcessorRules.GetVALFINALRESCValue: Float; +procedure TVentasTerminadasBusinessProcessorRules.SetTALLA48IsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALFINALRESC]; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTALLA48] := Null; end; -function TVentasTerminadasBusinessProcessorRules.GetOldVALFINALRESCValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetVTATERMDEVValue: TBcd; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALFINALRESC]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVTATERMDEV]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetVALFINALRESCValue(const aValue: Float); +function TVentasTerminadasBusinessProcessorRules.GetVTATERMDEVIsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALFINALRESC] := aValue; + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVTATERMDEV]); end; -function TVentasTerminadasBusinessProcessorRules.GetVALVENValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldVTATERMDEVValue: TBcd; begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALVEN]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVTATERMDEV]); end; -function TVentasTerminadasBusinessProcessorRules.GetOldVALVENValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldVTATERMDEVIsNull: Boolean; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALVEN]; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVTATERMDEV]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetVALVENValue(const aValue: Float); +procedure TVentasTerminadasBusinessProcessorRules.SetVTATERMDEVValue(const aValue: TBcd); begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALVEN] := aValue; + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVTATERMDEV] := BCDToVariant(aValue); end; -function TVentasTerminadasBusinessProcessorRules.GetVALDEVValue: Float; +procedure TVentasTerminadasBusinessProcessorRules.SetVTATERMDEVIsNull(const aValue: Boolean); begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALDEV]; + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVTATERMDEV] := Null; end; -function TVentasTerminadasBusinessProcessorRules.GetOldVALDEVValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetVTAFINALRESCValue: TBcd; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALDEV]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVTAFINALRESC]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetVALDEVValue(const aValue: Float); +function TVentasTerminadasBusinessProcessorRules.GetVTAFINALRESCIsNull: Boolean; begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALDEV] := aValue; + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVTAFINALRESC]); end; -function TVentasTerminadasBusinessProcessorRules.GetVALTOTValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldVTAFINALRESCValue: TBcd; begin - result := BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALTOT]; + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVTAFINALRESC]); end; -function TVentasTerminadasBusinessProcessorRules.GetOldVALTOTValue: Float; +function TVentasTerminadasBusinessProcessorRules.GetOldVTAFINALRESCIsNull: Boolean; begin - result := BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALTOT]; + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVTAFINALRESC]); end; -procedure TVentasTerminadasBusinessProcessorRules.SetVALTOTValue(const aValue: Float); +procedure TVentasTerminadasBusinessProcessorRules.SetVTAFINALRESCValue(const aValue: TBcd); begin - BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALTOT] := aValue; + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVTAFINALRESC] := BCDToVariant(aValue); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetVTAFINALRESCIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVTAFINALRESC] := Null; +end; + +function TVentasTerminadasBusinessProcessorRules.GetVENTASValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVENTAS]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetVENTASIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVENTAS]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldVENTASValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVENTAS]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldVENTASIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVENTAS]); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetVENTASValue(const aValue: TBcd); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVENTAS] := BCDToVariant(aValue); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetVENTASIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVENTAS] := Null; +end; + +function TVentasTerminadasBusinessProcessorRules.GetDEVOLUCIONESValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasDEVOLUCIONES]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetDEVOLUCIONESIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasDEVOLUCIONES]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldDEVOLUCIONESValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasDEVOLUCIONES]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldDEVOLUCIONESIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasDEVOLUCIONES]); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetDEVOLUCIONESValue(const aValue: TBcd); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasDEVOLUCIONES] := BCDToVariant(aValue); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetDEVOLUCIONESIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasDEVOLUCIONES] := Null; +end; + +function TVentasTerminadasBusinessProcessorRules.GetTOTALValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTOTAL]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetTOTALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTOTAL]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldTOTALValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTOTAL]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldTOTALIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasTOTAL]); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetTOTALValue(const aValue: TBcd); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTOTAL] := BCDToVariant(aValue); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetTOTALIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasTOTAL] := Null; +end; + +function TVentasTerminadasBusinessProcessorRules.GetVALTERMDEVValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALTERMDEV]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetVALTERMDEVIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALTERMDEV]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldVALTERMDEVValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALTERMDEV]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldVALTERMDEVIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALTERMDEV]); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetVALTERMDEVValue(const aValue: TBcd); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALTERMDEV] := BCDToVariant(aValue); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetVALTERMDEVIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALTERMDEV] := Null; +end; + +function TVentasTerminadasBusinessProcessorRules.GetVALFINALRESCValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALFINALRESC]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetVALFINALRESCIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALFINALRESC]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldVALFINALRESCValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALFINALRESC]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldVALFINALRESCIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALFINALRESC]); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetVALFINALRESCValue(const aValue: TBcd); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALFINALRESC] := BCDToVariant(aValue); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetVALFINALRESCIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALFINALRESC] := Null; +end; + +function TVentasTerminadasBusinessProcessorRules.GetVALVENValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALVEN]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetVALVENIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALVEN]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldVALVENValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALVEN]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldVALVENIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALVEN]); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetVALVENValue(const aValue: TBcd); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALVEN] := BCDToVariant(aValue); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetVALVENIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALVEN] := Null; +end; + +function TVentasTerminadasBusinessProcessorRules.GetVALDEVValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALDEV]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetVALDEVIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALDEV]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldVALDEVValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALDEV]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldVALDEVIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALDEV]); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetVALDEVValue(const aValue: TBcd); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALDEV] := BCDToVariant(aValue); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetVALDEVIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALDEV] := Null; +end; + +function TVentasTerminadasBusinessProcessorRules.GetVALTOTValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALTOT]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetVALTOTIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALTOT]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldVALTOTValue: TBcd; +begin + result := GetVarDecimal(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALTOT]); +end; + +function TVentasTerminadasBusinessProcessorRules.GetOldVALTOTIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_VentasTerminadasVALTOT]); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetVALTOTValue(const aValue: TBcd); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALTOT] := BCDToVariant(aValue); +end; + +procedure TVentasTerminadasBusinessProcessorRules.SetVALTOTIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_VentasTerminadasVALTOT] := Null; end; diff --git a/Source/Modulos/VentasTerminadas/Reglas/uBizVentasTerminadas.pas b/Source/Modulos/VentasTerminadas/Reglas/uBizVentasTerminadas.pas index c30f9d8..2b05c77 100644 --- a/Source/Modulos/VentasTerminadas/Reglas/uBizVentasTerminadas.pas +++ b/Source/Modulos/VentasTerminadas/Reglas/uBizVentasTerminadas.pas @@ -4,7 +4,7 @@ interface uses Classes, DB, SysUtils, uROClasses, uDADataTable, uDAInterfaces, - DataAbstract_Intf, uROTypes, schVentasTerminadasClient_Intf; + DataAbstract3_Intf, uROTypes, schVentasTerminadasClient_Intf; const BIZ_VENTASTERMINADAS = 'Client.VentasTerminadas'; @@ -25,6 +25,7 @@ type TBizResumenVentasDataTableRules = class(TVentasTerminadasCrossTabDataTableRules, IBizResumenVentas) protected procedure OnBeforeDataRequestCall(DataTable: TDADataTable; Request: TDARemoteRequest); + procedure OnBeforeSchemaCall(DataTable: TDADataTable; Request: TDARemoteRequest); public constructor Create(aDataTable: TDADataTable); override; end; @@ -80,12 +81,31 @@ end; procedure TBizVentasTerminadasDataTableRules.OnBeforeDataRequestCall( DataTable: TDADataTable; Request: TDARemoteRequest); +var + params : TStringList; begin Request.ParamByName('Columns').AsString := VisibleColumns; - FDateParams.Clear; + + // Begin adaptación a DA5 + params := TStringList.Create; + try + params.Add('FECHAINI'); + params.Values['FECHAINI'] := DataTable.ParamByName('FECHAINI').AsString; + + params.Add('FECHAFIN'); + params.Values['FECHAFIN'] := DataTable.ParamByName('FECHAFIN').AsString; + + Request.ParamByName('Params').AsString := params.text; + finally + FreeAndNIL(params); + end; + // End adaptación a DA5 + +{ FDateParams.Clear; + NewDatasetParam(FDateParams, 'FECHAINI', DataTable.ParamByName('FECHAINI').AsDateTime); NewDatasetParam(FDateParams, 'FECHAFIN', DataTable.ParamByName('FECHAFIN').AsDateTime); - Request.ParamByName('Params').AsComplexType := FDateParams; + Request.ParamByName('Params').AsComplexType := FDateParams;} end; procedure TBizVentasTerminadasDataTableRules.OnBeforeSchemaCall( @@ -109,7 +129,10 @@ constructor TBizResumenVentasDataTableRules.Create(aDataTable: TDADataTable); begin inherited; if Assigned(DataTable) then + begin DataTable.OnBeforeDataRequestCall := OnBeforeDataRequestCall; + DataTable.OnBeforeSchemaCall := OnBeforeSchemaCall; + end; end; procedure TBizResumenVentasDataTableRules.OnBeforeDataRequestCall(DataTable: TDADataTable; Request: TDARemoteRequest); @@ -118,6 +141,13 @@ begin Request.ParamByName('FechaFin').AsString := DataTable.ParamByName('FechaFin').AsString; end; +procedure TBizResumenVentasDataTableRules.OnBeforeSchemaCall( + DataTable: TDADataTable; Request: TDARemoteRequest); +begin + Request.ParamByName('FechaIni').AsString := DataTable.ParamByName('FechaIni').AsString; + Request.ParamByName('FechaFin').AsString := DataTable.ParamByName('FechaFin').AsString; +end; + initialization RegisterDataTableRules(BIZ_VENTASTERMINADAS, TBizVentasTerminadasDataTableRules); RegisterDataTableRules(BIZ_RESUMENVENTAS, TBizResumenVentasDataTableRules); diff --git a/Source/Modulos/VentasTerminadas/Servidor/srvVentasTerminadas_Impl.dfm b/Source/Modulos/VentasTerminadas/Servidor/srvVentasTerminadas_Impl.dfm index 86eb7a7..82f7044 100644 --- a/Source/Modulos/VentasTerminadas/Servidor/srvVentasTerminadas_Impl.dfm +++ b/Source/Modulos/VentasTerminadas/Servidor/srvVentasTerminadas_Impl.dfm @@ -4,8 +4,10 @@ object srvVentasTerminadas: TsrvVentasTerminadas AcquireConnection = True ServiceSchema = schVentasTerminadas ServiceAdapter = DABINAdapter - Left = 466 - Top = 271 + OnAfterProcessTransactionAction = pptaNone + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] Height = 297 Width = 298 object schVentasTerminadas: TDASchema @@ -18,21 +20,18 @@ object srvVentasTerminadas: TsrvVentasTerminadas item Name = 'fechaini' DataType = datString - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'fechafin' DataType = datString - BlobType = dabtUnknown Value = '' ParamType = daptInput end item Name = 'coleccion' DataType = datString - BlobType = dabtUnknown Value = '' ParamType = daptInput end> @@ -45,35 +44,33 @@ object srvVentasTerminadas: TsrvVentasTerminadas 'l varchar(8000)'#10#10' set @fechaini = :fechaini'#10' set @fechaf' + 'in = :fechafin'#10' set @coleccion = :coleccion'#10#10' select @sq' + 'l = '#39'SELECT DIA, SUM(VALTOT) AS TOTAL FROM RDX_V_VENTASTERMINADA' + - 'S WHERE FECHA BETWEEN '#39#39#39' + @FECHAINI + '#39#39#39' AND '#39#39#39' + @FECHAFIN ' + - '+ '#39#39#39' AND COLECCION LIKE '#39#39#39' + @COLECCION + '#39#39#39' GROUP BY DIA'#39#10#10' ' + - ' EXECUTE crosstab @sql,'#10' '#39'SUM(VALTOT)'#39','#10' ' + - ' '#39'CENTRO'#39','#10' '#39'RDX_V_VENTASTERMINADAS'#39#10'end' + 'S WHERE FECHA BETWEEN CONVERT(DATETIME, '#39#39#39' + @FECHAINI + '#39#39#39', 1' + + '03) AND CONVERT(DATETIME, '#39#39#39' + @FECHAFIN + '#39#39#39', 103) AND COLECC' + + 'ION LIKE '#39#39#39' + @COLECCION + '#39#39#39' GROUP BY DIA'#39#10#10' EXECUTE cros' + + 'stab @sql,'#10' '#39'SUM(VALTOT)'#39','#10' '#39'CENTRO'#39','#10' ' + + ' '#39'RDX_V_VENTASTERMINADAS'#39#10'end'#10 StatementType = stSQL ColumnMappings = <> end> Name = 'VentasTerminadasCrossTab' Fields = <> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end item Params = < item Name = 'FECHAINI' - BlobType = dabtUnknown - Value = '2006/01/01' + Value = '' ParamType = daptInput end item Name = 'FECHAFIN' - BlobType = dabtUnknown - Value = '2006/12/12' + Value = '' ParamType = daptInput end> Statements = < item Connection = 'GFT_VARELA' + TargetTable = 'RDX_V_VENTASTERMINADAS' SQL = 'SELECT '#10' NUMINF, CLAVE1, CLAVE2, CLAVE3, FECHA, DIA, DIASEMAN' + 'A, '#10' MES, ANO, CENTRO, VENDEDOR, NUMTALON, CODIGO, PRODUCTO,'#10 + @@ -84,10 +81,42 @@ object srvVentasTerminadas: TsrvVentasTerminadas 'INADAS'#10' WHERE FECHA BETWEEN :FECHAINI AND :FECHAFIN' StatementType = stSQL ColumnMappings = < + item + DatasetField = 'NUMINF' + TableField = 'NUMINF' + end + item + DatasetField = 'CLAVE1' + TableField = 'CLAVE1' + end + item + DatasetField = 'CLAVE2' + TableField = 'CLAVE2' + end + item + DatasetField = 'CLAVE3' + TableField = 'CLAVE3' + end item DatasetField = 'FECHA' TableField = 'FECHA' end + item + DatasetField = 'DIA' + TableField = 'DIA' + end + item + DatasetField = 'DIASEMANA' + TableField = 'DIASEMANA' + end + item + DatasetField = 'MES' + TableField = 'MES' + end + item + DatasetField = 'ANO' + TableField = 'ANO' + end item DatasetField = 'CENTRO' TableField = 'CENTRO' @@ -96,10 +125,30 @@ object srvVentasTerminadas: TsrvVentasTerminadas DatasetField = 'VENDEDOR' TableField = 'VENDEDOR' end + item + DatasetField = 'NUMTALON' + TableField = 'NUMTALON' + end + item + DatasetField = 'CODIGO' + TableField = 'CODIGO' + end item DatasetField = 'PRODUCTO' TableField = 'PRODUCTO' end + item + DatasetField = 'GRUPOPRODUCTO' + TableField = 'GRUPOPRODUCTO' + end + item + DatasetField = 'TIPOPRODUCTO' + TableField = 'TIPOPRODUCTO' + end + item + DatasetField = 'COLECCION' + TableField = 'COLECCION' + end item DatasetField = 'COLOR' TableField = 'COLOR' @@ -132,6 +181,14 @@ object srvVentasTerminadas: TsrvVentasTerminadas DatasetField = 'TALLA48' TableField = 'TALLA48' end + item + DatasetField = 'VTATERMDEV' + TableField = 'VTATERMDEV' + end + item + DatasetField = 'VTAFINALRESC' + TableField = 'VTAFINALRESC' + end item DatasetField = 'VENTAS' TableField = 'VENTAS' @@ -145,52 +202,12 @@ object srvVentasTerminadas: TsrvVentasTerminadas TableField = 'TOTAL' end item - DatasetField = 'NUMINF' - TableField = 'NUMINF' + DatasetField = 'VALTERMDEV' + TableField = 'VALTERMDEV' end item - DatasetField = 'CLAVE1' - TableField = 'CLAVE1' - end - item - DatasetField = 'CLAVE2' - TableField = 'CLAVE2' - end - item - DatasetField = 'CLAVE3' - TableField = 'CLAVE3' - end - item - DatasetField = 'CODIGO' - TableField = 'CODIGO' - end - item - DatasetField = 'DIA' - TableField = 'DIA' - end - item - DatasetField = 'DIASEMANA' - TableField = 'DIASEMANA' - end - item - DatasetField = 'MES' - TableField = 'MES' - end - item - DatasetField = 'ANO' - TableField = 'ANO' - end - item - DatasetField = 'GRUPOPRODUCTO' - TableField = 'GRUPOPRODUCTO' - end - item - DatasetField = 'TIPOPRODUCTO' - TableField = 'TIPOPRODUCTO' - end - item - DatasetField = 'COLECCION' - TableField = 'COLECCION' + DatasetField = 'VALFINALRESC' + TableField = 'VALFINALRESC' end item DatasetField = 'VALVEN' @@ -203,26 +220,6 @@ object srvVentasTerminadas: TsrvVentasTerminadas item DatasetField = 'VALTOT' TableField = 'VALTOT' - end - item - DatasetField = 'NUMTALON' - TableField = 'NUMTALON' - end - item - DatasetField = 'VTATERMDEV' - TableField = 'VTATERMDEV' - end - item - DatasetField = 'VTAFINALRESC' - TableField = 'VTAFINALRESC' - end - item - DatasetField = 'VALTERMDEV' - TableField = 'VALTERMDEV' - end - item - DatasetField = 'VALFINALRESC' - TableField = 'VALFINALRESC' end> end> Name = 'VentasTerminadas' @@ -231,436 +228,213 @@ object srvVentasTerminadas: TsrvVentasTerminadas Name = 'NUMINF' DataType = datString Size = 35 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE1' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify + DataType = datDecimal InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE2' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CLAVE3' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify InPrimaryKey = True - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Fecha' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DIA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'D'#237'a' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DIASEMANA' - DataType = datString + DataType = datWideString Size = 30 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'D'#237'a de la semana' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'MES' - DataType = datString + DataType = datWideString Size = 30 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Mes' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ANO' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'A'#241'o' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CENTRO' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Centro' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VENDEDOR' DataType = datString Size = 66 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Vendedor' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NUMTALON' DataType = datString Size = 35 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO' DataType = datString Size = 12 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'C'#243'digo producto' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PRODUCTO' DataType = datString Size = 40 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Producto' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'GRUPOPRODUCTO' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Grupo' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TIPOPRODUCTO' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Tipo' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLECCION' DataType = datString - Size = 40 - BlobType = dabtUnknown - DisplayWidth = 0 + Size = 6 DisplayLabel = 'Colecci'#243'n' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'COLOR' DataType = datString Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Color' - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA' DataType = datString Size = 8 - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Talla' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA38' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = '38' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA40' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = '40' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA42' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = '42' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA44' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = '44' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA46' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = '46' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TALLA48' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = '48' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VTATERMDEV' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Vta.Term/Dev' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VTAFINALRESC' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Vta.Final/Resc' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VENTAS' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Ventas' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DEVOLUCIONES' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Devoluciones' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TOTAL' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Total ventas' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VALTERMDEV' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Val.Term/Dev' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VALFINALRESC' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Val.Final/Resc' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VALVEN' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Imp. ventas' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VALDEV' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Imp. devoluciones' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'VALTOT' - DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 + DataType = datDecimal DisplayLabel = 'Imp. Total' Alignment = taRightJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = <> RelationShips = <> UpdateRules = <> + Version = 0 Left = 56 Top = 32 end diff --git a/Source/Modulos/VentasTerminadas/Servidor/srvVentasTerminadas_Impl.pas b/Source/Modulos/VentasTerminadas/Servidor/srvVentasTerminadas_Impl.pas index 4c904ee..780429f 100644 --- a/Source/Modulos/VentasTerminadas/Servidor/srvVentasTerminadas_Impl.pas +++ b/Source/Modulos/VentasTerminadas/Servidor/srvVentasTerminadas_Impl.pas @@ -13,9 +13,9 @@ uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, {Ancestor Implementation:} DARemoteService_Impl, - {Used RODLs:} DataAbstract_Intf, + {Used RODLs:} DataAbstract3_Intf, {Generated:} VARELA_Intf, uDAClasses, - uDataModuleServer, uDAInterfaces, uDADataTable, uDABINAdapter; + uDataModuleServer, uDAInterfaces, uDADataTable, uDABINAdapter, uDADataStreamer; type { TsrvVentasTerminadas } @@ -26,6 +26,7 @@ type protected { IsrvVentasTerminadas methods } function GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary; + function GetDataEx(const DatasetName: String; const Columns: String; const Params: String; const MaxRecords: Integer): Binary; function GetSchema(const DatasetName: String; const Columns: String): Binary; function GetDataCrossTab(const FechaIni: String; const FechaFin: String; const Coleccion: String): Binary; function GetSchemaCrossTab(const FechaIni: String; const FechaFin: String; const Coleccion: String): Binary; @@ -90,7 +91,7 @@ begin AColeccion := '%' else AColeccion := Coleccion; - + try Result := Binary.Create; ds := schVentasTerminadas.NewDataset(Connection, 'VentasTerminadasCrossTab', ['FECHAINI', 'FECHAFIN', 'COLECCION'], [FechaIni, FechaFin, AColeccion]);//['01/07/2006', '31/07/2006']); @@ -102,6 +103,58 @@ begin end; end; +function TsrvVentasTerminadas.GetDataEx(const DatasetName, Columns, + Params: String; const MaxRecords: Integer): Binary; +var + ds : IDADataset; + i : integer; + pars: TStringList; + parnames: array of string; + parvalues: array of Variant; +begin + pars := TStringList.Create; + result := Binary.Create; + try + try + pars.Text := Params; + SetLength(parnames, pars.Count); + SetLength(parvalues, pars.Count); + for i := 0 to (pars.Count-1) do begin + parnames[i] := pars.Names[i]; + parvalues[i] := pars.Values[pars.Names[i]]; + end; + + with TReplicarDataSet.Create do + begin + SourceDataSetName := DatasetName; + Service := Self; + Columnas := Columns; + ColumnasQueSuman := CAMPOS_SUMA; + try + ds := GetNewDataSet; + finally + Free; + end; + end; + + // Fills the parameters (if any are specified) + if (Length(parnames) > 0) then + begin + for i := 0 to (Length(parnames) - 1) do + ds.ParamByName(parnames[i]).Value := parvalues[i]; + end; + + ds.Open; + ServiceAdapter.WriteDataset(Result, ds, [woRows], MaxRecords); + except + FreeAndNIl(result); + raise; + end; + finally + FreeANDNil(pars); + end; +end; + function TsrvVentasTerminadas.GetSchema(const DatasetName: String; const Columns: String): TROBinaryMemoryStream; var ds : IDADataset; @@ -120,6 +173,7 @@ begin Free; end; end; + ServiceAdapter.WriteDataset(result, ds, [woSchema]); except FreeAndNIl(result); diff --git a/Source/Servidor/AdminPV_Server.bdsproj b/Source/Servidor/AdminPV_Server.bdsproj new file mode 100644 index 0000000..dee15b8 --- /dev/null +++ b/Source/Servidor/AdminPV_Server.bdsproj @@ -0,0 +1,175 @@ + + + + + + + + + + + + AdminPV_Server.dpr + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + ..\..\Output\Debug\Servidor + .\ + ..\Lib + ..\Lib + ..\Lib;..\Base + vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7;EasyListviewD7;RemObjects_Indy_D10;IndyProtocols;IndyCore;IndySystem;PascalScript_RO_D10;DataAbstract_Core_D10;DataAbstract_Scripting_D10;DataAbstract_IDE_D10 + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 2 + 5 + 0 + False + False + False + False + False + 3082 + 1252 + + + Rodax Software S.L. + + 1.2.5.0 + + + + + AdminPV_Server + 1.2.5.0 + + miércoles, 05 de septiembre de 2007 19:15 + + + diff --git a/Source/Servidor/AdminPV_Server.dof b/Source/Servidor/AdminPV_Server.dof index 1804a4b..e69de29 100644 --- a/Source/Servidor/AdminPV_Server.dof +++ b/Source/Servidor/AdminPV_Server.dof @@ -1,480 +0,0 @@ -[FileVersion] -Version=7.0 -[Compiler] -A=8 -B=0 -C=1 -D=1 -E=0 -F=0 -G=1 -H=1 -I=1 -J=0 -K=0 -L=1 -M=0 -N=1 -O=1 -P=1 -Q=0 -R=0 -S=0 -T=0 -U=0 -V=1 -W=0 -X=1 -Y=1 -Z=1 -ShowHints=1 -ShowWarnings=1 -UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -NamespacePrefix= -SymbolDeprecated=1 -SymbolLibrary=1 -SymbolPlatform=1 -UnitLibrary=1 -UnitPlatform=1 -UnitDeprecated=1 -HResultCompat=1 -HidingMember=1 -HiddenVirtual=1 -Garbage=1 -BoundsError=1 -ZeroNilCompat=1 -StringConstTruncated=1 -ForLoopVarVarPar=1 -TypedConstVarPar=1 -AsgToTypedConst=1 -CaseLabelRange=1 -ForVariable=1 -ConstructingAbstract=1 -ComparisonFalse=1 -ComparisonTrue=1 -ComparingSignedUnsigned=1 -CombiningSignedUnsigned=1 -UnsupportedConstruct=1 -FileOpen=1 -FileOpenUnitSrc=1 -BadGlobalSymbol=1 -DuplicateConstructorDestructor=1 -InvalidDirective=1 -PackageNoLink=1 -PackageThreadVar=1 -ImplicitImport=1 -HPPEMITIgnored=1 -NoRetVal=1 -UseBeforeDef=1 -ForLoopVarUndef=1 -UnitNameMismatch=1 -NoCFGFileFound=1 -MessageDirective=1 -ImplicitVariants=1 -UnicodeToLocale=1 -LocaleToUnicode=1 -ImagebaseMultiple=1 -SuspiciousTypecast=1 -PrivatePropAccessor=1 -UnsafeType=0 -UnsafeCode=0 -UnsafeCast=0 -[Linker] -MapFile=3 -OutputObjs=0 -ConsoleApp=1 -DebugInfo=0 -RemoteSymbols=0 -MinStackSize=16384 -MaxStackSize=1048576 -ImageBase=4194304 -ExeDescription= -[Directories] -OutputDir=..\..\Output\Servidor -UnitOutputDir=.\ -PackageDLLOutputDir=..\Lib -PackageDCPOutputDir=..\Lib -SearchPath=..\Lib;..\Base -Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7;EasyListviewD7 -Conditionals= -DebugSourceDirs= -UsePackages=0 -[Parameters] -RunParams= -HostApplication= -Launcher= -UseLauncher=0 -DebugCWD= -[Language] -ActiveLang= -ProjectLang= -RootDir=C:\Archivos de programa\Borland\Delphi7\Bin\ -[Version Info] -IncludeVerInfo=1 -AutoIncBuild=0 -MajorVer=1 -MinorVer=2 -Release=5 -Build=0 -Debug=0 -PreRelease=0 -Special=0 -Private=0 -DLL=0 -Locale=3082 -CodePage=1252 -[Version Info Keys] -CompanyName=Rodax Software S.L. -FileDescription= -FileVersion=1.2.5.0 -InternalName= -LegalCopyright= -LegalTrademarks= -OriginalFilename= -ProductName=AdminPV_Server -ProductVersion=1.1.0.0 -Comments= -[Excluded Packages] -c:\archivos de programa\borland\delphi7\Bin\designdgm70.bpl=Borland Module Diagram Editview -T:\BPL_D7\dxPSCoreD7.bpl=ExpressPrinting System by Developer Express Inc. -[HistoryLists\hlUnitAliases] -Count=1 -Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -[HistoryLists\hlSearchPath] -Count=3 -Item0=..\Lib -Item1=..\Lib;..\Base -Item2=..\..\..\Lib -[HistoryLists\hlUnitOutputDirectory] -Count=1 -Item0=.\ -[HistoryLists\hlOutputDirectorry] -Count=2 -Item0=..\..\Output\Cliente -Item1=..\..\Output\Servidor -[HistoryLists\hlBPLOutput] -Count=3 -Item0=..\Lib -Item1=..\..\..\..\Output\Cliente -Item2=..\..\Output\Cliente -[HistoryLists\hlDCPOutput] -Count=2 -Item0=..\Lib -Item1=..\..\..\Lib -[Exception Log] -EurekaLog Version=519 -Activate=0 -Activate Handle=1 -Save Log File=1 -Foreground Tab=0 -Freeze Activate=0 -Freeze Timeout=0 -Freeze Message=The application seems to be frozen. -SMTP From=eurekalog@email.com -SMTP Host= -SMTP Port=25 -SMTP UserID= -SMTP Password= -Append to Log=0 -Show TerminateBtn=1 -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= -Count=0 -EMail Message Line Count=0 -loNoDuplicateErrors=0 -loAppendReproduceText=0 -loDeleteLogAtVersionChange=0 -loAddComputerNameInLogFileName=0 -loSaveModulesSection=1 -loSaveCPUSection=1 -soAppStartDate=1 -soAppName=1 -soAppVersionNumber=1 -soAppParameters=1 -soAppCompilationDate=1 -soExcDate=1 -soExcAddress=1 -soExcModule=1 -soExcType=1 -soExcMessage=1 -soActCtlsFormClass=1 -soActCtlsFormText=1 -soActCtlsControlClass=1 -soActCtlsControlText=1 -soCmpName=1 -soCmpUser=1 -soCmpTotalMemory=1 -soCmpFreeMemory=1 -soCmpTotalDisk=1 -soCmpFreeDisk=1 -soCmpSysUpTime=1 -soCmpProcessor=1 -soCmpDisplayMode=1 -soOSType=1 -soOSBuildN=1 -soOSUpdate=1 -soOSLanguage=1 -soNetIP=1 -soNetSubmask=1 -soNetGateway=1 -soNetDNS1=1 -soNetDNS2=1 -soNetDHCP=1 -sndShowSendDialog=1 -sndShowSuccessFailureMsg=0 -sndSendEntireLog=0 -sndSendXMLLogCopy=0 -sndSendScreenshot=0 -sndUseOnlyActiveWindow=0 -sndSendLastHTMLPage=1 -sndSendInSeparatedThread=0 -sndAddDateInFileName=0 -sndCompressAllFiles=0 -edoShowExceptionDialog=1 -edoSendEmailChecked=1 -edoAttachScreenshotChecked=1 -edoShowCopyToClipOption=1 -edoShowDetailsButton=1 -edoShowInDetailedMode=0 -edoShowInTopMostMode=0 -edoUseEurekaLogLookAndFeel=1 -csoShowDLLs=1 -csoShowBPLs=1 -csoShowBorlandThreads=1 -csoShowWindowsThreads=1 -csoShowProcedureOffset=0 -boActivateCrashDetection=0 -boPauseBorlandThreads=0 -boDoNotPauseMainThread=0 -boPauseWindowsThreads=0 -boUseMainModuleOptions=1 -boCopyLogInCaseOfError=1 -boSaveCompressedCopyInCaseOfError=0 -Count mtInformationMsgCaption=1 -mtInformationMsgCaption0="Information." -Count mtQuestionMsgCaption=1 -mtQuestionMsgCaption0="Question." -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_CPUCaption=1 -mtDialog_CPUCaption0="CPU" -Count mtDialog_CPUHeader=1 -mtDialog_CPUHeader0="CPU Information" -Count mtDialog_CustomDataCaption=1 -mtDialog_CustomDataCaption0="Other" -Count mtDialog_CustomDataHeader=1 -mtDialog_CustomDataHeader0="Other 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_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 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_ExcHeader=1 -mtLog_ExcHeader0="Exception" -Count mtLog_ExcDate=1 -mtLog_ExcDate0="Date" -Count mtLog_ExcAddress=1 -mtLog_ExcAddress0="Address" -Count mtLog_ExcModule=1 -mtLog_ExcModule0="Module" -Count mtLog_ExcType=1 -mtLog_ExcType0="Type" -Count mtLog_ExcMessage=1 -mtLog_ExcMessage0="Message" -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_CmpUser=1 -mtLog_CmpUser0="User" -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_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_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 mtSendDialog_Caption=1 -mtSendDialog_Caption0="Send." -Count mtSendDialog_Message=1 -mtSendDialog_Message0="Message" -Count mtSendDialog_Resolving=1 -mtSendDialog_Resolving0="Resolving DNS..." -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 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 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." - - diff --git a/Source/Servidor/AdminPV_Server.dpr b/Source/Servidor/AdminPV_Server.dpr index b806b31..168ff0e 100644 --- a/Source/Servidor/AdminPV_Server.dpr +++ b/Source/Servidor/AdminPV_Server.dpr @@ -3,7 +3,6 @@ program AdminPV_Server; {#ROGEN:VARELA.rodl} // RemObjects: Careful, do not remove! uses - uROComInit, Forms, fServerForm in 'fServerForm.pas' {ServerForm}, VARELA_Intf in 'VARELA_Intf.pas', @@ -11,7 +10,6 @@ uses EDI_Reader in 'EDI\EDI_Reader.pas', EDI_INVRPT in 'EDI\EDI_INVRPT.pas', EDI_SLSRPT in 'EDI\EDI_SLSRPT.pas', - EDI_Log_Impl in 'EDI\EDI_Log_Impl.pas' {EDI_Log: TDARemoteService}, schEDILogClient_Intf in '..\Modulos\FicherosEDI\Reglas\schEDILogClient_Intf.pas', schEDILogServer_Intf in '..\Modulos\FicherosEDI\Reglas\schEDILogServer_Intf.pas', uDataModuleServer in 'uDataModuleServer.pas' {dmServer: TDataModule}, @@ -25,14 +23,10 @@ uses uConfFicherosEDI in 'Configuracion\uConfFicherosEDI.pas' {frConfFicherosEDI: TFrame}, uDataModuleEDI_Sales in 'Services\EDI_Sales\uDataModuleEDI_Sales.pas' {dmEDISales: TDataModule}, uDataTableUtils in '..\Base\uDataTableUtils.pas', - EDI_Inventary_Impl in 'Services\EDI_Inventary\EDI_Inventary_Impl.pas' {EDI_Inventary: TDARemoteService}, - EDI_Sales_Impl in 'Services\EDI_Sales\EDI_Sales_Impl.pas' {EDI_Sales: TDARemoteService}, srvLogin_Impl in 'Services\Login\srvLogin_Impl.pas' {srvLogin: TDARemoteService}, srvInformes_Impl in 'srvInformes_Impl.pas' {srvInformes: TDARemoteService}, srvTransfereciaFicheros_Impl in 'Services\TransferenciaFicheros\srvTransfereciaFicheros_Impl.pas' {srvTransfereciaFicheros: TRORemoteDataModule}, srvControles_Impl in '..\ControlesBase\Servidor\srvControles_Impl.pas' {srvControles: TDARemoteService}, - schControlesClient_Intf in '..\ControlesBase\Reglas\schControlesClient_Intf.pas', - schControlesServer_Intf in '..\ControlesBase\Reglas\schControlesServer_Intf.pas', srvVentasEnProceso_Impl in '..\Modulos\VentasProceso\Servidor\srvVentasEnProceso_Impl.pas' {srvVentasEnProceso: TDARemoteService}, schVentasEnProcesoClient_Intf in '..\Modulos\VentasProceso\Reglas\schVentasEnProcesoClient_Intf.pas', schVentasEnProcesoServer_Intf in '..\Modulos\VentasProceso\Reglas\schVentasEnProcesoServer_Intf.pas', @@ -58,7 +52,15 @@ uses uAcercaDe in 'uAcercaDe.pas' {fAcercaDe}, srvParametros_Impl in '..\Modulos\Parametros\Servidor\srvParametros_Impl.pas' {srvParametros: TDARemoteService}, schParametrosClient_Intf in '..\Modulos\Parametros\Reglas\schParametrosClient_Intf.pas', - schParametrosServer_Intf in '..\Modulos\Parametros\Reglas\schParametrosServer_Intf.pas'; + schParametrosServer_Intf in '..\Modulos\Parametros\Reglas\schParametrosServer_Intf.pas', + EDI_Inventary_Impl in 'EDI_Inventary_Impl.pas', + EDI_Sales_Impl in 'EDI_Sales_Impl.pas', + EDI_Log_Impl in 'EDI_Log_Impl.pas', + schControlesClient_Intf in '..\ControlesBase\Reglas\schControlesClient_Intf.pas', + schControlesServer_Intf in '..\ControlesBase\Reglas\schControlesServer_Intf.pas', + RegExpr in 'RegExpr.pas', + uDBSelectionList in '..\Base\uDBSelectionList.pas', + uIntegerList in '..\Base\uIntegerList.pas'; {$R *.res} {$R RODLFile.res} diff --git a/Source/Servidor/AdminPV_Server.dproj b/Source/Servidor/AdminPV_Server.dproj new file mode 100644 index 0000000..b495747 --- /dev/null +++ b/Source/Servidor/AdminPV_Server.dproj @@ -0,0 +1,646 @@ + + + + {86364157-b301-43dd-bfad-250a58064559} + AdminPV_Server.dpr + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Servidor\AdminPV_Server.exe + vcl;rtl;vclx;vclactnband;dbrtl;vcldb;vcldbx;bdertl;dsnap;dbxcds;DbxCommonDriver;dbexpress;dsnapcon;vclib;ibxpress;adortl;IndyCore;IndySystem;IndyProtocols;VclSmp;vclie;xmlrtl;RemObjects_Core_D10;RemObjects_WebBroker_D10;RemObjects_RODX_D10;RemObjects_BPDX_D10;RemObjects_Synapse_D10;RemObjects_Indy_D10;DataAbstract_Core_D10;DataAbstract_IDE_D10;DataAbstract_DBXDriver_D10B;DataAbstract_SQLiteDriver_D10;DataAbstract_Scripting_D10;PascalScript_RO_D10;cxEditorsD10;cxLibraryD10;dxThemeD10;cxDataD10;cxExtEditorsD10;cxGridD10;cxPageControlD10;cxSchedulerD10;cxTreeListD10;cxVerticalGridD10;dxBarD10;dxComnD10;dxBarDBNavD10;dxBarExtDBItemsD10;dxBarExtItemsD10;dxDockingD10;dxLayoutControlD10;dxNavBarD10;dxPSCoreD10;dxsbD10;fqb100;frx10;frxADO10;frxBDE10;frxDB10;frxe10;frxIBX10;fs10;fsADO10;fsBDE10;fsDB10;fsIBX10;PluginSDK_D10R;PNG_D10;PngComponentsD10;tb2k_d10;tbx_d10;ccpack10dsg;ccpack10;EasyListviewD10;GUISDK_D10;JvAppFrmD10R;JvCoreD10R;JclVcl;Jcl;JvSystemD10R;JvStdCtrlsD10R;JvBandsD10R;JvDBD10R;JvDlgsD10R;JvBDED10R;JvCmpD10R;JvCryptD10R;JvCtrlsD10R;JvCustomD10R;JvDockingD10R;JvDotNetCtrlsD10R;JvEDID10R;JvGlobusD10R;JvHMID10R;JvInterpreterD10R;JvJansD10R;JvManagedThreadsD10R;JvMMD10R;JvPageCompsD10R;JvPrintPreviewD10R;JvRuntimeDesignD10R;JvTimeFrameworkD10R;JvUIBD10R;JvValidatorsD10R;JvWizardD10R;JvXPCtrlsD10R;cxIntlPrintSys3D10;cxExportD10;cxIntl5D10;RemObjects_DataSnap_D10 + + + 7.0 + False + False + True + 0 + 3 + ..\..\Output\Release\Servidor + .\ + .\ + .\ + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + RELEASE + + + 7.0 + True + 3 + ..\..\Output\Debug\Servidor + .\ + .\ + .\ + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + DEBUG + + + Delphi.Personality + VCLApplication + + FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1250FalseFalseFalseFalseFalse30821252Rodax Software S.L.1.2.5.0AdminPV_Server1.2.5.0martes, 11 de septiembre de 2007 9:33AdminPV_Server.dpr + CodeGear WebSnap Components + CodeGear SOAP Components + Microsoft Office XP Sample Automation Server Wrapper Components + Microsoft Office 2000 Sample Automation Server Wrapper Components + CodeGear C++Builder Office 2000 Servers Package + CodeGear C++Builder Office XP Servers Package + + + + + + MainSource + + + + + + + +
srvControles
+
+ +
srvDevoluciones
+
+ + + + + +
srvParametros
+
+ +
srvRecepciones
+
+ + + + +
srvReferenciaGenerica
+
+ + + +
srvStock
+
+ +
srvTraspasos
+
+ + + +
srvVentasEnProceso
+
+ + + +
srvVentasTerminadas
+
+ +
frConexionBD
+
+ +
frConfFicherosEDI
+
+ +
frConfGeneral
+
+ +
fConfiguracion
+
+ +
FrameConfiguracion
+
+ + + + + + + + +
ServerForm
+
+ + + + + +
dmEDIInventary
+
+ + + + +
dmEDISales
+
+ +
srvLogin
+
+ +
srvTransfereciaFicheros
+
+ +
srvInformes
+
+ +
fAcercaDe
+
+ +
dmServer
+
+ + + +
+
+ diff --git a/Source/Servidor/AdminPV_Server.drc b/Source/Servidor/AdminPV_Server.drc index 46a6bb9..14626bb 100644 --- a/Source/Servidor/AdminPV_Server.drc +++ b/Source/Servidor/AdminPV_Server.drc @@ -1,5 +1,5 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -8,1169 +8,1114 @@ resources were bound to the produced executable. */ -#define cxGridStrs_scxGridDeletingConfirmationCaption 64224 -#define cxGridStrs_scxGridDeletingFocusedConfirmationText 64225 -#define cxGridStrs_scxGridDeletingSelectedConfirmationText 64226 -#define cxGridStrs_scxGridNoDataInfoText 64227 -#define cxGridStrs_scxGridNewItemRowInfoText 64228 -#define cxGridStrs_scxGridFilterIsEmpty 64229 -#define cxGridStrs_scxGridCustomizationFormCaption 64230 -#define cxGridStrs_scxGridCustomizationFormColumnsPageCaption 64231 -#define cxGridStrs_scxGridGroupByBoxCaption 64232 -#define cxGridStrs_scxGridFilterCustomizeButtonCaption 64233 -#define cxGridStrs_scxGridColumnsQuickCustomizationHint 64234 -#define MidConst_SDefExprFail 64240 -#define MidConst_SNoEditsAllowed 64241 -#define MidConst_SNoDeletesAllowed 64242 -#define MidConst_SNoInsertsAllowed 64243 -#define MidConst_SConnectionMissing 64244 -#define MidConst_SNoCircularConnection 64245 -#define cxPCConsts_scxPCImageListIndexError 64246 -#define cxPCConsts_scxPCNoBaseImages 64247 -#define cxPCConsts_scxPCNoRegisteredStyles 64248 -#define cxPCConsts_scxPCPageIndexError 64249 -#define cxPCConsts_scxPCPainterClassError 64250 -#define cxPCConsts_scxPCTabCountEqualsZero 64251 -#define cxPCConsts_scxPCTabIndexError 64252 -#define cxPCConsts_scxPCTabVisibleIndexOutsOfBounds 64253 -#define cxPCConsts_scxPCVisibleTabListEmpty 64254 -#define cxPCConsts_scxPCAllowRotateError 64255 -#define cxFilterControlStrs_cxSFilterControlDialogActionOkCaption 64256 -#define cxFilterControlStrs_cxSFilterControlDialogActionCancelCaption 64257 -#define cxFilterControlStrs_cxSFilterControlDialogFileExt 64258 -#define cxFilterControlStrs_cxSFilterControlDialogFileFilter 64259 -#define MidConst_SNoDataProvider 64260 -#define MidConst_SInvalidDataPacket 64261 -#define MidConst_SRefreshError 64262 -#define MidConst_SNoCircularReference 64263 -#define MidConst_SErrorLoadingMidas 64264 -#define MidConst_SCannotCreateDataSet 64265 -#define MidConst_SNoConnectToBroker 64266 -#define MidConst_SNoParentConnection 64267 -#define MidConst_SConstraintFailed 64268 -#define MidConst_SField 64269 -#define MidConst_SRecConstFail 64270 -#define MidConst_SFieldConstFail 64271 -#define cxFilterControlStrs_cxSFilterErrorBuilding 64272 -#define cxFilterControlStrs_cxSFilterDialogCaption 64273 -#define cxFilterControlStrs_cxSFilterDialogInvalidValue 64274 -#define cxFilterControlStrs_cxSFilterDialogUse 64275 -#define cxFilterControlStrs_cxSFilterDialogSingleCharacter 64276 -#define cxFilterControlStrs_cxSFilterDialogCharactersSeries 64277 -#define cxFilterControlStrs_cxSFilterDialogOperationAnd 64278 -#define cxFilterControlStrs_cxSFilterDialogOperationOr 64279 -#define cxFilterControlStrs_cxSFilterDialogRows 64280 -#define cxFilterControlStrs_cxSFilterControlDialogCaption 64281 -#define cxFilterControlStrs_cxSFilterControlDialogNewFile 64282 -#define cxFilterControlStrs_cxSFilterControlDialogOpenDialogCaption 64283 -#define cxFilterControlStrs_cxSFilterControlDialogSaveDialogCaption 64284 -#define cxFilterControlStrs_cxSFilterControlDialogActionSaveCaption 64285 -#define cxFilterControlStrs_cxSFilterControlDialogActionOpenCaption 64286 -#define cxFilterControlStrs_cxSFilterControlDialogActionApplyCaption 64287 -#define cxFilterConsts_cxSFilterBoxCustomCaption 64288 -#define cxFilterConsts_cxSFilterBoxBlanksCaption 64289 -#define cxFilterConsts_cxSFilterBoxNonBlanksCaption 64290 -#define cxFilterControlStrs_cxSFilterBoolOperatorAnd 64291 -#define cxFilterControlStrs_cxSFilterBoolOperatorOr 64292 -#define cxFilterControlStrs_cxSFilterBoolOperatorNotAnd 64293 -#define cxFilterControlStrs_cxSFilterBoolOperatorNotOr 64294 -#define cxFilterControlStrs_cxSFilterRootButtonCaption 64295 -#define cxFilterControlStrs_cxSFilterAddCondition 64296 -#define cxFilterControlStrs_cxSFilterAddGroup 64297 -#define cxFilterControlStrs_cxSFilterRemoveRow 64298 -#define cxFilterControlStrs_cxSFilterClearAll 64299 -#define cxFilterControlStrs_cxSFilterFooterAddCondition 64300 -#define cxFilterControlStrs_cxSFilterGroupCaption 64301 -#define cxFilterControlStrs_cxSFilterRootGroupCaption 64302 -#define cxFilterControlStrs_cxSFilterControlNullString 64303 -#define cxFilterConsts_cxSFilterOperatorNextMonth 64304 -#define cxFilterConsts_cxSFilterOperatorNextYear 64305 -#define cxFilterConsts_cxSFilterOperatorFuture 64306 -#define cxFilterConsts_cxSFilterAndCaption 64307 -#define cxFilterConsts_cxSFilterOrCaption 64308 -#define cxFilterConsts_cxSFilterNotCaption 64309 -#define cxFilterConsts_cxSFilterBlankCaption 64310 -#define cxFilterConsts_cxSFilterOperatorIsNull 64311 -#define cxFilterConsts_cxSFilterOperatorIsNotNull 64312 -#define cxFilterConsts_cxSFilterOperatorBeginsWith 64313 -#define cxFilterConsts_cxSFilterOperatorDoesNotBeginWith 64314 -#define cxFilterConsts_cxSFilterOperatorEndsWith 64315 -#define cxFilterConsts_cxSFilterOperatorDoesNotEndWith 64316 -#define cxFilterConsts_cxSFilterOperatorContains 64317 -#define cxFilterConsts_cxSFilterOperatorDoesNotContain 64318 -#define cxFilterConsts_cxSFilterBoxAllCaption 64319 -#define cxFilterConsts_cxSFilterOperatorLast7Days 64320 -#define cxFilterConsts_cxSFilterOperatorLastWeek 64321 -#define cxFilterConsts_cxSFilterOperatorLast14Days 64322 -#define cxFilterConsts_cxSFilterOperatorLastTwoWeeks 64323 -#define cxFilterConsts_cxSFilterOperatorLast30Days 64324 -#define cxFilterConsts_cxSFilterOperatorLastMonth 64325 -#define cxFilterConsts_cxSFilterOperatorLastYear 64326 -#define cxFilterConsts_cxSFilterOperatorPast 64327 -#define cxFilterConsts_cxSFilterOperatorThisWeek 64328 -#define cxFilterConsts_cxSFilterOperatorThisMonth 64329 -#define cxFilterConsts_cxSFilterOperatorThisYear 64330 -#define cxFilterConsts_cxSFilterOperatorNext7Days 64331 -#define cxFilterConsts_cxSFilterOperatorNextWeek 64332 -#define cxFilterConsts_cxSFilterOperatorNext14Days 64333 -#define cxFilterConsts_cxSFilterOperatorNextTwoWeeks 64334 -#define cxFilterConsts_cxSFilterOperatorNext30Days 64335 -#define cxEditConsts_cxSSpinEditInvalidNumericValue 64336 -#define cxFilterConsts_cxSFilterOperatorEqual 64337 -#define cxFilterConsts_cxSFilterOperatorNotEqual 64338 -#define cxFilterConsts_cxSFilterOperatorLess 64339 -#define cxFilterConsts_cxSFilterOperatorLessEqual 64340 -#define cxFilterConsts_cxSFilterOperatorGreater 64341 -#define cxFilterConsts_cxSFilterOperatorGreaterEqual 64342 -#define cxFilterConsts_cxSFilterOperatorLike 64343 -#define cxFilterConsts_cxSFilterOperatorNotLike 64344 -#define cxFilterConsts_cxSFilterOperatorBetween 64345 -#define cxFilterConsts_cxSFilterOperatorNotBetween 64346 -#define cxFilterConsts_cxSFilterOperatorInList 64347 -#define cxFilterConsts_cxSFilterOperatorNotInList 64348 -#define cxFilterConsts_cxSFilterOperatorYesterday 64349 -#define cxFilterConsts_cxSFilterOperatorToday 64350 -#define cxFilterConsts_cxSFilterOperatorTomorrow 64351 -#define cxEditConsts_scxRegExprIllegalSymbol 64352 -#define cxEditConsts_scxRegExprIllegalQuantifier 64353 -#define cxEditConsts_scxRegExprIllegalIntegerValue 64354 -#define cxEditConsts_scxRegExprTooBigReferenceNumber 64355 -#define cxEditConsts_scxRegExprCantCreateEmptyEnum 64356 -#define cxEditConsts_scxRegExprSubrangeOrder 64357 -#define cxEditConsts_scxRegExprHexNumberExpected0 64358 -#define cxEditConsts_scxRegExprHexNumberExpected 64359 -#define cxEditConsts_scxRegExprMissing 64360 -#define cxEditConsts_scxRegExprUnnecessary 64361 -#define cxEditConsts_scxRegExprIncorrectSpace 64362 -#define cxEditConsts_scxRegExprNotCompiled 64363 -#define cxEditConsts_scxRegExprIncorrectParameterQuantifier 64364 -#define cxEditConsts_scxRegExprCantUseParameterQuantifier 64365 -#define cxEditConsts_scxMaskEditRegExprError 64366 -#define cxEditConsts_scxMaskEditInvalidEditValue 64367 -#define cxEditConsts_scxSEditRepositoryMaskItem 64368 -#define cxEditConsts_scxSEditRepositoryMemoItem 64369 -#define cxEditConsts_scxSEditRepositoryMRUItem 64370 -#define cxEditConsts_scxSEditRepositoryPopupItem 64371 -#define cxEditConsts_scxSEditRepositorySpinItem 64372 -#define cxEditConsts_scxSEditRepositoryRadioGroupItem 64373 -#define cxEditConsts_scxSEditRepositoryTextItem 64374 -#define cxEditConsts_scxSEditRepositoryTimeItem 64375 -#define cxEditConsts_scxRegExprLine 64376 -#define cxEditConsts_scxRegExprChar 64377 -#define cxEditConsts_scxRegExprNotAssignedSourceStream 64378 -#define cxEditConsts_scxRegExprEmptySourceStream 64379 -#define cxEditConsts_scxRegExprCantUsePlusQuantifier 64380 -#define cxEditConsts_scxRegExprCantUseStarQuantifier 64381 -#define cxEditConsts_scxRegExprCantCreateEmptyAlt 64382 -#define cxEditConsts_scxRegExprCantCreateEmptyBlock 64383 -#define cxEditConsts_cxNavigatorHint_Post 64384 -#define cxEditConsts_cxNavigatorHint_Cancel 64385 -#define cxEditConsts_cxNavigatorHint_Refresh 64386 -#define cxEditConsts_cxNavigatorHint_SaveBookmark 64387 -#define cxEditConsts_cxNavigatorHint_GotoBookmark 64388 -#define cxEditConsts_cxNavigatorHint_Filter 64389 -#define cxEditConsts_scxSEditRepositoryBlobItem 64390 -#define cxEditConsts_scxSEditRepositoryButtonItem 64391 -#define cxEditConsts_scxSEditRepositoryCalcItem 64392 -#define cxEditConsts_scxSEditRepositoryCheckBoxItem 64393 -#define cxEditConsts_scxSEditRepositoryComboBoxItem 64394 -#define cxEditConsts_scxSEditRepositoryCurrencyItem 64395 -#define cxEditConsts_scxSEditRepositoryDateItem 64396 -#define cxEditConsts_scxSEditRepositoryHyperLinkItem 64397 -#define cxEditConsts_scxSEditRepositoryImageComboBoxItem 64398 -#define cxEditConsts_scxSEditRepositoryImageItem 64399 -#define cxEditConsts_cxSDateSixth 64400 -#define cxEditConsts_cxSDateSeventh 64401 -#define cxEditConsts_cxSDateBOM 64402 -#define cxEditConsts_cxSDateEOM 64403 -#define cxEditConsts_cxSDateNow 64404 -#define cxEditConsts_scxSCalcError 64405 -#define cxEditConsts_scxSHyperLinkPrefix 64406 -#define cxEditConsts_cxNavigatorHint_First 64407 -#define cxEditConsts_cxNavigatorHint_Prior 64408 -#define cxEditConsts_cxNavigatorHint_PriorPage 64409 -#define cxEditConsts_cxNavigatorHint_Next 64410 -#define cxEditConsts_cxNavigatorHint_NextPage 64411 -#define cxEditConsts_cxNavigatorHint_Last 64412 -#define cxEditConsts_cxNavigatorHint_Insert 64413 -#define cxEditConsts_cxNavigatorHint_Delete 64414 -#define cxEditConsts_cxNavigatorHint_Edit 64415 -#define cxEditConsts_cxSDateError 64416 -#define cxEditConsts_cxSDateToday 64417 -#define cxEditConsts_cxSDateYesterday 64418 -#define cxEditConsts_cxSDateTomorrow 64419 -#define cxEditConsts_cxSDateSunday 64420 -#define cxEditConsts_cxSDateMonday 64421 -#define cxEditConsts_cxSDateTuesday 64422 -#define cxEditConsts_cxSDateWednesday 64423 -#define cxEditConsts_cxSDateThursday 64424 -#define cxEditConsts_cxSDateFriday 64425 -#define cxEditConsts_cxSDateSaturday 64426 -#define cxEditConsts_cxSDateFirst 64427 -#define cxEditConsts_cxSDateSecond 64428 -#define cxEditConsts_cxSDateThird 64429 -#define cxEditConsts_cxSDateFourth 64430 -#define cxEditConsts_cxSDateFifth 64431 -#define cxEditConsts_cxSBlobButtonCancel 64432 -#define cxEditConsts_cxSBlobButtonClose 64433 -#define cxEditConsts_cxSBlobMemo 64434 -#define cxEditConsts_cxSBlobMemoEmpty 64435 -#define cxEditConsts_cxSBlobPicture 64436 -#define cxEditConsts_cxSBlobPictureEmpty 64437 -#define cxEditConsts_cxSMenuItemCaptionCut 64438 -#define cxEditConsts_cxSMenuItemCaptionCopy 64439 -#define cxEditConsts_cxSMenuItemCaptionPaste 64440 -#define cxEditConsts_cxSMenuItemCaptionDelete 64441 -#define cxEditConsts_cxSMenuItemCaptionLoad 64442 -#define cxEditConsts_cxSMenuItemCaptionSave 64443 -#define cxEditConsts_cxSDatePopupClear 64444 -#define cxEditConsts_cxSDatePopupNow 64445 -#define cxEditConsts_cxSDatePopupOK 64446 -#define cxEditConsts_cxSDatePopupToday 64447 -#define cxDataConsts_cxSDataItemIndexError 64448 -#define cxDataConsts_cxSDataProviderModeError 64449 -#define cxDataConsts_cxSDataInvalidStreamFormat 64450 -#define cxDataConsts_cxSDataRowIndexError 64451 -#define cxEditConsts_cxSEditDateConvertError 64452 -#define cxEditConsts_cxSEditInvalidRepositoryItem 64453 -#define cxEditConsts_cxSEditNumericValueConvertError 64454 -#define cxEditConsts_cxSEditPopupCircularReferencingError 64455 -#define cxEditConsts_cxSEditTimeConvertError 64456 -#define cxEditConsts_cxSEditValidateErrorText 64457 -#define cxEditConsts_cxSEditValueOutOfBounds 64458 -#define cxEditConsts_cxSEditCheckBoxChecked 64459 -#define cxEditConsts_cxSEditCheckBoxGrayed 64460 -#define cxEditConsts_cxSEditCheckBoxUnchecked 64461 -#define cxEditConsts_cxSRadioGroupDefaultCaption 64462 -#define cxEditConsts_cxSBlobButtonOK 64463 -#define pnglang_EPNGUnknownPalEntryText 64464 -#define pnglang_EPNGUnknownCriticalChunkText 64465 -#define pnglang_EPNGUnknownCompressionText 64466 -#define pnglang_EPNGUnknownInterlaceText 64467 -#define pnglang_EPNGCannotAssignChunkText 64468 -#define pnglang_EPNGUnexpectedEndText 64469 -#define pnglang_EPNGNoImageDataText 64470 -#define pnglang_EPNGCannotChangeSizeText 64471 -#define pnglang_EPNGCannotAddChunkText 64472 -#define pnglang_EPNGCannotAddInvalidImageText 64473 -#define pnglang_EPNGOutMemoryText 64474 -#define pnglang_EPNGHeaderNotPresentText 64475 -#define cxDataConsts_cxSDataReadError 64476 -#define cxDataConsts_cxSDataWriteError 64477 -#define cxDataConsts_cxSDataItemExistError 64478 -#define cxDataConsts_cxSDataRecordIndexError 64479 -#define SqlConst_SNOTABLE 64480 -#define SqlConst_SNODATA 64481 -#define SqlConst_SSQLERROR 64482 -#define SqlConst_SDBXError 64483 -#define SqlConst_SSQLServerError 64484 -#define SqlConst_SDriverNotInConfigFile 64485 -#define SqlConst_SObjectTypenameRequired 64486 -#define SqlConst_SCannotCreateFile 64487 -#define pnglang_EPngInvalidCRCText 64488 -#define pnglang_EPNGInvalidIHDRText 64489 -#define pnglang_EPNGMissingMultipleIDATText 64490 -#define pnglang_EPNGZLIBErrorText 64491 -#define pnglang_EPNGInvalidPaletteText 64492 -#define pnglang_EPNGInvalidFileHeaderText 64493 -#define pnglang_EPNGIHDRNotFirstText 64494 -#define pnglang_EPNGSizeExceedsText 64495 -#define SqlConst_SINVALIDPARAM 64496 -#define SqlConst_SEOF 64497 -#define SqlConst_SSQLPARAMNOTSET 64498 -#define SqlConst_SINVALIDUSRPASS 64499 -#define SqlConst_SINVALIDPRECISION 64500 -#define SqlConst_SINVALIDLEN 64501 -#define SqlConst_SINVALIDXISOLEVEL 64502 -#define SqlConst_SINVALIDTXNID 64503 -#define SqlConst_SDUPLICATETXNID 64504 -#define SqlConst_SDRIVERRESTRICTED 64505 -#define SqlConst_SLOCALTRANSACTIVE 64506 -#define SqlConst_SMULTIPLETRANSNOTENABLED 64507 -#define SqlConst_SCONNECTIONFAILED 64508 -#define SqlConst_SDRIVERINITFAILED 64509 -#define SqlConst_SOPTLOCKFAILED 64510 -#define SqlConst_SINVALIDREF 64511 -#define SqlConst_SMissingDLLName 64512 -#define SqlConst_SMissingDriverRegFile 64513 -#define SqlConst_SNoCursor 64514 -#define SqlConst_SErrorMappingError 64515 -#define SqlConst_SStoredProcsNotSupported 64516 -#define SqlConst_SPackagesNotSupported 64517 -#define SqlConst_SDBXUNKNOWNERROR 64518 -#define SqlConst_SNOERROR 64519 -#define SqlConst_SWARNING 64520 -#define SqlConst_SNOMEMORY 64521 -#define SqlConst_SINVALIDFLDTYPE 64522 -#define SqlConst_SINVALIDHNDL 64523 -#define SqlConst_SNOTSUPPORTED 64524 -#define SqlConst_SINVALIDTIME 64525 -#define SqlConst_SINVALIDXLATION 64526 -#define SqlConst_SOUTOFRANGE 64527 -#define SqlConst_SDatabaseOpen 64528 -#define SqlConst_SDatabaseClosed 64529 -#define SqlConst_SMissingSQLConnection 64530 -#define SqlConst_SConnectionNameMissing 64531 -#define SqlConst_SEmptySQLStatement 64532 -#define SqlConst_SNoParameterValue 64533 -#define SqlConst_SNoSqlStatement 64534 -#define SqlConst_SMissingDataBaseName 64535 -#define SqlConst_SMissingDriverName 64536 -#define SqlConst_SPrepareError 64537 -#define SqlConst_SObjectNameError 64538 -#define SqlConst_SSQLDataSetOpen 64539 -#define SqlConst_SNoActiveTrans 64540 -#define SqlConst_SActiveTrans 64541 -#define SqlConst_SDllLoadError 64542 -#define SqlConst_SDllProcLoadError 64543 -#define ADOConst_SMissingConnection 64544 -#define ADOConst_SNoDetailFilter 64545 -#define ADOConst_SBookmarksRequired 64546 -#define ADOConst_SMissingCommandText 64547 -#define ADOConst_SNoResultSet 64548 -#define ADOConst_SADOCreateError 64549 -#define ADOConst_SEventsNotSupported 64550 -#define ADOConst_SUsupportedFieldType 64551 -#define ADOConst_SConnectionRequired 64552 -#define ADOConst_SCantRequery 64553 -#define ADOConst_SNoFilterOptions 64554 -#define ADOConst_SRecordsetNotOpen 64555 -#define ADOConst_sNameAttr 64556 -#define ADOConst_sValueAttr 64557 -#define SqlConst_SLoginError 64558 -#define SqlConst_SMonitorActive 64559 -#define IBXConst_SNoDestinationDirectory 64560 -#define IBXConst_SNosourceDirectory 64561 -#define IBXConst_SNoUninstallFile 64562 -#define IBXConst_SOptionNeedsClient 64563 -#define IBXConst_SOptionNeedsServer 64564 -#define IBXConst_SInvalidOption 64565 -#define IBXConst_SInvalidOnErrorResult 64566 -#define IBXConst_SInvalidOnStatusResult 64567 -#define IBXConst_SDPBConstantUnknownEx 64568 -#define IBXConst_STPBConstantUnknownEx 64569 -#define IBXConst_SUnknownPlan 64570 -#define IBXConst_SFieldSizeMismatch 64571 -#define IBXConst_SEventAlreadyRegistered 64572 -#define IBXConst_SStringTooLarge 64573 -#define IBXConst_SNoTimers 64574 -#define ADOConst_SInvalidEnumValue 64575 -#define IBXConst_SServiceActive 64576 -#define IBXConst_SServiceInActive 64577 -#define IBXConst_SServerNameMissing 64578 -#define IBXConst_SQueryParamsError 64579 -#define IBXConst_SStartParamsError 64580 -#define IBXConst_SOutputParsingError 64581 -#define IBXConst_SUseSpecificProcedures 64582 -#define IBXConst_SSQLMonitorAlreadyPresent 64583 -#define IBXConst_SCantPrintValue 64584 -#define IBXConst_SEOFReached 64585 -#define IBXConst_SEOFInComment 64586 -#define IBXConst_SEOFInString 64587 -#define IBXConst_SParamNameExpected 64588 -#define IBXConst_SSuccess 64589 -#define IBXConst_SDelphiException 64590 -#define IBXConst_SNoOptionsSet 64591 -#define IBXConst_SNoRecordsAffected 64592 -#define IBXConst_SNoTableName 64593 -#define IBXConst_SCannotCreatePrimaryIndex 64594 -#define IBXConst_SCannotDropSystemIndex 64595 -#define IBXConst_STableNameMismatch 64596 -#define IBXConst_SIndexFieldMissing 64597 -#define IBXConst_SInvalidCancellation 64598 -#define IBXConst_SInvalidEvent 64599 -#define IBXConst_SMaximumEvents 64600 -#define IBXConst_SNoEventsRegistered 64601 -#define IBXConst_SInvalidQueueing 64602 -#define IBXConst_SInvalidRegistration 64603 -#define IBXConst_SInvalidBatchMove 64604 -#define IBXConst_SSQLDialectInvalid 64605 -#define IBXConst_SSPBConstantNotSupported 64606 -#define IBXConst_SSPBConstantUnknown 64607 -#define IBXConst_SCannotCreateSharedResource 64608 -#define IBXConst_SWindowsAPIError 64609 -#define IBXConst_SColumnListsDontMatch 64610 -#define IBXConst_SColumnTypesDontMatch 64611 -#define IBXConst_SCantEndSharedTransaction 64612 -#define IBXConst_SFieldUnsupportedType 64613 -#define IBXConst_SCircularDataLink 64614 -#define IBXConst_SEmptySQLStatement 64615 -#define IBXConst_SIsASelectStatement 64616 -#define IBXConst_SRequiredParamNotSet 64617 -#define IBXConst_SNoStoredProcName 64618 -#define IBXConst_SIsAExecuteProcedure 64619 -#define IBXConst_SUpdateFailed 64620 -#define IBXConst_SNotCachedUpdates 64621 -#define IBXConst_SNotLiveRequest 64622 -#define IBXConst_SNoProvider 64623 -#define IBXConst_SEmptyQuery 64624 -#define IBXConst_SCannotOpenNonSQLSelect 64625 -#define IBXConst_SNoFieldAccess 64626 -#define IBXConst_SFieldReadOnly 64627 -#define IBXConst_SFieldNotFound 64628 -#define IBXConst_SNotEditing 64629 -#define IBXConst_SCannotInsert 64630 -#define IBXConst_SCannotPost 64631 -#define IBXConst_SCannotUpdate 64632 -#define IBXConst_SCannotDelete 64633 -#define IBXConst_SCannotRefresh 64634 -#define IBXConst_SBufferNotSet 64635 -#define IBXConst_SCircularReference 64636 -#define IBXConst_SSQLParseError 64637 -#define IBXConst_SUserAbort 64638 -#define IBXConst_SDataSetUniDirectional 64639 -#define IBXConst_SXSQLDAIndexOutOfRange 64640 -#define IBXConst_SXSQLDANameDoesNotExist 64641 -#define IBXConst_SEOF 64642 -#define IBXConst_SBOF 64643 -#define IBXConst_SInvalidStatementHandle 64644 -#define IBXConst_SSQLOpen 64645 -#define IBXConst_SSQLClosed 64646 -#define IBXConst_SDatasetOpen 64647 -#define IBXConst_SDatasetClosed 64648 -#define IBXConst_SUnknownSQLDataType 64649 -#define IBXConst_SInvalidColumnIndex 64650 -#define IBXConst_SInvalidParamColumnIndex 64651 -#define IBXConst_SInvalidDataConversion 64652 -#define IBXConst_SColumnIsNotNullable 64653 -#define IBXConst_SBlobCannotBeRead 64654 -#define IBXConst_SBlobCannotBeWritten 64655 -#define IBXConst_SOperationCancelled 64656 -#define IBXConst_SDPBConstantNotSupported 64657 -#define IBXConst_SDPBConstantUnknown 64658 -#define IBXConst_STPBConstantNotSupported 64659 -#define IBXConst_STPBConstantUnknown 64660 -#define IBXConst_SDatabaseClosed 64661 -#define IBXConst_SDatabaseOpen 64662 -#define IBXConst_SDatabaseNameMissing 64663 -#define IBXConst_SNotInTransaction 64664 -#define IBXConst_SInTransaction 64665 -#define IBXConst_STimeoutNegative 64666 -#define IBXConst_SNoDatabasesInTransaction 64667 -#define IBXConst_SUpdateWrongDB 64668 -#define IBXConst_SUpdateWrongTR 64669 -#define IBXConst_SDatabaseNotAssigned 64670 -#define IBXConst_STransactionNotAssigned 64671 -#define uDARes_err_DARDMInvalidSchema 64672 -#define uDARes_err_DARDMUnassignedAdapter 64673 -#define uDARes_err_DARDMConnectionIsNotAssigned 64674 -#define uDARes_err_DARDMCannotFindProxessorForDelta 64675 -#define uDARes_err_NeedShareMem 64676 -#define uDARes_err_ExecuteSQLCommandNotAllowed 64677 -#define IBXConst_SUnknownError 64678 -#define IBXConst_SInterBaseMissing 64679 -#define IBXConst_SInterBaseInstallMissing 64680 -#define IBXConst_SIB60feature 64681 -#define IBXConst_SNotSupported 64682 -#define IBXConst_SNotPermitted 64683 -#define IBXConst_SFileAccessError 64684 -#define IBXConst_SConnectionTimeout 64685 -#define IBXConst_SCannotSetDatabase 64686 -#define IBXConst_SCannotSetTransaction 64687 -#define uDARes_err_FieldTypeNotSupported 64688 -#define uDARes_err_InvalidDataset 64689 -#define uDARes_err_CannotFindItem 64690 -#define uDARes_err_DriverAlreadyLoaded 64691 -#define uDARes_err_InvalidDLL 64692 -#define uDARes_err_UnknownDriver 64693 -#define uDARes_err_UnknownParameter 64694 -#define uDARes_err_FieldIsNotBound 64695 -#define uDARes_err_CannotFindField 64696 -#define uDARes_err_LoadPackageFailed 64697 -#define uDARes_err_InvalidDriverReference 64698 -#define uDARes_err_CannotFindStatement 64699 -#define uDARes_err_CannotFindDefaultItem 64700 -#define uDARes_err_PoolIsNotEmpty 64701 -#define uDARes_err_MaxPoolSizeReached 64702 -#define uDARes_err_LAMEDataset 64703 -#define DBConsts_SExprNoAggOnCalcs 64704 -#define DBConsts_SDataSetUnidirectional 64705 -#define DBConsts_SUnassignedVar 64706 -#define DBConsts_SRecordNotFound 64707 -#define DBConsts_SFileNameBlank 64708 -#define DBConsts_SFieldNameTooLarge 64709 -#define DBConsts_SBcdOverflow 64710 -#define DBConsts_SInvalidBcdValue 64711 -#define DBConsts_SInvalidFormatType 64712 -#define DBConsts_SCouldNotParseTimeStamp 64713 -#define DBConsts_SInvalidSqlTimeStamp 64714 -#define uDARes_err_ChangeLogAlreadyStarted 64715 -#define uDARes_err_NotAttachedToDataTable 64716 -#define uDARes_err_DriverProcAlreadyRegistered 64717 -#define uDARes_err_DriverManagerAlreadyCreated 64718 -#define uDARes_err_DriverManagerNotAssigned 64719 -#define DBConsts_SExprTypeMis 64720 -#define DBConsts_SExprBadScope 64721 -#define DBConsts_SExprNoArith 64722 -#define DBConsts_SExprNotAgg 64723 -#define DBConsts_SExprBadConst 64724 -#define DBConsts_SExprNoAggFilter 64725 -#define DBConsts_SExprEmptyInList 64726 -#define DBConsts_SInvalidKeywordUse 64727 -#define DBConsts_STextFalse 64728 -#define DBConsts_STextTrue 64729 -#define DBConsts_SParameterNotFound 64730 -#define DBConsts_SInvalidVersion 64731 -#define DBConsts_SBadFieldType 64732 -#define DBConsts_SAggActive 64733 -#define DBConsts_SProviderSQLNotSupported 64734 -#define DBConsts_SProviderExecuteNotSupported 64735 -#define DBConsts_SDataSetEmpty 64736 -#define DBConsts_SDataSetReadOnly 64737 -#define DBConsts_SNestedDataSetClass 64738 -#define DBConsts_SExprTermination 64739 -#define DBConsts_SExprNameError 64740 -#define DBConsts_SExprStringError 64741 -#define DBConsts_SExprInvalidChar 64742 -#define DBConsts_SExprNoLParen 64743 -#define DBConsts_SExprNoRParen 64744 -#define DBConsts_SExprNoRParenOrComma 64745 -#define DBConsts_SExprExpected 64746 -#define DBConsts_SExprBadField 64747 -#define DBConsts_SExprBadNullTest 64748 -#define DBConsts_SExprRangeError 64749 -#define DBConsts_SExprIncorrect 64750 -#define DBConsts_SExprNothing 64751 -#define DBConsts_SInvalidCalcType 64752 -#define DBConsts_SFieldReadOnly 64753 -#define DBConsts_SFieldIndexError 64754 -#define DBConsts_SNoFieldIndexes 64755 -#define DBConsts_SNotIndexField 64756 -#define DBConsts_SIndexFieldMissing 64757 -#define DBConsts_SDuplicateIndexName 64758 -#define DBConsts_SNoIndexForFields 64759 -#define DBConsts_SIndexNotFound 64760 -#define DBConsts_SCircularDataLink 64761 -#define DBConsts_SLookupInfoError 64762 -#define DBConsts_SDataSourceChange 64763 -#define DBConsts_SNoNestedMasterSource 64764 -#define DBConsts_SDataSetOpen 64765 -#define DBConsts_SNotEditing 64766 -#define DBConsts_SDataSetClosed 64767 -#define DBConsts_SFieldNameMissing 64768 -#define DBConsts_SDuplicateFieldName 64769 -#define DBConsts_SFieldNotFound 64770 -#define DBConsts_SFieldAccessError 64771 -#define DBConsts_SFieldValueError 64772 -#define DBConsts_SFieldRangeError 64773 -#define DBConsts_SBcdFieldRangeError 64774 -#define DBConsts_SInvalidIntegerValue 64775 -#define DBConsts_SInvalidBoolValue 64776 -#define DBConsts_SInvalidFloatValue 64777 -#define DBConsts_SFieldTypeMismatch 64778 -#define DBConsts_SFieldSizeMismatch 64779 -#define DBConsts_SInvalidVarByteArray 64780 -#define DBConsts_SFieldOutOfRange 64781 -#define DBConsts_SFieldRequired 64782 -#define DBConsts_SDataSetMissing 64783 -#define JclResources_RsIntelCacheDescr7D 64784 -#define JclResources_RsIntelCacheDescr7F 64785 -#define JclResources_RsIntelCacheDescr82 64786 -#define JclResources_RsIntelCacheDescr83 64787 -#define JclResources_RsIntelCacheDescr84 64788 -#define JclResources_RsIntelCacheDescr85 64789 -#define JclResources_RsIntelCacheDescr86 64790 -#define JclResources_RsIntelCacheDescr87 64791 -#define JclResources_RsIntelCacheDescrB0 64792 -#define JclResources_RsIntelCacheDescrB3 64793 -#define JclResources_RsIntelCacheDescrB4 64794 -#define JclResources_RsIntelCacheDescrF0 64795 -#define JclResources_RsIntelCacheDescrF1 64796 -#define DBConsts_SInvalidFieldSize 64797 -#define DBConsts_SInvalidFieldKind 64798 -#define DBConsts_SUnknownFieldType 64799 -#define JclResources_RsIntelCacheDescr57 64800 -#define JclResources_RsIntelCacheDescr5B 64801 -#define JclResources_RsIntelCacheDescr5C 64802 -#define JclResources_RsIntelCacheDescr5D 64803 -#define JclResources_RsIntelCacheDescr60 64804 -#define JclResources_RsIntelCacheDescr66 64805 -#define JclResources_RsIntelCacheDescr67 64806 -#define JclResources_RsIntelCacheDescr68 64807 -#define JclResources_RsIntelCacheDescr70 64808 -#define JclResources_RsIntelCacheDescr71 64809 -#define JclResources_RsIntelCacheDescr72 64810 -#define JclResources_RsIntelCacheDescr78 64811 -#define JclResources_RsIntelCacheDescr79 64812 -#define JclResources_RsIntelCacheDescr7A 64813 -#define JclResources_RsIntelCacheDescr7B 64814 -#define JclResources_RsIntelCacheDescr7C 64815 -#define JclResources_RsIntelCacheDescr29 64816 -#define JclResources_RsIntelCacheDescr2C 64817 -#define JclResources_RsIntelCacheDescr30 64818 -#define JclResources_RsIntelCacheDescr40 64819 -#define JclResources_RsIntelCacheDescr41 64820 -#define JclResources_RsIntelCacheDescr42 64821 -#define JclResources_RsIntelCacheDescr43 64822 -#define JclResources_RsIntelCacheDescr44 64823 -#define JclResources_RsIntelCacheDescr45 64824 -#define JclResources_RsIntelCacheDescr46 64825 -#define JclResources_RsIntelCacheDescr47 64826 -#define JclResources_RsIntelCacheDescr49 64827 -#define JclResources_RsIntelCacheDescr50 64828 -#define JclResources_RsIntelCacheDescr51 64829 -#define JclResources_RsIntelCacheDescr52 64830 -#define JclResources_RsIntelCacheDescr56 64831 -#define JclResources_RsBlankSearchString 64832 -#define JclResources_RsArgumentOutOfRange 64833 -#define JclResources_RsIntelCacheDescr00 64834 -#define JclResources_RsIntelCacheDescr01 64835 -#define JclResources_RsIntelCacheDescr02 64836 -#define JclResources_RsIntelCacheDescr03 64837 -#define JclResources_RsIntelCacheDescr04 64838 -#define JclResources_RsIntelCacheDescr05 64839 -#define JclResources_RsIntelCacheDescr06 64840 -#define JclResources_RsIntelCacheDescr08 64841 -#define JclResources_RsIntelCacheDescr0A 64842 -#define JclResources_RsIntelCacheDescr0B 64843 -#define JclResources_RsIntelCacheDescr0C 64844 -#define JclResources_RsIntelCacheDescr22 64845 -#define JclResources_RsIntelCacheDescr23 64846 -#define JclResources_RsIntelCacheDescr25 64847 -#define JclResources_RsRTTINameList 64848 -#define JclResources_RsRTTIClassName 64849 -#define JclResources_RsRTTIParent 64850 -#define JclResources_RsRTTIPropCount 64851 -#define JclResources_RsRTTIUnitName 64852 -#define JclResources_RsRTTIBasedOn 64853 -#define JclResources_RsRTTIFloatType 64854 -#define JclResources_RsRTTIMethodKind 64855 -#define JclResources_RsRTTIParamCount 64856 -#define JclResources_RsRTTIReturnType 64857 -#define JclResources_RsRTTIMaxLen 64858 -#define JclResources_RsRTTIElSize 64859 -#define JclResources_RsRTTIElType 64860 -#define JclResources_RsRTTIElNeedCleanup 64861 -#define JclResources_RsRTTIVarType 64862 -#define JclResources_RsDeclarationFormat 64863 -#define JclResources_RsRTTIPropRead 64864 -#define JclResources_RsRTTIPropWrite 64865 -#define JclResources_RsRTTIPropStored 64866 -#define JclResources_RsRTTIField 64867 -#define JclResources_RsRTTIStaticMethod 64868 -#define JclResources_RsRTTIVirtualMethod 64869 -#define JclResources_RsRTTIIndex 64870 -#define JclResources_RsRTTIDefault 64871 -#define JclResources_RsRTTIName 64872 -#define JclResources_RsRTTIType 64873 -#define JclResources_RsRTTIFlags 64874 -#define JclResources_RsRTTIGUID 64875 -#define JclResources_RsRTTITypeKind 64876 -#define JclResources_RsRTTIOrdinalType 64877 -#define JclResources_RsRTTIMinValue 64878 -#define JclResources_RsRTTIMaxValue 64879 -#define JclResources_RsHKLMShort 64880 -#define JclResources_RsHKUSShort 64881 -#define JclResources_RsHKPDShort 64882 -#define JclResources_RsHKCCShort 64883 -#define JclResources_RsHKDDShort 64884 -#define JclResources_RsRTTIValueOutOfRange 64885 -#define JclResources_RsRTTIUnknownIdentifier 64886 -#define JclResources_RsRTTIVar 64887 -#define JclResources_RsRTTIConst 64888 -#define JclResources_RsRTTIArrayOf 64889 -#define JclResources_RsRTTIOut 64890 -#define JclResources_RsRTTIOrdinal 64891 -#define JclResources_RsRTTITrue 64892 -#define JclResources_RsRTTIFalse 64893 -#define JclResources_RsRTTITypeError 64894 -#define JclResources_RsRTTITypeInfoAt 64895 -#define JclResources_RsCannotCreateDir 64896 -#define JclResources_RsFileUtilsNoVersionInfo 64897 -#define JclResources_RsUnableToOpenKeyRead 64898 -#define JclResources_RsUnableToOpenKeyWrite 64899 -#define JclResources_RsUnableToAccessValue 64900 -#define JclResources_RsWrongDataType 64901 -#define JclResources_RsInconsistentPath 64902 -#define JclResources_RsHKCRLong 64903 -#define JclResources_RsHKCULong 64904 -#define JclResources_RsHKLMLong 64905 -#define JclResources_RsHKUSLong 64906 -#define JclResources_RsHKPDLong 64907 -#define JclResources_RsHKCCLong 64908 -#define JclResources_RsHKDDLong 64909 -#define JclResources_RsHKCRShort 64910 -#define JclResources_RsHKCUShort 64911 -#define JvResources_RsClHighlightText 64912 -#define JvResources_RsClBtnFace 64913 -#define JvResources_RsClBtnShadow 64914 -#define JvResources_RsClGrayText 64915 -#define JvResources_RsClBtnText 64916 -#define JvResources_RsClInactiveCaptionText 64917 -#define JvResources_RsClBtnHighlight 64918 -#define JvResources_RsCl3DDkShadow 64919 -#define JvResources_RsCl3DLight 64920 -#define JvResources_RsClInfoText 64921 -#define JvResources_RsClInfoBk 64922 -#define JvResources_RsGradientActiveCaption 64923 -#define JvResources_RsGradientInactiveCaption 64924 -#define JvResources_RsHotLight 64925 -#define JvResources_RsMenuBar 64926 -#define JvResources_RsMenuHighlight 64927 -#define JvResources_RsClPaleBlue 64928 -#define JvResources_RsClLavender 64929 -#define JvResources_RsClScrollBar 64930 -#define JvResources_RsClBackground 64931 -#define JvResources_RsClActiveCaption 64932 -#define JvResources_RsClInactiveCaption 64933 -#define JvResources_RsClMenu 64934 -#define JvResources_RsClWindow 64935 -#define JvResources_RsClWindowFrame 64936 -#define JvResources_RsClMenuText 64937 -#define JvResources_RsClWindowText 64938 -#define JvResources_RsClCaptionText 64939 -#define JvResources_RsClActiveBorder 64940 -#define JvResources_RsClInactiveBorder 64941 -#define JvResources_RsClAppWorkSpace 64942 -#define JvResources_RsClHighlight 64943 -#define JvResources_RsClLightOrange 64944 -#define JvResources_RsClSeaGreen 64945 -#define JvResources_RsClLightBlue 64946 -#define JvResources_RsClViolet 64947 -#define JvResources_RsClGray40 64948 -#define JvResources_RsClPink 64949 -#define JvResources_RsClGold 64950 -#define JvResources_RsClBrightGreen 64951 -#define JvResources_RsClTurquoise 64952 -#define JvResources_RsClPlum 64953 -#define JvResources_RsClGray25 64954 -#define JvResources_RsClRose 64955 -#define JvResources_RsClTan 64956 -#define JvResources_RsClLightYellow 64957 -#define JvResources_RsClLightGreen 64958 -#define JvResources_RsClLightTurquoise 64959 -#define JvResources_RsClMoneyGreen 64960 -#define JvResources_RsClSkyBlue 64961 -#define JvResources_RsClCream 64962 -#define JvResources_RsClMedGray 64963 -#define JvResources_RsClBrown 64964 -#define JvResources_RsClOliveGreen 64965 -#define JvResources_RsClDarkGreen 64966 -#define JvResources_RsClDarkTeal 64967 -#define JvResources_RsClDarkBlue 64968 -#define JvResources_RsClIndigo 64969 -#define JvResources_RsClGray80 64970 -#define JvResources_RsClDarkRed 64971 -#define JvResources_RsClOrange 64972 -#define JvResources_RsClDarkYellow 64973 -#define JvResources_RsClBlueGray 64974 -#define JvResources_RsClGray50 64975 -#define JvResources_RsClBlack 64976 -#define JvResources_RsClMaroon 64977 -#define JvResources_RsClGreen 64978 -#define JvResources_RsClOlive 64979 -#define JvResources_RsClNavy 64980 -#define JvResources_RsClPurple 64981 -#define JvResources_RsClTeal 64982 -#define JvResources_RsClGray 64983 -#define JvResources_RsClSilver 64984 -#define JvResources_RsClRed 64985 -#define JvResources_RsClLime 64986 -#define JvResources_RsClYellow 64987 -#define JvResources_RsClBlue 64988 -#define JvResources_RsClFuchsia 64989 -#define JvResources_RsClAqua 64990 -#define JvResources_RsClWhite 64991 -#define JvResources_RsEUnknownBaseType 64992 -#define JvResources_RsEInvalidPath 64993 -#define JvResources_RsENotAUniqueRootPath 64994 -#define JvResources_RsECircularReferenceOfStorages 64995 -#define JvResources_RsEShellNotCompatible 64996 -#define JvResources_RsGIFImage 64997 -#define JvResources_RsEChangeGIFSize 64998 -#define JvResources_RsENoGIFData 64999 -#define JvResources_RsEUnrecognizedGIFExt 65000 -#define JvResources_RsEWrongGIFColors 65001 -#define JvResources_RsEBadGIFCodeSize 65002 -#define JvResources_RsEGIFDecodeError 65003 -#define JvResources_RsEGIFEncodeError 65004 -#define JvResources_RsEGIFVersion 65005 -#define JvResources_RsEPixelFormatNotImplemented 65006 -#define JvResources_RsEBitCountNotImplemented 65007 -#define IdResourceStrings_RSSocksServerConnectionRefusedError 65008 -#define IdResourceStrings_RSSocksServerTTLExpiredError 65009 -#define IdResourceStrings_RSSocksServerCommandError 65010 -#define IdResourceStrings_RSSocksServerAddressError 65011 -#define IdResourceStrings_RSUnevenSizeInDecodeStream 65012 -#define IdResourceStrings_RSUnevenSizeInEncodeStream 65013 -#define IdResourceStrings_RSThreadTerminateAndWaitFor 65014 -#define JConsts_sChangeJPGSize 65015 -#define JConsts_sJPEGError 65016 -#define JConsts_sJPEGImageFile 65017 -#define JvResources_RsAniExtension 65018 -#define JvResources_RsAniFilterName 65019 -#define JvResources_RsRootValueReplaceFmt 65020 -#define JvResources_RsEUnableToCreateKey 65021 -#define JvResources_RsEEnumeratingRegistry 65022 -#define JvResources_RsEInvalidType 65023 -#define IdResourceStrings_RSStackENAMETOOLONG 65024 -#define IdResourceStrings_RSStackEHOSTDOWN 65025 -#define IdResourceStrings_RSStackEHOSTUNREACH 65026 -#define IdResourceStrings_RSStackENOTEMPTY 65027 -#define IdResourceStrings_RSStackHOST_NOT_FOUND 65028 -#define IdResourceStrings_RSSocksRequestFailed 65029 -#define IdResourceStrings_RSSocksRequestServerFailed 65030 -#define IdResourceStrings_RSSocksRequestIdentFailed 65031 -#define IdResourceStrings_RSSocksUnknownError 65032 -#define IdResourceStrings_RSSocksServerRespondError 65033 -#define IdResourceStrings_RSSocksAuthMethodError 65034 -#define IdResourceStrings_RSSocksAuthError 65035 -#define IdResourceStrings_RSSocksServerGeneralError 65036 -#define IdResourceStrings_RSSocksServerPermissionError 65037 -#define IdResourceStrings_RSSocksServerNetUnreachableError 65038 -#define IdResourceStrings_RSSocksServerHostUnreachableError 65039 -#define IdResourceStrings_RSStackEAFNOSUPPORT 65040 -#define IdResourceStrings_RSStackEADDRINUSE 65041 -#define IdResourceStrings_RSStackEADDRNOTAVAIL 65042 -#define IdResourceStrings_RSStackENETDOWN 65043 -#define IdResourceStrings_RSStackENETUNREACH 65044 -#define IdResourceStrings_RSStackENETRESET 65045 -#define IdResourceStrings_RSStackECONNABORTED 65046 -#define IdResourceStrings_RSStackECONNRESET 65047 -#define IdResourceStrings_RSStackENOBUFS 65048 -#define IdResourceStrings_RSStackEISCONN 65049 -#define IdResourceStrings_RSStackENOTCONN 65050 -#define IdResourceStrings_RSStackESHUTDOWN 65051 -#define IdResourceStrings_RSStackETOOMANYREFS 65052 -#define IdResourceStrings_RSStackETIMEDOUT 65053 -#define IdResourceStrings_RSStackECONNREFUSED 65054 -#define IdResourceStrings_RSStackELOOP 65055 -#define IdResourceStrings_RSStackEACCES 65056 -#define IdResourceStrings_RSStackEFAULT 65057 -#define IdResourceStrings_RSStackEINVAL 65058 -#define IdResourceStrings_RSStackEMFILE 65059 -#define IdResourceStrings_RSStackEWOULDBLOCK 65060 -#define IdResourceStrings_RSStackEINPROGRESS 65061 -#define IdResourceStrings_RSStackEALREADY 65062 -#define IdResourceStrings_RSStackENOTSOCK 65063 -#define IdResourceStrings_RSStackEDESTADDRREQ 65064 -#define IdResourceStrings_RSStackEMSGSIZE 65065 -#define IdResourceStrings_RSStackEPROTOTYPE 65066 -#define IdResourceStrings_RSStackENOPROTOOPT 65067 -#define IdResourceStrings_RSStackEPROTONOSUPPORT 65068 -#define IdResourceStrings_RSStackESOCKTNOSUPPORT 65069 -#define IdResourceStrings_RSStackEOPNOTSUPP 65070 -#define IdResourceStrings_RSStackEPFNOSUPPORT 65071 -#define IdResourceStrings_RSHTTPInternalServerError 65072 -#define IdResourceStrings_RSHTTPNotImplemented 65073 -#define IdResourceStrings_RSHTTPBadGateway 65074 -#define IdResourceStrings_RSHTTPServiceUnavailable 65075 -#define IdResourceStrings_RSHTTPGatewayTimeout 65076 -#define IdResourceStrings_RSHTTPHTTPVersionNotSupported 65077 -#define IdResourceStrings_RSHTTPUnknownResponseCode 65078 -#define IdResourceStrings_RSHTTPHeaderAlreadyWritten 65079 -#define IdResourceStrings_RSHTTPErrorParsingCommand 65080 -#define IdResourceStrings_RSHTTPUnsupportedAuthorisationScheme 65081 -#define IdResourceStrings_RSHTTPCannotSwitchSessionStateWhenActive 65082 -#define IdResourceStrings_RSHTTPAuthAlreadyRegistered 65083 -#define IdResourceStrings_RSInvalidServiceName 65084 -#define IdResourceStrings_RSStackError 65085 -#define IdResourceStrings_RSStackEINTR 65086 -#define IdResourceStrings_RSStackEBADF 65087 -#define IdResourceStrings_RSHTTPUseProxy 65088 -#define IdResourceStrings_RSHTTPBadRequest 65089 -#define IdResourceStrings_RSHTTPUnauthorized 65090 -#define IdResourceStrings_RSHTTPForbidden 65091 -#define IdResourceStrings_RSHTTPNotFound 65092 -#define IdResourceStrings_RSHTTPMethodeNotallowed 65093 -#define IdResourceStrings_RSHTTPNotAcceptable 65094 -#define IdResourceStrings_RSHTTPProxyAuthenticationRequired 65095 -#define IdResourceStrings_RSHTTPRequestTimeout 65096 -#define IdResourceStrings_RSHTTPConflict 65097 -#define IdResourceStrings_RSHTTPGone 65098 -#define IdResourceStrings_RSHTTPLengthRequired 65099 -#define IdResourceStrings_RSHTTPPreconditionFailed 65100 -#define IdResourceStrings_RSHTTPRequestEntityToLong 65101 -#define IdResourceStrings_RSHTTPRequestURITooLong 65102 -#define IdResourceStrings_RSHTTPUnsupportedMediaType 65103 -#define IdResourceStrings_RSStatusDisconnecting 65104 -#define IdResourceStrings_RSStatusDisconnected 65105 -#define IdResourceStrings_RSStatusText 65106 -#define IdResourceStrings_RSConnectTimeout 65107 -#define IdResourceStrings_RSHTTPContinue 65108 -#define IdResourceStrings_RSHTTPOK 65109 -#define IdResourceStrings_RSHTTPCreated 65110 -#define IdResourceStrings_RSHTTPAccepted 65111 -#define IdResourceStrings_RSHTTPNonAuthoritativeInformation 65112 -#define IdResourceStrings_RSHTTPNoContent 65113 -#define IdResourceStrings_RSHTTPResetContent 65114 -#define IdResourceStrings_RSHTTPPartialContent 65115 -#define IdResourceStrings_RSHTTPMovedPermanently 65116 -#define IdResourceStrings_RSHTTPMovedTemporarily 65117 -#define IdResourceStrings_RSHTTPSeeOther 65118 -#define IdResourceStrings_RSHTTPNotModified 65119 -#define IdResourceStrings_RSTerminateThreadTimeout 65120 -#define IdResourceStrings_RSNoExecuteSpecified 65121 -#define IdResourceStrings_RSIdNoDataToRead 65122 -#define IdResourceStrings_RSCanNotBindRange 65123 -#define IdResourceStrings_RSInvalidPortRange 65124 -#define IdResourceStrings_RSReadTimeout 65125 -#define IdResourceStrings_RSReadLnMaxLineLengthExceeded 65126 -#define IdResourceStrings_RSNoCommandHandlerFound 65127 -#define IdResourceStrings_RSWS2CallError 65128 -#define IdResourceStrings_RSWS2LoadError 65129 -#define IdResourceStrings_RSMIMEExtensionEmpty 65130 -#define IdResourceStrings_RSMIMEMIMETypeEmpty 65131 -#define IdResourceStrings_RSMIMEMIMEExtAlreadyExists 65132 -#define IdResourceStrings_RSStatusResolving 65133 -#define IdResourceStrings_RSStatusConnecting 65134 -#define IdResourceStrings_RSStatusConnected 65135 -#define ComConst_SOleError 65136 -#define ComConst_SNoMethod 65137 -#define ComConst_SVarNotObject 65138 -#define ComConst_STooManyParams 65139 -#define IdResourceStrings_RSCannotAllocateSocket 65140 -#define IdResourceStrings_RSConnectionClosedGracefully 65141 -#define IdResourceStrings_RSCouldNotBindSocket 65142 -#define IdResourceStrings_RSFailedTimeZoneInfo 65143 -#define IdResourceStrings_RSNotEnoughDataInBuffer 65144 -#define IdResourceStrings_RSWinsockInitializationError 65145 -#define IdResourceStrings_RSSetSizeExceeded 65146 -#define IdResourceStrings_RSThreadClassNotSpecified 65147 -#define IdResourceStrings_RSFileNotFound 65148 -#define IdResourceStrings_RSOnlyOneAntiFreeze 65149 -#define IdResourceStrings_RSNotConnected 65150 -#define IdResourceStrings_RSObjectTypeNotSupported 65151 -#define uRORes_err_ArrayIndexOutOfBounds 65152 -#define uRORes_err_InvalidHeader 65153 -#define uRORes_err_UnknownClassInStream 65154 -#define uRORes_err_UnexpectedClassInStream 65155 -#define uRORes_err_SessionNotFound 65156 -#define uRORes_err_ChannelDoesntSupportIROMetadataReader 65157 -#define uRORes_err_TooManySessions 65158 -#define uRORes_err_DOMElementIsNIL 65159 -#define uRORes_err_CannotLoadXMLDocument 65160 -#define uRORes_err_ErrorCreatingMsXmlDoc 65161 -#define uRORes_err_NoXMLParsersAvailable 65162 -#define uRORes_err_IDispatchMarshalingNotSupported 65163 -#define uRORes_err_UnsupportedVariantType 65164 -#define uRORes_err_VariantIsNotArray 65165 -#define uRORes_err_InvalidVarArrayDimCount 65166 -#define uRORes_err_MessageNotAssigned 65167 -#define uRORes_err_InvalidRequestStream 65168 -#define uRORes_err_NILMessage 65169 -#define uRORes_err_UnspecifiedInterface 65170 -#define uRORes_err_UnspecifiedMessage 65171 -#define uRORes_err_UnknownMethod 65172 -#define uRORes_err_ClassFactoryDidNotReturnInstance 65173 -#define uRORes_err_TypeNotSupported 65174 -#define uRORes_err_ClassFactoryNotFound 65175 -#define uRORes_err_IROMessageNotSupported 65176 -#define uRORes_err_ClassAlreadyRegistered 65177 -#define uRORes_err_UnknownProxyInterface 65178 -#define uRORes_err_DispatcherAlreadyAssigned 65179 -#define uRORes_err_CannotFindMessageDispatcher 65180 -#define uRORes_err_ServerOnlySupportsOneDispatcher 65181 -#define uRORes_err_UnhandledException 65182 -#define uRORes_err_ChannelBusy 65183 -#define uRORes_err_InvalidParamFlag 65184 -#define uRORes_err_InvalidStringLength 65185 -#define uRORes_str_InvalidClassTypeInStream 65186 -#define uRORes_err_UnexpectedEndOfStream 65187 -#define uRORes_err_RodlDuplicateName 65188 -#define uRORes_err_RodlNoDataTypeSpecified 65189 -#define uRORes_err_RodlNoEnumValues 65190 -#define uRORes_err_RodlNoStructElementsDefined 65191 -#define uRORes_err_RodlNoOperationsDefined 65192 -#define uRORes_err_RodlUsedFileDoesNotExist 65193 -#define uRORes_err_RodlInvalidDataType 65194 -#define uRORes_err_RodlStructCannotBeNested 65195 -#define uRORes_err_RodlInvalidAncestorType 65196 -#define uRORes_str_ExceptionOnServer 65197 -#define uRORes_str_ExceptionReraisedFromServer 65198 -#define uRORes_err_AssignError 65199 -#define WinHelpViewer_hNoKeyword 65200 -#define uRODECConst_sProtectionCircular 65201 -#define uRODECConst_sStringFormatExists 65202 -#define uRODECConst_sInvalidStringFormat 65203 -#define uRODECConst_sInvalidFormatString 65204 -#define uRODECConst_sFMT_COPY 65205 -#define uRODECConst_sFMT_HEX 65206 -#define uRODECConst_sFMT_HEXL 65207 -#define uRODECConst_sFMT_MIME64 65208 -#define uRODECConst_sFMT_UU 65209 -#define uRODECConst_sFMT_XX 65210 -#define uRODECConst_sInvalidKeySize 65211 -#define uRODECConst_sNotInitialized 65212 -#define uRORes_err_InvalidIndex 65213 -#define uRORes_err_InvalidType 65214 -#define uRORes_err_InvalidStream 65215 -#define ExtCtrls_clNameInactiveCaption 65216 -#define ExtCtrls_clNameInactiveCaptionText 65217 -#define ExtCtrls_clNameInfoBk 65218 -#define ExtCtrls_clNameInfoText 65219 -#define ExtCtrls_clNameMenu 65220 -#define ExtCtrls_clNameMenuText 65221 -#define ExtCtrls_clNameNone 65222 -#define ExtCtrls_clNameScrollBar 65223 -#define ExtCtrls_clName3DDkShadow 65224 -#define ExtCtrls_clName3DLight 65225 -#define ExtCtrls_clNameWindow 65226 -#define ExtCtrls_clNameWindowFrame 65227 -#define ExtCtrls_clNameWindowText 65228 -#define ComStrs_sInvalidIndex 65229 -#define ComStrs_sInsertError 65230 -#define ComStrs_sUDAssociated 65231 -#define ExtCtrls_clNameCream 65232 -#define ExtCtrls_clNameMedGray 65233 -#define ExtCtrls_clNameActiveBorder 65234 -#define ExtCtrls_clNameActiveCaption 65235 -#define ExtCtrls_clNameAppWorkSpace 65236 -#define ExtCtrls_clNameBackground 65237 -#define ExtCtrls_clNameBtnFace 65238 -#define ExtCtrls_clNameBtnHighlight 65239 -#define ExtCtrls_clNameBtnShadow 65240 -#define ExtCtrls_clNameBtnText 65241 -#define ExtCtrls_clNameCaptionText 65242 -#define ExtCtrls_clNameDefault 65243 -#define ExtCtrls_clNameGrayText 65244 -#define ExtCtrls_clNameHighlight 65245 -#define ExtCtrls_clNameHighlightText 65246 -#define ExtCtrls_clNameInactiveBorder 65247 -#define ExtCtrls_clNameGreen 65248 -#define ExtCtrls_clNameOlive 65249 -#define ExtCtrls_clNameNavy 65250 -#define ExtCtrls_clNamePurple 65251 -#define ExtCtrls_clNameTeal 65252 -#define ExtCtrls_clNameGray 65253 -#define ExtCtrls_clNameSilver 65254 -#define ExtCtrls_clNameRed 65255 -#define ExtCtrls_clNameLime 65256 -#define ExtCtrls_clNameYellow 65257 -#define ExtCtrls_clNameBlue 65258 -#define ExtCtrls_clNameFuchsia 65259 -#define ExtCtrls_clNameAqua 65260 -#define ExtCtrls_clNameWhite 65261 -#define ExtCtrls_clNameMoneyGreen 65262 -#define ExtCtrls_clNameSkyBlue 65263 -#define Consts_SPictureDesc 65264 -#define Consts_SPreviewLabel 65265 -#define Consts_SDockedCtlNeedsName 65266 -#define Consts_SDockTreeRemoveError 65267 -#define Consts_SDockZoneNotFound 65268 -#define Consts_SDockZoneHasNoCtl 65269 -#define Consts_SMultiSelectRequired 65270 -#define Consts_SSeparator 65271 -#define Consts_SErrorSettingCount 65272 -#define Consts_SListBoxMustBeVirtual 65273 -#define HelpIntfs_hNoTableOfContents 65274 -#define HelpIntfs_hNothingFound 65275 -#define HelpIntfs_hNoContext 65276 -#define HelpIntfs_hNoTopics 65277 -#define ExtCtrls_clNameBlack 65278 -#define ExtCtrls_clNameMaroon 65279 -#define Consts_SInsertLineError 65280 -#define Consts_SConfirmCreateDir 65281 -#define Consts_SSelectDirCap 65282 -#define Consts_SDirNameCap 65283 -#define Consts_SDrivesCap 65284 -#define Consts_SDirsCap 65285 -#define Consts_SFilesCap 65286 -#define Consts_SNetworkCap 65287 -#define Consts_SInvalidClipFmt 65288 -#define Consts_SIconToClipboard 65289 -#define Consts_SCannotOpenClipboard 65290 -#define Consts_SInvalidMemoSize 65291 -#define Consts_SInvalidPrinterOp 65292 -#define Consts_SNoDefaultPrinter 65293 -#define Consts_SDuplicateMenus 65294 -#define Consts_SPictureLabel 65295 -#define Consts_SmkcPgUp 65296 -#define Consts_SmkcPgDn 65297 -#define Consts_SmkcEnd 65298 -#define Consts_SmkcHome 65299 -#define Consts_SmkcLeft 65300 -#define Consts_SmkcUp 65301 -#define Consts_SmkcRight 65302 -#define Consts_SmkcDown 65303 -#define Consts_SmkcIns 65304 -#define Consts_SmkcDel 65305 -#define Consts_SmkcShift 65306 -#define Consts_SmkcCtrl 65307 -#define Consts_SmkcAlt 65308 -#define Consts_srNone 65309 -#define Consts_SOutOfRange 65310 -#define Consts_sAllFilter 65311 -#define Consts_SMsgDlgYes 65312 -#define Consts_SMsgDlgNo 65313 -#define Consts_SMsgDlgOK 65314 -#define Consts_SMsgDlgCancel 65315 -#define Consts_SMsgDlgHelp 65316 -#define Consts_SMsgDlgAbort 65317 -#define Consts_SMsgDlgRetry 65318 -#define Consts_SMsgDlgIgnore 65319 -#define Consts_SMsgDlgAll 65320 -#define Consts_SMsgDlgNoToAll 65321 -#define Consts_SMsgDlgYesToAll 65322 -#define Consts_SmkcBkSp 65323 -#define Consts_SmkcTab 65324 -#define Consts_SmkcEsc 65325 -#define Consts_SmkcEnter 65326 -#define Consts_SmkcSpace 65327 -#define Consts_SCloseButton 65328 -#define Consts_SIgnoreButton 65329 -#define Consts_SRetryButton 65330 -#define Consts_SAbortButton 65331 -#define Consts_SAllButton 65332 -#define Consts_SCannotDragForm 65333 -#define Consts_SVMetafiles 65334 -#define Consts_SVEnhMetafiles 65335 -#define Consts_SVIcons 65336 -#define Consts_SVBitmaps 65337 -#define Consts_SMaskErr 65338 -#define Consts_SMaskEditErr 65339 -#define Consts_SMsgDlgWarning 65340 -#define Consts_SMsgDlgError 65341 -#define Consts_SMsgDlgInformation 65342 -#define Consts_SMsgDlgConfirm 65343 -#define Consts_SMenuIndexError 65344 -#define Consts_SMenuReinserted 65345 -#define Consts_SMenuNotFound 65346 -#define Consts_SNoTimers 65347 -#define Consts_SNotPrinting 65348 -#define Consts_SPrinting 65349 -#define Consts_SInvalidPrinter 65350 -#define Consts_SDeviceOnPort 65351 -#define Consts_SGroupIndexTooLow 65352 -#define Consts_SNoMDIForm 65353 -#define Consts_SControlParentSetToSelf 65354 -#define Consts_SOKButton 65355 -#define Consts_SCancelButton 65356 -#define Consts_SYesButton 65357 -#define Consts_SNoButton 65358 -#define Consts_SHelpButton 65359 -#define Consts_SInvalidImageSize 65360 -#define Consts_SInvalidImageList 65361 -#define Consts_SReplaceImage 65362 -#define Consts_SImageIndexError 65363 -#define Consts_SImageReadFail 65364 -#define Consts_SImageWriteFail 65365 -#define Consts_SWindowDCError 65366 -#define Consts_SWindowClass 65367 -#define Consts_SCannotFocus 65368 -#define Consts_SParentRequired 65369 -#define Consts_SParentGivenNotAParent 65370 -#define Consts_SMDIChildNotVisible 65371 -#define Consts_SVisibleChanged 65372 -#define Consts_SCannotShowModal 65373 -#define Consts_SScrollBarRange 65374 -#define Consts_SPropertyOutOfRange 65375 +#define cxGridStrs_scxGridCustomizationFormColumnsPageCaption 64272 +#define cxGridStrs_scxGridGroupByBoxCaption 64273 +#define cxGridStrs_scxGridFilterCustomizeButtonCaption 64274 +#define cxGridStrs_scxGridColumnsQuickCustomizationHint 64275 +#define cxPCConsts_scxPCNoBaseImages 64288 +#define cxPCConsts_scxPCNoRegisteredStyles 64289 +#define cxPCConsts_scxPCPageIndexError 64290 +#define cxPCConsts_scxPCPainterClassError 64291 +#define cxPCConsts_scxPCTabCountEqualsZero 64292 +#define cxPCConsts_scxPCTabIndexError 64293 +#define cxPCConsts_scxPCTabVisibleIndexOutsOfBounds 64294 +#define cxPCConsts_scxPCVisibleTabListEmpty 64295 +#define cxPCConsts_scxPCAllowRotateError 64296 +#define cxGridStrs_scxGridDeletingConfirmationCaption 64297 +#define cxGridStrs_scxGridDeletingFocusedConfirmationText 64298 +#define cxGridStrs_scxGridDeletingSelectedConfirmationText 64299 +#define cxGridStrs_scxGridNoDataInfoText 64300 +#define cxGridStrs_scxGridNewItemRowInfoText 64301 +#define cxGridStrs_scxGridFilterIsEmpty 64302 +#define cxGridStrs_scxGridCustomizationFormCaption 64303 +#define MidConst_SErrorLoadingMidas 64304 +#define MidConst_SCannotCreateDataSet 64305 +#define MidConst_SNoConnectToBroker 64306 +#define MidConst_SNoParentConnection 64307 +#define MidConst_SInvalidOptParamType 64308 +#define MidConst_SConstraintFailed 64309 +#define MidConst_SField 64310 +#define MidConst_SRecConstFail 64311 +#define MidConst_SFieldConstFail 64312 +#define MidConst_SDefExprFail 64313 +#define MidConst_SNoEditsAllowed 64314 +#define MidConst_SNoDeletesAllowed 64315 +#define MidConst_SNoInsertsAllowed 64316 +#define MidConst_SConnectionMissing 64317 +#define MidConst_SNoCircularConnection 64318 +#define cxPCConsts_scxPCImageListIndexError 64319 +#define cxFilterControlStrs_cxSFilterDialogRows 64320 +#define cxFilterControlStrs_cxSFilterControlDialogCaption 64321 +#define cxFilterControlStrs_cxSFilterControlDialogNewFile 64322 +#define cxFilterControlStrs_cxSFilterControlDialogOpenDialogCaption 64323 +#define cxFilterControlStrs_cxSFilterControlDialogSaveDialogCaption 64324 +#define cxFilterControlStrs_cxSFilterControlDialogActionSaveCaption 64325 +#define cxFilterControlStrs_cxSFilterControlDialogActionOpenCaption 64326 +#define cxFilterControlStrs_cxSFilterControlDialogActionApplyCaption 64327 +#define cxFilterControlStrs_cxSFilterControlDialogActionOkCaption 64328 +#define cxFilterControlStrs_cxSFilterControlDialogActionCancelCaption 64329 +#define cxFilterControlStrs_cxSFilterControlDialogFileExt 64330 +#define cxFilterControlStrs_cxSFilterControlDialogFileFilter 64331 +#define MidConst_SNoDataProvider 64332 +#define MidConst_SInvalidDataPacket 64333 +#define MidConst_SRefreshError 64334 +#define MidConst_SNoCircularReference 64335 +#define cxFilterControlStrs_cxSFilterAddCondition 64336 +#define cxFilterControlStrs_cxSFilterAddGroup 64337 +#define cxFilterControlStrs_cxSFilterRemoveRow 64338 +#define cxFilterControlStrs_cxSFilterClearAll 64339 +#define cxFilterControlStrs_cxSFilterFooterAddCondition 64340 +#define cxFilterControlStrs_cxSFilterGroupCaption 64341 +#define cxFilterControlStrs_cxSFilterRootGroupCaption 64342 +#define cxFilterControlStrs_cxSFilterControlNullString 64343 +#define cxFilterControlStrs_cxSFilterErrorBuilding 64344 +#define cxFilterControlStrs_cxSFilterDialogCaption 64345 +#define cxFilterControlStrs_cxSFilterDialogInvalidValue 64346 +#define cxFilterControlStrs_cxSFilterDialogUse 64347 +#define cxFilterControlStrs_cxSFilterDialogSingleCharacter 64348 +#define cxFilterControlStrs_cxSFilterDialogCharactersSeries 64349 +#define cxFilterControlStrs_cxSFilterDialogOperationAnd 64350 +#define cxFilterControlStrs_cxSFilterDialogOperationOr 64351 +#define cxEditConsts_scxRegExprHexNumberExpected0 64352 +#define cxEditConsts_scxRegExprHexNumberExpected 64353 +#define cxEditConsts_scxRegExprMissing 64354 +#define cxEditConsts_scxRegExprUnnecessary 64355 +#define cxEditConsts_scxRegExprIncorrectSpace 64356 +#define cxEditConsts_scxRegExprNotCompiled 64357 +#define cxEditConsts_scxRegExprIncorrectParameterQuantifier 64358 +#define cxEditConsts_scxRegExprCantUseParameterQuantifier 64359 +#define cxEditConsts_scxMaskEditRegExprError 64360 +#define cxEditConsts_scxMaskEditInvalidEditValue 64361 +#define cxEditConsts_cxSSpinEditInvalidNumericValue 64362 +#define cxFilterControlStrs_cxSFilterBoolOperatorAnd 64363 +#define cxFilterControlStrs_cxSFilterBoolOperatorOr 64364 +#define cxFilterControlStrs_cxSFilterBoolOperatorNotAnd 64365 +#define cxFilterControlStrs_cxSFilterBoolOperatorNotOr 64366 +#define cxFilterControlStrs_cxSFilterRootButtonCaption 64367 +#define cxEditConsts_scxSEditRepositoryTextItem 64368 +#define cxEditConsts_scxSEditRepositoryTimeItem 64369 +#define cxEditConsts_scxRegExprLine 64370 +#define cxEditConsts_scxRegExprChar 64371 +#define cxEditConsts_scxRegExprNotAssignedSourceStream 64372 +#define cxEditConsts_scxRegExprEmptySourceStream 64373 +#define cxEditConsts_scxRegExprCantUsePlusQuantifier 64374 +#define cxEditConsts_scxRegExprCantUseStarQuantifier 64375 +#define cxEditConsts_scxRegExprCantCreateEmptyAlt 64376 +#define cxEditConsts_scxRegExprCantCreateEmptyBlock 64377 +#define cxEditConsts_scxRegExprIllegalSymbol 64378 +#define cxEditConsts_scxRegExprIllegalQuantifier 64379 +#define cxEditConsts_scxRegExprIllegalIntegerValue 64380 +#define cxEditConsts_scxRegExprTooBigReferenceNumber 64381 +#define cxEditConsts_scxRegExprCantCreateEmptyEnum 64382 +#define cxEditConsts_scxRegExprSubrangeOrder 64383 +#define cxEditConsts_scxSEditRepositoryBlobItem 64384 +#define cxEditConsts_scxSEditRepositoryButtonItem 64385 +#define cxEditConsts_scxSEditRepositoryCalcItem 64386 +#define cxEditConsts_scxSEditRepositoryCheckBoxItem 64387 +#define cxEditConsts_scxSEditRepositoryComboBoxItem 64388 +#define cxEditConsts_scxSEditRepositoryCurrencyItem 64389 +#define cxEditConsts_scxSEditRepositoryDateItem 64390 +#define cxEditConsts_scxSEditRepositoryHyperLinkItem 64391 +#define cxEditConsts_scxSEditRepositoryImageComboBoxItem 64392 +#define cxEditConsts_scxSEditRepositoryImageItem 64393 +#define cxEditConsts_scxSEditRepositoryMaskItem 64394 +#define cxEditConsts_scxSEditRepositoryMemoItem 64395 +#define cxEditConsts_scxSEditRepositoryMRUItem 64396 +#define cxEditConsts_scxSEditRepositoryPopupItem 64397 +#define cxEditConsts_scxSEditRepositorySpinItem 64398 +#define cxEditConsts_scxSEditRepositoryRadioGroupItem 64399 +#define cxEditConsts_scxSHyperLinkPrefix 64400 +#define cxEditConsts_cxNavigatorHint_First 64401 +#define cxEditConsts_cxNavigatorHint_Prior 64402 +#define cxEditConsts_cxNavigatorHint_PriorPage 64403 +#define cxEditConsts_cxNavigatorHint_Next 64404 +#define cxEditConsts_cxNavigatorHint_NextPage 64405 +#define cxEditConsts_cxNavigatorHint_Last 64406 +#define cxEditConsts_cxNavigatorHint_Insert 64407 +#define cxEditConsts_cxNavigatorHint_Delete 64408 +#define cxEditConsts_cxNavigatorHint_Edit 64409 +#define cxEditConsts_cxNavigatorHint_Post 64410 +#define cxEditConsts_cxNavigatorHint_Cancel 64411 +#define cxEditConsts_cxNavigatorHint_Refresh 64412 +#define cxEditConsts_cxNavigatorHint_SaveBookmark 64413 +#define cxEditConsts_cxNavigatorHint_GotoBookmark 64414 +#define cxEditConsts_cxNavigatorHint_Filter 64415 +#define cxEditConsts_cxSDateTuesday 64416 +#define cxEditConsts_cxSDateWednesday 64417 +#define cxEditConsts_cxSDateThursday 64418 +#define cxEditConsts_cxSDateFriday 64419 +#define cxEditConsts_cxSDateSaturday 64420 +#define cxEditConsts_cxSDateFirst 64421 +#define cxEditConsts_cxSDateSecond 64422 +#define cxEditConsts_cxSDateThird 64423 +#define cxEditConsts_cxSDateFourth 64424 +#define cxEditConsts_cxSDateFifth 64425 +#define cxEditConsts_cxSDateSixth 64426 +#define cxEditConsts_cxSDateSeventh 64427 +#define cxEditConsts_cxSDateBOM 64428 +#define cxEditConsts_cxSDateEOM 64429 +#define cxEditConsts_cxSDateNow 64430 +#define cxEditConsts_scxSCalcError 64431 +#define cxEditConsts_cxSMenuItemCaptionCut 64432 +#define cxEditConsts_cxSMenuItemCaptionCopy 64433 +#define cxEditConsts_cxSMenuItemCaptionPaste 64434 +#define cxEditConsts_cxSMenuItemCaptionDelete 64435 +#define cxEditConsts_cxSMenuItemCaptionLoad 64436 +#define cxEditConsts_cxSMenuItemCaptionSave 64437 +#define cxEditConsts_cxSDatePopupClear 64438 +#define cxEditConsts_cxSDatePopupNow 64439 +#define cxEditConsts_cxSDatePopupOK 64440 +#define cxEditConsts_cxSDatePopupToday 64441 +#define cxEditConsts_cxSDateError 64442 +#define cxEditConsts_cxSDateToday 64443 +#define cxEditConsts_cxSDateYesterday 64444 +#define cxEditConsts_cxSDateTomorrow 64445 +#define cxEditConsts_cxSDateSunday 64446 +#define cxEditConsts_cxSDateMonday 64447 +#define cxEditConsts_cxSEditNumericValueConvertError 64448 +#define cxEditConsts_cxSEditPopupCircularReferencingError 64449 +#define cxEditConsts_cxSEditTimeConvertError 64450 +#define cxEditConsts_cxSEditValidateErrorText 64451 +#define cxEditConsts_cxSEditValueOutOfBounds 64452 +#define cxEditConsts_cxSEditCheckBoxChecked 64453 +#define cxEditConsts_cxSEditCheckBoxGrayed 64454 +#define cxEditConsts_cxSEditCheckBoxUnchecked 64455 +#define cxEditConsts_cxSRadioGroupDefaultCaption 64456 +#define cxEditConsts_cxSBlobButtonOK 64457 +#define cxEditConsts_cxSBlobButtonCancel 64458 +#define cxEditConsts_cxSBlobButtonClose 64459 +#define cxEditConsts_cxSBlobMemo 64460 +#define cxEditConsts_cxSBlobMemoEmpty 64461 +#define cxEditConsts_cxSBlobPicture 64462 +#define cxEditConsts_cxSBlobPictureEmpty 64463 +#define cxFilterConsts_cxSFilterNotCaption 64464 +#define cxFilterConsts_cxSFilterBlankCaption 64465 +#define cxFilterConsts_cxSFilterOperatorIsNull 64466 +#define cxFilterConsts_cxSFilterOperatorIsNotNull 64467 +#define cxFilterConsts_cxSFilterOperatorBeginsWith 64468 +#define cxFilterConsts_cxSFilterOperatorDoesNotBeginWith 64469 +#define cxFilterConsts_cxSFilterOperatorEndsWith 64470 +#define cxFilterConsts_cxSFilterOperatorDoesNotEndWith 64471 +#define cxFilterConsts_cxSFilterOperatorContains 64472 +#define cxFilterConsts_cxSFilterOperatorDoesNotContain 64473 +#define cxFilterConsts_cxSFilterBoxAllCaption 64474 +#define cxFilterConsts_cxSFilterBoxCustomCaption 64475 +#define cxFilterConsts_cxSFilterBoxBlanksCaption 64476 +#define cxFilterConsts_cxSFilterBoxNonBlanksCaption 64477 +#define cxEditConsts_cxSEditDateConvertError 64478 +#define cxEditConsts_cxSEditInvalidRepositoryItem 64479 +#define cxFilterConsts_cxSFilterOperatorLastMonth 64480 +#define cxFilterConsts_cxSFilterOperatorLastYear 64481 +#define cxFilterConsts_cxSFilterOperatorPast 64482 +#define cxFilterConsts_cxSFilterOperatorThisWeek 64483 +#define cxFilterConsts_cxSFilterOperatorThisMonth 64484 +#define cxFilterConsts_cxSFilterOperatorThisYear 64485 +#define cxFilterConsts_cxSFilterOperatorNext7Days 64486 +#define cxFilterConsts_cxSFilterOperatorNextWeek 64487 +#define cxFilterConsts_cxSFilterOperatorNext14Days 64488 +#define cxFilterConsts_cxSFilterOperatorNextTwoWeeks 64489 +#define cxFilterConsts_cxSFilterOperatorNext30Days 64490 +#define cxFilterConsts_cxSFilterOperatorNextMonth 64491 +#define cxFilterConsts_cxSFilterOperatorNextYear 64492 +#define cxFilterConsts_cxSFilterOperatorFuture 64493 +#define cxFilterConsts_cxSFilterAndCaption 64494 +#define cxFilterConsts_cxSFilterOrCaption 64495 +#define cxFilterConsts_cxSFilterOperatorGreater 64496 +#define cxFilterConsts_cxSFilterOperatorGreaterEqual 64497 +#define cxFilterConsts_cxSFilterOperatorLike 64498 +#define cxFilterConsts_cxSFilterOperatorNotLike 64499 +#define cxFilterConsts_cxSFilterOperatorBetween 64500 +#define cxFilterConsts_cxSFilterOperatorNotBetween 64501 +#define cxFilterConsts_cxSFilterOperatorInList 64502 +#define cxFilterConsts_cxSFilterOperatorNotInList 64503 +#define cxFilterConsts_cxSFilterOperatorYesterday 64504 +#define cxFilterConsts_cxSFilterOperatorToday 64505 +#define cxFilterConsts_cxSFilterOperatorTomorrow 64506 +#define cxFilterConsts_cxSFilterOperatorLast7Days 64507 +#define cxFilterConsts_cxSFilterOperatorLastWeek 64508 +#define cxFilterConsts_cxSFilterOperatorLast14Days 64509 +#define cxFilterConsts_cxSFilterOperatorLastTwoWeeks 64510 +#define cxFilterConsts_cxSFilterOperatorLast30Days 64511 +#define pnglang_EPNGCannotAddChunkText 64512 +#define pnglang_EPNGCannotAddInvalidImageText 64513 +#define pnglang_EPNGOutMemoryText 64514 +#define pnglang_EPNGHeaderNotPresentText 64515 +#define cxDataConsts_cxSDataReadError 64516 +#define cxDataConsts_cxSDataWriteError 64517 +#define cxDataConsts_cxSDataItemExistError 64518 +#define cxDataConsts_cxSDataRecordIndexError 64519 +#define cxDataConsts_cxSDataItemIndexError 64520 +#define cxDataConsts_cxSDataProviderModeError 64521 +#define cxDataConsts_cxSDataInvalidStreamFormat 64522 +#define cxDataConsts_cxSDataRowIndexError 64523 +#define cxFilterConsts_cxSFilterOperatorEqual 64524 +#define cxFilterConsts_cxSFilterOperatorNotEqual 64525 +#define cxFilterConsts_cxSFilterOperatorLess 64526 +#define cxFilterConsts_cxSFilterOperatorLessEqual 64527 +#define pnglang_EPngInvalidCRCText 64528 +#define pnglang_EPNGInvalidIHDRText 64529 +#define pnglang_EPNGMissingMultipleIDATText 64530 +#define pnglang_EPNGZLIBErrorText 64531 +#define pnglang_EPNGInvalidPaletteText 64532 +#define pnglang_EPNGInvalidFileHeaderText 64533 +#define pnglang_EPNGIHDRNotFirstText 64534 +#define pnglang_EPNGSizeExceedsText 64535 +#define pnglang_EPNGUnknownPalEntryText 64536 +#define pnglang_EPNGUnknownCriticalChunkText 64537 +#define pnglang_EPNGUnknownCompressionText 64538 +#define pnglang_EPNGUnknownInterlaceText 64539 +#define pnglang_EPNGCannotAssignChunkText 64540 +#define pnglang_EPNGUnexpectedEndText 64541 +#define pnglang_EPNGNoImageDataText 64542 +#define pnglang_EPNGCannotChangeSizeText 64543 +#define IBXConst_SIB71feature 64544 +#define IBXConst_SIB80feature 64545 +#define ADOConst_SMissingConnection 64546 +#define ADOConst_SNoDetailFilter 64547 +#define ADOConst_SBookmarksRequired 64548 +#define ADOConst_SMissingCommandText 64549 +#define ADOConst_SNoResultSet 64550 +#define ADOConst_SADOCreateError 64551 +#define ADOConst_SEventsNotSupported 64552 +#define ADOConst_SUsupportedFieldType 64553 +#define ADOConst_SConnectionRequired 64554 +#define ADOConst_SCantRequery 64555 +#define ADOConst_SNoFilterOptions 64556 +#define ADOConst_SRecordsetNotOpen 64557 +#define ADOConst_sNameAttr 64558 +#define ADOConst_sValueAttr 64559 +#define IBXConst_SNoUninstallFile 64560 +#define IBXConst_SOptionNeedsClient 64561 +#define IBXConst_SOptionNeedsServer 64562 +#define IBXConst_SInvalidOption 64563 +#define IBXConst_SInvalidOnErrorResult 64564 +#define IBXConst_SInvalidOnStatusResult 64565 +#define IBXConst_SDPBConstantUnknownEx 64566 +#define IBXConst_STPBConstantUnknownEx 64567 +#define IBXConst_SUnknownPlan 64568 +#define IBXConst_SFieldSizeMismatch 64569 +#define IBXConst_SEventAlreadyRegistered 64570 +#define IBXConst_SStringTooLarge 64571 +#define IBXConst_SNoTimers 64572 +#define IBXConst_SIB65feature 64573 +#define IBXConst_SLoginPromptFailure 64574 +#define IBXConst_SIB70feature 64575 +#define IBXConst_SServerNameMissing 64576 +#define IBXConst_SQueryParamsError 64577 +#define IBXConst_SStartParamsError 64578 +#define IBXConst_SOutputParsingError 64579 +#define IBXConst_SUseSpecificProcedures 64580 +#define IBXConst_SSQLMonitorAlreadyPresent 64581 +#define IBXConst_SCantPrintValue 64582 +#define IBXConst_SEOFReached 64583 +#define IBXConst_SEOFInComment 64584 +#define IBXConst_SEOFInString 64585 +#define IBXConst_SParamNameExpected 64586 +#define IBXConst_SSuccess 64587 +#define IBXConst_SDelphiException 64588 +#define IBXConst_SNoOptionsSet 64589 +#define IBXConst_SNoDestinationDirectory 64590 +#define IBXConst_SNosourceDirectory 64591 +#define IBXConst_SCannotCreatePrimaryIndex 64592 +#define IBXConst_SCannotDropSystemIndex 64593 +#define IBXConst_STableNameMismatch 64594 +#define IBXConst_SIndexFieldMissing 64595 +#define IBXConst_SInvalidCancellation 64596 +#define IBXConst_SInvalidEvent 64597 +#define IBXConst_SMaximumEvents 64598 +#define IBXConst_SNoEventsRegistered 64599 +#define IBXConst_SInvalidQueueing 64600 +#define IBXConst_SInvalidRegistration 64601 +#define IBXConst_SInvalidBatchMove 64602 +#define IBXConst_SSQLDialectInvalid 64603 +#define IBXConst_SSPBConstantNotSupported 64604 +#define IBXConst_SSPBConstantUnknown 64605 +#define IBXConst_SServiceActive 64606 +#define IBXConst_SServiceInActive 64607 +#define IBXConst_SColumnListsDontMatch 64608 +#define IBXConst_SColumnTypesDontMatch 64609 +#define IBXConst_SCantEndSharedTransaction 64610 +#define IBXConst_SFieldUnsupportedType 64611 +#define IBXConst_SCircularDataLink 64612 +#define IBXConst_SEmptySQLStatement 64613 +#define IBXConst_SIsASelectStatement 64614 +#define IBXConst_SRequiredParamNotSet 64615 +#define IBXConst_SNoStoredProcName 64616 +#define IBXConst_SIsAExecuteProcedure 64617 +#define IBXConst_SUpdateFailed 64618 +#define IBXConst_SNotCachedUpdates 64619 +#define IBXConst_SNotLiveRequest 64620 +#define IBXConst_SNoProvider 64621 +#define IBXConst_SNoRecordsAffected 64622 +#define IBXConst_SNoTableName 64623 +#define IBXConst_SNoFieldAccess 64624 +#define IBXConst_SFieldReadOnly 64625 +#define IBXConst_SFieldNotFound 64626 +#define IBXConst_SNotEditing 64627 +#define IBXConst_SCannotInsert 64628 +#define IBXConst_SCannotPost 64629 +#define IBXConst_SCannotUpdate 64630 +#define IBXConst_SCannotDelete 64631 +#define IBXConst_SCannotRefresh 64632 +#define IBXConst_SBufferNotSet 64633 +#define IBXConst_SCircularReference 64634 +#define IBXConst_SSQLParseError 64635 +#define IBXConst_SUserAbort 64636 +#define IBXConst_SDataSetUniDirectional 64637 +#define IBXConst_SCannotCreateSharedResource 64638 +#define IBXConst_SWindowsAPIError 64639 +#define IBXConst_SEOF 64640 +#define IBXConst_SBOF 64641 +#define IBXConst_SInvalidStatementHandle 64642 +#define IBXConst_SSQLOpen 64643 +#define IBXConst_SSQLClosed 64644 +#define IBXConst_SDatasetOpen 64645 +#define IBXConst_SDatasetClosed 64646 +#define IBXConst_SUnknownSQLDataType 64647 +#define IBXConst_SInvalidColumnIndex 64648 +#define IBXConst_SInvalidParamColumnIndex 64649 +#define IBXConst_SInvalidDataConversion 64650 +#define IBXConst_SColumnIsNotNullable 64651 +#define IBXConst_SBlobCannotBeRead 64652 +#define IBXConst_SBlobCannotBeWritten 64653 +#define IBXConst_SEmptyQuery 64654 +#define IBXConst_SCannotOpenNonSQLSelect 64655 +#define IBXConst_SDPBConstantUnknown 64656 +#define IBXConst_STPBConstantNotSupported 64657 +#define IBXConst_STPBConstantUnknown 64658 +#define IBXConst_SDatabaseClosed 64659 +#define IBXConst_SDatabaseOpen 64660 +#define IBXConst_SDatabaseNameMissing 64661 +#define IBXConst_SNotInTransaction 64662 +#define IBXConst_SInTransaction 64663 +#define IBXConst_STimeoutNegative 64664 +#define IBXConst_SNoDatabasesInTransaction 64665 +#define IBXConst_SUpdateWrongDB 64666 +#define IBXConst_SUpdateWrongTR 64667 +#define IBXConst_SDatabaseNotAssigned 64668 +#define IBXConst_STransactionNotAssigned 64669 +#define IBXConst_SXSQLDAIndexOutOfRange 64670 +#define IBXConst_SXSQLDANameDoesNotExist 64671 +#define IBSQLMonitor_StrRollback 64672 +#define IBSQLMonitor_StrRollbackRetainin 64673 +#define IBSQLMonitor_StrStartTransaction 64674 +#define IBSQLMonitor_StrApplication 64675 +#define IBXConst_SUnknownError 64676 +#define IBXConst_SInterBaseMissing 64677 +#define IBXConst_SInterBaseInstallMissing 64678 +#define IBXConst_SIB60feature 64679 +#define IBXConst_SNotSupported 64680 +#define IBXConst_SNotPermitted 64681 +#define IBXConst_SFileAccessError 64682 +#define IBXConst_SConnectionTimeout 64683 +#define IBXConst_SCannotSetDatabase 64684 +#define IBXConst_SCannotSetTransaction 64685 +#define IBXConst_SOperationCancelled 64686 +#define IBXConst_SDPBConstantNotSupported 64687 +#define IBSQLMonitor_StrDisconnect 64688 +#define IBSQLMonitor_StrMisc 64689 +#define IBSQLMonitor_StrError 64690 +#define IBSQLMonitor_StrAttach 64691 +#define IBSQLMonitor_StrDetach 64692 +#define IBSQLMonitor_StrQuery 64693 +#define IBSQLMonitor_StrStart 64694 +#define IBSQLMonitor_StrExecute 64695 +#define IBSQLMonitor_StrNULL 64696 +#define IBSQLMonitor_StrBLOB 64697 +#define IBSQLMonitor_StrFetch 64698 +#define IBSQLMonitor_StrPrepare 64699 +#define IBSQLMonitor_StrPlan 64700 +#define IBSQLMonitor_StrPlanCantRetrive 64701 +#define IBSQLMonitor_StrCommitHardComm 64702 +#define IBSQLMonitor_StrCommitRetaining 64703 +#define uDARes_err_LoadPackageFailed 64704 +#define uDARes_err_InvalidDriverReference 64705 +#define uDARes_err_CannotFindStatement 64706 +#define uDARes_err_CannotFindDefaultItem 64707 +#define uDARes_err_PoolIsNotEmpty 64708 +#define uDARes_err_MaxPoolSizeReached 64709 +#define uDARes_err_LAMEDataset 64710 +#define uDARes_err_HETConnectionNotSupportedInV3 64711 +#define uDARes_err_DARDMInvalidSchema 64712 +#define uDARes_err_DARDMUnassignedAdapter 64713 +#define uDARes_err_DARDMConnectionIsNotAssigned 64714 +#define uDARes_err_DARDMCannotFindProxessorForDelta 64715 +#define uDARes_err_NeedShareMem 64716 +#define uDARes_err_ExecuteSQLCommandNotAllowed 64717 +#define uDARes_err_DatasetNotAccessible 64718 +#define IBSQLMonitor_StrConnect 64719 +#define JvResources_RsHotLight 64720 +#define JvResources_RsMenuBar 64721 +#define JvResources_RsMenuHighlight 64722 +#define uDARes_err_ChangeLogAlreadyStarted 64723 +#define uDARes_err_NotAttachedToDataTable 64724 +#define uDARes_err_DriverProcAlreadyRegistered 64725 +#define uDARes_err_DriverManagerAlreadyCreated 64726 +#define uDARes_err_DriverManagerNotAssigned 64727 +#define uDARes_err_FieldTypeNotSupported 64728 +#define uDARes_err_InvalidDataset 64729 +#define uDARes_err_CannotFindItem 64730 +#define uDARes_err_DriverAlreadyLoaded 64731 +#define uDARes_err_InvalidDLL 64732 +#define uDARes_err_UnknownDriver 64733 +#define uDARes_err_FieldIsNotBound 64734 +#define uDARes_err_CannotFindField 64735 +#define JvResources_RsClInactiveBorder 64736 +#define JvResources_RsClAppWorkSpace 64737 +#define JvResources_RsClHighlight 64738 +#define JvResources_RsClHighlightText 64739 +#define JvResources_RsClBtnFace 64740 +#define JvResources_RsClBtnShadow 64741 +#define JvResources_RsClGrayText 64742 +#define JvResources_RsClBtnText 64743 +#define JvResources_RsClInactiveCaptionText 64744 +#define JvResources_RsClBtnHighlight 64745 +#define JvResources_RsCl3DDkShadow 64746 +#define JvResources_RsCl3DLight 64747 +#define JvResources_RsClInfoText 64748 +#define JvResources_RsClInfoBk 64749 +#define JvResources_RsGradientActiveCaption 64750 +#define JvResources_RsGradientInactiveCaption 64751 +#define JvResources_RsClLightYellow 64752 +#define JvResources_RsClLightGreen 64753 +#define JvResources_RsClLightTurquoise 64754 +#define JvResources_RsClPaleBlue 64755 +#define JvResources_RsClLavender 64756 +#define JvResources_RsClScrollBar 64757 +#define JvResources_RsClBackground 64758 +#define JvResources_RsClActiveCaption 64759 +#define JvResources_RsClInactiveCaption 64760 +#define JvResources_RsClMenu 64761 +#define JvResources_RsClWindow 64762 +#define JvResources_RsClWindowFrame 64763 +#define JvResources_RsClMenuText 64764 +#define JvResources_RsClWindowText 64765 +#define JvResources_RsClCaptionText 64766 +#define JvResources_RsClActiveBorder 64767 +#define JvResources_RsClDarkYellow 64768 +#define JvResources_RsClBlueGray 64769 +#define JvResources_RsClGray50 64770 +#define JvResources_RsClLightOrange 64771 +#define JvResources_RsClSeaGreen 64772 +#define JvResources_RsClLightBlue 64773 +#define JvResources_RsClViolet 64774 +#define JvResources_RsClGray40 64775 +#define JvResources_RsClPink 64776 +#define JvResources_RsClGold 64777 +#define JvResources_RsClBrightGreen 64778 +#define JvResources_RsClTurquoise 64779 +#define JvResources_RsClPlum 64780 +#define JvResources_RsClGray25 64781 +#define JvResources_RsClRose 64782 +#define JvResources_RsClTan 64783 +#define JvResources_RsClFuchsia 64784 +#define JvResources_RsClAqua 64785 +#define JvResources_RsClWhite 64786 +#define JvResources_RsClMoneyGreen 64787 +#define JvResources_RsClSkyBlue 64788 +#define JvResources_RsClCream 64789 +#define JvResources_RsClMedGray 64790 +#define JvResources_RsClBrown 64791 +#define JvResources_RsClOliveGreen 64792 +#define JvResources_RsClDarkGreen 64793 +#define JvResources_RsClDarkTeal 64794 +#define JvResources_RsClDarkBlue 64795 +#define JvResources_RsClIndigo 64796 +#define JvResources_RsClGray80 64797 +#define JvResources_RsClDarkRed 64798 +#define JvResources_RsClOrange 64799 +#define JvResources_RsEGIFVersion 64800 +#define JvResources_RsEPixelFormatNotImplemented 64801 +#define JvResources_RsEBitCountNotImplemented 64802 +#define JvResources_RsClBlack 64803 +#define JvResources_RsClMaroon 64804 +#define JvResources_RsClGreen 64805 +#define JvResources_RsClOlive 64806 +#define JvResources_RsClNavy 64807 +#define JvResources_RsClPurple 64808 +#define JvResources_RsClTeal 64809 +#define JvResources_RsClGray 64810 +#define JvResources_RsClSilver 64811 +#define JvResources_RsClRed 64812 +#define JvResources_RsClLime 64813 +#define JvResources_RsClYellow 64814 +#define JvResources_RsClBlue 64815 +#define JvResources_RsEUnableToCreateKey 64816 +#define JvResources_RsEEnumeratingRegistry 64817 +#define JvResources_RsEInvalidType 64818 +#define JvResources_RsEUnknownBaseType 64819 +#define JvResources_RsEInvalidPath 64820 +#define JvResources_RsENotAUniqueRootPath 64821 +#define JvResources_RsECircularReferenceOfStorages 64822 +#define JvResources_RsEShellNotCompatible 64823 +#define JvResources_RsGIFImage 64824 +#define JvResources_RsEChangeGIFSize 64825 +#define JvResources_RsENoGIFData 64826 +#define JvResources_RsEUnrecognizedGIFExt 64827 +#define JvResources_RsEWrongGIFColors 64828 +#define JvResources_RsEBadGIFCodeSize 64829 +#define JvResources_RsEGIFDecodeError 64830 +#define JvResources_RsEGIFEncodeError 64831 +#define JclResources_RsIntelCacheDescr7D 64832 +#define JclResources_RsIntelCacheDescr7F 64833 +#define JclResources_RsIntelCacheDescr82 64834 +#define JclResources_RsIntelCacheDescr83 64835 +#define JclResources_RsIntelCacheDescr84 64836 +#define JclResources_RsIntelCacheDescr85 64837 +#define JclResources_RsIntelCacheDescr86 64838 +#define JclResources_RsIntelCacheDescr87 64839 +#define JclResources_RsIntelCacheDescrB0 64840 +#define JclResources_RsIntelCacheDescrB3 64841 +#define JclResources_RsIntelCacheDescrB4 64842 +#define JclResources_RsIntelCacheDescrF0 64843 +#define JclResources_RsIntelCacheDescrF1 64844 +#define JvResources_RsAniExtension 64845 +#define JvResources_RsAniFilterName 64846 +#define JvResources_RsRootValueReplaceFmt 64847 +#define JclResources_RsIntelCacheDescr57 64848 +#define JclResources_RsIntelCacheDescr5B 64849 +#define JclResources_RsIntelCacheDescr5C 64850 +#define JclResources_RsIntelCacheDescr5D 64851 +#define JclResources_RsIntelCacheDescr60 64852 +#define JclResources_RsIntelCacheDescr66 64853 +#define JclResources_RsIntelCacheDescr67 64854 +#define JclResources_RsIntelCacheDescr68 64855 +#define JclResources_RsIntelCacheDescr70 64856 +#define JclResources_RsIntelCacheDescr71 64857 +#define JclResources_RsIntelCacheDescr72 64858 +#define JclResources_RsIntelCacheDescr78 64859 +#define JclResources_RsIntelCacheDescr79 64860 +#define JclResources_RsIntelCacheDescr7A 64861 +#define JclResources_RsIntelCacheDescr7B 64862 +#define JclResources_RsIntelCacheDescr7C 64863 +#define JclResources_RsIntelCacheDescr29 64864 +#define JclResources_RsIntelCacheDescr2C 64865 +#define JclResources_RsIntelCacheDescr30 64866 +#define JclResources_RsIntelCacheDescr40 64867 +#define JclResources_RsIntelCacheDescr41 64868 +#define JclResources_RsIntelCacheDescr42 64869 +#define JclResources_RsIntelCacheDescr43 64870 +#define JclResources_RsIntelCacheDescr44 64871 +#define JclResources_RsIntelCacheDescr45 64872 +#define JclResources_RsIntelCacheDescr46 64873 +#define JclResources_RsIntelCacheDescr47 64874 +#define JclResources_RsIntelCacheDescr49 64875 +#define JclResources_RsIntelCacheDescr50 64876 +#define JclResources_RsIntelCacheDescr51 64877 +#define JclResources_RsIntelCacheDescr52 64878 +#define JclResources_RsIntelCacheDescr56 64879 +#define JclResources_RsRTTIVarType 64880 +#define JclResources_RsDeclarationFormat 64881 +#define JclResources_RsIntelCacheDescr00 64882 +#define JclResources_RsIntelCacheDescr01 64883 +#define JclResources_RsIntelCacheDescr02 64884 +#define JclResources_RsIntelCacheDescr03 64885 +#define JclResources_RsIntelCacheDescr04 64886 +#define JclResources_RsIntelCacheDescr05 64887 +#define JclResources_RsIntelCacheDescr06 64888 +#define JclResources_RsIntelCacheDescr08 64889 +#define JclResources_RsIntelCacheDescr0A 64890 +#define JclResources_RsIntelCacheDescr0B 64891 +#define JclResources_RsIntelCacheDescr0C 64892 +#define JclResources_RsIntelCacheDescr22 64893 +#define JclResources_RsIntelCacheDescr23 64894 +#define JclResources_RsIntelCacheDescr25 64895 +#define JclResources_RsRTTIMinValue 64896 +#define JclResources_RsRTTIMaxValue 64897 +#define JclResources_RsRTTINameList 64898 +#define JclResources_RsRTTIClassName 64899 +#define JclResources_RsRTTIParent 64900 +#define JclResources_RsRTTIPropCount 64901 +#define JclResources_RsRTTIUnitName 64902 +#define JclResources_RsRTTIBasedOn 64903 +#define JclResources_RsRTTIFloatType 64904 +#define JclResources_RsRTTIMethodKind 64905 +#define JclResources_RsRTTIParamCount 64906 +#define JclResources_RsRTTIReturnType 64907 +#define JclResources_RsRTTIMaxLen 64908 +#define JclResources_RsRTTIElSize 64909 +#define JclResources_RsRTTIElType 64910 +#define JclResources_RsRTTIElNeedCleanup 64911 +#define JclResources_RsRTTITypeError 64912 +#define JclResources_RsRTTITypeInfoAt 64913 +#define JclResources_RsRTTIPropRead 64914 +#define JclResources_RsRTTIPropWrite 64915 +#define JclResources_RsRTTIPropStored 64916 +#define JclResources_RsRTTIField 64917 +#define JclResources_RsRTTIStaticMethod 64918 +#define JclResources_RsRTTIVirtualMethod 64919 +#define JclResources_RsRTTIIndex 64920 +#define JclResources_RsRTTIDefault 64921 +#define JclResources_RsRTTIName 64922 +#define JclResources_RsRTTIType 64923 +#define JclResources_RsRTTIFlags 64924 +#define JclResources_RsRTTIGUID 64925 +#define JclResources_RsRTTITypeKind 64926 +#define JclResources_RsRTTIOrdinalType 64927 +#define JclResources_RsHKCRShort 64928 +#define JclResources_RsHKCUShort 64929 +#define JclResources_RsHKLMShort 64930 +#define JclResources_RsHKUSShort 64931 +#define JclResources_RsHKPDShort 64932 +#define JclResources_RsHKCCShort 64933 +#define JclResources_RsHKDDShort 64934 +#define JclResources_RsRTTIValueOutOfRange 64935 +#define JclResources_RsRTTIUnknownIdentifier 64936 +#define JclResources_RsRTTIVar 64937 +#define JclResources_RsRTTIConst 64938 +#define JclResources_RsRTTIArrayOf 64939 +#define JclResources_RsRTTIOut 64940 +#define JclResources_RsRTTIOrdinal 64941 +#define JclResources_RsRTTITrue 64942 +#define JclResources_RsRTTIFalse 64943 +#define JConsts_sChangeJPGSize 64944 +#define JConsts_sJPEGError 64945 +#define JConsts_sJPEGImageFile 64946 +#define JclResources_RsFileUtilsNoVersionInfo 64947 +#define JclResources_RsUnableToOpenKeyRead 64948 +#define JclResources_RsUnableToOpenKeyWrite 64949 +#define JclResources_RsUnableToAccessValue 64950 +#define JclResources_RsWrongDataType 64951 +#define JclResources_RsInconsistentPath 64952 +#define JclResources_RsHKCRLong 64953 +#define JclResources_RsHKCULong 64954 +#define JclResources_RsHKLMLong 64955 +#define JclResources_RsHKUSLong 64956 +#define JclResources_RsHKPDLong 64957 +#define JclResources_RsHKCCLong 64958 +#define JclResources_RsHKDDLong 64959 +#define IdResourceStringsProtocols_RSHTTPUnsupportedMediaType 64960 +#define IdResourceStringsProtocols_RSHTTPInternalServerError 64961 +#define IdResourceStringsProtocols_RSHTTPNotImplemented 64962 +#define IdResourceStringsProtocols_RSHTTPBadGateway 64963 +#define IdResourceStringsProtocols_RSHTTPServiceUnavailable 64964 +#define IdResourceStringsProtocols_RSHTTPGatewayTimeout 64965 +#define IdResourceStringsProtocols_RSHTTPHTTPVersionNotSupported 64966 +#define IdResourceStringsProtocols_RSHTTPUnknownResponseCode 64967 +#define IdResourceStringsProtocols_RSHTTPHeaderAlreadyWritten 64968 +#define IdResourceStringsProtocols_RSHTTPErrorParsingCommand 64969 +#define IdResourceStringsProtocols_RSHTTPUnsupportedAuthorisationScheme 64970 +#define IdResourceStringsProtocols_RSHTTPCannotSwitchSessionStateWhenActive 64971 +#define IdResourceStringsProtocols_RSHTTPAuthAlreadyRegistered 64972 +#define ComStrs_sInvalidIndex 64973 +#define ComStrs_sInsertError 64974 +#define ComStrs_sUDAssociated 64975 +#define IdResourceStringsProtocols_RSHTTPNotModified 64976 +#define IdResourceStringsProtocols_RSHTTPUseProxy 64977 +#define IdResourceStringsProtocols_RSHTTPBadRequest 64978 +#define IdResourceStringsProtocols_RSHTTPUnauthorized 64979 +#define IdResourceStringsProtocols_RSHTTPForbidden 64980 +#define IdResourceStringsProtocols_RSHTTPNotFound 64981 +#define IdResourceStringsProtocols_RSHTTPMethodNotAllowed 64982 +#define IdResourceStringsProtocols_RSHTTPNotAcceptable 64983 +#define IdResourceStringsProtocols_RSHTTPProxyAuthenticationRequired 64984 +#define IdResourceStringsProtocols_RSHTTPRequestTimeout 64985 +#define IdResourceStringsProtocols_RSHTTPConflict 64986 +#define IdResourceStringsProtocols_RSHTTPGone 64987 +#define IdResourceStringsProtocols_RSHTTPLengthRequired 64988 +#define IdResourceStringsProtocols_RSHTTPPreconditionFailed 64989 +#define IdResourceStringsProtocols_RSHTTPRequestEntityToLong 64990 +#define IdResourceStringsProtocols_RSHTTPRequestURITooLong 64991 +#define IdResourceStringsCore_RSNoOnExecute 64992 +#define IdResourceStringsCore_RSTCPServerSchedulerAlreadyActive 64993 +#define IdResourceStringsProtocols_RSMIMEExtensionEmpty 64994 +#define IdResourceStringsProtocols_RSMIMEMIMETypeEmpty 64995 +#define IdResourceStringsProtocols_RSMIMEMIMEExtAlreadyExists 64996 +#define IdResourceStringsProtocols_RSHTTPContinue 64997 +#define IdResourceStringsProtocols_RSHTTPOK 64998 +#define IdResourceStringsProtocols_RSHTTPCreated 64999 +#define IdResourceStringsProtocols_RSHTTPAccepted 65000 +#define IdResourceStringsProtocols_RSHTTPNonAuthoritativeInformation 65001 +#define IdResourceStringsProtocols_RSHTTPNoContent 65002 +#define IdResourceStringsProtocols_RSHTTPResetContent 65003 +#define IdResourceStringsProtocols_RSHTTPPartialContent 65004 +#define IdResourceStringsProtocols_RSHTTPMovedPermanently 65005 +#define IdResourceStringsProtocols_RSHTTPMovedTemporarily 65006 +#define IdResourceStringsProtocols_RSHTTPSeeOther 65007 +#define IdResourceStringsCore_RSNotConnected 65008 +#define IdResourceStringsCore_RSObjectTypeNotSupported 65009 +#define IdResourceStringsCore_RSIdNoDataToRead 65010 +#define IdResourceStringsCore_RSReadTimeout 65011 +#define IdResourceStringsCore_RSReadLnMaxLineLengthExceeded 65012 +#define IdResourceStringsCore_RSConnectTimeout 65013 +#define IdResourceStringsCore_RSThreadTerminateAndWaitFor 65014 +#define IdResourceStringsCore_RSAlreadyConnected 65015 +#define IdResourceStringsCore_RSMaximumNumberOfCaptureLineExceeded 65016 +#define IdResourceStringsCore_RSchedMaxThreadEx 65017 +#define IdResourceStringsCore_RSTransparentProxyCannotBind 65018 +#define IdResourceStringsCore_RSTransparentProxyCanNotSupportUDP 65019 +#define IdResourceStringsCore_RSBufferMissingTerminator 65020 +#define IdResourceStringsCore_RSBufferInvalidStartPos 65021 +#define IdResourceStringsCore_RSReplyInvalidCode 65022 +#define IdResourceStringsCore_RSThreadSchedulerThreadRequired 65023 +#define IdResourceStringsCore_RSSocksUnknownError 65024 +#define IdResourceStringsCore_RSSocksServerRespondError 65025 +#define IdResourceStringsCore_RSSocksAuthMethodError 65026 +#define IdResourceStringsCore_RSSocksAuthError 65027 +#define IdResourceStringsCore_RSSocksServerGeneralError 65028 +#define IdResourceStringsCore_RSSocksServerPermissionError 65029 +#define IdResourceStringsCore_RSSocksServerNetUnreachableError 65030 +#define IdResourceStringsCore_RSSocksServerHostUnreachableError 65031 +#define IdResourceStringsCore_RSSocksServerConnectionRefusedError 65032 +#define IdResourceStringsCore_RSSocksServerTTLExpiredError 65033 +#define IdResourceStringsCore_RSSocksServerCommandError 65034 +#define IdResourceStringsCore_RSSocksServerAddressError 65035 +#define IdResourceStringsCore_RSInterceptCircularLink 65036 +#define IdResourceStringsCore_RSNotEnoughDataInBuffer 65037 +#define IdResourceStringsCore_RSTooMuchDataInBuffer 65038 +#define IdResourceStringsCore_RSFileNotFound 65039 +#define IdResourceStrings_RSCannotSetIPVersionWhenConnected 65040 +#define IdResourceStrings_RSCannotBindRange 65041 +#define IdResourceStrings_RSConnectionClosedGracefully 65042 +#define IdResourceStrings_RSCouldNotBindSocket 65043 +#define IdResourceStrings_RSInvalidPortRange 65044 +#define IdResourceStrings_RSInvalidServiceName 65045 +#define IdResourceStrings_RSIPv6Unavailable 65046 +#define IdResourceStrings_RSInvalidIPv6Address 65047 +#define IdResourceStrings_RSIPVersionUnsupported 65048 +#define IdResourceStrings_RSNotAllBytesSent 65049 +#define IdResourceStrings_RSPackageSizeTooBig 65050 +#define IdResourceStrings_RSSetSizeExceeded 65051 +#define IdResourceStringsCore_RSSocksUDPNotSupported 65052 +#define IdResourceStringsCore_RSSocksRequestFailed 65053 +#define IdResourceStringsCore_RSSocksRequestServerFailed 65054 +#define IdResourceStringsCore_RSSocksRequestIdentFailed 65055 +#define IdResourceStrings_RSStackENOBUFS 65056 +#define IdResourceStrings_RSStackEISCONN 65057 +#define IdResourceStrings_RSStackENOTCONN 65058 +#define IdResourceStrings_RSStackESHUTDOWN 65059 +#define IdResourceStrings_RSStackETOOMANYREFS 65060 +#define IdResourceStrings_RSStackETIMEDOUT 65061 +#define IdResourceStrings_RSStackECONNREFUSED 65062 +#define IdResourceStrings_RSStackELOOP 65063 +#define IdResourceStrings_RSStackENAMETOOLONG 65064 +#define IdResourceStrings_RSStackEHOSTDOWN 65065 +#define IdResourceStrings_RSStackEHOSTUNREACH 65066 +#define IdResourceStrings_RSStackENOTEMPTY 65067 +#define IdResourceStrings_RSStackHOST_NOT_FOUND 65068 +#define IdResourceStrings_RSStackClassUndefined 65069 +#define IdResourceStrings_RSStackAlreadyCreated 65070 +#define IdResourceStrings_RSAntiFreezeOnlyOne 65071 +#define IdResourceStrings_RSStackEDESTADDRREQ 65072 +#define IdResourceStrings_RSStackEMSGSIZE 65073 +#define IdResourceStrings_RSStackEPROTOTYPE 65074 +#define IdResourceStrings_RSStackENOPROTOOPT 65075 +#define IdResourceStrings_RSStackEPROTONOSUPPORT 65076 +#define IdResourceStrings_RSStackESOCKTNOSUPPORT 65077 +#define IdResourceStrings_RSStackEOPNOTSUPP 65078 +#define IdResourceStrings_RSStackEPFNOSUPPORT 65079 +#define IdResourceStrings_RSStackEAFNOSUPPORT 65080 +#define IdResourceStrings_RSStackEADDRINUSE 65081 +#define IdResourceStrings_RSStackEADDRNOTAVAIL 65082 +#define IdResourceStrings_RSStackENETDOWN 65083 +#define IdResourceStrings_RSStackENETUNREACH 65084 +#define IdResourceStrings_RSStackENETRESET 65085 +#define IdResourceStrings_RSStackECONNABORTED 65086 +#define IdResourceStrings_RSStackECONNRESET 65087 +#define IdResourceStrings_RSStatusConnecting 65088 +#define IdResourceStrings_RSStatusConnected 65089 +#define IdResourceStrings_RSStatusDisconnecting 65090 +#define IdResourceStrings_RSStatusDisconnected 65091 +#define IdResourceStrings_RSStatusText 65092 +#define IdResourceStrings_RSStackError 65093 +#define IdResourceStrings_RSStackEINTR 65094 +#define IdResourceStrings_RSStackEBADF 65095 +#define IdResourceStrings_RSStackEACCES 65096 +#define IdResourceStrings_RSStackEFAULT 65097 +#define IdResourceStrings_RSStackEINVAL 65098 +#define IdResourceStrings_RSStackEMFILE 65099 +#define IdResourceStrings_RSStackEWOULDBLOCK 65100 +#define IdResourceStrings_RSStackEINPROGRESS 65101 +#define IdResourceStrings_RSStackEALREADY 65102 +#define IdResourceStrings_RSStackENOTSOCK 65103 +#define DBConsts_SProviderSQLNotSupported 65104 +#define DBConsts_SProviderExecuteNotSupported 65105 +#define DBConsts_SExprNoAggOnCalcs 65106 +#define DBConsts_SDataSetUnidirectional 65107 +#define DBConsts_SUnassignedVar 65108 +#define DBConsts_SRecordNotFound 65109 +#define DBConsts_SBcdOverflow 65110 +#define DBConsts_SInvalidBcdValue 65111 +#define DBConsts_SInvalidFormatType 65112 +#define DBConsts_SCouldNotParseTimeStamp 65113 +#define DBConsts_SInvalidSqlTimeStamp 65114 +#define IdResourceStrings_RSFailedTimeZoneInfo 65115 +#define IdResourceStrings_RSWinsockCallError 65116 +#define IdResourceStrings_RSWinsockLoadError 65117 +#define IdResourceStrings_RSWinsockInitializationError 65118 +#define IdResourceStrings_RSStatusResolving 65119 +#define DBConsts_SExprIncorrect 65120 +#define DBConsts_SExprNothing 65121 +#define DBConsts_SExprTypeMis 65122 +#define DBConsts_SExprBadScope 65123 +#define DBConsts_SExprNoArith 65124 +#define DBConsts_SExprNotAgg 65125 +#define DBConsts_SExprBadConst 65126 +#define DBConsts_SExprNoAggFilter 65127 +#define DBConsts_SExprEmptyInList 65128 +#define DBConsts_SInvalidKeywordUse 65129 +#define DBConsts_STextFalse 65130 +#define DBConsts_STextTrue 65131 +#define DBConsts_SParameterNotFound 65132 +#define DBConsts_SInvalidVersion 65133 +#define DBConsts_SBadFieldType 65134 +#define DBConsts_SAggActive 65135 +#define DBConsts_SNotEditing 65136 +#define DBConsts_SDataSetClosed 65137 +#define DBConsts_SDataSetEmpty 65138 +#define DBConsts_SDataSetReadOnly 65139 +#define DBConsts_SNestedDataSetClass 65140 +#define DBConsts_SExprTermination 65141 +#define DBConsts_SExprNameError 65142 +#define DBConsts_SExprStringError 65143 +#define DBConsts_SExprInvalidChar 65144 +#define DBConsts_SExprNoLParen 65145 +#define DBConsts_SExprNoRParen 65146 +#define DBConsts_SExprNoRParenOrComma 65147 +#define DBConsts_SExprExpected 65148 +#define DBConsts_SExprBadField 65149 +#define DBConsts_SExprBadNullTest 65150 +#define DBConsts_SExprRangeError 65151 +#define DBConsts_SFieldOutOfRange 65152 +#define DBConsts_SFieldRequired 65153 +#define DBConsts_SDataSetMissing 65154 +#define DBConsts_SInvalidCalcType 65155 +#define DBConsts_SFieldReadOnly 65156 +#define DBConsts_SFieldIndexError 65157 +#define DBConsts_SNoFieldIndexes 65158 +#define DBConsts_SNotIndexField 65159 +#define DBConsts_SIndexFieldMissing 65160 +#define DBConsts_SNoIndexForFields 65161 +#define DBConsts_SIndexNotFound 65162 +#define DBConsts_SCircularDataLink 65163 +#define DBConsts_SLookupInfoError 65164 +#define DBConsts_SDataSourceChange 65165 +#define DBConsts_SNoNestedMasterSource 65166 +#define DBConsts_SDataSetOpen 65167 +#define DBConsts_SInvalidFieldSize 65168 +#define DBConsts_SInvalidFieldKind 65169 +#define DBConsts_SUnknownFieldType 65170 +#define DBConsts_SFieldNameMissing 65171 +#define DBConsts_SDuplicateFieldName 65172 +#define DBConsts_SFieldNotFound 65173 +#define DBConsts_SFieldAccessError 65174 +#define DBConsts_SFieldValueError 65175 +#define DBConsts_SFieldRangeError 65176 +#define DBConsts_SBcdFieldRangeError 65177 +#define DBConsts_SInvalidIntegerValue 65178 +#define DBConsts_SInvalidBoolValue 65179 +#define DBConsts_SInvalidFloatValue 65180 +#define DBConsts_SFieldTypeMismatch 65181 +#define DBConsts_SFieldSizeMismatch 65182 +#define DBConsts_SInvalidVarByteArray 65183 +#define uRORes_err_VariantIsNotArray 65184 +#define uRORes_err_InvalidVarArrayDimCount 65185 +#define uRORes_err_CannotFindParameter 65186 +#define uRORes_err_MessageNotAssigned 65187 +#define uRODECConst_sProtectionCircular 65188 +#define uRODECConst_sStringFormatExists 65189 +#define uRODECConst_sInvalidStringFormat 65190 +#define uRODECConst_sInvalidFormatString 65191 +#define uRODECConst_sFMT_COPY 65192 +#define uRODECConst_sFMT_HEX 65193 +#define uRODECConst_sFMT_HEXL 65194 +#define uRODECConst_sFMT_MIME64 65195 +#define uRODECConst_sFMT_UU 65196 +#define uRODECConst_sFMT_XX 65197 +#define uRODECConst_sInvalidKeySize 65198 +#define uRODECConst_sNotInitialized 65199 +#define uRORes_err_UnhandledException 65200 +#define uRORes_err_ChannelBusy 65201 +#define uRORes_err_ArrayIndexOutOfBounds 65202 +#define uRORes_err_InvalidHeader 65203 +#define uRORes_err_InvalidHeaderEncrypted 65204 +#define uRORes_err_UnknownClassInStream 65205 +#define uRORes_err_UnexpectedClassInStream 65206 +#define uRORes_err_SessionNotFound 65207 +#define uRORes_err_ChannelDoesntSupportIROMetadataReader 65208 +#define uRORes_err_TooManySessions 65209 +#define uRORes_err_DOMElementIsNIL 65210 +#define uRORes_err_CannotLoadXMLDocument 65211 +#define uRORes_err_ErrorCreatingMsXmlDoc 65212 +#define uRORes_err_NoXMLParsersAvailable 65213 +#define uRORes_err_IDispatchMarshalingNotSupported 65214 +#define uRORes_err_UnsupportedVariantType 65215 +#define uRORes_err_InvalidRequestStream 65216 +#define uRORes_err_NILMessage 65217 +#define uRORes_err_UnspecifiedInterface 65218 +#define uRORes_err_UnspecifiedMessage 65219 +#define uRORes_err_UnknownMethod 65220 +#define uRORes_err_ClassFactoryDidNotReturnInstance 65221 +#define uRORes_err_ParameterNotFound 65222 +#define uRORes_err_TypeNotSupported 65223 +#define uRORes_err_ClassFactoryNotFound 65224 +#define uRORes_err_IROMessageNotSupported 65225 +#define uRORes_err_ClassAlreadyRegistered 65226 +#define uRORes_err_UnknownClass 65227 +#define uRORes_err_UnknownProxyInterface 65228 +#define uRORes_err_DispatcherAlreadyAssigned 65229 +#define uRORes_err_CannotFindMessageDispatcher 65230 +#define uRORes_err_ServerOnlySupportsOneDispatcher 65231 +#define uRORes_err_InvalidParamFlag 65232 +#define uRORes_err_InvalidStringLength 65233 +#define uRORes_str_InvalidClassTypeInStream 65234 +#define uRORes_err_UnexpectedEndOfStream 65235 +#define uRORes_err_RodlDuplicateName 65236 +#define uRORes_err_RodlNoDataTypeSpecified 65237 +#define uRORes_err_RodlNoEnumValues 65238 +#define uRORes_err_RodlNoStructElementsDefined 65239 +#define uRORes_err_RodlNoOperationsDefined 65240 +#define uRORes_err_RodlUsedFileDoesNotExist 65241 +#define uRORes_err_RodlInvalidDataType 65242 +#define uRORes_err_RodlStructCannotBeNested 65243 +#define uRORes_err_RodlInvalidAncestorType 65244 +#define uRORes_str_ExceptionOnServer 65245 +#define uRORes_str_ExceptionReraisedFromServer 65246 +#define uRORes_err_AssignError 65247 +#define Consts_SANSIEncoding 65248 +#define Consts_SASCIIEncoding 65249 +#define Consts_SUnicodeEncoding 65250 +#define Consts_SBigEndianEncoding 65251 +#define Consts_SUTF8Encoding 65252 +#define Consts_SUTF7Encoding 65253 +#define Consts_SWindowsVistaRequired 65254 +#define ComConst_SOleError 65255 +#define ComConst_SNoMethod 65256 +#define ComConst_SVarNotObject 65257 +#define ComConst_STooManyParams 65258 +#define uRORes_err_InvalidIndex 65259 +#define uRORes_err_InvalidType 65260 +#define uRORes_err_InvalidLibrary 65261 +#define uRORes_err_InvalidStream 65262 +#define uRORes_err_InvalidTargetEntity 65263 +#define Consts_SInvalidMemoSize 65264 +#define Consts_SInvalidPrinterOp 65265 +#define Consts_SNoDefaultPrinter 65266 +#define Consts_SDuplicateMenus 65267 +#define Consts_SPictureLabel 65268 +#define Consts_SPictureDesc 65269 +#define Consts_SPreviewLabel 65270 +#define Consts_SDockedCtlNeedsName 65271 +#define Consts_SDockTreeRemoveError 65272 +#define Consts_SDockZoneNotFound 65273 +#define Consts_SDockZoneHasNoCtl 65274 +#define Consts_SDockZoneVersionConflict 65275 +#define Consts_SMultiSelectRequired 65276 +#define Consts_SSeparator 65277 +#define Consts_SErrorSettingCount 65278 +#define Consts_SListBoxMustBeVirtual 65279 +#define Consts_SmkcCtrl 65280 +#define Consts_SmkcAlt 65281 +#define Consts_srNone 65282 +#define Consts_SOutOfRange 65283 +#define Consts_sAllFilter 65284 +#define Consts_SInsertLineError 65285 +#define Consts_SConfirmCreateDir 65286 +#define Consts_SSelectDirCap 65287 +#define Consts_SDirNameCap 65288 +#define Consts_SDrivesCap 65289 +#define Consts_SDirsCap 65290 +#define Consts_SFilesCap 65291 +#define Consts_SNetworkCap 65292 +#define Consts_SInvalidClipFmt 65293 +#define Consts_SIconToClipboard 65294 +#define Consts_SCannotOpenClipboard 65295 +#define Consts_SmkcBkSp 65296 +#define Consts_SmkcTab 65297 +#define Consts_SmkcEsc 65298 +#define Consts_SmkcEnter 65299 +#define Consts_SmkcSpace 65300 +#define Consts_SmkcPgUp 65301 +#define Consts_SmkcPgDn 65302 +#define Consts_SmkcEnd 65303 +#define Consts_SmkcHome 65304 +#define Consts_SmkcLeft 65305 +#define Consts_SmkcUp 65306 +#define Consts_SmkcRight 65307 +#define Consts_SmkcDown 65308 +#define Consts_SmkcIns 65309 +#define Consts_SmkcDel 65310 +#define Consts_SmkcShift 65311 +#define Consts_SMaskEditErr 65312 +#define Consts_SMsgDlgWarning 65313 +#define Consts_SMsgDlgError 65314 +#define Consts_SMsgDlgInformation 65315 +#define Consts_SMsgDlgConfirm 65316 +#define Consts_SMsgDlgYes 65317 +#define Consts_SMsgDlgNo 65318 +#define Consts_SMsgDlgOK 65319 +#define Consts_SMsgDlgCancel 65320 +#define Consts_SMsgDlgHelp 65321 +#define Consts_SMsgDlgAbort 65322 +#define Consts_SMsgDlgRetry 65323 +#define Consts_SMsgDlgIgnore 65324 +#define Consts_SMsgDlgAll 65325 +#define Consts_SMsgDlgNoToAll 65326 +#define Consts_SMsgDlgYesToAll 65327 +#define Consts_SOKButton 65328 +#define Consts_SCancelButton 65329 +#define Consts_SYesButton 65330 +#define Consts_SNoButton 65331 +#define Consts_SHelpButton 65332 +#define Consts_SCloseButton 65333 +#define Consts_SIgnoreButton 65334 +#define Consts_SRetryButton 65335 +#define Consts_SAbortButton 65336 +#define Consts_SAllButton 65337 +#define Consts_SCannotDragForm 65338 +#define Consts_SVMetafiles 65339 +#define Consts_SVEnhMetafiles 65340 +#define Consts_SVIcons 65341 +#define Consts_SVBitmaps 65342 +#define Consts_SMaskErr 65343 +#define Consts_SMDIChildNotVisible 65344 +#define Consts_SVisibleChanged 65345 +#define Consts_SCannotShowModal 65346 +#define Consts_SScrollBarRange 65347 +#define Consts_SPropertyOutOfRange 65348 +#define Consts_SMenuIndexError 65349 +#define Consts_SMenuReinserted 65350 +#define Consts_SMenuNotFound 65351 +#define Consts_SNoTimers 65352 +#define Consts_SNotPrinting 65353 +#define Consts_SPrinting 65354 +#define Consts_SInvalidPrinter 65355 +#define Consts_SDeviceOnPort 65356 +#define Consts_SGroupIndexTooLow 65357 +#define Consts_SNoMDIForm 65358 +#define Consts_SControlParentSetToSelf 65359 +#define Consts_SChangeIconSize 65360 +#define Consts_SUnknownExtension 65361 +#define Consts_SUnknownClipboardFormat 65362 +#define Consts_SOutOfResources 65363 +#define Consts_SNoCanvasHandle 65364 +#define Consts_SInvalidImageSize 65365 +#define Consts_SInvalidImageList 65366 +#define Consts_SReplaceImage 65367 +#define Consts_SImageIndexError 65368 +#define Consts_SImageReadFail 65369 +#define Consts_SImageWriteFail 65370 +#define Consts_SWindowDCError 65371 +#define Consts_SWindowClass 65372 +#define Consts_SCannotFocus 65373 +#define Consts_SParentRequired 65374 +#define Consts_SParentGivenNotAParent 65375 #define RTLConsts_SUnknownGroup 65376 #define RTLConsts_SUnknownProperty 65377 #define RTLConsts_SWriteError 65378 #define RTLConsts_SThreadCreateError 65379 #define RTLConsts_SThreadError 65380 -#define Consts_SInvalidBitmap 65381 -#define Consts_SInvalidIcon 65382 -#define Consts_SInvalidMetafile 65383 -#define Consts_SInvalidPixelFormat 65384 -#define Consts_SInvalidImage 65385 -#define Consts_SScanLine 65386 -#define Consts_SChangeIconSize 65387 -#define Consts_SUnknownExtension 65388 -#define Consts_SUnknownClipboardFormat 65389 -#define Consts_SOutOfResources 65390 -#define Consts_SNoCanvasHandle 65391 +#define HelpIntfs_hNoTableOfContents 65381 +#define HelpIntfs_hNothingFound 65382 +#define HelpIntfs_hNoContext 65383 +#define HelpIntfs_hNoContextFound 65384 +#define HelpIntfs_hNoTopics 65385 +#define Consts_SInvalidBitmap 65386 +#define Consts_SInvalidIcon 65387 +#define Consts_SInvalidMetafile 65388 +#define Consts_SInvalidPixelFormat 65389 +#define Consts_SInvalidImage 65390 +#define Consts_SScanLine 65391 #define RTLConsts_SInvalidPropertyType 65392 #define RTLConsts_SInvalidPropertyValue 65393 #define RTLConsts_SInvalidRegType 65394 @@ -1317,24 +1262,10 @@ #define SysConst_SEndOfFile 65535 STRINGTABLE BEGIN - cxGridStrs_scxGridDeletingConfirmationCaption, "Confirm" - cxGridStrs_scxGridDeletingFocusedConfirmationText, "Delete record?" - cxGridStrs_scxGridDeletingSelectedConfirmationText, "Delete all selected records?" - cxGridStrs_scxGridNoDataInfoText, "" - cxGridStrs_scxGridNewItemRowInfoText, "Click here to add a new row" - cxGridStrs_scxGridFilterIsEmpty, "" - cxGridStrs_scxGridCustomizationFormCaption, "Customization" cxGridStrs_scxGridCustomizationFormColumnsPageCaption, "Columns" cxGridStrs_scxGridGroupByBoxCaption, "Drag a column header here to group by that column" cxGridStrs_scxGridFilterCustomizeButtonCaption, "Customize..." cxGridStrs_scxGridColumnsQuickCustomizationHint, "Click here to select visible columns" - MidConst_SDefExprFail, "Preparation of default expression failed with error \"%s\"" - MidConst_SNoEditsAllowed, "Modifications are not allowed" - MidConst_SNoDeletesAllowed, "Deletes are not allowed" - MidConst_SNoInsertsAllowed, "Inserts are not allowed" - MidConst_SConnectionMissing, "Requires Connection before opening" - MidConst_SNoCircularConnection, "Circular reference to Connection not allowed" - cxPCConsts_scxPCImageListIndexError, "Index (%d) must be between 0 and %d" cxPCConsts_scxPCNoBaseImages, "BaseImages is not assigned" cxPCConsts_scxPCNoRegisteredStyles, "There are no styles registered" cxPCConsts_scxPCPageIndexError, "%d is an invalid PageIndex value. PageIndex must be between 0 and %d" @@ -1344,30 +1275,29 @@ BEGIN cxPCConsts_scxPCTabVisibleIndexOutsOfBounds, "TabVisibleIndex (%d) must be between 0 and %d" cxPCConsts_scxPCVisibleTabListEmpty, "There are no visible tabs" cxPCConsts_scxPCAllowRotateError, "%s style does not support rotation of tabs" - cxFilterControlStrs_cxSFilterControlDialogActionOkCaption, "OK" - cxFilterControlStrs_cxSFilterControlDialogActionCancelCaption, "Cancel" - cxFilterControlStrs_cxSFilterControlDialogFileExt, "flt" - cxFilterControlStrs_cxSFilterControlDialogFileFilter, "Filters (*.flt)|*.flt" - MidConst_SNoDataProvider, "Missing data provider or data packet" - MidConst_SInvalidDataPacket, "Invalid data packet" - MidConst_SRefreshError, "Must apply updates before refreshing data" - MidConst_SNoCircularReference, "Circular provider references not allowed" + cxGridStrs_scxGridDeletingConfirmationCaption, "Confirm" + cxGridStrs_scxGridDeletingFocusedConfirmationText, "Delete record?" + cxGridStrs_scxGridDeletingSelectedConfirmationText, "Delete all selected records?" + cxGridStrs_scxGridNoDataInfoText, "" + cxGridStrs_scxGridNewItemRowInfoText, "Click here to add a new row" + cxGridStrs_scxGridFilterIsEmpty, "" + cxGridStrs_scxGridCustomizationFormCaption, "Customization" MidConst_SErrorLoadingMidas, "Error loading MIDAS.DLL" MidConst_SCannotCreateDataSet, "No fields defined. Cannot create dataset" MidConst_SNoConnectToBroker, "Connection not allowed to TConnectionBroker" MidConst_SNoParentConnection, "ParentConnection is not assigned" + MidConst_SInvalidOptParamType, "Value cannot be stored in an optional parameter" MidConst_SConstraintFailed, "Record or field constraint failed." MidConst_SField, "Field" MidConst_SRecConstFail, "Preparation of record constraint failed with error \"%s\"" MidConst_SFieldConstFail, "Preparation of field constraint failed with error \"%s\"" - cxFilterControlStrs_cxSFilterErrorBuilding, "Can't build filter from source" - cxFilterControlStrs_cxSFilterDialogCaption, "Custom Filter" - cxFilterControlStrs_cxSFilterDialogInvalidValue, "Invalid value" - cxFilterControlStrs_cxSFilterDialogUse, "Use" - cxFilterControlStrs_cxSFilterDialogSingleCharacter, "to represent any single character" - cxFilterControlStrs_cxSFilterDialogCharactersSeries, "to represent any series of characters" - cxFilterControlStrs_cxSFilterDialogOperationAnd, "AND" - cxFilterControlStrs_cxSFilterDialogOperationOr, "OR" + MidConst_SDefExprFail, "Preparation of default expression failed with error \"%s\"" + MidConst_SNoEditsAllowed, "Modifications are not allowed" + MidConst_SNoDeletesAllowed, "Deletes are not allowed" + MidConst_SNoInsertsAllowed, "Inserts are not allowed" + MidConst_SConnectionMissing, "Requires Connection before opening" + MidConst_SNoCircularConnection, "Circular reference to Connection not allowed" + cxPCConsts_scxPCImageListIndexError, "Index (%d) must be between 0 and %d" cxFilterControlStrs_cxSFilterDialogRows, "Show rows where:" cxFilterControlStrs_cxSFilterControlDialogCaption, "Filter builder" cxFilterControlStrs_cxSFilterControlDialogNewFile, "untitled.flt" @@ -1376,14 +1306,14 @@ BEGIN cxFilterControlStrs_cxSFilterControlDialogActionSaveCaption, "&Save As..." cxFilterControlStrs_cxSFilterControlDialogActionOpenCaption, "&Open..." cxFilterControlStrs_cxSFilterControlDialogActionApplyCaption, "&Apply" - cxFilterConsts_cxSFilterBoxCustomCaption, "(Custom...)" - cxFilterConsts_cxSFilterBoxBlanksCaption, "(Blanks)" - cxFilterConsts_cxSFilterBoxNonBlanksCaption, "(NonBlanks)" - cxFilterControlStrs_cxSFilterBoolOperatorAnd, "AND" - cxFilterControlStrs_cxSFilterBoolOperatorOr, "OR" - cxFilterControlStrs_cxSFilterBoolOperatorNotAnd, "NOT AND" - cxFilterControlStrs_cxSFilterBoolOperatorNotOr, "NOT OR" - cxFilterControlStrs_cxSFilterRootButtonCaption, "Filter" + cxFilterControlStrs_cxSFilterControlDialogActionOkCaption, "OK" + cxFilterControlStrs_cxSFilterControlDialogActionCancelCaption, "Cancel" + cxFilterControlStrs_cxSFilterControlDialogFileExt, "flt" + cxFilterControlStrs_cxSFilterControlDialogFileFilter, "Filters (*.flt)|*.flt" + MidConst_SNoDataProvider, "Missing data provider or data packet" + MidConst_SInvalidDataPacket, "Invalid data packet" + MidConst_SRefreshError, "Must apply updates before refreshing data" + MidConst_SNoCircularReference, "Circular provider references not allowed" cxFilterControlStrs_cxSFilterAddCondition, "Add &Condition" cxFilterControlStrs_cxSFilterAddGroup, "Add &Group" cxFilterControlStrs_cxSFilterRemoveRow, "&Remove Row" @@ -1392,11 +1322,126 @@ BEGIN cxFilterControlStrs_cxSFilterGroupCaption, "applies to the following conditions" cxFilterControlStrs_cxSFilterRootGroupCaption, "" cxFilterControlStrs_cxSFilterControlNullString, "" - cxFilterConsts_cxSFilterOperatorNextMonth, "is next month" - cxFilterConsts_cxSFilterOperatorNextYear, "is next year" - cxFilterConsts_cxSFilterOperatorFuture, "is future" - cxFilterConsts_cxSFilterAndCaption, "and" - cxFilterConsts_cxSFilterOrCaption, "or" + cxFilterControlStrs_cxSFilterErrorBuilding, "Can't build filter from source" + cxFilterControlStrs_cxSFilterDialogCaption, "Custom Filter" + cxFilterControlStrs_cxSFilterDialogInvalidValue, "Invalid value" + cxFilterControlStrs_cxSFilterDialogUse, "Use" + cxFilterControlStrs_cxSFilterDialogSingleCharacter, "to represent any single character" + cxFilterControlStrs_cxSFilterDialogCharactersSeries, "to represent any series of characters" + cxFilterControlStrs_cxSFilterDialogOperationAnd, "AND" + cxFilterControlStrs_cxSFilterDialogOperationOr, "OR" + cxEditConsts_scxRegExprHexNumberExpected0, "Hexadecimal number expected" + cxEditConsts_scxRegExprHexNumberExpected, "Hexadecimal number expected but '%s' found" + cxEditConsts_scxRegExprMissing, "Missing '%s'" + cxEditConsts_scxRegExprUnnecessary, "Unnecessary '%s'" + cxEditConsts_scxRegExprIncorrectSpace, "The space character is not allowed after '\\'" + cxEditConsts_scxRegExprNotCompiled, "Regular expression is not compiled" + cxEditConsts_scxRegExprIncorrectParameterQuantifier, "Incorrect parameter quantifier" + cxEditConsts_scxRegExprCantUseParameterQuantifier, "The parameter quantifier cannot be applied here" + cxEditConsts_scxMaskEditRegExprError, "Regular expression errors:" + cxEditConsts_scxMaskEditInvalidEditValue, "The edit value is invalid" + cxEditConsts_cxSSpinEditInvalidNumericValue, "Invalid numeric value" + cxFilterControlStrs_cxSFilterBoolOperatorAnd, "AND" + cxFilterControlStrs_cxSFilterBoolOperatorOr, "OR" + cxFilterControlStrs_cxSFilterBoolOperatorNotAnd, "NOT AND" + cxFilterControlStrs_cxSFilterBoolOperatorNotOr, "NOT OR" + cxFilterControlStrs_cxSFilterRootButtonCaption, "Filter" + cxEditConsts_scxSEditRepositoryTextItem, "TextEdit|Represents a single line text editor" + cxEditConsts_scxSEditRepositoryTimeItem, "TimeEdit|Represents an editor displaying time values" + cxEditConsts_scxRegExprLine, "Line" + cxEditConsts_scxRegExprChar, "Char" + cxEditConsts_scxRegExprNotAssignedSourceStream, "The source stream is not assigned" + cxEditConsts_scxRegExprEmptySourceStream, "The source stream is empty" + cxEditConsts_scxRegExprCantUsePlusQuantifier, "The '+' quantifier cannot be applied here" + cxEditConsts_scxRegExprCantUseStarQuantifier, "The '*' quantifier cannot be applied here" + cxEditConsts_scxRegExprCantCreateEmptyAlt, "The alternative should not be empty" + cxEditConsts_scxRegExprCantCreateEmptyBlock, "The block should not be empty" + cxEditConsts_scxRegExprIllegalSymbol, "Illegal '%s'" + cxEditConsts_scxRegExprIllegalQuantifier, "Illegal quantifier '%s'" + cxEditConsts_scxRegExprIllegalIntegerValue, "Illegal integer value" + cxEditConsts_scxRegExprTooBigReferenceNumber, "Too big reference number" + cxEditConsts_scxRegExprCantCreateEmptyEnum, "Can't create empty enumeration" + cxEditConsts_scxRegExprSubrangeOrder, "The starting character of the subrange must be less than the finishing one" + cxEditConsts_scxSEditRepositoryBlobItem, "BlobEdit|Represents the BLOB editor" + cxEditConsts_scxSEditRepositoryButtonItem, "ButtonEdit|Represents an edit control with embedded buttons" + cxEditConsts_scxSEditRepositoryCalcItem, "CalcEdit|Represents an edit control with a dropdown calculator window" + cxEditConsts_scxSEditRepositoryCheckBoxItem, "CheckBox|Represents a check box control that allows selecting an option" + cxEditConsts_scxSEditRepositoryComboBoxItem, "ComboBox|Represents the combo box editor" + cxEditConsts_scxSEditRepositoryCurrencyItem, "CurrencyEdit|Represents an editor enabling editing currency data" + cxEditConsts_scxSEditRepositoryDateItem, "DateEdit|Represents an edit control with a dropdown calendar" + cxEditConsts_scxSEditRepositoryHyperLinkItem, "HyperLink|Represents a text editor with hyperlink functionality" + cxEditConsts_scxSEditRepositoryImageComboBoxItem, "ImageComboBox|Represents an editor displaying the list of images and text strings within the dropdown window" + cxEditConsts_scxSEditRepositoryImageItem, "Image|Represents an image editor" + cxEditConsts_scxSEditRepositoryMaskItem, "MaskEdit|Represents a generic masked edit control." + cxEditConsts_scxSEditRepositoryMemoItem, "Memo|Represents an edit control that allows editing memo data" + cxEditConsts_scxSEditRepositoryMRUItem, "MRUEdit|Represents a text editor displaying the list of most recently used items (MRU) within a dropdown window" + cxEditConsts_scxSEditRepositoryPopupItem, "PopupEdit|Represents an edit control with a dropdown list" + cxEditConsts_scxSEditRepositorySpinItem, "SpinEdit|Represents a spin editor" + cxEditConsts_scxSEditRepositoryRadioGroupItem, "RadioGroup|Represents a group of radio buttons" + cxEditConsts_scxSHyperLinkPrefix, "http://" + cxEditConsts_cxNavigatorHint_First, "First record" + cxEditConsts_cxNavigatorHint_Prior, "Prior record" + cxEditConsts_cxNavigatorHint_PriorPage, "Prior page" + cxEditConsts_cxNavigatorHint_Next, "Next record" + cxEditConsts_cxNavigatorHint_NextPage, "Next page" + cxEditConsts_cxNavigatorHint_Last, "Last record" + cxEditConsts_cxNavigatorHint_Insert, "Insert record" + cxEditConsts_cxNavigatorHint_Delete, "Delete record" + cxEditConsts_cxNavigatorHint_Edit, "Edit record" + cxEditConsts_cxNavigatorHint_Post, "Post edit" + cxEditConsts_cxNavigatorHint_Cancel, "Cancel edit" + cxEditConsts_cxNavigatorHint_Refresh, "Refresh data" + cxEditConsts_cxNavigatorHint_SaveBookmark, "Save Bookmark" + cxEditConsts_cxNavigatorHint_GotoBookmark, "Goto Bookmark" + cxEditConsts_cxNavigatorHint_Filter, "Filter data" + cxEditConsts_cxSDateTuesday, "Tuesday" + cxEditConsts_cxSDateWednesday, "Wednesday" + cxEditConsts_cxSDateThursday, "Thursday" + cxEditConsts_cxSDateFriday, "Friday" + cxEditConsts_cxSDateSaturday, "Saturday" + cxEditConsts_cxSDateFirst, "first" + cxEditConsts_cxSDateSecond, "second" + cxEditConsts_cxSDateThird, "third" + cxEditConsts_cxSDateFourth, "fourth" + cxEditConsts_cxSDateFifth, "fifth" + cxEditConsts_cxSDateSixth, "sixth" + cxEditConsts_cxSDateSeventh, "seventh" + cxEditConsts_cxSDateBOM, "bom" + cxEditConsts_cxSDateEOM, "eom" + cxEditConsts_cxSDateNow, "now" + cxEditConsts_scxSCalcError, "Error" + cxEditConsts_cxSMenuItemCaptionCut, "Cu&t" + cxEditConsts_cxSMenuItemCaptionCopy, "&Copy" + cxEditConsts_cxSMenuItemCaptionPaste, "&Paste" + cxEditConsts_cxSMenuItemCaptionDelete, "&Delete" + cxEditConsts_cxSMenuItemCaptionLoad, "&Load..." + cxEditConsts_cxSMenuItemCaptionSave, "Save &As..." + cxEditConsts_cxSDatePopupClear, "Clear" + cxEditConsts_cxSDatePopupNow, "Now" + cxEditConsts_cxSDatePopupOK, "OK" + cxEditConsts_cxSDatePopupToday, "Today" + cxEditConsts_cxSDateError, "Invalid Date" + cxEditConsts_cxSDateToday, "today" + cxEditConsts_cxSDateYesterday, "yesterday" + cxEditConsts_cxSDateTomorrow, "tomorrow" + cxEditConsts_cxSDateSunday, "Sunday" + cxEditConsts_cxSDateMonday, "Monday" + cxEditConsts_cxSEditNumericValueConvertError, "Could not convert to numeric value" + cxEditConsts_cxSEditPopupCircularReferencingError, "Circular referencing is not allowed" + cxEditConsts_cxSEditTimeConvertError, "Could not convert to time" + cxEditConsts_cxSEditValidateErrorText, "Invalid input value. Use escape key to abandon changes" + cxEditConsts_cxSEditValueOutOfBounds, "Value out of bounds" + cxEditConsts_cxSEditCheckBoxChecked, "True" + cxEditConsts_cxSEditCheckBoxGrayed, "" + cxEditConsts_cxSEditCheckBoxUnchecked, "False" + cxEditConsts_cxSRadioGroupDefaultCaption, "" + cxEditConsts_cxSBlobButtonOK, "&OK" + cxEditConsts_cxSBlobButtonCancel, "&Cancel" + cxEditConsts_cxSBlobButtonClose, "&Close" + cxEditConsts_cxSBlobMemo, "(MEMO)" + cxEditConsts_cxSBlobMemoEmpty, "(memo)" + cxEditConsts_cxSBlobPicture, "(PICTURE)" + cxEditConsts_cxSBlobPictureEmpty, "(picture)" cxFilterConsts_cxSFilterNotCaption, "not" cxFilterConsts_cxSFilterBlankCaption, "blank" cxFilterConsts_cxSFilterOperatorIsNull, "is blank" @@ -1408,11 +1453,11 @@ BEGIN cxFilterConsts_cxSFilterOperatorContains, "contains" cxFilterConsts_cxSFilterOperatorDoesNotContain, "does not contain" cxFilterConsts_cxSFilterBoxAllCaption, "(All)" - cxFilterConsts_cxSFilterOperatorLast7Days, "is last 7 days" - cxFilterConsts_cxSFilterOperatorLastWeek, "is last week" - cxFilterConsts_cxSFilterOperatorLast14Days, "is last 14 days" - cxFilterConsts_cxSFilterOperatorLastTwoWeeks, "is last two weeks" - cxFilterConsts_cxSFilterOperatorLast30Days, "is last 30 days" + cxFilterConsts_cxSFilterBoxCustomCaption, "(Custom...)" + cxFilterConsts_cxSFilterBoxBlanksCaption, "(Blanks)" + cxFilterConsts_cxSFilterBoxNonBlanksCaption, "(NonBlanks)" + cxEditConsts_cxSEditDateConvertError, "Could not convert to date" + cxEditConsts_cxSEditInvalidRepositoryItem, "The repository item is not acceptable" cxFilterConsts_cxSFilterOperatorLastMonth, "is last month" cxFilterConsts_cxSFilterOperatorLastYear, "is last year" cxFilterConsts_cxSFilterOperatorPast, "is past" @@ -1424,11 +1469,11 @@ BEGIN cxFilterConsts_cxSFilterOperatorNext14Days, "is next 14 days" cxFilterConsts_cxSFilterOperatorNextTwoWeeks, "is next two weeks" cxFilterConsts_cxSFilterOperatorNext30Days, "is next 30 days" - cxEditConsts_cxSSpinEditInvalidNumericValue, "Invalid numeric value" - cxFilterConsts_cxSFilterOperatorEqual, "equals" - cxFilterConsts_cxSFilterOperatorNotEqual, "does not equal" - cxFilterConsts_cxSFilterOperatorLess, "is less than" - cxFilterConsts_cxSFilterOperatorLessEqual, "is less than or equal to" + cxFilterConsts_cxSFilterOperatorNextMonth, "is next month" + cxFilterConsts_cxSFilterOperatorNextYear, "is next year" + cxFilterConsts_cxSFilterOperatorFuture, "is future" + cxFilterConsts_cxSFilterAndCaption, "and" + cxFilterConsts_cxSFilterOrCaption, "or" cxFilterConsts_cxSFilterOperatorGreater, "is greater than" cxFilterConsts_cxSFilterOperatorGreaterEqual, "is greater than or equal to" cxFilterConsts_cxSFilterOperatorLike, "like" @@ -1440,126 +1485,11 @@ BEGIN cxFilterConsts_cxSFilterOperatorYesterday, "is yesterday" cxFilterConsts_cxSFilterOperatorToday, "is today" cxFilterConsts_cxSFilterOperatorTomorrow, "is tomorrow" - cxEditConsts_scxRegExprIllegalSymbol, "Illegal '%s'" - cxEditConsts_scxRegExprIllegalQuantifier, "Illegal quantifier '%s'" - cxEditConsts_scxRegExprIllegalIntegerValue, "Illegal integer value" - cxEditConsts_scxRegExprTooBigReferenceNumber, "Too big reference number" - cxEditConsts_scxRegExprCantCreateEmptyEnum, "Can't create empty enumeration" - cxEditConsts_scxRegExprSubrangeOrder, "The starting character of the subrange must be less than the finishing one" - cxEditConsts_scxRegExprHexNumberExpected0, "Hexadecimal number expected" - cxEditConsts_scxRegExprHexNumberExpected, "Hexadecimal number expected but '%s' found" - cxEditConsts_scxRegExprMissing, "Missing '%s'" - cxEditConsts_scxRegExprUnnecessary, "Unnecessary '%s'" - cxEditConsts_scxRegExprIncorrectSpace, "The space character is not allowed after '\\'" - cxEditConsts_scxRegExprNotCompiled, "Regular expression is not compiled" - cxEditConsts_scxRegExprIncorrectParameterQuantifier, "Incorrect parameter quantifier" - cxEditConsts_scxRegExprCantUseParameterQuantifier, "The parameter quantifier cannot be applied here" - cxEditConsts_scxMaskEditRegExprError, "Regular expression errors:" - cxEditConsts_scxMaskEditInvalidEditValue, "The edit value is invalid" - cxEditConsts_scxSEditRepositoryMaskItem, "MaskEdit|Represents a generic masked edit control." - cxEditConsts_scxSEditRepositoryMemoItem, "Memo|Represents an edit control that allows editing memo data" - cxEditConsts_scxSEditRepositoryMRUItem, "MRUEdit|Represents a text editor displaying the list of most recently used items (MRU) within a dropdown window" - cxEditConsts_scxSEditRepositoryPopupItem, "PopupEdit|Represents an edit control with a dropdown list" - cxEditConsts_scxSEditRepositorySpinItem, "SpinEdit|Represents a spin editor" - cxEditConsts_scxSEditRepositoryRadioGroupItem, "RadioGroup|Represents a group of radio buttons" - cxEditConsts_scxSEditRepositoryTextItem, "TextEdit|Represents a single line text editor" - cxEditConsts_scxSEditRepositoryTimeItem, "TimeEdit|Represents an editor displaying time values" - cxEditConsts_scxRegExprLine, "Line" - cxEditConsts_scxRegExprChar, "Char" - cxEditConsts_scxRegExprNotAssignedSourceStream, "The source stream is not assigned" - cxEditConsts_scxRegExprEmptySourceStream, "The source stream is empty" - cxEditConsts_scxRegExprCantUsePlusQuantifier, "The '+' quantifier cannot be applied here" - cxEditConsts_scxRegExprCantUseStarQuantifier, "The '*' quantifier cannot be applied here" - cxEditConsts_scxRegExprCantCreateEmptyAlt, "The alternative should not be empty" - cxEditConsts_scxRegExprCantCreateEmptyBlock, "The block should not be empty" - cxEditConsts_cxNavigatorHint_Post, "Post edit" - cxEditConsts_cxNavigatorHint_Cancel, "Cancel edit" - cxEditConsts_cxNavigatorHint_Refresh, "Refresh data" - cxEditConsts_cxNavigatorHint_SaveBookmark, "Save Bookmark" - cxEditConsts_cxNavigatorHint_GotoBookmark, "Goto Bookmark" - cxEditConsts_cxNavigatorHint_Filter, "Filter data" - cxEditConsts_scxSEditRepositoryBlobItem, "BlobEdit|Represents the BLOB editor" - cxEditConsts_scxSEditRepositoryButtonItem, "ButtonEdit|Represents an edit control with embedded buttons" - cxEditConsts_scxSEditRepositoryCalcItem, "CalcEdit|Represents an edit control with a dropdown calculator window" - cxEditConsts_scxSEditRepositoryCheckBoxItem, "CheckBox|Represents a check box control that allows selecting an option" - cxEditConsts_scxSEditRepositoryComboBoxItem, "ComboBox|Represents the combo box editor" - cxEditConsts_scxSEditRepositoryCurrencyItem, "CurrencyEdit|Represents an editor enabling editing currency data" - cxEditConsts_scxSEditRepositoryDateItem, "DateEdit|Represents an edit control with a dropdown calendar" - cxEditConsts_scxSEditRepositoryHyperLinkItem, "HyperLink|Represents a text editor with hyperlink functionality" - cxEditConsts_scxSEditRepositoryImageComboBoxItem, "ImageComboBox|Represents an editor displaying the list of images and text strings within the dropdown window" - cxEditConsts_scxSEditRepositoryImageItem, "Image|Represents an image editor" - cxEditConsts_cxSDateSixth, "sixth" - cxEditConsts_cxSDateSeventh, "seventh" - cxEditConsts_cxSDateBOM, "bom" - cxEditConsts_cxSDateEOM, "eom" - cxEditConsts_cxSDateNow, "now" - cxEditConsts_scxSCalcError, "Error" - cxEditConsts_scxSHyperLinkPrefix, "http://" - cxEditConsts_cxNavigatorHint_First, "First record" - cxEditConsts_cxNavigatorHint_Prior, "Prior record" - cxEditConsts_cxNavigatorHint_PriorPage, "Prior page" - cxEditConsts_cxNavigatorHint_Next, "Next record" - cxEditConsts_cxNavigatorHint_NextPage, "Next page" - cxEditConsts_cxNavigatorHint_Last, "Last record" - cxEditConsts_cxNavigatorHint_Insert, "Insert record" - cxEditConsts_cxNavigatorHint_Delete, "Delete record" - cxEditConsts_cxNavigatorHint_Edit, "Edit record" - cxEditConsts_cxSDateError, "Invalid Date" - cxEditConsts_cxSDateToday, "today" - cxEditConsts_cxSDateYesterday, "yesterday" - cxEditConsts_cxSDateTomorrow, "tomorrow" - cxEditConsts_cxSDateSunday, "Sunday" - cxEditConsts_cxSDateMonday, "Monday" - cxEditConsts_cxSDateTuesday, "Tuesday" - cxEditConsts_cxSDateWednesday, "Wednesday" - cxEditConsts_cxSDateThursday, "Thursday" - cxEditConsts_cxSDateFriday, "Friday" - cxEditConsts_cxSDateSaturday, "Saturday" - cxEditConsts_cxSDateFirst, "first" - cxEditConsts_cxSDateSecond, "second" - cxEditConsts_cxSDateThird, "third" - cxEditConsts_cxSDateFourth, "fourth" - cxEditConsts_cxSDateFifth, "fifth" - cxEditConsts_cxSBlobButtonCancel, "&Cancel" - cxEditConsts_cxSBlobButtonClose, "&Close" - cxEditConsts_cxSBlobMemo, "(MEMO)" - cxEditConsts_cxSBlobMemoEmpty, "(memo)" - cxEditConsts_cxSBlobPicture, "(PICTURE)" - cxEditConsts_cxSBlobPictureEmpty, "(picture)" - cxEditConsts_cxSMenuItemCaptionCut, "Cu&t" - cxEditConsts_cxSMenuItemCaptionCopy, "&Copy" - cxEditConsts_cxSMenuItemCaptionPaste, "&Paste" - cxEditConsts_cxSMenuItemCaptionDelete, "&Delete" - cxEditConsts_cxSMenuItemCaptionLoad, "&Load..." - cxEditConsts_cxSMenuItemCaptionSave, "Save &As..." - cxEditConsts_cxSDatePopupClear, "Clear" - cxEditConsts_cxSDatePopupNow, "Now" - cxEditConsts_cxSDatePopupOK, "OK" - cxEditConsts_cxSDatePopupToday, "Today" - cxDataConsts_cxSDataItemIndexError, "ItemIndex out of range" - cxDataConsts_cxSDataProviderModeError, "This operation is not supported in provider mode" - cxDataConsts_cxSDataInvalidStreamFormat, "Invalid stream format" - cxDataConsts_cxSDataRowIndexError, "RowIndex out of range" - cxEditConsts_cxSEditDateConvertError, "Could not convert to date" - cxEditConsts_cxSEditInvalidRepositoryItem, "The repository item is not acceptable" - cxEditConsts_cxSEditNumericValueConvertError, "Could not convert to numeric value" - cxEditConsts_cxSEditPopupCircularReferencingError, "Circular referencing is not allowed" - cxEditConsts_cxSEditTimeConvertError, "Could not convert to time" - cxEditConsts_cxSEditValidateErrorText, "Invalid input value. Use escape key to abandon changes" - cxEditConsts_cxSEditValueOutOfBounds, "Value out of bounds" - cxEditConsts_cxSEditCheckBoxChecked, "True" - cxEditConsts_cxSEditCheckBoxGrayed, "" - cxEditConsts_cxSEditCheckBoxUnchecked, "False" - cxEditConsts_cxSRadioGroupDefaultCaption, "" - cxEditConsts_cxSBlobButtonOK, "&OK" - pnglang_EPNGUnknownPalEntryText, "There is no such palette entry." - pnglang_EPNGUnknownCriticalChunkText, "This \"Portable Network Graphics\" image contains an unknown critical part which could not be decoded." - pnglang_EPNGUnknownCompressionText, "This \"Portable Network Graphics\" image is encoded with an unknown compression scheme which could not be decoded." - pnglang_EPNGUnknownInterlaceText, "This \"Portable Network Graphics\" image uses an unknown interlace scheme which could not be decoded." - pnglang_EPNGCannotAssignChunkText, "The chunks must be compatible to be assigned." - pnglang_EPNGUnexpectedEndText, "This \"Portable Network Graphics\" image is invalid because the decoder found an unexpected end of the file." - pnglang_EPNGNoImageDataText, "This \"Portable Network Graphics\" image contains no data." - pnglang_EPNGCannotChangeSizeText, "The \"Portable Network Graphics\" image can not be resize by changing width and height properties. Try assigning the image from a bitmap." + cxFilterConsts_cxSFilterOperatorLast7Days, "is last 7 days" + cxFilterConsts_cxSFilterOperatorLastWeek, "is last week" + cxFilterConsts_cxSFilterOperatorLast14Days, "is last 14 days" + cxFilterConsts_cxSFilterOperatorLastTwoWeeks, "is last two weeks" + cxFilterConsts_cxSFilterOperatorLast30Days, "is last 30 days" pnglang_EPNGCannotAddChunkText, "The program tried to add a existent critical chunk to the current image which is not allowed." pnglang_EPNGCannotAddInvalidImageText, "It's not allowed to add a new chunk because the current image is invalid." pnglang_EPNGOutMemoryText, "Some operation could not be performed because the system is out of resources. Close some windows and try again." @@ -1568,14 +1498,14 @@ BEGIN cxDataConsts_cxSDataWriteError, "Stream write error" cxDataConsts_cxSDataItemExistError, "Item already exists" cxDataConsts_cxSDataRecordIndexError, "RecordIndex out of range" - SqlConst_SNOTABLE, "[0x0019]: No table found" - SqlConst_SNODATA, "[0x0064]: No more data" - SqlConst_SSQLERROR, "[0x0065]: SQL Error" - SqlConst_SDBXError, "dbExpress Error: %s" - SqlConst_SSQLServerError, "SQL Server Error: %s" - SqlConst_SDriverNotInConfigFile, "Driver (%s) not found in Cfg file (%s)" - SqlConst_SObjectTypenameRequired, "Object type name required as parameter value" - SqlConst_SCannotCreateFile, "Cannot create file %s" + cxDataConsts_cxSDataItemIndexError, "ItemIndex out of range" + cxDataConsts_cxSDataProviderModeError, "This operation is not supported in provider mode" + cxDataConsts_cxSDataInvalidStreamFormat, "Invalid stream format" + cxDataConsts_cxSDataRowIndexError, "RowIndex out of range" + cxFilterConsts_cxSFilterOperatorEqual, "equals" + cxFilterConsts_cxSFilterOperatorNotEqual, "does not equal" + cxFilterConsts_cxSFilterOperatorLess, "is less than" + cxFilterConsts_cxSFilterOperatorLessEqual, "is less than or equal to" pnglang_EPngInvalidCRCText, "This \"Portable Network Graphics\" image is not valid because it contains invalid pieces of data (crc error)" pnglang_EPNGInvalidIHDRText, "The \"Portable Network Graphics\" image could not be loaded because one of its main piece of data (ihdr) might be corrupted" pnglang_EPNGMissingMultipleIDATText, "This \"Portable Network Graphics\" image is invalid because it has missing image parts." @@ -1584,54 +1514,16 @@ BEGIN pnglang_EPNGInvalidFileHeaderText, "The file being readed is not a valid \"Portable Network Graphics\" image because it contains an invalid header. This file may be corruped, try obtaining it again." pnglang_EPNGIHDRNotFirstText, "This \"Portable Network Graphics\" image is not supported or it might be invalid.\r\n(IHDR chunk is not the first)" pnglang_EPNGSizeExceedsText, "This \"Portable Network Graphics\" image is not supported because either it's width or height exceeds the maximum size, which is 65535 pixels length." - SqlConst_SINVALIDPARAM, "[0x0009]: Invalid Parameter" - SqlConst_SEOF, "[0x000A]: Result set at EOF" - SqlConst_SSQLPARAMNOTSET, "dbExpress Error [0x000B]: Parameter Not Set" - SqlConst_SINVALIDUSRPASS, "[0x000C] Invalid Username/Password" - SqlConst_SINVALIDPRECISION, "[0x000D]: Invalid Precision" - SqlConst_SINVALIDLEN, "[0x000E]: Invalid Length" - SqlConst_SINVALIDXISOLEVEL, "[0x000F]: Invalid Transaction Isolation Level" - SqlConst_SINVALIDTXNID, "[0x0010]: Invalid Transaction ID" - SqlConst_SDUPLICATETXNID, "[0x0011]: Duplicate Transaction ID" - SqlConst_SDRIVERRESTRICTED, "[0x0012]: Application is not licensed to use this feature" - SqlConst_SLOCALTRANSACTIVE, "[0x0013]: Local Transaction already active" - SqlConst_SMULTIPLETRANSNOTENABLED, "[0x0014]: Multiple Transactions not Enabled" - SqlConst_SCONNECTIONFAILED, "[0x0015]: Connection failed" - SqlConst_SDRIVERINITFAILED, "[0x0016]: Driver initialization failed" - SqlConst_SOPTLOCKFAILED, "[0x0017]: Optimistic Locking failed" - SqlConst_SINVALIDREF, "[0x0018]: Invalid REF" - SqlConst_SMissingDLLName, "DLL/Shared Library Name not Set" - SqlConst_SMissingDriverRegFile, "Driver/Connection Registry File '%s' not found" - SqlConst_SNoCursor, "Cursor not returned from Query" - SqlConst_SErrorMappingError, "SQL Error: Error mapping failed" - SqlConst_SStoredProcsNotSupported, "Stored Procedures not supported by '%s' Server" - SqlConst_SPackagesNotSupported, "Packages are not supported by '%s' Server" - SqlConst_SDBXUNKNOWNERROR, "dbExpress Error: Unknown Error Code '%s'" - SqlConst_SNOERROR, "" - SqlConst_SWARNING, "[0x0001]: Warning" - SqlConst_SNOMEMORY, "[0x0002]: Insufficient Memory for Operation" - SqlConst_SINVALIDFLDTYPE, "[0x0003]: Invalid Field Type" - SqlConst_SINVALIDHNDL, "[0x0004]: Invalid Handle" - SqlConst_SNOTSUPPORTED, "[0x0005]: Operation Not Supported" - SqlConst_SINVALIDTIME, "[0x0006]: Invalid Time" - SqlConst_SINVALIDXLATION, "[0x0007]: Invalid Data Translation" - SqlConst_SOUTOFRANGE, "[0x0008]: Parameter/Column out of Range" - SqlConst_SDatabaseOpen, "Cannot perform this operation on an open connection" - SqlConst_SDatabaseClosed, "Cannot perform this operation on a closed connection" - SqlConst_SMissingSQLConnection, "SQLConnection property required for this operation" - SqlConst_SConnectionNameMissing, "Connection name missing" - SqlConst_SEmptySQLStatement, "No SQL statement available" - SqlConst_SNoParameterValue, "No value for parameter '%s'" - SqlConst_SNoSqlStatement, "Missing query, table name or procedure name" - SqlConst_SMissingDataBaseName, "Missing Database property" - SqlConst_SMissingDriverName, "Missing DriverName property" - SqlConst_SPrepareError, "Unable to execute Query" - SqlConst_SObjectNameError, "Table/Procedure not found" - SqlConst_SSQLDataSetOpen, "Unable to determine field names for %s" - SqlConst_SNoActiveTrans, "There is no active transaction" - SqlConst_SActiveTrans, "A transaction is already active" - SqlConst_SDllLoadError, "Unable to Load %s" - SqlConst_SDllProcLoadError, "Unable to Find Procedure %s" + pnglang_EPNGUnknownPalEntryText, "There is no such palette entry." + pnglang_EPNGUnknownCriticalChunkText, "This \"Portable Network Graphics\" image contains an unknown critical part which could not be decoded." + pnglang_EPNGUnknownCompressionText, "This \"Portable Network Graphics\" image is encoded with an unknown compression scheme which could not be decoded." + pnglang_EPNGUnknownInterlaceText, "This \"Portable Network Graphics\" image uses an unknown interlace scheme which could not be decoded." + pnglang_EPNGCannotAssignChunkText, "The chunks must be compatible to be assigned." + pnglang_EPNGUnexpectedEndText, "This \"Portable Network Graphics\" image is invalid because the decoder found an unexpected end of the file." + pnglang_EPNGNoImageDataText, "This \"Portable Network Graphics\" image contains no data." + pnglang_EPNGCannotChangeSizeText, "The \"Portable Network Graphics\" image can not be resize by changing width and height properties. Try assigning the image from a bitmap." + IBXConst_SIB71feature, "%s is an InterBase 7.1 function. Please upgrade to InterBase 7.1 to use this functonality" + IBXConst_SIB80feature, "%s is an InterBase 2007 function. Please upgrade to InterBase 2007 to use this functonality" ADOConst_SMissingConnection, "Missing Connection or ConnectionString" ADOConst_SNoDetailFilter, "Filter property cannot be used for detail tables" ADOConst_SBookmarksRequired, "Dataset does not support bookmarks, which are required for multi-record data controls" @@ -1646,10 +1538,6 @@ BEGIN ADOConst_SRecordsetNotOpen, "Recordset is not open" ADOConst_sNameAttr, "Name" ADOConst_sValueAttr, "Value" - SqlConst_SLoginError, "Cannot connect to database '%s'" - SqlConst_SMonitorActive, "Cannot change connection on Active Monitor" - IBXConst_SNoDestinationDirectory, "DestinationDirectory is not set" - IBXConst_SNosourceDirectory, "SourceDirectory is not set" IBXConst_SNoUninstallFile, "Uninstall File Name is not set" IBXConst_SOptionNeedsClient, "%s component requires Client to function properly" IBXConst_SOptionNeedsServer, "%s component requires Server to function properly" @@ -1663,9 +1551,9 @@ BEGIN IBXConst_SEventAlreadyRegistered, "Events already registered" IBXConst_SStringTooLarge, "Trying to store a string of length %d into a field that can only contain %d" IBXConst_SNoTimers, "Not enough timers available" - ADOConst_SInvalidEnumValue, "Invalid Enum Value" - IBXConst_SServiceActive, "Cannot perform operation -- service is not attached" - IBXConst_SServiceInActive, "Cannot perform operation -- service is attached" + IBXConst_SIB65feature, "%s is an InterBase 6.5 function. Please upgrade to InterBase 6.5 to use this functonality" + IBXConst_SLoginPromptFailure, "Can not find default login prompt dialog. Please add DBLogDlg to the uses section of your main file." + IBXConst_SIB70feature, "%s is an InterBase 7.0 function. Please upgrade to InterBase 7.0 to use this functonality" IBXConst_SServerNameMissing, "Server Name Missing" IBXConst_SQueryParamsError, "Query Parameters missing or incorrect" IBXConst_SStartParamsError, "start Parameters missing or incorrect" @@ -1680,8 +1568,8 @@ BEGIN IBXConst_SSuccess, "Successful execution" IBXConst_SDelphiException, "DelphiException %s" IBXConst_SNoOptionsSet, "No Install Options selected" - IBXConst_SNoRecordsAffected, "No Records Affected" - IBXConst_SNoTableName, "No Table Name assigned" + IBXConst_SNoDestinationDirectory, "DestinationDirectory is not set" + IBXConst_SNosourceDirectory, "SourceDirectory is not set" IBXConst_SCannotCreatePrimaryIndex, "Cannot Create Primary Index; are created automatically" IBXConst_SCannotDropSystemIndex, "Cannot Drop System Index" IBXConst_STableNameMismatch, "Table Name Mismatch" @@ -1696,8 +1584,8 @@ BEGIN IBXConst_SSQLDialectInvalid, "SQL Dialect Invalid" IBXConst_SSPBConstantNotSupported, "SPB Constant Not supported" IBXConst_SSPBConstantUnknown, "SPB Constant Unknown" - IBXConst_SCannotCreateSharedResource, "Cannot create shared resource. (Windows error %d)" - IBXConst_SWindowsAPIError, "Windows API error. (Windows error %d [$%.8x])" + IBXConst_SServiceActive, "Cannot perform operation -- service is not attached" + IBXConst_SServiceInActive, "Cannot perform operation -- service is attached" IBXConst_SColumnListsDontMatch, "Column lists do not match" IBXConst_SColumnTypesDontMatch, "Column types don't match. (From index: %d; To index: %d)" IBXConst_SCantEndSharedTransaction, "Can't end a shared transaction unless it is forced and equal to the transaction's TimeoutAction" @@ -1712,8 +1600,8 @@ BEGIN IBXConst_SNotCachedUpdates, "CachedUpdates not enabled" IBXConst_SNotLiveRequest, "Request is not live - cannot modify" IBXConst_SNoProvider, "No Provider" - IBXConst_SEmptyQuery, "Empty query" - IBXConst_SCannotOpenNonSQLSelect, "Cannot \"open\" a non-select statement. Use ExecQuery" + IBXConst_SNoRecordsAffected, "No Records Affected" + IBXConst_SNoTableName, "No Table Name assigned" IBXConst_SNoFieldAccess, "No access to field \"%s\"" IBXConst_SFieldReadOnly, "Field \"%s\" is read-only" IBXConst_SFieldNotFound, "Field \"%s\" not found" @@ -1728,8 +1616,8 @@ BEGIN IBXConst_SSQLParseError, "SQL Parse Error:\r\n\r\n%s" IBXConst_SUserAbort, "User abort" IBXConst_SDataSetUniDirectional, "Data set is uni-directional" - IBXConst_SXSQLDAIndexOutOfRange, "XSQLDA index out of range" - IBXConst_SXSQLDANameDoesNotExist, "XSQLDA name does not exist (%s)" + IBXConst_SCannotCreateSharedResource, "Cannot create shared resource. (Windows error %d)" + IBXConst_SWindowsAPIError, "Windows API error. (Windows error %d [$%.8x])" IBXConst_SEOF, "End of file" IBXConst_SBOF, "Beginning of file" IBXConst_SInvalidStatementHandle, "Invalid statement handle" @@ -1744,8 +1632,8 @@ BEGIN IBXConst_SColumnIsNotNullable, "Column cannot be set to null (%s)" IBXConst_SBlobCannotBeRead, "Blob stream cannot be read" IBXConst_SBlobCannotBeWritten, "Blob stream cannot be written" - IBXConst_SOperationCancelled, "Operation cancelled at user's request" - IBXConst_SDPBConstantNotSupported, "DPB Constant (isc_dpb_%s) is unsupported" + IBXConst_SEmptyQuery, "Empty query" + IBXConst_SCannotOpenNonSQLSelect, "Cannot \"open\" a non-select statement. Use ExecQuery" IBXConst_SDPBConstantUnknown, "DPB Constant (%d) is unknown" IBXConst_STPBConstantNotSupported, "TPB Constant (isc_tpb_%s) is unsupported" IBXConst_STPBConstantUnknown, "TPB Constant (%d) is unknown" @@ -1760,12 +1648,12 @@ BEGIN IBXConst_SUpdateWrongTR, "Updating wrong transaction. Unique transaction expected in set" IBXConst_SDatabaseNotAssigned, "Database not assigned" IBXConst_STransactionNotAssigned, "Transaction not assigned" - uDARes_err_DARDMInvalidSchema, "Schema must be assigned and must point to a ConnectionManager" - uDARes_err_DARDMUnassignedAdapter, "DataAdapter is not assigned" - uDARes_err_DARDMConnectionIsNotAssigned, "Connection is not assigned" - uDARes_err_DARDMCannotFindProxessorForDelta, "Cannot find a business processor for delta \"%s\"" - uDARes_err_NeedShareMem, "To use dynamically loaded drivers, you must build your application with ShareMem." - uDARes_err_ExecuteSQLCommandNotAllowed, "ExecuteSQLCommand is not enabled for this server." + IBXConst_SXSQLDAIndexOutOfRange, "XSQLDA index out of range" + IBXConst_SXSQLDANameDoesNotExist, "XSQLDA name does not exist (%s)" + IBSQLMonitor_StrRollback, ": [Rollback]" + IBSQLMonitor_StrRollbackRetainin, ": [Rollback retaining (Soft rollback)]" + IBSQLMonitor_StrStartTransaction, ": [Start transaction]" + IBSQLMonitor_StrApplication, "[Application: " IBXConst_SUnknownError, "Unknown error" IBXConst_SInterBaseMissing, "InterBase library gds32.dll not found in the path. Please install InterBase to use this functionality" IBXConst_SInterBaseInstallMissing, "InterBase Install DLL ibinstall.dll not found in the path. Please install InterBase 6 to use this functionality" @@ -1776,15 +1664,24 @@ BEGIN IBXConst_SConnectionTimeout, "Database connection timed out" IBXConst_SCannotSetDatabase, "Cannot set database" IBXConst_SCannotSetTransaction, "Cannot set transaction" - uDARes_err_FieldTypeNotSupported, "FieldType %s (%d) is not supported" - uDARes_err_InvalidDataset, "Invalid or NIL dataset" - uDARes_err_CannotFindItem, "Cannot find %s \"%s\" in collection of type %s" - uDARes_err_DriverAlreadyLoaded, "Driver %s is already loaded" - uDARes_err_InvalidDLL, "%s is not a valid Data Abstract driver" - uDARes_err_UnknownDriver, "Unknown driver %s" - uDARes_err_UnknownParameter, "Unknown parameter %s" - uDARes_err_FieldIsNotBound, "Field is not bound" - uDARes_err_CannotFindField, "Cannot find field %s" + IBXConst_SOperationCancelled, "Operation cancelled at user's request" + IBXConst_SDPBConstantNotSupported, "DPB Constant (isc_dpb_%s) is unsupported" + IBSQLMonitor_StrDisconnect, ": [Disconnect]" + IBSQLMonitor_StrMisc, "[Misc] " + IBSQLMonitor_StrError, "[Error] " + IBSQLMonitor_StrAttach, ": [Attach]" + IBSQLMonitor_StrDetach, ": [Detach]" + IBSQLMonitor_StrQuery, ": [Query]" + IBSQLMonitor_StrStart, ": [Start]" + IBSQLMonitor_StrExecute, ": [Execute] " + IBSQLMonitor_StrNULL, "" + IBSQLMonitor_StrBLOB, "" + IBSQLMonitor_StrFetch, ": [Fetch] " + IBSQLMonitor_StrPrepare, ": [Prepare] " + IBSQLMonitor_StrPlan, " Plan: " + IBSQLMonitor_StrPlanCantRetrive, " Plan: Can't retrieve plan - too large" + IBSQLMonitor_StrCommitHardComm, ": [Commit (Hard commit)]" + IBSQLMonitor_StrCommitRetaining, ": [Commit retaining (Soft commit)]" uDARes_err_LoadPackageFailed, "LoadPackage failed for file %s" uDARes_err_InvalidDriverReference, "The driver in %s could not be loaded" uDARes_err_CannotFindStatement, "Cannot find statement %s for connection %s" @@ -1792,86 +1689,127 @@ BEGIN uDARes_err_PoolIsNotEmpty, "Cannot perform this operation when connections are pooled" uDARes_err_MaxPoolSizeReached, "Maximum pool size reached. Cannot create a new connection" uDARes_err_LAMEDataset, "%s does not implement IProviderSupport or implements it incorrectly" - DBConsts_SExprNoAggOnCalcs, "Field '%s' is not the correct type of calculated field to be used in an aggregate, use an internalcalc" - DBConsts_SDataSetUnidirectional, "Operation not allowed on a unidirectional dataset" - DBConsts_SUnassignedVar, "Unassigned variant value" - DBConsts_SRecordNotFound, "Record not found" - DBConsts_SFileNameBlank, "FileName property cannot be blank" - DBConsts_SFieldNameTooLarge, "Fieldname %s exceeds %d chars" - DBConsts_SBcdOverflow, "BCD overflow" - DBConsts_SInvalidBcdValue, "%s is not a valid BCD value" - DBConsts_SInvalidFormatType, "Invalid format type for BCD" - DBConsts_SCouldNotParseTimeStamp, "Could not parse SQL TimeStamp string" - DBConsts_SInvalidSqlTimeStamp, "Invalid SQL date/time values" + uDARes_err_HETConnectionNotSupportedInV3, "HET Connections are not supported by te legacy v3 DARemoteService" + uDARes_err_DARDMInvalidSchema, "Schema must be assigned and must point to a ConnectionManager" + uDARes_err_DARDMUnassignedAdapter, "DataAdapter is not assigned" + uDARes_err_DARDMConnectionIsNotAssigned, "Connection is not assigned" + uDARes_err_DARDMCannotFindProxessorForDelta, "Cannot find a business processor for delta \"%s\"" + uDARes_err_NeedShareMem, "To use dynamically loaded drivers, you must build your application with ShareMem." + uDARes_err_ExecuteSQLCommandNotAllowed, "ExecuteSQLCommand is not enabled for this server." + uDARes_err_DatasetNotAccessible, "Access to dataset %s has not been permitted." + IBSQLMonitor_StrConnect, ": [Connect]" + JvResources_RsHotLight, "Hot Light" + JvResources_RsMenuBar, "Menu Bar" + JvResources_RsMenuHighlight, "Menu Highlight" uDARes_err_ChangeLogAlreadyStarted, "StartChange has already been called; cannot log more than one change at a time." uDARes_err_NotAttachedToDataTable, "Delta is not attached to a DataTable" uDARes_err_DriverProcAlreadyRegistered, "DriverProc 0x%0.8x is already registered" uDARes_err_DriverManagerAlreadyCreated, "An instance of a TDADriverManager was already initialized. Only one driver manager per module is allowed" uDARes_err_DriverManagerNotAssigned, "Driver Manager is not assigned" - DBConsts_SExprTypeMis, "Type mismatch in expression" - DBConsts_SExprBadScope, "Operation cannot mix aggregate value with record-varying value" - DBConsts_SExprNoArith, "Arithmetic in filter expressions not supported" - DBConsts_SExprNotAgg, "Expression is not an aggregate expression" - DBConsts_SExprBadConst, "Constant is not correct type %s" - DBConsts_SExprNoAggFilter, "Aggregate expressions not allowed in filters" - DBConsts_SExprEmptyInList, "IN predicate list may not be empty" - DBConsts_SInvalidKeywordUse, "Invalid use of keyword" - DBConsts_STextFalse, "False" - DBConsts_STextTrue, "True" - DBConsts_SParameterNotFound, "Parameter '%s' not found" - DBConsts_SInvalidVersion, "Unable to load bind parameters" - DBConsts_SBadFieldType, "Field '%s' is of an unsupported type" - DBConsts_SAggActive, "Property may not be modified while aggregate is active" - DBConsts_SProviderSQLNotSupported, "SQL not supported: %s" - DBConsts_SProviderExecuteNotSupported, "Execute not supported: %s" - DBConsts_SDataSetEmpty, "Cannot perform this operation on an empty dataset" - DBConsts_SDataSetReadOnly, "Cannot modify a read-only dataset" - DBConsts_SNestedDataSetClass, "Nested dataset must inherit from %s" - DBConsts_SExprTermination, "Filter expression incorrectly terminated" - DBConsts_SExprNameError, "Unterminated field name" - DBConsts_SExprStringError, "Unterminated string constant" - DBConsts_SExprInvalidChar, "Invalid filter expression character: '%s'" - DBConsts_SExprNoLParen, "'(' expected but %s found" - DBConsts_SExprNoRParen, "')' expected but %s found" - DBConsts_SExprNoRParenOrComma, "')' or ',' expected but %s found" - DBConsts_SExprExpected, "Expression expected but %s found" - DBConsts_SExprBadField, "Field '%s' cannot be used in a filter expression" - DBConsts_SExprBadNullTest, "NULL only allowed with '=' and '<>'" - DBConsts_SExprRangeError, "Constant out of range" - DBConsts_SExprIncorrect, "Incorrectly formed filter expression" - DBConsts_SExprNothing, "nothing" - DBConsts_SInvalidCalcType, "Field '%s' cannot be a calculated or lookup field" - DBConsts_SFieldReadOnly, "Field '%s' cannot be modified" - DBConsts_SFieldIndexError, "Field index out of range" - DBConsts_SNoFieldIndexes, "No index currently active" - DBConsts_SNotIndexField, "Field '%s' is not indexed and cannot be modified" - DBConsts_SIndexFieldMissing, "Cannot access index field '%s'" - DBConsts_SDuplicateIndexName, "Duplicate index name '%s'" - DBConsts_SNoIndexForFields, "No index for fields '%s'" - DBConsts_SIndexNotFound, "Index '%s' not found" - DBConsts_SCircularDataLink, "Circular datalinks are not allowed" - DBConsts_SLookupInfoError, "Lookup information for field '%s' is incomplete" - DBConsts_SDataSourceChange, "DataSource cannot be changed" - DBConsts_SNoNestedMasterSource, "Nested datasets cannot have a MasterSource" - DBConsts_SDataSetOpen, "Cannot perform this operation on an open dataset" - DBConsts_SNotEditing, "Dataset not in edit or insert mode" - DBConsts_SDataSetClosed, "Cannot perform this operation on a closed dataset" - DBConsts_SFieldNameMissing, "Field name missing" - DBConsts_SDuplicateFieldName, "Duplicate field name '%s'" - DBConsts_SFieldNotFound, "Field '%s' not found" - DBConsts_SFieldAccessError, "Cannot access field '%s' as type %s" - DBConsts_SFieldValueError, "Invalid value for field '%s'" - DBConsts_SFieldRangeError, "%g is not a valid value for field '%s'. The allowed range is %g to %g" - DBConsts_SBcdFieldRangeError, "%s is not a valid value for field '%s'. The allowed range is %s to %s" - DBConsts_SInvalidIntegerValue, "'%s' is not a valid integer value for field '%s'" - DBConsts_SInvalidBoolValue, "'%s' is not a valid boolean value for field '%s'" - DBConsts_SInvalidFloatValue, "'%s' is not a valid floating point value for field '%s'" - DBConsts_SFieldTypeMismatch, "Type mismatch for field '%s', expecting: %s actual: %s" - DBConsts_SFieldSizeMismatch, "Size mismatch for field '%s', expecting: %d actual: %d" - DBConsts_SInvalidVarByteArray, "Invalid variant type or size for field '%s'" - DBConsts_SFieldOutOfRange, "Value of field '%s' is out of range" - DBConsts_SFieldRequired, "Field '%s' must have a value" - DBConsts_SDataSetMissing, "Field '%s' has no dataset" + uDARes_err_FieldTypeNotSupported, "FieldType %s (%d) is not supported" + uDARes_err_InvalidDataset, "Invalid or NIL dataset" + uDARes_err_CannotFindItem, "Cannot find %s \"%s\" in collection of type %s" + uDARes_err_DriverAlreadyLoaded, "Driver %s is already loaded" + uDARes_err_InvalidDLL, "%s is not a valid Data Abstract driver" + uDARes_err_UnknownDriver, "Unknown driver %s" + uDARes_err_FieldIsNotBound, "Field is not bound" + uDARes_err_CannotFindField, "Cannot find field %s" + JvResources_RsClInactiveBorder, "Inactive window border" + JvResources_RsClAppWorkSpace, "Application workspace" + JvResources_RsClHighlight, "Selection background" + JvResources_RsClHighlightText, "Selection text" + JvResources_RsClBtnFace, "Button face" + JvResources_RsClBtnShadow, "Button shadow" + JvResources_RsClGrayText, "Dimmed text" + JvResources_RsClBtnText, "Button text" + JvResources_RsClInactiveCaptionText, "Inactive window title bar text" + JvResources_RsClBtnHighlight, "Button highlight" + JvResources_RsCl3DDkShadow, "Dark shadow 3D elements" + JvResources_RsCl3DLight, "Highlight 3D elements" + JvResources_RsClInfoText, "Tooltip text" + JvResources_RsClInfoBk, "Tooltip background" + JvResources_RsGradientActiveCaption, "Gradient Active Caption" + JvResources_RsGradientInactiveCaption, "Gradient Inactive Caption" + JvResources_RsClLightYellow, "Light Yellow" + JvResources_RsClLightGreen, "Light Green" + JvResources_RsClLightTurquoise, "Light Turquoise" + JvResources_RsClPaleBlue, "Pale Blue" + JvResources_RsClLavender, "Lavender" + JvResources_RsClScrollBar, "Scrollbar" + JvResources_RsClBackground, "Desktop background" + JvResources_RsClActiveCaption, "Active window title bar" + JvResources_RsClInactiveCaption, "Inactive window title bar" + JvResources_RsClMenu, "Menu background" + JvResources_RsClWindow, "Window background" + JvResources_RsClWindowFrame, "Window frame" + JvResources_RsClMenuText, "Menu text" + JvResources_RsClWindowText, "Window text" + JvResources_RsClCaptionText, "Active window title bar text" + JvResources_RsClActiveBorder, "Active window border" + JvResources_RsClDarkYellow, "Dark Yellow" + JvResources_RsClBlueGray, "Blue Gray" + JvResources_RsClGray50, "Gray 50%" + JvResources_RsClLightOrange, "Light Orange" + JvResources_RsClSeaGreen, "Sea Green" + JvResources_RsClLightBlue, "Light Blue" + JvResources_RsClViolet, "Violet" + JvResources_RsClGray40, "Gray 40%" + JvResources_RsClPink, "Pink" + JvResources_RsClGold, "Gold" + JvResources_RsClBrightGreen, "Bright Green" + JvResources_RsClTurquoise, "Turquoise" + JvResources_RsClPlum, "Plum" + JvResources_RsClGray25, "Gray 25%" + JvResources_RsClRose, "Rose" + JvResources_RsClTan, "Tan" + JvResources_RsClFuchsia, "Fuchsia" + JvResources_RsClAqua, "Aqua" + JvResources_RsClWhite, "White" + JvResources_RsClMoneyGreen, "Money green" + JvResources_RsClSkyBlue, "Sky blue" + JvResources_RsClCream, "Cream" + JvResources_RsClMedGray, "Medium gray" + JvResources_RsClBrown, "Brown" + JvResources_RsClOliveGreen, "Olive Green" + JvResources_RsClDarkGreen, "Dark Green" + JvResources_RsClDarkTeal, "Dark Teal" + JvResources_RsClDarkBlue, "Dark Blue" + JvResources_RsClIndigo, "Indigo" + JvResources_RsClGray80, "Gray 80%" + JvResources_RsClDarkRed, "Dark Red" + JvResources_RsClOrange, "Orange" + JvResources_RsEGIFVersion, "Unknown GIF version" + JvResources_RsEPixelFormatNotImplemented, "BitmapToMemoryStream: pixel format not implemented" + JvResources_RsEBitCountNotImplemented, "BitmapToMemoryStream: bit count not implemented" + JvResources_RsClBlack, "Black" + JvResources_RsClMaroon, "Maroon" + JvResources_RsClGreen, "Green" + JvResources_RsClOlive, "Olive green" + JvResources_RsClNavy, "Navy blue" + JvResources_RsClPurple, "Purple" + JvResources_RsClTeal, "Teal" + JvResources_RsClGray, "Gray" + JvResources_RsClSilver, "Silver" + JvResources_RsClRed, "Red" + JvResources_RsClLime, "Lime" + JvResources_RsClYellow, "Yellow" + JvResources_RsClBlue, "Blue" + JvResources_RsEUnableToCreateKey, "Unable to create key '%s'" + JvResources_RsEEnumeratingRegistry, "Error enumerating registry" + JvResources_RsEInvalidType, "Invalid type" + JvResources_RsEUnknownBaseType, "Unknown base type for given set" + JvResources_RsEInvalidPath, "Invalid path" + JvResources_RsENotAUniqueRootPath, "'%s' is not a unique root path" + JvResources_RsECircularReferenceOfStorages, "Circular reference of storages" + JvResources_RsEShellNotCompatible, "Shell not compatible with BrowseForFolder" + JvResources_RsGIFImage, "CompuServe GIF Image" + JvResources_RsEChangeGIFSize, "Cannot change the Size of a GIF image" + JvResources_RsENoGIFData, "No GIF Data to write" + JvResources_RsEUnrecognizedGIFExt, "Unrecognized extension block: %.2x" + JvResources_RsEWrongGIFColors, "Wrong number of colors; must be a power of 2" + JvResources_RsEBadGIFCodeSize, "GIF code size not in range 2 to 9" + JvResources_RsEGIFDecodeError, "GIF encoded data is corrupt" + JvResources_RsEGIFEncodeError, "GIF image encoding error" JclResources_RsIntelCacheDescr7D, "2nd-level cache: 2 MBytes, 8-way set associative, 64 byte line size" JclResources_RsIntelCacheDescr7F, "2nd-level cache: 512 KBytes, 2-way set associative, 64 byte line size" JclResources_RsIntelCacheDescr82, "2nd-level cache: 256 KBytes, 8-way associative, 32 byte line size" @@ -1885,9 +1823,9 @@ BEGIN JclResources_RsIntelCacheDescrB4, "Data TLB1: 4 KByte pages, 4-way set associative, 256 entries" JclResources_RsIntelCacheDescrF0, "64-Byte Prefetching" JclResources_RsIntelCacheDescrF1, "128-Byte Prefetching" - DBConsts_SInvalidFieldSize, "Invalid field size" - DBConsts_SInvalidFieldKind, "Invalid FieldKind" - DBConsts_SUnknownFieldType, "Field '%s' is of an unknown type" + JvResources_RsAniExtension, "ani" + JvResources_RsAniFilterName, "ANI Image" + JvResources_RsRootValueReplaceFmt, "The Default Root Value \"%0:s\" has been replaced with \"%1:s\".\r\nPlease change the value in the FileVersionInfo Project Properties." JclResources_RsIntelCacheDescr57, "Data TLB0: 4 KByte pages, 4-way associative, 16 entries" JclResources_RsIntelCacheDescr5B, "Data TLB: 4 KByte and 4 MByte pages, 64 Entries" JclResources_RsIntelCacheDescr5C, "Data TLB: 4 KByte and 4 MByte pages, 128 Entries" @@ -1920,8 +1858,8 @@ BEGIN JclResources_RsIntelCacheDescr51, "Instruction TLB: 4 KByte and 2 MByte or 4 MByte pages, 128 Entries" JclResources_RsIntelCacheDescr52, "Instruction TLB: 4 KByte and 2 MByte or 4 MByte pages, 256 Entries" JclResources_RsIntelCacheDescr56, "Data TLB0: 4 MByte pages, 4-way set associative, 16 entries" - JclResources_RsBlankSearchString, "Search string cannot be blank" - JclResources_RsArgumentOutOfRange, "Argument out of range" + JclResources_RsRTTIVarType, "Variant type: " + JclResources_RsDeclarationFormat, "// Declaration for '%s' not supported." JclResources_RsIntelCacheDescr00, "Null descriptor" JclResources_RsIntelCacheDescr01, "Instruction TLB: 4 KByte pages, 4-way set associative, 32 entries" JclResources_RsIntelCacheDescr02, "Instruction TLB: 4 MByte pages, 4-way set associative, 2 entries" @@ -1936,6 +1874,8 @@ BEGIN JclResources_RsIntelCacheDescr22, "3rd level cache: 512 KBytes, 4-way set associative, 64 byte line size, 2 lines per sector" JclResources_RsIntelCacheDescr23, "3rd level cache: 1 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector" JclResources_RsIntelCacheDescr25, "3rd level cache: 2 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector" + JclResources_RsRTTIMinValue, "Min value: " + JclResources_RsRTTIMaxValue, "Max value: " JclResources_RsRTTINameList, "Names: " JclResources_RsRTTIClassName, "Class name: " JclResources_RsRTTIParent, "Parent: " @@ -1950,8 +1890,8 @@ BEGIN JclResources_RsRTTIElSize, "Element size: " JclResources_RsRTTIElType, "Element type: " JclResources_RsRTTIElNeedCleanup, "Elements need clean up: " - JclResources_RsRTTIVarType, "Variant type: " - JclResources_RsDeclarationFormat, "// Declaration for '%s' not supported." + JclResources_RsRTTITypeError, "???" + JclResources_RsRTTITypeInfoAt, "Type info: %p" JclResources_RsRTTIPropRead, "read" JclResources_RsRTTIPropWrite, "write" JclResources_RsRTTIPropStored, "stored" @@ -1966,8 +1906,8 @@ BEGIN JclResources_RsRTTIGUID, "GUID: " JclResources_RsRTTITypeKind, "Type kind: " JclResources_RsRTTIOrdinalType, "Ordinal type: " - JclResources_RsRTTIMinValue, "Min value: " - JclResources_RsRTTIMaxValue, "Max value: " + JclResources_RsHKCRShort, "HKCR" + JclResources_RsHKCUShort, "HKCU" JclResources_RsHKLMShort, "HKLM" JclResources_RsHKUSShort, "HKUS" JclResources_RsHKPDShort, "HKPD" @@ -1982,9 +1922,9 @@ BEGIN JclResources_RsRTTIOrdinal, "ordinal=" JclResources_RsRTTITrue, "True" JclResources_RsRTTIFalse, "False" - JclResources_RsRTTITypeError, "???" - JclResources_RsRTTITypeInfoAt, "Type info: %p" - JclResources_RsCannotCreateDir, "Unable to create directory" + JConsts_sChangeJPGSize, "Cannot change the size of a JPEG image" + JConsts_sJPEGError, "JPEG error #%d" + JConsts_sJPEGImageFile, "JPEG Image File" JclResources_RsFileUtilsNoVersionInfo, "File contains no version information" JclResources_RsUnableToOpenKeyRead, "Unable to open key \"%s\\%s\" for read" JclResources_RsUnableToOpenKeyWrite, "Unable to open key \"%s\\%s\" for write" @@ -1998,144 +1938,102 @@ BEGIN JclResources_RsHKPDLong, "HKEY_PERFORMANCE_DATA" JclResources_RsHKCCLong, "HKEY_CURRENT_CONFIG" JclResources_RsHKDDLong, "HKEY_DYN_DATA" - JclResources_RsHKCRShort, "HKCR" - JclResources_RsHKCUShort, "HKCU" - JvResources_RsClHighlightText, "Selection text" - JvResources_RsClBtnFace, "Button face" - JvResources_RsClBtnShadow, "Button shadow" - JvResources_RsClGrayText, "Dimmed text" - JvResources_RsClBtnText, "Button text" - JvResources_RsClInactiveCaptionText, "Inactive window title bar text" - JvResources_RsClBtnHighlight, "Button highlight" - JvResources_RsCl3DDkShadow, "Dark shadow 3D elements" - JvResources_RsCl3DLight, "Highlight 3D elements" - JvResources_RsClInfoText, "Tooltip text" - JvResources_RsClInfoBk, "Tooltip background" - JvResources_RsGradientActiveCaption, "Gradient Active Caption" - JvResources_RsGradientInactiveCaption, "Gradient Inactive Caption" - JvResources_RsHotLight, "Hot Light" - JvResources_RsMenuBar, "Menu Bar" - JvResources_RsMenuHighlight, "Menu Highlight" - JvResources_RsClPaleBlue, "Pale Blue" - JvResources_RsClLavender, "Lavender" - JvResources_RsClScrollBar, "Scrollbar" - JvResources_RsClBackground, "Desktop background" - JvResources_RsClActiveCaption, "Active window title bar" - JvResources_RsClInactiveCaption, "Inactive window title bar" - JvResources_RsClMenu, "Menu background" - JvResources_RsClWindow, "Window background" - JvResources_RsClWindowFrame, "Window frame" - JvResources_RsClMenuText, "Menu text" - JvResources_RsClWindowText, "Window text" - JvResources_RsClCaptionText, "Active window title bar text" - JvResources_RsClActiveBorder, "Active window border" - JvResources_RsClInactiveBorder, "Inactive window border" - JvResources_RsClAppWorkSpace, "Application workspace" - JvResources_RsClHighlight, "Selection background" - JvResources_RsClLightOrange, "Light Orange" - JvResources_RsClSeaGreen, "Sea Green" - JvResources_RsClLightBlue, "Light Blue" - JvResources_RsClViolet, "Violet" - JvResources_RsClGray40, "Gray 40%" - JvResources_RsClPink, "Pink" - JvResources_RsClGold, "Gold" - JvResources_RsClBrightGreen, "Bright Green" - JvResources_RsClTurquoise, "Turquoise" - JvResources_RsClPlum, "Plum" - JvResources_RsClGray25, "Gray 25%" - JvResources_RsClRose, "Rose" - JvResources_RsClTan, "Tan" - JvResources_RsClLightYellow, "Light Yellow" - JvResources_RsClLightGreen, "Light Green" - JvResources_RsClLightTurquoise, "Light Turquoise" - JvResources_RsClMoneyGreen, "Money green" - JvResources_RsClSkyBlue, "Sky blue" - JvResources_RsClCream, "Cream" - JvResources_RsClMedGray, "Medium gray" - JvResources_RsClBrown, "Brown" - JvResources_RsClOliveGreen, "Olive Green" - JvResources_RsClDarkGreen, "Dark Green" - JvResources_RsClDarkTeal, "Dark Teal" - JvResources_RsClDarkBlue, "Dark Blue" - JvResources_RsClIndigo, "Indigo" - JvResources_RsClGray80, "Gray 80%" - JvResources_RsClDarkRed, "Dark Red" - JvResources_RsClOrange, "Orange" - JvResources_RsClDarkYellow, "Dark Yellow" - JvResources_RsClBlueGray, "Blue Gray" - JvResources_RsClGray50, "Gray 50%" - JvResources_RsClBlack, "Black" - JvResources_RsClMaroon, "Maroon" - JvResources_RsClGreen, "Green" - JvResources_RsClOlive, "Olive green" - JvResources_RsClNavy, "Navy blue" - JvResources_RsClPurple, "Purple" - JvResources_RsClTeal, "Teal" - JvResources_RsClGray, "Gray" - JvResources_RsClSilver, "Silver" - JvResources_RsClRed, "Red" - JvResources_RsClLime, "Lime" - JvResources_RsClYellow, "Yellow" - JvResources_RsClBlue, "Blue" - JvResources_RsClFuchsia, "Fuchsia" - JvResources_RsClAqua, "Aqua" - JvResources_RsClWhite, "White" - JvResources_RsEUnknownBaseType, "Unknown base type for given set" - JvResources_RsEInvalidPath, "Invalid path" - JvResources_RsENotAUniqueRootPath, "'%s' is not a unique root path" - JvResources_RsECircularReferenceOfStorages, "Circular reference of storages" - JvResources_RsEShellNotCompatible, "Shell not compatible with BrowseForFolder" - JvResources_RsGIFImage, "CompuServe GIF Image" - JvResources_RsEChangeGIFSize, "Cannot change the Size of a GIF image" - JvResources_RsENoGIFData, "No GIF Data to write" - JvResources_RsEUnrecognizedGIFExt, "Unrecognized extension block: %.2x" - JvResources_RsEWrongGIFColors, "Wrong number of colors; must be a power of 2" - JvResources_RsEBadGIFCodeSize, "GIF code size not in range 2 to 9" - JvResources_RsEGIFDecodeError, "GIF encoded data is corrupt" - JvResources_RsEGIFEncodeError, "GIF image encoding error" - JvResources_RsEGIFVersion, "Unknown GIF version" - JvResources_RsEPixelFormatNotImplemented, "BitmapToMemoryStream: pixel format not implemented" - JvResources_RsEBitCountNotImplemented, "BitmapToMemoryStream: bit count not implemented" - IdResourceStrings_RSSocksServerConnectionRefusedError, "Connection refused." - IdResourceStrings_RSSocksServerTTLExpiredError, "TTL expired." - IdResourceStrings_RSSocksServerCommandError, "Command not supported." - IdResourceStrings_RSSocksServerAddressError, "Address type not supported." - IdResourceStrings_RSUnevenSizeInDecodeStream, "Uneven size in DecodeToStream." - IdResourceStrings_RSUnevenSizeInEncodeStream, "Uneven size in Encode." - IdResourceStrings_RSThreadTerminateAndWaitFor, "Cannot call TerminateAndWaitFor on FreeAndTerminate threads" - JConsts_sChangeJPGSize, "Cannot change the size of a JPEG image" - JConsts_sJPEGError, "JPEG error #%d" - JConsts_sJPEGImageFile, "JPEG Image File" - JvResources_RsAniExtension, "ani" - JvResources_RsAniFilterName, "ANI Image" - JvResources_RsRootValueReplaceFmt, "The Default Root Value \"%0:s\" has been replaced with \"%1:s\".\r\nPlease change the value in the FileVersionInfo Project Properties." - JvResources_RsEUnableToCreateKey, "Unable to create key '%s'" - JvResources_RsEEnumeratingRegistry, "Error enumerating registry" - JvResources_RsEInvalidType, "Invalid type" - IdResourceStrings_RSStackENAMETOOLONG, "File name too long." - IdResourceStrings_RSStackEHOSTDOWN, "Host is down." - IdResourceStrings_RSStackEHOSTUNREACH, "No route to host." - IdResourceStrings_RSStackENOTEMPTY, "Directory not empty" - IdResourceStrings_RSStackHOST_NOT_FOUND, "Host not found." - IdResourceStrings_RSSocksRequestFailed, "Request rejected or failed." - IdResourceStrings_RSSocksRequestServerFailed, "Request rejected because SOCKS server cannot connect." - IdResourceStrings_RSSocksRequestIdentFailed, "Request rejected because the client program and identd report different user-ids." - IdResourceStrings_RSSocksUnknownError, "Unknown socks error." - IdResourceStrings_RSSocksServerRespondError, "Socks server did not respond." - IdResourceStrings_RSSocksAuthMethodError, "Invalid socks authentication method." - IdResourceStrings_RSSocksAuthError, "Authentication error to socks server." - IdResourceStrings_RSSocksServerGeneralError, "General SOCKS server failure." - IdResourceStrings_RSSocksServerPermissionError, "Connection not allowed by ruleset." - IdResourceStrings_RSSocksServerNetUnreachableError, "Network unreachable." - IdResourceStrings_RSSocksServerHostUnreachableError, "Host unreachable." - IdResourceStrings_RSStackEAFNOSUPPORT, "Address family not supported by protocol family." - IdResourceStrings_RSStackEADDRINUSE, "Address already in use." - IdResourceStrings_RSStackEADDRNOTAVAIL, "Cannot assign requested address." - IdResourceStrings_RSStackENETDOWN, "Network is down." - IdResourceStrings_RSStackENETUNREACH, "Network is unreachable." - IdResourceStrings_RSStackENETRESET, "Net dropped connection or reset." - IdResourceStrings_RSStackECONNABORTED, "Software caused connection abort." - IdResourceStrings_RSStackECONNRESET, "Connection reset by peer." + IdResourceStringsProtocols_RSHTTPUnsupportedMediaType, "Unsupported Media Type" + IdResourceStringsProtocols_RSHTTPInternalServerError, "Internal Server Error" + IdResourceStringsProtocols_RSHTTPNotImplemented, "Not Implemented" + IdResourceStringsProtocols_RSHTTPBadGateway, "Bad Gateway" + IdResourceStringsProtocols_RSHTTPServiceUnavailable, "Service Unavailable" + IdResourceStringsProtocols_RSHTTPGatewayTimeout, "Gateway timeout" + IdResourceStringsProtocols_RSHTTPHTTPVersionNotSupported, "HTTP version not supported" + IdResourceStringsProtocols_RSHTTPUnknownResponseCode, "Unknown Response Code" + IdResourceStringsProtocols_RSHTTPHeaderAlreadyWritten, "Header has already been written." + IdResourceStringsProtocols_RSHTTPErrorParsingCommand, "Error in parsing command." + IdResourceStringsProtocols_RSHTTPUnsupportedAuthorisationScheme, "Unsupported authorization scheme." + IdResourceStringsProtocols_RSHTTPCannotSwitchSessionStateWhenActive, "Cannot change session state when the server is active." + IdResourceStringsProtocols_RSHTTPAuthAlreadyRegistered, "This authentication method is already registered with class name %s." + ComStrs_sInvalidIndex, "Invalid index" + ComStrs_sInsertError, "Unable to insert an item" + ComStrs_sUDAssociated, "%s is already associated with %s" + IdResourceStringsProtocols_RSHTTPNotModified, "Not Modified" + IdResourceStringsProtocols_RSHTTPUseProxy, "Use Proxy" + IdResourceStringsProtocols_RSHTTPBadRequest, "Bad Request" + IdResourceStringsProtocols_RSHTTPUnauthorized, "Unauthorized" + IdResourceStringsProtocols_RSHTTPForbidden, "Forbidden" + IdResourceStringsProtocols_RSHTTPNotFound, "Not Found" + IdResourceStringsProtocols_RSHTTPMethodNotAllowed, "Method not allowed" + IdResourceStringsProtocols_RSHTTPNotAcceptable, "Not Acceptable" + IdResourceStringsProtocols_RSHTTPProxyAuthenticationRequired, "Proxy Authentication Required" + IdResourceStringsProtocols_RSHTTPRequestTimeout, "Request Timeout" + IdResourceStringsProtocols_RSHTTPConflict, "Conflict" + IdResourceStringsProtocols_RSHTTPGone, "Gone" + IdResourceStringsProtocols_RSHTTPLengthRequired, "Length Required" + IdResourceStringsProtocols_RSHTTPPreconditionFailed, "Precondition Failed" + IdResourceStringsProtocols_RSHTTPRequestEntityToLong, "Request Entity To Long" + IdResourceStringsProtocols_RSHTTPRequestURITooLong, "Request-URI Too Long. 256 Chars max" + IdResourceStringsCore_RSNoOnExecute, "You must have an OnExecute event." + IdResourceStringsCore_RSTCPServerSchedulerAlreadyActive, "Cannot change the scheduler while the server is Active." + IdResourceStringsProtocols_RSMIMEExtensionEmpty, "Extension is empty" + IdResourceStringsProtocols_RSMIMEMIMETypeEmpty, "Mimetype is empty" + IdResourceStringsProtocols_RSMIMEMIMEExtAlreadyExists, "Extension already exits" + IdResourceStringsProtocols_RSHTTPContinue, "Continue" + IdResourceStringsProtocols_RSHTTPOK, "OK" + IdResourceStringsProtocols_RSHTTPCreated, "Created" + IdResourceStringsProtocols_RSHTTPAccepted, "Accepted" + IdResourceStringsProtocols_RSHTTPNonAuthoritativeInformation, "Non-authoritative Information" + IdResourceStringsProtocols_RSHTTPNoContent, "No Content" + IdResourceStringsProtocols_RSHTTPResetContent, "Reset Content" + IdResourceStringsProtocols_RSHTTPPartialContent, "Partial Content" + IdResourceStringsProtocols_RSHTTPMovedPermanently, "Moved Permanently" + IdResourceStringsProtocols_RSHTTPMovedTemporarily, "Moved Temporarily" + IdResourceStringsProtocols_RSHTTPSeeOther, "See Other" + IdResourceStringsCore_RSNotConnected, "Not Connected" + IdResourceStringsCore_RSObjectTypeNotSupported, "Object type not supported." + IdResourceStringsCore_RSIdNoDataToRead, "No data to read." + IdResourceStringsCore_RSReadTimeout, "Read Timeout" + IdResourceStringsCore_RSReadLnMaxLineLengthExceeded, "Max line length exceeded." + IdResourceStringsCore_RSConnectTimeout, "Connect timed out." + IdResourceStringsCore_RSThreadTerminateAndWaitFor, "Cannot call TerminateAndWaitFor on FreeAndTerminate threads" + IdResourceStringsCore_RSAlreadyConnected, "Already connected." + IdResourceStringsCore_RSMaximumNumberOfCaptureLineExceeded, "Maximum number of line allowed exceeded" + IdResourceStringsCore_RSchedMaxThreadEx, "The maximum number of threads for this scheduler is exceeded." + IdResourceStringsCore_RSTransparentProxyCannotBind, "Transparent proxy cannot bind." + IdResourceStringsCore_RSTransparentProxyCanNotSupportUDP, "UDP Not supported by this proxy." + IdResourceStringsCore_RSBufferMissingTerminator, "Buffer terminator must be specified." + IdResourceStringsCore_RSBufferInvalidStartPos, "Buffer start position is invalid." + IdResourceStringsCore_RSReplyInvalidCode, "Reply Code is not valid: %s" + IdResourceStringsCore_RSThreadSchedulerThreadRequired, "Thread must be specified for the scheduler." + IdResourceStringsCore_RSSocksUnknownError, "Unknown socks error." + IdResourceStringsCore_RSSocksServerRespondError, "Socks server did not respond." + IdResourceStringsCore_RSSocksAuthMethodError, "Invalid socks authentication method." + IdResourceStringsCore_RSSocksAuthError, "Authentication error to socks server." + IdResourceStringsCore_RSSocksServerGeneralError, "General SOCKS server failure." + IdResourceStringsCore_RSSocksServerPermissionError, "Connection not allowed by ruleset." + IdResourceStringsCore_RSSocksServerNetUnreachableError, "Network unreachable." + IdResourceStringsCore_RSSocksServerHostUnreachableError, "Host unreachable." + IdResourceStringsCore_RSSocksServerConnectionRefusedError, "Connection refused." + IdResourceStringsCore_RSSocksServerTTLExpiredError, "TTL expired." + IdResourceStringsCore_RSSocksServerCommandError, "Command not supported." + IdResourceStringsCore_RSSocksServerAddressError, "Address type not supported." + IdResourceStringsCore_RSInterceptCircularLink, "%d: Circular links are not allowed" + IdResourceStringsCore_RSNotEnoughDataInBuffer, "Not enough data in buffer." + IdResourceStringsCore_RSTooMuchDataInBuffer, "Too much data in buffer." + IdResourceStringsCore_RSFileNotFound, "File \"%s\" not found" + IdResourceStrings_RSCannotSetIPVersionWhenConnected, "Cannot change IPVersion when connected" + IdResourceStrings_RSCannotBindRange, "Can not bind in port range (%d - %d)" + IdResourceStrings_RSConnectionClosedGracefully, "Connection Closed Gracefully." + IdResourceStrings_RSCouldNotBindSocket, "Could not bind socket. Address and port are already in use." + IdResourceStrings_RSInvalidPortRange, "Invalid Port Range (%d - %d)" + IdResourceStrings_RSInvalidServiceName, "%s is not a valid service." + IdResourceStrings_RSIPv6Unavailable, "IPv6 unavailable" + IdResourceStrings_RSInvalidIPv6Address, "%s is not a valid IPv6 address" + IdResourceStrings_RSIPVersionUnsupported, "The requested IPVersion / Address family is not supported." + IdResourceStrings_RSNotAllBytesSent, "Not all bytes sent." + IdResourceStrings_RSPackageSizeTooBig, "Package Size Too Big." + IdResourceStrings_RSSetSizeExceeded, "Set Size Exceeded." + IdResourceStringsCore_RSSocksUDPNotSupported, "UDP is not support in this SOCKS version." + IdResourceStringsCore_RSSocksRequestFailed, "Request rejected or failed." + IdResourceStringsCore_RSSocksRequestServerFailed, "Request rejected because SOCKS server cannot connect." + IdResourceStringsCore_RSSocksRequestIdentFailed, "Request rejected because the client program and identd report different user-ids." IdResourceStrings_RSStackENOBUFS, "No buffer space available." IdResourceStrings_RSStackEISCONN, "Socket is already connected." IdResourceStrings_RSStackENOTCONN, "Socket is not connected." @@ -2144,14 +2042,14 @@ BEGIN IdResourceStrings_RSStackETIMEDOUT, "Connection timed out." IdResourceStrings_RSStackECONNREFUSED, "Connection refused." IdResourceStrings_RSStackELOOP, "Too many levels of symbolic links." - IdResourceStrings_RSStackEACCES, "Access denied." - IdResourceStrings_RSStackEFAULT, "Bad address." - IdResourceStrings_RSStackEINVAL, "Invalid argument." - IdResourceStrings_RSStackEMFILE, "Too many open files." - IdResourceStrings_RSStackEWOULDBLOCK, "Operation would block. " - IdResourceStrings_RSStackEINPROGRESS, "Operation now in progress." - IdResourceStrings_RSStackEALREADY, "Operation already in progress." - IdResourceStrings_RSStackENOTSOCK, "Socket operation on non-socket." + IdResourceStrings_RSStackENAMETOOLONG, "File name too long." + IdResourceStrings_RSStackEHOSTDOWN, "Host is down." + IdResourceStrings_RSStackEHOSTUNREACH, "No route to host." + IdResourceStrings_RSStackENOTEMPTY, "Directory not empty" + IdResourceStrings_RSStackHOST_NOT_FOUND, "Host not found." + IdResourceStrings_RSStackClassUndefined, "Stack Class is undefined." + IdResourceStrings_RSStackAlreadyCreated, "Stack already created." + IdResourceStrings_RSAntiFreezeOnlyOne, "Only one TIdAntiFreeze can exist per application." IdResourceStrings_RSStackEDESTADDRREQ, "Destination address required." IdResourceStrings_RSStackEMSGSIZE, "Message too long." IdResourceStrings_RSStackEPROTOTYPE, "Protocol wrong type for socket." @@ -2160,88 +2058,131 @@ BEGIN IdResourceStrings_RSStackESOCKTNOSUPPORT, "Socket type not supported." IdResourceStrings_RSStackEOPNOTSUPP, "Operation not supported on socket." IdResourceStrings_RSStackEPFNOSUPPORT, "Protocol family not supported." - IdResourceStrings_RSHTTPInternalServerError, "Internal Server Error" - IdResourceStrings_RSHTTPNotImplemented, "Not Implemented" - IdResourceStrings_RSHTTPBadGateway, "Bad Gateway" - IdResourceStrings_RSHTTPServiceUnavailable, "Service Unavailable" - IdResourceStrings_RSHTTPGatewayTimeout, "Gateway timeout" - IdResourceStrings_RSHTTPHTTPVersionNotSupported, "HTTP version not supported" - IdResourceStrings_RSHTTPUnknownResponseCode, "Unknown Response Code" - IdResourceStrings_RSHTTPHeaderAlreadyWritten, "Header has already been written." - IdResourceStrings_RSHTTPErrorParsingCommand, "Error in parsing command." - IdResourceStrings_RSHTTPUnsupportedAuthorisationScheme, "Unsupported authorization scheme." - IdResourceStrings_RSHTTPCannotSwitchSessionStateWhenActive, "Cannot change session state when the server is active." - IdResourceStrings_RSHTTPAuthAlreadyRegistered, "This authentication method is already registered with class name %s." - IdResourceStrings_RSInvalidServiceName, "%s is not a valid service." - IdResourceStrings_RSStackError, "Socket Error # %d\r\n%s" - IdResourceStrings_RSStackEINTR, "Interrupted system call." - IdResourceStrings_RSStackEBADF, "Bad file number." - IdResourceStrings_RSHTTPUseProxy, "Use Proxy" - IdResourceStrings_RSHTTPBadRequest, "Bad Request" - IdResourceStrings_RSHTTPUnauthorized, "Unauthorized" - IdResourceStrings_RSHTTPForbidden, "Forbidden" - IdResourceStrings_RSHTTPNotFound, "Not Found" - IdResourceStrings_RSHTTPMethodeNotallowed, "Method not allowed" - IdResourceStrings_RSHTTPNotAcceptable, "Not Acceptable" - IdResourceStrings_RSHTTPProxyAuthenticationRequired, "Proxy Authentication Required" - IdResourceStrings_RSHTTPRequestTimeout, "Request Timeout" - IdResourceStrings_RSHTTPConflict, "Conflict" - IdResourceStrings_RSHTTPGone, "Gone" - IdResourceStrings_RSHTTPLengthRequired, "Length Required" - IdResourceStrings_RSHTTPPreconditionFailed, "Precondition Failed" - IdResourceStrings_RSHTTPRequestEntityToLong, "Request Entity To Long" - IdResourceStrings_RSHTTPRequestURITooLong, "Request-URI Too Long. 256 Chars max" - IdResourceStrings_RSHTTPUnsupportedMediaType, "Unsupported Media Type" + IdResourceStrings_RSStackEAFNOSUPPORT, "Address family not supported by protocol family." + IdResourceStrings_RSStackEADDRINUSE, "Address already in use." + IdResourceStrings_RSStackEADDRNOTAVAIL, "Cannot assign requested address." + IdResourceStrings_RSStackENETDOWN, "Network is down." + IdResourceStrings_RSStackENETUNREACH, "Network is unreachable." + IdResourceStrings_RSStackENETRESET, "Net dropped connection or reset." + IdResourceStrings_RSStackECONNABORTED, "Software caused connection abort." + IdResourceStrings_RSStackECONNRESET, "Connection reset by peer." + IdResourceStrings_RSStatusConnecting, "Connecting to %s." + IdResourceStrings_RSStatusConnected, "Connected." IdResourceStrings_RSStatusDisconnecting, "Disconnecting." IdResourceStrings_RSStatusDisconnected, "Disconnected." IdResourceStrings_RSStatusText, "%s" - IdResourceStrings_RSConnectTimeout, "Connect timed out." - IdResourceStrings_RSHTTPContinue, "Continue" - IdResourceStrings_RSHTTPOK, "OK" - IdResourceStrings_RSHTTPCreated, "Created" - IdResourceStrings_RSHTTPAccepted, "Accepted" - IdResourceStrings_RSHTTPNonAuthoritativeInformation, "Non-authoritative Information" - IdResourceStrings_RSHTTPNoContent, "No Content" - IdResourceStrings_RSHTTPResetContent, "Reset Content" - IdResourceStrings_RSHTTPPartialContent, "Partial Content" - IdResourceStrings_RSHTTPMovedPermanently, "Moved Permanently" - IdResourceStrings_RSHTTPMovedTemporarily, "Moved Temporarily" - IdResourceStrings_RSHTTPSeeOther, "See Other" - IdResourceStrings_RSHTTPNotModified, "Not Modified" - IdResourceStrings_RSTerminateThreadTimeout, "Terminate Thread Timeout" - IdResourceStrings_RSNoExecuteSpecified, "No execute handler found." - IdResourceStrings_RSIdNoDataToRead, "No data to read." - IdResourceStrings_RSCanNotBindRange, "Can not bind in port range (%d - %d)" - IdResourceStrings_RSInvalidPortRange, "Invalid Port Range (%d - %d)" - IdResourceStrings_RSReadTimeout, "Read Timeout" - IdResourceStrings_RSReadLnMaxLineLengthExceeded, "Max line length exceeded." - IdResourceStrings_RSNoCommandHandlerFound, "No command handler found." - IdResourceStrings_RSWS2CallError, "Error on call Winsock2 library function %s" - IdResourceStrings_RSWS2LoadError, "Error on loading Winsock2 library (%s)" - IdResourceStrings_RSMIMEExtensionEmpty, "Extension is empty" - IdResourceStrings_RSMIMEMIMETypeEmpty, "Mimetype is empty" - IdResourceStrings_RSMIMEMIMEExtAlreadyExists, "Extension already exits" - IdResourceStrings_RSStatusResolving, "Resolving hostname %s." - IdResourceStrings_RSStatusConnecting, "Connecting to %s." - IdResourceStrings_RSStatusConnected, "Connected." - ComConst_SOleError, "OLE error %.8x" - ComConst_SNoMethod, "Method '%s' not supported by automation object" - ComConst_SVarNotObject, "Variant does not reference an automation object" - ComConst_STooManyParams, "Dispatch methods do not support more than 64 parameters" - IdResourceStrings_RSCannotAllocateSocket, "Cannot allocate socket." - IdResourceStrings_RSConnectionClosedGracefully, "Connection Closed Gracefully." - IdResourceStrings_RSCouldNotBindSocket, "Could not bind socket. Address and port are already in use." + IdResourceStrings_RSStackError, "Socket Error # %d\r\n%s" + IdResourceStrings_RSStackEINTR, "Interrupted system call." + IdResourceStrings_RSStackEBADF, "Bad file number." + IdResourceStrings_RSStackEACCES, "Access denied." + IdResourceStrings_RSStackEFAULT, "Buffer fault." + IdResourceStrings_RSStackEINVAL, "Invalid argument." + IdResourceStrings_RSStackEMFILE, "Too many open files." + IdResourceStrings_RSStackEWOULDBLOCK, "Operation would block." + IdResourceStrings_RSStackEINPROGRESS, "Operation now in progress." + IdResourceStrings_RSStackEALREADY, "Operation already in progress." + IdResourceStrings_RSStackENOTSOCK, "Socket operation on non-socket." + DBConsts_SProviderSQLNotSupported, "SQL not supported: %s" + DBConsts_SProviderExecuteNotSupported, "Execute not supported: %s" + DBConsts_SExprNoAggOnCalcs, "Field '%s' is not the correct type of calculated field to be used in an aggregate, use an internalcalc" + DBConsts_SDataSetUnidirectional, "Operation not allowed on a unidirectional dataset" + DBConsts_SUnassignedVar, "Unassigned variant value" + DBConsts_SRecordNotFound, "Record not found" + DBConsts_SBcdOverflow, "BCD overflow" + DBConsts_SInvalidBcdValue, "%s is not a valid BCD value" + DBConsts_SInvalidFormatType, "Invalid format type for BCD" + DBConsts_SCouldNotParseTimeStamp, "Could not parse SQL TimeStamp string" + DBConsts_SInvalidSqlTimeStamp, "Invalid SQL date/time values" IdResourceStrings_RSFailedTimeZoneInfo, "Failed attempting to retrieve time zone information." - IdResourceStrings_RSNotEnoughDataInBuffer, "Not enough data in buffer." + IdResourceStrings_RSWinsockCallError, "Error on call Winsock2 library function %s" + IdResourceStrings_RSWinsockLoadError, "Error on loading Winsock2 library (%s)" IdResourceStrings_RSWinsockInitializationError, "Winsock Initialization Error." - IdResourceStrings_RSSetSizeExceeded, "Set Size Exceeded." - IdResourceStrings_RSThreadClassNotSpecified, "Thread Class Not Specified." - IdResourceStrings_RSFileNotFound, "File \"%s\" not found" - IdResourceStrings_RSOnlyOneAntiFreeze, "Only one TIdAntiFreeze can exist per application." - IdResourceStrings_RSNotConnected, "Not Connected" - IdResourceStrings_RSObjectTypeNotSupported, "Object type not supported." + IdResourceStrings_RSStatusResolving, "Resolving hostname %s." + DBConsts_SExprIncorrect, "Incorrectly formed filter expression" + DBConsts_SExprNothing, "nothing" + DBConsts_SExprTypeMis, "Type mismatch in expression" + DBConsts_SExprBadScope, "Operation cannot mix aggregate value with record-varying value" + DBConsts_SExprNoArith, "Arithmetic in filter expressions not supported" + DBConsts_SExprNotAgg, "Expression is not an aggregate expression" + DBConsts_SExprBadConst, "Constant is not correct type %s" + DBConsts_SExprNoAggFilter, "Aggregate expressions not allowed in filters" + DBConsts_SExprEmptyInList, "IN predicate list may not be empty" + DBConsts_SInvalidKeywordUse, "Invalid use of keyword" + DBConsts_STextFalse, "False" + DBConsts_STextTrue, "True" + DBConsts_SParameterNotFound, "Parameter '%s' not found" + DBConsts_SInvalidVersion, "Unable to load bind parameters" + DBConsts_SBadFieldType, "Field '%s' is of an unsupported type" + DBConsts_SAggActive, "Property may not be modified while aggregate is active" + DBConsts_SNotEditing, "Dataset not in edit or insert mode" + DBConsts_SDataSetClosed, "Cannot perform this operation on a closed dataset" + DBConsts_SDataSetEmpty, "Cannot perform this operation on an empty dataset" + DBConsts_SDataSetReadOnly, "Cannot modify a read-only dataset" + DBConsts_SNestedDataSetClass, "Nested dataset must inherit from %s" + DBConsts_SExprTermination, "Filter expression incorrectly terminated" + DBConsts_SExprNameError, "Unterminated field name" + DBConsts_SExprStringError, "Unterminated string constant" + DBConsts_SExprInvalidChar, "Invalid filter expression character: '%s'" + DBConsts_SExprNoLParen, "'(' expected but %s found" + DBConsts_SExprNoRParen, "')' expected but %s found" + DBConsts_SExprNoRParenOrComma, "')' or ',' expected but %s found" + DBConsts_SExprExpected, "Expression expected but %s found" + DBConsts_SExprBadField, "Field '%s' cannot be used in a filter expression" + DBConsts_SExprBadNullTest, "NULL only allowed with '=' and '<>'" + DBConsts_SExprRangeError, "Constant out of range" + DBConsts_SFieldOutOfRange, "Value of field '%s' is out of range" + DBConsts_SFieldRequired, "Field '%s' must have a value" + DBConsts_SDataSetMissing, "Field '%s' has no dataset" + DBConsts_SInvalidCalcType, "Field '%s' cannot be a calculated or lookup field" + DBConsts_SFieldReadOnly, "Field '%s' cannot be modified" + DBConsts_SFieldIndexError, "Field index out of range" + DBConsts_SNoFieldIndexes, "No index currently active" + DBConsts_SNotIndexField, "Field '%s' is not indexed and cannot be modified" + DBConsts_SIndexFieldMissing, "Cannot access index field '%s'" + DBConsts_SNoIndexForFields, "No index for fields '%s'" + DBConsts_SIndexNotFound, "Index '%s' not found" + DBConsts_SCircularDataLink, "Circular datalinks are not allowed" + DBConsts_SLookupInfoError, "Lookup information for field '%s' is incomplete" + DBConsts_SDataSourceChange, "DataSource cannot be changed" + DBConsts_SNoNestedMasterSource, "Nested datasets cannot have a MasterSource" + DBConsts_SDataSetOpen, "Cannot perform this operation on an open dataset" + DBConsts_SInvalidFieldSize, "Invalid field size" + DBConsts_SInvalidFieldKind, "Invalid FieldKind" + DBConsts_SUnknownFieldType, "Field '%s' is of an unknown type" + DBConsts_SFieldNameMissing, "Field name missing" + DBConsts_SDuplicateFieldName, "Duplicate field name '%s'" + DBConsts_SFieldNotFound, "Field '%s' not found" + DBConsts_SFieldAccessError, "Cannot access field '%s' as type %s" + DBConsts_SFieldValueError, "Invalid value for field '%s'" + DBConsts_SFieldRangeError, "%g is not a valid value for field '%s'. The allowed range is %g to %g" + DBConsts_SBcdFieldRangeError, "%s is not a valid value for field '%s'. The allowed range is %s to %s" + DBConsts_SInvalidIntegerValue, "'%s' is not a valid integer value for field '%s'" + DBConsts_SInvalidBoolValue, "'%s' is not a valid boolean value for field '%s'" + DBConsts_SInvalidFloatValue, "'%s' is not a valid floating point value for field '%s'" + DBConsts_SFieldTypeMismatch, "Type mismatch for field '%s', expecting: %s actual: %s" + DBConsts_SFieldSizeMismatch, "Size mismatch for field '%s', expecting: %d actual: %d" + DBConsts_SInvalidVarByteArray, "Invalid variant type or size for field '%s'" + uRORes_err_VariantIsNotArray, "Variant must be Array, but is %d" + uRORes_err_InvalidVarArrayDimCount, "Variant Array DimCount must be 1 but is %d" + uRORes_err_CannotFindParameter, "Cannot find parameter %s" + uRORes_err_MessageNotAssigned, "Message is NIL" + uRODECConst_sProtectionCircular, "Circular Protection detected, Protection Object is invalid." + uRODECConst_sStringFormatExists, "String Format \"%d\" does not exist." + uRODECConst_sInvalidStringFormat, "Input is not a valid %s Format." + uRODECConst_sInvalidFormatString, "Input cannot be converted to %s Format." + uRODECConst_sFMT_COPY, "copy Input to Output" + uRODECConst_sFMT_HEX, "Hexadecimal" + uRODECConst_sFMT_HEXL, "Hexadecimal lowercase" + uRODECConst_sFMT_MIME64, "MIME Base 64" + uRODECConst_sFMT_UU, "UU Coding" + uRODECConst_sFMT_XX, "XX Coding" + uRODECConst_sInvalidKeySize, "Length from Encryptionkey is invalid.\r\nKeysize for %s must be within %d-%d bytes" + uRODECConst_sNotInitialized, "%s is not initialized, call Init() or InitKey() first." + uRORes_err_UnhandledException, "Unhandled exception" + uRORes_err_ChannelBusy, "Channel is busy. Try again later." uRORes_err_ArrayIndexOutOfBounds, "Array index out of bounds (%d)." uRORes_err_InvalidHeader, "Invalid binary header. Either incompatible or not a binary message." + uRORes_err_InvalidHeaderEncrypted, "Invalid binary header. It seems that encryption is active on the other side of the communication, but not locally?" uRORes_err_UnknownClassInStream, "Unknown class \"%s\" found in stream." uRORes_err_UnexpectedClassInStream, "Unexpected class found in stream; class \"%s\" does not descend from \"%s\"." uRORes_err_SessionNotFound, "Session %s could not be found" @@ -2253,25 +2194,22 @@ BEGIN uRORes_err_NoXMLParsersAvailable, "MSXML is not installed" uRORes_err_IDispatchMarshalingNotSupported, "Marshaling of IDispatch (%d) type variants is not supported." uRORes_err_UnsupportedVariantType, "Unsupported variant type \"%d\"" - uRORes_err_VariantIsNotArray, "Variant must be Array, but is %d" - uRORes_err_InvalidVarArrayDimCount, "Variant Array DimCount must be 1 but is %d" - uRORes_err_MessageNotAssigned, "Message is NIL" uRORes_err_InvalidRequestStream, "Invalid request stream (%d bytes)" uRORes_err_NILMessage, "Message is NIL" uRORes_err_UnspecifiedInterface, "The message does not have an interface name" uRORes_err_UnspecifiedMessage, "The message does not have a name" uRORes_err_UnknownMethod, "Unknown method %s for interface %s" uRORes_err_ClassFactoryDidNotReturnInstance, "Class factory did not return an instance of \"%s\"" + uRORes_err_ParameterNotFound, "Parameter \"%s\" was not found" uRORes_err_TypeNotSupported, "Type \"%s\" not supported" uRORes_err_ClassFactoryNotFound, "Class factory for interface %s not found" uRORes_err_IROMessageNotSupported, "Class \"%s\" does not support IROMessage" uRORes_err_ClassAlreadyRegistered, "Class \"%s\" is already registered" + uRORes_err_UnknownClass, "Unknown class \"%s\"" uRORes_err_UnknownProxyInterface, "Unknown proxy interface \"%s\"" uRORes_err_DispatcherAlreadyAssigned, "Dispatcher for %s already assigned" - uRORes_err_CannotFindMessageDispatcher, "Cannot find message dispatcher. Maybe there is no message component configured for for the requested path?" + uRORes_err_CannotFindMessageDispatcher, "Cannot find message dispatcher. Maybe there is no message component configured for the requested path?" uRORes_err_ServerOnlySupportsOneDispatcher, "%s servers only support one dispatcher" - uRORes_err_UnhandledException, "Unhandled exception" - uRORes_err_ChannelBusy, "Channel is busy. Try again later." uRORes_err_InvalidParamFlag, "Invalid Parameter Flag \"%s\"" uRORes_err_InvalidStringLength, "Stream read error: Invalid string length \"%d\"" uRORes_str_InvalidClassTypeInStream, "Stream read error: Invalid class type encountered: \"%s\"" @@ -2288,86 +2226,43 @@ BEGIN uRORes_str_ExceptionOnServer, "An exception of type %s was raised on the server: %s" uRORes_str_ExceptionReraisedFromServer, "An exception was raised on the server: %s" uRORes_err_AssignError, "Cannot assign a \"%s\" to a \"%s\"." - WinHelpViewer_hNoKeyword, "No help keyword specified." - uRODECConst_sProtectionCircular, "Circular Protection detected, Protection Object is invalid." - uRODECConst_sStringFormatExists, "String Format \"%d\" not exists." - uRODECConst_sInvalidStringFormat, "Input is not an valid %s Format." - uRODECConst_sInvalidFormatString, "Input can not be convert to %s Format." - uRODECConst_sFMT_COPY, "copy Input to Output" - uRODECConst_sFMT_HEX, "Hexadecimal" - uRODECConst_sFMT_HEXL, "Hexadecimal lowercase" - uRODECConst_sFMT_MIME64, "MIME Base 64" - uRODECConst_sFMT_UU, "UU Coding" - uRODECConst_sFMT_XX, "XX Coding" - uRODECConst_sInvalidKeySize, "Length from Encryptionkey is invalid.\r\nKeysize for %s must be to %d-%d bytes" - uRODECConst_sNotInitialized, "%s is not initialized call Init() or InitKey() before." + Consts_SANSIEncoding, "ANSI" + Consts_SASCIIEncoding, "ASCII" + Consts_SUnicodeEncoding, "Unicode" + Consts_SBigEndianEncoding, "Big Endian Unicode" + Consts_SUTF8Encoding, "UTF-8" + Consts_SUTF7Encoding, "UTF-7" + Consts_SWindowsVistaRequired, "%s requires Windows Vista or later" + ComConst_SOleError, "OLE error %.8x" + ComConst_SNoMethod, "Method '%s' not supported by automation object" + ComConst_SVarNotObject, "Variant does not reference an automation object" + ComConst_STooManyParams, "Dispatch methods do not support more than 64 parameters" uRORes_err_InvalidIndex, "Invalid index %d" uRORes_err_InvalidType, "Invalid type \"%s. Expected \"%s\"\"" + uRORes_err_InvalidLibrary, "Invalid library" uRORes_err_InvalidStream, "Invalid stream" - ExtCtrls_clNameInactiveCaption, "Inactive Caption" - ExtCtrls_clNameInactiveCaptionText, "Inactive Caption Text" - ExtCtrls_clNameInfoBk, "Info Background" - ExtCtrls_clNameInfoText, "Info Text" - ExtCtrls_clNameMenu, "Menu Background" - ExtCtrls_clNameMenuText, "Menu Text" - ExtCtrls_clNameNone, "None" - ExtCtrls_clNameScrollBar, "Scroll Bar" - ExtCtrls_clName3DDkShadow, "3D Dark Shadow" - ExtCtrls_clName3DLight, "3D Light" - ExtCtrls_clNameWindow, "Window Background" - ExtCtrls_clNameWindowFrame, "Window Frame" - ExtCtrls_clNameWindowText, "Window Text" - ComStrs_sInvalidIndex, "Invalid index" - ComStrs_sInsertError, "Unable to insert an item" - ComStrs_sUDAssociated, "%s is already associated with %s" - ExtCtrls_clNameCream, "Cream" - ExtCtrls_clNameMedGray, "Medium Gray" - ExtCtrls_clNameActiveBorder, "Active Border" - ExtCtrls_clNameActiveCaption, "Active Caption" - ExtCtrls_clNameAppWorkSpace, "Application Workspace" - ExtCtrls_clNameBackground, "Background" - ExtCtrls_clNameBtnFace, "Button Face" - ExtCtrls_clNameBtnHighlight, "Button Highlight" - ExtCtrls_clNameBtnShadow, "Button Shadow" - ExtCtrls_clNameBtnText, "Button Text" - ExtCtrls_clNameCaptionText, "Caption Text" - ExtCtrls_clNameDefault, "Default" - ExtCtrls_clNameGrayText, "Gray Text" - ExtCtrls_clNameHighlight, "Highlight Background" - ExtCtrls_clNameHighlightText, "Highlight Text" - ExtCtrls_clNameInactiveBorder, "Inactive Border" - ExtCtrls_clNameGreen, "Green" - ExtCtrls_clNameOlive, "Olive" - ExtCtrls_clNameNavy, "Navy" - ExtCtrls_clNamePurple, "Purple" - ExtCtrls_clNameTeal, "Teal" - ExtCtrls_clNameGray, "Gray" - ExtCtrls_clNameSilver, "Silver" - ExtCtrls_clNameRed, "Red" - ExtCtrls_clNameLime, "Lime" - ExtCtrls_clNameYellow, "Yellow" - ExtCtrls_clNameBlue, "Blue" - ExtCtrls_clNameFuchsia, "Fuchsia" - ExtCtrls_clNameAqua, "Aqua" - ExtCtrls_clNameWhite, "White" - ExtCtrls_clNameMoneyGreen, "Money Green" - ExtCtrls_clNameSkyBlue, "Sky Blue" + uRORes_err_InvalidTargetEntity, "Invalid TargetEntity \"%s\"" + Consts_SInvalidMemoSize, "Text exceeds memo capacity" + Consts_SInvalidPrinterOp, "Operation not supported on selected printer" + Consts_SNoDefaultPrinter, "There is no default printer currently selected" + Consts_SDuplicateMenus, "Menu '%s' is already being used by another form" + Consts_SPictureLabel, "Picture:" Consts_SPictureDesc, " (%dx%d)" Consts_SPreviewLabel, "Preview" Consts_SDockedCtlNeedsName, "Docked control must have a name" Consts_SDockTreeRemoveError, "Error removing control from dock tree" Consts_SDockZoneNotFound, " - Dock zone not found" Consts_SDockZoneHasNoCtl, " - Dock zone has no control" + Consts_SDockZoneVersionConflict, "Error loading dock zone from the stream. Expecting version %d, but found %d." Consts_SMultiSelectRequired, "Multiselect mode must be on for this feature" Consts_SSeparator, "Separator" Consts_SErrorSettingCount, "Error setting %s.Count" Consts_SListBoxMustBeVirtual, "Listbox (%s) style must be virtual in order to set Count" - HelpIntfs_hNoTableOfContents, "Unable to find a Table of Contents" - HelpIntfs_hNothingFound, "No help found for %s" - HelpIntfs_hNoContext, "No context-sensitive help installed" - HelpIntfs_hNoTopics, "No topic-based help system installed" - ExtCtrls_clNameBlack, "Black" - ExtCtrls_clNameMaroon, "Maroon" + Consts_SmkcCtrl, "Ctrl+" + Consts_SmkcAlt, "Alt+" + Consts_srNone, "(None)" + Consts_SOutOfRange, "Value must be between %d and %d" + Consts_sAllFilter, "All" Consts_SInsertLineError, "Unable to insert a line" Consts_SConfirmCreateDir, "The specified directory does not exist. Create it?" Consts_SSelectDirCap, "Select Directory" @@ -2379,11 +2274,11 @@ BEGIN Consts_SInvalidClipFmt, "Invalid clipboard format" Consts_SIconToClipboard, "Clipboard does not support Icons" Consts_SCannotOpenClipboard, "Cannot open clipboard" - Consts_SInvalidMemoSize, "Text exceeds memo capacity" - Consts_SInvalidPrinterOp, "Operation not supported on selected printer" - Consts_SNoDefaultPrinter, "There is no default printer currently selected" - Consts_SDuplicateMenus, "Menu '%s' is already being used by another form" - Consts_SPictureLabel, "Picture:" + Consts_SmkcBkSp, "BkSp" + Consts_SmkcTab, "Tab" + Consts_SmkcEsc, "Esc" + Consts_SmkcEnter, "Enter" + Consts_SmkcSpace, "Space" Consts_SmkcPgUp, "PgUp" Consts_SmkcPgDn, "PgDn" Consts_SmkcEnd, "End" @@ -2395,11 +2290,11 @@ BEGIN Consts_SmkcIns, "Ins" Consts_SmkcDel, "Del" Consts_SmkcShift, "Shift+" - Consts_SmkcCtrl, "Ctrl+" - Consts_SmkcAlt, "Alt+" - Consts_srNone, "(None)" - Consts_SOutOfRange, "Value must be between %d and %d" - Consts_sAllFilter, "All" + Consts_SMaskEditErr, "Invalid input value. Use escape key to abandon changes" + Consts_SMsgDlgWarning, "Warning" + Consts_SMsgDlgError, "Error" + Consts_SMsgDlgInformation, "Information" + Consts_SMsgDlgConfirm, "Confirm" Consts_SMsgDlgYes, "&Yes" Consts_SMsgDlgNo, "&No" Consts_SMsgDlgOK, "OK" @@ -2411,11 +2306,11 @@ BEGIN Consts_SMsgDlgAll, "&All" Consts_SMsgDlgNoToAll, "N&o to All" Consts_SMsgDlgYesToAll, "Yes to &All" - Consts_SmkcBkSp, "BkSp" - Consts_SmkcTab, "Tab" - Consts_SmkcEsc, "Esc" - Consts_SmkcEnter, "Enter" - Consts_SmkcSpace, "Space" + Consts_SOKButton, "OK" + Consts_SCancelButton, "Cancel" + Consts_SYesButton, "&Yes" + Consts_SNoButton, "&No" + Consts_SHelpButton, "&Help" Consts_SCloseButton, "&Close" Consts_SIgnoreButton, "&Ignore" Consts_SRetryButton, "&Retry" @@ -2427,11 +2322,11 @@ BEGIN Consts_SVIcons, "Icons" Consts_SVBitmaps, "Bitmaps" Consts_SMaskErr, "Invalid input value" - Consts_SMaskEditErr, "Invalid input value. Use escape key to abandon changes" - Consts_SMsgDlgWarning, "Warning" - Consts_SMsgDlgError, "Error" - Consts_SMsgDlgInformation, "Information" - Consts_SMsgDlgConfirm, "Confirm" + Consts_SMDIChildNotVisible, "Cannot hide an MDI Child Form" + Consts_SVisibleChanged, "Cannot change Visible in OnShow or OnHide" + Consts_SCannotShowModal, "Cannot make a visible window modal" + Consts_SScrollBarRange, "Scrollbar property out of range" + Consts_SPropertyOutOfRange, "%s property out of range" Consts_SMenuIndexError, "Menu index out of range" Consts_SMenuReinserted, "Menu inserted twice" Consts_SMenuNotFound, "Sub-menu is not in menu" @@ -2443,11 +2338,11 @@ BEGIN Consts_SGroupIndexTooLow, "GroupIndex cannot be less than a previous menu item's GroupIndex" Consts_SNoMDIForm, "Cannot create form. No MDI forms are currently active" Consts_SControlParentSetToSelf, "A control cannot have itself as its parent" - Consts_SOKButton, "OK" - Consts_SCancelButton, "Cancel" - Consts_SYesButton, "&Yes" - Consts_SNoButton, "&No" - Consts_SHelpButton, "&Help" + Consts_SChangeIconSize, "Cannot change the size of an icon" + Consts_SUnknownExtension, "Unknown picture file extension (.%s)" + Consts_SUnknownClipboardFormat, "Unsupported clipboard format" + Consts_SOutOfResources, "Out of system resources" + Consts_SNoCanvasHandle, "Canvas does not allow drawing" Consts_SInvalidImageSize, "Invalid image size" Consts_SInvalidImageList, "Invalid ImageList" Consts_SReplaceImage, "Unable to Replace Image" @@ -2459,27 +2354,22 @@ BEGIN Consts_SCannotFocus, "Cannot focus a disabled or invisible window" Consts_SParentRequired, "Control '%s' has no parent window" Consts_SParentGivenNotAParent, "Parent given is not a parent of '%s'" - Consts_SMDIChildNotVisible, "Cannot hide an MDI Child Form" - Consts_SVisibleChanged, "Cannot change Visible in OnShow or OnHide" - Consts_SCannotShowModal, "Cannot make a visible window modal" - Consts_SScrollBarRange, "Scrollbar property out of range" - Consts_SPropertyOutOfRange, "%s property out of range" RTLConsts_SUnknownGroup, "%s not in a class registration group" RTLConsts_SUnknownProperty, "Property %s does not exist" RTLConsts_SWriteError, "Stream write error" RTLConsts_SThreadCreateError, "Thread creation error: %s" RTLConsts_SThreadError, "Thread Error: %s (%d)" + HelpIntfs_hNoTableOfContents, "Unable to find a Table of Contents" + HelpIntfs_hNothingFound, "No help found for %s" + HelpIntfs_hNoContext, "No context-sensitive help installed" + HelpIntfs_hNoContextFound, "No help found for context" + HelpIntfs_hNoTopics, "No topic-based help system installed" Consts_SInvalidBitmap, "Bitmap image is not valid" Consts_SInvalidIcon, "Icon image is not valid" Consts_SInvalidMetafile, "Metafile is not valid" Consts_SInvalidPixelFormat, "Invalid pixel format" Consts_SInvalidImage, "Invalid image" Consts_SScanLine, "Scan line index out of range" - Consts_SChangeIconSize, "Cannot change the size of an icon" - Consts_SUnknownExtension, "Unknown picture file extension (.%s)" - Consts_SUnknownClipboardFormat, "Unsupported clipboard format" - Consts_SOutOfResources, "Out of system resources" - Consts_SNoCanvasHandle, "Canvas does not allow drawing" RTLConsts_SInvalidPropertyType, "Invalid property type: %s" RTLConsts_SInvalidPropertyValue, "Invalid property value" RTLConsts_SInvalidRegType, "Invalid data type for '%s'" @@ -2626,3 +2516,63 @@ BEGIN SysConst_SEndOfFile, "Read beyond end of file" END +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\controls.res */ +/* C:\Varela_D2007\Lib\RemObjects\RemObjects_SDK\uROPoweredByRemObjectsButton.res */ +/* C:\Varela_D2007\Lib\RemObjects\RemObjects_SDK\uROHtmlServerInfo.res */ +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\buttons.res */ +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\extdlgs.res */ +/* C:\Varela_D2007\Lib\FastReport3\frxProgress.dfm */ +/* C:\Varela_D2007\Lib\FastReport3\frxCtrls.res */ +/* C:\Varela_D2007\Lib\FastReport3\frxPrintDialog.dfm */ +/* C:\Varela_D2007\Lib\FastReport3\frxDock.dfm */ +/* C:\Varela_D2007\Lib\FastReport3\frxPreviewPageSettings.dfm */ +/* C:\Varela_D2007\Lib\FastReport3\frxSearchDialog.dfm */ +/* C:\Varela_D2007\Lib\FastReport3\frxPreview.dfm */ +/* C:\Varela_D2007\Lib\FastReport3\frxPreview.res */ +/* C:\Varela_D2007\Lib\FastReport3\frxDialogForm.dfm */ +/* C:\Varela_D2007\Lib\FastReport3\frxPassw.dfm */ +/* C:\Varela_D2007\Lib\FastReport3\frxClass.res */ +/* C:\Varela_D2007\Lib\JVCL\JvConsts.res */ +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\WindowsXP.res */ +/* C:\Varela_D2007\Lib\RemObjects\Data_Abstract\DataAbstract_IBXDriver_Glyphs.res */ +/* C:\Varela_D2007\Lib\RemObjects\Data_Abstract\DataAbstract_ADODriver_Glyphs.res */ +/* C:\Varela_D2007\Lib\JVCL\JvLogForm.dfm */ +/* C:\Varela_D2007\Source\Servidor\uDataModuleServer.dfm */ +/* C:\Varela_D2007\Source\Servidor\Configuracion\uFrameConfiguracion.dfm */ +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\filectrl.res */ +/* C:\Varela_D2007\Lib\JVCL\JvToolEdit.res */ +/* C:\Varela_D2007\Lib\JVCL\JvSpin.res */ +/* C:\Varela_D2007\Lib\DevExpressVCL\dxOffice11.res */ +/* C:\Varela_D2007\Lib\DevExpressVCL\cxLookAndFeelPainters.res */ +/* C:\Varela_D2007\Lib\DevExpressVCL\cxControls.res */ +/* C:\Varela_D2007\Lib\DevExpressVCL\cxEdit.res */ +/* C:\Varela_D2007\Source\Servidor\Configuracion\uConfFicherosEDI.dfm */ +/* C:\Varela_D2007\Lib\DevExpressVCL\cxShellBrowser.dfm */ +/* C:\Varela_D2007\Source\Servidor\Configuracion\uConexionBD.dfm */ +/* C:\Varela_D2007\Source\Servidor\Configuracion\uConfGeneral.dfm */ +/* C:\Varela_D2007\Source\Servidor\Configuracion\uConfiguracion.dfm */ +/* C:\Varela_D2007\Source\Servidor\EDI_Sales_Impl.dfm */ +/* C:\Varela_D2007\Lib\DevExpressVCL\cxGrid.res */ +/* C:\Varela_D2007\Lib\DevExpressVCL\cxFilterControlDialog.dfm */ +/* C:\Varela_D2007\Lib\DevExpressVCL\cxFilterDialog.dfm */ +/* C:\Varela_D2007\Source\Servidor\EDI_Log_Impl.dfm */ +/* C:\Varela_D2007\Source\Servidor\Services\EDI_Sales\uDataModuleEDI_Sales.dfm */ +/* C:\Varela_D2007\Source\Servidor\uAcercaDe.dfm */ +/* C:\Varela_D2007\Source\Servidor\fServerForm.dfm */ +/* C:\Varela_D2007\Source\Servidor\EDI_Inventary_Impl.dfm */ +/* C:\Varela_D2007\Source\Servidor\Services\EDI_Inventary\uDataModuleEDI_Inventary.dfm */ +/* C:\Varela_D2007\Source\Servidor\Services\Login\srvLogin_Impl.dfm */ +/* C:\Varela_D2007\Source\Servidor\srvInformes_Impl.dfm */ +/* C:\Varela_D2007\Source\Servidor\Services\TransferenciaFicheros\srvTransfereciaFicheros_Impl.dfm */ +/* C:\Varela_D2007\Source\ControlesBase\Servidor\srvControles_Impl.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasProceso\Servidor\srvVentasEnProceso_Impl.dfm */ +/* C:\Varela_D2007\Source\Modulos\VentasTerminadas\Servidor\srvVentasTerminadas_Impl.dfm */ +/* C:\Varela_D2007\Source\Modulos\ReferenciaGenerica\Servidor\srvReferenciaGenerica_Impl.dfm */ +/* C:\Varela_D2007\Source\Modulos\Recepciones\Servidor\srvRecepciones_Impl.dfm */ +/* C:\Varela_D2007\Source\Modulos\Devoluciones\Servidor\srvDevoluciones_Impl.dfm */ +/* C:\Varela_D2007\Source\Modulos\Traspasos\Servidor\srvTraspasos_Impl.dfm */ +/* C:\Varela_D2007\Source\Modulos\Stock\Servidor\srvStock_Impl.dfm */ +/* C:\Varela_D2007\Source\Modulos\Parametros\Servidor\srvParametros_Impl.dfm */ +/* C:\Varela_D2007\Source\Servidor\AdminPV_Server.res */ +/* C:\Varela_D2007\Source\Servidor\RODLFILE.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf4.tmp */ diff --git a/Source/Servidor/AdminPV_Server.rc b/Source/Servidor/AdminPV_Server.rc new file mode 100644 index 0000000..29c41da --- /dev/null +++ b/Source/Servidor/AdminPV_Server.rc @@ -0,0 +1,26 @@ +MAINICON ICON "C:\Varela_D2007\Resources\Iconos\Servidor.ico" +1 VERSIONINFO +FILEVERSION 1,2,5,0 +PRODUCTVERSION 1,2,5,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "CompanyName", "Rodax Software S.L.\0" + VALUE "FileVersion", "1.2.5.0\0" + VALUE "ProductName", "AdminPV_Server\0" + VALUE "ProductVersion", "1.2.5.0\0" + VALUE "CompileDate", "miércoles, 12 de septiembre de 2007 10:22\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Servidor/AdminPV_Server.res b/Source/Servidor/AdminPV_Server.res index 59ee163..dc7d4c9 100644 Binary files a/Source/Servidor/AdminPV_Server.res and b/Source/Servidor/AdminPV_Server.res differ diff --git a/Source/Servidor/Configuracion/uConexionBD.dfm b/Source/Servidor/Configuracion/uConexionBD.dfm index 3d62d16..9d1f999 100644 --- a/Source/Servidor/Configuracion/uConexionBD.dfm +++ b/Source/Servidor/Configuracion/uConexionBD.dfm @@ -1,5 +1,7 @@ inherited frConexionBD: TfrConexionBD Visible = True + ExplicitWidth = 451 + ExplicitHeight = 304 object GroupBox1: TGroupBox Left = 8 Top = 8 @@ -13,14 +15,14 @@ inherited frConexionBD: TfrConexionBD object Label1: TLabel Left = 18 Top = 30 - Width = 97 + Width = 100 Height = 13 Caption = 'Nombre del servidor:' end object Label3: TLabel Left = 18 Top = 61 - Width = 71 + Width = 72 Height = 13 Caption = 'Base de datos:' end @@ -34,7 +36,7 @@ inherited frConexionBD: TfrConexionBD object Label5: TLabel Left = 18 Top = 148 - Width = 57 + Width = 60 Height = 13 Caption = 'Contrase'#241'a:' end @@ -89,25 +91,11 @@ inherited frConexionBD: TfrConexionBD TabOrder = 1 OnClick = bProbarClick end - object SQLConnection: TSQLConnection - ConnectionName = 'MSSQLConnection' - DriverName = 'MSSQL' - GetDriverFunc = 'getSQLDriverMSSQL' - LibraryName = 'dbexpmss.dll' + object ADOConnection: TADOConnection LoginPrompt = False - Params.Strings = ( - 'DriverName=MSSQL' - 'HostName=david' - 'DataBase=gft_varela' - 'User_Name=usuario_gft' - 'Password=123456' - 'BlobSize=-1' - 'ErrorResourceFile=' - 'LocaleCode=0000' - 'MSSQL TransIsolation=ReadCommited' - 'OS Authentication=False') - VendorLib = 'oledb' - Left = 8 + Mode = cmRead + Provider = 'SQLOLEDB.1' + Left = 48 Top = 200 end end diff --git a/Source/Servidor/Configuracion/uConexionBD.pas b/Source/Servidor/Configuracion/uConexionBD.pas index 6db4472..d52c411 100644 --- a/Source/Servidor/Configuracion/uConexionBD.pas +++ b/Source/Servidor/Configuracion/uConexionBD.pas @@ -6,7 +6,7 @@ uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, cxShellBrowserDialog, cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxButtonEdit, IBServices, - DB, IBDatabase, uFrameConfiguracion, DBXpress, SqlExpr, uDAClasses; + DB, IBDatabase, uFrameConfiguracion, ADODB; type TfrConexionBD = class(TFrameConfiguracion) @@ -21,7 +21,7 @@ type edtPassword: TEdit; Bevel1: TBevel; edtBD: TEdit; - SQLConnection: TSQLConnection; + ADOConnection: TADOConnection; procedure bProbarClick(Sender: TObject); protected procedure Finalize; override; @@ -39,24 +39,22 @@ procedure TfrConexionBD.bProbarClick(Sender: TObject); var Aux : string; begin - with SQLConnection do - begin - Connected := False; - with Params do - begin - Clear; - Add('DriverName=MSSQL'); - Add('HostName=' + edtServer.Text); - Add('DataBase=' + edtBD.Text); - Add('User_Name=' + edtUser.Text); - Add('Password=' + edtPassword.Text); - Add('BlobSize=-1'); - Add('ErrorResourceFile='); - Add('LocaleCode=0000'); - Add('MSSQL TransIsolation=ReadCommited'); - Add('OS Authentication=False'); - end; + //Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=gft_varela;Data Source=david + Aux := 'Provider=SQLOLEDB.1;Persist Security Info=False'; + Aux := Aux + ';Data Source=' + edtServer.Text; + Aux := Aux + ';User ID=' + edtUser.Text; + Aux := Aux + ';Password=' + edtPassword.Text; + Aux := Aux + ';Initial Catalog=' + edtBD.Text; + + with ADOConnection do + begin + LoginPrompt := False; + Mode := cmRead; + Provider := 'SQLOLEDB.1'; + ConnectionString := Aux; + + ShowHourglassCursor; try Connected := True; Application.MessageBox('Conexión válida con la base de datos.', 'Información', MB_OK); @@ -64,6 +62,7 @@ begin except on E : Exception do begin + HideHourglassCursor; Aux := 'No se ha podido establecer la conexión con la base de datos.' + #13 + #10 + #13 + #10 + PChar(E.Message); Application.MessageBox(PAnsiChar(Aux), 'Error', MB_OK); diff --git a/Source/Servidor/EDI/EDI_Log_Impl.dfm b/Source/Servidor/EDI/EDI_Log_Impl.dfm index 043fabb..c38a85e 100644 --- a/Source/Servidor/EDI/EDI_Log_Impl.dfm +++ b/Source/Servidor/EDI/EDI_Log_Impl.dfm @@ -4,8 +4,10 @@ object EDI_Log: TEDI_Log AcquireConnection = True ServiceSchema = schEDILog ServiceAdapter = DABINAdapter - Left = 702 - Top = 385 + OnAfterProcessTransactionAction = pptaNone + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] Height = 297 Width = 298 object schEDILog: TDASchema diff --git a/Source/Servidor/EDI/EDI_Log_Impl.pas b/Source/Servidor/EDI/EDI_Log_Impl.pas index c1b16eb..770c308 100644 --- a/Source/Servidor/EDI/EDI_Log_Impl.pas +++ b/Source/Servidor/EDI/EDI_Log_Impl.pas @@ -13,8 +13,9 @@ uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, {Ancestor Implementation:} DARemoteService_Impl, - {Used RODLs:} DataAbstract_Intf, - {Generated:} VARELA_Intf, uDAClasses, uDADataTable, uDABINAdapter; + {Used RODLs:} DataAbstract3_Intf, + {Generated:} VARELA_Intf, uDAClasses, uDADataTable, uDABINAdapter, + uDADataStreamer; type { TEDI_Log } diff --git a/Source/Servidor/EDI/EDI_Reader.pas b/Source/Servidor/EDI/EDI_Reader.pas index 4efc6ee..36e6872 100644 --- a/Source/Servidor/EDI/EDI_Reader.pas +++ b/Source/Servidor/EDI/EDI_Reader.pas @@ -77,8 +77,6 @@ end; procedure TEDIFile_Reader.ReadFile; var i : integer; - Linea : String; - Continuar : Boolean; AFichero : TStringList; begin if (Length(FFilename) = 0) then diff --git a/Source/Servidor/EDI_Inventary_Impl.dfm b/Source/Servidor/EDI_Inventary_Impl.dfm new file mode 100644 index 0000000..29be14a --- /dev/null +++ b/Source/Servidor/EDI_Inventary_Impl.dfm @@ -0,0 +1,7 @@ +inherited EDI_Inventary: TEDI_Inventary + OldCreateOrder = True + Left = 200 + Top = 200 + Height = 300 + Width = 300 +end diff --git a/Source/Servidor/EDI_Inventary_Impl.pas b/Source/Servidor/EDI_Inventary_Impl.pas new file mode 100644 index 0000000..27971a8 --- /dev/null +++ b/Source/Servidor/EDI_Inventary_Impl.pas @@ -0,0 +1,52 @@ +unit EDI_Inventary_Impl; + +{----------------------------------------------------------------------------} +{ This unit was automatically generated by the RemObjects SDK after reading } +{ the RODL file associated with this project . } +{ } +{ This is where you are supposed to code the implementation of your objects. } +{----------------------------------------------------------------------------} + +{$I Remobjects.inc} + +interface + +uses + {vcl:} Classes, SysUtils, + {RemObjects:} uROXMLIntf, uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, + {Required:} uRORemoteDataModule, + {Ancestor Implementation:} DARemoteService_Impl, + {Used RODLs:} DataAbstract3_Intf, + {Generated:} VARELA_Intf; + +type + { TEDI_Inventary } + TEDI_Inventary = class(TDARemoteService, IEDI_Inventary) + private + protected + { IEDI_Inventary methods } + function CargarFicheroEDI(const FicheroCAB: String; const FicheroLIN: String; const FicheroCANT: String; out MsgError: String): Boolean; + end; + +implementation + +{$R *.dfm} +uses + {Generated:} VARELA_Invk; + +procedure Create_EDI_Inventary(out anInstance : IUnknown); +begin + anInstance := TEDI_Inventary.Create(nil); +end; + +{ EDI_Inventary } +function TEDI_Inventary.CargarFicheroEDI(const FicheroCAB: String; const FicheroLIN: String; const FicheroCANT: String; out MsgError: String): Boolean; +begin +end; + +initialization + TROClassFactory.Create('EDI_Inventary', Create_EDI_Inventary, TEDI_Inventary_Invoker); + +finalization + +end. diff --git a/Source/Servidor/EDI_Log_Impl.dfm b/Source/Servidor/EDI_Log_Impl.dfm new file mode 100644 index 0000000..cc39195 --- /dev/null +++ b/Source/Servidor/EDI_Log_Impl.dfm @@ -0,0 +1,179 @@ +object EDI_Log: TEDI_Log + OldCreateOrder = True + SessionManager = dmServer.SessionManager + AcquireConnection = True + ServiceSchema = schEDILog + ServiceAdapter = DABINAdapter + OnAfterProcessTransactionAction = pptaNone + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] + Height = 297 + Width = 298 + object schEDILog: TDASchema + ConnectionManager = dmServer.ConnectionManager + DataDictionary = dmServer.DataDictionary + Diagrams = dmServer.DADiagrams + Datasets = < + item + Params = <> + Statements = < + item + Connection = 'GFT_VARELA' + TargetTable = 'RDX_LOG_CARGA' + SQL = + 'SELECT '#10' ID, REPORT, FECHA, OK, ERROR_MSG'#10' FROM'#10' RDX_LOG_' + + 'CARGA' + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'ID' + TableField = 'ID' + end + item + DatasetField = 'FECHA' + TableField = 'FECHA' + end + item + DatasetField = 'OK' + TableField = 'OK' + end + item + DatasetField = 'ERROR_MSG' + TableField = 'ERROR_MSG' + end + item + DatasetField = 'REPORT' + TableField = 'REPORT' + end> + end> + Name = 'EDILog' + Fields = < + item + Name = 'ID' + DataType = datInteger + BlobType = dabtUnknown + Required = True + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = True + Calculated = False + ServerCalculated = False + Lookup = False + LookupCache = False + end + item + Name = 'REPORT' + DataType = datString + Size = 10 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + ServerCalculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FECHA' + DataType = datDateTime + BlobType = dabtUnknown + Required = True + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + ServerCalculated = False + Lookup = False + LookupCache = False + end + item + Name = 'OK' + DataType = datBoolean + BlobType = dabtUnknown + Required = True + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + ServerCalculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ERROR_MSG' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + ServerCalculated = False + Lookup = False + LookupCache = False + end> + BusinessRulesClient.ScriptLanguage = rslPascalScript + BusinessRulesServer.ScriptLanguage = rslPascalScript + end> + JoinDataTables = <> + UnionDataTables = <> + Commands = < + item + Params = < + item + Name = 'FECHA' + DataType = datDateTime + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'REPORT' + DataType = datString + Size = 10 + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'OK' + DataType = datBoolean + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'ERROR_MSG' + DataType = datString + Size = 255 + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end> + Statements = < + item + Connection = 'GFT_VARELA' + TargetTable = 'RDX_LOG_CARGA' + SQL = + 'INSERT'#10' INTO RDX_LOG_CARGA'#10' (FECHA, REPORT, OK, ERROR_MSG)'#10' ' + + ' VALUES'#10' (:FECHA, :REPORT, :OK, :ERROR_MSG)' + StatementType = stSQL + ColumnMappings = <> + end> + Name = 'Insert_EDILog' + end> + RelationShips = <> + UpdateRules = <> + Version = 0 + Left = 48 + Top = 16 + end + object DABINAdapter: TDABINAdapter + BufferSize = 262144 + IsCompatibleV4 = True + Left = 48 + Top = 80 + end +end diff --git a/Source/Servidor/EDI_Log_Impl.pas b/Source/Servidor/EDI_Log_Impl.pas new file mode 100644 index 0000000..1b06759 --- /dev/null +++ b/Source/Servidor/EDI_Log_Impl.pas @@ -0,0 +1,75 @@ +unit EDI_Log_Impl; + +{----------------------------------------------------------------------------} +{ This unit was automatically generated by the RemObjects SDK after reading } +{ the RODL file associated with this project . } +{ } +{ This is where you are supposed to code the implementation of your objects. } +{----------------------------------------------------------------------------} + +{$I Remobjects.inc} + +interface + +uses + {vcl:} Classes, SysUtils, + {RemObjects:} uROXMLIntf, uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, + {Required:} uRORemoteDataModule, + {Ancestor Implementation:} DARemoteService_Impl, + {Used RODLs:} DataAbstract3_Intf, + {Generated:} VARELA_Intf, uDADataStreamer, uDABinAdapter, uDAClasses, uDAInterfaces; + +type + { TEDI_Log } + TEDI_Log = class(TDARemoteService, IEDI_Log) + DABINAdapter: TDABINAdapter; + schEDILog: TDASchema; + private + protected + { IEDI_Log methods } + procedure InsertarLog(const Fecha: DateTime; const Report: String; const OK: Boolean; const Error_msg: String); + end; + +implementation + +{$R *.dfm} +uses + {Generated:} VARELA_Invk, + uDataModuleServer, Dialogs; + +procedure Create_EDI_Log(out anInstance : IUnknown); +begin + anInstance := TEDI_Log.Create(NIL); +end; + +{ EDI_Log } +procedure TEDI_Log.InsertarLog(const Fecha: DateTime; const Report: String; const OK: Boolean; const Error_msg: String); +var + cmd : IDASQLCommand; + conn : IDAConnection; +begin + conn := dmServer.ConnectionManager.NewConnection(ConnectionName); + conn.BeginTransaction; + + cmd := schEDILog.NewCommand(conn, 'Insert_EDILog'); + try + cmd.ParamByName('FECHA').AsDateTime := Fecha; + cmd.ParamByName('REPORT').AsString := Report; + if OK then + cmd.ParamByName('OK').AsInteger := 1 + else + cmd.ParamByName('OK').AsInteger := 0; + cmd.ParamByName('ERROR_MSG').AsString := Error_msg; + cmd.Execute; + finally + conn.CommitTransaction; + conn := nil; + end; +end; + +initialization + TROClassFactory.Create('EDI_Log', Create_EDI_Log, TEDI_Log_Invoker); + +finalization + +end. diff --git a/Source/Servidor/EDI_Sales_Impl.dfm b/Source/Servidor/EDI_Sales_Impl.dfm new file mode 100644 index 0000000..96f3a4b --- /dev/null +++ b/Source/Servidor/EDI_Sales_Impl.dfm @@ -0,0 +1,7 @@ +inherited EDI_Sales: TEDI_Sales + OldCreateOrder = True + Left = 200 + Top = 200 + Height = 300 + Width = 300 +end diff --git a/Source/Servidor/EDI_Sales_Impl.pas b/Source/Servidor/EDI_Sales_Impl.pas new file mode 100644 index 0000000..e3a05bd --- /dev/null +++ b/Source/Servidor/EDI_Sales_Impl.pas @@ -0,0 +1,52 @@ +unit EDI_Sales_Impl; + +{----------------------------------------------------------------------------} +{ This unit was automatically generated by the RemObjects SDK after reading } +{ the RODL file associated with this project . } +{ } +{ This is where you are supposed to code the implementation of your objects. } +{----------------------------------------------------------------------------} + +{$I Remobjects.inc} + +interface + +uses + {vcl:} Classes, SysUtils, + {RemObjects:} uROXMLIntf, uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, + {Required:} uRORemoteDataModule, + {Ancestor Implementation:} DARemoteService_Impl, + {Used RODLs:} DataAbstract3_Intf, + {Generated:} VARELA_Intf; + +type + { TEDI_Sales } + TEDI_Sales = class(TDARemoteService, IEDI_Sales) + private + protected + { IEDI_Sales methods } + function CargarFicheroEDI(const FicheroCAB: String; const FicheroLUG: String; const FicheroART: String; out MsgError: String): Boolean; + end; + +implementation + +{$R *.dfm} +uses + {Generated:} VARELA_Invk; + +procedure Create_EDI_Sales(out anInstance : IUnknown); +begin + anInstance := TEDI_Sales.Create(nil); +end; + +{ EDI_Sales } +function TEDI_Sales.CargarFicheroEDI(const FicheroCAB: String; const FicheroLUG: String; const FicheroART: String; out MsgError: String): Boolean; +begin +end; + +initialization + TROClassFactory.Create('EDI_Sales', Create_EDI_Sales, TEDI_Sales_Invoker); + +finalization + +end. diff --git a/Source/Servidor/RODLFILE.res b/Source/Servidor/RODLFILE.res index 296eb18..1deefba 100644 Binary files a/Source/Servidor/RODLFILE.res and b/Source/Servidor/RODLFILE.res differ diff --git a/Source/Servidor/RegExpr.pas b/Source/Servidor/RegExpr.pas new file mode 100644 index 0000000..f17279a --- /dev/null +++ b/Source/Servidor/RegExpr.pas @@ -0,0 +1,4042 @@ +unit RegExpr; + +{ + TRegExpr class library + Delphi Regular Expressions + + Copyright (c) 1999-2004 Andrey V. Sorokin, St.Petersburg, Russia + + You may use this software in any kind of development, + including comercial, redistribute, and modify it freely, + under the following restrictions : + 1. This software is provided as it is, without any kind of + warranty given. Use it at Your own risk.The author is not + responsible for any consequences of use of this software. + 2. The origin of this software may not be mispresented, You + must not claim that You wrote the original software. If + You use this software in any kind of product, it would be + appreciated that there in a information box, or in the + documentation would be an acknowledgement like + + Partial Copyright (c) 2004 Andrey V. Sorokin + http://RegExpStudio.com + mailto:anso@mail.ru + + 3. You may not have any income from distributing this source + (or altered version of it) to other developers. When You + use this product in a comercial package, the source may + not be charged seperatly. + 4. Altered versions must be plainly marked as such, and must + not be misrepresented as being the original software. + 5. RegExp Studio application and all the visual components as + well as documentation is not part of the TRegExpr library + and is not free for usage. + + mailto:anso@mail.ru + http://RegExpStudio.com + http://anso.da.ru/ +} + +interface + +// ======== Determine compiler +{$IFDEF VER80} Sorry, TRegExpr is for 32-bits Delphi only. Delphi 1 is not supported (and whos really care today?!). {$ENDIF} +{$IFDEF VER90} {$DEFINE D2} {$ENDIF} // D2 +{$IFDEF VER93} {$DEFINE D2} {$ENDIF} // CPPB 1 +{$IFDEF VER100} {$DEFINE D3} {$DEFINE D2} {$ENDIF} // D3 +{$IFDEF VER110} {$DEFINE D4} {$DEFINE D3} {$DEFINE D2} {$ENDIF} // CPPB 3 +{$IFDEF VER120} {$DEFINE D4} {$DEFINE D3} {$DEFINE D2} {$ENDIF} // D4 +{$IFDEF VER130} {$DEFINE D5} {$DEFINE D4} {$DEFINE D3} {$DEFINE D2} {$ENDIF} // D5 +{$IFDEF VER140} {$DEFINE D6} {$DEFINE D5} {$DEFINE D4} {$DEFINE D3} {$DEFINE D2} {$ENDIF} // D6 +{$IFDEF VER150} {$DEFINE D7} {$DEFINE D6} {$DEFINE D5} {$DEFINE D4} {$DEFINE D3} {$DEFINE D2} {$ENDIF} // D7 +{$IFDEF VER180} {$DEFINE D2007} {$DEFINE D10} {$DEFINE D7} {$DEFINE D6} {$DEFINE D5} {$DEFINE D4} {$DEFINE D3} {$DEFINE D2} {$ENDIF} // D10/D2007 + +// ======== Define base compiler options +{$BOOLEVAL OFF} +{$EXTENDEDSYNTAX ON} +{$LONGSTRINGS ON} +{$OPTIMIZATION ON} +{$IFDEF D6} + {$WARN SYMBOL_PLATFORM OFF} // Suppress .Net warnings +{$ENDIF} +{$IFDEF D7} + {$WARN UNSAFE_CAST OFF} // Suppress .Net warnings + {$WARN UNSAFE_TYPE OFF} // Suppress .Net warnings + {$WARN UNSAFE_CODE OFF} // Suppress .Net warnings +{$ENDIF} +{$IFDEF FPC} + {$MODE DELPHI} // Delphi-compatible mode in FreePascal +{$ENDIF} + +// ======== Define options for TRegExpr engine +{.$DEFINE UniCode} // Unicode support +{$DEFINE RegExpPCodeDump} // p-code dumping (see Dump method) +{$IFNDEF FPC} // the option is not supported in FreePascal + {$DEFINE reRealExceptionAddr} // exceptions will point to appropriate source line, not to Error procedure +{$ENDIF} +{$DEFINE ComplexBraces} // support braces in complex cases +{$IFNDEF UniCode} // the option applicable only for non-UniCode mode + {$DEFINE UseSetOfChar} // Significant optimization by using set of char +{$ENDIF} +{$IFDEF UseSetOfChar} + {$DEFINE UseFirstCharSet} // Fast skip between matches for r.e. that starts with determined set of chars +{$ENDIF} + +// ======== Define Pascal-language options +// Define 'UseAsserts' option (do not edit this definitions). +// Asserts used to catch 'strange bugs' in TRegExpr implementation (when something goes +// completely wrong). You can swith asserts on/off with help of {$C+}/{$C-} compiler options. +{$IFDEF D3} {$DEFINE UseAsserts} {$ENDIF} +{$IFDEF FPC} {$DEFINE UseAsserts} {$ENDIF} + +// Define 'use subroutine parameters default values' option (do not edit this definition). +{$IFDEF D4} {$DEFINE DefParam} {$ENDIF} + +// Define 'OverMeth' options, to use method overloading (do not edit this definitions). +{$IFDEF D5} {$DEFINE OverMeth} {$ENDIF} +{$IFDEF FPC} {$DEFINE OverMeth} {$ENDIF} + +uses + Classes, // TStrings in Split method + SysUtils; // Exception + +type + {$IFDEF UniCode} + PRegExprChar = PWideChar; + RegExprString = WideString; + REChar = WideChar; + {$ELSE} + PRegExprChar = PChar; + RegExprString = AnsiString; //###0.952 was string + REChar = Char; + {$ENDIF} + TREOp = REChar; // internal p-code type //###0.933 + PREOp = ^TREOp; + TRENextOff = integer; // internal Next "pointer" (offset to current p-code) //###0.933 + PRENextOff = ^TRENextOff; // used for extracting Next "pointers" from compiled r.e. //###0.933 + TREBracesArg = integer; // type of {m,n} arguments + PREBracesArg = ^TREBracesArg; + +const + REOpSz = SizeOf (TREOp) div SizeOf (REChar); // size of p-code in RegExprString units + RENextOffSz = SizeOf (TRENextOff) div SizeOf (REChar); // size of Next 'pointer' -"- + REBracesArgSz = SizeOf (TREBracesArg) div SizeOf (REChar); // size of BRACES arguments -"- + +type + TRegExprInvertCaseFunction = function (const Ch : REChar) : REChar + of object; + +const + EscChar = '\'; // 'Escape'-char ('\' in common r.e.) used for escaping metachars (\w, \d etc). + RegExprModifierI : boolean = False; // default value for ModifierI + RegExprModifierR : boolean = True; // default value for ModifierR + RegExprModifierS : boolean = True; // default value for ModifierS + RegExprModifierG : boolean = True; // default value for ModifierG + RegExprModifierM : boolean = False; // default value for ModifierM + RegExprModifierX : boolean = False; // default value for ModifierX + RegExprSpaceChars : RegExprString = // default value for SpaceChars + ' '#$9#$A#$D#$C; + RegExprWordChars : RegExprString = // default value for WordChars + '0123456789' //###0.940 + + 'abcdefghijklmnopqrstuvwxyz' + + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'; + RegExprLineSeparators : RegExprString =// default value for LineSeparators + #$d#$a{$IFDEF UniCode}+#$b#$c#$2028#$2029#$85{$ENDIF}; //###0.947 + RegExprLinePairedSeparator : RegExprString =// default value for LinePairedSeparator + #$d#$a; + { if You need Unix-styled line separators (only \n), then use: + RegExprLineSeparators = #$a; + RegExprLinePairedSeparator = ''; + } + + +const + NSUBEXP = 15; // max number of subexpression //###0.929 + // Cannot be more than NSUBEXPMAX + // Be carefull - don't use values which overflow CLOSE opcode + // (in this case you'll get compiler erorr). + // Big NSUBEXP will cause more slow work and more stack required + NSUBEXPMAX = 255; // Max possible value for NSUBEXP. //###0.945 + // Don't change it! It's defined by internal TRegExpr design. + + MaxBracesArg = $7FFFFFFF - 1; // max value for {n,m} arguments //###0.933 + + {$IFDEF ComplexBraces} + LoopStackMax = 10; // max depth of loops stack //###0.925 + {$ENDIF} + + TinySetLen = 3; + // if range includes more then TinySetLen chars, //###0.934 + // then use full (32 bytes) ANYOFFULL instead of ANYOF[BUT]TINYSET + // !!! Attension ! If you change TinySetLen, you must + // change code marked as "//!!!TinySet" + + +type + +{$IFDEF UseSetOfChar} + PSetOfREChar = ^TSetOfREChar; + TSetOfREChar = set of REChar; +{$ENDIF} + + TRegExpr = class; + + TRegExprReplaceFunction = function (ARegExpr : TRegExpr): string + of object; + + TRegExpr = class + private + startp : array [0 .. NSUBEXP - 1] of PRegExprChar; // founded expr starting points + endp : array [0 .. NSUBEXP - 1] of PRegExprChar; // founded expr end points + + {$IFDEF ComplexBraces} + LoopStack : array [1 .. LoopStackMax] of integer; // state before entering loop + LoopStackIdx : integer; // 0 - out of all loops + {$ENDIF} + + // The "internal use only" fields to pass info from compile + // to execute that permits the execute phase to run lots faster on + // simple cases. + regstart : REChar; // char that must begin a match; '\0' if none obvious + reganch : REChar; // is the match anchored (at beginning-of-line only)? + regmust : PRegExprChar; // string (pointer into program) that match must include, or nil + regmlen : integer; // length of regmust string + // Regstart and reganch permit very fast decisions on suitable starting points + // for a match, cutting down the work a lot. Regmust permits fast rejection + // of lines that cannot possibly match. The regmust tests are costly enough + // that regcomp() supplies a regmust only if the r.e. contains something + // potentially expensive (at present, the only such thing detected is * or + + // at the start of the r.e., which can involve a lot of backup). Regmlen is + // supplied because the test in regexec() needs it and regcomp() is computing + // it anyway. + {$IFDEF UseFirstCharSet} //###0.929 + FirstCharSet : TSetOfREChar; + {$ENDIF} + + // work variables for Exec's routins - save stack in recursion} + reginput : PRegExprChar; // String-input pointer. + fInputStart : PRegExprChar; // Pointer to first char of input string. + fInputEnd : PRegExprChar; // Pointer to char AFTER last char of input string + + // work variables for compiler's routines + regparse : PRegExprChar; // Input-scan pointer. + regnpar : integer; // count. + regdummy : char; + regcode : PRegExprChar; // Code-emit pointer; @regdummy = don't. + regsize : integer; // Code size. + + regexpbeg : PRegExprChar; // only for error handling. Contains + // pointer to beginning of r.e. while compiling + fExprIsCompiled : boolean; // true if r.e. successfully compiled + + // programm is essentially a linear encoding + // of a nondeterministic finite-state machine (aka syntax charts or + // "railroad normal form" in parsing technology). Each node is an opcode + // plus a "next" pointer, possibly plus an operand. "Next" pointers of + // all nodes except BRANCH implement concatenation; a "next" pointer with + // a BRANCH on both ends of it is connecting two alternatives. (Here we + // have one of the subtle syntax dependencies: an individual BRANCH (as + // opposed to a collection of them) is never concatenated with anything + // because of operator precedence.) The operand of some types of node is + // a literal string; for others, it is a node leading into a sub-FSM. In + // particular, the operand of a BRANCH node is the first node of the branch. + // (NB this is *not* a tree structure: the tail of the branch connects + // to the thing following the set of BRANCHes.) The opcodes are: + programm : PRegExprChar; // Unwarranted chumminess with compiler. + + fExpression : PRegExprChar; // source of compiled r.e. + fInputString : PRegExprChar; // input string + + fLastError : integer; // see Error, LastError + + fModifiers : integer; // modifiers + fCompModifiers : integer; // compiler's copy of modifiers + fProgModifiers : integer; // modifiers values from last programm compilation + + fSpaceChars : RegExprString; //###0.927 + fWordChars : RegExprString; //###0.929 + fInvertCase : TRegExprInvertCaseFunction; //###0.927 + + fLineSeparators : RegExprString; //###0.941 + fLinePairedSeparatorAssigned : boolean; + fLinePairedSeparatorHead, + fLinePairedSeparatorTail : REChar; + {$IFNDEF UniCode} + fLineSeparatorsSet : set of REChar; + {$ENDIF} + + procedure InvalidateProgramm; + // Mark programm as have to be [re]compiled + + function IsProgrammOk : boolean; //###0.941 + // Check if we can use precompiled r.e. or + // [re]compile it if something changed + + function GetExpression : RegExprString; + procedure SetExpression (const s : RegExprString); + + function GetModifierStr : RegExprString; + class function ParseModifiersStr (const AModifiers : RegExprString; + var AModifiersInt : integer) : boolean; //###0.941 class function now + // Parse AModifiers string and return true and set AModifiersInt + // if it's in format 'ismxrg-ismxrg'. + procedure SetModifierStr (const AModifiers : RegExprString); + + function GetModifier (AIndex : integer) : boolean; + procedure SetModifier (AIndex : integer; ASet : boolean); + + procedure Error (AErrorID : integer); virtual; // error handler. + // Default handler raise exception ERegExpr with + // Message = ErrorMsg (AErrorID), ErrorCode = AErrorID + // and CompilerErrorPos = value of property CompilerErrorPos. + + + {==================== Compiler section ===================} + function CompileRegExpr (exp : PRegExprChar) : boolean; + // compile a regular expression into internal code + + procedure Tail (p : PRegExprChar; val : PRegExprChar); + // set the next-pointer at the end of a node chain + + procedure OpTail (p : PRegExprChar; val : PRegExprChar); + // regoptail - regtail on operand of first argument; nop if operandless + + function EmitNode (op : TREOp) : PRegExprChar; + // regnode - emit a node, return location + + procedure EmitC (b : REChar); + // emit (if appropriate) a byte of code + + procedure InsertOperator (op : TREOp; opnd : PRegExprChar; sz : integer); //###0.90 + // insert an operator in front of already-emitted operand + // Means relocating the operand. + + function ParseReg (paren : integer; var flagp : integer) : PRegExprChar; + // regular expression, i.e. main body or parenthesized thing + + function ParseBranch (var flagp : integer) : PRegExprChar; + // one alternative of an | operator + + function ParsePiece (var flagp : integer) : PRegExprChar; + // something followed by possible [*+?] + + function ParseAtom (var flagp : integer) : PRegExprChar; + // the lowest level + + function GetCompilerErrorPos : integer; + // current pos in r.e. - for error hanling + + {$IFDEF UseFirstCharSet} //###0.929 + procedure FillFirstCharSet (prog : PRegExprChar); + {$ENDIF} + + {===================== Mathing section ===================} + function regrepeat (p : PRegExprChar; AMax : integer) : integer; + // repeatedly match something simple, report how many + + function regnext (p : PRegExprChar) : PRegExprChar; + // dig the "next" pointer out of a node + + function MatchPrim (prog : PRegExprChar) : boolean; + // recursively matching routine + + function ExecPrim (AOffset: integer) : boolean; + // Exec for stored InputString + + {$IFDEF RegExpPCodeDump} + function DumpOp (op : REChar) : RegExprString; + {$ENDIF} + + function GetSubExprMatchCount : integer; + function GetMatchPos (Idx : integer) : integer; + function GetMatchLen (Idx : integer) : integer; + function GetMatch (Idx : integer) : RegExprString; + + function GetInputString : RegExprString; + procedure SetInputString (const AInputString : RegExprString); + + {$IFNDEF UseSetOfChar} + function StrScanCI (s : PRegExprChar; ch : REChar) : PRegExprChar; //###0.928 + {$ENDIF} + + procedure SetLineSeparators (const AStr : RegExprString); + procedure SetLinePairedSeparator (const AStr : RegExprString); + function GetLinePairedSeparator : RegExprString; + + public + constructor Create; + destructor Destroy; override; + + class function VersionMajor : integer; //###0.944 + class function VersionMinor : integer; //###0.944 + + property Expression : RegExprString read GetExpression write SetExpression; + // Regular expression. + // For optimization, TRegExpr will automatically compiles it into 'P-code' + // (You can see it with help of Dump method) and stores in internal + // structures. Real [re]compilation occures only when it really needed - + // while calling Exec[Next], Substitute, Dump, etc + // and only if Expression or other P-code affected properties was changed + // after last [re]compilation. + // If any errors while [re]compilation occures, Error method is called + // (by default Error raises exception - see below) + + property ModifierStr : RegExprString read GetModifierStr write SetModifierStr; + // Set/get default values of r.e.syntax modifiers. Modifiers in + // r.e. (?ismx-ismx) will replace this default values. + // If you try to set unsupported modifier, Error will be called + // (by defaul Error raises exception ERegExpr). + + property ModifierI : boolean index 1 read GetModifier write SetModifier; + // Modifier /i - caseinsensitive, initialized from RegExprModifierI + + property ModifierR : boolean index 2 read GetModifier write SetModifier; + // Modifier /r - use r.e.syntax extended for russian, + // (was property ExtSyntaxEnabled in previous versions) + // If true, then à-ÿ additional include russian letter '¸', + // À-ß additional include '¨', and à-ß include all russian symbols. + // You have to turn it off if it may interfere with you national alphabet. + // , initialized from RegExprModifierR + + property ModifierS : boolean index 3 read GetModifier write SetModifier; + // Modifier /s - '.' works as any char (else as [^\n]), + // , initialized from RegExprModifierS + + property ModifierG : boolean index 4 read GetModifier write SetModifier; + // Switching off modifier /g switchs all operators in + // non-greedy style, so if ModifierG = False, then + // all '*' works as '*?', all '+' as '+?' and so on. + // , initialized from RegExprModifierG + + property ModifierM : boolean index 5 read GetModifier write SetModifier; + // Treat string as multiple lines. That is, change `^' and `$' from + // matching at only the very start or end of the string to the start + // or end of any line anywhere within the string. + // , initialized from RegExprModifierM + + property ModifierX : boolean index 6 read GetModifier write SetModifier; + // Modifier /x - eXtended syntax, allow r.e. text formatting, + // see description in the help. Initialized from RegExprModifierX + + function Exec (const AInputString : RegExprString) : boolean; {$IFDEF OverMeth} overload; + {$IFNDEF FPC} // I do not know why FreePascal cannot overload methods with empty param list + function Exec : boolean; overload; //###0.949 + {$ENDIF} + function Exec (AOffset: integer) : boolean; overload; //###0.949 + {$ENDIF} + // match a programm against a string AInputString + // !!! Exec store AInputString into InputString property + // For Delphi 5 and higher available overloaded versions - first without + // parameter (uses already assigned to InputString property value) + // and second that has integer parameter and is same as ExecPos + + function ExecNext : boolean; + // find next match: + // ExecNext; + // works same as + // if MatchLen [0] = 0 then ExecPos (MatchPos [0] + 1) + // else ExecPos (MatchPos [0] + MatchLen [0]); + // but it's more simpler ! + // Raises exception if used without preceeding SUCCESSFUL call to + // Exec* (Exec, ExecPos, ExecNext). So You always must use something like + // if Exec (InputString) then repeat { proceed results} until not ExecNext; + + function ExecPos (AOffset: integer {$IFDEF DefParam}= 1{$ENDIF}) : boolean; + // find match for InputString starting from AOffset position + // (AOffset=1 - first char of InputString) + + property InputString : RegExprString read GetInputString write SetInputString; + // returns current input string (from last Exec call or last assign + // to this property). + // Any assignment to this property clear Match* properties ! + + function Substitute (const ATemplate : RegExprString) : RegExprString; + // Returns ATemplate with '$&' or '$0' replaced by whole r.e. + // occurence and '$n' replaced by occurence of subexpression #n. + // Since v.0.929 '$' used instead of '\' (for future extensions + // and for more Perl-compatibility) and accept more then one digit. + // If you want place into template raw '$' or '\', use prefix '\' + // Example: '1\$ is $2\\rub\\' -> '1$ is \rub\' + // If you want to place raw digit after '$n' you must delimit + // n with curly braces '{}'. + // Example: 'a$12bc' -> 'abc' + // 'a${1}2bc' -> 'a2bc'. + + procedure Split (AInputStr : RegExprString; APieces : TStrings); + // Split AInputStr into APieces by r.e. occurencies + // Internally calls Exec[Next] + + function Replace (AInputStr : RegExprString; + const AReplaceStr : RegExprString; + AUseSubstitution : boolean{$IFDEF DefParam}= False{$ENDIF}) //###0.946 + : RegExprString; {$IFDEF OverMeth} overload; + function Replace (AInputStr : RegExprString; + AReplaceFunc : TRegExprReplaceFunction) + : RegExprString; overload; + {$ENDIF} + function ReplaceEx (AInputStr : RegExprString; + AReplaceFunc : TRegExprReplaceFunction) + : RegExprString; + // Returns AInputStr with r.e. occurencies replaced by AReplaceStr + // If AUseSubstitution is true, then AReplaceStr will be used + // as template for Substitution methods. + // For example: + // Expression := '({-i}block|var)\s*\(\s*([^ ]*)\s*\)\s*'; + // Replace ('BLOCK( test1)', 'def "$1" value "$2"', True); + // will return: def 'BLOCK' value 'test1' + // Replace ('BLOCK( test1)', 'def "$1" value "$2"') + // will return: def "$1" value "$2" + // Internally calls Exec[Next] + // Overloaded version and ReplaceEx operate with call-back function, + // so You can implement really complex functionality. + + property SubExprMatchCount : integer read GetSubExprMatchCount; + // Number of subexpressions has been found in last Exec* call. + // If there are no subexpr. but whole expr was found (Exec* returned True), + // then SubExprMatchCount=0, if no subexpressions nor whole + // r.e. found (Exec* returned false) then SubExprMatchCount=-1. + // Note, that some subexpr. may be not found and for such + // subexpr. MathPos=MatchLen=-1 and Match=''. + // For example: Expression := '(1)?2(3)?'; + // Exec ('123'): SubExprMatchCount=2, Match[0]='123', [1]='1', [2]='3' + // Exec ('12'): SubExprMatchCount=1, Match[0]='12', [1]='1' + // Exec ('23'): SubExprMatchCount=2, Match[0]='23', [1]='', [2]='3' + // Exec ('2'): SubExprMatchCount=0, Match[0]='2' + // Exec ('7') - return False: SubExprMatchCount=-1 + + property MatchPos [Idx : integer] : integer read GetMatchPos; + // pos of entrance subexpr. #Idx into tested in last Exec* + // string. First subexpr. have Idx=1, last - MatchCount, + // whole r.e. have Idx=0. + // Returns -1 if in r.e. no such subexpr. or this subexpr. + // not found in input string. + + property MatchLen [Idx : integer] : integer read GetMatchLen; + // len of entrance subexpr. #Idx r.e. into tested in last Exec* + // string. First subexpr. have Idx=1, last - MatchCount, + // whole r.e. have Idx=0. + // Returns -1 if in r.e. no such subexpr. or this subexpr. + // not found in input string. + // Remember - MatchLen may be 0 (if r.e. match empty string) ! + + property Match [Idx : integer] : RegExprString read GetMatch; + // == copy (InputString, MatchPos [Idx], MatchLen [Idx]) + // Returns '' if in r.e. no such subexpr. or this subexpr. + // not found in input string. + + function LastError : integer; + // Returns ID of last error, 0 if no errors (unusable if + // Error method raises exception) and clear internal status + // into 0 (no errors). + + function ErrorMsg (AErrorID : integer) : RegExprString; virtual; + // Returns Error message for error with ID = AErrorID. + + property CompilerErrorPos : integer read GetCompilerErrorPos; + // Returns pos in r.e. there compiler stopped. + // Usefull for error diagnostics + + property SpaceChars : RegExprString read fSpaceChars write fSpaceChars; //###0.927 + // Contains chars, treated as /s (initially filled with RegExprSpaceChars + // global constant) + + property WordChars : RegExprString read fWordChars write fWordChars; //###0.929 + // Contains chars, treated as /w (initially filled with RegExprWordChars + // global constant) + + property LineSeparators : RegExprString read fLineSeparators write SetLineSeparators; //###0.941 + // line separators (like \n in Unix) + + property LinePairedSeparator : RegExprString read GetLinePairedSeparator write SetLinePairedSeparator; //###0.941 + // paired line separator (like \r\n in DOS and Windows). + // must contain exactly two chars or no chars at all + + class function InvertCaseFunction (const Ch : REChar) : REChar; + // Converts Ch into upper case if it in lower case or in lower + // if it in upper (uses current system local setings) + + property InvertCase : TRegExprInvertCaseFunction read fInvertCase write fInvertCase; //##0.935 + // Set this property if you want to override case-insensitive functionality. + // Create set it to RegExprInvertCaseFunction (InvertCaseFunction by default) + + procedure Compile; //###0.941 + // [Re]compile r.e. Usefull for example for GUI r.e. editors (to check + // all properties validity). + + {$IFDEF RegExpPCodeDump} + function Dump : RegExprString; + // dump a compiled regexp in vaguely comprehensible form + {$ENDIF} + end; + + ERegExpr = class (Exception) + public + ErrorCode : integer; + CompilerErrorPos : integer; + end; + +const + RegExprInvertCaseFunction : TRegExprInvertCaseFunction = {$IFDEF FPC} nil {$ELSE} TRegExpr.InvertCaseFunction{$ENDIF}; + // defaul for InvertCase property + +function ExecRegExpr (const ARegExpr, AInputStr : RegExprString) : boolean; +// true if string AInputString match regular expression ARegExpr +// ! will raise exeption if syntax errors in ARegExpr + +procedure SplitRegExpr (const ARegExpr, AInputStr : RegExprString; APieces : TStrings); +// Split AInputStr into APieces by r.e. ARegExpr occurencies + +function ReplaceRegExpr (const ARegExpr, AInputStr, AReplaceStr : RegExprString; + AUseSubstitution : boolean{$IFDEF DefParam}= False{$ENDIF}) : RegExprString; //###0.947 +// Returns AInputStr with r.e. occurencies replaced by AReplaceStr +// If AUseSubstitution is true, then AReplaceStr will be used +// as template for Substitution methods. +// For example: +// ReplaceRegExpr ('({-i}block|var)\s*\(\s*([^ ]*)\s*\)\s*', +// 'BLOCK( test1)', 'def "$1" value "$2"', True) +// will return: def 'BLOCK' value 'test1' +// ReplaceRegExpr ('({-i}block|var)\s*\(\s*([^ ]*)\s*\)\s*', +// 'BLOCK( test1)', 'def "$1" value "$2"') +// will return: def "$1" value "$2" + +function QuoteRegExprMetaChars (const AStr : RegExprString) : RegExprString; +// Replace all metachars with its safe representation, +// for example 'abc$cd.(' converts into 'abc\$cd\.\(' +// This function usefull for r.e. autogeneration from +// user input + +function RegExprSubExpressions (const ARegExpr : string; + ASubExprs : TStrings; AExtendedSyntax : boolean{$IFDEF DefParam}= False{$ENDIF}) : integer; +// Makes list of subexpressions found in ARegExpr r.e. +// In ASubExps every item represent subexpression, +// from first to last, in format: +// String - subexpression text (without '()') +// low word of Object - starting position in ARegExpr, including '(' +// if exists! (first position is 1) +// high word of Object - length, including starting '(' and ending ')' +// if exist! +// AExtendedSyntax - must be True if modifier /m will be On while +// using the r.e. +// Usefull for GUI editors of r.e. etc (You can find example of using +// in TestRExp.dpr project) +// Returns +// 0 Success. No unbalanced brackets was found; +// -1 There are not enough closing brackets ')'; +// -(n+1) At position n was found opening '[' without //###0.942 +// corresponding closing ']'; +// n At position n was found closing bracket ')' without +// corresponding opening '('. +// If Result <> 0, then ASubExpr can contain empty items or illegal ones + + +implementation + +uses + Windows; // CharUpper/Lower + +const + TRegExprVersionMajor : integer = 0; + TRegExprVersionMinor : integer = 952; + // TRegExpr.VersionMajor/Minor return values of this constants + + MaskModI = 1; // modifier /i bit in fModifiers + MaskModR = 2; // -"- /r + MaskModS = 4; // -"- /s + MaskModG = 8; // -"- /g + MaskModM = 16; // -"- /m + MaskModX = 32; // -"- /x + + {$IFDEF UniCode} + XIgnoredChars = ' '#9#$d#$a; + {$ELSE} + XIgnoredChars = [' ', #9, #$d, #$a]; + {$ENDIF} + +{=============================================================} +{=================== WideString functions ====================} +{=============================================================} + +{$IFDEF UniCode} + +function StrPCopy (Dest: PRegExprChar; const Source: RegExprString): PRegExprChar; + var + i, Len : Integer; + begin + Len := length (Source); //###0.932 + for i := 1 to Len do + Dest [i - 1] := Source [i]; + Dest [Len] := #0; + Result := Dest; + end; { of function StrPCopy +--------------------------------------------------------------} + +function StrLCopy (Dest, Source: PRegExprChar; MaxLen: Cardinal): PRegExprChar; + var i: Integer; + begin + for i := 0 to MaxLen - 1 do + Dest [i] := Source [i]; + Result := Dest; + end; { of function StrLCopy +--------------------------------------------------------------} + +function StrLen (Str: PRegExprChar): Cardinal; + begin + Result:=0; + while Str [result] <> #0 + do Inc (Result); + end; { of function StrLen +--------------------------------------------------------------} + +function StrPos (Str1, Str2: PRegExprChar): PRegExprChar; + var n: Integer; + begin + Result := nil; + n := Pos (RegExprString (Str2), RegExprString (Str1)); + if n = 0 + then EXIT; + Result := Str1 + n - 1; + end; { of function StrPos +--------------------------------------------------------------} + +function StrLComp (Str1, Str2: PRegExprChar; MaxLen: Cardinal): Integer; + var S1, S2: RegExprString; + begin + S1 := Str1; + S2 := Str2; + if Copy (S1, 1, MaxLen) > Copy (S2, 1, MaxLen) + then Result := 1 + else + if Copy (S1, 1, MaxLen) < Copy (S2, 1, MaxLen) + then Result := -1 + else Result := 0; + end; { function StrLComp +--------------------------------------------------------------} + +function StrScan (Str: PRegExprChar; Chr: WideChar): PRegExprChar; + begin + Result := nil; + while (Str^ <> #0) and (Str^ <> Chr) + do Inc (Str); + if (Str^ <> #0) + then Result := Str; + end; { of function StrScan +--------------------------------------------------------------} + +{$ENDIF} + + +{=============================================================} +{===================== Global functions ======================} +{=============================================================} + +function ExecRegExpr (const ARegExpr, AInputStr : RegExprString) : boolean; + var r : TRegExpr; + begin + r := TRegExpr.Create; + try + r.Expression := ARegExpr; + Result := r.Exec (AInputStr); + finally r.Free; + end; + end; { of function ExecRegExpr +--------------------------------------------------------------} + +procedure SplitRegExpr (const ARegExpr, AInputStr : RegExprString; APieces : TStrings); + var r : TRegExpr; + begin + APieces.Clear; + r := TRegExpr.Create; + try + r.Expression := ARegExpr; + r.Split (AInputStr, APieces); + finally r.Free; + end; + end; { of procedure SplitRegExpr +--------------------------------------------------------------} + +function ReplaceRegExpr (const ARegExpr, AInputStr, AReplaceStr : RegExprString; + AUseSubstitution : boolean{$IFDEF DefParam}= False{$ENDIF}) : RegExprString; + begin + with TRegExpr.Create do try + Expression := ARegExpr; + Result := Replace (AInputStr, AReplaceStr, AUseSubstitution); + finally Free; + end; + end; { of function ReplaceRegExpr +--------------------------------------------------------------} + +function QuoteRegExprMetaChars (const AStr : RegExprString) : RegExprString; + const + RegExprMetaSet : RegExprString = '^$.[()|?+*'+EscChar+'{' + + ']}'; // - this last are additional to META. + // Very similar to META array, but slighly changed. + // !Any changes in META array must be synchronized with this set. + var + i, i0, Len : integer; + begin + Result := ''; + Len := length (AStr); + i := 1; + i0 := i; + while i <= Len do begin + if Pos (AStr [i], RegExprMetaSet) > 0 then begin + Result := Result + System.Copy (AStr, i0, i - i0) + + EscChar + AStr [i]; + i0 := i + 1; + end; + inc (i); + end; + Result := Result + System.Copy (AStr, i0, MaxInt); // Tail + end; { of function QuoteRegExprMetaChars +--------------------------------------------------------------} + +function RegExprSubExpressions (const ARegExpr : string; + ASubExprs : TStrings; AExtendedSyntax : boolean{$IFDEF DefParam}= False{$ENDIF}) : integer; + type + TStackItemRec = record //###0.945 + SubExprIdx : integer; + StartPos : integer; + end; + TStackArray = packed array [0 .. NSUBEXPMAX - 1] of TStackItemRec; + var + Len, SubExprLen : integer; + i, i0 : integer; + Modif : integer; + Stack : ^TStackArray; //###0.945 + StackIdx, StackSz : integer; + begin + Result := 0; // no unbalanced brackets found at this very moment + + ASubExprs.Clear; // I don't think that adding to non empty list + // can be usefull, so I simplified algorithm to work only with empty list + + Len := length (ARegExpr); // some optimization tricks + + // first we have to calculate number of subexpression to reserve + // space in Stack array (may be we'll reserve more then need, but + // it's faster then memory reallocation during parsing) + StackSz := 1; // add 1 for entire r.e. + for i := 1 to Len do + if ARegExpr [i] = '(' + then inc (StackSz); +// SetLength (Stack, StackSz); //###0.945 + GetMem (Stack, SizeOf (TStackItemRec) * StackSz); + try + + StackIdx := 0; + i := 1; + while (i <= Len) do begin + case ARegExpr [i] of + '(': begin + if (i < Len) and (ARegExpr [i + 1] = '?') then begin + // this is not subexpression, but comment or other + // Perl extension. We must check is it (?ismxrg-ismxrg) + // and change AExtendedSyntax if /x is changed. + inc (i, 2); // skip '(?' + i0 := i; + while (i <= Len) and (ARegExpr [i] <> ')') + do inc (i); + if i > Len + then Result := -1 // unbalansed '(' + else + if TRegExpr.ParseModifiersStr (System.Copy (ARegExpr, i, i - i0), Modif) + then AExtendedSyntax := (Modif and MaskModX) <> 0; + end + else begin // subexpression starts + ASubExprs.Add (''); // just reserve space + with Stack [StackIdx] do begin + SubExprIdx := ASubExprs.Count - 1; + StartPos := i; + end; + inc (StackIdx); + end; + end; + ')': begin + if StackIdx = 0 + then Result := i // unbalanced ')' + else begin + dec (StackIdx); + with Stack [StackIdx] do begin + SubExprLen := i - StartPos + 1; + ASubExprs.Objects [SubExprIdx] := + TObject (StartPos or (SubExprLen ShL 16)); + ASubExprs [SubExprIdx] := System.Copy ( + ARegExpr, StartPos + 1, SubExprLen - 2); // add without brackets + end; + end; + end; + EscChar: inc (i); // skip quoted symbol + '[': begin + // we have to skip character ranges at once, because they can + // contain '#', and '#' in it must NOT be recognized as eXtended + // comment beginning! + i0 := i; + inc (i); + if ARegExpr [i] = ']' // cannot be 'emty' ranges - this interpretes + then inc (i); // as ']' by itself + while (i <= Len) and (ARegExpr [i] <> ']') do + if ARegExpr [i] = EscChar //###0.942 + then inc (i, 2) // skip 'escaped' char to prevent stopping at '\]' + else inc (i); + if (i > Len) or (ARegExpr [i] <> ']') //###0.942 + then Result := - (i0 + 1); // unbalansed '[' //###0.942 + end; + '#': if AExtendedSyntax then begin + // skip eXtended comments + while (i <= Len) and (ARegExpr [i] <> #$d) and (ARegExpr [i] <> #$a) + // do not use [#$d, #$a] due to UniCode compatibility + do inc (i); + while (i + 1 <= Len) and ((ARegExpr [i + 1] = #$d) or (ARegExpr [i + 1] = #$a)) + do inc (i); // attempt to work with different kinds of line separators + // now we are at the line separator that must be skipped. + end; + // here is no 'else' clause - we simply skip ordinary chars + end; // of case + inc (i); // skip scanned char + // ! can move after Len due to skipping quoted symbol + end; + + // check brackets balance + if StackIdx <> 0 + then Result := -1; // unbalansed '(' + + // check if entire r.e. added + if (ASubExprs.Count = 0) + or ((integer (ASubExprs.Objects [0]) and $FFFF) <> 1) + or (((integer (ASubExprs.Objects [0]) ShR 16) and $FFFF) <> Len) + // whole r.e. wasn't added because it isn't bracketed + // well, we add it now: + then ASubExprs.InsertObject (0, ARegExpr, TObject ((Len ShL 16) or 1)); + + finally FreeMem (Stack); + end; + end; { of function RegExprSubExpressions +--------------------------------------------------------------} + + + +const + MAGIC = TREOp (216);// programm signature + +// name opcode opnd? meaning + EEND = TREOp (0); // - End of program + BOL = TREOp (1); // - Match "" at beginning of line + EOL = TREOp (2); // - Match "" at end of line + ANY = TREOp (3); // - Match any one character + ANYOF = TREOp (4); // Str Match any character in string Str + ANYBUT = TREOp (5); // Str Match any char. not in string Str + BRANCH = TREOp (6); // Node Match this alternative, or the next + BACK = TREOp (7); // - Jump backward (Next < 0) + EXACTLY = TREOp (8); // Str Match string Str + NOTHING = TREOp (9); // - Match empty string + STAR = TREOp (10); // Node Match this (simple) thing 0 or more times + PLUS = TREOp (11); // Node Match this (simple) thing 1 or more times + ANYDIGIT = TREOp (12); // - Match any digit (equiv [0-9]) + NOTDIGIT = TREOp (13); // - Match not digit (equiv [0-9]) + ANYLETTER = TREOp (14); // - Match any letter from property WordChars + NOTLETTER = TREOp (15); // - Match not letter from property WordChars + ANYSPACE = TREOp (16); // - Match any space char (see property SpaceChars) + NOTSPACE = TREOp (17); // - Match not space char (see property SpaceChars) + BRACES = TREOp (18); // Node,Min,Max Match this (simple) thing from Min to Max times. + // Min and Max are TREBracesArg + COMMENT = TREOp (19); // - Comment ;) + EXACTLYCI = TREOp (20); // Str Match string Str case insensitive + ANYOFCI = TREOp (21); // Str Match any character in string Str, case insensitive + ANYBUTCI = TREOp (22); // Str Match any char. not in string Str, case insensitive + LOOPENTRY = TREOp (23); // Node Start of loop (Node - LOOP for this loop) + LOOP = TREOp (24); // Node,Min,Max,LoopEntryJmp - back jump for LOOPENTRY. + // Min and Max are TREBracesArg + // Node - next node in sequence, + // LoopEntryJmp - associated LOOPENTRY node addr + ANYOFTINYSET= TREOp (25); // Chrs Match any one char from Chrs (exactly TinySetLen chars) + ANYBUTTINYSET=TREOp (26); // Chrs Match any one char not in Chrs (exactly TinySetLen chars) + ANYOFFULLSET= TREOp (27); // Set Match any one char from set of char + // - very fast (one CPU instruction !) but takes 32 bytes of p-code + BSUBEXP = TREOp (28); // Idx Match previously matched subexpression #Idx (stored as REChar) //###0.936 + BSUBEXPCI = TREOp (29); // Idx -"- in case-insensitive mode + + // Non-Greedy Style Ops //###0.940 + STARNG = TREOp (30); // Same as START but in non-greedy mode + PLUSNG = TREOp (31); // Same as PLUS but in non-greedy mode + BRACESNG = TREOp (32); // Same as BRACES but in non-greedy mode + LOOPNG = TREOp (33); // Same as LOOP but in non-greedy mode + + // Multiline mode \m + BOLML = TREOp (34); // - Match "" at beginning of line + EOLML = TREOp (35); // - Match "" at end of line + ANYML = TREOp (36); // - Match any one character + + // Word boundary + BOUND = TREOp (37); // Match "" between words //###0.943 + NOTBOUND = TREOp (38); // Match "" not between words //###0.943 + + // !!! Change OPEN value if you add new opcodes !!! + + OPEN = TREOp (39); // - Mark this point in input as start of \n + // OPEN + 1 is \1, etc. + CLOSE = TREOp (ord (OPEN) + NSUBEXP); + // - Analogous to OPEN. + + // !!! Don't add new OpCodes after CLOSE !!! + +// We work with p-code thru pointers, compatible with PRegExprChar. +// Note: all code components (TRENextOff, TREOp, TREBracesArg, etc) +// must have lengths that can be divided by SizeOf (REChar) ! +// A node is TREOp of opcode followed Next "pointer" of TRENextOff type. +// The Next is a offset from the opcode of the node containing it. +// An operand, if any, simply follows the node. (Note that much of +// the code generation knows about this implicit relationship!) +// Using TRENextOff=integer speed up p-code processing. + +// Opcodes description: +// +// BRANCH The set of branches constituting a single choice are hooked +// together with their "next" pointers, since precedence prevents +// anything being concatenated to any individual branch. The +// "next" pointer of the last BRANCH in a choice points to the +// thing following the whole choice. This is also where the +// final "next" pointer of each individual branch points; each +// branch starts with the operand node of a BRANCH node. +// BACK Normal "next" pointers all implicitly point forward; BACK +// exists to make loop structures possible. +// STAR,PLUS,BRACES '?', and complex '*' and '+', are implemented as +// circular BRANCH structures using BACK. Complex '{min,max}' +// - as pair LOOPENTRY-LOOP (see below). Simple cases (one +// character per match) are implemented with STAR, PLUS and +// BRACES for speed and to minimize recursive plunges. +// LOOPENTRY,LOOP {min,max} are implemented as special pair +// LOOPENTRY-LOOP. Each LOOPENTRY initialize loopstack for +// current level. +// OPEN,CLOSE are numbered at compile time. + + +{=============================================================} +{================== Error handling section ===================} +{=============================================================} + +const + reeOk = 0; + reeCompNullArgument = 100; + reeCompRegexpTooBig = 101; + reeCompParseRegTooManyBrackets = 102; + reeCompParseRegUnmatchedBrackets = 103; + reeCompParseRegUnmatchedBrackets2 = 104; + reeCompParseRegJunkOnEnd = 105; + reePlusStarOperandCouldBeEmpty = 106; + reeNestedSQP = 107; + reeBadHexDigit = 108; + reeInvalidRange = 109; + reeParseAtomTrailingBackSlash = 110; + reeNoHexCodeAfterBSlashX = 111; + reeHexCodeAfterBSlashXTooBig = 112; + reeUnmatchedSqBrackets = 113; + reeInternalUrp = 114; + reeQPSBFollowsNothing = 115; + reeTrailingBackSlash = 116; + reeRarseAtomInternalDisaster = 119; + reeBRACESArgTooBig = 122; + reeBracesMinParamGreaterMax = 124; + reeUnclosedComment = 125; + reeComplexBracesNotImplemented = 126; + reeUrecognizedModifier = 127; + reeBadLinePairedSeparator = 128; + reeRegRepeatCalledInappropriately = 1000; + reeMatchPrimMemoryCorruption = 1001; + reeMatchPrimCorruptedPointers = 1002; + reeNoExpression = 1003; + reeCorruptedProgram = 1004; + reeNoInpitStringSpecified = 1005; + reeOffsetMustBeGreaterThen0 = 1006; + reeExecNextWithoutExec = 1007; + reeGetInputStringWithoutInputString = 1008; + reeDumpCorruptedOpcode = 1011; + reeModifierUnsupported = 1013; + reeLoopStackExceeded = 1014; + reeLoopWithoutEntry = 1015; + reeBadPCodeImported = 2000; + +function TRegExpr.ErrorMsg (AErrorID : integer) : RegExprString; + begin + case AErrorID of + reeOk: Result := 'No errors'; + reeCompNullArgument: Result := 'TRegExpr(comp): Null Argument'; + reeCompRegexpTooBig: Result := 'TRegExpr(comp): Regexp Too Big'; + reeCompParseRegTooManyBrackets: Result := 'TRegExpr(comp): ParseReg Too Many ()'; + reeCompParseRegUnmatchedBrackets: Result := 'TRegExpr(comp): ParseReg Unmatched ()'; + reeCompParseRegUnmatchedBrackets2: Result := 'TRegExpr(comp): ParseReg Unmatched ()'; + reeCompParseRegJunkOnEnd: Result := 'TRegExpr(comp): ParseReg Junk On End'; + reePlusStarOperandCouldBeEmpty: Result := 'TRegExpr(comp): *+ Operand Could Be Empty'; + reeNestedSQP: Result := 'TRegExpr(comp): Nested *?+'; + reeBadHexDigit: Result := 'TRegExpr(comp): Bad Hex Digit'; + reeInvalidRange: Result := 'TRegExpr(comp): Invalid [] Range'; + reeParseAtomTrailingBackSlash: Result := 'TRegExpr(comp): Parse Atom Trailing \'; + reeNoHexCodeAfterBSlashX: Result := 'TRegExpr(comp): No Hex Code After \x'; + reeHexCodeAfterBSlashXTooBig: Result := 'TRegExpr(comp): Hex Code After \x Is Too Big'; + reeUnmatchedSqBrackets: Result := 'TRegExpr(comp): Unmatched []'; + reeInternalUrp: Result := 'TRegExpr(comp): Internal Urp'; + reeQPSBFollowsNothing: Result := 'TRegExpr(comp): ?+*{ Follows Nothing'; + reeTrailingBackSlash: Result := 'TRegExpr(comp): Trailing \'; + reeRarseAtomInternalDisaster: Result := 'TRegExpr(comp): RarseAtom Internal Disaster'; + reeBRACESArgTooBig: Result := 'TRegExpr(comp): BRACES Argument Too Big'; + reeBracesMinParamGreaterMax: Result := 'TRegExpr(comp): BRACE Min Param Greater then Max'; + reeUnclosedComment: Result := 'TRegExpr(comp): Unclosed (?#Comment)'; + reeComplexBracesNotImplemented: Result := 'TRegExpr(comp): If you want take part in beta-testing BRACES ''{min,max}'' and non-greedy ops ''*?'', ''+?'', ''??'' for complex cases - remove ''.'' from {.$DEFINE ComplexBraces}'; + reeUrecognizedModifier: Result := 'TRegExpr(comp): Urecognized Modifier'; + reeBadLinePairedSeparator: Result := 'TRegExpr(comp): LinePairedSeparator must countain two different chars or no chars at all'; + + reeRegRepeatCalledInappropriately: Result := 'TRegExpr(exec): RegRepeat Called Inappropriately'; + reeMatchPrimMemoryCorruption: Result := 'TRegExpr(exec): MatchPrim Memory Corruption'; + reeMatchPrimCorruptedPointers: Result := 'TRegExpr(exec): MatchPrim Corrupted Pointers'; + reeNoExpression: Result := 'TRegExpr(exec): Not Assigned Expression Property'; + reeCorruptedProgram: Result := 'TRegExpr(exec): Corrupted Program'; + reeNoInpitStringSpecified: Result := 'TRegExpr(exec): No Input String Specified'; + reeOffsetMustBeGreaterThen0: Result := 'TRegExpr(exec): Offset Must Be Greater Then 0'; + reeExecNextWithoutExec: Result := 'TRegExpr(exec): ExecNext Without Exec[Pos]'; + reeGetInputStringWithoutInputString: Result := 'TRegExpr(exec): GetInputString Without InputString'; + reeDumpCorruptedOpcode: Result := 'TRegExpr(dump): Corrupted Opcode'; + reeLoopStackExceeded: Result := 'TRegExpr(exec): Loop Stack Exceeded'; + reeLoopWithoutEntry: Result := 'TRegExpr(exec): Loop Without LoopEntry !'; + + reeBadPCodeImported: Result := 'TRegExpr(misc): Bad p-code imported'; + else Result := 'Unknown error'; + end; + end; { of procedure TRegExpr.Error +--------------------------------------------------------------} + +function TRegExpr.LastError : integer; + begin + Result := fLastError; + fLastError := reeOk; + end; { of function TRegExpr.LastError +--------------------------------------------------------------} + + +{=============================================================} +{===================== Common section ========================} +{=============================================================} + +class function TRegExpr.VersionMajor : integer; //###0.944 + begin + Result := TRegExprVersionMajor; + end; { of class function TRegExpr.VersionMajor +--------------------------------------------------------------} + +class function TRegExpr.VersionMinor : integer; //###0.944 + begin + Result := TRegExprVersionMinor; + end; { of class function TRegExpr.VersionMinor +--------------------------------------------------------------} + +constructor TRegExpr.Create; + begin + inherited; + programm := nil; + fExpression := nil; + fInputString := nil; + + regexpbeg := nil; + fExprIsCompiled := false; + + ModifierI := RegExprModifierI; + ModifierR := RegExprModifierR; + ModifierS := RegExprModifierS; + ModifierG := RegExprModifierG; + ModifierM := RegExprModifierM; //###0.940 + + SpaceChars := RegExprSpaceChars; //###0.927 + WordChars := RegExprWordChars; //###0.929 + fInvertCase := RegExprInvertCaseFunction; //###0.927 + + fLineSeparators := RegExprLineSeparators; //###0.941 + LinePairedSeparator := RegExprLinePairedSeparator; //###0.941 + end; { of constructor TRegExpr.Create +--------------------------------------------------------------} + +destructor TRegExpr.Destroy; + begin + if programm <> nil + then FreeMem (programm); + if fExpression <> nil + then FreeMem (fExpression); + if fInputString <> nil + then FreeMem (fInputString); + end; { of destructor TRegExpr.Destroy +--------------------------------------------------------------} + +class function TRegExpr.InvertCaseFunction (const Ch : REChar) : REChar; + begin + {$IFDEF UniCode} + if Ch >= #128 + then Result := Ch + else + {$ENDIF} + begin + Result := {$IFDEF FPC}AnsiUpperCase (Ch) [1]{$ELSE} REChar (CharUpper (PChar (Ch))){$ENDIF}; + if Result = Ch + then Result := {$IFDEF FPC}AnsiLowerCase (Ch) [1]{$ELSE} REChar (CharLower (PChar (Ch))){$ENDIF}; + end; + end; { of function TRegExpr.InvertCaseFunction +--------------------------------------------------------------} + +function TRegExpr.GetExpression : RegExprString; + begin + if fExpression <> nil + then Result := fExpression + else Result := ''; + end; { of function TRegExpr.GetExpression +--------------------------------------------------------------} + +procedure TRegExpr.SetExpression (const s : RegExprString); + var + Len : integer; //###0.950 + begin + if (s <> fExpression) or not fExprIsCompiled then begin + fExprIsCompiled := false; + if fExpression <> nil then begin + FreeMem (fExpression); + fExpression := nil; + end; + if s <> '' then begin + Len := length (s); //###0.950 + GetMem (fExpression, (Len + 1) * SizeOf (REChar)); +// StrPCopy (fExpression, s); //###0.950 replaced due to StrPCopy limitation of 255 chars + {$IFDEF UniCode} + StrPCopy (fExpression, Copy (s, 1, Len)); //###0.950 + {$ELSE} + StrLCopy (fExpression, PRegExprChar (s), Len); //###0.950 + {$ENDIF UniCode} + + InvalidateProgramm; //###0.941 + end; + end; + end; { of procedure TRegExpr.SetExpression +--------------------------------------------------------------} + +function TRegExpr.GetSubExprMatchCount : integer; + begin + if Assigned (fInputString) then begin + Result := NSUBEXP - 1; + while (Result > 0) and ((startp [Result] = nil) + or (endp [Result] = nil)) + do dec (Result); + end + else Result := -1; + end; { of function TRegExpr.GetSubExprMatchCount +--------------------------------------------------------------} + +function TRegExpr.GetMatchPos (Idx : integer) : integer; + begin + if (Idx >= 0) and (Idx < NSUBEXP) and Assigned (fInputString) + and Assigned (startp [Idx]) and Assigned (endp [Idx]) then begin + Result := (startp [Idx] - fInputString) + 1; + end + else Result := -1; + end; { of function TRegExpr.GetMatchPos +--------------------------------------------------------------} + +function TRegExpr.GetMatchLen (Idx : integer) : integer; + begin + if (Idx >= 0) and (Idx < NSUBEXP) and Assigned (fInputString) + and Assigned (startp [Idx]) and Assigned (endp [Idx]) then begin + Result := endp [Idx] - startp [Idx]; + end + else Result := -1; + end; { of function TRegExpr.GetMatchLen +--------------------------------------------------------------} + +function TRegExpr.GetMatch (Idx : integer) : RegExprString; + begin + if (Idx >= 0) and (Idx < NSUBEXP) and Assigned (fInputString) + and Assigned (startp [Idx]) and Assigned (endp [Idx]) + //then Result := copy (fInputString, MatchPos [Idx], MatchLen [Idx]) //###0.929 + then SetString (Result, startp [idx], endp [idx] - startp [idx]) + else Result := ''; + end; { of function TRegExpr.GetMatch +--------------------------------------------------------------} + +function TRegExpr.GetModifierStr : RegExprString; + begin + Result := '-'; + + if ModifierI + then Result := 'i' + Result + else Result := Result + 'i'; + if ModifierR + then Result := 'r' + Result + else Result := Result + 'r'; + if ModifierS + then Result := 's' + Result + else Result := Result + 's'; + if ModifierG + then Result := 'g' + Result + else Result := Result + 'g'; + if ModifierM + then Result := 'm' + Result + else Result := Result + 'm'; + if ModifierX + then Result := 'x' + Result + else Result := Result + 'x'; + + if Result [length (Result)] = '-' // remove '-' if all modifiers are 'On' + then System.Delete (Result, length (Result), 1); + end; { of function TRegExpr.GetModifierStr +--------------------------------------------------------------} + +class function TRegExpr.ParseModifiersStr (const AModifiers : RegExprString; +var AModifiersInt : integer) : boolean; +// !!! Be carefull - this is class function and must not use object instance fields + var + i : integer; + IsOn : boolean; + Mask : integer; + begin + Result := true; + IsOn := true; + Mask := 0; // prevent compiler warning + for i := 1 to length (AModifiers) do + if AModifiers [i] = '-' + then IsOn := false + else begin + if Pos (AModifiers [i], 'iI') > 0 + then Mask := MaskModI + else if Pos (AModifiers [i], 'rR') > 0 + then Mask := MaskModR + else if Pos (AModifiers [i], 'sS') > 0 + then Mask := MaskModS + else if Pos (AModifiers [i], 'gG') > 0 + then Mask := MaskModG + else if Pos (AModifiers [i], 'mM') > 0 + then Mask := MaskModM + else if Pos (AModifiers [i], 'xX') > 0 + then Mask := MaskModX + else begin + Result := false; + EXIT; + end; + if IsOn + then AModifiersInt := AModifiersInt or Mask + else AModifiersInt := AModifiersInt and not Mask; + end; + end; { of function TRegExpr.ParseModifiersStr +--------------------------------------------------------------} + +procedure TRegExpr.SetModifierStr (const AModifiers : RegExprString); + begin + if not ParseModifiersStr (AModifiers, fModifiers) + then Error (reeModifierUnsupported); + end; { of procedure TRegExpr.SetModifierStr +--------------------------------------------------------------} + +function TRegExpr.GetModifier (AIndex : integer) : boolean; + var + Mask : integer; + begin + Result := false; + case AIndex of + 1: Mask := MaskModI; + 2: Mask := MaskModR; + 3: Mask := MaskModS; + 4: Mask := MaskModG; + 5: Mask := MaskModM; + 6: Mask := MaskModX; + else begin + Error (reeModifierUnsupported); + EXIT; + end; + end; + Result := (fModifiers and Mask) <> 0; + end; { of function TRegExpr.GetModifier +--------------------------------------------------------------} + +procedure TRegExpr.SetModifier (AIndex : integer; ASet : boolean); + var + Mask : integer; + begin + case AIndex of + 1: Mask := MaskModI; + 2: Mask := MaskModR; + 3: Mask := MaskModS; + 4: Mask := MaskModG; + 5: Mask := MaskModM; + 6: Mask := MaskModX; + else begin + Error (reeModifierUnsupported); + EXIT; + end; + end; + if ASet + then fModifiers := fModifiers or Mask + else fModifiers := fModifiers and not Mask; + end; { of procedure TRegExpr.SetModifier +--------------------------------------------------------------} + + +{=============================================================} +{==================== Compiler section =======================} +{=============================================================} + +procedure TRegExpr.InvalidateProgramm; + begin + if programm <> nil then begin + FreeMem (programm); + programm := nil; + end; + end; { of procedure TRegExpr.InvalidateProgramm +--------------------------------------------------------------} + +procedure TRegExpr.Compile; //###0.941 + begin + if fExpression = nil then begin // No Expression assigned + Error (reeNoExpression); + EXIT; + end; + CompileRegExpr (fExpression); + end; { of procedure TRegExpr.Compile +--------------------------------------------------------------} + +function TRegExpr.IsProgrammOk : boolean; + {$IFNDEF UniCode} + var + i : integer; + {$ENDIF} + begin + Result := false; + + // check modifiers + if fModifiers <> fProgModifiers //###0.941 + then InvalidateProgramm; + + // can we optimize line separators by using sets? + {$IFNDEF UniCode} + fLineSeparatorsSet := []; + for i := 1 to length (fLineSeparators) + do System.Include (fLineSeparatorsSet, fLineSeparators [i]); + {$ENDIF} + + // [Re]compile if needed + if programm = nil + then Compile; //###0.941 + + // check [re]compiled programm + if programm = nil + then EXIT // error was set/raised by Compile (was reeExecAfterCompErr) + else if programm [0] <> MAGIC // Program corrupted. + then Error (reeCorruptedProgram) + else Result := true; + end; { of function TRegExpr.IsProgrammOk +--------------------------------------------------------------} + +procedure TRegExpr.Tail (p : PRegExprChar; val : PRegExprChar); +// set the next-pointer at the end of a node chain + var + scan : PRegExprChar; + temp : PRegExprChar; +// i : int64; + begin + if p = @regdummy + then EXIT; + // Find last node. + scan := p; + REPEAT + temp := regnext (scan); + if temp = nil + then BREAK; + scan := temp; + UNTIL false; + // Set Next 'pointer' + if val < scan + then PRENextOff (scan + REOpSz)^ := - (scan - val) //###0.948 + // work around PWideChar subtraction bug (Delphi uses + // shr after subtraction to calculate widechar distance %-( ) + // so, if difference is negative we have .. the "feature" :( + // I could wrap it in $IFDEF UniCode, but I didn't because + // "P – Q computes the difference between the address given + // by P (the higher address) and the address given by Q (the + // lower address)" - Delphi help quotation. + else PRENextOff (scan + REOpSz)^ := val - scan; //###0.933 + end; { of procedure TRegExpr.Tail +--------------------------------------------------------------} + +procedure TRegExpr.OpTail (p : PRegExprChar; val : PRegExprChar); +// regtail on operand of first argument; nop if operandless + begin + // "Operandless" and "op != BRANCH" are synonymous in practice. + if (p = nil) or (p = @regdummy) or (PREOp (p)^ <> BRANCH) + then EXIT; + Tail (p + REOpSz + RENextOffSz, val); //###0.933 + end; { of procedure TRegExpr.OpTail +--------------------------------------------------------------} + +function TRegExpr.EmitNode (op : TREOp) : PRegExprChar; //###0.933 +// emit a node, return location + begin + Result := regcode; + if Result <> @regdummy then begin + PREOp (regcode)^ := op; + inc (regcode, REOpSz); + PRENextOff (regcode)^ := 0; // Next "pointer" := nil + inc (regcode, RENextOffSz); + end + else inc (regsize, REOpSz + RENextOffSz); // compute code size without code generation + end; { of function TRegExpr.EmitNode +--------------------------------------------------------------} + +procedure TRegExpr.EmitC (b : REChar); +// emit a byte to code + begin + if regcode <> @regdummy then begin + regcode^ := b; + inc (regcode); + end + else inc (regsize); // Type of p-code pointer always is ^REChar + end; { of procedure TRegExpr.EmitC +--------------------------------------------------------------} + +procedure TRegExpr.InsertOperator (op : TREOp; opnd : PRegExprChar; sz : integer); +// insert an operator in front of already-emitted operand +// Means relocating the operand. + var + src, dst, place : PRegExprChar; + i : integer; + begin + if regcode = @regdummy then begin + inc (regsize, sz); + EXIT; + end; + src := regcode; + inc (regcode, sz); + dst := regcode; + while src > opnd do begin + dec (dst); + dec (src); + dst^ := src^; + end; + place := opnd; // Op node, where operand used to be. + PREOp (place)^ := op; + inc (place, REOpSz); + for i := 1 + REOpSz to sz do begin + place^ := #0; + inc (place); + end; + end; { of procedure TRegExpr.InsertOperator +--------------------------------------------------------------} + +function strcspn (s1 : PRegExprChar; s2 : PRegExprChar) : integer; +// find length of initial segment of s1 consisting +// entirely of characters not from s2 + var scan1, scan2 : PRegExprChar; + begin + Result := 0; + scan1 := s1; + while scan1^ <> #0 do begin + scan2 := s2; + while scan2^ <> #0 do + if scan1^ = scan2^ + then EXIT + else inc (scan2); + inc (Result); + inc (scan1) + end; + end; { of function strcspn +--------------------------------------------------------------} + +const +// Flags to be passed up and down. + HASWIDTH = 01; // Known never to match nil string. + SIMPLE = 02; // Simple enough to be STAR/PLUS/BRACES operand. + SPSTART = 04; // Starts with * or +. + WORST = 0; // Worst case. + META : array [0 .. 12] of REChar = ( + '^', '$', '.', '[', '(', ')', '|', '?', '+', '*', EscChar, '{', #0); + // Any modification must be synchronized with QuoteRegExprMetaChars !!! + +{$IFDEF UniCode} + RusRangeLo : array [0 .. 33] of REChar = + (#$430,#$431,#$432,#$433,#$434,#$435,#$451,#$436,#$437, + #$438,#$439,#$43A,#$43B,#$43C,#$43D,#$43E,#$43F, + #$440,#$441,#$442,#$443,#$444,#$445,#$446,#$447, + #$448,#$449,#$44A,#$44B,#$44C,#$44D,#$44E,#$44F,#0); + RusRangeHi : array [0 .. 33] of REChar = + (#$410,#$411,#$412,#$413,#$414,#$415,#$401,#$416,#$417, + #$418,#$419,#$41A,#$41B,#$41C,#$41D,#$41E,#$41F, + #$420,#$421,#$422,#$423,#$424,#$425,#$426,#$427, + #$428,#$429,#$42A,#$42B,#$42C,#$42D,#$42E,#$42F,#0); + RusRangeLoLow = #$430{'à'}; + RusRangeLoHigh = #$44F{'ÿ'}; + RusRangeHiLow = #$410{'À'}; + RusRangeHiHigh = #$42F{'ß'}; +{$ELSE} + RusRangeLo = 'àáâãä叿çèéêëìíîïðñòóôõö÷øùúûüýþÿ'; + RusRangeHi = 'ÀÁÂÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß'; + RusRangeLoLow = 'à'; + RusRangeLoHigh = 'ÿ'; + RusRangeHiLow = 'À'; + RusRangeHiHigh = 'ß'; +{$ENDIF} + +function TRegExpr.CompileRegExpr (exp : PRegExprChar) : boolean; +// compile a regular expression into internal code +// We can't allocate space until we know how big the compiled form will be, +// but we can't compile it (and thus know how big it is) until we've got a +// place to put the code. So we cheat: we compile it twice, once with code +// generation turned off and size counting turned on, and once "for real". +// This also means that we don't allocate space until we are sure that the +// thing really will compile successfully, and we never have to move the +// code and thus invalidate pointers into it. (Note that it has to be in +// one piece because free() must be able to free it all.) +// Beware that the optimization-preparation code in here knows about some +// of the structure of the compiled regexp. + var + scan, longest : PRegExprChar; + len : cardinal; + flags : integer; + begin + Result := false; // life too dark + + regparse := nil; // for correct error handling + regexpbeg := exp; + try + + if programm <> nil then begin + FreeMem (programm); + programm := nil; + end; + + if exp = nil then begin + Error (reeCompNullArgument); + EXIT; + end; + + fProgModifiers := fModifiers; + // well, may it's paranoia. I'll check it later... !!!!!!!! + + // First pass: determine size, legality. + fCompModifiers := fModifiers; + regparse := exp; + regnpar := 1; + regsize := 0; + regcode := @regdummy; + EmitC (MAGIC); + if ParseReg (0, flags) = nil + then EXIT; + + // Small enough for 2-bytes programm pointers ? + // ###0.933 no real p-code length limits now :))) +// if regsize >= 64 * 1024 then begin +// Error (reeCompRegexpTooBig); +// EXIT; +// end; + + // Allocate space. + GetMem (programm, regsize * SizeOf (REChar)); + + // Second pass: emit code. + fCompModifiers := fModifiers; + regparse := exp; + regnpar := 1; + regcode := programm; + EmitC (MAGIC); + if ParseReg (0, flags) = nil + then EXIT; + + // Dig out information for optimizations. + {$IFDEF UseFirstCharSet} //###0.929 + FirstCharSet := []; + FillFirstCharSet (programm + REOpSz); + {$ENDIF} + regstart := #0; // Worst-case defaults. + reganch := #0; + regmust := nil; + regmlen := 0; + scan := programm + REOpSz; // First BRANCH. + if PREOp (regnext (scan))^ = EEND then begin // Only one top-level choice. + scan := scan + REOpSz + RENextOffSz; + + // Starting-point info. + if PREOp (scan)^ = EXACTLY + then regstart := (scan + REOpSz + RENextOffSz)^ + else if PREOp (scan)^ = BOL + then inc (reganch); + + // If there's something expensive in the r.e., find the longest + // literal string that must appear and make it the regmust. Resolve + // ties in favor of later strings, since the regstart check works + // with the beginning of the r.e. and avoiding duplication + // strengthens checking. Not a strong reason, but sufficient in the + // absence of others. + if (flags and SPSTART) <> 0 then begin + longest := nil; + len := 0; + while scan <> nil do begin + if (PREOp (scan)^ = EXACTLY) + and (strlen (scan + REOpSz + RENextOffSz) >= len) then begin + longest := scan + REOpSz + RENextOffSz; + len := strlen (longest); + end; + scan := regnext (scan); + end; + regmust := longest; + regmlen := len; + end; + end; + + Result := true; + + finally begin + if not Result + then InvalidateProgramm; + regexpbeg := nil; + fExprIsCompiled := Result; //###0.944 + end; + end; + + end; { of function TRegExpr.CompileRegExpr +--------------------------------------------------------------} + +function TRegExpr.ParseReg (paren : integer; var flagp : integer) : PRegExprChar; +// regular expression, i.e. main body or parenthesized thing +// Caller must absorb opening parenthesis. +// Combining parenthesis handling with the base level of regular expression +// is a trifle forced, but the need to tie the tails of the branches to what +// follows makes it hard to avoid. + var + ret, br, ender : PRegExprChar; + parno : integer; + flags : integer; + SavedModifiers : integer; + begin + Result := nil; + flagp := HASWIDTH; // Tentatively. + parno := 0; // eliminate compiler stupid warning + SavedModifiers := fCompModifiers; + + // Make an OPEN node, if parenthesized. + if paren <> 0 then begin + if regnpar >= NSUBEXP then begin + Error (reeCompParseRegTooManyBrackets); + EXIT; + end; + parno := regnpar; + inc (regnpar); + ret := EmitNode (TREOp (ord (OPEN) + parno)); + end + else ret := nil; + + // Pick up the branches, linking them together. + br := ParseBranch (flags); + if br = nil then begin + Result := nil; + EXIT; + end; + if ret <> nil + then Tail (ret, br) // OPEN -> first. + else ret := br; + if (flags and HASWIDTH) = 0 + then flagp := flagp and not HASWIDTH; + flagp := flagp or flags and SPSTART; + while (regparse^ = '|') do begin + inc (regparse); + br := ParseBranch (flags); + if br = nil then begin + Result := nil; + EXIT; + end; + Tail (ret, br); // BRANCH -> BRANCH. + if (flags and HASWIDTH) = 0 + then flagp := flagp and not HASWIDTH; + flagp := flagp or flags and SPSTART; + end; + + // Make a closing node, and hook it on the end. + if paren <> 0 + then ender := EmitNode (TREOp (ord (CLOSE) + parno)) + else ender := EmitNode (EEND); + Tail (ret, ender); + + // Hook the tails of the branches to the closing node. + br := ret; + while br <> nil do begin + OpTail (br, ender); + br := regnext (br); + end; + + // Check for proper termination. + if paren <> 0 then + if regparse^ <> ')' then begin + Error (reeCompParseRegUnmatchedBrackets); + EXIT; + end + else inc (regparse); // skip trailing ')' + if (paren = 0) and (regparse^ <> #0) then begin + if regparse^ = ')' + then Error (reeCompParseRegUnmatchedBrackets2) + else Error (reeCompParseRegJunkOnEnd); + EXIT; + end; + fCompModifiers := SavedModifiers; // restore modifiers of parent + Result := ret; + end; { of function TRegExpr.ParseReg +--------------------------------------------------------------} + +function TRegExpr.ParseBranch (var flagp : integer) : PRegExprChar; +// one alternative of an | operator +// Implements the concatenation operator. + var + ret, chain, latest : PRegExprChar; + flags : integer; + begin + flagp := WORST; // Tentatively. + + ret := EmitNode (BRANCH); + chain := nil; + while (regparse^ <> #0) and (regparse^ <> '|') + and (regparse^ <> ')') do begin + latest := ParsePiece (flags); + if latest = nil then begin + Result := nil; + EXIT; + end; + flagp := flagp or flags and HASWIDTH; + if chain = nil // First piece. + then flagp := flagp or flags and SPSTART + else Tail (chain, latest); + chain := latest; + end; + if chain = nil // Loop ran zero times. + then EmitNode (NOTHING); + Result := ret; + end; { of function TRegExpr.ParseBranch +--------------------------------------------------------------} + +function TRegExpr.ParsePiece (var flagp : integer) : PRegExprChar; +// something followed by possible [*+?{] +// Note that the branching code sequences used for ? and the general cases +// of * and + and { are somewhat optimized: they use the same NOTHING node as +// both the endmarker for their branch list and the body of the last branch. +// It might seem that this node could be dispensed with entirely, but the +// endmarker role is not redundant. + function parsenum (AStart, AEnd : PRegExprChar) : TREBracesArg; + begin + Result := 0; + if AEnd - AStart + 1 > 8 then begin // prevent stupid scanning + Error (reeBRACESArgTooBig); + EXIT; + end; + while AStart <= AEnd do begin + Result := Result * 10 + (ord (AStart^) - ord ('0')); + inc (AStart); + end; + if (Result > MaxBracesArg) or (Result < 0) then begin + Error (reeBRACESArgTooBig); + EXIT; + end; + end; + + var + op : REChar; + NonGreedyOp, NonGreedyCh : boolean; //###0.940 + TheOp : TREOp; //###0.940 + NextNode : PRegExprChar; + flags : integer; + BracesMin, Bracesmax : TREBracesArg; + p, savedparse : PRegExprChar; + + procedure EmitComplexBraces (ABracesMin, ABracesMax : TREBracesArg; + ANonGreedyOp : boolean); //###0.940 + {$IFDEF ComplexBraces} + var + off : integer; + {$ENDIF} + begin + {$IFNDEF ComplexBraces} + Error (reeComplexBracesNotImplemented); + {$ELSE} + if ANonGreedyOp + then TheOp := LOOPNG + else TheOp := LOOP; + InsertOperator (LOOPENTRY, Result, REOpSz + RENextOffSz); + NextNode := EmitNode (TheOp); + if regcode <> @regdummy then begin + off := (Result + REOpSz + RENextOffSz) + - (regcode - REOpSz - RENextOffSz); // back to Atom after LOOPENTRY + PREBracesArg (regcode)^ := ABracesMin; + inc (regcode, REBracesArgSz); + PREBracesArg (regcode)^ := ABracesMax; + inc (regcode, REBracesArgSz); + PRENextOff (regcode)^ := off; + inc (regcode, RENextOffSz); + end + else inc (regsize, REBracesArgSz * 2 + RENextOffSz); + Tail (Result, NextNode); // LOOPENTRY -> LOOP + if regcode <> @regdummy then + Tail (Result + REOpSz + RENextOffSz, NextNode); // Atom -> LOOP + {$ENDIF} + end; + + procedure EmitSimpleBraces (ABracesMin, ABracesMax : TREBracesArg; + ANonGreedyOp : boolean); //###0.940 + begin + if ANonGreedyOp //###0.940 + then TheOp := BRACESNG + else TheOp := BRACES; + InsertOperator (TheOp, Result, REOpSz + RENextOffSz + REBracesArgSz * 2); + if regcode <> @regdummy then begin + PREBracesArg (Result + REOpSz + RENextOffSz)^ := ABracesMin; + PREBracesArg (Result + REOpSz + RENextOffSz + REBracesArgSz)^ := ABracesMax; + end; + end; + + begin + Result := ParseAtom (flags); + if Result = nil + then EXIT; + + op := regparse^; + if not ((op = '*') or (op = '+') or (op = '?') or (op = '{')) then begin + flagp := flags; + EXIT; + end; + if ((flags and HASWIDTH) = 0) and (op <> '?') then begin + Error (reePlusStarOperandCouldBeEmpty); + EXIT; + end; + + case op of + '*': begin + flagp := WORST or SPSTART; + NonGreedyCh := (regparse + 1)^ = '?'; //###0.940 + NonGreedyOp := NonGreedyCh or ((fCompModifiers and MaskModG) = 0); //###0.940 + if (flags and SIMPLE) = 0 then begin + if NonGreedyOp //###0.940 + then EmitComplexBraces (0, MaxBracesArg, NonGreedyOp) + else begin // Emit x* as (x&|), where & means "self". + InsertOperator (BRANCH, Result, REOpSz + RENextOffSz); // Either x + OpTail (Result, EmitNode (BACK)); // and loop + OpTail (Result, Result); // back + Tail (Result, EmitNode (BRANCH)); // or + Tail (Result, EmitNode (NOTHING)); // nil. + end + end + else begin // Simple + if NonGreedyOp //###0.940 + then TheOp := STARNG + else TheOp := STAR; + InsertOperator (TheOp, Result, REOpSz + RENextOffSz); + end; + if NonGreedyCh //###0.940 + then inc (regparse); // Skip extra char ('?') + end; { of case '*'} + '+': begin + flagp := WORST or SPSTART or HASWIDTH; + NonGreedyCh := (regparse + 1)^ = '?'; //###0.940 + NonGreedyOp := NonGreedyCh or ((fCompModifiers and MaskModG) = 0); //###0.940 + if (flags and SIMPLE) = 0 then begin + if NonGreedyOp //###0.940 + then EmitComplexBraces (1, MaxBracesArg, NonGreedyOp) + else begin // Emit x+ as x(&|), where & means "self". + NextNode := EmitNode (BRANCH); // Either + Tail (Result, NextNode); + Tail (EmitNode (BACK), Result); // loop back + Tail (NextNode, EmitNode (BRANCH)); // or + Tail (Result, EmitNode (NOTHING)); // nil. + end + end + else begin // Simple + if NonGreedyOp //###0.940 + then TheOp := PLUSNG + else TheOp := PLUS; + InsertOperator (TheOp, Result, REOpSz + RENextOffSz); + end; + if NonGreedyCh //###0.940 + then inc (regparse); // Skip extra char ('?') + end; { of case '+'} + '?': begin + flagp := WORST; + NonGreedyCh := (regparse + 1)^ = '?'; //###0.940 + NonGreedyOp := NonGreedyCh or ((fCompModifiers and MaskModG) = 0); //###0.940 + if NonGreedyOp then begin //###0.940 // We emit x?? as x{0,1}? + if (flags and SIMPLE) = 0 + then EmitComplexBraces (0, 1, NonGreedyOp) + else EmitSimpleBraces (0, 1, NonGreedyOp); + end + else begin // greedy '?' + InsertOperator (BRANCH, Result, REOpSz + RENextOffSz); // Either x + Tail (Result, EmitNode (BRANCH)); // or + NextNode := EmitNode (NOTHING); // nil. + Tail (Result, NextNode); + OpTail (Result, NextNode); + end; + if NonGreedyCh //###0.940 + then inc (regparse); // Skip extra char ('?') + end; { of case '?'} + '{': begin + savedparse := regparse; + // !!!!!!!!!!!! + // Filip Jirsak's note - what will happen, when we are at the end of regparse? + inc (regparse); + p := regparse; + while Pos (regparse^, '0123456789') > 0 // MUST appear + do inc (regparse); + if (regparse^ <> '}') and (regparse^ <> ',') or (p = regparse) then begin + regparse := savedparse; + flagp := flags; + EXIT; + end; + BracesMin := parsenum (p, regparse - 1); + if regparse^ = ',' then begin + inc (regparse); + p := regparse; + while Pos (regparse^, '0123456789') > 0 + do inc (regparse); + if regparse^ <> '}' then begin + regparse := savedparse; + EXIT; + end; + if p = regparse + then BracesMax := MaxBracesArg + else BracesMax := parsenum (p, regparse - 1); + end + else BracesMax := BracesMin; // {n} == {n,n} + if BracesMin > BracesMax then begin + Error (reeBracesMinParamGreaterMax); + EXIT; + end; + if BracesMin > 0 + then flagp := WORST; + if BracesMax > 0 + then flagp := flagp or HASWIDTH or SPSTART; + + NonGreedyCh := (regparse + 1)^ = '?'; //###0.940 + NonGreedyOp := NonGreedyCh or ((fCompModifiers and MaskModG) = 0); //###0.940 + if (flags and SIMPLE) <> 0 + then EmitSimpleBraces (BracesMin, BracesMax, NonGreedyOp) + else EmitComplexBraces (BracesMin, BracesMax, NonGreedyOp); + if NonGreedyCh //###0.940 + then inc (regparse); // Skip extra char '?' + end; { of case '{'} +// else // here we can't be + end; { of case op} + + inc (regparse); + if (regparse^ = '*') or (regparse^ = '+') or (regparse^ = '?') or (regparse^ = '{') then begin + Error (reeNestedSQP); + EXIT; + end; + end; { of function TRegExpr.ParsePiece +--------------------------------------------------------------} + +function TRegExpr.ParseAtom (var flagp : integer) : PRegExprChar; +// the lowest level +// Optimization: gobbles an entire sequence of ordinary characters so that +// it can turn them into a single node, which is smaller to store and +// faster to run. Backslashed characters are exceptions, each becoming a +// separate node; the code is simpler that way and it's not worth fixing. + var + ret : PRegExprChar; + flags : integer; + RangeBeg, RangeEnd : REChar; + CanBeRange : boolean; + len : integer; + ender : REChar; + begmodfs : PRegExprChar; + + {$IFDEF UseSetOfChar} //###0.930 + RangePCodeBeg : PRegExprChar; + RangePCodeIdx : integer; + RangeIsCI : boolean; + RangeSet : TSetOfREChar; + RangeLen : integer; + RangeChMin, RangeChMax : REChar; + {$ENDIF} + + procedure EmitExactly (ch : REChar); + begin + if (fCompModifiers and MaskModI) <> 0 + then ret := EmitNode (EXACTLYCI) + else ret := EmitNode (EXACTLY); + EmitC (ch); + EmitC (#0); + flagp := flagp or HASWIDTH or SIMPLE; + end; + + procedure EmitStr (const s : RegExprString); + var i : integer; + begin + for i := 1 to length (s) + do EmitC (s [i]); + end; + + function HexDig (ch : REChar) : integer; + begin + Result := 0; + if (ch >= 'a') and (ch <= 'f') + then ch := REChar (ord (ch) - (ord ('a') - ord ('A'))); + if (ch < '0') or (ch > 'F') or ((ch > '9') and (ch < 'A')) then begin + Error (reeBadHexDigit); + EXIT; + end; + Result := ord (ch) - ord ('0'); + if ch >= 'A' + then Result := Result - (ord ('A') - ord ('9') - 1); + end; + + function EmitRange (AOpCode : REChar) : PRegExprChar; + begin + {$IFDEF UseSetOfChar} + case AOpCode of + ANYBUTCI, ANYBUT: + Result := EmitNode (ANYBUTTINYSET); + else // ANYOFCI, ANYOF + Result := EmitNode (ANYOFTINYSET); + end; + case AOpCode of + ANYBUTCI, ANYOFCI: + RangeIsCI := True; + else // ANYBUT, ANYOF + RangeIsCI := False; + end; + RangePCodeBeg := regcode; + RangePCodeIdx := regsize; + RangeLen := 0; + RangeSet := []; + RangeChMin := #255; + RangeChMax := #0; + {$ELSE} + Result := EmitNode (AOpCode); + // ToDo: + // !!!!!!!!!!!!! Implement ANYOF[BUT]TINYSET generation for UniCode !!!!!!!!!! + {$ENDIF} + end; + +{$IFDEF UseSetOfChar} + procedure EmitRangeCPrim (b : REChar); //###0.930 + begin + if b in RangeSet + then EXIT; + inc (RangeLen); + if b < RangeChMin + then RangeChMin := b; + if b > RangeChMax + then RangeChMax := b; + Include (RangeSet, b); + end; + {$ENDIF} + + procedure EmitRangeC (b : REChar); + {$IFDEF UseSetOfChar} + var + Ch : REChar; + {$ENDIF} + begin + CanBeRange := false; + {$IFDEF UseSetOfChar} + if b <> #0 then begin + EmitRangeCPrim (b); //###0.930 + if RangeIsCI + then EmitRangeCPrim (InvertCase (b)); //###0.930 + end + else begin + {$IFDEF UseAsserts} + Assert (RangeLen > 0, 'TRegExpr.ParseAtom(subroutine EmitRangeC): empty range'); // impossible, but who knows.. + Assert (RangeChMin <= RangeChMax, 'TRegExpr.ParseAtom(subroutine EmitRangeC): RangeChMin > RangeChMax'); // impossible, but who knows.. + {$ENDIF} + if RangeLen <= TinySetLen then begin // emit "tiny set" + if regcode = @regdummy then begin + regsize := RangePCodeIdx + TinySetLen; // RangeChMin/Max !!! + EXIT; + end; + regcode := RangePCodeBeg; + for Ch := RangeChMin to RangeChMax do //###0.930 + if Ch in RangeSet then begin + regcode^ := Ch; + inc (regcode); + end; + // fill rest: + while regcode < RangePCodeBeg + TinySetLen do begin + regcode^ := RangeChMax; + inc (regcode); + end; + end + else begin + if regcode = @regdummy then begin + regsize := RangePCodeIdx + SizeOf (TSetOfREChar); + EXIT; + end; + if (RangePCodeBeg - REOpSz - RENextOffSz)^ = ANYBUTTINYSET + then RangeSet := [#0 .. #255] - RangeSet; + PREOp (RangePCodeBeg - REOpSz - RENextOffSz)^ := ANYOFFULLSET; + regcode := RangePCodeBeg; + Move (RangeSet, regcode^, SizeOf (TSetOfREChar)); + inc (regcode, SizeOf (TSetOfREChar)); + end; + end; + {$ELSE} + EmitC (b); + {$ENDIF} + end; + + procedure EmitSimpleRangeC (b : REChar); + begin + RangeBeg := b; + EmitRangeC (b); + CanBeRange := true; + end; + + procedure EmitRangeStr (const s : RegExprString); + var i : integer; + begin + for i := 1 to length (s) + do EmitRangeC (s [i]); + end; + + function UnQuoteChar (var APtr : PRegExprChar) : REChar; //###0.934 + begin + case APtr^ of + 't': Result := #$9; // tab (HT/TAB) + 'n': Result := #$a; // newline (NL) + 'r': Result := #$d; // car.return (CR) + 'f': Result := #$c; // form feed (FF) + 'a': Result := #$7; // alarm (bell) (BEL) + 'e': Result := #$1b; // escape (ESC) + 'x': begin // hex char + Result := #0; + inc (APtr); + if APtr^ = #0 then begin + Error (reeNoHexCodeAfterBSlashX); + EXIT; + end; + if APtr^ = '{' then begin // \x{nnnn} //###0.936 + REPEAT + inc (APtr); + if APtr^ = #0 then begin + Error (reeNoHexCodeAfterBSlashX); + EXIT; + end; + if APtr^ <> '}' then begin + if (Ord (Result) + ShR (SizeOf (REChar) * 8 - 4)) and $F <> 0 then begin + Error (reeHexCodeAfterBSlashXTooBig); + EXIT; + end; + Result := REChar ((Ord (Result) ShL 4) or HexDig (APtr^)); + // HexDig will cause Error if bad hex digit found + end + else BREAK; + UNTIL False; + end + else begin + Result := REChar (HexDig (APtr^)); + // HexDig will cause Error if bad hex digit found + inc (APtr); + if APtr^ = #0 then begin + Error (reeNoHexCodeAfterBSlashX); + EXIT; + end; + Result := REChar ((Ord (Result) ShL 4) or HexDig (APtr^)); + // HexDig will cause Error if bad hex digit found + end; + end; + else Result := APtr^; + end; + end; + + begin + Result := nil; + flagp := WORST; // Tentatively. + + inc (regparse); + case (regparse - 1)^ of + '^': if ((fCompModifiers and MaskModM) = 0) + or ((fLineSeparators = '') and not fLinePairedSeparatorAssigned) + then ret := EmitNode (BOL) + else ret := EmitNode (BOLML); + '$': if ((fCompModifiers and MaskModM) = 0) + or ((fLineSeparators = '') and not fLinePairedSeparatorAssigned) + then ret := EmitNode (EOL) + else ret := EmitNode (EOLML); + '.': + if (fCompModifiers and MaskModS) <> 0 then begin + ret := EmitNode (ANY); + flagp := flagp or HASWIDTH or SIMPLE; + end + else begin // not /s, so emit [^:LineSeparators:] + ret := EmitNode (ANYML); + flagp := flagp or HASWIDTH; // not so simple ;) +// ret := EmitRange (ANYBUT); +// EmitRangeStr (LineSeparators); //###0.941 +// EmitRangeStr (LinePairedSeparator); // !!! isn't correct if have to accept only paired +// EmitRangeC (#0); +// flagp := flagp or HASWIDTH or SIMPLE; + end; + '[': begin + if regparse^ = '^' then begin // Complement of range. + if (fCompModifiers and MaskModI) <> 0 + then ret := EmitRange (ANYBUTCI) + else ret := EmitRange (ANYBUT); + inc (regparse); + end + else + if (fCompModifiers and MaskModI) <> 0 + then ret := EmitRange (ANYOFCI) + else ret := EmitRange (ANYOF); + + CanBeRange := false; + + if (regparse^ = ']') then begin + EmitSimpleRangeC (regparse^); // []-a] -> ']' .. 'a' + inc (regparse); + end; + + while (regparse^ <> #0) and (regparse^ <> ']') do begin + if (regparse^ = '-') + and ((regparse + 1)^ <> #0) and ((regparse + 1)^ <> ']') + and CanBeRange then begin + inc (regparse); + RangeEnd := regparse^; + if RangeEnd = EscChar then begin + {$IFDEF UniCode} //###0.935 + if (ord ((regparse + 1)^) < 256) + and (char ((regparse + 1)^) + in ['d', 'D', 's', 'S', 'w', 'W']) then begin + {$ELSE} + if (regparse + 1)^ in ['d', 'D', 's', 'S', 'w', 'W'] then begin + {$ENDIF} + EmitRangeC ('-'); // or treat as error ?!! + CONTINUE; + end; + inc (regparse); + RangeEnd := UnQuoteChar (regparse); + end; + + // r.e.ranges extension for russian + if ((fCompModifiers and MaskModR) <> 0) + and (RangeBeg = RusRangeLoLow) and (RangeEnd = RusRangeLoHigh) then begin + EmitRangeStr (RusRangeLo); + end + else if ((fCompModifiers and MaskModR) <> 0) + and (RangeBeg = RusRangeHiLow) and (RangeEnd = RusRangeHiHigh) then begin + EmitRangeStr (RusRangeHi); + end + else if ((fCompModifiers and MaskModR) <> 0) + and (RangeBeg = RusRangeLoLow) and (RangeEnd = RusRangeHiHigh) then begin + EmitRangeStr (RusRangeLo); + EmitRangeStr (RusRangeHi); + end + else begin // standard r.e. handling + if RangeBeg > RangeEnd then begin + Error (reeInvalidRange); + EXIT; + end; + inc (RangeBeg); + EmitRangeC (RangeEnd); // prevent infinite loop if RangeEnd=$ff + while RangeBeg < RangeEnd do begin //###0.929 + EmitRangeC (RangeBeg); + inc (RangeBeg); + end; + end; + inc (regparse); + end + else begin + if regparse^ = EscChar then begin + inc (regparse); + if regparse^ = #0 then begin + Error (reeParseAtomTrailingBackSlash); + EXIT; + end; + case regparse^ of // r.e.extensions + 'd': EmitRangeStr ('0123456789'); + 'w': EmitRangeStr (WordChars); + 's': EmitRangeStr (SpaceChars); + else EmitSimpleRangeC (UnQuoteChar (regparse)); + end; { of case} + end + else EmitSimpleRangeC (regparse^); + inc (regparse); + end; + end; { of while} + EmitRangeC (#0); + if regparse^ <> ']' then begin + Error (reeUnmatchedSqBrackets); + EXIT; + end; + inc (regparse); + flagp := flagp or HASWIDTH or SIMPLE; + end; + '(': begin + if regparse^ = '?' then begin + // check for extended Perl syntax : (?..) + if (regparse + 1)^ = '#' then begin // (?#comment) + inc (regparse, 2); // find closing ')' + while (regparse^ <> #0) and (regparse^ <> ')') + do inc (regparse); + if regparse^ <> ')' then begin + Error (reeUnclosedComment); + EXIT; + end; + inc (regparse); // skip ')' + ret := EmitNode (COMMENT); // comment + end + else begin // modifiers ? + inc (regparse); // skip '?' + begmodfs := regparse; + while (regparse^ <> #0) and (regparse^ <> ')') + do inc (regparse); + if (regparse^ <> ')') + or not ParseModifiersStr (copy (begmodfs, 1, (regparse - begmodfs)), fCompModifiers) then begin + Error (reeUrecognizedModifier); + EXIT; + end; + inc (regparse); // skip ')' + ret := EmitNode (COMMENT); // comment +// Error (reeQPSBFollowsNothing); +// EXIT; + end; + end + else begin + ret := ParseReg (1, flags); + if ret = nil then begin + Result := nil; + EXIT; + end; + flagp := flagp or flags and (HASWIDTH or SPSTART); + end; + end; + #0, '|', ')': begin // Supposed to be caught earlier. + Error (reeInternalUrp); + EXIT; + end; + '?', '+', '*': begin + Error (reeQPSBFollowsNothing); + EXIT; + end; + EscChar: begin + if regparse^ = #0 then begin + Error (reeTrailingBackSlash); + EXIT; + end; + case regparse^ of // r.e.extensions + 'b': ret := EmitNode (BOUND); //###0.943 + 'B': ret := EmitNode (NOTBOUND); //###0.943 + 'A': ret := EmitNode (BOL); //###0.941 + 'Z': ret := EmitNode (EOL); //###0.941 + 'd': begin // r.e.extension - any digit ('0' .. '9') + ret := EmitNode (ANYDIGIT); + flagp := flagp or HASWIDTH or SIMPLE; + end; + 'D': begin // r.e.extension - not digit ('0' .. '9') + ret := EmitNode (NOTDIGIT); + flagp := flagp or HASWIDTH or SIMPLE; + end; + 's': begin // r.e.extension - any space char + {$IFDEF UseSetOfChar} + ret := EmitRange (ANYOF); + EmitRangeStr (SpaceChars); + EmitRangeC (#0); + {$ELSE} + ret := EmitNode (ANYSPACE); + {$ENDIF} + flagp := flagp or HASWIDTH or SIMPLE; + end; + 'S': begin // r.e.extension - not space char + {$IFDEF UseSetOfChar} + ret := EmitRange (ANYBUT); + EmitRangeStr (SpaceChars); + EmitRangeC (#0); + {$ELSE} + ret := EmitNode (NOTSPACE); + {$ENDIF} + flagp := flagp or HASWIDTH or SIMPLE; + end; + 'w': begin // r.e.extension - any english char / digit / '_' + {$IFDEF UseSetOfChar} + ret := EmitRange (ANYOF); + EmitRangeStr (WordChars); + EmitRangeC (#0); + {$ELSE} + ret := EmitNode (ANYLETTER); + {$ENDIF} + flagp := flagp or HASWIDTH or SIMPLE; + end; + 'W': begin // r.e.extension - not english char / digit / '_' + {$IFDEF UseSetOfChar} + ret := EmitRange (ANYBUT); + EmitRangeStr (WordChars); + EmitRangeC (#0); + {$ELSE} + ret := EmitNode (NOTLETTER); + {$ENDIF} + flagp := flagp or HASWIDTH or SIMPLE; + end; + '1' .. '9': begin //###0.936 + if (fCompModifiers and MaskModI) <> 0 + then ret := EmitNode (BSUBEXPCI) + else ret := EmitNode (BSUBEXP); + EmitC (REChar (ord (regparse^) - ord ('0'))); + flagp := flagp or HASWIDTH or SIMPLE; + end; + else EmitExactly (UnQuoteChar (regparse)); + end; { of case} + inc (regparse); + end; + else begin + dec (regparse); + if ((fCompModifiers and MaskModX) <> 0) and // check for eXtended syntax + ((regparse^ = '#') + or ({$IFDEF UniCode}StrScan (XIgnoredChars, regparse^) <> nil //###0.947 + {$ELSE}regparse^ in XIgnoredChars{$ENDIF})) then begin //###0.941 \x + if regparse^ = '#' then begin // Skip eXtended comment + // find comment terminator (group of \n and/or \r) + while (regparse^ <> #0) and (regparse^ <> #$d) and (regparse^ <> #$a) + do inc (regparse); + while (regparse^ = #$d) or (regparse^ = #$a) // skip comment terminator + do inc (regparse); // attempt to support different type of line separators + end + else begin // Skip the blanks! + while {$IFDEF UniCode}StrScan (XIgnoredChars, regparse^) <> nil //###0.947 + {$ELSE}regparse^ in XIgnoredChars{$ENDIF} + do inc (regparse); + end; + ret := EmitNode (COMMENT); // comment + end + else begin + len := strcspn (regparse, META); + if len <= 0 then + if regparse^ <> '{' then begin + Error (reeRarseAtomInternalDisaster); + EXIT; + end + else len := strcspn (regparse + 1, META) + 1; // bad {n,m} - compile as EXATLY + ender := (regparse + len)^; + if (len > 1) + and ((ender = '*') or (ender = '+') or (ender = '?') or (ender = '{')) + then dec (len); // Back off clear of ?+*{ operand. + flagp := flagp or HASWIDTH; + if len = 1 + then flagp := flagp or SIMPLE; + if (fCompModifiers and MaskModI) <> 0 + then ret := EmitNode (EXACTLYCI) + else ret := EmitNode (EXACTLY); + while (len > 0) + and (((fCompModifiers and MaskModX) = 0) or (regparse^ <> '#')) do begin + if ((fCompModifiers and MaskModX) = 0) or not ( //###0.941 + {$IFDEF UniCode}StrScan (XIgnoredChars, regparse^) <> nil //###0.947 + {$ELSE}regparse^ in XIgnoredChars{$ENDIF} ) + then EmitC (regparse^); + inc (regparse); + dec (len); + end; + EmitC (#0); + end; { of if not comment} + end; { of case else} + end; { of case} + + Result := ret; + end; { of function TRegExpr.ParseAtom +--------------------------------------------------------------} + +function TRegExpr.GetCompilerErrorPos : integer; + begin + Result := 0; + if (regexpbeg = nil) or (regparse = nil) + then EXIT; // not in compiling mode ? + Result := regparse - regexpbeg; + end; { of function TRegExpr.GetCompilerErrorPos +--------------------------------------------------------------} + + +{=============================================================} +{===================== Matching section ======================} +{=============================================================} + +{$IFNDEF UseSetOfChar} +function TRegExpr.StrScanCI (s : PRegExprChar; ch : REChar) : PRegExprChar; //###0.928 - now method of TRegExpr + begin + while (s^ <> #0) and (s^ <> ch) and (s^ <> InvertCase (ch)) + do inc (s); + if s^ <> #0 + then Result := s + else Result := nil; + end; { of function TRegExpr.StrScanCI +--------------------------------------------------------------} +{$ENDIF} + +function TRegExpr.regrepeat (p : PRegExprChar; AMax : integer) : integer; +// repeatedly match something simple, report how many + var + scan : PRegExprChar; + opnd : PRegExprChar; + TheMax : integer; + {Ch,} InvCh : REChar; //###0.931 + sestart, seend : PRegExprChar; //###0.936 + begin + Result := 0; + scan := reginput; + opnd := p + REOpSz + RENextOffSz; //OPERAND + TheMax := fInputEnd - scan; + if TheMax > AMax + then TheMax := AMax; + case PREOp (p)^ of + ANY: begin + // note - ANYML cannot be proceeded in regrepeat because can skip + // more than one char at once + Result := TheMax; + inc (scan, Result); + end; + EXACTLY: begin // in opnd can be only ONE char !!! +// Ch := opnd^; // store in register //###0.931 + while (Result < TheMax) and (opnd^ = scan^) do begin + inc (Result); + inc (scan); + end; + end; + EXACTLYCI: begin // in opnd can be only ONE char !!! +// Ch := opnd^; // store in register //###0.931 + while (Result < TheMax) and (opnd^ = scan^) do begin // prevent unneeded InvertCase //###0.931 + inc (Result); + inc (scan); + end; + if Result < TheMax then begin //###0.931 + InvCh := InvertCase (opnd^); // store in register + while (Result < TheMax) and + ((opnd^ = scan^) or (InvCh = scan^)) do begin + inc (Result); + inc (scan); + end; + end; + end; + BSUBEXP: begin //###0.936 + sestart := startp [ord (opnd^)]; + if sestart = nil + then EXIT; + seend := endp [ord (opnd^)]; + if seend = nil + then EXIT; + REPEAT + opnd := sestart; + while opnd < seend do begin + if (scan >= fInputEnd) or (scan^ <> opnd^) + then EXIT; + inc (scan); + inc (opnd); + end; + inc (Result); + reginput := scan; + UNTIL Result >= AMax; + end; + BSUBEXPCI: begin //###0.936 + sestart := startp [ord (opnd^)]; + if sestart = nil + then EXIT; + seend := endp [ord (opnd^)]; + if seend = nil + then EXIT; + REPEAT + opnd := sestart; + while opnd < seend do begin + if (scan >= fInputEnd) or + ((scan^ <> opnd^) and (scan^ <> InvertCase (opnd^))) + then EXIT; + inc (scan); + inc (opnd); + end; + inc (Result); + reginput := scan; + UNTIL Result >= AMax; + end; + ANYDIGIT: + while (Result < TheMax) and + (scan^ >= '0') and (scan^ <= '9') do begin + inc (Result); + inc (scan); + end; + NOTDIGIT: + while (Result < TheMax) and + ((scan^ < '0') or (scan^ > '9')) do begin + inc (Result); + inc (scan); + end; + {$IFNDEF UseSetOfChar} //###0.929 + ANYLETTER: + while (Result < TheMax) and + (Pos (scan^, fWordChars) > 0) //###0.940 + { ((scan^ >= 'a') and (scan^ <= 'z') !! I've forgotten (>='0') and (<='9') + or (scan^ >= 'A') and (scan^ <= 'Z') or (scan^ = '_'))} do begin + inc (Result); + inc (scan); + end; + NOTLETTER: + while (Result < TheMax) and + (Pos (scan^, fWordChars) <= 0) //###0.940 + { not ((scan^ >= 'a') and (scan^ <= 'z') !! I've forgotten (>='0') and (<='9') + or (scan^ >= 'A') and (scan^ <= 'Z') + or (scan^ = '_'))} do begin + inc (Result); + inc (scan); + end; + ANYSPACE: + while (Result < TheMax) and + (Pos (scan^, fSpaceChars) > 0) do begin + inc (Result); + inc (scan); + end; + NOTSPACE: + while (Result < TheMax) and + (Pos (scan^, fSpaceChars) <= 0) do begin + inc (Result); + inc (scan); + end; + {$ENDIF} + ANYOFTINYSET: begin + while (Result < TheMax) and //!!!TinySet + ((scan^ = opnd^) or (scan^ = (opnd + 1)^) + or (scan^ = (opnd + 2)^)) do begin + inc (Result); + inc (scan); + end; + end; + ANYBUTTINYSET: begin + while (Result < TheMax) and //!!!TinySet + (scan^ <> opnd^) and (scan^ <> (opnd + 1)^) + and (scan^ <> (opnd + 2)^) do begin + inc (Result); + inc (scan); + end; + end; + {$IFDEF UseSetOfChar} //###0.929 + ANYOFFULLSET: begin + while (Result < TheMax) and + (scan^ in PSetOfREChar (opnd)^) do begin + inc (Result); + inc (scan); + end; + end; + {$ELSE} + ANYOF: + while (Result < TheMax) and + (StrScan (opnd, scan^) <> nil) do begin + inc (Result); + inc (scan); + end; + ANYBUT: + while (Result < TheMax) and + (StrScan (opnd, scan^) = nil) do begin + inc (Result); + inc (scan); + end; + ANYOFCI: + while (Result < TheMax) and (StrScanCI (opnd, scan^) <> nil) do begin + inc (Result); + inc (scan); + end; + ANYBUTCI: + while (Result < TheMax) and (StrScanCI (opnd, scan^) = nil) do begin + inc (Result); + inc (scan); + end; + {$ENDIF} + else begin // Oh dear. Called inappropriately. + Result := 0; // Best compromise. + Error (reeRegRepeatCalledInappropriately); + EXIT; + end; + end; { of case} + reginput := scan; + end; { of function TRegExpr.regrepeat +--------------------------------------------------------------} + +function TRegExpr.regnext (p : PRegExprChar) : PRegExprChar; +// dig the "next" pointer out of a node + var offset : TRENextOff; + begin + if p = @regdummy then begin + Result := nil; + EXIT; + end; + offset := PRENextOff (p + REOpSz)^; //###0.933 inlined NEXT + if offset = 0 + then Result := nil + else Result := p + offset; + end; { of function TRegExpr.regnext +--------------------------------------------------------------} + +function TRegExpr.MatchPrim (prog : PRegExprChar) : boolean; +// recursively matching routine +// Conceptually the strategy is simple: check to see whether the current +// node matches, call self recursively to see whether the rest matches, +// and then act accordingly. In practice we make some effort to avoid +// recursion, in particular by going through "ordinary" nodes (that don't +// need to know whether the rest of the match failed) by a loop instead of +// by recursion. + var + scan : PRegExprChar; // Current node. + next : PRegExprChar; // Next node. + len : integer; + opnd : PRegExprChar; + no : integer; + save : PRegExprChar; + nextch : REChar; + BracesMin, BracesMax : integer; // we use integer instead of TREBracesArg for better support */+ + {$IFDEF ComplexBraces} + SavedLoopStack : array [1 .. LoopStackMax] of integer; // :(( very bad for recursion + SavedLoopStackIdx : integer; //###0.925 + {$ENDIF} + begin + Result := false; + scan := prog; + + while scan <> nil do begin + len := PRENextOff (scan + 1)^; //###0.932 inlined regnext + if len = 0 + then next := nil + else next := scan + len; + + case scan^ of + NOTBOUND, //###0.943 //!!! think about UseSetOfChar !!! + BOUND: + if (scan^ = BOUND) + xor ( + ((reginput = fInputStart) or (Pos ((reginput - 1)^, fWordChars) <= 0)) + and (reginput^ <> #0) and (Pos (reginput^, fWordChars) > 0) + or + (reginput <> fInputStart) and (Pos ((reginput - 1)^, fWordChars) > 0) + and ((reginput^ = #0) or (Pos (reginput^, fWordChars) <= 0))) + then EXIT; + + BOL: if reginput <> fInputStart + then EXIT; + EOL: if reginput^ <> #0 + then EXIT; + BOLML: if reginput > fInputStart then begin + nextch := (reginput - 1)^; + if (nextch <> fLinePairedSeparatorTail) + or ((reginput - 1) <= fInputStart) + or ((reginput - 2)^ <> fLinePairedSeparatorHead) + then begin + if (nextch = fLinePairedSeparatorHead) + and (reginput^ = fLinePairedSeparatorTail) + then EXIT; // don't stop between paired separator + if + {$IFNDEF UniCode} + not (nextch in fLineSeparatorsSet) + {$ELSE} + (pos (nextch, fLineSeparators) <= 0) + {$ENDIF} + then EXIT; + end; + end; + EOLML: if reginput^ <> #0 then begin + nextch := reginput^; + if (nextch <> fLinePairedSeparatorHead) + or ((reginput + 1)^ <> fLinePairedSeparatorTail) + then begin + if (nextch = fLinePairedSeparatorTail) + and (reginput > fInputStart) + and ((reginput - 1)^ = fLinePairedSeparatorHead) + then EXIT; // don't stop between paired separator + if + {$IFNDEF UniCode} + not (nextch in fLineSeparatorsSet) + {$ELSE} + (pos (nextch, fLineSeparators) <= 0) + {$ENDIF} + then EXIT; + end; + end; + ANY: begin + if reginput^ = #0 + then EXIT; + inc (reginput); + end; + ANYML: begin //###0.941 + if (reginput^ = #0) + or ((reginput^ = fLinePairedSeparatorHead) + and ((reginput + 1)^ = fLinePairedSeparatorTail)) + or {$IFNDEF UniCode} (reginput^ in fLineSeparatorsSet) + {$ELSE} (pos (reginput^, fLineSeparators) > 0) {$ENDIF} + then EXIT; + inc (reginput); + end; + ANYDIGIT: begin + if (reginput^ = #0) or (reginput^ < '0') or (reginput^ > '9') + then EXIT; + inc (reginput); + end; + NOTDIGIT: begin + if (reginput^ = #0) or ((reginput^ >= '0') and (reginput^ <= '9')) + then EXIT; + inc (reginput); + end; + {$IFNDEF UseSetOfChar} //###0.929 + ANYLETTER: begin + if (reginput^ = #0) or (Pos (reginput^, fWordChars) <= 0) //###0.943 + then EXIT; + inc (reginput); + end; + NOTLETTER: begin + if (reginput^ = #0) or (Pos (reginput^, fWordChars) > 0) //###0.943 + then EXIT; + inc (reginput); + end; + ANYSPACE: begin + if (reginput^ = #0) or not (Pos (reginput^, fSpaceChars) > 0) //###0.943 + then EXIT; + inc (reginput); + end; + NOTSPACE: begin + if (reginput^ = #0) or (Pos (reginput^, fSpaceChars) > 0) //###0.943 + then EXIT; + inc (reginput); + end; + {$ENDIF} + EXACTLYCI: begin + opnd := scan + REOpSz + RENextOffSz; // OPERAND + // Inline the first character, for speed. + if (opnd^ <> reginput^) + and (InvertCase (opnd^) <> reginput^) + then EXIT; + len := strlen (opnd); + //###0.929 begin + no := len; + save := reginput; + while no > 1 do begin + inc (save); + inc (opnd); + if (opnd^ <> save^) + and (InvertCase (opnd^) <> save^) + then EXIT; + dec (no); + end; + //###0.929 end + inc (reginput, len); + end; + EXACTLY: begin + opnd := scan + REOpSz + RENextOffSz; // OPERAND + // Inline the first character, for speed. + if opnd^ <> reginput^ + then EXIT; + len := strlen (opnd); + //###0.929 begin + no := len; + save := reginput; + while no > 1 do begin + inc (save); + inc (opnd); + if opnd^ <> save^ + then EXIT; + dec (no); + end; + //###0.929 end + inc (reginput, len); + end; + BSUBEXP: begin //###0.936 + no := ord ((scan + REOpSz + RENextOffSz)^); + if startp [no] = nil + then EXIT; + if endp [no] = nil + then EXIT; + save := reginput; + opnd := startp [no]; + while opnd < endp [no] do begin + if (save >= fInputEnd) or (save^ <> opnd^) + then EXIT; + inc (save); + inc (opnd); + end; + reginput := save; + end; + BSUBEXPCI: begin //###0.936 + no := ord ((scan + REOpSz + RENextOffSz)^); + if startp [no] = nil + then EXIT; + if endp [no] = nil + then EXIT; + save := reginput; + opnd := startp [no]; + while opnd < endp [no] do begin + if (save >= fInputEnd) or + ((save^ <> opnd^) and (save^ <> InvertCase (opnd^))) + then EXIT; + inc (save); + inc (opnd); + end; + reginput := save; + end; + ANYOFTINYSET: begin + if (reginput^ = #0) or //!!!TinySet + ((reginput^ <> (scan + REOpSz + RENextOffSz)^) + and (reginput^ <> (scan + REOpSz + RENextOffSz + 1)^) + and (reginput^ <> (scan + REOpSz + RENextOffSz + 2)^)) + then EXIT; + inc (reginput); + end; + ANYBUTTINYSET: begin + if (reginput^ = #0) or //!!!TinySet + (reginput^ = (scan + REOpSz + RENextOffSz)^) + or (reginput^ = (scan + REOpSz + RENextOffSz + 1)^) + or (reginput^ = (scan + REOpSz + RENextOffSz + 2)^) + then EXIT; + inc (reginput); + end; + {$IFDEF UseSetOfChar} //###0.929 + ANYOFFULLSET: begin + if (reginput^ = #0) + or not (reginput^ in PSetOfREChar (scan + REOpSz + RENextOffSz)^) + then EXIT; + inc (reginput); + end; + {$ELSE} + ANYOF: begin + if (reginput^ = #0) or (StrScan (scan + REOpSz + RENextOffSz, reginput^) = nil) + then EXIT; + inc (reginput); + end; + ANYBUT: begin + if (reginput^ = #0) or (StrScan (scan + REOpSz + RENextOffSz, reginput^) <> nil) + then EXIT; + inc (reginput); + end; + ANYOFCI: begin + if (reginput^ = #0) or (StrScanCI (scan + REOpSz + RENextOffSz, reginput^) = nil) + then EXIT; + inc (reginput); + end; + ANYBUTCI: begin + if (reginput^ = #0) or (StrScanCI (scan + REOpSz + RENextOffSz, reginput^) <> nil) + then EXIT; + inc (reginput); + end; + {$ENDIF} + NOTHING: ; + COMMENT: ; + BACK: ; + Succ (OPEN) .. TREOp (Ord (OPEN) + NSUBEXP - 1) : begin //###0.929 + no := ord (scan^) - ord (OPEN); +// save := reginput; + save := startp [no]; //###0.936 + startp [no] := reginput; //###0.936 + Result := MatchPrim (next); + if not Result //###0.936 + then startp [no] := save; +// if Result and (startp [no] = nil) +// then startp [no] := save; + // Don't set startp if some later invocation of the same + // parentheses already has. + EXIT; + end; + Succ (CLOSE) .. TREOp (Ord (CLOSE) + NSUBEXP - 1): begin //###0.929 + no := ord (scan^) - ord (CLOSE); +// save := reginput; + save := endp [no]; //###0.936 + endp [no] := reginput; //###0.936 + Result := MatchPrim (next); + if not Result //###0.936 + then endp [no] := save; +// if Result and (endp [no] = nil) +// then endp [no] := save; + // Don't set endp if some later invocation of the same + // parentheses already has. + EXIT; + end; + BRANCH: begin + if (next^ <> BRANCH) // No choice. + then next := scan + REOpSz + RENextOffSz // Avoid recursion + else begin + REPEAT + save := reginput; + Result := MatchPrim (scan + REOpSz + RENextOffSz); + if Result + then EXIT; + reginput := save; + scan := regnext (scan); + UNTIL (scan = nil) or (scan^ <> BRANCH); + EXIT; + end; + end; + {$IFDEF ComplexBraces} + LOOPENTRY: begin //###0.925 + no := LoopStackIdx; + inc (LoopStackIdx); + if LoopStackIdx > LoopStackMax then begin + Error (reeLoopStackExceeded); + EXIT; + end; + save := reginput; + LoopStack [LoopStackIdx] := 0; // init loop counter + Result := MatchPrim (next); // execute LOOP + LoopStackIdx := no; // cleanup + if Result + then EXIT; + reginput := save; + EXIT; + end; + LOOP, LOOPNG: begin //###0.940 + if LoopStackIdx <= 0 then begin + Error (reeLoopWithoutEntry); + EXIT; + end; + opnd := scan + PRENextOff (scan + REOpSz + RENextOffSz + 2 * REBracesArgSz)^; + BracesMin := PREBracesArg (scan + REOpSz + RENextOffSz)^; + BracesMax := PREBracesArg (scan + REOpSz + RENextOffSz + REBracesArgSz)^; + save := reginput; + if LoopStack [LoopStackIdx] >= BracesMin then begin // Min alredy matched - we can work + if scan^ = LOOP then begin + // greedy way - first try to max deep of greed ;) + if LoopStack [LoopStackIdx] < BracesMax then begin + inc (LoopStack [LoopStackIdx]); + no := LoopStackIdx; + Result := MatchPrim (opnd); + LoopStackIdx := no; + if Result + then EXIT; + reginput := save; + end; + dec (LoopStackIdx); // Fail. May be we are too greedy? ;) + Result := MatchPrim (next); + if not Result + then reginput := save; + EXIT; + end + else begin + // non-greedy - try just now + Result := MatchPrim (next); + if Result + then EXIT + else reginput := save; // failed - move next and try again + if LoopStack [LoopStackIdx] < BracesMax then begin + inc (LoopStack [LoopStackIdx]); + no := LoopStackIdx; + Result := MatchPrim (opnd); + LoopStackIdx := no; + if Result + then EXIT; + reginput := save; + end; + dec (LoopStackIdx); // Failed - back up + EXIT; + end + end + else begin // first match a min_cnt times + inc (LoopStack [LoopStackIdx]); + no := LoopStackIdx; + Result := MatchPrim (opnd); + LoopStackIdx := no; + if Result + then EXIT; + dec (LoopStack [LoopStackIdx]); + reginput := save; + EXIT; + end; + end; + {$ENDIF} + STAR, PLUS, BRACES, STARNG, PLUSNG, BRACESNG: begin + // Lookahead to avoid useless match attempts when we know + // what character comes next. + nextch := #0; + if next^ = EXACTLY + then nextch := (next + REOpSz + RENextOffSz)^; + BracesMax := MaxInt; // infinite loop for * and + //###0.92 + if (scan^ = STAR) or (scan^ = STARNG) + then BracesMin := 0 // STAR + else if (scan^ = PLUS) or (scan^ = PLUSNG) + then BracesMin := 1 // PLUS + else begin // BRACES + BracesMin := PREBracesArg (scan + REOpSz + RENextOffSz)^; + BracesMax := PREBracesArg (scan + REOpSz + RENextOffSz + REBracesArgSz)^; + end; + save := reginput; + opnd := scan + REOpSz + RENextOffSz; + if (scan^ = BRACES) or (scan^ = BRACESNG) + then inc (opnd, 2 * REBracesArgSz); + + if (scan^ = PLUSNG) or (scan^ = STARNG) or (scan^ = BRACESNG) then begin + // non-greedy mode + BracesMax := regrepeat (opnd, BracesMax); // don't repeat more than BracesMax + // Now we know real Max limit to move forward (for recursion 'back up') + // In some cases it can be faster to check only Min positions first, + // but after that we have to check every position separtely instead + // of fast scannig in loop. + no := BracesMin; + while no <= BracesMax do begin + reginput := save + no; + // If it could work, try it. + if (nextch = #0) or (reginput^ = nextch) then begin + {$IFDEF ComplexBraces} + System.Move (LoopStack, SavedLoopStack, SizeOf (LoopStack)); //###0.925 + SavedLoopStackIdx := LoopStackIdx; + {$ENDIF} + if MatchPrim (next) then begin + Result := true; + EXIT; + end; + {$IFDEF ComplexBraces} + System.Move (SavedLoopStack, LoopStack, SizeOf (LoopStack)); + LoopStackIdx := SavedLoopStackIdx; + {$ENDIF} + end; + inc (no); // Couldn't or didn't - move forward. + end; { of while} + EXIT; + end + else begin // greedy mode + no := regrepeat (opnd, BracesMax); // don't repeat more than max_cnt + while no >= BracesMin do begin + // If it could work, try it. + if (nextch = #0) or (reginput^ = nextch) then begin + {$IFDEF ComplexBraces} + System.Move (LoopStack, SavedLoopStack, SizeOf (LoopStack)); //###0.925 + SavedLoopStackIdx := LoopStackIdx; + {$ENDIF} + if MatchPrim (next) then begin + Result := true; + EXIT; + end; + {$IFDEF ComplexBraces} + System.Move (SavedLoopStack, LoopStack, SizeOf (LoopStack)); + LoopStackIdx := SavedLoopStackIdx; + {$ENDIF} + end; + dec (no); // Couldn't or didn't - back up. + reginput := save + no; + end; { of while} + EXIT; + end; + end; + EEND: begin + Result := true; // Success! + EXIT; + end; + else begin + Error (reeMatchPrimMemoryCorruption); + EXIT; + end; + end; { of case scan^} + scan := next; + end; { of while scan <> nil} + + // We get here only if there's trouble -- normally "case EEND" is the + // terminating point. + Error (reeMatchPrimCorruptedPointers); + end; { of function TRegExpr.MatchPrim +--------------------------------------------------------------} + +{$IFDEF UseFirstCharSet} //###0.929 +procedure TRegExpr.FillFirstCharSet (prog : PRegExprChar); + var + scan : PRegExprChar; // Current node. + next : PRegExprChar; // Next node. + opnd : PRegExprChar; + min_cnt : integer; + begin + scan := prog; + while scan <> nil do begin + next := regnext (scan); + case PREOp (scan)^ of + BSUBEXP, BSUBEXPCI: begin //###0.938 + FirstCharSet := [#0 .. #255]; // :((( we cannot + // optimize r.e. if it starts with back reference + EXIT; + end; + BOL, BOLML: ; // EXIT; //###0.937 + EOL, EOLML: begin //###0.948 was empty in 0.947, was EXIT in 0.937 + Include (FirstCharSet, #0); + if ModifierM + then begin + opnd := PRegExprChar (LineSeparators); + while opnd^ <> #0 do begin + Include (FirstCharSet, opnd^); + inc (opnd); + end; + end; + EXIT; + end; + BOUND, NOTBOUND: ; //###0.943 ?!! + ANY, ANYML: begin // we can better define ANYML !!! + FirstCharSet := [#0 .. #255]; //###0.930 + EXIT; + end; + ANYDIGIT: begin + FirstCharSet := FirstCharSet + ['0' .. '9']; + EXIT; + end; + NOTDIGIT: begin + FirstCharSet := FirstCharSet + ([#0 .. #255] - ['0' .. '9']); //###0.948 FirstCharSet was forgotten + EXIT; + end; + EXACTLYCI: begin + Include (FirstCharSet, (scan + REOpSz + RENextOffSz)^); + Include (FirstCharSet, InvertCase ((scan + REOpSz + RENextOffSz)^)); + EXIT; + end; + EXACTLY: begin + Include (FirstCharSet, (scan + REOpSz + RENextOffSz)^); + EXIT; + end; + ANYOFFULLSET: begin + FirstCharSet := FirstCharSet + PSetOfREChar (scan + REOpSz + RENextOffSz)^; + EXIT; + end; + ANYOFTINYSET: begin + //!!!TinySet + Include (FirstCharSet, (scan + REOpSz + RENextOffSz)^); + Include (FirstCharSet, (scan + REOpSz + RENextOffSz + 1)^); + Include (FirstCharSet, (scan + REOpSz + RENextOffSz + 2)^); + // ... // up to TinySetLen + EXIT; + end; + ANYBUTTINYSET: begin + //!!!TinySet + FirstCharSet := FirstCharSet + ([#0 .. #255] - [ //###0.948 FirstCharSet was forgotten + (scan + REOpSz + RENextOffSz)^, + (scan + REOpSz + RENextOffSz + 1)^, + (scan + REOpSz + RENextOffSz + 2)^]); + // ... // up to TinySetLen + EXIT; + end; + NOTHING: ; + COMMENT: ; + BACK: ; + Succ (OPEN) .. TREOp (Ord (OPEN) + NSUBEXP - 1) : begin //###0.929 + FillFirstCharSet (next); + EXIT; + end; + Succ (CLOSE) .. TREOp (Ord (CLOSE) + NSUBEXP - 1): begin //###0.929 + FillFirstCharSet (next); + EXIT; + end; + BRANCH: begin + if (PREOp (next)^ <> BRANCH) // No choice. + then next := scan + REOpSz + RENextOffSz // Avoid recursion. + else begin + REPEAT + FillFirstCharSet (scan + REOpSz + RENextOffSz); + scan := regnext (scan); + UNTIL (scan = nil) or (PREOp (scan)^ <> BRANCH); + EXIT; + end; + end; + {$IFDEF ComplexBraces} + LOOPENTRY: begin //###0.925 +// LoopStack [LoopStackIdx] := 0; //###0.940 line removed + FillFirstCharSet (next); // execute LOOP + EXIT; + end; + LOOP, LOOPNG: begin //###0.940 + opnd := scan + PRENextOff (scan + REOpSz + RENextOffSz + REBracesArgSz * 2)^; + min_cnt := PREBracesArg (scan + REOpSz + RENextOffSz)^; + FillFirstCharSet (opnd); + if min_cnt = 0 + then FillFirstCharSet (next); + EXIT; + end; + {$ENDIF} + STAR, STARNG: //###0.940 + FillFirstCharSet (scan + REOpSz + RENextOffSz); + PLUS, PLUSNG: begin //###0.940 + FillFirstCharSet (scan + REOpSz + RENextOffSz); + EXIT; + end; + BRACES, BRACESNG: begin //###0.940 + opnd := scan + REOpSz + RENextOffSz + REBracesArgSz * 2; + min_cnt := PREBracesArg (scan + REOpSz + RENextOffSz)^; // BRACES + FillFirstCharSet (opnd); + if min_cnt > 0 + then EXIT; + end; + EEND: begin + FirstCharSet := [#0 .. #255]; //###0.948 + EXIT; + end; + else begin + Error (reeMatchPrimMemoryCorruption); + EXIT; + end; + end; { of case scan^} + scan := next; + end; { of while scan <> nil} + end; { of procedure FillFirstCharSet +--------------------------------------------------------------} +{$ENDIF} + +function TRegExpr.Exec (const AInputString : RegExprString) : boolean; + begin + InputString := AInputString; + Result := ExecPrim (1); + end; { of function TRegExpr.Exec +--------------------------------------------------------------} + +{$IFDEF OverMeth} +{$IFNDEF FPC} +function TRegExpr.Exec : boolean; + begin + Result := ExecPrim (1); + end; { of function TRegExpr.Exec +--------------------------------------------------------------} +{$ENDIF} +function TRegExpr.Exec (AOffset: integer) : boolean; + begin + Result := ExecPrim (AOffset); + end; { of function TRegExpr.Exec +--------------------------------------------------------------} +{$ENDIF} + +function TRegExpr.ExecPos (AOffset: integer {$IFDEF DefParam}= 1{$ENDIF}) : boolean; + begin + Result := ExecPrim (AOffset); + end; { of function TRegExpr.ExecPos +--------------------------------------------------------------} + +function TRegExpr.ExecPrim (AOffset: integer) : boolean; + procedure ClearMatchs; + // Clears matchs array + var i : integer; + begin + for i := 0 to NSUBEXP - 1 do begin + startp [i] := nil; + endp [i] := nil; + end; + end; { of procedure ClearMatchs; +..............................................................} + function RegMatch (str : PRegExprChar) : boolean; + // try match at specific point + begin + //###0.949 removed clearing of start\endp + reginput := str; + Result := MatchPrim (programm + REOpSz); + if Result then begin + startp [0] := str; + endp [0] := reginput; + end; + end; { of function RegMatch +..............................................................} + var + s : PRegExprChar; + StartPtr: PRegExprChar; + InputLen : integer; + begin + Result := false; // Be paranoid... + + ClearMatchs; //###0.949 + // ensure that Match cleared either if optimization tricks or some error + // will lead to leaving ExecPrim without actual search. That is + // importent for ExecNext logic and so on. + + if not IsProgrammOk //###0.929 + then EXIT; + + // Check InputString presence + if not Assigned (fInputString) then begin + Error (reeNoInpitStringSpecified); + EXIT; + end; + + InputLen := length (fInputString); + + //Check that the start position is not negative + if AOffset < 1 then begin + Error (reeOffsetMustBeGreaterThen0); + EXIT; + end; + // Check that the start position is not longer than the line + // If so then exit with nothing found + if AOffset > (InputLen + 1) // for matching empty string after last char. + then EXIT; + + StartPtr := fInputString + AOffset - 1; + + // If there is a "must appear" string, look for it. + if regmust <> nil then begin + s := StartPtr; + REPEAT + s := StrScan (s, regmust [0]); + if s <> nil then begin + if StrLComp (s, regmust, regmlen) = 0 + then BREAK; // Found it. + inc (s); + end; + UNTIL s = nil; + if s = nil // Not present. + then EXIT; + end; + + // Mark beginning of line for ^ . + fInputStart := fInputString; + + // Pointer to end of input stream - for + // pascal-style string processing (may include #0) + fInputEnd := fInputString + InputLen; + + {$IFDEF ComplexBraces} + // no loops started + LoopStackIdx := 0; //###0.925 + {$ENDIF} + + // Simplest case: anchored match need be tried only once. + if reganch <> #0 then begin + Result := RegMatch (StartPtr); + EXIT; + end; + + // Messy cases: unanchored match. + s := StartPtr; + if regstart <> #0 then // We know what char it must start with. + REPEAT + s := StrScan (s, regstart); + if s <> nil then begin + Result := RegMatch (s); + if Result + then EXIT + else ClearMatchs; //###0.949 + inc (s); + end; + UNTIL s = nil + else begin // We don't - general case. + repeat //###0.948 + {$IFDEF UseFirstCharSet} + if s^ in FirstCharSet + then Result := RegMatch (s); + {$ELSE} + Result := RegMatch (s); + {$ENDIF} + if Result or (s^ = #0) // Exit on a match or after testing the end-of-string. + then EXIT + else ClearMatchs; //###0.949 + inc (s); + until false; +(* optimized and fixed by Martin Fuller - empty strings + were not allowed to pass thru in UseFirstCharSet mode + {$IFDEF UseFirstCharSet} //###0.929 + while s^ <> #0 do begin + if s^ in FirstCharSet + then Result := RegMatch (s); + if Result + then EXIT; + inc (s); + end; + {$ELSE} + REPEAT + Result := RegMatch (s); + if Result + then EXIT; + inc (s); + UNTIL s^ = #0; + {$ENDIF} +*) + end; + // Failure + end; { of function TRegExpr.ExecPrim +--------------------------------------------------------------} + +function TRegExpr.ExecNext : boolean; + var offset : integer; + begin + Result := false; + if not Assigned (startp[0]) or not Assigned (endp[0]) then begin + Error (reeExecNextWithoutExec); + EXIT; + end; +// Offset := MatchPos [0] + MatchLen [0]; +// if MatchLen [0] = 0 + Offset := endp [0] - fInputString + 1; //###0.929 + if endp [0] = startp [0] //###0.929 + then inc (Offset); // prevent infinite looping if empty string match r.e. + Result := ExecPrim (Offset); + end; { of function TRegExpr.ExecNext +--------------------------------------------------------------} + +function TRegExpr.GetInputString : RegExprString; + begin + if not Assigned (fInputString) then begin + Error (reeGetInputStringWithoutInputString); + EXIT; + end; + Result := fInputString; + end; { of function TRegExpr.GetInputString +--------------------------------------------------------------} + +procedure TRegExpr.SetInputString (const AInputString : RegExprString); + var + Len : integer; + i : integer; + begin + // clear Match* - before next Exec* call it's undefined + for i := 0 to NSUBEXP - 1 do begin + startp [i] := nil; + endp [i] := nil; + end; + + // need reallocation of input string buffer ? + Len := length (AInputString); + if Assigned (fInputString) and (Length (fInputString) <> Len) then begin + FreeMem (fInputString); + fInputString := nil; + end; + // buffer [re]allocation + if not Assigned (fInputString) + then GetMem (fInputString, (Len + 1) * SizeOf (REChar)); + + // copy input string into buffer + {$IFDEF UniCode} + StrPCopy (fInputString, Copy (AInputString, 1, Len)); //###0.927 + {$ELSE} + StrLCopy (fInputString, PRegExprChar (AInputString), Len); + {$ENDIF} + + { + fInputString : string; + fInputStart, fInputEnd : PRegExprChar; + + SetInputString: + fInputString := AInputString; + UniqueString (fInputString); + fInputStart := PChar (fInputString); + Len := length (fInputString); + fInputEnd := PRegExprChar (integer (fInputStart) + Len); ?? + !! startp/endp âñå ðàâíî áóäåò îïàñíî èñïîëüçîâàòü ? + } + end; { of procedure TRegExpr.SetInputString +--------------------------------------------------------------} + +procedure TRegExpr.SetLineSeparators (const AStr : RegExprString); + begin + if AStr <> fLineSeparators then begin + fLineSeparators := AStr; + InvalidateProgramm; + end; + end; { of procedure TRegExpr.SetLineSeparators +--------------------------------------------------------------} + +procedure TRegExpr.SetLinePairedSeparator (const AStr : RegExprString); + begin + if length (AStr) = 2 then begin + if AStr [1] = AStr [2] then begin + // it's impossible for our 'one-point' checking to support + // two chars separator for identical chars + Error (reeBadLinePairedSeparator); + EXIT; + end; + if not fLinePairedSeparatorAssigned + or (AStr [1] <> fLinePairedSeparatorHead) + or (AStr [2] <> fLinePairedSeparatorTail) then begin + fLinePairedSeparatorAssigned := true; + fLinePairedSeparatorHead := AStr [1]; + fLinePairedSeparatorTail := AStr [2]; + InvalidateProgramm; + end; + end + else if length (AStr) = 0 then begin + if fLinePairedSeparatorAssigned then begin + fLinePairedSeparatorAssigned := false; + InvalidateProgramm; + end; + end + else Error (reeBadLinePairedSeparator); + end; { of procedure TRegExpr.SetLinePairedSeparator +--------------------------------------------------------------} + +function TRegExpr.GetLinePairedSeparator : RegExprString; + begin + if fLinePairedSeparatorAssigned then begin + {$IFDEF UniCode} + // Here is some UniCode 'magic' + // If You do know better decision to concatenate + // two WideChars, please, let me know! + Result := fLinePairedSeparatorHead; //###0.947 + Result := Result + fLinePairedSeparatorTail; + {$ELSE} + Result := fLinePairedSeparatorHead + fLinePairedSeparatorTail; + {$ENDIF} + end + else Result := ''; + end; { of function TRegExpr.GetLinePairedSeparator +--------------------------------------------------------------} + +function TRegExpr.Substitute (const ATemplate : RegExprString) : RegExprString; +// perform substitutions after a regexp match +// completely rewritten in 0.929 + var + TemplateLen : integer; + TemplateBeg, TemplateEnd : PRegExprChar; + p, p0, ResultPtr : PRegExprChar; + ResultLen : integer; + n : integer; + Ch : REChar; + function ParseVarName (var APtr : PRegExprChar) : integer; + // extract name of variable (digits, may be enclosed with + // curly braces) from APtr^, uses TemplateEnd !!! + const + Digits = ['0' .. '9']; + var + p : PRegExprChar; + Delimited : boolean; + begin + Result := 0; + p := APtr; + Delimited := (p < TemplateEnd) and (p^ = '{'); + if Delimited + then inc (p); // skip left curly brace + if (p < TemplateEnd) and (p^ = '&') + then inc (p) // this is '$&' or '${&}' + else + while (p < TemplateEnd) and + {$IFDEF UniCode} //###0.935 + (ord (p^) < 256) and (char (p^) in Digits) + {$ELSE} + (p^ in Digits) + {$ENDIF} + do begin + Result := Result * 10 + (ord (p^) - ord ('0')); //###0.939 + inc (p); + end; + if Delimited then + if (p < TemplateEnd) and (p^ = '}') + then inc (p) // skip right curly brace + else p := APtr; // isn't properly terminated + if p = APtr + then Result := -1; // no valid digits found or no right curly brace + APtr := p; + end; + begin + // Check programm and input string + if not IsProgrammOk + then EXIT; + if not Assigned (fInputString) then begin + Error (reeNoInpitStringSpecified); + EXIT; + end; + // Prepare for working + TemplateLen := length (ATemplate); + if TemplateLen = 0 then begin // prevent nil pointers + Result := ''; + EXIT; + end; + TemplateBeg := pointer (ATemplate); + TemplateEnd := TemplateBeg + TemplateLen; + // Count result length for speed optimization. + ResultLen := 0; + p := TemplateBeg; + while p < TemplateEnd do begin + Ch := p^; + inc (p); + if Ch = '$' + then n := ParseVarName (p) + else n := -1; + if n >= 0 then begin + if (n < NSUBEXP) and Assigned (startp [n]) and Assigned (endp [n]) + then inc (ResultLen, endp [n] - startp [n]); + end + else begin + if (Ch = EscChar) and (p < TemplateEnd) + then inc (p); // quoted or special char followed + inc (ResultLen); + end; + end; + // Get memory. We do it once and it significant speed up work ! + if ResultLen = 0 then begin + Result := ''; + EXIT; + end; + SetString (Result, nil, ResultLen); + // Fill Result + ResultPtr := pointer (Result); + p := TemplateBeg; + while p < TemplateEnd do begin + Ch := p^; + inc (p); + if Ch = '$' + then n := ParseVarName (p) + else n := -1; + if n >= 0 then begin + p0 := startp [n]; + if (n < NSUBEXP) and Assigned (p0) and Assigned (endp [n]) then + while p0 < endp [n] do begin + ResultPtr^ := p0^; + inc (ResultPtr); + inc (p0); + end; + end + else begin + if (Ch = EscChar) and (p < TemplateEnd) then begin // quoted or special char followed + Ch := p^; + inc (p); + end; + ResultPtr^ := Ch; + inc (ResultPtr); + end; + end; + end; { of function TRegExpr.Substitute +--------------------------------------------------------------} + +procedure TRegExpr.Split (AInputStr : RegExprString; APieces : TStrings); + var PrevPos : integer; + begin + PrevPos := 1; + if Exec (AInputStr) then + REPEAT + APieces.Add (System.Copy (AInputStr, PrevPos, MatchPos [0] - PrevPos)); + PrevPos := MatchPos [0] + MatchLen [0]; + UNTIL not ExecNext; + APieces.Add (System.Copy (AInputStr, PrevPos, MaxInt)); // Tail + end; { of procedure TRegExpr.Split +--------------------------------------------------------------} + +function TRegExpr.Replace (AInputStr : RegExprString; const AReplaceStr : RegExprString; + AUseSubstitution : boolean{$IFDEF DefParam}= False{$ENDIF}) : RegExprString; + var + PrevPos : integer; + begin + Result := ''; + PrevPos := 1; + if Exec (AInputStr) then + REPEAT + Result := Result + System.Copy (AInputStr, PrevPos, + MatchPos [0] - PrevPos); + if AUseSubstitution //###0.946 + then Result := Result + Substitute (AReplaceStr) + else Result := Result + AReplaceStr; + PrevPos := MatchPos [0] + MatchLen [0]; + UNTIL not ExecNext; + Result := Result + System.Copy (AInputStr, PrevPos, MaxInt); // Tail + end; { of function TRegExpr.Replace +--------------------------------------------------------------} + +function TRegExpr.ReplaceEx (AInputStr : RegExprString; + AReplaceFunc : TRegExprReplaceFunction) + : RegExprString; + var + PrevPos : integer; + begin + Result := ''; + PrevPos := 1; + if Exec (AInputStr) then + REPEAT + Result := Result + System.Copy (AInputStr, PrevPos, + MatchPos [0] - PrevPos) + + AReplaceFunc (Self); + PrevPos := MatchPos [0] + MatchLen [0]; + UNTIL not ExecNext; + Result := Result + System.Copy (AInputStr, PrevPos, MaxInt); // Tail + end; { of function TRegExpr.ReplaceEx +--------------------------------------------------------------} + + +{$IFDEF OverMeth} +function TRegExpr.Replace (AInputStr : RegExprString; + AReplaceFunc : TRegExprReplaceFunction) + : RegExprString; + begin + ReplaceEx (AInputStr, AReplaceFunc); + end; { of function TRegExpr.Replace +--------------------------------------------------------------} +{$ENDIF} + +{=============================================================} +{====================== Debug section ========================} +{=============================================================} + +{$IFDEF RegExpPCodeDump} +function TRegExpr.DumpOp (op : TREOp) : RegExprString; +// printable representation of opcode + begin + case op of + BOL: Result := 'BOL'; + EOL: Result := 'EOL'; + BOLML: Result := 'BOLML'; + EOLML: Result := 'EOLML'; + BOUND: Result := 'BOUND'; //###0.943 + NOTBOUND: Result := 'NOTBOUND'; //###0.943 + ANY: Result := 'ANY'; + ANYML: Result := 'ANYML'; //###0.941 + ANYLETTER: Result := 'ANYLETTER'; + NOTLETTER: Result := 'NOTLETTER'; + ANYDIGIT: Result := 'ANYDIGIT'; + NOTDIGIT: Result := 'NOTDIGIT'; + ANYSPACE: Result := 'ANYSPACE'; + NOTSPACE: Result := 'NOTSPACE'; + ANYOF: Result := 'ANYOF'; + ANYBUT: Result := 'ANYBUT'; + ANYOFCI: Result := 'ANYOF/CI'; + ANYBUTCI: Result := 'ANYBUT/CI'; + BRANCH: Result := 'BRANCH'; + EXACTLY: Result := 'EXACTLY'; + EXACTLYCI: Result := 'EXACTLY/CI'; + NOTHING: Result := 'NOTHING'; + COMMENT: Result := 'COMMENT'; + BACK: Result := 'BACK'; + EEND: Result := 'END'; + BSUBEXP: Result := 'BSUBEXP'; + BSUBEXPCI: Result := 'BSUBEXP/CI'; + Succ (OPEN) .. TREOp (Ord (OPEN) + NSUBEXP - 1): //###0.929 + Result := Format ('OPEN[%d]', [ord (op) - ord (OPEN)]); + Succ (CLOSE) .. TREOp (Ord (CLOSE) + NSUBEXP - 1): //###0.929 + Result := Format ('CLOSE[%d]', [ord (op) - ord (CLOSE)]); + STAR: Result := 'STAR'; + PLUS: Result := 'PLUS'; + BRACES: Result := 'BRACES'; + {$IFDEF ComplexBraces} + LOOPENTRY: Result := 'LOOPENTRY'; //###0.925 + LOOP: Result := 'LOOP'; //###0.925 + LOOPNG: Result := 'LOOPNG'; //###0.940 + {$ENDIF} + ANYOFTINYSET: Result:= 'ANYOFTINYSET'; + ANYBUTTINYSET:Result:= 'ANYBUTTINYSET'; + {$IFDEF UseSetOfChar} //###0.929 + ANYOFFULLSET: Result:= 'ANYOFFULLSET'; + {$ENDIF} + STARNG: Result := 'STARNG'; //###0.940 + PLUSNG: Result := 'PLUSNG'; //###0.940 + BRACESNG: Result := 'BRACESNG'; //###0.940 + else Error (reeDumpCorruptedOpcode); + end; {of case op} + Result := ':' + Result; + end; { of function TRegExpr.DumpOp +--------------------------------------------------------------} + +function TRegExpr.Dump : RegExprString; +// dump a regexp in vaguely comprehensible form + var + s : PRegExprChar; + op : TREOp; // Arbitrary non-END op. + next : PRegExprChar; + i : integer; + Diff : integer; +{$IFDEF UseSetOfChar} //###0.929 + Ch : REChar; +{$ENDIF} + begin + if not IsProgrammOk //###0.929 + then EXIT; + + op := EXACTLY; + Result := ''; + s := programm + REOpSz; + while op <> EEND do begin // While that wasn't END last time... + op := s^; + Result := Result + Format ('%2d%s', [s - programm, DumpOp (s^)]); // Where, what. + next := regnext (s); + if next = nil // Next ptr. + then Result := Result + ' (0)' + else begin + if next > s //###0.948 PWideChar subtraction workaround (see comments in Tail method for details) + then Diff := next - s + else Diff := - (s - next); + Result := Result + Format (' (%d) ', [(s - programm) + Diff]); + end; + inc (s, REOpSz + RENextOffSz); + if (op = ANYOF) or (op = ANYOFCI) or (op = ANYBUT) or (op = ANYBUTCI) + or (op = EXACTLY) or (op = EXACTLYCI) then begin + // Literal string, where present. + while s^ <> #0 do begin + Result := Result + s^; + inc (s); + end; + inc (s); + end; + if (op = ANYOFTINYSET) or (op = ANYBUTTINYSET) then begin + for i := 1 to TinySetLen do begin + Result := Result + s^; + inc (s); + end; + end; + if (op = BSUBEXP) or (op = BSUBEXPCI) then begin + Result := Result + ' \' + IntToStr (Ord (s^)); + inc (s); + end; + {$IFDEF UseSetOfChar} //###0.929 + if op = ANYOFFULLSET then begin + for Ch := #0 to #255 do + if Ch in PSetOfREChar (s)^ then + if Ch < ' ' + then Result := Result + '#' + IntToStr (Ord (Ch)) //###0.936 + else Result := Result + Ch; + inc (s, SizeOf (TSetOfREChar)); + end; + {$ENDIF} + if (op = BRACES) or (op = BRACESNG) then begin //###0.941 + // show min/max argument of BRACES operator + Result := Result + Format ('{%d,%d}', [PREBracesArg (s)^, PREBracesArg (s + REBracesArgSz)^]); + inc (s, REBracesArgSz * 2); + end; + {$IFDEF ComplexBraces} + if (op = LOOP) or (op = LOOPNG) then begin //###0.940 + Result := Result + Format (' -> (%d) {%d,%d}', [ + (s - programm - (REOpSz + RENextOffSz)) + PRENextOff (s + 2 * REBracesArgSz)^, + PREBracesArg (s)^, PREBracesArg (s + REBracesArgSz)^]); + inc (s, 2 * REBracesArgSz + RENextOffSz); + end; + {$ENDIF} + Result := Result + #$d#$a; + end; { of while} + + // Header fields of interest. + + if regstart <> #0 + then Result := Result + 'start ' + regstart; + if reganch <> #0 + then Result := Result + 'anchored '; + if regmust <> nil + then Result := Result + 'must have ' + regmust; + {$IFDEF UseFirstCharSet} //###0.929 + Result := Result + #$d#$a'FirstCharSet:'; + for Ch := #0 to #255 do + if Ch in FirstCharSet + then begin + if Ch < ' ' + then Result := Result + '#' + IntToStr(Ord(Ch)) //###0.948 + else Result := Result + Ch; + end; + {$ENDIF} + Result := Result + #$d#$a; + end; { of function TRegExpr.Dump +--------------------------------------------------------------} +{$ENDIF} + +{$IFDEF reRealExceptionAddr} +{$OPTIMIZATION ON} +// ReturnAddr works correctly only if compiler optimization is ON +// I placed this method at very end of unit because there are no +// way to restore compiler optimization flag ... +{$ENDIF} +procedure TRegExpr.Error (AErrorID : integer); +{$IFDEF reRealExceptionAddr} + function ReturnAddr : pointer; //###0.938 + asm + mov eax,[ebp+4] + end; +{$ENDIF} + var + e : ERegExpr; + begin + fLastError := AErrorID; // dummy stub - useless because will raise exception + if AErrorID < 1000 // compilation error ? + then e := ERegExpr.Create (ErrorMsg (AErrorID) // yes - show error pos + + ' (pos ' + IntToStr (CompilerErrorPos) + ')') + else e := ERegExpr.Create (ErrorMsg (AErrorID)); + e.ErrorCode := AErrorID; + e.CompilerErrorPos := CompilerErrorPos; + raise e + {$IFDEF reRealExceptionAddr} + At ReturnAddr; //###0.938 + {$ENDIF} + end; { of procedure TRegExpr.Error +--------------------------------------------------------------} + +(* + PCode persistence: + FirstCharSet + programm, regsize + regstart // -> programm + reganch // -> programm + regmust, regmlen // -> programm + fExprIsCompiled +*) + +// be carefull - placed here code will be always compiled with +// compiler optimization flag + +{$IFDEF FPC} +initialization + RegExprInvertCaseFunction := TRegExpr.InvertCaseFunction; + +{$ENDIF} +end. + diff --git a/Source/Servidor/Services/EDI_Inventary/EDI_Inventary_Impl.dfm b/Source/Servidor/Services/EDI_Inventary/EDI_Inventary_Impl.dfm index 9f4725f..31a1551 100644 --- a/Source/Servidor/Services/EDI_Inventary/EDI_Inventary_Impl.dfm +++ b/Source/Servidor/Services/EDI_Inventary/EDI_Inventary_Impl.dfm @@ -3,8 +3,10 @@ object EDI_Inventary: TEDI_Inventary SessionManager = dmServer.SessionManager ServiceSchema = dmEDIInventary.schEDIInventary ServiceAdapter = DABINAdapter - Left = 819 - Top = 267 + OnAfterProcessTransactionAction = pptaNone + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] Height = 295 Width = 296 object DABINAdapter: TDABINAdapter diff --git a/Source/Servidor/Services/EDI_Inventary/EDI_Inventary_Impl.pas b/Source/Servidor/Services/EDI_Inventary/EDI_Inventary_Impl.pas index 0f7a8ad..4c9f420 100644 --- a/Source/Servidor/Services/EDI_Inventary/EDI_Inventary_Impl.pas +++ b/Source/Servidor/Services/EDI_Inventary/EDI_Inventary_Impl.pas @@ -13,8 +13,8 @@ uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, {Ancestor Implementation:} DARemoteService_Impl, - {Used RODLs:} DataAbstract_Intf, - {Generated:} VARELA_Intf, uDADataTable, uDABINAdapter; + {Used RODLs:} DataAbstract3_Intf, + {Generated:} VARELA_Intf, uDADataTable, uDABINAdapter, uDADataStreamer; type { TEDI_Inventary } diff --git a/Source/Servidor/Services/EDI_Inventary/uDataModuleEDI_Inventary.dfm b/Source/Servidor/Services/EDI_Inventary/uDataModuleEDI_Inventary.dfm index f9577a6..164e687 100644 --- a/Source/Servidor/Services/EDI_Inventary/uDataModuleEDI_Inventary.dfm +++ b/Source/Servidor/Services/EDI_Inventary/uDataModuleEDI_Inventary.dfm @@ -1,7 +1,5 @@ object dmEDIInventary: TdmEDIInventary OldCreateOrder = False - Left = 707 - Top = 414 Height = 185 Width = 396 object schEDIInventary: TDASchema @@ -73,6 +71,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -85,6 +84,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -97,6 +97,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -109,6 +110,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -120,6 +122,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -132,6 +135,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -144,6 +148,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -156,6 +161,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -168,6 +174,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -180,6 +187,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> @@ -263,6 +271,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -275,6 +284,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -287,6 +297,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -299,6 +310,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -311,6 +323,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -323,6 +336,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -335,6 +349,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -347,6 +362,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -359,6 +375,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -371,6 +388,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -383,6 +401,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -395,6 +414,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -407,6 +427,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> @@ -477,6 +498,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -489,6 +511,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -501,6 +524,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -512,6 +536,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -523,6 +548,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -535,6 +561,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -547,6 +574,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -559,6 +587,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -571,6 +600,7 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -582,12 +612,15 @@ object dmEDIInventary: TdmEDIInventary Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> BusinessRulesClient.ScriptLanguage = rslPascalScript BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = < item Params = < @@ -938,6 +971,7 @@ object dmEDIInventary: TdmEDIInventary MasterFields = 'NUMDOC' DetailDatasetName = 'RDX_LININV' DetailFields = 'NUMDOC' + RelationshipType = rtForeignKey end item Name = 'FK_RDX_CANTINV_RDX_LININV' @@ -945,6 +979,7 @@ object dmEDIInventary: TdmEDIInventary MasterFields = 'NUMDOC;NUMLIN' DetailDatasetName = 'RDX_CANTINV' DetailFields = 'NUMDOC;NUMLIN' + RelationshipType = rtForeignKey end> UpdateRules = < item @@ -953,7 +988,7 @@ object dmEDIInventary: TdmEDIInventary DoInsert = True DoDelete = False DatasetName = 'RDX_CABINV' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Insert RDX_LININV' @@ -961,7 +996,7 @@ object dmEDIInventary: TdmEDIInventary DoInsert = True DoDelete = False DatasetName = 'RDX_LININV' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Insert RDX_CANTINV' @@ -969,7 +1004,7 @@ object dmEDIInventary: TdmEDIInventary DoInsert = True DoDelete = False DatasetName = 'RDX_CANTINV' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Update RDX_CABINV' @@ -977,7 +1012,7 @@ object dmEDIInventary: TdmEDIInventary DoInsert = False DoDelete = False DatasetName = 'RDX_CABINV' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Update RDX_LININV' @@ -985,7 +1020,7 @@ object dmEDIInventary: TdmEDIInventary DoInsert = False DoDelete = False DatasetName = 'RDX_LININV' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Update RDX_CANTINV' @@ -993,7 +1028,7 @@ object dmEDIInventary: TdmEDIInventary DoInsert = False DoDelete = False DatasetName = 'RDX_CANTINV' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Delete RDX_CANTINV' @@ -1001,7 +1036,7 @@ object dmEDIInventary: TdmEDIInventary DoInsert = False DoDelete = True DatasetName = 'RDX_CANTINV' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Delete RDX_LININV' @@ -1009,7 +1044,7 @@ object dmEDIInventary: TdmEDIInventary DoInsert = False DoDelete = True DatasetName = 'RDX_LININV' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Delete RDX_CABINV' @@ -1017,8 +1052,9 @@ object dmEDIInventary: TdmEDIInventary DoInsert = False DoDelete = True DatasetName = 'RDX_CABINV' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end> + Version = 0 Left = 56 Top = 16 end diff --git a/Source/Servidor/Services/EDI_Sales/EDI_Sales_Impl.dfm b/Source/Servidor/Services/EDI_Sales/EDI_Sales_Impl.dfm index 8e9f4e8..2638b6c 100644 --- a/Source/Servidor/Services/EDI_Sales/EDI_Sales_Impl.dfm +++ b/Source/Servidor/Services/EDI_Sales/EDI_Sales_Impl.dfm @@ -4,8 +4,10 @@ object EDI_Sales: TEDI_Sales ConnectionName = 'GFT_VARELA' ServiceSchema = dmEDISales.schEDISales ServiceAdapter = DABINAdapter - Left = 683 - Top = 321 + OnAfterProcessTransactionAction = pptaNone + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] Height = 297 Width = 298 object DABINAdapter: TDABINAdapter diff --git a/Source/Servidor/Services/EDI_Sales/EDI_Sales_Impl.pas b/Source/Servidor/Services/EDI_Sales/EDI_Sales_Impl.pas index 9ce6e3b..f7d8bc9 100644 --- a/Source/Servidor/Services/EDI_Sales/EDI_Sales_Impl.pas +++ b/Source/Servidor/Services/EDI_Sales/EDI_Sales_Impl.pas @@ -13,9 +13,9 @@ uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, {Ancestor Implementation:} DARemoteService_Impl, - {Used RODLs:} DataAbstract_Intf, + {Used RODLs:} DataAbstract3_Intf, {Generated:} VARELA_Intf, uDAClasses, uDAScriptingProvider, uDADataTable, - uDACDSDataTable, uDABusinessProcessor, uDABINAdapter; + uDACDSDataTable, uDABusinessProcessor, uDABINAdapter, uDADataStreamer; type { TEDI_Sales } diff --git a/Source/Servidor/Services/EDI_Sales/uDataModuleEDI_Sales.dfm b/Source/Servidor/Services/EDI_Sales/uDataModuleEDI_Sales.dfm index 9385b90..571803f 100644 --- a/Source/Servidor/Services/EDI_Sales/uDataModuleEDI_Sales.dfm +++ b/Source/Servidor/Services/EDI_Sales/uDataModuleEDI_Sales.dfm @@ -1,7 +1,5 @@ object dmEDISales: TdmEDISales OldCreateOrder = False - Left = 726 - Top = 575 Height = 184 Width = 379 object schEDISales: TDASchema @@ -233,6 +231,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -244,6 +243,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -255,6 +255,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -267,6 +268,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -279,6 +281,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -291,6 +294,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -303,6 +307,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -315,6 +320,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -327,6 +333,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -339,6 +346,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -351,6 +359,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -363,6 +372,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -375,6 +385,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -387,6 +398,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -398,6 +410,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -409,6 +422,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -420,6 +434,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -431,6 +446,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -442,6 +458,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -453,6 +470,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -464,6 +482,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -475,6 +494,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -486,6 +506,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -497,6 +518,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -508,6 +530,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -519,6 +542,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -531,6 +555,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -542,6 +567,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -554,6 +580,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -565,6 +592,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -577,6 +605,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -588,6 +617,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -600,6 +630,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -611,6 +642,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -623,6 +655,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -634,6 +667,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -645,6 +679,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -656,6 +691,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -668,6 +704,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -680,6 +717,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -692,6 +730,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -703,6 +742,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -715,6 +755,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -727,6 +768,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -739,6 +781,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -750,6 +793,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -762,6 +806,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -773,6 +818,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -785,6 +831,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> @@ -995,6 +1042,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1007,6 +1055,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1019,6 +1068,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1030,6 +1080,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1041,6 +1092,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1052,6 +1104,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1063,6 +1116,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1074,6 +1128,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1086,6 +1141,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1098,6 +1154,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1110,6 +1167,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1122,6 +1180,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1134,6 +1193,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1146,6 +1206,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1158,6 +1219,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1170,6 +1232,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1182,6 +1245,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1194,6 +1258,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1206,6 +1271,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1218,6 +1284,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1230,6 +1297,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1242,6 +1310,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1254,6 +1323,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1266,6 +1336,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1278,6 +1349,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1290,6 +1362,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1302,6 +1375,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1314,6 +1388,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1326,6 +1401,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1338,6 +1414,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1350,6 +1427,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1362,6 +1440,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1373,6 +1452,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1384,6 +1464,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1395,6 +1476,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1407,6 +1489,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1419,6 +1502,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1431,6 +1515,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1443,6 +1528,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1455,6 +1541,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1467,6 +1554,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1478,6 +1566,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1489,6 +1578,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1500,6 +1590,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> @@ -1560,6 +1651,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1571,6 +1663,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1583,6 +1676,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1595,6 +1689,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1606,6 +1701,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1617,6 +1713,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1628,6 +1725,7 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -1639,12 +1737,15 @@ object dmEDISales: TdmEDISales Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> BusinessRulesClient.ScriptLanguage = rslPascalScript BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = < item Params = < @@ -2508,6 +2609,7 @@ object dmEDISales: TdmEDISales MasterFields = 'CLAVE1' DetailDatasetName = 'RDX_LUGVEN' DetailFields = 'CLAVE1' + RelationshipType = rtForeignKey end item Name = 'FK_RDX_ARTVEN_RDX_LUGVEN' @@ -2515,6 +2617,7 @@ object dmEDISales: TdmEDISales MasterFields = 'CLAVE1;CLAVE2' DetailDatasetName = 'RDX_ARTVEN' DetailFields = 'CLAVE1;CLAVE2' + RelationshipType = rtForeignKey end> UpdateRules = < item @@ -2523,7 +2626,7 @@ object dmEDISales: TdmEDISales DoInsert = True DoDelete = False DatasetName = 'RDX_CABVEN' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Insert RDX_LUGVEN' @@ -2531,7 +2634,7 @@ object dmEDISales: TdmEDISales DoInsert = True DoDelete = False DatasetName = 'RDX_LUGVEN' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Insert RDX_ARTVEN' @@ -2539,7 +2642,7 @@ object dmEDISales: TdmEDISales DoInsert = True DoDelete = False DatasetName = 'RDX_ARTVEN' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Update RDX_CABVEN' @@ -2547,7 +2650,7 @@ object dmEDISales: TdmEDISales DoInsert = False DoDelete = False DatasetName = 'RDX_CABVEN' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Update RDX_LUGVEN' @@ -2555,7 +2658,7 @@ object dmEDISales: TdmEDISales DoInsert = False DoDelete = False DatasetName = 'RDX_LUGVEN' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Update RDX_ARTVEN' @@ -2563,7 +2666,7 @@ object dmEDISales: TdmEDISales DoInsert = False DoDelete = False DatasetName = 'RDX_ARTVEN' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Delete RDX_ARTVEN' @@ -2571,7 +2674,7 @@ object dmEDISales: TdmEDISales DoInsert = False DoDelete = True DatasetName = 'RDX_ARTVEN' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Delete RDX_LUGVEN' @@ -2579,7 +2682,7 @@ object dmEDISales: TdmEDISales DoInsert = False DoDelete = True DatasetName = 'RDX_LUGVEN' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end item Name = 'Delete RDX_CABVEN' @@ -2587,8 +2690,9 @@ object dmEDISales: TdmEDISales DoInsert = False DoDelete = True DatasetName = 'RDX_CABVEN' - FailureBehaviour = fbRaiseException + FailureBehavior = fbRaiseException end> + Version = 0 Left = 48 Top = 16 end diff --git a/Source/Servidor/Services/Login/srvLogin_Impl.dfm b/Source/Servidor/Services/Login/srvLogin_Impl.dfm index 72a1cd5..a3e035b 100644 --- a/Source/Servidor/Services/Login/srvLogin_Impl.dfm +++ b/Source/Servidor/Services/Login/srvLogin_Impl.dfm @@ -3,11 +3,12 @@ object srvLogin: TsrvLogin SessionManager = dmServer.SessionManager AcquireConnection = True ServiceSchema = schLogin - ServiceAdapter = DABINAdapter - Left = 906 - Top = 591 - Height = 211 - Width = 185 + OnAfterProcessTransactionAction = pptaNone + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] + Height = 220 + Width = 339 object schLogin: TDASchema ConnectionManager = dmServer.ConnectionManager DataDictionary = dmServer.DataDictionary @@ -19,19 +20,20 @@ object srvLogin: TsrvLogin Name = 'USERID' DataType = datString BlobType = dabtUnknown - Value = '' + Value = 'zeus' ParamType = daptInput end item Name = 'PASSWORD' DataType = datString BlobType = dabtUnknown - Value = '' + Value = 'zvg' ParamType = daptInput end> Statements = < item Connection = 'GFT_VARELA' + TargetTable = 'USUARIOS' SQL = 'SELECT'#10' CLAVE AS ID, PASSW AS PASS'#10' FROM'#10' USUARIOS'#10' WH' + 'ERE CLAVE = :USERID AND'#10' PASSW = :PASSWORD;' @@ -39,11 +41,13 @@ object srvLogin: TsrvLogin ColumnMappings = < item DatasetField = 'ID' - TableField = 'ID' + TableField = 'CLAVE' + SQLOrigin = 'ID' end item DatasetField = 'PASS' - TableField = 'PASS' + TableField = 'PASSW' + SQLOrigin = 'PASS' end> end> Name = 'GetLoginInfo' @@ -51,96 +55,44 @@ object srvLogin: TsrvLogin item Name = 'ID' DataType = datString - Size = 8 + Size = 12 BlobType = dabtUnknown DisplayWidth = 0 Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end item Name = 'PASS' DataType = datString - Size = 10 + Size = 12 BlobType = dabtUnknown DisplayWidth = 0 Alignment = taLeftJustify InPrimaryKey = False Calculated = False - Lookup = False - LookupCache = False - end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript - end - item - Params = <> - Statements = < - item - Connection = 'IBX' - TargetTable = 'USUARIOS' - SQL = 'SELECT '#10' ID'#10' FROM'#10' USUARIOS' - StatementType = stSQL - ColumnMappings = < - item - DatasetField = 'ID' - TableField = 'ID' - end> - end> - Name = 'Usuarios' - Fields = < - item - Name = 'ID' - DataType = datString - Size = 8 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = True - Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> BusinessRulesClient.ScriptLanguage = rslPascalScript BusinessRulesServer.ScriptLanguage = rslPascalScript end> - Commands = < - item - Params = < - item - Name = 'PASSWORD' - DataType = datString - BlobType = dabtUnknown - Value = '' - ParamType = daptInput - end - item - Name = 'USERID' - DataType = datString - BlobType = dabtUnknown - Value = '' - ParamType = daptInput - end> - Statements = < - item - Connection = 'IBX' - TargetTable = 'USUARIOS' - SQL = - 'UPDATE'#10' USUARIOS'#10' SET'#10' PASS = :PASSWORD'#10' WHERE'#10' ID = ' + - ':USERID' - StatementType = stSQL - ColumnMappings = <> - end> - Name = 'SetUserPassword' - end> + JoinDataTables = <> + UnionDataTables = <> + Commands = <> RelationShips = <> UpdateRules = <> + Version = 0 Left = 56 Top = 24 end object DABINAdapter: TDABINAdapter + BufferSize = 262144 + IsCompatibleV4 = True Left = 56 Top = 96 end diff --git a/Source/Servidor/Services/Login/srvLogin_Impl.pas b/Source/Servidor/Services/Login/srvLogin_Impl.pas index d065f76..901804b 100644 --- a/Source/Servidor/Services/Login/srvLogin_Impl.pas +++ b/Source/Servidor/Services/Login/srvLogin_Impl.pas @@ -12,14 +12,15 @@ interface uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, - {Required:} uRORemoteDataModule, uDAInterfaces, DARemoteService_Impl, DataAbstract_Intf, - {Generated:} VARELA_Intf, uDAClasses, uDADataTable, uDABINAdapter; + {Required:} uRORemoteDataModule, uDAInterfaces, DARemoteService_Impl, DataAbstract3_Intf, + {Generated:} VARELA_Intf, uDAClasses, uDADataTable, uDABINAdapter, + uDADataStreamer; type { TsrvLogin } TsrvLogin = class(TDARemoteService, IsrvLogin) - schLogin: TDASchema; DABINAdapter: TDABINAdapter; + schLogin: TDASchema; private protected function Login(const UserID: String; const Password: String; out LoginInfo: TLoginInfo): Boolean; @@ -46,16 +47,22 @@ end; function TsrvLogin.Login(const UserID, Password: String; out LoginInfo: TLoginInfo): Boolean; var - dsUserInfo, - dsRoles, - dsPrivilegios : IDADataset; + dsUserInfo : IDADataset; begin LoginInfo := NIL; Result := False; - dsUserInfo := schLogin.NewDataset(Connection, 'GetLoginInfo', ['UserID', 'Password'], [UserID, Password]); + dsUserInfo := schLogin.NewDataset(Connection, 'GetLoginInfo'); + with dsUserInfo do + begin + ParamByName('UserID').AsString := UserID; + ParamByName('Password').AsString := Password; + Open; + end; - if (dsUserInfo.RecordCount = 1) then + //dsUserInfo := schLogin.NewDataset(Connection, 'GetLoginInfo', ['UserID', 'Password'], [UserID, Password]); + + if not (dsUserInfo.IsEmpty) then try Result := TRUE; diff --git a/Source/Servidor/Services/TransferenciaFicheros/srvTransfereciaFicheros_Impl.dfm b/Source/Servidor/Services/TransferenciaFicheros/srvTransfereciaFicheros_Impl.dfm index cf19f5a..51978be 100644 --- a/Source/Servidor/Services/TransferenciaFicheros/srvTransfereciaFicheros_Impl.dfm +++ b/Source/Servidor/Services/TransferenciaFicheros/srvTransfereciaFicheros_Impl.dfm @@ -1,8 +1,6 @@ object srvTransfereciaFicheros: TsrvTransfereciaFicheros OldCreateOrder = True SessionManager = dmServer.SessionManager - Left = 630 - Top = 478 Height = 292 Width = 296 end diff --git a/Source/Servidor/Services/TransferenciaFicheros/srvTransfereciaFicheros_Impl.pas b/Source/Servidor/Services/TransferenciaFicheros/srvTransfereciaFicheros_Impl.pas index b8a055b..5c48ec2 100644 --- a/Source/Servidor/Services/TransferenciaFicheros/srvTransfereciaFicheros_Impl.pas +++ b/Source/Servidor/Services/TransferenciaFicheros/srvTransfereciaFicheros_Impl.pas @@ -13,7 +13,7 @@ uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, {Required:} uRORemoteDataModule, - {Used RODLs:} DataAbstract_Intf, + {Used RODLs:} DataAbstract3_Intf, {Generated:} VARELA_Intf; type diff --git a/Source/Servidor/VARELA.RODL b/Source/Servidor/VARELA.RODL index fa93edd..32036dc 100644 --- a/Source/Servidor/VARELA.RODL +++ b/Source/Servidor/VARELA.RODL @@ -1,3 +1,4 @@ + @@ -114,17 +115,17 @@ - + - - - + + + @@ -222,11 +223,11 @@ - - - + + + @@ -372,6 +373,6 @@ - + diff --git a/Source/Servidor/VARELA_Intf.pas b/Source/Servidor/VARELA_Intf.pas index 961eb29..e80b443 100644 --- a/Source/Servidor/VARELA_Intf.pas +++ b/Source/Servidor/VARELA_Intf.pas @@ -8,16 +8,19 @@ unit VARELA_Intf; { unit is regenerated the next time you compile the project. } {----------------------------------------------------------------------------} +{$I Remobjects.inc} + interface uses {vcl:} Classes, TypInfo, - {RemObjects:} uROClasses, uROClient, uROTypes, uROClientIntf, - {Used RODLs:} DataAbstract_Intf; + {RemObjects:} uROXMLIntf, uROClasses, uROClient, uROTypes, uROClientIntf, + {Used RODLs:} DataAbstract3_Intf; const { Library ID } LibraryUID = '{AD45905A-2C7F-4295-A913-3D4F93CE82CF}'; + TargetNamespace = ''; { Service Interface ID's } IEDI_Inventary_IID : TGUID = '{079CAD81-712F-48D0-ACD9-3677BBB9B2AD}'; @@ -67,6 +70,8 @@ type function GetRoles: TDAStringArray; public procedure Assign(iSource: TPersistent); override; + procedure ReadComplex(ASerializer: TObject); override; + procedure WriteComplex(ASerializer: TObject); override; published property Roles:TDAStringArray read GetRoles write fRoles; end; @@ -75,8 +80,8 @@ type TLoginInfoCollection = class(TDALoginInfoCollection) protected constructor Create(aItemClass: TCollectionItemClass); overload; - function GetItems(Index: integer): TLoginInfo; - procedure SetItems(Index: integer; const Value: TLoginInfo); + function GetItems(aIndex: integer): TLoginInfo; + procedure SetItems(aIndex: integer; const Value: TLoginInfo); public constructor Create; overload; function Add: TLoginInfo; reintroduce; @@ -151,7 +156,7 @@ type { IsrvVentasTerminadas } IsrvVentasTerminadas = interface(IDARemoteService) ['{755D5EC4-06FD-4C26-BCD1-5C8F112B18A1}'] - function GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary; + function GetDataEx(const DatasetName: String; const Columns: String; const Params: String; const MaxRecords: Integer): Binary; function GetSchema(const DatasetName: String; const Columns: String): Binary; function GetDataCrossTab(const FechaIni: String; const FechaFin: String; const Coleccion: String): Binary; function GetSchemaCrossTab(const FechaIni: String; const FechaFin: String; const Coleccion: String): Binary; @@ -167,7 +172,7 @@ type protected function __GetInterfaceName:string; override; - function GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary; + function GetDataEx(const DatasetName: String; const Columns: String; const Params: String; const MaxRecords: Integer): Binary; function GetSchema(const DatasetName: String; const Columns: String): Binary; function GetDataCrossTab(const FechaIni: String; const FechaFin: String; const Coleccion: String): Binary; function GetSchemaCrossTab(const FechaIni: String; const FechaFin: String; const Coleccion: String): Binary; @@ -231,7 +236,7 @@ type { IsrvVentasEnProceso } IsrvVentasEnProceso = interface(IDARemoteService) ['{1ADA4BDF-C8B6-4CD7-910B-EDB44C10ABDB}'] - function GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary; + function GetData(const DatasetName: String; const Columns: String; const Params: String; const MaxRecords: Integer): Binary; function GetSchema(const DatasetName: String; const Columns: String): Binary; end; @@ -245,7 +250,7 @@ type protected function __GetInterfaceName:string; override; - function GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary; + function GetData(const DatasetName: String; const Columns: String; const Params: String; const MaxRecords: Integer): Binary; function GetSchema(const DatasetName: String; const Columns: String): Binary; end; @@ -380,16 +385,16 @@ implementation uses {vcl:} SysUtils, - {RemObjects:} uROEventRepository, uRORes; + {RemObjects:} uROEventRepository, uROSerializer, uRORes; { TLoginInfo } procedure TLoginInfo.Assign(iSource: TPersistent); -var lSource:TLoginInfo; +var lSource: VARELA_Intf.TLoginInfo; begin inherited Assign(iSource); - if (iSource is TLoginInfo) then begin - lSource := TLoginInfo(iSource); + if (iSource is VARELA_Intf.TLoginInfo) then begin + lSource := VARELA_Intf.TLoginInfo(iSource); Roles.Assign(lSource.Roles); end; end; @@ -400,6 +405,78 @@ begin result := fRoles; end; +procedure TLoginInfo.ReadComplex(ASerializer: TObject); +var + l_Attributes: TDAStringArray; + l_Data: Binary; + l_Privileges: TDAStringArray; + l_Roles: TDAStringArray; + l_SessionID: String; + l_UserID: String; +begin + if TROSerializer(ASerializer).RecordStrictOrder then begin + inherited; + l_Roles := Roles; + TROSerializer(ASerializer).ReadArray('Roles', TDAStringArray, l_Roles); + if Roles <> l_Roles then Roles.Free; + Roles := l_Roles; + end + else begin + l_Attributes := Attributes; + TROSerializer(ASerializer).ReadArray('Attributes', TDAStringArray, l_Attributes); + if Attributes <> l_Attributes then Attributes.Free; + Attributes := l_Attributes; + l_Data := Data; + TROSerializer(ASerializer).ReadBinary('Data', l_Data); + if Data <> l_Data then Data.Free; + Data := l_Data; + l_Privileges := Privileges; + TROSerializer(ASerializer).ReadArray('Privileges', TDAStringArray, l_Privileges); + if Privileges <> l_Privileges then Privileges.Free; + Privileges := l_Privileges; + l_Roles := Roles; + TROSerializer(ASerializer).ReadArray('Roles', TDAStringArray, l_Roles); + if Roles <> l_Roles then Roles.Free; + Roles := l_Roles; + l_SessionID := SessionID; + TROSerializer(ASerializer).ReadUTF8String('SessionID', l_SessionID); + SessionID := l_SessionID; + l_UserID := UserID; + TROSerializer(ASerializer).ReadUTF8String('UserID', l_UserID); + UserID := l_UserID; + end; +end; + +procedure TLoginInfo.WriteComplex(ASerializer: TObject); +var + l_Attributes: TDAStringArray; + l_Data: Binary; + l_Privileges: TDAStringArray; + l_Roles: TDAStringArray; + l_SessionID: String; + l_UserID: String; +begin + if TROSerializer(ASerializer).RecordStrictOrder then begin + inherited; + l_Roles := Roles; + TROSerializer(ASerializer).WriteArray('Roles', l_Roles); + end + else begin + l_Attributes := Attributes; + TROSerializer(ASerializer).WriteArray('Attributes', l_Attributes); + l_Data := Data; + TROSerializer(ASerializer).WriteBinary('Data', l_Data); + l_Privileges := Privileges; + TROSerializer(ASerializer).WriteArray('Privileges', l_Privileges); + l_Roles := Roles; + TROSerializer(ASerializer).WriteArray('Roles', l_Roles); + l_SessionID := SessionID; + TROSerializer(ASerializer).WriteUTF8String('SessionID', l_SessionID); + l_UserID := UserID; + TROSerializer(ASerializer).WriteUTF8String('UserID', l_UserID); + end; +end; + { TLoginInfoCollection } constructor TLoginInfoCollection.Create; begin @@ -416,14 +493,14 @@ begin result := TLoginInfo(inherited Add); end; -function TLoginInfoCollection.GetItems(Index: integer): TLoginInfo; +function TLoginInfoCollection.GetItems(aIndex: integer): TLoginInfo; begin - result := TLoginInfo(inherited Items[Index]); + result := TLoginInfo(inherited Items[aIndex]); end; -procedure TLoginInfoCollection.SetItems(Index: integer; const Value: TLoginInfo); +procedure TLoginInfoCollection.SetItems(aIndex: integer; const Value: TLoginInfo); begin - TLoginInfo(inherited Items[Index]).Assign(Value); + TLoginInfo(inherited Items[aIndex]).Assign(Value); end; { CoEDI_Inventary } @@ -441,28 +518,21 @@ begin end; function TEDI_Inventary_Proxy.CargarFicheroEDI(const FicheroCAB: String; const FicheroLIN: String; const FicheroCANT: String; out MsgError: String): Boolean; -var - __request, __response : TMemoryStream; begin - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'CargarFicheroEDI'); - __Message.Write('FicheroCAB', TypeInfo(String), FicheroCAB, []); - __Message.Write('FicheroLIN', TypeInfo(String), FicheroLIN, []); - __Message.Write('FicheroCANT', TypeInfo(String), FicheroCANT, []); - __Message.Finalize; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'CargarFicheroEDI'); + __Message.Write('FicheroCAB', TypeInfo(String), FicheroCAB, []); + __Message.Write('FicheroLIN', TypeInfo(String), FicheroLIN, []); + __Message.Write('FicheroCANT', TypeInfo(String), FicheroCANT, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); - __Message.Read('Result', TypeInfo(Boolean), result, []); - __Message.Read('MsgError', TypeInfo(String), MsgError, []); + __Message.Read('Result', TypeInfo(Boolean), result, []); + __Message.Read('MsgError', TypeInfo(String), MsgError, []); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; @@ -481,28 +551,21 @@ begin end; function TEDI_Sales_Proxy.CargarFicheroEDI(const FicheroCAB: String; const FicheroLUG: String; const FicheroART: String; out MsgError: String): Boolean; -var - __request, __response : TMemoryStream; begin - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'CargarFicheroEDI'); - __Message.Write('FicheroCAB', TypeInfo(String), FicheroCAB, []); - __Message.Write('FicheroLUG', TypeInfo(String), FicheroLUG, []); - __Message.Write('FicheroART', TypeInfo(String), FicheroART, []); - __Message.Finalize; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'CargarFicheroEDI'); + __Message.Write('FicheroCAB', TypeInfo(String), FicheroCAB, []); + __Message.Write('FicheroLUG', TypeInfo(String), FicheroLUG, []); + __Message.Write('FicheroART', TypeInfo(String), FicheroART, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); - __Message.Read('Result', TypeInfo(Boolean), result, []); - __Message.Read('MsgError', TypeInfo(String), MsgError, []); + __Message.Read('Result', TypeInfo(Boolean), result, []); + __Message.Read('MsgError', TypeInfo(String), MsgError, []); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; @@ -521,119 +584,83 @@ begin end; function TsrvLogin_Proxy.Login(const UserID: String; const Password: String; out LoginInfo: TLoginInfo): Boolean; -var - __request, __response : TMemoryStream; begin - LoginInfo := nil; - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'Login'); - __Message.Write('UserID', TypeInfo(String), UserID, []); - __Message.Write('Password', TypeInfo(String), Password, []); - __Message.Finalize; + LoginInfo := nil; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'Login'); + __Message.Write('UserID', TypeInfo(String), UserID, []); + __Message.Write('Password', TypeInfo(String), Password, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); - __Message.Read('Result', TypeInfo(Boolean), result, []); - __Message.Read('LoginInfo', TypeInfo(VARELA_Intf.TLoginInfo), LoginInfo, []); + __Message.Read('Result', TypeInfo(Boolean), result, []); + __Message.Read('LoginInfo', TypeInfo(VARELA_Intf.TLoginInfo), LoginInfo, []); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; procedure TsrvLogin_Proxy.Logout; -var - __request, __response : TMemoryStream; begin - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'Logout'); - __Message.Finalize; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'Logout'); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); finally - __request.Free; - __response.Free; + __Message.FreeStream; end end; function TsrvLogin_Proxy.Ping: Boolean; -var - __request, __response : TMemoryStream; begin - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'Ping'); - __Message.Finalize; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'Ping'); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); - __Message.Read('Result', TypeInfo(Boolean), result, []); + __Message.Read('Result', TypeInfo(Boolean), result, []); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; function TsrvLogin_Proxy.SetUserPassword(const UserID: String; const NewPassword: String): Boolean; -var - __request, __response : TMemoryStream; begin - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'SetUserPassword'); - __Message.Write('UserID', TypeInfo(String), UserID, []); - __Message.Write('NewPassword', TypeInfo(String), NewPassword, []); - __Message.Finalize; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'SetUserPassword'); + __Message.Write('UserID', TypeInfo(String), UserID, []); + __Message.Write('NewPassword', TypeInfo(String), NewPassword, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); - __Message.Read('Result', TypeInfo(Boolean), result, []); + __Message.Read('Result', TypeInfo(Boolean), result, []); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; function TsrvLogin_Proxy.UpdateUsers(const UsersDelta: Binary): Binary; -var - __request, __response : TMemoryStream; begin - result := nil; - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'UpdateUsers'); - __Message.Write('UsersDelta', TypeInfo(Binary), UsersDelta, []); - __Message.Finalize; + result := nil; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'UpdateUsers'); + __Message.Write('UsersDelta', TypeInfo(Binary), UsersDelta, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); - __Message.Read('Result', TypeInfo(Binary), result, []); + __Message.Read('Result', TypeInfo(Binary), result, []); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; @@ -651,107 +678,79 @@ begin result := 'srvVentasTerminadas'; end; -function TsrvVentasTerminadas_Proxy.GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary; -var - __request, __response : TMemoryStream; +function TsrvVentasTerminadas_Proxy.GetDataEx(const DatasetName: String; const Columns: String; const Params: String; const MaxRecords: Integer): Binary; begin - result := nil; - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'GetData'); - __Message.Write('DatasetName', TypeInfo(String), DatasetName, []); - __Message.Write('MaxRecords', TypeInfo(Integer), MaxRecords, []); - __Message.Write('Columns', TypeInfo(String), Columns, []); - __Message.Write('Params', TypeInfo(DataAbstract_Intf.TDADatasetParamArray), Params, []); - __Message.Finalize; + result := nil; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'GetDataEx'); + __Message.Write('DatasetName', TypeInfo(String), DatasetName, []); + __Message.Write('Columns', TypeInfo(String), Columns, []); + __Message.Write('Params', TypeInfo(String), Params, []); + __Message.Write('MaxRecords', TypeInfo(Integer), MaxRecords, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); - __Message.Read('Result', TypeInfo(Binary), result, []); + __Message.Read('Result', TypeInfo(Binary), result, []); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; function TsrvVentasTerminadas_Proxy.GetSchema(const DatasetName: String; const Columns: String): Binary; -var - __request, __response : TMemoryStream; begin - result := nil; - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'GetSchema'); - __Message.Write('DatasetName', TypeInfo(String), DatasetName, []); - __Message.Write('Columns', TypeInfo(String), Columns, []); - __Message.Finalize; + result := nil; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'GetSchema'); + __Message.Write('DatasetName', TypeInfo(String), DatasetName, []); + __Message.Write('Columns', TypeInfo(String), Columns, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); - __Message.Read('Result', TypeInfo(Binary), result, []); + __Message.Read('Result', TypeInfo(Binary), result, []); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; function TsrvVentasTerminadas_Proxy.GetDataCrossTab(const FechaIni: String; const FechaFin: String; const Coleccion: String): Binary; -var - __request, __response : TMemoryStream; begin - result := nil; - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'GetDataCrossTab'); - __Message.Write('FechaIni', TypeInfo(String), FechaIni, []); - __Message.Write('FechaFin', TypeInfo(String), FechaFin, []); - __Message.Write('Coleccion', TypeInfo(String), Coleccion, []); - __Message.Finalize; + result := nil; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'GetDataCrossTab'); + __Message.Write('FechaIni', TypeInfo(String), FechaIni, []); + __Message.Write('FechaFin', TypeInfo(String), FechaFin, []); + __Message.Write('Coleccion', TypeInfo(String), Coleccion, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); - __Message.Read('Result', TypeInfo(Binary), result, []); + __Message.Read('Result', TypeInfo(Binary), result, []); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; function TsrvVentasTerminadas_Proxy.GetSchemaCrossTab(const FechaIni: String; const FechaFin: String; const Coleccion: String): Binary; -var - __request, __response : TMemoryStream; begin - result := nil; - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'GetSchemaCrossTab'); - __Message.Write('FechaIni', TypeInfo(String), FechaIni, []); - __Message.Write('FechaFin', TypeInfo(String), FechaFin, []); - __Message.Write('Coleccion', TypeInfo(String), Coleccion, []); - __Message.Finalize; + result := nil; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'GetSchemaCrossTab'); + __Message.Write('FechaIni', TypeInfo(String), FechaIni, []); + __Message.Write('FechaFin', TypeInfo(String), FechaFin, []); + __Message.Write('Coleccion', TypeInfo(String), Coleccion, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); - __Message.Read('Result', TypeInfo(Binary), result, []); + __Message.Read('Result', TypeInfo(Binary), result, []); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; @@ -782,49 +781,35 @@ begin end; procedure TsrvTransfereciaFicheros_Proxy.UploadChunk(const IsFirst: Boolean; const Filename: String; const Filedata: Binary); -var - __request, __response : TMemoryStream; begin - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'UploadChunk'); - __Message.Write('IsFirst', TypeInfo(Boolean), IsFirst, []); - __Message.Write('Filename', TypeInfo(String), Filename, []); - __Message.Write('Filedata', TypeInfo(Binary), Filedata, []); - __Message.Finalize; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'UploadChunk'); + __Message.Write('IsFirst', TypeInfo(Boolean), IsFirst, []); + __Message.Write('Filename', TypeInfo(String), Filename, []); + __Message.Write('Filedata', TypeInfo(Binary), Filedata, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; procedure TsrvTransfereciaFicheros_Proxy.UploadFinished(const Filename: String; const Filesize: Int64); -var - __request, __response : TMemoryStream; begin - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'UploadFinished'); - __Message.Write('Filename', TypeInfo(String), Filename, []); - __Message.Write('Filesize', TypeInfo(Int64), Filesize, []); - __Message.Finalize; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'UploadFinished'); + __Message.Write('Filename', TypeInfo(String), Filename, []); + __Message.Write('Filesize', TypeInfo(Int64), Filesize, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; @@ -854,55 +839,41 @@ begin result := 'srvVentasEnProceso'; end; -function TsrvVentasEnProceso_Proxy.GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary; -var - __request, __response : TMemoryStream; +function TsrvVentasEnProceso_Proxy.GetData(const DatasetName: String; const Columns: String; const Params: String; const MaxRecords: Integer): Binary; begin - result := nil; - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'GetData'); - __Message.Write('DatasetName', TypeInfo(String), DatasetName, []); - __Message.Write('MaxRecords', TypeInfo(Integer), MaxRecords, []); - __Message.Write('Columns', TypeInfo(String), Columns, []); - __Message.Write('Params', TypeInfo(DataAbstract_Intf.TDADatasetParamArray), Params, []); - __Message.Finalize; + result := nil; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'GetData'); + __Message.Write('DatasetName', TypeInfo(String), DatasetName, []); + __Message.Write('Columns', TypeInfo(String), Columns, []); + __Message.Write('Params', TypeInfo(String), Params, []); + __Message.Write('MaxRecords', TypeInfo(Integer), MaxRecords, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); - __Message.Read('Result', TypeInfo(Binary), result, []); + __Message.Read('Result', TypeInfo(Binary), result, []); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; function TsrvVentasEnProceso_Proxy.GetSchema(const DatasetName: String; const Columns: String): Binary; -var - __request, __response : TMemoryStream; begin - result := nil; - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'GetSchema'); - __Message.Write('DatasetName', TypeInfo(String), DatasetName, []); - __Message.Write('Columns', TypeInfo(String), Columns, []); - __Message.Finalize; + result := nil; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'GetSchema'); + __Message.Write('DatasetName', TypeInfo(String), DatasetName, []); + __Message.Write('Columns', TypeInfo(String), Columns, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); - __Message.Read('Result', TypeInfo(Binary), result, []); + __Message.Read('Result', TypeInfo(Binary), result, []); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; @@ -921,27 +892,20 @@ begin end; procedure TEDI_Log_Proxy.InsertarLog(const Fecha: DateTime; const Report: String; const OK: Boolean; const Error_msg: String); -var - __request, __response : TMemoryStream; begin - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'InsertarLog'); - __Message.Write('Fecha', TypeInfo(DateTime), Fecha, [paIsDateTime]); - __Message.Write('Report', TypeInfo(String), Report, []); - __Message.Write('OK', TypeInfo(Boolean), OK, []); - __Message.Write('Error_msg', TypeInfo(String), Error_msg, []); - __Message.Finalize; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'InsertarLog'); + __Message.Write('Fecha', TypeInfo(DateTime), Fecha, [paIsDateTime]); + __Message.Write('Report', TypeInfo(String), Report, []); + __Message.Write('OK', TypeInfo(Boolean), OK, []); + __Message.Write('Error_msg', TypeInfo(String), Error_msg, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; @@ -960,79 +924,58 @@ begin end; function TsrvReferenciaGenerica_Proxy.GetProducto(const Codigo: String; const Talla: String; const Color: String; out CodigoBarras: String; out Descripcion: String): Boolean; -var - __request, __response : TMemoryStream; begin - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'GetProducto'); - __Message.Write('Codigo', TypeInfo(String), Codigo, []); - __Message.Write('Talla', TypeInfo(String), Talla, []); - __Message.Write('Color', TypeInfo(String), Color, []); - __Message.Finalize; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'GetProducto'); + __Message.Write('Codigo', TypeInfo(String), Codigo, []); + __Message.Write('Talla', TypeInfo(String), Talla, []); + __Message.Write('Color', TypeInfo(String), Color, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); - __Message.Read('Result', TypeInfo(Boolean), result, []); - __Message.Read('CodigoBarras', TypeInfo(String), CodigoBarras, []); - __Message.Read('Descripcion', TypeInfo(String), Descripcion, []); + __Message.Read('Result', TypeInfo(Boolean), result, []); + __Message.Read('CodigoBarras', TypeInfo(String), CodigoBarras, []); + __Message.Read('Descripcion', TypeInfo(String), Descripcion, []); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; function TsrvReferenciaGenerica_Proxy.GenerateReport(const Centro: String; const Vendedor: String; const Estado: String; const FiltroUsuario: String): Binary; -var - __request, __response : TMemoryStream; begin - result := nil; - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'GenerateReport'); - __Message.Write('Centro', TypeInfo(String), Centro, []); - __Message.Write('Vendedor', TypeInfo(String), Vendedor, []); - __Message.Write('Estado', TypeInfo(String), Estado, []); - __Message.Write('FiltroUsuario', TypeInfo(String), FiltroUsuario, []); - __Message.Finalize; + result := nil; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'GenerateReport'); + __Message.Write('Centro', TypeInfo(String), Centro, []); + __Message.Write('Vendedor', TypeInfo(String), Vendedor, []); + __Message.Write('Estado', TypeInfo(String), Estado, []); + __Message.Write('FiltroUsuario', TypeInfo(String), FiltroUsuario, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); - __Message.Read('Result', TypeInfo(Binary), result, []); + __Message.Read('Result', TypeInfo(Binary), result, []); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; procedure TsrvReferenciaGenerica_Proxy.PasarProductosAEspera(const Centro: String; const Vendedor: String); -var - __request, __response : TMemoryStream; begin - __request := TMemoryStream.Create; - __response := TMemoryStream.Create; - try - __Message.Initialize(__TransportChannel, 'VARELA', __InterfaceName, 'PasarProductosAEspera'); - __Message.Write('Centro', TypeInfo(String), Centro, []); - __Message.Write('Vendedor', TypeInfo(String), Vendedor, []); - __Message.Finalize; + __Message.InitializeRequestMessage(__TransportChannel, 'VARELA', __InterfaceName, 'PasarProductosAEspera'); + __Message.Write('Centro', TypeInfo(String), Centro, []); + __Message.Write('Vendedor', TypeInfo(String), Vendedor, []); + __Message.Finalize; - __Message.WriteToStream(__request); - __TransportChannel.Dispatch(__request, __response); - __Message.ReadFromStream(__response); + __TransportChannel.Dispatch(__Message); finally - __request.Free; - __response.Free; + __Message.UnsetAttributes(__TransportChannel); + __Message.FreeStream; end end; diff --git a/Source/Servidor/VARELA_Invk.pas b/Source/Servidor/VARELA_Invk.pas index db96198..5bf9316 100644 --- a/Source/Servidor/VARELA_Invk.pas +++ b/Source/Servidor/VARELA_Invk.pas @@ -8,30 +8,37 @@ unit VARELA_Invk; { unit is regenerated the next time you compile the project. } {----------------------------------------------------------------------------} +{$I Remobjects.inc} + interface uses {vcl:} Classes, - {RemObjects:} uROServer, uROServerIntf, uROTypes, uROClientIntf, - {Used RODL Intf's:} DataAbstract_Intf, - {Used RODL Invk's:} DataAbstract_Invk, + {RemObjects:} uROXMLIntf, uROServer, uROServerIntf, uROTypes, uROClientIntf, + {Used RODL Intf's:} DataAbstract3_Intf, + {Used RODL Invk's:} DataAbstract3_Invk, {Generated:} VARELA_Intf; type + {$M+} TEDI_Inventary_Invoker = class(TDARemoteService_Invoker) private protected published procedure Invoke_CargarFicheroEDI(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; + {$M-} + {$M+} TEDI_Sales_Invoker = class(TDARemoteService_Invoker) private protected published procedure Invoke_CargarFicheroEDI(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; + {$M-} + {$M+} TsrvLogin_Invoker = class(TROInvoker) private protected @@ -42,23 +49,29 @@ type procedure Invoke_SetUserPassword(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_UpdateUsers(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; + {$M-} + {$M+} TsrvVentasTerminadas_Invoker = class(TDARemoteService_Invoker) private protected published - procedure Invoke_GetData(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); + procedure Invoke_GetDataEx(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_GetSchema(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_GetDataCrossTab(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_GetSchemaCrossTab(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; + {$M-} + {$M+} TsrvInformes_Invoker = class(TDARemoteService_Invoker) private protected published end; + {$M-} + {$M+} TsrvTransfereciaFicheros_Invoker = class(TROInvoker) private protected @@ -66,13 +79,17 @@ type procedure Invoke_UploadChunk(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_UploadFinished(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; + {$M-} + {$M+} TsrvControles_Invoker = class(TDARemoteService_Invoker) private protected published end; + {$M-} + {$M+} TsrvVentasEnProceso_Invoker = class(TDARemoteService_Invoker) private protected @@ -80,14 +97,18 @@ type procedure Invoke_GetData(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_GetSchema(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; + {$M-} + {$M+} TEDI_Log_Invoker = class(TDARemoteService_Invoker) private protected published procedure Invoke_InsertarLog(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; + {$M-} + {$M+} TsrvReferenciaGenerica_Invoker = class(TDARemoteService_Invoker) private protected @@ -96,36 +117,47 @@ type procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_PasarProductosAEspera(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; + {$M-} + {$M+} TsrvRecepciones_Invoker = class(TDARemoteService_Invoker) private protected published end; + {$M-} + {$M+} TsrvDevoluciones_Invoker = class(TDARemoteService_Invoker) private protected published end; + {$M-} + {$M+} TsrvTraspasos_Invoker = class(TDARemoteService_Invoker) private protected published end; + {$M-} + {$M+} TsrvStock_Invoker = class(TDARemoteService_Invoker) private protected published end; + {$M-} + {$M+} TsrvParametros_Invoker = class(TDARemoteService_Invoker) private protected published end; + {$M-} implementation @@ -150,10 +182,11 @@ begin lResult := (__Instance as IEDI_Inventary).CargarFicheroEDI(FicheroCAB, FicheroLIN, FicheroCANT, MsgError); - __Message.Initialize(__Transport, 'VARELA', 'EDI_Inventary', 'CargarFicheroEDIResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'EDI_Inventary', 'CargarFicheroEDIResponse'); __Message.Write('Result', TypeInfo(Boolean), lResult, []); __Message.Write('MsgError', TypeInfo(String), MsgError, []); __Message.Finalize; + __Message.UnsetAttributes(__Transport); finally end; @@ -177,10 +210,11 @@ begin lResult := (__Instance as IEDI_Sales).CargarFicheroEDI(FicheroCAB, FicheroLUG, FicheroART, MsgError); - __Message.Initialize(__Transport, 'VARELA', 'EDI_Sales', 'CargarFicheroEDIResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'EDI_Sales', 'CargarFicheroEDIResponse'); __Message.Write('Result', TypeInfo(Boolean), lResult, []); __Message.Write('MsgError', TypeInfo(String), MsgError, []); __Message.Finalize; + __Message.UnsetAttributes(__Transport); finally end; @@ -204,10 +238,11 @@ begin lResult := (__Instance as IsrvLogin).Login(UserID, Password, LoginInfo); - __Message.Initialize(__Transport, 'VARELA', 'srvLogin', 'LoginResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvLogin', 'LoginResponse'); __Message.Write('Result', TypeInfo(Boolean), lResult, []); __Message.Write('LoginInfo', TypeInfo(VARELA_Intf.TLoginInfo), LoginInfo, []); __Message.Finalize; + __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); @@ -225,7 +260,7 @@ begin try (__Instance as IsrvLogin).Logout; - __Message.Initialize(__Transport, 'VARELA', 'srvLogin', 'LogoutResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvLogin', 'LogoutResponse'); __Message.Finalize; __oResponseOptions := [roNoResponse]; @@ -242,9 +277,10 @@ begin try lResult := (__Instance as IsrvLogin).Ping; - __Message.Initialize(__Transport, 'VARELA', 'srvLogin', 'PingResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvLogin', 'PingResponse'); __Message.Write('Result', TypeInfo(Boolean), lResult, []); __Message.Finalize; + __Message.UnsetAttributes(__Transport); finally end; @@ -263,9 +299,10 @@ begin lResult := (__Instance as IsrvLogin).SetUserPassword(UserID, NewPassword); - __Message.Initialize(__Transport, 'VARELA', 'srvLogin', 'SetUserPasswordResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvLogin', 'SetUserPasswordResponse'); __Message.Write('Result', TypeInfo(Boolean), lResult, []); __Message.Finalize; + __Message.UnsetAttributes(__Transport); finally end; @@ -285,9 +322,10 @@ begin lResult := (__Instance as IsrvLogin).UpdateUsers(UsersDelta); - __Message.Initialize(__Transport, 'VARELA', 'srvLogin', 'UpdateUsersResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvLogin', 'UpdateUsersResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Finalize; + __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); @@ -302,34 +340,33 @@ end; { TsrvVentasTerminadas_Invoker } -procedure TsrvVentasTerminadas_Invoker.Invoke_GetData(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); -{ function GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary; } +procedure TsrvVentasTerminadas_Invoker.Invoke_GetDataEx(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); +{ function GetDataEx(const DatasetName: String; const Columns: String; const Params: String; const MaxRecords: Integer): Binary; } var DatasetName: String; - MaxRecords: Integer; Columns: String; - Params: DataAbstract_Intf.TDADatasetParamArray; + Params: String; + MaxRecords: Integer; lResult: Binary; __lObjectDisposer: TROObjectDisposer; begin - Params := nil; lResult := nil; try __Message.Read('DatasetName', TypeInfo(String), DatasetName, []); - __Message.Read('MaxRecords', TypeInfo(Integer), MaxRecords, []); __Message.Read('Columns', TypeInfo(String), Columns, []); - __Message.Read('Params', TypeInfo(DataAbstract_Intf.TDADatasetParamArray), Params, []); + __Message.Read('Params', TypeInfo(String), Params, []); + __Message.Read('MaxRecords', TypeInfo(Integer), MaxRecords, []); - lResult := (__Instance as IsrvVentasTerminadas).GetData(DatasetName, MaxRecords, Columns, Params); + lResult := (__Instance as IsrvVentasTerminadas).GetDataEx(DatasetName, Columns, Params, MaxRecords); - __Message.Initialize(__Transport, 'VARELA', 'srvVentasTerminadas', 'GetDataResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvVentasTerminadas', 'GetDataExResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Finalize; + __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try - __lObjectDisposer.Add(Params); __lObjectDisposer.Add(lResult); finally __lObjectDisposer.Free(); @@ -352,9 +389,10 @@ begin lResult := (__Instance as IsrvVentasTerminadas).GetSchema(DatasetName, Columns); - __Message.Initialize(__Transport, 'VARELA', 'srvVentasTerminadas', 'GetSchemaResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvVentasTerminadas', 'GetSchemaResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Finalize; + __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); @@ -383,9 +421,10 @@ begin lResult := (__Instance as IsrvVentasTerminadas).GetDataCrossTab(FechaIni, FechaFin, Coleccion); - __Message.Initialize(__Transport, 'VARELA', 'srvVentasTerminadas', 'GetDataCrossTabResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvVentasTerminadas', 'GetDataCrossTabResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Finalize; + __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); @@ -414,9 +453,10 @@ begin lResult := (__Instance as IsrvVentasTerminadas).GetSchemaCrossTab(FechaIni, FechaFin, Coleccion); - __Message.Initialize(__Transport, 'VARELA', 'srvVentasTerminadas', 'GetSchemaCrossTabResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvVentasTerminadas', 'GetSchemaCrossTabResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Finalize; + __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); @@ -446,8 +486,9 @@ begin (__Instance as IsrvTransfereciaFicheros).UploadChunk(IsFirst, Filename, Filedata); - __Message.Initialize(__Transport, 'VARELA', 'srvTransfereciaFicheros', 'UploadChunkResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvTransfereciaFicheros', 'UploadChunkResponse'); __Message.Finalize; + __Message.UnsetAttributes(__Transport); __oResponseOptions := [roNoResponse]; @@ -473,8 +514,9 @@ begin (__Instance as IsrvTransfereciaFicheros).UploadFinished(Filename, Filesize); - __Message.Initialize(__Transport, 'VARELA', 'srvTransfereciaFicheros', 'UploadFinishedResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvTransfereciaFicheros', 'UploadFinishedResponse'); __Message.Finalize; + __Message.UnsetAttributes(__Transport); __oResponseOptions := [roNoResponse]; @@ -485,33 +527,32 @@ end; { TsrvVentasEnProceso_Invoker } procedure TsrvVentasEnProceso_Invoker.Invoke_GetData(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); -{ function GetData(const DatasetName: String; const MaxRecords: Integer; const Columns: String; const Params: TDADatasetParamArray): Binary; } +{ function GetData(const DatasetName: String; const Columns: String; const Params: String; const MaxRecords: Integer): Binary; } var DatasetName: String; - MaxRecords: Integer; Columns: String; - Params: DataAbstract_Intf.TDADatasetParamArray; + Params: String; + MaxRecords: Integer; lResult: Binary; __lObjectDisposer: TROObjectDisposer; begin - Params := nil; lResult := nil; try __Message.Read('DatasetName', TypeInfo(String), DatasetName, []); - __Message.Read('MaxRecords', TypeInfo(Integer), MaxRecords, []); __Message.Read('Columns', TypeInfo(String), Columns, []); - __Message.Read('Params', TypeInfo(DataAbstract_Intf.TDADatasetParamArray), Params, []); + __Message.Read('Params', TypeInfo(String), Params, []); + __Message.Read('MaxRecords', TypeInfo(Integer), MaxRecords, []); - lResult := (__Instance as IsrvVentasEnProceso).GetData(DatasetName, MaxRecords, Columns, Params); + lResult := (__Instance as IsrvVentasEnProceso).GetData(DatasetName, Columns, Params, MaxRecords); - __Message.Initialize(__Transport, 'VARELA', 'srvVentasEnProceso', 'GetDataResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvVentasEnProceso', 'GetDataResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Finalize; + __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try - __lObjectDisposer.Add(Params); __lObjectDisposer.Add(lResult); finally __lObjectDisposer.Free(); @@ -534,9 +575,10 @@ begin lResult := (__Instance as IsrvVentasEnProceso).GetSchema(DatasetName, Columns); - __Message.Initialize(__Transport, 'VARELA', 'srvVentasEnProceso', 'GetSchemaResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvVentasEnProceso', 'GetSchemaResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Finalize; + __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); @@ -566,8 +608,9 @@ begin (__Instance as IEDI_Log).InsertarLog(Fecha, Report, OK, Error_msg); - __Message.Initialize(__Transport, 'VARELA', 'EDI_Log', 'InsertarLogResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'EDI_Log', 'InsertarLogResponse'); __Message.Finalize; + __Message.UnsetAttributes(__Transport); __oResponseOptions := [roNoResponse]; @@ -594,11 +637,12 @@ begin lResult := (__Instance as IsrvReferenciaGenerica).GetProducto(Codigo, Talla, Color, CodigoBarras, Descripcion); - __Message.Initialize(__Transport, 'VARELA', 'srvReferenciaGenerica', 'GetProductoResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvReferenciaGenerica', 'GetProductoResponse'); __Message.Write('Result', TypeInfo(Boolean), lResult, []); __Message.Write('CodigoBarras', TypeInfo(String), CodigoBarras, []); __Message.Write('Descripcion', TypeInfo(String), Descripcion, []); __Message.Finalize; + __Message.UnsetAttributes(__Transport); finally end; @@ -623,9 +667,10 @@ begin lResult := (__Instance as IsrvReferenciaGenerica).GenerateReport(Centro, Vendedor, Estado, FiltroUsuario); - __Message.Initialize(__Transport, 'VARELA', 'srvReferenciaGenerica', 'GenerateReportResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvReferenciaGenerica', 'GenerateReportResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Finalize; + __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); @@ -649,8 +694,9 @@ begin (__Instance as IsrvReferenciaGenerica).PasarProductosAEspera(Centro, Vendedor); - __Message.Initialize(__Transport, 'VARELA', 'srvReferenciaGenerica', 'PasarProductosAEsperaResponse'); + __Message.InitializeResponseMessage(__Transport, 'VARELA', 'srvReferenciaGenerica', 'PasarProductosAEsperaResponse'); __Message.Finalize; + __Message.UnsetAttributes(__Transport); __oResponseOptions := [roNoResponse]; diff --git a/Source/Servidor/cxVerticalGridD10.drc b/Source/Servidor/cxVerticalGridD10.drc new file mode 100644 index 0000000..e520ba1 --- /dev/null +++ b/Source/Servidor/cxVerticalGridD10.drc @@ -0,0 +1,23 @@ +/* VER180 + Generated by the Borland Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +DESCRIPTION RCDATA +BEGIN + "\x52", "\x00", "\x65", "\x00", "\x6d", "\x00", "\x4f", "\x00", /* 0000: R.e.m.O. */ + "\x62", "\x00", "\x6a", "\x00", "\x65", "\x00", "\x63", "\x00", /* 0008: b.j.e.c. */ + "\x74", "\x00", "\x73", "\x00", "\x20", "\x00", "\x53", "\x00", /* 0010: t.s. .S. */ + "\x44", "\x00", "\x4b", "\x00", "\x20", "\x00", "\x2d", "\x00", /* 0018: D.K. .-. */ + "\x20", "\x00", "\x52", "\x00", "\x4f", "\x00", "\x44", "\x00", /* 0020: .R.O.D. */ + "\x58", "\x00", "\x53", "\x00", "\x6f", "\x00", "\x63", "\x00", /* 0028: X.S.o.c. */ + "\x6b", "\x00", "\x20", "\x00", "\x4c", "\x00", "\x69", "\x00", /* 0030: k. .L.i. */ + "\x62", "\x00", "\x72", "\x00", "\x61", "\x00", "\x72", "\x00", /* 0038: b.r.a.r. */ + "\x79", "\x00", "\x00", "\x00" /* 0040: y... */ +END + diff --git a/Source/Servidor/fServerForm.dfm b/Source/Servidor/fServerForm.dfm index 98bfd21..af1bd52 100644 --- a/Source/Servidor/fServerForm.dfm +++ b/Source/Servidor/fServerForm.dfm @@ -13,7 +13,6 @@ object ServerForm: TServerForm Font.Style = [] OldCreateOrder = False Position = poScreenCenter - WindowState = wsMinimized OnClose = FormClose OnCreate = FormCreate PixelsPerInch = 96 diff --git a/Source/Servidor/srvInformes_Impl.dfm b/Source/Servidor/srvInformes_Impl.dfm index 0eb94c9..90074b2 100644 --- a/Source/Servidor/srvInformes_Impl.dfm +++ b/Source/Servidor/srvInformes_Impl.dfm @@ -4,8 +4,10 @@ object srvInformes: TsrvInformes AcquireConnection = True ServiceSchema = schInformes ServiceAdapter = DABINAdapter - Left = 693 - Top = 462 + OnAfterProcessTransactionAction = pptaNone + ExportedDataTables = <> + CacheElements = <> + Options = [rsoProcessDeltasWithoutUpdateRules] Height = 297 Width = 298 object schInformes: TDASchema @@ -77,6 +79,7 @@ object srvInformes: TsrvInformes ServerAutoRefresh = True InPrimaryKey = True Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -89,6 +92,7 @@ object srvInformes: TsrvInformes Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -102,6 +106,7 @@ object srvInformes: TsrvInformes Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -113,6 +118,7 @@ object srvInformes: TsrvInformes Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -125,6 +131,7 @@ object srvInformes: TsrvInformes Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -137,6 +144,7 @@ object srvInformes: TsrvInformes Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -148,6 +156,7 @@ object srvInformes: TsrvInformes Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end @@ -159,12 +168,15 @@ object srvInformes: TsrvInformes Alignment = taLeftJustify InPrimaryKey = False Calculated = False + ServerCalculated = False Lookup = False LookupCache = False end> BusinessRulesClient.ScriptLanguage = rslPascalScript BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = < item Params = < @@ -296,6 +308,7 @@ object srvInformes: TsrvInformes end> RelationShips = <> UpdateRules = <> + Version = 0 Left = 40 Top = 24 end @@ -310,6 +323,8 @@ object srvInformes: TsrvInformes Top = 24 end object DABINAdapter: TDABINAdapter + BufferSize = 262144 + IsCompatibleV4 = True Left = 40 Top = 96 end diff --git a/Source/Servidor/srvInformes_Impl.pas b/Source/Servidor/srvInformes_Impl.pas index 027e5e0..57b76b9 100644 --- a/Source/Servidor/srvInformes_Impl.pas +++ b/Source/Servidor/srvInformes_Impl.pas @@ -13,16 +13,16 @@ uses {vcl:} Classes, SysUtils, {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, {Ancestor Implementation:} DARemoteService_Impl, - {Used RODLs:} DataAbstract_Intf, + {Used RODLs:} DataAbstract3_Intf, {Generated:} VARELA_Intf, uDAClasses, uDAScriptingProvider, - uDABusinessProcessor, uDADataTable, uDABINAdapter; + uDABusinessProcessor, uDADataTable, uDABINAdapter, uDADataStreamer; type { TsrvInformes } TsrvInformes = class(TDARemoteService, IsrvInformes) bpInformes: TDABusinessProcessor; - schInformes: TDASchema; DABINAdapter: TDABINAdapter; + schInformes: TDASchema; private protected { IsrvInformes methods } diff --git a/Source/Servidor/uAcercaDe.pas b/Source/Servidor/uAcercaDe.pas index d6eb694..466c9fe 100644 --- a/Source/Servidor/uAcercaDe.pas +++ b/Source/Servidor/uAcercaDe.pas @@ -25,7 +25,6 @@ uses JclFileUtils; procedure TfAcercaDe.FormShow(Sender: TObject); var - i : integer; Obj : TJclFileVersionInfo; begin memModulos.Lines.Clear; diff --git a/Source/Servidor/uDataModuleServer.dfm b/Source/Servidor/uDataModuleServer.dfm index 198bcf0..6a5f4cd 100644 --- a/Source/Servidor/uDataModuleServer.dfm +++ b/Source/Servidor/uDataModuleServer.dfm @@ -2,8 +2,6 @@ object dmServer: TdmServer OldCreateOrder = False OnCreate = DataModuleCreate OnDestroy = DataModuleDestroy - Left = 722 - Top = 485 Height = 307 Width = 382 object HTTPServer: TROIndyHTTPServer @@ -17,13 +15,7 @@ object dmServer: TdmServer end> OnBeforeServerActivate = HTTPServerBeforeServerActivate IndyServer.Bindings = <> - IndyServer.CommandHandlers = <> IndyServer.DefaultPort = 8099 - IndyServer.Greeting.NumericCode = 0 - IndyServer.MaxConnectionReply.NumericCode = 0 - IndyServer.ReplyExceptionCode = 0 - IndyServer.ReplyTexts = <> - IndyServer.ReplyUnknownCommand.NumericCode = 0 Port = 8099 Left = 40 Top = 16 @@ -32,23 +24,15 @@ object dmServer: TdmServer Left = 136 Top = 16 end - object IBXDriver: TDAIBXDriver - Left = 304 - Top = 144 - end object DriverManager: TDADriverManager DriverDirectory = '%SYSTEM%\' - AutoLoad = False - TraceActive = False - TraceFlags = [] + TraceActive = True + TraceFlags = [toPrepare, toExecute, toFetch, toError, toStmt, toConnect, toTransact, toBlob, toService, toMisc, toParams] + OnTraceEvent = DriverManagerTraceEvent Left = 136 Top = 80 end object ConnectionManager: TDAConnectionManager - MaxPoolSize = 10 - PoolTimeoutSeconds = 60 - PoolBehaviour = pbWait - WaitIntervalSeconds = 1 Connections = < item Name = 'GFT_VARELA' @@ -56,7 +40,6 @@ object dmServer: TdmServer 'ADO?AuxDriver=SQLOLEDB.1;Server=david;Database=GFT_VARELA;UserID' + '=sa;Password=123456;Integrated Security=SSPI;' Default = True - Tag = 0 end> DriverManager = DriverManager PoolingEnabled = True @@ -68,8 +51,6 @@ object dmServer: TdmServer item Name = 'IMPORTE' DataType = datCurrency - BlobType = dabtUnknown - DisplayWidth = 0 DisplayLabel = 'Importe' Alignment = taRightJustify end> @@ -92,10 +73,6 @@ object dmServer: TdmServer Left = 136 Top = 208 end - object DADBXDriver: TDADBXDriver - Left = 304 - Top = 80 - end object DAADODriver: TDAADODriver Left = 304 Top = 16 @@ -105,4 +82,15 @@ object dmServer: TdmServer Left = 224 Top = 16 end + object DAServerLog1: TDAServerLog + Active = True + OnAddSQLCommandLog = DAServerLog1AddSQLCommandLog + OnAddSQLErrorLog = DAServerLog1AddSQLErrorLog + Left = 224 + Top = 80 + end + object JvLogFile1: TJvLogFile + Left = 224 + Top = 144 + end end diff --git a/Source/Servidor/uDataModuleServer.pas b/Source/Servidor/uDataModuleServer.pas index 5013c10..72cdbd4 100644 --- a/Source/Servidor/uDataModuleServer.pas +++ b/Source/Servidor/uDataModuleServer.pas @@ -7,7 +7,8 @@ uses uROClient, uROBinMessage, uROServer, uROIndyTCPServer, uROIndyHTTPServer, uROSessions, uDADataTable, uDABINAdapter, IBSQLMonitor, JvComponent, JvAppStorage, JvAppRegistryStorage, uDAInterfaces, - JvComponentBase, uDAADODriver, uDADBXDriver, uROEventRepository; + JvComponentBase, uDAADODriver, uROEventRepository, uDAServerLog, + JvLogFile, SyncObjs; const SERVER_PORT = '8099'; @@ -16,22 +17,32 @@ type TdmServer = class(TDataModule) HTTPServer: TROIndyHTTPServer; BINMessage: TROBinMessage; - IBXDriver: TDAIBXDriver; DriverManager: TDADriverManager; DADiagrams: TDADiagrams; JvAppRegistryStorage: TJvAppRegistryStorage; - DADBXDriver: TDADBXDriver; DAADODriver: TDAADODriver; SessionManager: TROInMemorySessionManager; ConnectionManager: TDAConnectionManager; + DAServerLog1: TDAServerLog; + JvLogFile1: TJvLogFile; DataDictionary: TDADataDictionary; procedure DataModuleCreate(Sender: TObject); procedure DataModuleDestroy(Sender: TObject); procedure HTTPServerBeforeServerActivate(Sender: TObject); + procedure DAServerLog1AddSQLCommandLog(Sender: TDAServerLog; + SQLCommandLog: TDASQLCommandLog); + procedure DAServerLog1AddSQLErrorLog(Sender: TDAServerLog; + SQLErrorLog: TDASQLErrorLog); + procedure DriverManagerTraceEvent(Sender: TObject; const Text: string; + Tag: Integer); private FConnectionName : string; + FEscribirLog : TCriticalSection; function GetConnectionString: string; procedure FindFiles(StartDir: string; var FilesList: TStringList); + procedure IniciarLog; + procedure DetenerLog; + public FDBServer : string; FDBName : string; @@ -46,6 +57,7 @@ type procedure SalvarConfiguracion; procedure RefrescarConexion; procedure BorrarFicherosDeCargaAntiguos; + procedure EscribirLog(const AMensaje : String); property ConnectionName : string read FConnectionName write FConnectionName; end; @@ -163,10 +175,28 @@ begin Result := Result + chr(ord(Source[i]) - Random(10) - 1); end; +procedure TdmServer.DAServerLog1AddSQLCommandLog(Sender: TDAServerLog; + SQLCommandLog: TDASQLCommandLog); +begin + EscribirLog(SQLCommandLog.OriginalSQLText); + EscribirLog(SQLCommandLog.OriginalSQLText); + EscribirLog('-----------------------------------------------------'); +end; + +procedure TdmServer.DAServerLog1AddSQLErrorLog(Sender: TDAServerLog; + SQLErrorLog: TDASQLErrorLog); +begin + EscribirLog(SQLErrorLog.ErrorMessage); + EscribirLog(SQLErrorLog.OriginalSQLText); + EscribirLog(SQLErrorLog.OriginalSQLText); + EscribirLog('-----------------------------------------------------'); +end; + procedure TdmServer.DataModuleCreate(Sender: TObject); begin LeerConfiguracion; RefrescarConexion; + IniciarLog; end; function TdmServer.GetConnectionString: string; @@ -229,7 +259,30 @@ end; procedure TdmServer.DataModuleDestroy(Sender: TObject); begin + SessionManager.ClearSessions(False); HTTPServer.Active := False; + DetenerLog; +end; + +procedure TdmServer.DetenerLog; +begin + FEscribirLog.Free; +end; + +procedure TdmServer.DriverManagerTraceEvent(Sender: TObject; const Text: string; + Tag: Integer); +begin + EscribirLog(Text + #10#13 + #10#13); +end; + +procedure TdmServer.EscribirLog(const AMensaje: String); +begin + FEscribirLog.Acquire; + try + JvLogFile1.Add(AMensaje); + finally + FEscribirLog.Release; + end; end; procedure TdmServer.RefrescarConexion; @@ -248,6 +301,17 @@ begin HTTPServer.Port := StrToInt(FServerPort); end; +procedure TdmServer.IniciarLog; +begin + FEscribirLog := TCriticalSection.Create; + + JvLogFile1.Active := False; + JvLogFile1.FileName := ExtractFilePath(Application.ExeName) + 'ServerLog.txt'; + JvLogFile1.AutoSave := True; + JvLogFile1.Active := True; + JvLogFile1.Clear; +end; + procedure TdmServer.BorrarFicherosDeCargaAntiguos; var AAlmacen : String; diff --git a/Source/Servidor/uSchemaUtilsServer.pas b/Source/Servidor/uSchemaUtilsServer.pas index 1919325..ac5791a 100644 --- a/Source/Servidor/uSchemaUtilsServer.pas +++ b/Source/Servidor/uSchemaUtilsServer.pas @@ -6,7 +6,7 @@ uses Classes, SysUtils, uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, DARemoteService_Impl, - DataAbstract_Intf, + DataAbstract3_Intf, uDAClasses, uDAInterfaces, uDADataTable; type diff --git a/Source/Usuarios/Usuarios.bdsproj b/Source/Usuarios/Usuarios.bdsproj new file mode 100644 index 0000000..adb8eb4 --- /dev/null +++ b/Source/Usuarios/Usuarios.bdsproj @@ -0,0 +1,677 @@ + + + + + + + + + + + + Usuarios.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + Pedidos a proveedor + + + + .\ + ..\..\Output\Debug\Cliente + ..\Lib + ..\Lib;..\Base + vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7 + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Usuarios/Usuarios.dpk b/Source/Usuarios/Usuarios.dpk index 3cad34c..5c2b1a0 100644 --- a/Source/Usuarios/Usuarios.dpk +++ b/Source/Usuarios/Usuarios.dpk @@ -16,30 +16,30 @@ package Usuarios; {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} +{$STACKFRAMES ON} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'Pedidos a proveedor'} -{$IMPLICITBUILD OFF} +{$IMPLICITBUILD ON} +{$DEFINE DEBUG} requires vcl, vcldb, - PngComponentsD7, - PNG_D7, + PngComponentsD10, + PNG_D10, vclactnband, vclx, vcljpg, - BaseD7, + BaseD10, rtl, dbrtl, dsnap, adortl, - DataAbstract_D7, - JvMMD7R; + JvMMD10R; contains uDataModuleUsuarios in 'uDataModuleUsuarios.pas' {dmUsuarios: TDAClientDataModule}, diff --git a/Source/Usuarios/Usuarios.dproj b/Source/Usuarios/Usuarios.dproj new file mode 100644 index 0000000..0be61ab --- /dev/null +++ b/Source/Usuarios/Usuarios.dproj @@ -0,0 +1,597 @@ + + + {c2514fab-bd64-47eb-ac2d-4b0b5460f98f} + Usuarios.dpk + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Cliente\Usuarios.bpl + + + 7.0 + False + False + 0 + 3 + .\ + .\ + .\ + ..\..\Output\Debug\Cliente + ..\Lib + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + RELEASE + + + 7.0 + 3 + .\ + .\ + .\ + ..\..\Output\Debug\Cliente + ..\Lib + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + ..\Lib;..\Base + DEBUG + True + + + Delphi.Personality + Package + +FalseTrueFalsePedidos a proveedorTrueFalseFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1030FalseFalseFalseFalseFalse308212521.0.3.01.0.0.0Usuarios.dpk + + + + + + + CodeGear WebSnap Components + CodeGear SOAP Components + Microsoft Office XP Sample Automation Server Wrapper Components + Microsoft Office 2000 Sample Automation Server Wrapper Components + CodeGear C++Builder Office 2000 Servers Package + CodeGear C++Builder Office XP Servers Package + + + + + + MainSource + + + + + + + + + + +
fCambiarPassword
+
+ +
dmUsuarios
+
+ +
fLoginForm
+
+ +
fUsuario
+
+ +
fUsuarios
+
+ + + + + +
+
+ diff --git a/Source/Usuarios/Usuarios.drc b/Source/Usuarios/Usuarios.drc index a5d5271..03080b2 100644 --- a/Source/Usuarios/Usuarios.drc +++ b/Source/Usuarios/Usuarios.drc @@ -1,5 +1,5 @@ -/* VER150 - Generated by the Borland Delphi Pascal Compiler +/* VER185 + Generated by the CodeGear Delphi Pascal Compiler because -GD or --drc was supplied to the compiler. This file contains compiler-generated resources that @@ -12,3 +12,10 @@ STRINGTABLE BEGIN END +/* C:\Varela_D2007\Source\Usuarios\uLoginForm.dfm */ +/* C:\Varela_D2007\Source\Usuarios\uCambiarPassword.dfm */ +/* C:\Varela_D2007\Source\Usuarios\uDataModuleUsuarios.dfm */ +/* C:\Varela_D2007\Source\Usuarios\uUsuarios.dfm */ +/* C:\Varela_D2007\Source\Usuarios\uUsuario.dfm */ +/* C:\Varela_D2007\Source\Usuarios\Usuarios.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtfC.tmp */ diff --git a/Source/Usuarios/Usuarios.identcache b/Source/Usuarios/Usuarios.identcache new file mode 100644 index 0000000..d414da5 Binary files /dev/null and b/Source/Usuarios/Usuarios.identcache differ diff --git a/Source/Usuarios/Usuarios.rc b/Source/Usuarios/Usuarios.rc new file mode 100644 index 0000000..169f997 --- /dev/null +++ b/Source/Usuarios/Usuarios.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,3,0 +PRODUCTVERSION 1,0,3,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.3.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/Usuarios/Usuarios.res b/Source/Usuarios/Usuarios.res index b1dc5fd..784f75e 100644 Binary files a/Source/Usuarios/Usuarios.res and b/Source/Usuarios/Usuarios.res differ diff --git a/Source/Usuarios/uDataModuleUsuarios.dfm b/Source/Usuarios/uDataModuleUsuarios.dfm index 34ae21f..5c031b4 100644 --- a/Source/Usuarios/uDataModuleUsuarios.dfm +++ b/Source/Usuarios/uDataModuleUsuarios.dfm @@ -1,25 +1,14 @@ object dmUsuarios: TdmUsuarios OldCreateOrder = True OnCreate = DAClientDataModuleCreate - RemoteService = ROLoginService - Adapter = dmBase.DABINAdapter - SchemaCall.MethodName = 'GetSchemaAsXML' - SchemaCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtString - end> - Left = 520 - Top = 350 Height = 340 Width = 423 object ROLoginService: TRORemoteService - ServiceName = 'srvLogin' Message = dmBase.ROMessage Channel = dmBase.ROChannel - Left = 32 - Top = 16 + ServiceName = 'srvLogin' + Left = 56 + Top = 40 end object tbl_Usuarios: TDACDSDataTable RemoteUpdatesOptions = [] @@ -33,79 +22,15 @@ object dmUsuarios: TdmUsuarios Alignment = taLeftJustify InPrimaryKey = True Calculated = False + ServerCalculated = 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 = 'Usuarios' - end> - DataRequestCall.MethodName = 'GetDatasetDataEx' - DataRequestCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtBinary - end - item - Name = 'DatasetName' - ParamType = fIn - DataType = rtString - Value = 'Usuarios' - 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.Params = <> - ScriptCall.MethodName = 'GetDatasetScripts' - ScriptCall.Params = < - item - Name = 'Result' - ParamType = fResult - DataType = rtString - Value = '' - end - item - Name = 'DatasetNames' - ParamType = fIn - DataType = rtString - Value = 'Usuarios' - end> + RemoteDataAdapter = DARemoteDataAdapter ReadOnly = False - RemoteService = ROLoginService DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'Usuarios' @@ -114,8 +39,94 @@ object dmUsuarios: TdmUsuarios Top = 40 end object ds_Usuarios: TDADataSource + DataSet = tbl_Usuarios.Dataset DataTable = tbl_Usuarios Left = 280 Top = 40 end + object DARemoteDataAdapter: TDARemoteDataAdapter + GetSchemaCall.RemoteService = ROLoginService + GetSchemaCall.MethodName = 'GetSchemaAsXML' + GetSchemaCall.Params = < + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetSchemaCall.Default = False + GetSchemaCall.IncomingSchemaParameter = 'Result' + GetSchemaCall.OutgoingFilterParameter = 'aFilter' + GetDataCall.RemoteService = ROLoginService + GetDataCall.MethodName = 'GetDatasetData' + GetDataCall.Params = < + item + Name = 'DatasetName' + DataType = rtString + Flag = fIn + end + item + Name = 'Params' + DataType = rtString + Flag = fIn + end + item + Name = 'IncludeSchema' + DataType = rtBoolean + Flag = fIn + end + item + Name = 'MaxRecords' + DataType = rtInteger + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + GetDataCall.Default = False + GetDataCall.OutgoingTableNamesParameter = 'DatasetName' + GetDataCall.OutgoingTableRequestInfosParameter = 'aTableRequestInfoArray' + GetDataCall.IncomingDataParameter = 'Result' + GetDataCall.OutgoingParamsParameter = 'Params' + GetDataCall.OutgoingIncludeSchemaParameter = 'IncludeSchema' + GetDataCall.OutgoingMaxRecordsParameter = 'MaxRecords' + UpdateDataCall.RemoteService = ROLoginService + UpdateDataCall.MethodName = 'UpdateData' + UpdateDataCall.Params = < + item + Name = 'Delta' + DataType = rtBinary + Flag = fIn + end + item + Name = 'Result' + DataType = rtBinary + Flag = fResult + end> + UpdateDataCall.Default = False + UpdateDataCall.OutgoingDeltaParameter = 'Delta' + UpdateDataCall.IncomingDeltaParameter = 'Result' + GetScriptsCall.RemoteService = ROLoginService + GetScriptsCall.MethodName = 'GetDatasetScripts' + GetScriptsCall.Params = < + item + Name = 'DatasetNames' + DataType = rtString + Flag = fIn + end + item + Name = 'Result' + DataType = rtString + Flag = fResult + end> + GetScriptsCall.Default = False + GetScriptsCall.OutgoingTableNamesParameter = 'DatasetNames' + GetScriptsCall.IncomingScriptParameter = 'Result' + RemoteService = ROLoginService + DataStreamer = dmBase.DABINAdapter + FailureBehavior = fbBoth + Left = 56 + Top = 104 + end end diff --git a/Source/Usuarios/uDataModuleUsuarios.pas b/Source/Usuarios/uDataModuleUsuarios.pas index 6524d68..57e1667 100644 --- a/Source/Usuarios/uDataModuleUsuarios.pas +++ b/Source/Usuarios/uDataModuleUsuarios.pas @@ -6,7 +6,7 @@ uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uDAClientDataModule, uDADataTable, uDABINAdapter, uROServiceComponent, uRORemoteService, uROClient, uROBinMessage, uROWinInetHttpChannel, uDAScriptingProvider, uDACDSDataTable, - VARELA_Intf; + VARELA_Intf, uDARemoteDataAdapter, uDAInterfaces; const ROL_ADMIN = 'Administrador'; @@ -16,6 +16,7 @@ type ROLoginService: TRORemoteService; tbl_Usuarios: TDACDSDataTable; ds_Usuarios: TDADataSource; + DARemoteDataAdapter: TDARemoteDataAdapter; procedure DAClientDataModuleCreate(Sender: TObject); procedure DAClientDataModuleDestroy(Sender: TObject); private @@ -48,7 +49,9 @@ procedure TdmUsuarios.DAClientDataModuleCreate(Sender: TObject); begin ROLoginService.Channel := dmBase.Channel; ROLoginService.Message := dmBase.Message; - Adapter := dmBase.Adapter; + + // *********************** PENDIENTE ADAPTAR + // Adapter := dmBase.Adapter; end; function TdmUsuarios.Login: Boolean; diff --git a/Source/Usuarios/uLoginForm.pas b/Source/Usuarios/uLoginForm.pas index a14adaf..6f0cb5a 100644 --- a/Source/Usuarios/uLoginForm.pas +++ b/Source/Usuarios/uLoginForm.pas @@ -77,6 +77,7 @@ end; procedure TfLoginForm.ToolButton4Click(Sender: TObject); begin + Timer1.Enabled := False; dmBase.ConfigurarConexion; end; diff --git a/Source/leeme.txt b/Source/leeme.txt new file mode 100644 index 0000000..a3637e2 --- /dev/null +++ b/Source/leeme.txt @@ -0,0 +1,5 @@ +El archivo uDADataTable.pas es una versión +modificada del original de Data Abstract 5 para +implementar el uso de Where en TDADataTable. + +Ver procedimiento OnWhereChange. \ No newline at end of file diff --git a/Source/uDADataTable.pas b/Source/uDADataTable.pas new file mode 100644 index 0000000..bb94913 --- /dev/null +++ b/Source/uDADataTable.pas @@ -0,0 +1,4645 @@ +unit uDADataTable; + +{----------------------------------------------------------------------------} +{ Data Abstract Library - Core Library } +{ } +{ compiler: Delphi 6 and up, Kylix 3 and up } +{ platform: Win32, Linux } +{ } +{ (c)opyright RemObjects Software. all rights reserved. } +{ } +{ Using this code requires a valid license of the Data Abstract } +{ which can be obtained at http://www.remobjects.com. } +{----------------------------------------------------------------------------} + +{$I DataAbstract.inc} + +interface + +uses + Classes, DB, Contnrs, SysUtils, + {$IFDEF MSWINDOWS}ActiveX,{$ENDIF} + uRODL, uROTypes, uROClasses, uROClientIntf, uRODynamicRequest,uDAExpressionEvaluator, + uDAInterfaces, uDAClasses, uDAEngine, uDAScriptingProvider, uDADataStreamer, uDADelta, + DataAbstract3_Intf, DataAbstract4_Intf,uDAWhere; + +const + RecIDFieldName = 'RecID'; // Do not change! + AllChanges = [ctInsert, ctUpdate, ctDelete]; + +type + //ToDo: remove and replace these three with TRO(Dynamic)Request* + TDARemoteRequest = TRODynamicRequest; + TDARemoteRequestParam = TRORequestParam; + TDARemoteRequestParams = TRORequestParamCollection; + + { Other types } + float = double; + datetime = TDateTime; + + TDADataTable = class; + TDatasetClass = class of TDataset; + TDADataTableRules = class; + + TDADataTableNotifyEvent = procedure(DataTable: TDADataTable) of object; + TDADataTableFilterEvent = procedure(DataTable: TDADataTable; var Accept: Boolean) of object; + TDADataTableErrorEvent = procedure(DataTable: TDADataTable; Error: EDatabaseError; var Action: TDataAction) of object; + TDADataTableDynamicMethodEvent = procedure(DataTable: TDADataTable; const aMessage: IROMessage) of object; + TDADataTableRemoteRequestEvent = procedure(DataTable: TDADataTable; Request: TDARemoteRequest) of object; + TDADataTableDataChangeEvent = procedure(DataTable: TDADataTable; Field: TDAField) of object; + TDADataRequestStreamEvent = procedure(DataTable: TDADataTable; Stream: TStream) of object; + + //TDADelta = class; + + TDAApplyUpdatesError = procedure(DataTable: TDADataTable; const Delta: IDADelta; var Ignore: boolean) of object; + TDAAfterApplyUpdatesEvent = procedure(DataTable: TDADataTable; const Delta: IDADelta) of object; + TDABeforeApplyUpdatesEvent = procedure(DataTable: TDADataTable; const Delta: IDADelta) of object; + + TDADetailOption = (dtCascadeOpenClose, + dtCascadeApplyUpdates, + dtAutoFetch, + dtCascadeDelete, + dtCascadeUpdate, + dtDisableLogOfCascadeDeletes, + dtDisableLogOfCascadeUpdates, + dtIncludeInAllInOneFetch); + TDADetailOptions = set of TDADetailOption; + + TDAMasterOption = (moCascadeOpenClose, + moCascadeApplyUpdates, + moCascadeDelete, + moCascadeUpdate, + moDisableLogOfCascadeDeletes, + moDisableLogOfCascadeUpdates, + moAllInOneFetch); + + TDAMasterOptions = set of TDAMasterOption; + + TDAStreamingOption = (soIgnoreStreamSchema, soDisableEventsWhileStreaming); + TDAStreamingOptions = set of TDAStreamingOption; + + TDARemoteUpdatesOption = (ruoOnPost); + TDARemoteUpdatesOptions = set of TDARemoteUpdatesOption; + + TDABaseRemoteDataAdapter = class(TComponent) + protected + function GetDataStreamer: TDADataStreamer; virtual; abstract; + + { backward compatibility: to provide access to these in the legacy events } + function Get_GetSchemaCall: TDARemoteRequest; virtual; + function Get_GetDataCall: TDARemoteRequest; virtual; + function Get_UpdateDataCall: TDARemoteRequest; virtual; + function Get_GetScriptsCall: TDARemoteRequest; virtual; + public + function ApplyUpdates(aTables: array of TDADataTable; aRefetchAll: boolean = false): boolean; virtual; abstract; + procedure Fill(aTables: array of TDADataTable; aSaveCursor: boolean; aIncludeSchema: boolean); virtual; abstract; + procedure FillSchema(aTables: array of TDADataTable; aPreserveLookupFields: boolean = false; areserveClientCalcFields : boolean = false); virtual; abstract; + procedure FillScripts(aTables: array of TDADataTable); virtual; abstract; + + property DataStreamer: TDADataStreamer read GetDataStreamer; + end; + + { IDADataTableDataset } + IDADataTableDataset = interface + ['{3BADA4F8-BA32-411C-A7CD-DEBD10A4AF06}'] + function GetDataTable: TDADataTable; safecall; + end; + + { IDARangeController } + IDARangeController = interface + ['{5A182854-B824-496F-80C2-6F8064003E13}'] + procedure ApplyRange; safecall; + procedure CancelRange; safecall; + procedure SetRange(const StartValues, EndValues: array of const); safecall; + procedure EditRangeEnd; safecall; + procedure EditRangeStart; safecall; + procedure SetRangeEnd; safecall; + procedure SetRangeStart; safecall; + end; + + { IDANativeDatasetStreaming } + TDANativeDataFormat = (ndfBinary, ndfXML); + IDANativeDatasetStreaming = interface + ['{00B37B20-23DA-49A5-BB5D-B96E50C210F4}'] + procedure NativeSaveToFile(const aFileName : string; DataFormat : TDANativeDataFormat = ndfBinary); + procedure NativeLoadFromFile(const aFileName : string); + procedure NativeSaveToStream(aStream : TStream; DataFormat : TDANativeDataFormat = ndfBinary); + procedure NativeLoadFromStream(aStream : TStream); + end; + + + { TDADataSource } + TDADataSource = class(TDABaseDataSource) + private + fDataTable: TDADataTable; + + function GetDataset: TDataset; + procedure SetDataTable(const Value: TDADataTable); + procedure SetDataset(const Value: TDataset); + function GetOpening: boolean; + function GetActive: boolean; + + protected + procedure Notification(AComponent: TComponent; Operation: TOperation); override; + + property Dataset: TDataset read GetDataset write SetDataset; // hide base class property + public + constructor Create(aOwner: TComponent); override; + destructor Destroy; override; + + property Opening: boolean read GetOpening; + property Active: boolean read GetActive; + published + property DataTable: TDADataTable read fDataTable write SetDataTable; + end; + + { TDADataTable } + TDASortDirection = (sdAscending, sdDescending); + TDAMasterMappingMode = (mmDataRequest, mmParams, mmWhere); + + TDASortDirectionArray = array of TDASortDirection; + TStringArray = array of string; + + IDADataTableScriptingProvider = interface(IDAScriptingProvider) + ['{E16B7359-C733-4F09-96A8-10527CFABB6D}'] + procedure RunDataTableScript(aDataTable: TDADataTable; const aScript: string; const aMethod: string; aLanguage:TROSEScriptLanguage); + end; + + TAutoIncArray = array of Int64; + + {$WARN SYMBOL_DEPRECATED OFF} + TDADataTable = class(TScriptableComponent, {$IFDEF MSWINDOWS}ISupportErrorInfo,{$ENDIF} IDADataTable, IDASQLCommand, IDADataset, IDAEditableDataset, IDADeltaOwner, IDADataReader, IDADatasetEx) + private + fCurrRecId: integer; + + fMasterLink: TMasterDataLink; + + fDelta: IDADelta; + fWhere: TDAWhere; + + fRecIDField: TIntegerField; + + fStreamedActive, + fRefreshing, + fOpening: boolean; + + fDataset: TDataset; + + fFields: TDAFieldCollection; + + fAfterEdit: TDADataTableNotifyEvent; + fAfterInsert: TDADataTableNotifyEvent; + fAfterDelete: TDADataTableNotifyEvent; + fBeforeScroll: TDADataTableNotifyEvent; + fAfterClose: TDADataTableNotifyEvent; + fBeforePost: TDADataTableNotifyEvent; + fAfterScroll: TDADataTableNotifyEvent; + fBeforeCancel: TDADataTableNotifyEvent; + fBeforeRefresh: TDADataTableNotifyEvent; + fBeforeOpen: TDADataTableNotifyEvent; + fAfterRefresh: TDADataTableNotifyEvent; + fAfterOpen: TDADataTableNotifyEvent; + fBeforeEdit: TDADataTableNotifyEvent; + fBeforeClose: TDADataTableNotifyEvent; + fBeforeDelete: TDADataTableNotifyEvent; + fAfterPost: TDADataTableNotifyEvent; + fOnCalcFields: TDADataTableNotifyEvent; + fOnNewRecord: TDADataTableNotifyEvent; + fAfterCancel: TDADataTableNotifyEvent; + fBeforeInsert: TDADataTableNotifyEvent; + fOnFilterRecord: TDADataTableFilterEvent; + fOnEditError: TDADataTableErrorEvent; + fOnDeleteError: TDADataTableErrorEvent; + fOnPostError: TDADataTableErrorEvent; + fBeforeFieldChange: TDADataTableDataChangeEvent; + fAfterFieldChange: TDADataTableDataChangeEvent; + fLogChanges: boolean; + + fRemoteFetchEnabled: boolean; + fSortDirections: TDASortDirectionArray; + fSortFieldNames: TStringArray; + fParams: TDAParamCollection; + + fFetchedMasters: TStringList; + + fMasterParamsMappings, + fMasterRequestMappings: TStringList; + fDynamicWhere: TDAWhereBuilder; + + fDetailOptions: TDADetailOptions; + fMasterOptions: TDAMasterOptions; + fLogicalName: string; + fClosing: boolean; + fFetching: boolean; + fStreaming: boolean; + fOnAfterSchemaCall: TDADataTableRemoteRequestEvent; + fOnAfterDataRequestCall: TDADataTableRemoteRequestEvent; + fOnBeforeSchemaCall: TDADataTableRemoteRequestEvent; + fOnBeforeDataRequestCall: TDADataTableRemoteRequestEvent; + fOnBeforeDataUpdateCall: TDADataTableRemoteRequestEvent; + fOnAfterDataUpdateCall: TDADataTableRemoteRequestEvent; + //fOnApplyUpdatesError: TDAApplyUpdatesError; + fOnReceiveDataStream: TDADataRequestStreamEvent; + fStreamingOptions: TDAStreamingOptions; + fRemoteUpdateOptions: TDARemoteUpdatesOptions; + fLocalSchema: TDASchema; + fLocalConnection: string; + + fBusinessRulesID: string; + fBusinessRules: TDADataTableRules; + fFieldRules: TObjectList; + + fAutoIncs : TAutoIncArray; + fOnAfterApplyUpdates: TDADataTableNotifyEvent; + fOnBeforeApplyUpdates: TDABeforeApplyUpdatesEvent; + fMasterMappingMode: TDAMasterMappingMode; + fMaxRecords: integer; + fOnBeforeMergeDelta: TDADataTableNotifyEvent; + fOnAfterMergeDelta: TDADataTableNotifyEvent; + fStoreActive: boolean; + fScriptCode: TStrings; + fOnBeforeScriptCall: TDADataTableRemoteRequestEvent; + fOnAfterScriptCall: TDADataTableRemoteRequestEvent; + + fOpenTick: cardinal; + fAfterOpenIDataset: TDAAfterOpenDatasetEvent; + fBeforeOpenIDataset: TDABeforeOpenDatasetEvent; + + fRemoteDataAdapter: TDABaseRemoteDataAdapter; + fLocalDataStreamer: TDADataStreamer; + fCustomAttributes: TStrings; + fExpressionEvaluator: TDAStdExpressionEvaluator; + fHasReducedDelta: Boolean; + procedure SetLocalDataStreamer(const Value: TDADataStreamer); + procedure SetRemoteDataAdapter(const Value: TDABaseRemoteDataAdapter); + + procedure SetLogChanges(const Value: boolean); + function GetDataset: TDataset; safecall; + function GetFields: TDAFieldCollection; safecall; + procedure SetFields(const Value: TDAFieldCollection); + function GetActive: boolean; safecall; + procedure SetActive(Value: boolean); safecall; + function GetLogChanges: boolean; + procedure SetParams(const Value: TDAParamCollection); + function GetEditing: boolean; + function GetMasterRequestMappings: TStrings; + procedure SetMasterRequestMappings(const Value: TStrings); + + procedure TempSetRowRecIDValue(Sender: TDataset); + + procedure SetLocalSchema(const Value: TDASchema); + procedure LoadFromLocalSchema; + + procedure SetBusinessRulesID(const Value: string); + function GetHasDelta: boolean; + function GetHasDeltaRecursive: boolean; + function GetRecNo: integer; + procedure SetRecNo(const Value: integer); + + { published property accessors cannot be safecall, so we need wrappers: } + function GetFieldsProperty: TDAFieldCollection; + function GetActiveProperty: boolean; + procedure SetActiveProperty(const Value: boolean); + function GetParamsProperty: TDAParamCollection; + function GetMasterParamsMappings: TStrings; + procedure SetMasterParamsMappings(const Value: TStrings); + + procedure PackAllInOneFetchInfoArray(aDataTable : TDADataTable; OutArray: TDADatasetRequestInfoArray); + procedure OnWhereChange(Sender: TObject); + procedure SetScriptCode(const Value: TStrings); + function GetDeltaInitialized: boolean; + procedure SetCustomAttributes(const Value: TStrings); + function Local_ApplyUpdates(RefetchAll: boolean = FALSE): boolean; + procedure InternalCancelUpdateChange(Change: TDADeltaChange); + procedure ExpessionEvaluatorGetValue(Sender: TDAExpressionEvaluator; const aIdentifier: string; out aValue: Variant); + procedure DoCascadeRemoteAllInOneFetch(aStreamer: TDADataStreamer); + protected + function CreateAutoIncArray: TAutoIncArray; + function GetAutoIncs: TAutoIncArray; virtual; + procedure SetAutoIncs(const Value: TAutoIncArray); virtual; + + property AutoIncs: TAutoIncArray read GetAutoIncs write SetAutoIncs; + + function GetCurrRecId: integer; virtual; + procedure SetCurrRecId(const Value: integer); virtual; + + procedure Loaded; override; + + // To override + function GetDatasetClass: TDatasetClass; virtual; abstract; + procedure CreateInternalFields(aDataset: TDataset; someFieldDefinitions: TDAFieldCollection); virtual; + procedure DoRefresh(aDataset: TDataset); + procedure DoSort(const FieldNames: array of string; const Directions: array of TDASortDirection); virtual; abstract; + + procedure SetMasterSource(const Value: TDADataSource); virtual; + function GetMasterSource: TDADataSource; virtual; abstract; + procedure SetDetailsFields(const Value: string); virtual; abstract; + procedure SetMasterFields(const Value: string); virtual; + function GetDetailFields: string; virtual; abstract; + function GetMasterFields: string; virtual; abstract; + + function GetFilter: string; virtual; abstract; + function GetFiltered: boolean; virtual; abstract; + procedure SetFilter(const Value: string); virtual; abstract; + procedure SetFiltered(const Value: boolean); virtual; abstract; + + function GetReadOnly: boolean; virtual; + procedure SetReadOnly(const Value: boolean); virtual; + + procedure AttachEventHooks(aDataset: TDataset); virtual; + procedure DetachEventHooks(aDataset: TDataset); virtual; + + // Internal + procedure DoBeforeOpenDataset; virtual; + procedure DoBeforeCloseDataset; virtual; + procedure DoAfterOpenDataset; virtual; + procedure DoAfterCloseDataset; virtual; + procedure DoOpen(IgnoreAutoFetchSettings: Boolean = False); virtual; + + // Internal TDataset event handler hooks + procedure InternalAfterInsert(Sender: TDataset); dynamic; + procedure InternalAfterEdit(Sender: TDataset); dynamic; + procedure InternalBeforePost(Sender: TDataset); dynamic; + procedure InternalBeforeCancel(Sender: TDataset); dynamic; + procedure InternalAfterDelete(Sender: TDataset); dynamic; + procedure InternalBeforeScroll(Sender: TDataset); dynamic; + procedure InternalAfterScroll(Sender: TDataset); dynamic; + procedure InternalBeforeRefresh(Sender: TDataset); dynamic; + procedure InternalAfterRefresh(Sender: TDataset); dynamic; + procedure InternalOnCalcFields(Sender: TDataset); dynamic; + procedure InternalOnNewRecord(Sender: TDataset); dynamic; + procedure InternalAfterCancel(Sender: TDataset); dynamic; + procedure InternalBeforeInsert(Sender: TDataset); dynamic; + procedure InternalBeforeDelete(Sender: TDataset); dynamic; + procedure InternalBeforeEdit(Sender: TDataset); dynamic; + procedure InternalAfterPost(Sender: TDataset); dynamic; + procedure InternalBeforeFieldUpdate(Sender: TDACustomField); + procedure InternalAfterFieldUpdate(Sender: TDACustomField); + + procedure InternalOnFilterRecord(Dataset: TDataset; var Accept: Boolean); dynamic; + + procedure InternalOnDeleteError(DataSet: TDataSet; Error: EDatabaseError; var Action: TDataAction); dynamic; + procedure InternalOnEditError(DataSet: TDataSet; Error: EDatabaseError; var Action: TDataAction); dynamic; + procedure InternalOnPostError(DataSet: TDataSet; Error: EDatabaseError; var Action: TDataAction); dynamic; + + // IDASQLCommand + function GetParams: TDAParamCollection; safecall; + procedure RefreshParams; safecall; + function Execute: integer; safecall; + function GetText: string; safecall; + procedure SetText(const Value: string); safecall; + function GetName: string; safecall; + + // IDADeltaOwner + function GetDelta: IDADelta; safecall; + + // IDADataReader + function IDADataReader.First = DataReaderFirst; + function IDADataReader.Next = DataReaderNext; + function DataReaderFirst: boolean; safecall; + function DataReaderNext: boolean; safecall; + + function GetFieldNames(Index: integer): string; safecall; + function GetFieldIndexes(const aName: string): integer; safecall; + function GetAsBoolean(Index: integer): boolean; overload; safecall; + function GetAsCurrency(Index: integer): currency; overload; {$IFNDEF FPC_SAFECALL_BUG}safecall;{$ENDIF} + function GetAsDateTime(Index: integer): TDateTime; overload; {$IFNDEF FPC_SAFECALL_BUG}safecall;{$ENDIF} + function GetAsFloat(Index: integer): double; overload; {$IFNDEF FPC_SAFECALL_BUG}safecall;{$ENDIF} + function GetAsInteger(Index: integer): integer; overload; safecall; + function GetAsString(Index: integer): string; overload; safecall; + function GetAsVariant(Index: integer): variant; overload; safecall; + function GetAsBoolean(const FieldName: string): boolean; overload; safecall; + function GetAsCurrency(const FieldName: string): currency; overload; {$IFNDEF FPC_SAFECALL_BUG}safecall;{$ENDIF} + function GetAsDateTime(const FieldName: string): TDateTime; overload; {$IFNDEF FPC_SAFECALL_BUG}safecall;{$ENDIF} + function GetAsFloat(const FieldName: string): double; overload; {$IFNDEF FPC_SAFECALL_BUG}safecall;{$ENDIF} + function GetAsInteger(const FieldName: string): integer; overload; safecall; + function GetAsString(const FieldName: string): string; overload; safecall; + function GetAsVariant(const FieldName: string): variant; overload; safecall; + + // IDADataset + function GetIsEmpty: boolean; safecall; + function GetRecordCount: integer; safecall; + function GetFieldCount: integer; safecall; + function GetBOF: boolean; safecall; + function GetEOF: boolean; safecall; + function GetSQL: string; safecall; + procedure SetSQL(const Value: string); safecall; + function GetFieldValues(Index: integer): Variant; safecall; + function GetNames(Index: integer): string; safecall; + function GetWhere: TDAWhere; safecall; deprecated; + function GetDynamicWhere: TDAWhereBuilder; safecall; + procedure SetDynamicWhere(const Value: TDAWhereBuilder);safecall; + function GetPrepared: boolean; safecall; + procedure SetPrepared(Value: boolean); safecall; + function GetState: TDataSetState; safecall; + function GetLogicalName: string; safecall; + procedure SetLogicalName(aName : string); safecall; + + procedure Notification(AComponent: TComponent; Operation: TOperation); override; + + procedure OnMasterChange(Sender: TObject); virtual; + procedure OnMasterDisable(Sender: TObject); virtual; + + function GetOnAfterOpen: TDAAfterOpenDatasetEvent; safecall; + function GetOnBeforeOpen: TDABeforeOpenDatasetEvent; safecall; + procedure SetOnAfterOpen(const Value: TDAAfterOpenDatasetEvent); safecall; + procedure SetOnBeforeOpen(const Value: TDABeforeOpenDatasetEvent); safecall; + + function GetOnAfterExecute: TDAAfterExecuteCommandEvent; safecall; + function GetOnBeforeExecute: TDABeforeExecuteCommandEvent; safecall; + procedure SetOnAfterExecute(const Value: TDAAfterExecuteCommandEvent); safecall; + procedure SetOnBeforeExecute(const Value: TDABeforeExecuteCommandEvent); safecall; + function GetOnExecuteError: TDAExecuteCommandErrorEvent; safecall; + procedure SetOnExecuteError(const Value: TDAExecuteCommandErrorEvent); safecall; + function GetOnOpenError: TDAOpenDatasetErrorEvent; safecall; + procedure SetOnOpenError(const Value: TDAOpenDatasetErrorEvent); safecall; + + procedure NotifyFieldsClear; + + // IInterface + function QueryInterface(const IID: TGUID; out Obj): HResult; override; + + property MasterLink: TMasterDataLink read fMasterLink; + + {$IFDEF MSWINDOWS} + protected + function InterfaceSupportsErrorInfo(const iid: TGUID): HResult; stdcall; + + public + function SafeCallException(ExceptObject: TObject; ExceptAddr: Pointer): HResult; override; + {$ENDIF} + + public { for Delta } + property RecIDField : TIntegerField read fRecIDField write fRecIDField; + function GetRowRecIDValue: integer; + + + procedure CallScript(const aEvent: string); + + procedure InitializeDataTable; + procedure DoCascadeOperation(aStreamer: TDADataStreamer; aOption: TDAMasterOption); + procedure WriteDeltaToStream(aStreamer: TDADataStreamer); + procedure ReadDeltaFromStream(aStreamer: TDADataStreamer; aFailedDeltas:TList);overload; + procedure ReadDeltaFromStream(aStreamer: TDADataStreamer); overload; + + public + constructor Create(aOwner: TComponent); override; + destructor Destroy; override; + + procedure EnableConstraints; virtual; safecall; abstract; + procedure DisableConstraints; virtual; safecall; abstract; + + procedure LoadFromRemoteSource(BookmarkPosition: boolean = FALSE); virtual; + procedure FetchMastersDetails(aMasterTable : TDADataTable = NIL; aRequestMappings : TStrings = NIL; IgnoreAutoFetchSettings : Boolean = False); dynamic; + procedure LoadSchema(PreserveLookupFields : boolean = FALSE; PreserveClientCalcFields : boolean = FALSE); + procedure LoadScript(aDatasetName : string = ''); + + function ApplyUpdates(RefetchAll: boolean = FALSE): boolean; dynamic; + procedure CancelUpdates(IncludeDetails : boolean = TRUE); + procedure CancelUpdateChange(Change: TDADeltaChange;IncludeDetails : boolean = TRUE); + + procedure Sort(const FieldNames: array of string; const Directions: array of TDASortDirection); + procedure UnSort; + + procedure ClearFields; + procedure ClearRows; + + procedure CloneSelectedRecord(Source: TDADataTable; DoPost: boolean = TRUE); overload; + procedure CloneSelectedRecord(const Source: IDADataset; DoPost: boolean = TRUE); overload; + + procedure SaveToStream(aStream: TStream); + procedure LoadFromStream(aStream: TStream); + procedure SaveToFile(const aFileName: string); + procedure LoadFromFile(const aFileName: string); + + procedure MergeDelta; virtual; + + // Master detail + function GetDetailDataTables: TList; + function GetDetailTablesforApplyUpdate(aRecursive: boolean = True): TList; + procedure GetDetailTablesforAllinOneFetch(aRemote, aLocal:TList; aRecursive: boolean); + function GetMasterDataTable : TDADataTable; + + // Methods + procedure Open; safecall; + procedure Close; safecall; + + procedure EnableControls; safecall; + procedure DisableControls; safecall; + + procedure Next; safecall; + + procedure Edit; safecall; + procedure Insert; safecall; + procedure Post; safecall; + procedure Cancel; safecall; + procedure Append; safecall; + procedure Delete; safecall; + + procedure Prior; safecall; + procedure First; safecall; + procedure Last; safecall; + + procedure Refresh; safecall; + + function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean; safecall; + function Lookup(const KeyFields: string; const KeyValues: Variant; const ResultFields: string): Variant; safecall; + + function FieldByName(const aName: string): TDAField; safecall; + function FindField(const aName: string): TDAField; safecall; + function ParamByName(const aName: string): TDAParam; safecall; + + function GetBookmark: pointer; safecall; + procedure GotoBookmark(Bookmark: TBookmark); safecall; + procedure FreeBookmark(Bookmark: TBookmark); safecall; + + procedure EnableEventHandlers; safecall; + procedure DisableEventHandlers; safecall; + + procedure InternalSetFetching(aFetching: boolean); + + procedure AddRecord(const FieldNames : array of string; const FieldValues : array of Variant); safecall; + + function GetCurrentRecIdValue: integer; + procedure SetCurrentRecIdValue(Value: integer); + + // Properties + property CurrRecId: integer read GetCurrRecId write SetCurrRecId; + property RecIDValue: integer read GetRowRecIDValue; + property Delta: IDADelta read GetDelta write fDelta; + property RecNo : integer read GetRecNo write SetRecNo; + + property BOF: boolean read GetBOF; + property EOF: boolean read GetEOF; + property RecordCount: integer read GetRecordCount; + property FieldCount: integer read GetFieldCount; + property FieldValues[Index: integer]: Variant read GetFieldValues; + property Names[Index: integer]: string read GetNames; + + property SortFieldNames: TStringArray read fSortFieldNames; + property SortDirections: TDASortDirectionArray read fSortDirections; + + property Opening: boolean read fOpening; + property Closing: boolean read fClosing; + property Editing: boolean read GetEditing; + property Fetching: boolean read fFetching; + + property State: TDataSetState read GetState; + property Dataset: TDataset read GetDataset; + + property IsEmpty : boolean read GetIsEmpty; + + property BusinessEventsObj: TDADataTableRules read fBusinessRules; + + property HasDelta: boolean read GetHasDelta; + property HasDeltaRecursive: boolean read GetHasDeltaRecursive; + property DeltaInitialized: boolean read GetDeltaInitialized; + + property Where : TDAWhere read GetWhere; + property DynamicWhere: TDAWhereBuilder read GetDynamicWhere write SetDynamicWhere; + procedure CheckProperties(ACheckRemoteFetching: Boolean=False); virtual; + property HasReducedDelta: boolean read fHasReducedDelta; + published + property Active: boolean read GetActiveProperty write SetActiveProperty stored fStoreActive default false; + property StoreActive: boolean read fStoreActive write fStoreActive default false; + + property RemoteUpdatesOptions: TDARemoteUpdatesOptions read fRemoteUpdateOptions write fRemoteUpdateOptions; + + property MaxRecords : integer read fMaxRecords write fMaxRecords default -1; + + property Fields: TDAFieldCollection read GetFieldsProperty write SetFields; + property Params: TDAParamCollection read GetParamsProperty write SetParams; + + property MasterMappingMode : TDAMasterMappingMode read fMasterMappingMode write fMasterMappingMode default mmParams; + property MasterParamsMappings : TStrings read GetMasterParamsMappings write SetMasterParamsMappings; + + property LogChanges: boolean read GetLogChanges write SetLogChanges default true; + property StreamingOptions: TDAStreamingOptions read fStreamingOptions write fStreamingOptions; + property RemoteFetchEnabled: boolean read fRemoteFetchEnabled write fRemoteFetchEnabled default true; + + property ScriptCode : TStrings read fScriptCode write SetScriptCode; + property CustomAttributes : TStrings read fCustomAttributes write SetCustomAttributes; + + property RemoteDataAdapter: TDABaseRemoteDataAdapter read fRemoteDataAdapter write SetRemoteDataAdapter; + + property BeforeOpen: TDADataTableNotifyEvent read fBeforeOpen write fBeforeOpen; + property AfterOpen: TDADataTableNotifyEvent read fAfterOpen write fAfterOpen; + property BeforeClose: TDADataTableNotifyEvent read fBeforeClose write fBeforeClose; + property AfterClose: TDADataTableNotifyEvent read fAfterClose write fAfterClose; + property BeforeInsert: TDADataTableNotifyEvent read fBeforeInsert write fBeforeInsert; + property AfterInsert: TDADataTableNotifyEvent read fAfterInsert write fAfterInsert; + property BeforeEdit: TDADataTableNotifyEvent read fBeforeEdit write fBeforeEdit; + property AfterEdit: TDADataTableNotifyEvent read fAfterEdit write fAfterEdit; + property BeforePost: TDADataTableNotifyEvent read fBeforePost write fBeforePost; + property AfterPost: TDADataTableNotifyEvent read fAfterPost write fAfterPost; + property BeforeCancel: TDADataTableNotifyEvent read fBeforeCancel write fBeforeCancel; + property AfterCancel: TDADataTableNotifyEvent read fAfterCancel write fAfterCancel; + property BeforeDelete: TDADataTableNotifyEvent read fBeforeDelete write fBeforeDelete; + property AfterDelete: TDADataTableNotifyEvent read fAfterDelete write fAfterDelete; + property BeforeScroll: TDADataTableNotifyEvent read fBeforeScroll write fBeforeScroll; + property AfterScroll: TDADataTableNotifyEvent read fAfterScroll write fAfterScroll; + property BeforeRefresh: TDADataTableNotifyEvent read fBeforeRefresh write fBeforeRefresh; + property AfterRefresh: TDADataTableNotifyEvent read fAfterRefresh write fAfterRefresh; + property OnCalcFields: TDADataTableNotifyEvent read fOnCalcFields write fOnCalcFields; + property OnNewRecord: TDADataTableNotifyEvent read fOnNewRecord write fOnNewRecord; + + property OnFilterRecord: TDADataTableFilterEvent read fOnFilterRecord write fOnFilterRecord; + + property ReadOnly : boolean read GetReadOnly write SetReadOnly; + + property OnDeleteError: TDADataTableErrorEvent read fOnDeleteError write fOnDeleteError; + property OnEditError: TDADataTableErrorEvent read fOnEditError write fOnEditError; + property OnPostError: TDADataTableErrorEvent read fOnPostError write fOnPostError; + + property LocalSchema: TDASchema read fLocalSchema write SetLocalSchema; + property LocalDataStreamer: TDADataStreamer read fLocalDataStreamer write SetLocalDataStreamer; + property LocalConnection: string read fLocalConnection write fLocalConnection; + + property MasterSource: TDADataSource read GetMasterSource write SetMasterSource; + property MasterFields: string read GetMasterFields write SetMasterFields; + property DetailFields: string read GetDetailFields write SetDetailsFields; + property MasterRequestMappings: TStrings read GetMasterRequestMappings write SetMasterRequestMappings; + + property DetailOptions: TDADetailOptions read fDetailOptions write fDetailOptions; + property MasterOptions: TDAMasterOptions read fMasterOptions write fMasterOptions; + + property Filtered: boolean read GetFiltered write SetFiltered default false; + property Filter: string read GetFilter write SetFilter; + + property LogicalName: string read fLogicalName write fLogicalName; + + //property OnApplyUpdatesError: TDAApplyUpdatesError read fOnApplyUpdatesError write fOnApplyUpdatesError; + + property OnAfterApplyUpdates : TDADataTableNotifyEvent read fOnAfterApplyUpdates write fOnAfterApplyUpdates; + property OnBeforeApplyUpdates : TDABeforeApplyUpdatesEvent read fOnBeforeApplyUpdates write fOnBeforeApplyUpdates; + property OnBeforeMergeDelta : TDADataTableNotifyEvent read fOnBeforeMergeDelta write fOnBeforeMergeDelta; + property OnAfterMergeDelta : TDADataTableNotifyEvent read fOnAfterMergeDelta write fOnAfterMergeDelta; + + property OnBeforeDataRequestCall: TDADataTableRemoteRequestEvent read fOnBeforeDataRequestCall write fOnBeforeDataRequestCall; + property OnAfterDataRequestCall: TDADataTableRemoteRequestEvent read fOnAfterDataRequestCall write fOnAfterDataRequestCall; + property OnBeforeDataUpdateCall: TDADataTableRemoteRequestEvent read fOnBeforeDataUpdateCall write fOnBeforeDataUpdateCall; + property OnAfterDataUpdateCall: TDADataTableRemoteRequestEvent read fOnAfterDataUpdateCall write fOnAfterDataUpdateCall; + property OnBeforeSchemaCall: TDADataTableRemoteRequestEvent read fOnBeforeSchemaCall write fOnBeforeSchemaCall; + property OnAfterSchemaCall: TDADataTableRemoteRequestEvent read fOnAfterSchemaCall write fOnAfterSchemaCall; + property OnBeforeScriptCall: TDADataTableRemoteRequestEvent read fOnBeforeScriptCall write fOnBeforeScriptCall; + property OnAfterScriptCall: TDADataTableRemoteRequestEvent read fOnAfterScriptCall write fOnAfterScriptCall; + + property OnReceiveDataStream: TDADataRequestStreamEvent read fOnReceiveDataStream write fOnReceiveDataStream; + + property OnBeforeFieldChange: TDADataTableDataChangeEvent read fBeforeFieldChange write fBeforeFieldChange; + property OnAfterFieldChange: TDADataTableDataChangeEvent read fAfterFieldChange write fAfterFieldChange; + property BusinessRulesID: string read fBusinessRulesID write SetBusinessRulesID; + end; + + TDADataTableClass = class of TDADataTable; + {$WARN SYMBOL_DEPRECATED ON} + + { Exceptions } + EDABizValidationException = class(EROException); + + { TDABusinessRules } + TDABusinessRules = class(TDAEngineBaseObject) + private + protected + function _AddRef: Integer; override; + function _Release: Integer; override; + + public + constructor Create; virtual; + destructor Destroy; override; + + end; + + IDAStronglyTypedDataTable = interface + ['{4D4063AA-DFD0-4B4D-8CC2-FCE3BE1D2F87}'] + procedure Open; + procedure Close; + + function GetActive: boolean; + procedure SetActive(const Value: boolean); + + property Active: boolean read GetActive write SetActive; + + procedure Append; + procedure Cancel; + procedure Delete; + procedure Edit; + procedure First; + procedure Insert; + procedure Last; + procedure Next; + procedure Post; + procedure Prior; + + function Locate(const aKeyFields: string; const aKeyValues: Variant; aOptions: TLocateOptions = []): Boolean; + function Lookup(const KeyFields: string; const KeyValues: Variant; const ResultFields: string): Variant; + + function GetDataTable : TDADataTable; + + function GetState : TDatasetState; + function GetIsEmpty : boolean; + function GetRecNo : integer; + procedure SetRecNo(Value : integer); + function GetMasterOptions : TDAMasterOptions; + procedure SetMasterOptions(Value : TDAMasterOptions); + function GetDetailOptions : TDADetailOptions; + procedure SetDetailOptions(Value : TDADetailOptions); + + function IsFieldNull(const FieldIndexOrName : Variant) : boolean; + procedure ClearField(const FieldIndexOrName : Variant); + + function GetBOF: boolean; + function GetEOF: boolean; + function GetRecordCount: integer; + + property BOF: boolean read GetBOF; + property EOF: boolean read GetEOF; + property RecordCount: integer read GetRecordCount; + property RecNo : integer read GetRecNo write SetRecNo; + + property MasterOptions : TDAMasterOptions read GetMasterOptions write SetMasterOptions; + property DetailOptions : TDADetailOptions read GetDetailOptions write SetDetailOptions; + + property IsEmpty : boolean read GetIsEmpty; + property State : TDatasetState read GetState; + property DataTable : TDADataTable read GetDataTable; + end; + + { TDAFieldRules } + TDAFieldRules = class(TDABusinessRules) + private + fField : TDAField; + fDataTable : TDADataTable; + + protected + // Misc + procedure Attach(aDataTable: TDADataTable); virtual; + procedure Detach(aDataTable: TDADataTable); virtual; + + // Event handler hooks + procedure OnValidate(Sender: TDACustomField); virtual; + procedure OnChange(Sender: TDACustomField); virtual; + + property DataTable : TDADataTable read fDataTable; + + public + constructor Create(aField : TDAField; aDataTable : TDADataTable); reintroduce; virtual; + destructor Destroy; override; + end; + + TDAFieldRulesClass = class of TDAFieldRules; + + { TDADataTableRules } + TDADataTableRules = class(TDABusinessRules, IDAStronglyTypedDataTable, IDARangeController) + private + fDataTable: TDADataTable; + fDetails : TStringList; + + function GetDetails(Index: integer): TDADataTable; + function GetDetailsCount: integer; + + protected + // Misc + function GetDataTable: TDADataTable; + procedure Attach(aDataTable: TDADataTable); virtual; + procedure Detach(aDataTable: TDADataTable); virtual; + + procedure RefreshDetails; + + function FindDetail(const aLogicalName : string) : TDADataTable; + function DetailByName(const aLogicalName : string) : TDADataTable; + + // Business events + procedure BeforeOpen(Sender: TDADataTable); virtual; + procedure AfterOpen(Sender: TDADataTable); virtual; + procedure BeforeClose(Sender: TDADataTable); virtual; + procedure AfterClose(Sender: TDADataTable); virtual; + procedure BeforeInsert(Sender: TDADataTable); virtual; + procedure AfterInsert(Sender: TDADataTable); virtual; + procedure BeforeEdit(Sender: TDADataTable); virtual; + procedure AfterEdit(Sender: TDADataTable); virtual; + procedure BeforePost(Sender: TDADataTable); virtual; + procedure AfterPost(Sender: TDADataTable); virtual; + procedure BeforeCancel(Sender: TDADataTable); virtual; + procedure AfterCancel(Sender: TDADataTable); virtual; + procedure BeforeDelete(Sender: TDADataTable); virtual; + procedure AfterDelete(Sender: TDADataTable); virtual; + procedure BeforeScroll(Sender: TDADataTable); virtual; + procedure AfterScroll(Sender: TDADataTable); virtual; + procedure BeforeRefresh(Sender: TDADataTable); virtual; + procedure AfterRefresh(Sender: TDADataTable); virtual; + procedure OnCalcFields(Sender: TDADataTable); virtual; + procedure OnNewRecord(Sender: TDADataTable); virtual; + + procedure OnDeleteError(DataTable: TDADataTable; Error: EDatabaseError; var Action: TDataAction); virtual; + procedure OnEditError(DataTable: TDADataTable; Error: EDatabaseError; var Action: TDataAction); virtual; + procedure OnPostError(DataTable: TDADataTable; Error: EDatabaseError; var Action: TDataAction); virtual; + procedure OnFilterRecord(DataTable: TDADataTable; var Accept : boolean); virtual; + + procedure OnAfterSchemaCall(DataTable: TDADataTable; Request: TDARemoteRequest); virtual; + procedure OnAfterDataRequestCall(DataTable: TDADataTable; Request: TDARemoteRequest); virtual; + procedure OnBeforeSchemaCall(DataTable: TDADataTable; Request: TDARemoteRequest); virtual; + procedure OnBeforeDataRequestCall(DataTable: TDADataTable; Request: TDARemoteRequest); virtual; + procedure OnBeforeDataUpdateCall(DataTable: TDADataTable; Request: TDARemoteRequest); virtual; + procedure OnAfterDataUpdateCall(DataTable: TDADataTable; Request: TDARemoteRequest); virtual; + procedure OnBeforeScriptCall(DataTable: TDADataTable; Request: TDARemoteRequest); virtual; + procedure OnAfterScriptCall(DataTable: TDADataTable; Request: TDARemoteRequest); virtual; + + procedure OnAfterApplyUpdates(DataTable: TDADataTable); virtual; + procedure OnBeforeMergeDelta(DataTable: TDADataTable); virtual; + procedure OnAfterMergeDelta(DataTable: TDADataTable); virtual; + + procedure OnReceiveDataStream(DataTable: TDADataTable; Stream: TStream); virtual; + procedure OnBeforeApplyUpdates(DataTable: TDADataTable; const Delta: IDADelta); virtual; + + procedure Open; virtual; + procedure Close; virtual; + + function GetActive: boolean; + procedure SetActive(const Value: boolean); + + property Active: boolean read GetActive write SetActive; + + procedure Append; virtual; + procedure Cancel; virtual; + procedure Delete; virtual; + procedure Edit; virtual; + procedure First; virtual; + procedure Insert; virtual; + procedure Last; virtual; + procedure Next; virtual; + procedure Post; virtual; + procedure Prior; virtual; + + function GetBOF: Boolean; virtual; + function GetEOF: Boolean; virtual; + function GetRecordCount: Integer; virtual; + function Locate(const aKeyFields: String; const aKeyValues: Variant; aOptions: TLocateOptions = []): Boolean; virtual; + function Lookup(const KeyFields: string; const KeyValues: Variant; const ResultFields: string): Variant; + + function GetMasterOptions : TDAMasterOptions; + procedure SetMasterOptions(Value : TDAMasterOptions); + function GetDetailOptions : TDADetailOptions; + procedure SetDetailOptions(Value : TDADetailOptions); + function GetRecNo : integer; + procedure SetRecNo(Value : integer); + function GetIsEmpty: boolean; + function GetState: TDatasetState; + + function IsFieldNull(const FieldIndexOrName : Variant) : boolean; + procedure ClearField(const FieldIndexOrName : Variant); + + property DataTable: TDADataTable read GetDataTable; + property Details[Index : integer] : TDADataTable read GetDetails; + property DetailCount : integer read GetDetailsCount; + property State : TDatasetState read GetState; + property IsEmpty : boolean read GetIsEmpty; + + { IDARangeController } + procedure ApplyRange; safecall; + procedure CancelRange; safecall; + procedure SetRange(const StartValues, EndValues: array of const); safecall; + procedure EditRangeEnd; safecall; + procedure EditRangeStart; safecall; + procedure SetRangeEnd; safecall; + procedure SetRangeStart; safecall; + + public + constructor Create(aDataTable: TDADataTable); reintroduce; virtual; + destructor Destroy; override; + end; + + TDADataTableRulesClass = class of TDADataTableRules; + + { TDADataTableList } + TDADataTableList = class(TList) + private + function GetItems(Index: integer): TDADataTable; + function GetPendingChangeCount: integer; + protected + public + constructor Create(aOwnerComponent : TComponent); + + function ScanAndAdd(aOwnerComponent : TComponent) : integer; + + function Add(aDataTable : TDADataTable) : integer; + procedure Remove(aDataTable : TDADataTable); + + property Items[Index : integer] : TDADataTable read GetItems; default; + property PendingChangeCount : integer read GetPendingChangeCount; + end; + +// Registration routines +procedure RegisterDataTableRules(const anID: string; const aDataTableRulesClass: TDADataTableRulesClass); +function FindDataTableRules(const anID: string; out aDataTableRulesClass: TDADataTableRulesClass): boolean; + +procedure RegisterFieldRules(const anID: string; const aFieldRulesClass: TDAFieldRulesClass); +function FindFieldRules(const anID: string; out aFieldRulesClass: TDAFieldRulesClass): boolean; + +// Helper functions +function NewDelta(aDataTable: TDADataTable): IDADelta; overload; + +function DatatableFromStream(aStream : TStream; + aDataTableClass : TDADataTableClass; + anAdapter : TDADataAdapter; + const aDatasetName : string = '') : TDADataTable; + +implementation + +uses + {$IFDEF DESIGNTIME} + {$IFDEF MSWINDOWS} + Dialogs, + {$ENDIF MSWINDOWS} + {$IFDEF LINUX} + QDialogs, + {$ENDIF LINUX} + {$ENDIF DESIGNTIME} + TypInfo, Variants, + uROClient, uROSessions, uROXMLIntf, + uDARegExpr, uDABusinessProcessor, + uDARemoteDataAdapter; + +var + _bizfields, + _bizdatatables: TStringList; + +type + TDataSetHack = class(TDataSet); + +function NewDelta(aDataTable: TDADataTable): IDADelta; +begin + result := TDADelta.Create(aDataTable); +end; + +procedure RegisterDataTableRules(const anID: string; const aDataTableRulesClass: TDADataTableRulesClass); +var + idx: integer; +begin + idx := _bizdatatables.IndexOf(anID); + + if (idx >= 0) then + _bizdatatables.Objects[idx] := TObject(aDataTableRulesClass) + else + _bizdatatables.AddObject(anID, TObject(aDataTableRulesClass)); +end; + +function FindDataTableRules(const anID: string; out aDataTableRulesClass: TDADataTableRulesClass): boolean; +var + idx: integer; +begin + result := FALSE; + idx := _bizdatatables.IndexOf(anID); + if (idx >= 0) then begin + aDataTableRulesClass := TDADataTableRulesClass(_bizdatatables.Objects[idx]); + result := TRUE; + end + else + aDataTableRulesClass := nil; +end; + +procedure RegisterFieldRules(const anID: string; const aFieldRulesClass: TDAFieldRulesClass); +var + idx: integer; +begin + idx := _bizfields.IndexOf(anID); + + if (idx >= 0) then + _bizfields.Objects[idx] := TObject(aFieldRulesClass) + else + _bizfields.AddObject(anID, TObject(aFieldRulesClass)); +end; + +function FindFieldRules(const anID: string; out aFieldRulesClass: TDAFieldRulesClass): boolean; +var + idx: integer; +begin + result := FALSE; + idx := _bizfields.IndexOf(anID); + if (idx >= 0) then begin + aFieldRulesClass := TDAFieldRulesClass(_bizfields.Objects[idx]); + result := TRUE; + end + else + aFieldRulesClass := nil; +end; + +function DatatableFromStream(aStream : TStream; + aDataTableClass : TDADataTableClass; + anAdapter : TDADataAdapter; + const aDatasetName : string = '') : TDADataTable; +begin + result := aDataTableClass.Create(NIL); + result.RemoteFetchEnabled := FALSE; + anAdapter.ReadDataset(aStream, result, TRUE, aDatasetName); + result.First; +end; + +{ TDADataTable } + +constructor TDADataTable.Create(aOwner: TComponent); +begin + inherited; + fHasReducedDelta := False; + fScriptCode := TStringList.Create; + fCustomAttributes := TStringList.Create; + fMaxRecords := -1; + + fMasterMappingMode := mmParams; + fMasterParamsMappings := TStringList.Create; + + fFieldRules := TObjectList.Create; + + fRemoteUpdateOptions := []; + fStreamingOptions := [soDisableEventsWhileStreaming]; + fDetailOptions := [dtCascadeOpenClose, + dtCascadeApplyUpdates, + dtAutoFetch, + dtCascadeDelete, + dtCascadeUpdate, + dtDisableLogOfCascadeDeletes, + dtDisableLogOfCascadeUpdates, + dtIncludeInAllInOneFetch // Done to avoid breaking existing apps + ]; + + fMasterOptions := [moCascadeOpenClose, + moCascadeApplyUpdates, + moCascadeDelete, + moCascadeUpdate, + moDisableLogOfCascadeDeletes, + moDisableLogOfCascadeUpdates]; + + fFetchedMasters := TStringList.Create; + fFetchedMasters.Duplicates := dupError; + fFetchedMasters.Sorted := TRUE; + + fMasterRequestMappings := TStringList.Create; + + fRemoteFetchEnabled := TRUE; + fStreaming := False; + + SetLength(fSortDirections, 0); + SetLength(fSortFieldNames, 0); + + fFields := TDAFieldCollection.Create(Self); + fFields.OnFieldBeforeUpdate := InternalBeforeFieldUpdate; + fFields.OnFieldAfterUpdate := InternalAfterFieldUpdate; + fParams := TDAParamCollection.Create(Self); + + fWhere := TDAWhere.Create(fFields, TRUE); + fWhere.OnChange := OnWhereChange; + + fDataset := GetDatasetClass.Create(Self); + fDataset.Name := 'Dataset'; + + fMasterLink := TMasterDataLink.Create(fDataset); + fMasterLink.OnMasterChange := OnMasterChange; + fMasterLink.OnMasterDisable := OnMasterDisable; + + fExpressionEvaluator := TDAStdExpressionEvaluator.Create; + fExpressionEvaluator.OnGetValue := ExpessionEvaluatorGetValue; + + fDynamicWhere := TDAWhereBuilder.Create; + fLogChanges := TRUE; +end; + +destructor TDADataTable.Destroy; +begin + fDynamicWhere.Free; + fExpressionEvaluator.Free; + fFields.Free; + fWhere.Free; + + fMasterLink.Free; + fMasterRequestMappings.Free; + fMasterParamsMappings.Free; + + fFetchedMasters.Free; + + if (fBusinessRules <> nil) then begin + fBusinessRules.Detach(Self); + fBusinessRules.Free; + end; + + fFieldRules.Free; + fParams.Free; + + fDelta := NIL; + fScriptCode.Free; + fCustomAttributes.Free; + + inherited; +end; + +procedure TDADataTable.OnWhereChange(Sender : TObject); +var + par : TRORequestParam; +begin + //TODO: par := DataRequestCall.FindParam(par_UserFilter); + //if (par<>NIL) then par.AsString := fWhere.Clause; + + if RemoteFetchEnabled and (RemoteDataAdapter <> nil) then + begin + par := (TDARemoteDataAdapter(RemoteDataAdapter).GetDataCall).FindParam('UserFilter'); + if (par <> NIL) then + par.AsString := fWhere.Clause; + end; +end; + +procedure TDADataTable.AttachEventHooks(aDataset: TDataset); +var i : integer; + lFieldRulesClass : TDAFieldRulesClass; + lFieldRules : TDAFieldRules; + lField : TDAField; +begin + if (csDesigning in ComponentState) then Exit; + + aDataset.BeforeInsert := InternalBeforeInsert; + aDataset.AfterInsert := InternalAfterInsert; + aDataset.BeforeEdit := InternalBeforeEdit; + aDataset.AfterEdit := InternalAfterEdit; + aDataset.BeforePost := InternalBeforePost; + aDataset.AfterPost := InternalAfterPost; + aDataset.BeforeCancel := InternalBeforeCancel; + aDataset.AfterCancel := InternalAfterCancel; + aDataset.BeforeDelete := InternalBeforeDelete; + aDataset.AfterDelete := InternalAfterDelete; + aDataset.BeforeScroll := InternalBeforeScroll; + aDataset.AfterScroll := InternalAfterScroll; + aDataset.BeforeRefresh := InternalBeforeRefresh; + aDataset.AfterRefresh := InternalAfterRefresh; + + aDataset.OnCalcFields := InternalOnCalcFields; + aDataset.OnNewRecord := InternalOnNewRecord; + + aDataset.OnFilterRecord := InternalOnFilterRecord; + + aDataset.OnDeleteError := InternalOnDeleteError; + aDataset.OnEditError := InternalOnEditError; + aDataset.OnPostError := InternalOnPostError; + + for i := 0 to (fFields.Count-1) do begin + lField := Fields[i]; + if (lField.BusinessClassID='') then Continue; + + Check(not FindFieldRules(lField.BusinessClassID, lFieldRulesClass), 'Invalid BusinessClassID "%s"', [lField.BusinessClassID]); + + lFieldRules := lFieldRulesClass.Create(lField, Self); + fFieldRules.Add(lFieldRules); + end; + + fFields.FieldEventsDisabled := FALSE; +end; + +procedure TDADataTable.DetachEventHooks(aDataset: TDataset); +begin + if (csDesigning in ComponentState) then Exit; + + aDataset.BeforeInsert := nil; + aDataset.AfterInsert := nil; + aDataset.BeforeEdit := nil; + aDataset.AfterEdit := nil; + aDataset.BeforePost := TempSetRowRecIDValue; // We still need to autoinc the RecID!!! + aDataset.AfterPost := nil; + aDataset.BeforeCancel := nil; + aDataset.AfterCancel := nil; + aDataset.BeforeDelete := nil; + aDataset.AfterDelete := nil; + aDataset.BeforeScroll := nil; + aDataset.AfterScroll := nil; + aDataset.BeforeRefresh := nil; + aDataset.AfterRefresh := nil; + if not Filtered then + aDataset.OnCalcFields := nil; + aDataset.OnNewRecord := nil; + + aDataset.OnFilterRecord := nil; + + aDataset.OnDeleteError := nil; + aDataset.OnEditError := nil; + aDataset.OnPostError := nil; + + fFields.FieldEventsDisabled := TRUE; + fFieldRules.Clear; // Destroyes them +end; + +procedure TDADataTable.InternalAfterDelete(Sender: TDataset); +begin + CallScript('AfterDelete'); + if Assigned(AfterDelete) then AfterDelete(Self); + if Assigned(fBusinessRules) then fBusinessRules.AfterDelete(Self); + + if (ruoOnPost in RemoteUpdatesOptions) then ApplyUpdates(); +end; + +procedure TDADataTable.InternalAfterEdit(Sender: TDataset); +begin + CallScript('AfterEdit'); + if Assigned(AfterEdit) then AfterEdit(Self); + if Assigned(fBusinessRules) then fBusinessRules.AfterEdit(Self); +end; + +procedure TDADataTable.InternalAfterInsert(Sender: TDataset); +var + i: integer; +begin + CallScript('AfterInsert'); + + if (State <> dsEdit) then begin // Somehow it's gets in dsBrowse here... + // (autoinc) + for i := 0 to (fFields.Count-1) do + if (fFields[i].DataType=datLargeAutoInc) then begin + fFields[i].AsLargeInt := AutoIncs[i]; + AutoIncs[i] := AutoIncs[i]-1; + end else + if (fFields[i].DataType=datAutoInc) then begin + fFields[i].AsInteger := AutoIncs[i]; + AutoIncs[i] := AutoIncs[i]-1; + end; + end; + + if Assigned(AfterInsert) then AfterInsert(Self); + if Assigned(fBusinessRules) then fBusinessRules.AfterInsert(Self); +end; + +procedure TDADataTable.InternalAfterRefresh(Sender: TDataset); +begin + CallScript('AfterRefresh'); + if Assigned(AfterRefresh) then AfterRefresh(Self); + if Assigned(fBusinessRules) then fBusinessRules.AfterRefresh(Self); +end; + +procedure TDADataTable.InternalAfterScroll(Sender: TDataset); +begin + if fStreaming and (soDisableEventsWhileStreaming in fStreamingOptions) + then Exit; + CallScript('AfterScroll'); + if Assigned(AfterScroll) then AfterScroll(Self); + if Assigned(fBusinessRules) then fBusinessRules.AfterScroll(Self); +end; + +procedure TDADataTable.InternalBeforeCancel(Sender: TDataset); +begin + CallScript('BeforeCancel'); + if Assigned(BeforeCancel) then BeforeCancel(Self); + if Assigned(fBusinessRules) then fBusinessRules.BeforeCancel(Self); +end; + +procedure TDADataTable.InternalBeforeRefresh(Sender: TDataset); +begin + CallScript('BeforeRefresh'); + if Assigned(BeforeRefresh) then BeforeRefresh(Self); + if Assigned(fBusinessRules) then fBusinessRules.BeforeRefresh(Self); + DoRefresh(fDataset); +end; + +procedure TDADataTable.InternalBeforeScroll(Sender: TDataset); +begin + if fStreaming and (soDisableEventsWhileStreaming in fStreamingOptions) + then Exit; + CallScript('BeforeScroll'); + if Assigned(BeforeScroll) then BeforeScroll(Self); + if Assigned(fBusinessRules) then fBusinessRules.BeforeScroll(Self); +end; + +procedure TDADataTable.InternalOnCalcFields(Sender: TDataset); +var + i: integer; +begin + CallScript('OnCalcFields'); + if Assigned(OnCalcFields) then OnCalcFields(Self); + if Assigned(fBusinessRules) then fBusinessRules.OnCalcFields(Self); + For i:= 0 to fFields.Count-1 do + With fFields[i] do + if Calculated and (Expression <> '') then Value:= fExpressionEvaluator.Evaluate(Expression); +end; + +procedure TDADataTable.InternalOnDeleteError(DataSet: TDataSet; Error: EDatabaseError; var Action: TDataAction); +begin + if Assigned(OnDeleteError) then OnDeleteError(Self, Error, Action); + if Assigned(fBusinessRules) then fBusinessRules.OnDeleteError(Self, Error, Action); +end; + +procedure TDADataTable.InternalOnEditError(DataSet: TDataSet; Error: EDatabaseError; var Action: TDataAction); +begin + if Assigned(OnEditError) then OnEditError(Self, Error, Action); + if Assigned(fBusinessRules) then fBusinessRules.OnEditError(Self, Error, Action); +end; + +procedure TDADataTable.InternalOnFilterRecord(Dataset: TDataset; var Accept: Boolean); +begin + if Assigned(OnFilterRecord) then OnFilterRecord(Self, Accept); + if Assigned(fBusinessRules) then fBusinessRules.OnFilterRecord(Self, Accept); +end; + +procedure TDADataTable.InternalOnPostError(DataSet: TDataSet; Error: EDatabaseError; var Action: TDataAction); +begin + fDelta.RestoreLastChange; // ALEF: added as follow up to the Post errors (Jeff B.) + + if Assigned(OnPostError) then OnPostError(Self, Error, Action); + if Assigned(fBusinessRules) then fBusinessRules.OnPostError(Self, Error, Action); +end; + +procedure TDADataTable.SetLogChanges(const Value: boolean); +begin + fLogChanges := Value; +end; + +function TDADataTable.GetDataset: TDataset; +begin + result := fDataset // inherited Dataset; +end; + +function TDADataTable.GetFields: TDAFieldCollection; +begin + result := fFields; +end; + +procedure TDADataTable.SetFields(const Value: TDAFieldCollection); +begin + if Active then Close; + fFields.Assign(Value); +end; + +function TDADataTable.GetActive: boolean; +begin + result := fDataset.Active; +end; + +procedure TDADataTable.SetActive(Value: boolean); +begin + if (csLoading in ComponentState) then + fStreamedActive := Value + else begin + if (Value <> Active) then begin + if Value then + Open + else + Close + end; + end; +end; + +procedure TDADataTable.InternalOnNewRecord(Sender: TDataset); +var + i: integer; +begin + fFields.FieldEventsDisabled := TRUE; + try + try + for i := 0 to (fFields.Count - 1) do + if (fFields[i].DefaultValue <> '') then fFields[i].Value := fFields[i].DefaultValue; + + fFields.FieldEventsDisabled := FALSE; + + CallScript('OnNewRecord'); + if Assigned(OnNewRecord) then OnNewRecord(Self); + if Assigned(fBusinessRules) then fBusinessRules.OnNewRecord(Self); + except + fDelta.CancelChange; // OnNewRecord's exception put the dataset in read mode so we must cancel the change + raise; + end; + finally + fFields.FieldEventsDisabled := FALSE; // Just in case... + end; +end; + +procedure TDADataTable.DoCascadeOperation(aStreamer: TDADataStreamer; aOption: TDAMasterOption); +var + i: integer; + details: TList; + dt: TDADataTable; + flag: boolean; +begin + if aOption = moAllInOneFetch then begin + DoCascadeRemoteAllInOneFetch(aStreamer); + exit; + end; + details := GetDetailDataTables; + try + for i := 0 to (details.Count - 1) do begin + dt := TDADataTable(details[i]); + flag := dt.LogChanges; + + case aOption of + moCascadeDelete: begin + if (dtDisableLogOfCascadeDeletes in dt.DetailOptions) then dt.LogChanges := FALSE; + + dt.ClearRows; + end; + + moCascadeOpenClose: begin + if (dtCascadeOpenClose in dt.DetailOptions) then begin + if Opening then + dt.DoOpen + else if Closing then + dt.Close; + end; + end; + + moCascadeUpdate: begin + end; + + moAllInOneFetch: begin + { + if (dtIncludeInAllInOneFetch in dt.DetailOptions) then try + dt.LogChanges := FALSE; + + if Opening and not (soIgnoreStreamSchema in fStreamingOptions) then + begin + aStreamer.ReadDataset(dt.LogicalName, dt, TRUE, FALSE); + dt.InitializeDataTable; + end; + + aStreamer.ReadDataset(dt.LogicalName, dt); + dt.DoCascadeOperation(aStreamer, moAllInOneFetch); + finally + dt.LogChanges := flag; + end; } + end; + end; + + dt.LogChanges := flag; + end; + finally + details.Free; + end; +end; + +procedure TDADataTable.DoCascadeRemoteAllInOneFetch(aStreamer: TDADataStreamer); +var + lFetchedMasters: TStringList; + + procedure ProcessDetailTable(aTable: TDADataTable); + begin + with aTable do begin + fFetchedMasters.Sorted:=False; + fFetchedMasters.AddStrings(lFetchedMasters); + fFetchedMasters.Sorted:=True; + DoCascadeRemoteAllInOneFetch(aStreamer); + end; + end; + +var + lLocalList, lRemoteList: TList; + ltbl: TDADataTable; + i: integer; + lflag: boolean; +begin + if moAllInOneFetch in fMasterOptions then begin + lRemoteList:= TList.Create; + lLocalList:= TList.Create; + try + GetDetailTablesforAllinOneFetch(lRemoteList,lLocalList, False); + if (lRemoteList.Count > 0) or (lLocalList.Count > 0) then begin + lFetchedMasters:= TStringList.Create; + try + First; + while not EOF do begin + lFetchedMasters.Add(IntToStr(GetRowRecIDValue)); + Next; + end; + lFetchedMasters.Sort; + + // these tables are read in RDA + for i := 0 to lRemoteList.Count - 1 do begin + ProcessDetailTable(TDADataTable(lRemoteList[i])); + end; + + // these tables we should read manually from streamer + for i := 0 to lLocalList.Count - 1 do begin + ltbl:= TDADataTable(lLocalList[i]); + if aStreamer.FindDatasetIndex(ltbl.LogicalName) = -1 then Continue; // may be to better raise an exception! + lflag := ltbl.LogChanges; + try + ltbl.LogChanges := False; + if Opening and not (soIgnoreStreamSchema in fStreamingOptions) then begin + aStreamer.ReadDataset(ltbl.LogicalName, ltbl, TRUE, FALSE); + ltbl.InitializeDataTable; + end; + aStreamer.ReadDataset(ltbl.LogicalName, ltbl); + finally + ltbl.LogChanges := lflag; + end; + ProcessDetailTable(ltbl); + end; + finally + lFetchedMasters.Free; + end; + end; + finally + lRemoteList.Free; + lLocalList.Free; + end; + end; +end; + +procedure TDADataTable.TempSetRowRecIDValue(Sender: TDataset); +begin + if (State <> dsEdit) then begin // Somehow it's gets in dsBrowse here... + fRecIDField.AsInteger := CurrRecId; + CurrRecId := CurrRecId + 1; + end; +end; + +procedure TDADataTable.CreateInternalFields(aDataset: TDataset; someFieldDefinitions: TDAFieldCollection); +var + i, cnt: integer; + fld: TFieldDef; + fldcls: TFieldClass; + realfld: TField; +begin + // Creates the RecID field + fld := aDataset.FieldDefs.AddFieldDef; + fld.DataType := ftInteger; + fld.Name := RecIDFieldName; + + // Creates the autoinc map (autoinc) + AutoIncs := CreateAutoIncArray; + + // Adds the data fields (non calculated) to the FieldDefs + for i := 0 to (Fields.Count - 1) do begin + if Fields[i].Calculated or Fields[i].Lookup then Continue; // Added as fields later + + fld := aDataset.FieldDefs.AddFieldDef; + + // (autoinc) + if (Fields[i].DataType=datLargeAutoInc) + then fld.DataType := ftLargeint + else + if (Fields[i].DataType=datAutoInc) + then fld.DataType := ftInteger + else fld.DataType := DATypeToVCLType(Fields[i].DataType); + + fld.Name := Fields[i].Name; + + {if not (fld.DataType in [ftFloat, ftCurrency, ftBlob, ftInteger]) + then fld.Size := Fields[i].Size;} + + if (fld.DataType = ftString) or (fld.DataType = ftWideString) then fld.Size := Fields[i].Size; + if (fld.DataType = ftGuid) then fld.Size := 38; + + fld.Required := Fields[i].Required; + end; + + // Creates the data fields + for i := 0 to (aDataset.FieldDefs.Count - 1) do begin + realfld := aDataset.FieldDefs[i].CreateField(aDataset); + realfld.DataSet := aDataset; // NEW + end; + + // Creates the calculated fields + for i := 0 to (Fields.Count - 1) do begin + if not Fields[i].Calculated then Continue; + + fldcls := DefaultFieldClasses[DATypeToVCLType(Fields[i].DataType)]; + if fldcls = nil then fldcls := TStringField; + realfld := fldcls.Create(Self); + realfld.Name := aDataset.Name + Fields[i].Name; + realfld.FieldName := Fields[i].Name; + realfld.DataSet := aDataset; + + if (Fields[i].DataType = datString) or (Fields[i].DataType = datWideString) then realfld.Size := Fields[i].Size; + + realfld.Required := Fields[i].Required; + if Fields[i].Calculated then realfld.FieldKind := fkCalculated; + + realfld.DataSet := aDataset; + end; + + // Creates the lookup fields + for i := 0 to (Fields.Count - 1) do begin + if not Fields[i].Lookup then Continue; + + fldcls := DefaultFieldClasses[DATypeToVCLType(Fields[i].DataType)]; + + if not Assigned(fldcls) then + RaiseError('No or invalid DataType specified for lookup field %s.%s',[self.Name, Fields[i].Name]); + + realfld := fldcls.Create(Self); + realfld.Name := aDataset.Name + Fields[i].Name; + realfld.FieldName := Fields[i].Name; + realfld.DataSet := aDataset; // NEW + + // Sets lookup properties + with Fields[i] do begin + {$IFDEF FPC} + realfld.FieldKind:=fkLookup; + {$ELSE} + realfld.Lookup := TRUE; + {$ENDIF} + if (LookupSource<>NIL) then + with TDADataSource(LookupSource) do + if Assigned(DataTable) + then realfld.LookupDataSet := DataTable.Dataset; + + realfld.LookupKeyFields := LookupKeyFields; + realfld.LookupCache := LookupCache; + realfld.LookupResultField := LookupResultField; + realfld.KeyFields := KeyFields; + end; + + if (Fields[i].DataType = datString) or (Fields[i].DataType = datWideString) then realfld.Size := Fields[i].Size; + + //realfld.DataSet := aDataset; + end; + + // Adjusts field positions (less intrusive than changing the code above) + cnt := Fields.Count-1; + for i := 0 to cnt do + aDataSet.FieldByName(Fields[i].Name).Index := i+1; +end; + +procedure TDADataTable.Loaded; +begin + inherited; + + if Assigned(fBusinessRules) + then fBusinessRules.Attach(Self); + + Active := fStreamedActive; + + AttachEventHooks(fDataset); +end; + +procedure TDADataTable.DoRefresh(aDataset: TDataset); +begin + if fRefreshing then Exit; + + fRefreshing := TRUE; + try + Close; + Open; + finally + fRefreshing := FALSE; + end; +end; + +procedure TDADataTable.InternalBeforeInsert(Sender: TDataset); +begin + CallScript('BeforeInsert'); + if Assigned(BeforeInsert) then BeforeInsert(Self); + if Assigned(fBusinessRules) then fBusinessRules.BeforeInsert(Self); + + if not LogChanges or (csDesigning in ComponentState) then Exit; + + fDelta.StartChange(ctInsert); +end; + +procedure TDADataTable.InternalBeforeDelete(Sender: TDataset); +begin + CallScript('BeforeDelete'); + if Assigned(BeforeDelete) then BeforeDelete(Self); + if Assigned(fBusinessRules) then fBusinessRules.BeforeDelete(Self); + + if not LogChanges or (csDesigning in ComponentState) then Exit; + + // Deletes the records from the detail tables + if (moCascadeDelete in MasterOptions) then DoCascadeOperation(nil, moCascadeDelete); + + // Logs the delete + fDelta.StartChange(ctDelete); + fDelta.EndChange; +end; + +procedure TDADataTable.InternalBeforeEdit(Sender: TDataset); +begin + CallScript('BeforeEdit'); + if Assigned(BeforeEdit) then BeforeEdit(Self); + if Assigned(fBusinessRules) then fBusinessRules.BeforeEdit(Self); + + if not LogChanges or (csDesigning in ComponentState) then Exit; + + fDelta.StartChange(ctUpdate); +end; + +procedure TDADataTable.InternalBeforePost(Sender: TDataset); +var details : TList; + key : string; + i : integer; +begin + CallScript('BeforePost'); + if Assigned(BeforePost) then BeforePost(Self); + if Assigned(fBusinessRules) then fBusinessRules.BeforePost(Self); + + for i := 0 to (fFields.Count - 1) do + if (fFields[i].RegExpression <> '') and not fFields[i].IsNull then begin + if not ExecRegExpr(fFields[i].RegExpression, fFields[i].AsString) then RaiseError('Invalid input value for field ' + fFields[i].Name); + end; + + if (State <> dsEdit) then begin // Somehow it's gets in dsBrowse here... + fRecIDField.AsInteger := CurrRecId; + CurrRecId := CurrRecId + 1; + end; + + // This was originally in AfterPost. Moved here because after a post filters might step in and the current + // record can change resulting in half change from record X and the remaining from record Y + + if not LogChanges or (csDesigning in ComponentState) then Exit; + fDelta.EndChange; + + // Adds a reference to the RecID of this record to avoid double fetching records + // This is a new master record, so it means there are no details to fetch remotely + if (State=dsInsert) then begin + key := IntToStr(GetRowRecIDValue); + details := GetDetailDataTables; + try + for i := 0 to (details.Count-1) do begin + with TDADataTable(details[i]) do + if Active and (fFetchedMasters.IndexOf(key)<0) then fFetchedMasters.Add(key); + end; + finally + details.Free; + end; + end; + + if (ruoOnPost in RemoteUpdatesOptions) then try + ApplyUpdates(); + except + on E: Exception do + begin + fDelta.RestoreLastChange; + raise; + end; + end; +end; + +procedure TDADataTable.InternalAfterPost(Sender: TDataset); +begin + CallScript('AfterPost'); + if Assigned(AfterPost) then AfterPost(Self); + if Assigned(fBusinessRules) then fBusinessRules.AfterPost(Self); + + if not LogChanges or (csDesigning in ComponentState) then Exit; + +end; + +procedure TDADataTable.InternalAfterCancel(Sender: TDataset); +begin + CallScript('AfterCancel'); + if Assigned(AfterCancel) then AfterCancel(Self); + if Assigned(fBusinessRules) then fBusinessRules.AfterCancel(Self); + + fDelta.CancelChange; +end; + +function TDADataTable.GetLogChanges: boolean; +begin + result := fLogChanges; +end; + +procedure TDADataTable.DisableControls; +begin + fDataset.DisableControls; +end; + +procedure TDADataTable.EnableControls; +begin + fDataset.EnableControls; +end; + +function TDADataTable.GetBOF: boolean; +begin + result := fDataset.BOF +end; + +function TDADataTable.GetEOF: boolean; +begin + result := fDataset.EOF +end; + +function TDADataTable.GetFieldCount: integer; +begin + result := fFields.Count +end; + +function TDADataTable.GetFieldValues(Index: integer): Variant; +begin + result := Fields[Index].Value +end; + +function TDADataTable.GetNames(Index: integer): string; +begin + result := Fields[Index].Name +end; + +function TDADataTable.GetRecordCount: integer; +begin + result := fDataset.RecordCount; +end; + +function TDADataTable.GetSQL: string; +begin + // Not implemented in DataTables + result := ''; +end; + +function TDADataTable.Locate(const KeyFields: string; + const KeyValues: Variant; Options: TLocateOptions): Boolean; +begin + if VarIsArray(KeyValues) and (VarArrayHighBound(KeyValues, 1) = 0) + then result := fDataset.Locate(KeyFields, KeyValues[0], Options) + else result := fDataset.Locate(KeyFields, KeyValues, Options); +end; + +procedure TDADataTable.Next; +begin + fDataset.Next; +end; + +procedure TDADataTable.SetSQL(const Value: string); +begin + // Not implemented in DataTables +end; + +function TDADataTable.Execute: integer; +begin + // Not implemented in DataTables + result := -1; +end; + +function TDADataTable.GetParams: TDAParamCollection; +begin + // Not implemented in DataTables + result := fParams; +end; + +procedure TDADataTable.RefreshParams; +begin + // Not implemented in DataTables +end; + +procedure TDADataTable.Append; +begin + fDataset.Append; +end; + +procedure TDADataTable.Delete; +begin + fDataset.Delete; +end; + +procedure TDADataTable.Cancel; +begin + fDataset.Cancel; +end; + +procedure TDADataTable.Edit; +begin + fDataset.Edit; +end; + +procedure TDADataTable.Insert; +begin + fDataset.Insert; +end; + +procedure TDADataTable.Post; +begin + fDataset.Post; +end; + +{$WARN SYMBOL_DEPRECATED OFF} +function TDADataTable.GetWhere: TDAWhere; +begin + result := fWhere +end; +{$WARN SYMBOL_DEPRECATED ON} + +procedure TDADataTable.SetRemoteDataAdapter(const Value: TDABaseRemoteDataAdapter); +begin + if Value <> fRemoteDataAdapter then begin + fRemoteDataAdapter := Value; + if assigned(fRemoteDataAdapter) then fRemoteDataAdapter.FreeNotification(self); + end; +end; + +procedure TDADataTable.Close; +begin + if not Active then Exit; + + fClosing := TRUE; + try + DoBeforeCloseDataset; + if Assigned(BeforeClose) then BeforeClose(Self); + if Assigned(fBusinessRules) then fBusinessRules.BeforeClose(Self); + + if (moCascadeOpenClose in MasterOptions) then DoCascadeOperation(nil, moCascadeOpenClose); + + Dataset.Close; + fFields.Unbind; + + //Dataset.Fields.Clear; + + fDelta := nil; + + fFetchedMasters.Clear; + + DoAfterCloseDataset; + if Assigned(AfterClose) then AfterClose(Self); + if Assigned(fBusinessRules) then fBusinessRules.AfterClose(Self); + finally + fClosing := FALSE; + end; +end; + +procedure TDADataTable.InitializeDataTable; +begin + fCurrRecId := 1; + + try + fDataset.Fields.Clear; + fDataset.FieldDefs.Clear; + finally + NotifyFieldsClear; + end; + try + // Creates the fields for the internal dataset + CreateInternalFields(fDataset, Fields); + finally + NotifyFieldsClear; + end; + + fRecIDField := fDataset.FieldByName(RecIDFieldName) as TIntegerField; + fRecIDField.Visible := FALSE; + + fFields.Bind(fDataset); + + // Prepares the delta + fDelta := TDADelta.Create(Self); + +(* + // Finishes to prepare the internal dataset (descendant might need additional customization and might not be open) + if RemoteFetchEnabled and + (RemoteDataAdapter<>nil) and + (TDARemoteDataAdapter(RemoteDataAdapter).GetDataCall.Default) then + LoadScript(); +*) + DoBeforeOpenDataset; + if not Dataset.Active then Dataset.Open; + DoAfterOpenDataset; +end; + +procedure TDADataTable.LoadFromLocalSchema; +var + lConnection: IDAConnection; + data: TStream; + gofirst, oldlog: boolean; + ds: IDADataset; + i: integer; + lDynFields: array of string; +begin + if (LocalSchema = nil) or (LogicalName = '') then begin + InitializeDataTable; + Exit; + end; + + // Local but from schema. Client/Server mode + CheckProperties; + + lConnection := LocalSchema.ConnectionManager.NewConnection(fLocalConnection); + try + SetLength(lDynFields, 0); + ds := LocalSchema.NewDataset(lConnection, fLogicalName,lDynFields,fDynamicWhere.Xml); + + oldlog := LogChanges; + fFetching := TRUE; + LogChanges := FALSE; +// book := nil; + + data := Binary.Create; + Binary(data).CapacityIncrement := LocalDataStreamer.BufferSize; + try + for i := 0 to (ds.Params.Count - 1) do + ds.Params[i].Value := ParamByName(ds.Params[i].Name).Value; + + LocalDataStreamer.WriteDataset(data, ds, [woRows, woSchema], -1); + + if Active then + gofirst := FALSE + else + gofirst := TRUE; + + if Assigned(fOnReceiveDataStream) then fOnReceiveDataStream(Self, data); + if Assigned(fBusinessRules) then fBusinessRules.OnReceiveDataStream(Self, data); + data.Position := 0; + + // Reads the data + LocalDataStreamer.Initialize(data, aiRead); + if (LocalDataStreamer.DatasetCount = 0) then RaiseError('Stream does not contain any dataset'); + + if Opening then begin + if not (soIgnoreStreamSchema in fStreamingOptions) then LocalDataStreamer.ReadDataset(LogicalName, Self, TRUE, FALSE); + + InitializeDataTable; + end; + + LocalDataStreamer.ReadDataset(LogicalName, Self, FALSE); + { + if (moAllInOneFetch in MasterOptions) then begin + DoCascadeOperation(LocalDataStreamer, moAllInOneFetch); + end;} + + LocalDataStreamer.Finalize; + + if gofirst then First; + finally + fFetching := FALSE; + data.Free; + LogChanges := oldlog; + end; + finally + lConnection := nil; + end; +end; + +procedure TDADataTable.DoOpen(IgnoreAutoFetchSettings: Boolean); +var i : integer; +begin + if Active or fOpening then Exit; + + fOpening := TRUE; + try + { Checks that all the lookup datasets are open. If not, we would get the error "Missing Data Provider"} + for i := 0 to (FieldCount-1) do + if Fields[i].Lookup and (Fields[i].LookupSource<>NIL) then begin + if (Fields[i].LookupSource is TDADataSource) then begin + if Assigned(TDADataSource(Fields[i].LookupSource).DataTable) + then TDADataSource(Fields[i].LookupSource).DataTable.Open; + end + else begin + if Assigned(Fields[i].LookupSource.DataSet) + then Fields[i].LookupSource.DataSet.Open; + end; + end; + + + if Assigned(BeforeOpen) then BeforeOpen(Self); + if Assigned(fBusinessRules) then fBusinessRules.BeforeOpen(Self); + + try + if not fFetching then begin + if fMasterLink.Active then + FetchMastersDetails(nil, nil, IgnoreAutoFetchSettings) // This calls InitializeDataTable possibily applying a new schema + else + if RemoteFetchEnabled then LoadFromRemoteSource else LoadFromLocalSchema; + end; + + if (moCascadeOpenClose in MasterOptions) then DoCascadeOperation(nil, moCascadeOpenClose); + + if Assigned(AfterOpen) then AfterOpen(Self); + if Assigned(fBusinessRules) then fBusinessRules.AfterOpen(Self); + except + on E: Exception do begin + Close; + {$IFDEF DESIGNTIME} + if (csDesigning in ComponentState) then begin + SysUtils.Beep; + MessageDlg(E.Message, mtError, [mbOK], 0); + end + else + {$ENDIF DESIGNTIME} + raise; + end; + end; + finally + fOpening := FALSE; + end; +end; + +procedure TDADataTable.Open; +begin + DoOpen(True); +end; + + +procedure TDADataTable.OnMasterChange(Sender: TObject); +begin + if (MasterSource <> nil) and (MasterSource.DataTable <> nil) then begin + if MasterSource.DataTable.fFetching then + exit; + end; + + FetchMastersDetails; +end; + +procedure TDADataTable.OnMasterDisable(Sender: TObject); +begin + +end; + +procedure TDADataTable.LoadFromRemoteSource(BookmarkPosition: boolean = FALSE); +begin + CheckProperties(True); + if Assigned(fOnBeforeDataRequestCall) then fOnBeforeDataRequestCall(Self, RemoteDataAdapter.Get_GetDataCall); + if Assigned(fBusinessRules) then fBusinessRules.OnBeforeDataRequestCall(Self, RemoteDataAdapter.Get_GetDataCall); + RemoteDataAdapter.Fill([self], BookmarkPosition, FieldCount = 0); + if Assigned(fOnAfterDataRequestCall) then fOnAfterDataRequestCall(Self, RemoteDataAdapter.Get_GetDataCall); + if Assigned(fBusinessRules) then fBusinessRules.OnAfterDataRequestCall(Self, RemoteDataAdapter.Get_GetDataCall); +end; + +function TDADataTable.ApplyUpdates(RefetchAll: boolean = FALSE): boolean; +var + details: TList; + i: integer; + dt: TDADataTable; +begin + details:= GetDetailTablesforApplyUpdate; + try + // check RDA + CheckProperties; + for i := 0 to details.Count-1 do begin + dt:= TDADataTable(details[i]); + {if dt.RemoteFetchEnabled then } dt.CheckProperties; + end; + + //fOnBeforeApplyUpdates + if Assigned(fOnBeforeApplyUpdates) then fOnBeforeApplyUpdates(Self, fDelta); + for i := 0 to details.Count-1 do begin + dt:= TDADataTable(details[i]); + if Assigned(dt.fOnBeforeApplyUpdates) then dt.fOnBeforeApplyUpdates(dt, fDelta); + end; + + //fBusinessRules.OnBeforeApplyUpdates + if Assigned(fBusinessRules) then fBusinessRules.OnBeforeApplyUpdates(Self, fDelta); + for i := 0 to details.Count-1 do begin + dt:= TDADataTable(details[i]); + if Assigned(dt.fBusinessRules) then dt.fBusinessRules.OnBeforeApplyUpdates(dt, fDelta); + end; + + if RemoteFetchEnabled then begin + + //fOnBeforeDataUpdateCall + if Assigned(fOnBeforeDataUpdateCall) then fOnBeforeDataUpdateCall(Self, RemoteDataAdapter.Get_UpdateDataCall); + for i := 0 to details.Count-1 do begin + dt:= TDADataTable(details[i]); + if Assigned(dt.fOnBeforeDataUpdateCall) then dt.fOnBeforeDataUpdateCall(dt, dt.RemoteDataAdapter.Get_UpdateDataCall); + end; + + //fBusinessRules.OnBeforeDataUpdateCall + if Assigned(fBusinessRules) then fBusinessRules.OnBeforeDataUpdateCall(Self, RemoteDataAdapter.Get_UpdateDataCall); + for i := 0 to details.Count-1 do begin + dt:= TDADataTable(details[i]); + if Assigned(dt.fBusinessRules) then dt.fBusinessRules.OnBeforeDataUpdateCall(dt, dt.RemoteDataAdapter.Get_UpdateDataCall); + end; + + result := RemoteDataAdapter.ApplyUpdates([self], RefetchAll); + + //fOnAfterDataUpdateCall + if Assigned(fOnAfterDataUpdateCall) then fOnAfterDataUpdateCall(Self, RemoteDataAdapter.Get_UpdateDataCall); + for i := 0 to details.Count-1 do begin + dt:= TDADataTable(details[i]); + if Assigned(dt.fOnAfterDataUpdateCall) then dt.fOnAfterDataUpdateCall(dt, dt.RemoteDataAdapter.Get_UpdateDataCall); + end; + + //fBusinessRules.OnAfterDataUpdateCall + if Assigned(fBusinessRules) then fBusinessRules.OnAfterDataUpdateCall(Self, RemoteDataAdapter.Get_UpdateDataCall); + for i := 0 to details.Count-1 do begin + dt:= TDADataTable(details[i]); + if Assigned(dt.fBusinessRules) then dt.fBusinessRules.OnAfterDataUpdateCall(dt, dt.RemoteDataAdapter.Get_UpdateDataCall); + end; + + end + else begin + result := Local_ApplyUpdates(RefetchAll); + end; + + //fOnAfterApplyUpdates + if Assigned(fOnAfterApplyUpdates) then fOnAfterApplyUpdates(Self); + for i := 0 to details.Count-1 do begin + dt:= TDADataTable(details[i]); + if Assigned(dt.fOnAfterApplyUpdates) then dt.fOnAfterApplyUpdates(dt); + end; + + //fBusinessRules.OnAfterApplyUpdates + if Assigned(fBusinessRules) then fBusinessRules.OnAfterApplyUpdates(Self); + for i := 0 to details.Count-1 do begin + dt:= TDADataTable(details[i]); + if Assigned(dt.fBusinessRules) then dt.fBusinessRules.OnAfterApplyUpdates(dt); + end; + finally + details.Free; + end; +end; + +procedure TDADataTable.LoadSchema(PreserveLookupFields : boolean = FALSE; PreserveClientCalcFields : boolean = FALSE); +begin + CheckProperties(True); + if Assigned(fOnBeforeSchemaCall) then fOnBeforeSchemaCall(Self, RemoteDataAdapter.Get_GetSchemaCall); + if Assigned(fBusinessRules) then fBusinessRules.OnBeforeSchemaCall(self, RemoteDataAdapter.Get_GetSchemaCall); + RemoteDataAdapter.FillSchema([self], PreserveLookupFields, PreserveClientCalcFields); + if Assigned(fOnAfterSchemaCall) then fOnAfterSchemaCall(Self, RemoteDataAdapter.Get_GetSchemaCall); + if Assigned(fBusinessRules) then fBusinessRules.OnAfterSchemaCall(self, RemoteDataAdapter.Get_GetSchemaCall); +end; + +procedure TDADataTable.LoadScript(aDatasetName : string = ''); +begin + CheckProperties(True); + if Assigned(fOnBeforeScriptCall) then fOnBeforeScriptCall(Self, RemoteDataAdapter.Get_GetScriptsCall); + if Assigned(fBusinessRules) then fBusinessRules.OnBeforeScriptCall(Self, RemoteDataAdapter.Get_GetScriptsCall); + RemoteDataAdapter.FillScripts([self]); + if Assigned(fOnAfterScriptCall) then fOnAfterScriptCall(Self, RemoteDataAdapter.Get_GetScriptsCall); + if Assigned(fBusinessRules) then fBusinessRules.OnAfterScriptCall(Self, RemoteDataAdapter.Get_GetScriptsCall); +end; + +procedure TDADataTable.FetchMastersDetails(aMasterTable : TDADataTable = NIL; aRequestMappings : TStrings = NIL; IgnoreAutoFetchSettings: Boolean = False); + + procedure CombineDynamicWhere(aWhereExpression:TDAWhereExpression); + begin + if fMasterMappingMode = mmWhere then begin + if fDynamicWhere.Expression = nil then + fDynamicWhere.Expression:= aWhereExpression + else + fDynamicWhere.Expression:= fDynamicWhere.NewBinaryExpression(fDynamicWhere.Expression,aWhereExpression,dboAnd); + end; + end; + + procedure RevertDynamicWhere(aWhereExpression:TDAWhereExpression); + var + fUserWhereExpression: TDAWhereExpression; + begin + if fMasterMappingMode = mmWhere then begin + fUserWhereExpression:= nil; + if fDynamicWhere.Expression <> aWhereExpression then begin + fUserWhereExpression:= TDABinaryExpression(fDynamicWhere.Expression).Left; + TDABinaryExpression(fDynamicWhere.Expression).Left:=nil; + end; + fDynamicWhere.Clear; + fDynamicWhere.Expression:= fUserWhereExpression; + end; + end; + + + function GenerateWhereStatement: TDAWhereExpression; + var + lFieldName: string; + pos1, pos2: integer; + lfld1: TDAField; + lfld2: TDAField; + lExpression: TDAWhereExpression; + begin + //fDynamicWhere.Clear; + Pos1 := 1; + pos2 := 1; + Result:=nil; + while True do begin + if (Pos1 > Length(DetailFields)) and (Pos2 > Length(MasterFields)) then Break; + + if ((Pos1 > Length(DetailFields)) and (Pos2 <= Length(MasterFields))) or + ((Pos1 <= Length(DetailFields)) and (Pos2 > Length(MasterFields))) then + RaiseError('DetailFields should have same number of items as MasterFields'); + + {$WARN SYMBOL_DEPRECATED OFF} + lFieldName:= ExtractFieldName(DetailFields, Pos1); + {$WARN SYMBOL_DEPRECATED ON} + lfld1 := FindField(lFieldName); + if lfld1 = nil then RaiseError('Invalid field name %s in DetailFields', [lFieldName]); + {$WARN SYMBOL_DEPRECATED OFF} + lFieldName:= ExtractFieldName(MasterFields, Pos2); + {$WARN SYMBOL_DEPRECATED ON} + lfld2 := MasterSource.DataTable.Fields.FindField(lFieldName); + if lfld2 = nil then RaiseError('Invalid field name %s in MasterFields', [lFieldName]); + + lExpression := fDynamicWhere.NewBinaryExpression( + fDynamicWhere.NewField('',lfld1.Name), + fDynamicWhere.NewConstant(lfld2.Value,lfld2.DataType), + dboEqual); + + if Result <> nil then + Result:=fDynamicWhere.NewBinaryExpression(Result,lExpression,dboAnd) + else + Result:= lExpression; + end; + end; + +var + master: TDataset; + par: TDARemoteRequestParam; + fld: TDAField; + key: string; + i: integer; + dofetch: boolean; + mappings : TStrings; + detailparam : TDAParam; + lmmWhereExpression: TDAWhereExpression; +begin + if RemoteFetchEnabled then CheckProperties + else if not(Assigned(LocalSchema) and Assigned(LocalDataStreamer)) then begin + if fOpening then InitializeDataTable; + Exit; + end; + + // + // + // TODO: this doesnt properly use the new RDA's DMB yet. we need to discuss/rethink how to handle that! + // + // + + mappings := NIL; + + dofetch := (((dtAutoFetch in DetailOptions) or IgnoreAutoFetchSettings) {and RemoteFetchEnabled}) or (aMasterTable<>NIL); + + if (aRequestMappings<>NIL) then mappings := aRequestMappings + else begin + case fMasterMappingMode of + mmDataRequest : mappings := MasterRequestMappings; + mmParams : mappings := MasterParamsMappings; + end; + end; + + if (aMasterTable<>NIL) + then master := aMasterTable.Dataset + else master := fMasterLink.DataSet; + + if master = nil then exit; + + if (master.RecordCount = 0) then begin + if not Active then InitializeDataTable; // Master opened with 0 records and detail wasn't open yet + + Exit; + end + else if (MasterSource = nil) then Exit; + if (master.State=dsBrowse) and not MasterSource.DataTable.Delta.IsNewRecord then begin + if dofetch then begin + // Determines if the details for this master have been fetched + key := IntToStr(MasterSource.DataTable.GetRowRecIDValue); + if (fFetchedMasters.IndexOf(key) >= 0) then Exit; + if (fMasterMappingMode = mmWhere) or ((mappings<>NIL) and (mappings.Count > 0)) then begin + lmmWhereExpression:=nil; + if RemoteFetchEnabled then begin + // remotemode + + // If not, then assigns the param values from the current master record, + // invokes the remote call and loads the data + case MasterMappingMode of + mmWhere: begin + lmmWhereExpression:=GenerateWhereStatement; + end; + mmDataRequest : begin + for i := 0 to (mappings.Count - 1) do begin + par := nil; + if RemoteDataAdapter.Get_GetDataCall <> nil then + par := RemoteDataAdapter.Get_GetDataCall.Params.ParamByName(Trim(mappings.Names[i])); + if (par=NIL) then RaiseError('Invalid parameter name %s in master mappings', [Trim(mappings.Names[i])]); + + fld := MasterSource.DataTable.Fields.FindField(Trim(mappings.Values[mappings.Names[i]])); + if (fld=NIL) then RaiseError('Invalid field name %s in master mappings', [Trim(mappings.Values[mappings.Names[i]])]); + + if (par <> nil) and (fld <> nil) and not VarIsNull(fld.Value) + then par.AsVariant := fld.Value + end; + end; + mmParams : begin + // Fills it in + for i := 0 to (mappings.Count - 1) do begin + detailparam := Params.ParamByName(Trim(mappings.Names[i])); + if (detailparam=NIL) then RaiseError('Invalid parameter name %s in param mappings', [Trim(mappings.Names[i])]); + + fld := MasterSource.DataTable.Fields.FindField(Trim(mappings.Values[mappings.Names[i]])); + if (fld=NIL) then RaiseError('Invalid field name %s in param mappings', [Trim(mappings.Values[mappings.Names[i]])]); + + if (detailparam <> nil) and (fld <> nil) and not VarIsNull(fld.Value) + then detailparam.Value := fld.Value + end; + end; + end; + + CombineDynamicWhere(lmmWhereExpression); + try + LoadFromRemoteSource; + finally + RevertDynamicWhere(lmmWhereExpression); + end; + + try + fFetchedMasters.Add(key); + except + raise Exception.CreateFmt('Master record %s has been fetched twice', [key]); + end; + end { RemoteFetchEnabled }else begin + // localmode + + // If not, then assigns the param values from the current master record, + // invokes the remote call and loads the data + case MasterMappingMode of + mmWhere: begin + lmmWhereExpression := GenerateWhereStatement; + end; + mmParams: begin + // Fills it in + for i := 0 to (mappings.Count - 1) do begin + detailparam := Params.ParamByName(Trim(mappings.Names[i])); + if (detailparam=NIL) then RaiseError('Invalid parameter name %s in param mappings', [Trim(mappings.Names[i])]); + + fld := MasterSource.DataTable.Fields.FindField(Trim(mappings.Values[mappings.Names[i]])); + if (fld=NIL) then RaiseError('Invalid field name %s in param mappings', [Trim(mappings.Values[mappings.Names[i]])]); + + if (detailparam <> nil) and (fld <> nil) and not VarIsNull(fld.Value) then detailparam.Value := fld.Value + end; + end; + mmDataRequest: raise Exception.Create('mmDataRequest mode only supported in RemoteFetchEnabled mode'); + end; + + CombineDynamicWhere(lmmWhereExpression); + try + LoadFromLocalSchema; + finally + RevertDynamicWhere(lmmWhereExpression); + end; + + try + fFetchedMasters.Add(key); + except + raise Exception.CreateFmt('Master record %s has been fetched twice', [key]); + end; + end; + end else begin + { ALEF: I removed the code below because it was never meant to be here to begin with. Very error prone. + Who added this??? + + // Automatics + for i := 0 to (DataRequestCall.Params.Count - 1) do begin + par := DataRequestCall.Params[i]; + fld := MasterSource.DataTable.Fields.FindField(par.Name); + + if (par <> nil) and (fld <> nil) and not VarIsNull(fld.Value) then par.Value := fld.Value; + end;} + + RaiseError('There are no mappings defined. Cannot fetch records for detail table '+Name); + end; + end; {dofetch} + end; +end; + +procedure TDADataTable.WriteDeltaToStream(aStreamer: TDADataStreamer); +var + i: integer; + details: TList; + lHasReducedDelta: Boolean; + oldMode: boolean; +begin + // And the details' updates (if specified) + details := GetDetailTablesforApplyUpdate; + try + lHasReducedDelta:= fHasReducedDelta; + if not aStreamer.SendReducedDelta then begin + if not lHasReducedDelta then + for i := 0 to (details.Count - 1) do begin + lHasReducedDelta:= TDADataTable(details[i]).fHasReducedDelta; + if lHasReducedDelta then Break; + end; + end; + oldMode:=aStreamer.SendReducedDelta; + if lHasReducedDelta then aStreamer.SendReducedDelta:=True; + try + // Writes its own updates + if self.HasDelta then aStreamer.WriteDelta(Self); + for i := 0 to (details.Count - 1) do + TDADataTable(details[i]).WriteDeltaToStream(aStreamer); + finally + aStreamer.SendReducedDelta := oldMode; + end; + finally + details.Free; + end; +end; + +procedure TDADataTable.ReadDeltaFromStream(aStreamer: TDADataStreamer;aFailedDeltas:TList); +var + i: integer; + details: TList; +begin + // Reads its own updates + if aStreamer.FindDeltaIndex(Self.LogicalName) <> -1 then begin + Delta.Clear; + aStreamer.ReadDelta(Self); + if Delta.Count>0 then fHasReducedDelta := aStreamer.HasReducedDelta; + + For i := 0 to Delta.Count-1 do + if Delta.Changes[i].Status = csFailed then + aFailedDeltas.Add(Delta.Changes[i]); + end; + + // And the details' updates (if specified) + details := GetDetailTablesforApplyUpdate; + try + for i := 0 to (details.Count - 1) do + TDADataTable(details[i]).ReadDeltaFromStream(aStreamer, aFailedDeltas); + finally + details.Free; + end; +end; + +procedure TDADataTable.ReadDeltaFromStream(aStreamer: TDADataStreamer); +var + List: TList; +begin + List:= TList.Create; + try + ReadDeltaFromStream(aStreamer,List); + finally + List.Free; + end; +end; + +procedure TDADataTable.MergeDelta; +var + i, k, x: integer; + details: TList; + dt: TDADataTable; +// ok : boolean; +// failed, pending, resolved : integer; + oldval, newval, val : Variant; + fld : TDAField; + pkfields : string; + oldopt : TDARemoteUpdatesOptions; + oldlog : boolean; + keyvals : array of variant; + oldmastersource : TDADataSource; + lhasDelta: Boolean; + pk_array: array of boolean; +begin + details:=GetDetailTablesforApplyUpdate; + try + //fOnBeforeMergeDelta + if Assigned(fOnBeforeMergeDelta) then fOnBeforeMergeDelta(Self); + for i := 0 to details.Count-1 do begin + dt:= TDADataTable(details[i]); + if Assigned(dt.fOnBeforeMergeDelta) then dt.fOnBeforeMergeDelta(dt); + end; + + //fBusinessRules.OnBeforeMergeDelta + if Assigned(fBusinessRules) then fBusinessRules.OnBeforeMergeDelta(Self); + for i := 0 to details.Count-1 do begin + dt:= TDADataTable(details[i]); + if Assigned(dt.fBusinessRules) then dt.fBusinessRules.OnBeforeMergeDelta(dt); + end; + + oldopt := RemoteUpdatesOptions; + oldlog := LogChanges; + oldmastersource := MasterSource; + + lhasDelta := Delta.Count > 0; + if lhasDelta then begin + RemoteUpdatesOptions := RemoteUpdatesOptions-[ruoOnPost]; + LogChanges := FALSE; + // Disables the M/D relationship so that Locates can work in all cases (master or detail tables, regardless + // of their positioning) + MasterSource := NIL; + end; + + try + pkfields := ''; + for i := 0 to (Delta.KeyFieldCount-1) do + pkfields := pkfields+Delta.KeyFieldNames[i]+';'; + pkfields := Copy(pkfields, 1, Length(pkfields)-1); + + SetLength(keyvals, Delta.KeyFieldCount); + + // Merges the updates + if (Delta.Count>0) then begin + SetLength(pk_array, Delta.LoggedFieldCount); + for i := 0 to Delta.LoggedFieldCount - 1 do + pk_array[i]:=False; + + for i := 0 to Delta.KeyFieldCount - 1 do begin + x := Delta.IndexOfLoggedField(Delta.KeyFieldNames[i]); + if x <> -1 then pk_array[x]:=True; + end; + for i := (Delta.Count-1) downto 0 do begin + if (Delta[i].Status<>csResolved) + then Continue; + if (Delta[i].ChangeType<>ctDelete) then begin + if (Self.State in [dsEdit, dsInsert]) and (ruoOnPost in oldopt) then begin + // Merge the details + for x := 0 to (details.Count - 1) do + TDADataTable(details[x]).MergeDelta; + for x := 0 to (Delta.LoggedFieldCount-1) do begin + fld := FieldByName(Delta.LoggedFieldNames[x]); + + newval := Delta[i].NewValueByName[fld.Name]; + oldval := Delta[i].OldValueByName[fld.Name]; + if fHasReducedDelta then begin + if not pk_array[x] and ROVariantsEqual(oldVal,newVal) then continue; + end; + if fld.ServerAutoRefresh or (not VarIsArray(newVal) and not ROVariantsEqual(newval,oldval)) then begin + VariantToFieldValue(Delta[i].NewValueByName[fld.Name], fld); + end; + end; + end + else begin + for k := 0 to (Delta.KeyFieldCount-1) do begin + val := Delta[i].OldValueByName[Delta.KeyFieldNames[k]]; + keyvals[k] := val; + end; + + // Locates the original record + First; + if not Locate(pkfields, keyvals, []) then Continue; + + // Merge the details + for x := 0 to (details.Count - 1) do + TDADataTable(details[x]).MergeDelta; + + // Merges its own updates + Edit; + for x := 0 to (Delta.LoggedFieldCount-1) do begin + fld := FieldByName(Delta.LoggedFieldNames[x]); + + newval := Delta[i].NewValueByName[fld.Name]; + oldval := Delta[i].OldValueByName[fld.Name]; + if fHasReducedDelta then begin + if not pk_array[x] and ROVariantsEqual(oldVal,newVal) then continue; + end; + if fld.ServerAutoRefresh or (not VarIsArray(newVal) and (newval<>oldval)) then begin + VariantToFieldValue(Delta[i].NewValueByName[fld.Name], fld); + end; + end; + Post; + end; + end; + // Removes this merged change + Delta.Delete(i); + end; + end + + // If there are no updates for this master, the children still need to be processed + else begin + // Merge the details + for x := 0 to (details.Count - 1) do + TDADataTable(details[x]).MergeDelta; + end; + finally + if lhasDelta then begin + RemoteUpdatesOptions := oldopt; + LogChanges := oldlog; + + // Restores the M/D relationship + MasterSource := oldmastersource; + end; + //fOnAfterMergeDelta + if Assigned(fOnAfterMergeDelta) then fOnAfterMergeDelta(Self); + for i := 0 to details.Count-1 do begin + dt:= TDADataTable(details[i]); + if Assigned(dt.fOnAfterMergeDelta) then dt.fOnAfterMergeDelta(dt); + end; + + //fBusinessRules.OnAfterMergeDelta + if Assigned(fBusinessRules) then fBusinessRules.OnAfterMergeDelta(Self); + for i := 0 to details.Count-1 do begin + dt:= TDADataTable(details[i]); + if Assigned(dt.fBusinessRules) then dt.fBusinessRules.OnAfterMergeDelta(dt); + end; + end; + finally + details.Free; + if Delta.Count = 0 then fHasReducedDelta:=False; + end; +end; + + +procedure TDADataTable.PackAllInOneFetchInfoArray(aDataTable : TDADataTable; OutArray: TDADatasetRequestInfoArray); +var outinfo : TDADatasetRequestInfo; + details : TList; + dt : TDADataTable; + i : integer; +begin + outinfo := outarray.Add; + outinfo.DatasetName := aDataTable.LogicalName; + outinfo.MaxRecords := aDataTable.MaxRecords; + outinfo.IncludeSchema := TRUE; + outinfo.Params := NIL; + + details := aDataTable.GetDetailDataTables; + try + for i := 0 to (details.Count - 1) do begin + dt := TDADataTable(details[i]); + + if (dtIncludeInAllInOneFetch in dt.DetailOptions) + then PackAllInOneFetchInfoArray(dt, OutArray); + end; + finally + details.Free; + end; +end; + +function TDADataTable.FieldByName(const aName: string): TDAField; +begin + result := fFields.FieldByName(aName) +end; + +function TDADataTable.ParamByName(const aName: string): TDAParam; +begin + result := fParams.ParamByName(aName) +end; + +procedure TDADataTable.First; +begin + fDataset.First +end; + +procedure TDADataTable.Last; +begin + fDataset.Last +end; + +procedure TDADataTable.Prior; +begin + fDataset.Prior +end; + +procedure TDADataTable.Sort(const FieldNames: array of string; const Directions: array of TDASortDirection); +var + i: integer; +begin + DoSort(FieldNames, Directions); + + // Stores the new settings for convenience + SetLength(fSortDirections, Length(Directions)); + for i := 0 to Length(Directions) - 1 do + fSortDirections[i] := Directions[i]; + + SetLength(fSortFieldNames, Length(FieldNames)); + for i := 0 to Length(FieldNames) - 1 do + fSortFieldNames[i] := FieldNames[i]; +end; + +procedure TDADataTable.UnSort; +begin + Sort([], []); +end; + +procedure TDADataTable.LoadFromStream(aStream: TStream); +var + //remfetch, + oldlogchanges, oldcascadeopenclose: boolean; + lStreamer: TDADataStreamer; + i: integer; +begin + Check(RemoteFetchEnabled, Name+'. Cannot do this operation when RemoteFetchEnabled is set to TRUE'); + if RemoteDataAdapter <> nil then + lStreamer:=RemoteDataAdapter.DataStreamer + else + lStreamer:=LocalDataStreamer; + + Check(lStreamer = nil, Name+'. RemoteDataAdapter or LocalDataStreamer must be assigned.'); + + Close; + + oldlogchanges := LogChanges; +// remfetch := RemoteFetchEnabled; + oldcascadeopenclose := moCascadeOpenClose in fMasterOptions; + +// RemoteFetchEnabled := FALSE; + LogChanges := FALSE; + if oldcascadeopenclose + then fMasterOptions := fMasterOptions - [moCascadeOpenClose]; + try + fStreaming := True; + try + lStreamer.Initialize(aStream, aiRead); + + if not (soIgnoreStreamSchema in fStreamingOptions) then + lStreamer.ReadDataset(LogicalName, Self, TRUE) + else + lStreamer.ReadDataset(LogicalName, Self, FALSE); + + lStreamer.ReadDelta(Self); + if Delta <> nil then + For i:= 0 to Delta.Count-1 do + if fCurrRecId <= Delta.Changes[i].RecID then + fCurrRecId := Delta.Changes[i].RecID+1; + finally + fStreaming := False; + end; + finally + lStreamer.Finalize; + LogChanges := oldlogchanges; +// RemoteFetchEnabled := remfetch; + if oldcascadeopenclose then begin + fMasterOptions := fMasterOptions + [moCascadeOpenClose]; + fOpening := True; + try + DoCascadeOperation(nil, moCascadeOpenClose); + finally + fOpening := False; + end; + end; + if Active then First; + end; +end; + +procedure TDADataTable.SaveToStream(aStream: TStream); +var + lStreamer: TDADataStreamer; + OldMasterSource: TDADataSource; +begin + if (soDisableEventsWhileStreaming in fStreamingOptions) then DisableControls; + try + OldMasterSource := MasterSource; + MasterSource := nil; + fStreaming := True; + try + First; // Important! + if RemoteFetchEnabled then + lStreamer:= RemoteDataAdapter.DataStreamer + else + lStreamer:=LocalDataStreamer; + if lStreamer = nil then CheckProperties; + lStreamer.Initialize(aStream, aiWrite); + lStreamer.WriteDataset(Self, [woRows, woSchema]); + lStreamer.WriteDelta(Self); + lStreamer.Finalize; + finally + fStreaming := False; + MasterSource := OldMasterSource; + end; + finally + if (soDisableEventsWhileStreaming in fStreamingOptions) then EnableControls; + end; +end; + +procedure TDADataTable.LoadFromFile(const aFileName: string); +var + fs: TFileStream; + oldval : boolean; +begin + oldval := RemoteFetchEnabled; + RemoteFetchEnabled := FALSE; + try + fs := TFileStream.Create(aFileName, fmOpenRead); + try + LoadFromStream(fs); + finally + fs.Free; + end; + finally + RemoteFetchEnabled := oldval; + end; +end; + +procedure TDADataTable.SaveToFile(const aFileName: string); +var + fs: TFileStream; +begin + fs := TFileStream.Create(aFileName, fmCreate); + try + SaveToStream(fs); + finally + fs.Free; + end; +end; + +procedure TDADataTable.SetParams(const Value: TDAParamCollection); +begin + fParams.Assign(Value); +end; + +procedure TDADataTable.ClearFields; +var + i: integer; +begin + for i := 0 to FieldCount - 1 do + Fields[i].Value := Null; +end; + +procedure TDADataTable.ClearRows; +var + CurChange: TDADeltaChange; +begin + while (RecordCount > 0) do begin + if (not LogChanges) and Assigned(Delta) then begin + CurChange := Delta.FindChange(RecIDValue); + if Assigned(CurChange) then + Delta.RemoveChange(CurChange); + end; + Delete; + end; +end; + +function TDADataTable.GetState: TDataSetState; +begin + result := fDataset.State +end; + +function TDADataTable.GetEditing: boolean; +begin + result := State in [dsEdit, dsInsert] +end; + +function TDADataTable.GetPrepared: boolean; +begin + result := FALSE +end; + +procedure TDADataTable.SetPrepared(Value: boolean); +begin + +end; + +function TDADataTable.GetText: string; +begin + result := '' +end; + +procedure TDADataTable.SetText(const Value: string); +begin + +end; + +procedure TDADataTable.Notification(AComponent: TComponent; + Operation: TOperation); +var + i: Integer; +begin + inherited; + + if (Operation = opRemove) then begin + if (AComponent = fLocalSchema) then fLocalSchema := nil; + if (AComponent = fRemoteDataAdapter) then fRemoteDataAdapter := nil; + if (AComponent = fLocalDataStreamer) then fLocalDataStreamer := nil; + if AComponent is TDataSource then begin + for i := 0 to Fields.Count - 1 do begin + if Fields[i].LookupSource = AComponent then + Fields[i].LookupSource := nil; + end; + end; + + end; + +end; + +procedure TDADataTable.SetMasterSource(const Value: TDADataSource); +begin + fMasterLink.DataSource := Value; +end; + +procedure TDADataTable.SetMasterFields(const Value: string); +begin + fMasterLink.FieldNames := Value; +end; + +function TDADataTable.GetMasterRequestMappings: TStrings; +begin + result := fMasterRequestMappings; +end; + +procedure TDADataTable.SetMasterRequestMappings(const Value: TStrings); +begin + fMasterRequestMappings.Assign(Value); +end; + +function TDADataTable.GetDetailDataTables: TList; +var + i: integer; + ownerdt: TDADataTable; + dtdataset: IDADataTableDataset; + tmplist: TList; +begin + // This function only returns the linked datatables and removes duplicates + // from the GetDetailDataSets call. I assume the duplicates are because of + // the masterlink TDADatatables create. + + result := TList.Create; + tmplist := TList.Create; + + try + {$IFNDEF FPC} + Dataset.GetDetailDataSets(tmplist); + {$ENDIF} + for i := 0 to (tmplist.Count - 1) do begin + if not Supports(TDataset(tmplist[i]), IDADataTableDataset, dtdataset) then Continue; + ownerdt := dtdataset.GetDataTable; + + if (result.IndexOf(ownerdt) < 0) then result.Add(ownerdt); + end; + finally + tmplist.Free; + end; +end; + +function TDADataTable.GetDelta: IDADelta; +begin + if (fDelta = nil) then raise Exception.Create('Delta has not yet been initialized by the datatable'); + result := fDelta; +end; + +function TDADataTable.GetName: string; +begin + if (LogicalName = '') then + result := Name + else + result := LogicalName; +end; + +procedure TDADataTable.DoAfterCloseDataset; +begin + CallScript('AfterClose'); +end; + +procedure TDADataTable.DoAfterOpenDataset; +begin + CallScript('AfterOpen'); + + if Assigned(fAfterOpenIDataset) then fAfterOpenIDataset(Self, '', ROGetTickCount-fOpenTick); +end; + +procedure TDADataTable.DoBeforeCloseDataset; +begin + CallScript('BeforeClose'); +end; + +procedure TDADataTable.CloneSelectedRecord(Source: TDADataTable; DoPost: boolean = TRUE); +begin + CloneSelectedRecord(Source as IDADataset, DoPost); +end; + +procedure TDADataTable.CloneSelectedRecord(const Source: IDADataset; DoPost: boolean = TRUE); +var + i: integer; + destfld, + srcfld: TDAField; + lreadonly: boolean; +begin + Insert; + for i := 0 to (Source.FieldCount - 1) do begin + srcfld := Source.Fields[i]; + destfld := Fields.FindField(srcfld.Name); + lreadonly := destfld.ReadOnly; + destfld.ReadOnly := False; + try + if destfld <> nil then destfld.Value := srcfld.Value; + finally + destfld.ReadOnly := lreadonly; + end; + end; + if DoPost then Post; +end; + +procedure TDADataTable.FreeBookmark(Bookmark: TBookmark); +begin + Dataset.FreeBookmark(Bookmark); +end; + +function TDADataTable.GetBookmark: pointer; +begin + result := Dataset.GetBookmark; +end; + +procedure TDADataTable.GotoBookmark(Bookmark: TBookmark); +begin + Dataset.GotoBookmark(Bookmark); +end; + +function TDADataTable.GetRowRecIDValue: integer; +begin + result := fRecIDField.AsInteger +end; + +procedure TDADataTable.DisableEventHandlers; +begin + DetachEventHooks(Dataset); +end; + +procedure TDADataTable.EnableEventHandlers; +begin + AttachEventHooks(Dataset); +end; + +procedure TDADataTable.Refresh; +begin + fDataset.Refresh; +end; + +procedure TDADataTable.SetLocalDataStreamer(const Value: TDADataStreamer); +begin + fLocalDataStreamer := Value; + if (fLocalDataStreamer <> nil) then + fLocalDataStreamer.FreeNotification(Self); +end; + +procedure TDADataTable.SetLocalSchema(const Value: TDASchema); +begin + fLocalSchema := Value; + if (fLocalSchema <> nil) then begin + fLocalSchema.FreeNotification(Self); + + RemoteFetchEnabled := FALSE; + end; +end; + +function TDADataTable.DataReaderFirst: boolean; +begin + result := RecordCount > 0; + if result then First; +end; + +function TDADataTable.DataReaderNext: boolean; +begin + result := not EOF; + if result then Next; +end; + +function TDADataTable.GetAsBoolean(Index: integer): boolean; +begin + result := fFields[Index].AsBoolean; +end; + +function TDADataTable.GetAsBoolean(const FieldName: string): boolean; +begin + result := FieldByName(FieldName).AsBoolean; +end; + +function TDADataTable.GetAsCurrency(Index: integer): Currency; +begin + Result:= fFields[Index].AsCurrency; +end; + +function TDADataTable.GetAsCurrency(const FieldName: string): currency; +begin + result := FieldByName(FieldName).AsCurrency; +end; + +function TDADataTable.GetAsDateTime(const FieldName: string): TDateTime; +begin + result := FieldByName(FieldName).AsDateTime; +end; + +function TDADataTable.GetAsDateTime(Index: integer): TDateTime; +begin + result := fFields[Index].AsDateTime; +end; + +function TDADataTable.GetAsFloat(const FieldName: string): double; +begin + result := FieldByName(FieldName).AsFloat; +end; + +function TDADataTable.GetAsFloat(Index: integer): double; +begin + result := fFields[Index].AsFloat; +end; + +function TDADataTable.GetAsInteger(Index: integer): integer; +begin + result := fFields[Index].AsInteger; +end; + +function TDADataTable.GetAsInteger(const FieldName: string): integer; +begin + result := FieldByName(FieldName).AsInteger; +end; + +function TDADataTable.GetAsString(const FieldName: string): string; +begin + result := FieldByName(FieldName).AsString; +end; + +function TDADataTable.GetAsString(Index: integer): string; +begin + result := fFields[Index].AsString; +end; + +function TDADataTable.GetAsVariant(const FieldName: string): variant; +begin + result := FieldByName(FieldName).Value; +end; + +function TDADataTable.GetAsVariant(Index: integer): variant; +begin + result := fFields[Index].Value +end; + +function TDADataTable.GetFieldIndexes(const aName: string): integer; +begin + result := fFields.FindItem(aName).Index +end; + +function TDADataTable.GetFieldNames(Index: integer): string; +begin + result := fFields[Index].Name +end; + +procedure TDADataTable.SetBusinessRulesID(const Value: string); +var + bizclass: TDADataTableRulesClass; +begin + if (Value = fBusinessRulesID) then Exit; + + if Assigned(fBusinessRules) then begin + fBusinessRules.Detach(Self); + FreeAndNIL(fBusinessRules); + end; + + fBusinessRulesID := Trim(Value); + + if (fBusinessRulesID <> '') and not (csDesigning in ComponentState) then begin + Check(not FindDataTableRules(Value, bizclass), 'Invalid BusinessRulesID "%s"', [Value]); + + fBusinessRules := bizclass.Create(Self); + fBusinessRules.Attach(Self); + end; +end; + +function TDADataTable.QueryInterface(const IID: TGUID; out Obj): HResult; +begin + result := inherited QueryInterface(IID, Obj); + + if (result <> S_OK) and Assigned(fBusinessRules) then begin + // Users might introduce specific interfaces at the business rule level + // This allows to type cast the data table to any additional business oriented interface + // they decide to create. + result := fBusinessRules.QueryInterface(IID, Obj); + end; +end; + +function TDADataTable.GetHasDelta: boolean; +begin + result := Assigned(fDelta) and (fDelta.Count > 0); +end; + +function TDADataTable.GetHasDeltaRecursive: boolean; +var + lDetails: TList; + lTable: TDADataTable; + i: integer; +begin + result := Assigned(fDelta) and (fDelta.Count > 0); + if not result then begin + lDetails := nil; + if (moCascadeApplyUpdates in fMasterOptions) then try + lDetails := GetDetailDataTables; + for i := 0 to (lDetails.Count-1) do begin + lTable := TDADataTable(lDetails[i]); + if lTable.HasDeltaRecursive then begin + result := true; + exit; + end; + end; + finally + lDetails.Free; + end; + end; +end; + +function TDADataTable.GetMasterDataTable: TDADataTable; +var lDatatableDataset : IDADataTableDataset; +begin + if Supports(fMasterLink.DataSet, IDADataTableDataset, lDatatableDataset) + then result := lDatatableDataset.GetDataTable + else result := NIL; +end; + +function TDADataTable.GetRecNo: integer; +begin + result := fDataset.RecNo +end; + +procedure TDADataTable.SetRecNo(const Value: integer); +begin + fDataset.RecNo := Value +end; + +function TDADataTable.GetFieldsProperty: TDAFieldCollection; +begin + result := GetFields; +end; + +function TDADataTable.GetActiveProperty: boolean; +begin + result := GetActive(); +end; + +procedure TDADataTable.SetActiveProperty(const Value: boolean); +begin + SetActive(Value); +end; + +function TDADataTable.GetParamsProperty: TDAParamCollection; +begin + result := GetParams(); +end; + +{$IFNDEF LINUX} +function TDADataTable.InterfaceSupportsErrorInfo(const iid: TGUID): HResult; +begin + if GetInterfaceEntry(iid) <> nil then + Result := S_OK + else + Result := S_FALSE; +end; + +function TDADataTable.SafeCallException(ExceptObject: TObject; ExceptAddr: Pointer): HResult; +begin + Result := uDAEngine.DAHandleSafeCallException(self,ExceptObject, ExceptAddr); +end; +{$ENDIF} + +procedure TDADataTable.CancelUpdates(IncludeDetails: boolean); +var list : TList; + i, orignextinc : integer; + wasfiltered, + remotefetch : boolean; + lOldMasterFields: string; +begin + if Editing then Cancel; + if not LogChanges then Exit; + + DisableControls; + wasfiltered := Filtered; + Filtered := FALSE; + try + // Truns off the remote fetching for this datatable and its details + remotefetch := RemoteFetchEnabled; + RemoteFetchEnabled := FALSE; + if IncludeDetails then list := GetDetailDataTables else list := TList.Create; + + // Disable the log of changes (we're about to make a bunch!) + LogChanges := FALSE; + + // Saves the current recinc (we'll change this during the restore) + orignextinc := CurrRecId; + try + lOldMasterFields := MasterFields; + MasterFields := ''; + try + // Reverts the records to the original state + for i := 0 to (Delta.Count-1) do + InternalCancelUpdateChange(Delta[i]); + finally + MasterFields := lOldMasterFields; + end; + + // Cancels the updates for the details + for i := 0 to list.Count-1 do begin + TDADataTable(list[i]).CancelUpdates(TRUE); + end; + + // Erases the delta + Delta.Clear; + + finally + fHasReducedDelta:=False; + list.Free; + CurrRecId := orignextinc; + LogChanges := TRUE; + RemoteFetchEnabled := remotefetch; + end; + finally + Filtered := wasfiltered; + EnableControls; + end; +end; + +procedure TDADataTable.DoBeforeOpenDataset; +begin + CallScript('BeforeOpen'); + + fOpenTick := ROGetTickCount; + if Assigned(fBeforeOpenIDataset) then fBeforeOpenIDataset(Self); +end; + +function TDADataTable.Lookup(const KeyFields: string; + const KeyValues: Variant; const ResultFields: string): Variant; +begin + result := fDataset.Lookup(KeyFields, KeyValues, ResultFields); +end; + +function TDADataTable.GetIsEmpty: boolean; +begin + result := fDataset.IsEmpty; +end; + +function TDADataTable.GetMasterParamsMappings: TStrings; +begin + result := fMasterParamsMappings +end; + +procedure TDADataTable.SetMasterParamsMappings(const Value: TStrings); +begin + fMasterParamsMappings.Assign(Value); +end; + +function TDADataTable.GetLogicalName: string; +begin + result := fLogicalName; +end; + +function TDADataTable.GetReadOnly: boolean; +begin + result := FALSE; +end; + +procedure TDADataTable.SetReadOnly(const Value: boolean); +begin + // By default this property cannot be set. Raising exceptions creates problems + // at design time and it's useless +end; + +procedure TDADataTable.SetScriptCode(const Value: TStrings); +begin + fScriptCode.Assign(Value); +end; + +procedure TDADataTable.CallScript(const aEvent: string); +begin + if Assigned(ScriptingProvider) and (ScriptCode.Count > 0) then begin + (ScriptingProvider as IDADataTableScriptingProvider).RunDataTableScript(self, ScriptCode.Text, aEvent, rslPascalScript); + end; +end; + +function TDADataTable.FindField(const aName: string): TDAField; +begin + result := fFields.FindField(aName); +end; + +procedure TDADataTable.AddRecord(const FieldNames: array of string; + const FieldValues: array of Variant); +var i : integer; +begin + Insert; + for i := 0 to Length(FieldNames)-1 do + FieldByName(FieldNames[i]).Value := FieldValues[i]; + Post; +end; + +procedure TDADataTable.SetLogicalName(aName: string); +begin + fLogicalName := aName; +end; + +function TDADataTable.GetDeltaInitialized: boolean; +begin + result := fDelta<>NIL +end; + +procedure TDADataTable.NotifyFieldsClear; +var + i, lLockCount: integer; +begin + // This method patches VCL issue with notification + // of datasources when clearing fields and controls is disabled + lLockCount := 0; + while DataSet.ControlsDisabled do begin + inc(lLockCount); + DataSet.EnableControls; + end; + TDataSetHack(DataSet).DataEvent(deFieldListChange, 0); + for i := 0 to lLockCount - 1 do begin + DataSet.DisableControls; + end; +end; + +function TDADataTable.GetOnAfterOpen: TDAAfterOpenDatasetEvent; +begin + result := fAfterOpenIDataset; +end; + +function TDADataTable.GetOnBeforeOpen: TDABeforeOpenDatasetEvent; +begin + result := fBeforeOpenIDataset; +end; + +procedure TDADataTable.SetOnAfterOpen( + const Value: TDAAfterOpenDatasetEvent); +begin + fAfterOpenIDataset := Value; +end; + +procedure TDADataTable.SetOnBeforeOpen( + const Value: TDABeforeOpenDatasetEvent); +begin + fBeforeOpenIDataset := Value; +end; + +function TDADataTable.GetOnAfterExecute: TDAAfterExecuteCommandEvent; +begin + NotSupported(); +end; + +function TDADataTable.GetOnBeforeExecute: TDABeforeExecuteCommandEvent; +begin + NotSupported(); +end; + +procedure TDADataTable.SetOnAfterExecute( + const Value: TDAAfterExecuteCommandEvent); +begin + NotSupported(); +end; + +procedure TDADataTable.SetOnBeforeExecute( + const Value: TDABeforeExecuteCommandEvent); +begin + NotSupported(); +end; + +function TDADataTable.GetOnExecuteError: TDAExecuteCommandErrorEvent; +begin + NotSupported(); +end; + +function TDADataTable.GetOnOpenError: TDAOpenDatasetErrorEvent; +begin + NotSupported(); +end; + +procedure TDADataTable.SetOnExecuteError( + const Value: TDAExecuteCommandErrorEvent); +begin + NotSupported(); +end; + +procedure TDADataTable.SetOnOpenError( + const Value: TDAOpenDatasetErrorEvent); +begin + NotSupported(); +end; + +function TDADataTable.GetCurrRecId: integer; +begin + result := fCurrRecId; +end; + +procedure TDADataTable.SetCurrRecId(const Value: integer); +begin + fCurrRecId := Value; +end; + +function TDADataTable.GetAutoIncs: TAutoIncArray; +begin + result := fAutoIncs; +end; + +procedure TDADataTable.SetAutoIncs(const Value: TAutoIncArray); +begin + fAutoIncs := Value; +end; + +function TDADataTable.CreateAutoIncArray: TAutoIncArray; +var i: integer; +begin + SetLength(result, Fields.Count); + for i := 0 to Fields.Count-1 do result[i] := -1; +end; + +function TDADataTable.GetCurrentRecIdValue: integer; +begin + result := fCurrRecId; +end; + +procedure TDADataTable.SetCurrentRecIdValue(Value: integer); +begin + fCurrRecId := Value; +end; + +procedure TDADataTable.InternalAfterFieldUpdate(Sender: TDACustomField); +begin + if assigned(fAfterFieldChange) and (Sender is TDAField) then + fAfterFieldChange(self, TDAField(Sender)); +end; + +procedure TDADataTable.InternalBeforeFieldUpdate(Sender: TDACustomField); +begin + if assigned(fBeforeFieldChange) and (Sender is TDAField) then + fBeforeFieldChange(self, TDAField(Sender)); +end; + +procedure TDADataTable.InternalSetFetching(aFetching: boolean); +begin + fFetching := aFetching; +end; + +procedure TDADataTable.SetCustomAttributes(const Value: TStrings); +begin + fCustomAttributes.Assign(Value); +end; + +function TDADataTable.Local_ApplyUpdates(RefetchAll: boolean): boolean; + + function UnpackDeltas(var lStruct: TDADeltaStruct): TDABusinessProcessor; + var + j: integer; + lBizProc: TDABusinessProcessor; + lDetails: TDADatasetRelationshipList; + lFound: boolean; + begin + result := nil; + lStruct := nil; + // Reads the deltas. + lFound := false; + { Tries to locate a user-defined business processor } + if LocalSchema.Owner <> nil then + for j := 0 to (LocalSchema.Owner.ComponentCount - 1) do begin + if (LocalSchema.Owner.Components[j] is TDABusinessProcessor) then begin + lBizProc := TDABusinessProcessor(LocalSchema.Owner.Components[j]); + if SameText(lBizProc.ReferencedDataset, Self.LogicalName) then begin + lStruct := TDADeltaStruct.Create(Self.Delta, lBizProc); + lFound := true; + Break; + end; + end; + end; + { Either creates one} + if not lFound then begin + lBizProc := TDABusinessProcessor.Create(nil); + lBizProc.ReferencedDataset := Self.LogicalName; + lBizProc.Schema := LocalSchema; + Result := lBizProc; + lStruct := TDADeltaStruct.Create(Self.Delta, lBizProc); + end; + + { Sets the master/detail relationships } + if (LocalSchema.RelationShips.Count > 0) then begin + lDetails := TDADatasetRelationshipList.Create; + try + LocalSchema.RelationShips.GetDetails(lStruct.BusinessProcessor.ReferencedDataset, lDetails); + if (lDetails.Count <> 0) then begin + { Prepares an array with the references to the detail deltas that will be used later on to adjust + autoincs, etc. } + for j := 0 to lDetails.Count - 1 do begin + if lDetails[j].DetailDatasetName = LogicalName then begin + lStruct.DetailDeltas.Add(lStruct.Delta); + lStruct.RelationShips.Add(lDetails[j]); + end; + end; + end; + finally + lDetails.Free; + end; + end; + end; + +var + FLocalConnection: IDAConnection; + lProcessedDeltas: TStringList; + lStruct: TDADeltaStruct; + lBizProc: TDABusinessProcessor; + i, j: integer; +begin + Result:=False; + CheckProperties; + FLocalConnection := LocalSchema.ConnectionManager.NewConnection(LocalConnection); + if (Delta = nil) or (Delta.Count = 0) then Exit; + lBizProc := UnpackDeltas(lStruct); + try + {if TriggerTransactionEvent(fOnUpdateDataBeginTransaction) then} FLocalConnection.BeginTransaction; + try + if (LocalSchema.UpdateRules.Count = 0) then begin + lStruct.BusinessProcessor.ProcessDelta(FLocalConnection, lStruct.Delta, AllChanges); + end + else begin + lProcessedDeltas := TStringList.Create; + try + + for i := 0 to (LocalSchema.UpdateRules.Count - 1) do begin + // Processes them in the order defined in the schema + if LocalSchema.UpdateRules[i].DatasetName = LogicalName then begin + // Adds the dataset name to the list of processed deltas. Those that don't have update rules will be processed later + lProcessedDeltas.Add(LogicalName); + + // Processes the delta + lStruct.BusinessProcessor.ProcessDelta(FLocalConnection, lStruct.Delta, LocalSchema.UpdateRules[i].ChangeTypes); + + if (ctInsert in LocalSchema.UpdateRules[i].ChangeTypes) then begin + for j := 0 to (lStruct.DetailDeltas.Count - 1) do + lStruct.BusinessProcessor.SynchronizeAutoIncs(lStruct.Delta, lStruct.DetailDeltas[j], lStruct.RelationShips[j]); + end; + end; + end; + // Processes the deltas for which update rules were not defined + if lProcessedDeltas.IndexOf(LogicalName) = -1 then + lStruct.BusinessProcessor.ProcessDelta(FLocalConnection, lStruct.Delta, AllChanges); + finally + lProcessedDeltas.Free; + end; + end; + if FLocalConnection.InTransaction {and TriggerTransactionEvent(fOnUpdateDataCommitTransaction)} then FLocalConnection.CommitTransaction; + MergeDelta; + Result:=True; + except + on E: Exception do begin + if FLocalConnection.InTransaction {and TriggerTransactionEvent(fOnUpdateDataRollBackTransaction)} then FLocalConnection.RollbackTransaction; + raise; + end; + end; + finally + if lStruct <> nil then lStruct.Free; + if lBizProc <> nil then lBizProc.Free; + end; + if RefetchAll and result then begin + if Active then Close; + Open; + end; +end; + +procedure TDADataTable.GetDetailTablesforAllinOneFetch(aRemote, aLocal:TList; aRecursive: boolean); +var + i: integer; + dt: TDADataTable; + dtList: TList; + scc: IDASimpleClonedCursorsSupport; +begin + if (moAllInOneFetch in fMasterOptions) then begin + dtList:=GetDetailDataTables; + try + for i := 0 to dtList.Count-1 do begin + dt := TDADataTable(dtList[i]); + if (dtIncludeInAllInOneFetch in dt.DetailOptions) then begin + if (dt.QueryInterface(IDASimpleClonedCursorsSupport, scc) = S_OK) and (scc.GetSimpleCloneSource <> nil) then begin + dt:= TDADatatable(scc.GetSimpleCloneSource); + end; + + if self.RemoteFetchEnabled and dt.RemoteFetchEnabled and (dt.RemoteDataAdapter = Self.RemoteDataAdapter) then begin + if aRemote.IndexOf(dt) = -1 then aRemote.Add(dt); + end + else begin + if aLocal.IndexOf(dt) = -1 then aLocal.Add(dt); + end; + if aRecursive then dt.GetDetailTablesforAllinOneFetch(aRemote,aLocal, aRecursive); + end; + end; + finally + dtList.Free; + end; + end +end; + +function TDADataTable.GetDetailTablesforApplyUpdate(aRecursive: boolean): TList; +var + i: integer; + dt: TDADataTable; + dtList, dtlist1: TList; + scc: IDASimpleClonedCursorsSupport; +begin + Result:= TList.Create; + if (moCascadeApplyUpdates in fMasterOptions) then begin + dtList:=GetDetailDataTables; + try + for i := 0 to dtList.Count-1 do begin + dt := TDADataTable(dtList[i]); + if dt.Active and (dtCascadeApplyUpdates in dt.DetailOptions) then begin + if (dt.QueryInterface(IDASimpleClonedCursorsSupport, scc) = S_OK) and (scc.GetSimpleCloneSource <> nil) then begin + dt:= TDADatatable(scc.GetSimpleCloneSource); + end; + if Result.IndexOf(dt) = -1 then Result.Add(dt); + if aRecursive then begin + dtlist1:= dt.GetDetailTablesforApplyUpdate(aRecursive); + try + Result.Assign(dtlist1,laOr); + finally + dtlist1.Free; + end; + end; + end; + end; + finally + dtList.Free; + end; + end +end; + +procedure TDADataTable.CancelUpdateChange(Change: TDADeltaChange;IncludeDetails : boolean = TRUE); +var + orignextinc : integer; + wasfiltered, + remotefetch : boolean; + lOldMasterFields: string; + details: TList; + i,j,k: integer; + detailChange: TDADeltaChange; + ChangePKValueArray: array of Variant; + lNeedDeleteChange: boolean; + keyvalue: variant; +begin + if Editing then Cancel; + if not LogChanges then Exit; + + DisableControls; + wasfiltered := Filtered; + Filtered := FALSE; + try + // Truns off the remote fetching for this datatable and its details + remotefetch := RemoteFetchEnabled; + RemoteFetchEnabled := FALSE; + + // Disable the log of changes (we're about to make a bunch!) + LogChanges := FALSE; + // Saves the current recinc (we'll change this during the restore) + orignextinc := CurrRecId; + try + lOldMasterFields := MasterFields; + MasterFields := ''; + try + // Reverts the records to the original state + + if IncludeDetails then begin + SetLength(ChangePKValueArray,Change.Delta.KeyFieldCount); + For i:=1 to Change.Delta.KeyFieldCount do begin + if Change.ChangeType = ctInsert then + keyvalue:=Change.NewValueByName[Change.Delta.KeyFieldNames[i-1]] + else + keyvalue:=Change.OldValueByName[Change.Delta.KeyFieldNames[i-1]]; + ChangePKValueArray[0]:=keyvalue; + end; + details:=GetDetailTablesforApplyUpdate; + try + for i:=0 to details.Count-1 do begin + for j:=0 to TDADataTable(details[i]).Delta.Count-1 do begin + detailChange :=TDADataTable(details[i]).Delta.Changes[j]; + if detailChange.Status <> csResolved then begin + lNeedDeleteChange:= True; + for k:=0 to Change.Delta.KeyFieldCount-1 do begin + if detailChange.ChangeType = ctInsert then + keyvalue:=detailChange.NewValueByName[Change.Delta.KeyFieldNames[k]] + else + keyvalue:=detailChange.oldValueByName[Change.Delta.KeyFieldNames[k]]; + if not VarSameValue(keyValue, ChangePKValueArray[k]) then begin + lNeedDeleteChange:= False; + Break; + end; + end; + if lNeedDeleteChange then TDADataTable(details[i]).CancelUpdateChange(detailChange,IncludeDetails); + end; + end; + end; + finally + details.Free; + end; + end; + InternalCancelUpdateChange(change); + Delta.RemoveChange(change); + finally + if Delta.Count = 0 then fHasReducedDelta:=False; + MasterFields := lOldMasterFields; + end; + finally + CurrRecId := orignextinc; + LogChanges := TRUE; + RemoteFetchEnabled := remotefetch; + end; + finally + Filtered := wasfiltered; + EnableControls; + end; +end; + +procedure TDADataTable.InternalCancelUpdateChange(Change: TDADeltaChange); +var + i, x : integer; + fldname : string; + fldvalue : Variant; + details: TList; + RecID:string; +begin + case Change.ChangeType of + ctDelete : begin + CurrRecId := change.RecID; // We want the same autoinc regenerated + RecID:=IntToStr(Change.RecID); + Insert; + for x := 0 to (Delta.LoggedFieldCount-1) do begin + fldname := Delta.LoggedFieldNames[x]; + fldvalue := change.OldValues[x]; + VariantToFieldValue(fldValue, FieldByName(fldname)); + end; + Post; + + details := GetDetailDataTables; + try + for x := 0 to (details.Count-1) do begin + i:=TDADataTable(details[x]).fFetchedMasters.IndexOf(RecID); + if i<>-1 then TDADataTable(details[x]).fFetchedMasters.Delete(i); + end; + finally + details.Free; + end; + + + end; + + else begin + if not Locate(RecIDFieldName, change.RecID, []) then RaiseError('Couldn''t find record #'+FormatRecIDString(change.RecID)); + + if (change.ChangeType=ctInsert) then Delete + else begin + Edit; + for x := 0 to (Delta.LoggedFieldCount-1) do begin + fldname := Delta.LoggedFieldNames[x]; + fldvalue := change.OldValues[x]; + if fHasReducedDelta and ROVariantsEqual(fldvalue, change.NewValues[x]) then Continue; + VariantToFieldValue(fldValue, FieldByName(fldname)); + end; + Post; + end; + end; + end; +end; + +procedure TDADataTable.CheckProperties(ACheckRemoteFetching: Boolean=False); +begin + if RemoteFetchEnabled or ACheckRemoteFetching then begin + Check(RemoteDataAdapter = nil, Name+'.RemoteDataAdapter must be assigned.'); + end + else begin + Check(LocalDataStreamer = nil , Name+'.LocalDataStreamer must be assigned.'); + Check(LocalSchema = nil, Name+'.LocalSchema must be assigned.'); + LocalSchema.CheckProperties; + end; +end; + + +procedure TDADataTable.ExpessionEvaluatorGetValue( + Sender: TDAExpressionEvaluator; const aIdentifier: string; + out aValue: Variant); +begin + aValue := Fields.FieldByName(aIdentifier).Value; +end; + +function TDADataTable.GetDynamicWhere: TDAWhereBuilder; +begin + Result := fDynamicWhere; +end; + +procedure TDADataTable.SetDynamicWhere(const Value: TDAWhereBuilder); +begin + if Value <> nil then + FDynamicWhere.Xml := Value.Xml + else + FDynamicWhere.Clear; +end; + +{ TDADataSource } + +constructor TDADataSource.Create(aOwner: TComponent); +begin + inherited; +end; + +destructor TDADataSource.Destroy; +begin + inherited; +end; + +function TDADataSource.GetActive: boolean; +begin + result := (fDataTable <> nil) and fDataTable.Active +end; + +function TDADataSource.GetDataset: TDataset; +begin + result := nil; +end; + +function TDADataSource.GetOpening: boolean; +begin + result := (fDataTable <> nil) and fDataTable.Opening +end; + +procedure TDADataSource.Notification(AComponent: TComponent; + Operation: TOperation); +begin + inherited; + + if (AComponent = fDataTable) then begin + fDataTable := nil; + inherited Dataset := nil; + end; +end; + +procedure TDADataSource.SetDataset(const Value: TDataset); +begin + +end; + +procedure TDADataSource.SetDataTable(const Value: TDADataTable); +begin + fDataTable := Value; + if (fDataTable <> nil) then begin + fDataTable.FreeNotification(Self); + inherited Dataset := fDataTable.Dataset; + end + else + inherited Dataset := nil; +end; + +{ TDABusinessRules } + +constructor TDABusinessRules.Create; +begin + inherited; +end; + +destructor TDABusinessRules.Destroy; +begin + inherited; +end; + +function TDABusinessRules._AddRef: Integer; +begin + result := -1; +end; + +function TDABusinessRules._Release: Integer; +begin + result := -1; +end; + +{ TDADataTableRules } + +constructor TDADataTableRules.Create(aDataTable: TDADataTable); +begin + inherited Create; + + Check(not Assigned(aDatatable), 'DataTable cannot be NIL'); + + fDetails := TStringList.Create; + fDetails.Sorted := TRUE; + fDetails.Duplicates := dupError; + + fDataTable := aDataTable; +end; + +destructor TDADataTableRules.Destroy; +begin + fDetails.Free; + + inherited; +end; + +procedure TDADataTableRules.AfterCancel(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.AfterClose(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.AfterDelete(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.AfterEdit(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.AfterInsert(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.AfterOpen(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.AfterPost(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.AfterRefresh(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.AfterScroll(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.BeforeCancel(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.BeforeClose(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.BeforeDelete(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.BeforeEdit(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.BeforeInsert(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.BeforeOpen(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.BeforePost(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.BeforeRefresh(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.BeforeScroll(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.OnCalcFields(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.OnNewRecord(Sender: TDADataTable); +begin + +end; + +procedure TDADataTableRules.OnDeleteError(DataTable: TDADataTable; + Error: EDatabaseError; var Action: TDataAction); +begin + +end; + +procedure TDADataTableRules.OnEditError(DataTable: TDADataTable; + Error: EDatabaseError; var Action: TDataAction); +begin + +end; + +procedure TDADataTableRules.Attach(aDataTable: TDADataTable); +begin + RefreshDetails; +end; + +procedure TDADataTableRules.Detach(aDataTable: TDADataTable); +begin + fDetails.Clear; +end; + +procedure TDADataTableRules.Append; +begin + fDataTable.Append(); +end; + +procedure TDADataTableRules.Cancel; +begin + fDataTable.Cancel(); +end; + +procedure TDADataTableRules.Delete; +begin + fDataTable.Delete(); +end; + +procedure TDADataTableRules.Edit; +begin + fDataTable.Edit(); +end; + +procedure TDADataTableRules.First; +begin + fDataTable.First(); +end; + +procedure TDADataTableRules.Insert; +begin + fDataTable.Insert(); +end; + +procedure TDADataTableRules.Last; +begin + fDataTable.Last(); +end; + +procedure TDADataTableRules.Next; +begin + fDataTable.Next(); +end; + +procedure TDADataTableRules.Post; +begin + fDataTable.Post(); +end; + +procedure TDADataTableRules.Prior; +begin + fDataTable.Prior(); +end; + +function TDADataTableRules.GetBOF: Boolean; +begin + result := fDataTable.BOF; +end; + +function TDADataTableRules.GetEOF: Boolean; +begin + result := fDataTable.EOF; +end; + +function TDADataTableRules.GetRecordCount: Integer; +begin + result := fDataTable.RecordCount; +end; + +function TDADataTableRules.Locate(const aKeyFields: String; const aKeyValues: Variant; aOptions: TLocateOptions = []): boolean; +begin + result := fDataTable.Locate(aKeyFields, aKeyValues, aOptions); +end; + +function TDADataTableRules.GetDetails(Index: integer): TDADataTable; +begin + result := TDADataTable(fDetails[Index]) +end; + +function TDADataTableRules.GetDetailsCount: integer; +begin + result := fDetails.Count +end; + +function TDADataTableRules.FindDetail( + const aLogicalName: string): TDADataTable; +var i : integer; +begin + result := NIL; + i := fDetails.IndexOf(aLogicalName); + + if (i>=0) then result := TDADataTable(fDetails.Objects[i]); +end; + +function TDADataTableRules.DetailByName( + const aLogicalName: string): TDADataTable; +begin + result := FindDetail(aLogicalName); + if (result=NIL) + then raise Exception.CreateFmt('Cannot find the detail DataTable %s ', [aLogicalName]); +end; + +procedure TDADataTableRules.RefreshDetails; +var lList : TList; + i : integer; + lLogicalName : string; +begin + lList := DataTable.GetDetailDataTables; + fDetails.Clear; + try + for i := 0 to (lList.Count-1) do begin + lLogicalName := TDADataTable(lList[i]).LogicalName; + + if (lLogicalName<>'') + then fDetails.AddObject(lLogicalName, lList[i]); + end; + finally + lList.Free; + end; +end; + +function TDADataTableRules.GetDetailOptions: TDADetailOptions; +begin + result := DataTable.DetailOptions +end; + +function TDADataTableRules.GetMasterOptions: TDAMasterOptions; +begin + result := DataTable.MasterOptions +end; + +procedure TDADataTableRules.SetDetailOptions(Value: TDADetailOptions); +begin + DataTable.DetailOptions := Value +end; + +procedure TDADataTableRules.SetMasterOptions(Value: TDAMasterOptions); +begin + DataTable.MasterOptions := Value +end; + +function TDADataTableRules.GetRecNo: integer; +begin + result := fDataTable.RecNo +end; + +procedure TDADataTableRules.SetRecNo(Value: integer); +begin + fDataTable.RecNo := Value +end; + +procedure TDADataTableRules.OnFilterRecord(DataTable: TDADataTable; + var Accept: boolean); +begin + +end; + +procedure TDADataTableRules.OnPostError(DataTable: TDADataTable; + Error: EDatabaseError; var Action: TDataAction); +begin + +end; + +function TDADataTableRules.Lookup(const KeyFields: string; + const KeyValues: Variant; const ResultFields: string): Variant; +begin + result := fDataTable.Lookup(KeyFields, KeyValues, ResultFields); +end; + +function TDADataTableRules.GetIsEmpty: boolean; +begin + result := fDataTable.IsEmpty +end; + +function TDADataTableRules.GetState: TDatasetState; +begin + result := fDataTable.State +end; + +function TDADataTableRules.IsFieldNull( + const FieldIndexOrName: Variant): boolean; +var fld : TDAField; +begin + case VarType(FieldIndexOrName) of + varString, varOleStr, varStrArg : fld := DataTable.FieldByName(VarToStr(FieldIndexOrName)); + else fld := DataTable.Fields[FieldIndexOrName]; + end; + + result := fld.IsNull; +end; + +procedure TDADataTableRules.ClearField(const FieldIndexOrName: Variant); +var fld : TDAField; +begin + case VarType(FieldIndexOrName) of + varString, varOleStr, varStrArg : fld := DataTable.FieldByName(VarToStr(FieldIndexOrName)); + else fld := DataTable.Fields[FieldIndexOrName]; + end; + + fld.Clear; +end; + +function TDADataTableRules.GetDataTable: TDADataTable; +begin + result := fDataTable; +end; + +procedure TDADataTableRules.ApplyRange; +begin + (fDataTable as IDARangeController).ApplyRange +end; + +procedure TDADataTableRules.CancelRange; +begin + (fDataTable as IDARangeController).CancelRange +end; + +procedure TDADataTableRules.EditRangeEnd; +begin + (fDataTable as IDARangeController).EditRangeEnd +end; + +procedure TDADataTableRules.EditRangeStart; +begin + (fDataTable as IDARangeController).EditRangeStart +end; + +procedure TDADataTableRules.SetRange(const StartValues, + EndValues: array of const); +begin + (fDataTable as IDARangeController).SetRange(StartValues, EndValues); +end; + +procedure TDADataTableRules.SetRangeEnd; +begin + (fDataTable as IDARangeController).SetRangeEnd +end; + +procedure TDADataTableRules.SetRangeStart; +begin + (fDataTable as IDARangeController).SetRangeStart +end; + +procedure TDADataTableRules.Close; +begin + fDataTable.Close; +end; + +procedure TDADataTableRules.Open; +begin + fDataTable.Open; +end; + +function TDADataTableRules.GetActive: boolean; +begin + result := fDataTable.Active; +end; + +procedure TDADataTableRules.SetActive(const Value: boolean); +begin + fDataTable.Active := Value; +end; + +procedure TDADataTableRules.OnAfterApplyUpdates(DataTable: TDADataTable); +begin + +end; + +procedure TDADataTableRules.OnAfterDataRequestCall(DataTable: TDADataTable; + Request: TDARemoteRequest); +begin + +end; + +procedure TDADataTableRules.OnAfterDataUpdateCall(DataTable: TDADataTable; + Request: TDARemoteRequest); +begin + +end; + +procedure TDADataTableRules.OnAfterMergeDelta(DataTable: TDADataTable); +begin + +end; + +procedure TDADataTableRules.OnAfterSchemaCall(DataTable: TDADataTable; + Request: TDARemoteRequest); +begin + +end; + +procedure TDADataTableRules.OnAfterScriptCall(DataTable: TDADataTable; + Request: TDARemoteRequest); +begin + +end; + +procedure TDADataTableRules.OnBeforeApplyUpdates(DataTable: TDADataTable; + const Delta: IDADelta); +begin + +end; + +procedure TDADataTableRules.OnBeforeDataRequestCall( + DataTable: TDADataTable; Request: TDARemoteRequest); +begin + +end; + +procedure TDADataTableRules.OnBeforeDataUpdateCall(DataTable: TDADataTable; + Request: TDARemoteRequest); +begin + +end; + +procedure TDADataTableRules.OnBeforeMergeDelta(DataTable: TDADataTable); +begin + +end; + +procedure TDADataTableRules.OnBeforeSchemaCall(DataTable: TDADataTable; + Request: TDARemoteRequest); +begin + +end; + +procedure TDADataTableRules.OnBeforeScriptCall(DataTable: TDADataTable; + Request: TDARemoteRequest); +begin + +end; + +procedure TDADataTableRules.OnReceiveDataStream(DataTable: TDADataTable; + Stream: TStream); +begin + +end; + +{ TDAFieldRules } +constructor TDAFieldRules.Create(aField : TDAField; aDataTable : TDADataTable); +begin + inherited Create; + + fDataTable := aDataTable; + + fField := aField; + fField.OnValidate := OnValidate; + fField.OnChange := OnChange; + + Attach(fDataTable); +end; + +destructor TDAFieldRules.Destroy; +begin + Detach(fDataTable); + inherited; +end; + +procedure TDAFieldRules.Attach(aDataTable: TDADataTable); +begin + +end; + +procedure TDAFieldRules.Detach(aDataTable: TDADataTable); +begin + +end; + +procedure TDAFieldRules.OnChange(Sender: TDACustomField); +begin +end; + +procedure TDAFieldRules.OnValidate(Sender: TDACustomField); +begin +end; + +{ TDADataTableList } +constructor TDADataTableList.Create(aOwnerComponent: TComponent); +begin + inherited Create; + + ScanAndAdd(aOwnerComponent); +end; + +function TDADataTableList.Add(aDataTable: TDADataTable): integer; +begin + result := inherited Add(aDataTable); +end; + +function TDADataTableList.GetItems(Index: integer): TDADataTable; +begin + result := TDADataTable(inherited Items[Index]); +end; + +procedure TDADataTableList.Remove(aDataTable: TDADataTable); +begin + inherited Remove(aDataTable); +end; + + +function TDADataTableList.ScanAndAdd(aOwnerComponent: TComponent): integer; +var i : integer; +begin + result := 0; + with aOwnerComponent do begin + for i := 0 to (Count-1) do + if (Components[i] is TDADataTable) then begin + Add(TDADataTable(Components[i])); + Inc(result); + end; + end; +end; + +function TDADataTableList.GetPendingChangeCount: integer; +var i : integer; +begin + result := 0; + for i := 0 to (Count-1) do + if Items[i].Active and Items[i].LogChanges + then Inc(result, Items[i].Delta.Count); +end; + +{ TDABaseRemoteDataAdapter } + +function TDABaseRemoteDataAdapter.Get_GetDataCall: TDARemoteRequest; +begin + result := nil; +end; + +function TDABaseRemoteDataAdapter.Get_GetSchemaCall: TDARemoteRequest; +begin + result := nil; +end; + +function TDABaseRemoteDataAdapter.Get_GetScriptsCall: TDARemoteRequest; +begin + result := nil; +end; + +function TDABaseRemoteDataAdapter.Get_UpdateDataCall: TDARemoteRequest; +begin + result := nil; +end; + +initialization + RegisterExceptionClass(EDABizValidationException); + + _bizfields := TStringList.Create; + _bizfields.Sorted := TRUE; + + _bizdatatables := TStringList.Create; + _bizdatatables.Sorted := TRUE; + +finalization + UnregisterExceptionClass(EDABizValidationException); + _bizdatatables.Free; + _bizfields.Free; + +end.