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

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

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #36552
      Фото аватараOdineski
      Участник

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

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

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

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

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

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

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

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С