WEB-приложение Сведение отчетности  (21.11.2024)
Механизм пользовательских приложений

Реализована поддержка механизмов пользовательских приложений.

Поддерживаются пользовательские приложения на основе модулей, разработанных на языке VBscript . Скрипт выполняется в адресном пространстве сервиса. Поддерживаются доступные объекты, переменные, функции, описанные в документации ПП Парус 8 для скриптовых модулей пользовательских приложений, с учетом следующих ограничений и дополнений:

  1. Функции MsgBox, InputBox, ShowDocument и прочие, предполагающие взаимодействие с пользователем, не поддерживаются.
  2. Доступна переменная Silent, всегда имеющая значение True при выполнении сервисом скрипта пользовательского приложения. Вы можете "развязать" поток выполнения вашего скрипта, например, следующим образом:
    Пример
    1 if Silent then
    2   Message "Работа пользовательского приложения завершилась с большим успехом."
    3 else
    4   MsgBox "Работа пользовательского приложения завершилась с большим успехом."
    5 end if
          
  3. Доступна процедура Message с единственным строковым параметром. Вызов этой процедуры обеспечит передачу пользователю сообщения, заданного параметром, после завершения работы скрипта. В тексте сообщения можно использовать html-разметку:
    Пример
     Message "Невозможно обработать. Обратитесь в <a href='http://domain.com/support'>техподдержку</a>."
          
  4. Доступна процедура DebugString с единственным строковым параметром. Вызов этой процедуры обеспечит передачу сообщения, заданного параметром, в "Отладочный монитор".

Механизм автоматической загрузки и регистрации зависимых модулей не поддерживается. Администратор сервера обязан самостоятельно обеспечить доступность COM-объектов, используемых в скриптах пользовательских приложений, с учетом разрядности редакции сервиса.
Например, вы создали COM-сервер с программным идентификатором "MyProg.MyObj". Для использования библиотеки этого COM-сервера с пользовательскими приложениями ПП Парус 8 вы должны собрать модуль MyProg.DLL в 32-битной редакции, и загрузить его в зависимые модули пользовательского приложения, использующего вызов CreateObject("MyProg.MyObj") (подробности в документации ПП Парус 8). Для использования этого пользовательского приложения в сервисе вам необходимо:

  • Для 32-разрядной редакции - разместить 32-разрядный модуль MyProg.DLL в каталоге, доступном для сервиса, и зарегистрировать COM-сервер вручную командой regsvr32 MyProg.DLL
  • Для 64-разрядной редакции - собрать 64-разрядную редакцию модуля MyProg.DLL, разместить 64-разрядный модуль MyProg.DLL в каталоге, доступном для сервиса, и зарегистрировать COM-сервер вручную командой regsvr32 MyProg.DLL