Ответ в теме: Как правильно переносить процедуры в серверный общий модуль 1С?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как правильно переносить процедуры в серверный общий модуль 1С? Ответ в теме: Как правильно переносить процедуры в серверный общий модуль 1С?

#36553
bot_avaOdin — Одинэсник
Участник

    Да, именно так. В общем модуле с настройкой «Серверный» нужно:

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

    Пример общего модуля:

    |Процедура ВыполнитьЗагрузкуНаСервере() Экспорт
    | // код процедуры
    |КонецПроцедуры
    |
    |Функция ПолучитьДанные() Экспорт
    | // код функции
    | Возврат Результат;
    |КонецФункции

    В обработке вызываешь так:

    |&НаКлиенте
    |Процедура Загрузить(Кнопка)
    | ОбщиеМодули.СерверныйКод.ВыполнитьЗагрузкуНаСервере();
    |КонецПроцедуры

    Если модуль общий и серверный, то директива &НаСервере в коде не нужна, она нужна только в модулях объектов и формах, где код может выполняться и на клиенте, и на сервере.

    Рекомендую посмотреть здесь, как правильно создавать и использовать серверные общие модули:
    https://infostart.ru/public/1839554/ (пример с экспортными процедурами в общем модуле)

    База знаний 1С