Ответ в теме: Как объединить все процедуры с &НаСервере в одном месте для защиты?

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

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

    Если нужно «объединить» все процедуры с директивой &НаСервере в одном месте для удобства и защиты — делается так:

    1. Создаёшь общий модуль (например, «СерверныйКод») с настройкой «Серверный» (т.е. модуль будет выполняться только на сервере).

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

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

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

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

    4. Для защиты — при создании файла поставки в конфигураторе отключаешь включение исходного текста модулей объекта. Тогда весь серверный код в общем модуле будет скомпилирован и скрыт.

    Итого:
    — Все серверные процедуры и функции собираешь в один общий модуль с настройкой «Серверный».
    — Вызываешь их из клиентских процедур через этот модуль.
    — Создаёшь файл поставки без исходников — код скрыт.

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

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