Защита общего модуля паролем: как открыть код и убрать пароль в Конфигураторе

· 9 мин

Содержание

Снять пароль с общего модуля 1С можно только в Конфигураторе и только зная этот пароль: откройте модуль, введите пароль, в меню Текст вызовите команду установки пароля и сохраните её с пустым полем. Затем сохраните конфигурацию и обновите конфигурацию базы данных (F7).

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

Зачем модуль закрывают паролем и что при этом видно

Пароль на модуль — механизм платформы 1С:Предприятие 8.3 для защиты исходного кода. Его ставят на общий модуль, модуль объекта, менеджера или формы. Чаще всего это делают:

  • 🏢 разработчики отраслевых решений и франчайзи — чтобы закрыть своё ноу-хау;
  • 🔐 авторы механизмов лицензирования — чтобы код проверки нельзя было прочитать и исправить;
  • 🧑‍💻 штатные программисты — чтобы коллеги случайно не правили критичный код.

Что происходит с закрытым модулем:

ДействиеБез пароляПосле ввода пароля
Открыть текст в КонфигуратореЗапрос пароля, текст не показываетсяТекст доступен для чтения и правки
Выполнение кода в базеРаботает как обычноРаботает как обычно
ОтладкаПошаговая отладка внутри модуля недоступнаДоступна
Сравнение и объединение конфигурацийТекст не сравнивается по строкамСравнивается

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

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

Что проверить перед снятием пароля с модуля

Пароль снимают в Конфигураторе. Ещё до ввода пароля убедитесь, что модуль вообще можно редактировать. Иначе команда будет недоступна, а вы решите, что пароль неверный.

Права пользователя

Запустить Конфигуратор может только пользователь с правом администрирования (роль «Полные права» или «Администратор системы» в типовых конфигурациях). Если в базе есть список пользователей, войдите под таким пользователем.

Конфигурация на поддержке

Типовая или отраслевая конфигурация обычно стоит на поддержке. Объекты в режиме «Не редактируется» менять нельзя, и снять пароль тоже не получится.

  1. Откройте Конфигурация → Поддержка → Настройка поддержки.
  2. Нажмите «Включить возможность изменения», если она ещё не включена.
  3. Для нужного общего модуля поставьте правило «Редактируется с сохранением поддержки».

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

Хранилище конфигурации

Если база подключена к хранилищу, модуль нужно захватить: в дереве конфигурации щёлкните правой кнопкой по модулю → «Захватить в хранилище». Без захвата объект открыт только на чтение.

Резервная копия

Перед любыми изменениями конфигурации сделайте выгрузку: Администрирование → Выгрузить информационную базу в Конфигураторе, получится файл .dt. Без копии не начинайте: ошибка при обновлении конфигурации базы данных может оставить базу в нерабочем состоянии.

Готовность к снятию пароля
Выполнено: 0 / 5

Пошаговое снятие пароля с общего модуля в Конфигураторе

Процедура одинакова для общих модулей, модулей объектов, менеджеров и форм.

Шаг 1. Откройте модуль

  1. Запустите базу в режиме «Конфигуратор».
  2. Откройте конфигурацию: Конфигурация → Открыть конфигурацию.
  3. В дереве раскройте ветку Общие → Общие модули и дважды щёлкните по нужному модулю.

Для модуля объекта (документа, справочника) откройте объект и перейдите на вкладку «Прочее» — там кнопки открытия модулей.

Шаг 2. Введите текущий пароль

Конфигуратор покажет запрос пароля. Введите его с учётом регистра и раскладки. После этого текст модуля откроется в редакторе.

Шаг 3. Удалите пароль

  1. Не закрывая модуль, откройте меню Текст в главном меню Конфигуратора.
  2. Выберите команду установки пароля («Установить пароль …»; в разных версиях платформы формулировка пункта немного отличается).
  3. В окне оставьте поля пароля и подтверждения пустыми и нажмите «ОК».

Пустой пароль и означает снятие защиты.

Шаг 4. Сохраните и примените изменения

  1. Сохраните конфигурацию: Конфигурация → Сохранить конфигурацию или Ctrl+S.
  2. Обновите конфигурацию базы данных: Конфигурация → Обновить конфигурацию базы данных или F7.
  3. Если работаете с хранилищем — поместите модуль в хранилище, чтобы изменение увидели другие разработчики.

Проверка: закройте модуль и откройте снова. Запроса пароля быть не должно.

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

Как поставить пароль обратно

Тот же пункт меню Текст, но поля заполняются новым паролем. Пароль хранится внутри конфигурации, поэтому после переноса .cf в другую базу защита сохраняется.

Выгрузка в файлы, внешние обработки и другие пути к коду

Здесь собраны способы, которые часто предлагают на форумах. Разберём, что они дают на самом деле.

Выгрузка конфигурации в файлы

Команда Конфигурация → Выгрузить конфигурацию в файлы сохраняет структуру конфигурации в каталог XML-файлов. Закрытый модуль в выгрузке не превращается в читаемый текст — он остаётся защищённым. Выгрузка полезна для другого: хранить историю изменений в Git и находить версии модуля, сохранённые до установки пароля.

Сохранение в файл .cf и сравнение

Файл .cf (Конфигурация → Сохранить конфигурацию в файл) переносит модуль вместе с паролем. При сравнении двух конфигураций закрытый модуль не раскладывается построчно — видно только, что он отличается.

Внешние обработки и отчёты

Модуль внешней обработки (.epf) или отчёта (.erf) защищается тем же способом. Снять пароль можно так:

  1. Откройте файл через Файл → Открыть в Конфигураторе.
  2. Откройте модуль объекта или формы, введите пароль.
  3. Очистите пароль через меню Текст.
  4. Сохраните обработку Ctrl+S.

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

