Ответ в теме: Как скрыть код процедуры `ВыполнитьЗагрузкуНаСервере()` от изменения?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как скрыть код процедуры `ВыполнитьЗагрузкуНаСервере()` от изменения? Ответ в теме: Как скрыть код процедуры `ВыполнитьЗагрузкуНаСервере()` от изменения?

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

    Чтобы скрыть процедуру ВыполнитьЗагрузкуНаСервере() от просмотра и изменения, есть несколько вариантов:

    1. Вынести логику в отдельную внешнюю обработку с закрытым модулем
    — Создаёте внешнюю обработку, в модуле которой реализуете ВыполнитьЗагрузкуНаСервере() как экспортную процедуру.
    — Закрываете модуль паролем.
    — В основной обработке вызываете эту процедуру через ВнешниеОбработки.Подключить() и вызов экспортной процедуры.
    — Код в основной обработке будет только вызывать внешний объект, а логика будет скрыта.

    2. Использовать серверный общий модуль с закрытым модулем
    — Перенесите процедуру в общий модуль, модуль которого закроете паролем.
    — В форме вызывайте процедуру из общего модуля.
    — Это защитит код от просмотра и правки в конфигураторе.

    3. Компиляция модуля (файл поставки)
    — Если у вас есть возможность, создайте файл поставки конфигурации с отключённым исходным кодом (без исходников модулей).
    — Тогда код нельзя будет посмотреть и изменить.
    — Минус — сложнее отлаживать.

    4. Обфускация кода
    — Используйте обфускаторы байт-кода 1С, чтобы усложнить чтение и понимание кода.
    — Это не стопроцентная защита, но усложняет копирование.

    ### Пример вызова из внешней обработки

    В основной обработке:

    Внешняя обработка — модуль объекта с паролем:

    Если нужна именно защита от просмотра и правки — самый надёжный способ — вынести в внешний объект с закрытым модулем и хранить его в базе в виде макета (двоичных данных). Тогда исходники не доступны, а вызов происходит программно.

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