Skip to content

Правила создания общий модулей

Правила создания общих модулей

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

Типы общих модулей и контексты выполнения

Тип общего модуляПример наименованияВызов сервераСерверВнешнее соединениеКлиент (обычное приложение)Клиент (управляемое приложение)
1СерверныйОбщегоНазначения или ОбщегоНазначенияСервер+++
2Серверный для вызова с клиентаОбщегоНазначенияВызовСервера++
3КлиентскийОбщегоНазначенияКлиент или ОбщегоНазначенияГлобальный++
4Клиент-серверныйОбщегоНазначенияКлиентСервер++++

Пояснения:

  • Вызов сервера — позволяет вызывать методы модуля с клиента на сервер.
  • Сервер — методы выполняются на сервере.
  • Внешнее соединение — доступность методов при внешнем соединении.
  • Клиент (обычное приложение) — доступность методов в толстом клиенте.
  • Клиент (управляемое приложение) — доступность методов в тонком клиенте и веб-клиенте.

Рекомендации по выбору типа модуля

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

Использование директив компиляции

Для управления выполнением кода в различных контекстах можно использовать директивы компиляции:

#Если Сервер Тогда
// Код, выполняемый на сервере
#Иначе
// Код, выполняемый на клиенте
#КонецЕсли

Это позволяет создавать универсальные модули, адаптирующие своё поведение в зависимости от контекста выполнения.

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

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

Настройка этого поведения осуществляется через свойство модуля:

  • Не использовать — повторное использование отключено.
  • На время вызова — результаты сохраняются на время выполнения функции.
  • На время сеанса — результаты сохраняются на время сеанса пользователя.

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


Для получения более подробной информации и примеров рекомендуется ознакомиться с официальной документацией 1С:ИТС по ссылке.