Возврат из архива и хранилища

Если пароль ставили вы сами и забыли — это самый рабочий путь:

  • 📦 в хранилище конфигурации откройте историю модуля и получите версию до установки пароля;
  • 🗂 в Git найдите коммит выгрузки, где модуль ещё был открыт;
  • 💾 разверните старый .dt или .cf в отдельную базу и перенесите код оттуда.

Изменения, сделанные после установки пароля, придётся повторить вручную.

Сравнение способов снять защиту с модуля

СпособКогда подходитЧто нужноРиски
Снятие в КонфигуратореПароль известенПрава администратора, возможность измененияСнятие с поддержки усложнит обновления
Версия из хранилищаБаза в хранилище, есть историяДоступ к хранилищуПотеря правок, сделанных после пароля
Старая выгрузка или GitЕсть архив до установки пароляКопия .dt, .cf или XMLРучной перенос свежих изменений
Открытая поставка от разработчикаМодуль чужой, нужна доработкаДоговор или запрос авторуДополнительная оплата за исходники
Доработка без правки модуляКод читать не обязательноРасширение конфигурацииНельзя изменить логику внутри модуля
Сторонние утилиты «взлома»Не подходит—Нарушение закона, порча конфигурации

Почему не стоит искать «взломщики»

В сети встречаются программы, которые якобы удаляют пароль из .cf. Для чужого кода это обход технических средств защиты авторских прав — он прямо запрещён ст. 1299 ГК РФ. Ст. 1280 ГК РФ разрешает законному владельцу адаптировать программу и исправлять явные ошибки, но не даёт права снимать защиту, поставленную правообладателем.

Практический риск тоже есть: такие утилиты правят внутреннюю структуру файла конфигурации. После них бывают ошибки при открытии и обновлении базы, а сами программы нередко содержат вредоносный код. Наш справочник независим и не связан с фирмой 1С, но здесь рекомендация однозначная: просите исходники у автора.

Какая у вас ситуация?

Если пароль не снимается: ошибки и их причины

Пароль вводится, но ничего не меняется — частая жалоба. Причины обычно в окружении, а не в самом пароле.

  • 🔒 Пункт установки пароля недоступен. Модуль открыт только на чтение: конфигурация на поддержке без возможности изменения или модуль не захвачен в хранилище. Вернитесь к разделу о подготовке.
  • ❌ Пароль не принимается. Проверьте раскладку и Caps Lock: пароль чувствителен к регистру. Если модулей несколько, у них могут быть разные пароли.
  • 🔁 После перезапуска пароль снова спрашивается. Изменения не сохранили или не обновили конфигурацию базы данных. Повторите шаг 4.
  • 👥 У коллег модуль по-прежнему закрыт. Изменение не помещено в хранилище. Поместите модуль и попросите коллег обновить конфигурацию из хранилища.
  • 🔄 Пароль вернулся после обновления типовой. При объединении с новой версией от поставщика модуль принят из поставки, а у поставщика он закрыт. Это ожидаемо: снимать придётся заново, если пароль у вас есть.
  • 🧩 Код не меняется при отладке. Точки останова в закрытом модуле не срабатывают. Сначала снимите пароль, потом отлаживайте.
Диагностика: выберите симптом

Как не потерять доступ к своим модулям

Большинство проблем с паролями возникает не при снятии, а через год после установки, когда автор ушёл из компании.

Правила для команды

  • 📝 Храните пароли модулей в корпоративном менеджере паролей, а не в голове одного программиста.
  • 🗃 Ведите реестр: модуль — кто поставил пароль — когда — зачем.
  • 🔄 Держите выгрузку конфигурации в файлы в Git с ежедневными коммитами. Версия до пароля всегда под рукой.
  • 🧾 В договоре с подрядчиком пропишите передачу исходных текстов и паролей по окончании работ.

Пароль — не единственная защита

Пароль на модуль защищает код, но не данные. Если цель — не дать пользователям менять настройки или видеть лишнее, используйте роли и права доступа в режиме Администрирование → Настройки пользователей и прав. Если цель — не дать правку конфигурации, ограничьте круг пользователей с правом администрирования и запуска Конфигуратора.

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

Частые вопросы

Можно ли поставить один пароль сразу на все общие модули?
Нет, пароль ставится в каждом модуле отдельно. Одинаковый пароль на несколько модулей — допустимо, но вводить его придётся в каждом.
Влияет ли пароль на скорость работы базы?
Нет. Закрытый модуль выполняется так же, как открытый. Пароль влияет только на доступ к тексту в Конфигураторе.
Сохранится ли пароль при переносе базы через .dt?
Да. Пароль хранится в самой конфигурации, поэтому переезжает вместе с выгрузкой информационной базы и файлом .cf.
Законно ли снимать пароль с модуля, купленного у разработчика?
Если пароль вам передал правообладатель — да. Обходить защиту без его согласия нельзя, даже при наличии лицензии на использование программы.
Можно ли исправить ошибку в закрытом модуле, не зная пароля?
Изменить сам модуль нельзя. Иногда помогает расширение: оно позволяет добавить свою логику в формы и обработчики событий объектов, не открывая закрытый код. Ошибку внутри модуля исправит только автор.

Источники

  • Гражданский кодекс РФ, часть четвёртая, ст. 1280 «Свободное воспроизведение программ для ЭВМ и баз данных. Декомпиляция программ для ЭВМ»
  • Гражданский кодекс РФ, часть четвёртая, ст. 1299 «Технические средства защиты авторских прав»