Общий модуль 1С: как создать и выбрать свойства

Дата: 21.09.2026 10:04:16
Общие модули
Программирование 1С
Клиент-сервер
Доработка 1С
Комментарий:
0
Платформа:
8.3
Конфигурация:
Любая
Формы:
Любые

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

Когда нужен общий модуль

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

Экспортная процедура и функция

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

// Общий модуль ПроверкиДанныхСервер.
Функция МожноПроводитьДокумент(ДокументОбъект) Экспорт
    Если Не ЗначениеЗаполнено(ДокументОбъект.Организация) Тогда
        Возврат Ложь;
    КонецЕсли;

    Возврат Истина;
КонецФункции

// Модуль объекта документа.
Если Не ПроверкиДанныхСервер.МожноПроводитьДокумент(ЭтотОбъект) Тогда
    Отказ = Истина;
КонецЕсли;

Сервер, клиент и вызов сервера

Где выполняется кодДля чего подходит
СерверЗапросы, запись объектов, регистры, фоновые операции
КлиентСообщения, элементы формы, интерактивные действия
Клиент-серверНебольшие функции, доступные с обеих сторон при совместимых типах

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

&НаКлиенте
Процедура ПроверитьПередЗаписью(Команда)
    Если Не ПроверкиДанныхКлиентСервер.МожноЗаписатьНаСервере(Объект.Ссылка) Тогда
        Сообщить("Проверьте обязательные реквизиты.");
    КонецЕсли;
КонецПроцедуры

Имена и состав модулей

Имя модуля должно объяснять ответственность: ПроверкиДанных, ИнтеграцияСайта, РасчетыПродаж. Не создавайте один модуль «Общий» на всю конфигурацию: со временем в нём появляются несвязанные процедуры и трудно понять, кто за что отвечает. Клиентскую и серверную части одной задачи удобно разделять именами с суффиксами Клиент, Сервер или КлиентСервер.

Типичные ошибки

  • Забыли Экспорт. В другом модуле процедура не будет доступна.
  • Вызывают серверный модуль на клиенте без нужного свойства. Появляется ошибка контекста или недоступной переменной.
  • Передают на сервер всю форму. Передавайте ссылку или структуру необходимых параметров.
  • Размещают бизнес-логику в обработчике кнопки. Её нельзя использовать из регламентного задания или обмена.
  • Используют привилегированный режим без необходимости. Это может обойти ограничения доступа.

Когда нужна доработка

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

Станьте частью сообщества!
Войдите или зарегистрируйтесь, и вы сможете участвовать в обсуждениях.


1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.