Описание объекта конфигурации "Общий модуль"

Общие модули предназначены для содержания общих алгоритмов конфигурации, которые доступны из разных модулей конфигурации. В общих модулях отсутствует раздел определения переменных и раздел основной программы, то есть они должны содержать только процедуры и функции.

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

Описание свойств


Если установлено свойство Клиент (обычное приложение) или Клиент (управляемое приложение), то все процедуры и функции общего модуля могут использоваться в клиентском приложении. В контексте неглобального общего модуля с установленным свойством Клиент (обычное приложение) доступны экспортируемые переменные, процедуры и функции модуля обычного приложения. В контексте неглобального общего модуля с установленным свойством Клиент (управляемое приложение) доступны экспортируемые переменные, процедуры и функции модуля управляемого приложения.

Если установлено свойство Сервер, то все процедуры и функции общего модуля могут использоваться в клиент-серверном варианте.

Если установлено свойство Внешнее соединение, то все процедуры и функции общего модуля могут быть использованы во внешнем соединении. В контексте неглобального общего модуля с установленным свойством Внешнее соединение доступны экспортируемые переменные, процедуры и функции модуля внешнего соединения.

Свойство Вызов сервера разрешает вызов сервера. Свойство доступно, если установлено свойство Сервер. Если данное свойство не установлено, то процедуры и функции данного модуля доступны только на сервере, иначе процедуры и функции доступны на клиенте.

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

Свойство Повторное использование возвращаемых значений доступно, если общий модуль не является глобальным. Это свойство может принимать следующие значения:
  • Не использовать – повторное использование возвращаемых значений для функций этого общего модуля не используется;
  • На время вызова и На время сеанса – для общего  модуля используется метод определения повторного использования данных. Суть этого метода заключается в том, что в ходе выполнения кода система запоминает параметры и результат работы функций после первого вызова функции. При повторном вызове функции с такими же параметрами, происходит возврат запомненного значения (из первого вызова) без выполнения самой функции. Если функция во время своего выполнения меняет значения параметров, то повторный вызов функции не будет это делать.
Свойство Глобальный определяет, являются ли экспортируемые методы общего модуля частью глобального контекста. Если установлено свойство Глобальный, то экспортируемые методы общего модуля доступны как методы глобального контекста. Если данное свойство не установлено, то в глобальном контексте создается свойство с именем, соответствующим имени общего модуля в метаданных. Данное свойство доступно только для чтения. Значением данного свойства является объект ОбщийМодуль. Через данный объект доступны экспортируемые методы данного общего модуля. Таким образом, обращение к методам неглобальных общих модулей выглядит как XXXXX.YYYYY, где XXXXX – это имя свойства общего модуля, а YYYYY – имя экспортируемого метода общего модуля.

Если установлено свойство Клиент (обычное приложение), то модуль загружается в толстом клиенте в режиме обычного приложения. Модули с установленным данным свойством проверяются для режимов запуска:
  • Толстый клиент (обычное приложение);
  • Толстый клиент (обычное приложение) вариант клиент-сервер.
Если установлено свойство Клиент (управляемое приложение), то все процедуры и функции общего модуля могут использоваться в режиме Управляемое приложения, в тонком клиенте, в веб-клиенте. Модули с установленным данным свойством проверяются для режимов запуска:
  • Толстый клиент (управляемое приложение);
  • Толстый клиент (управляемое приложение) вариант клиент-сервер;
  • Тонкий клиент;
  • Веб-клиент.

Особенности свойства Повторное использование возвращаемых значений


Можно выделить следующие особенности сохранения результатов вызова:
  • если функция выполняется на сервере и вызывается из серверного кода, то значения параметров и результат вызова запоминаются  для текущего сеанса на стороне сервера;
  • если функция выполняется на толстом или тонком клиенте, то значения параметров и результатов вызова запоминается на стороне клиента;
  • если функция выполняется на стороне сервера, а вызывается из клиентского кода, то значения параметров вызова запоминаются и на стороне клиента и на стороне сервера.
Сохраненные значения удаляются:
  • если свойство установлено в значение На время вызова:
     - на стороне сервера – при возврате управления с сервера;
     - на стороне клиента – при завершении работы процедуры или функции встроенного языка  верхнего уровня (вызванной системой из интерфейса, а не из другой процедуры или функции встроенного языка).
  • если свойство общего модуля установлено в значение На время сеанса:
     - на стороне сервера – при окончании сеанса;
     - на стороне клиента – при закрытии клиентского приложения.
Сохраненные значения могут быть удалены:
  • после долгого неиспользования (более 5 минут);
  • при нехватке оперативной памяти в рабочем процессе сервера;
  • при перезапуске рабочего процесса;
  • при переключении клиента на другой рабочий процесс.
После удаления значений, вызов экспортной функции выполняется как при первом вызове!

----------------------------------------------------------------------------------------------------------------------

Внимание! Свойство Клиент (обычное приложение) показывается, если в настройках конфигурации режима запуска установлен режим "Управляемое приложение и обычное приложение".
2. Режимы запуска конфигурации

Copyright © ООО "1С"

Комментарии