Пароль на модуле 1С: когда его можно убрать законно, а когда нельзя
Содержание
Распаролить модуль 1С за минуту можно в одном случае — если пароль вам известен. Откройте модуль в Конфигураторе, введите пароль, затем в главном меню выберите Текст → Установить пароль и оставьте поле пароля пустым. После сохранения конфигурации модуль открывается без запроса.
Частое заблуждение — путать пароль модуля с паролем пользователя базы или хранилища. Это три разные защиты. Пароль пользователя пускает в базу, пароль хранилища — к захвату объектов, а пароль модуля закрывает только текст одного конкретного модуля. Если пароль модуля забыт или модуль написан чужим разработчиком, снять пароль с модуля 1С «технически» можно лишь способами, которые обходят защиту автора. У этого есть юридические последствия, и о них ниже.
Зачем разработчики ставят пароль на модуль 1С
Пароль на модуле — это способ показать код программе, но не человеку. Платформа исполняет модуль как обычно, а в Конфигураторе вместо текста появляется запрос пароля.
Ставят его по нескольким причинам:
- 🔒 Защита ноу-хау. Отраслевые решения и тиражные доработки продают за деньги. Открытый код легко скопировать в другую базу.
- 🧾 Лицензирование. В закрытом модуле часто лежит проверка ключа или регистрационного номера решения.
- 🛡️ Защита от случайных правок. Бухгалтер с правами администратора или стажёр не «поправит» расчёт, от которого зависит отчётность.
- 🤝 Граница ответственности. Разработчик отвечает за модуль, пока его никто не менял. Изменили — гарантия и поддержка заканчиваются.
Пароль — не единственный вариант закрытия. Разработчик может поставить конфигурацию без исходных текстов (настраивается в Конфигурация → Поставка конфигурации → Настройка поставки). В таком модуле текста нет вообще, пароль ему не нужен, и вернуть код из базы нельзя никак — только получить у автора.
| Вид защиты | Что видно в Конфигураторе | Можно ли вернуть текст |
|---|---|---|
| Пароль на модуле | Запрос пароля при открытии | Да, если знаете пароль |
| Поставка без исходных текстов | Модуль пустой или недоступен | Нет, только у разработчика |
| Объект на поддержке «не редактируется» | Текст виден, но изменить нельзя | Текст и так открыт, нужно включить возможность изменения |
Последняя строка — частая путаница. Если модуль типовой конфигурации просто серый и не даёт печатать, пароля там нет. Это режим поддержки, и решается он настройкой поддержки, а не снятием пароля.
Снять пароль с модуля, если пароль известен
Это законный и самый простой сценарий: вы автор доработки, пароль хранится в документации или его передал разработчик по договору.
Подготовка
- Сделайте резервную копию:
Администрирование → Выгрузить информационную базув файл.dtили хотя быКонфигурация → Сохранить конфигурацию в файл(.cf). - Если конфигурация подключена к хранилищу, захватите объект, которому принадлежит модуль. Без захвата изменения не сохранятся.
- Если объект на поддержке поставщика и редактирование запрещено, включите изменение:
Конфигурация → Поддержка → Настройка поддержки → Включить возможность изменения. Для самого объекта выберите правило «Объект поставщика редактируется с сохранением поддержки».
Пошагово
- Откройте конфигурацию:
Конфигурация → Открыть конфигурацию. - Найдите в дереве нужный объект и откройте его модуль (модуль объекта, менеджера, формы или общий модуль).
- Введите пароль в окне запроса — текст модуля откроется.
- Не закрывая модуль, выберите в главном меню
Текст → Установить пароль. - Оставьте поля пароля и подтверждения пустыми и нажмите
ОК. Пустой пароль снимает защиту. - Сохраните конфигурацию (
Ctrl+S) и обновите конфигурацию базы данных (F7). Если работаете с хранилищем — поместите объект обратно в хранилище.
Тем же пунктом меню пароль меняют на новый: вместо пустого значения введите новый пароль дважды.
Обновление конфигурации базы данных в рабочей базе делайте вне рабочего времени. Если в изменениях есть правки структуры, платформа потребует монопольный доступ, и пользователей придётся выгнать из базы.
Если модулей с паролем много
Пароль ставится на каждый модуль отдельно, и пароли в одной конфигурации могут быть разными. Перед началом составьте список закрытых модулей: откройте по очереди модули доработанных объектов и отметьте, где появляется запрос. Для крупной доработки попросите разработчика прислать перечень модулей с паролями — так быстрее и без пропусков.
Забыли пароль от своего модуля: законные способы вернуть код
Вы сами закрыли модуль, а пароль потерялся. Ломать защиту не нужно: собственный код почти всегда где-то сохранился в открытом виде.
Где искать открытую версию
- 💾 Старые файлы
.cfи.dt. Найдите копию, сделанную до установки пароля. Загрузите её в отдельную пустую базу и скопируйте текст модуля. - 📚 История хранилища конфигурации. Если доработку вели в хранилище, в истории объекта есть версии до установки пароля. Получите нужную версию во временную базу и возьмите оттуда код.
- 🗂️ Выгрузка в файлы и система контроля версий. Если конфигурацию выгружали через
Конфигурация → Выгрузить конфигурацию в файлыили вели в 1С:EDT с Git, текст модуля лежит в репозитории в истории коммитов до момента защиты. - 📄 Файлы поставки и обновлений. Если вы выпускали свою доработку как поставку, проверьте архив сборок — ранние
.cfи.cfuмогли собираться до установки пароля.
Как перенести текст обратно
- Создайте пустую информационную базу и загрузите в неё старую конфигурацию:
Конфигурация → Загрузить конфигурацию из файла. - Откройте там модуль и скопируйте текст.
- В рабочей конфигурации откройте
Конфигурация → Сравнить, объединить с конфигурацией из файла, укажите старый.cfи отметьте к объединению только объект с закрытым модулем. - Проверьте, какие правки в модуле появились после старой копии, и внесите их заново вручную.
Построчно сравнить закрытый модуль со старым не получится — его текст не виден. Поэтому замену делайте осознанно: всё, что дописали после старой копии, придётся восстановить по памяти, задачам или переписке.
Как больше не терять пароль от своих модулей
- 🔑 Храните пароли в общем менеджере паролей команды с пометкой: конфигурация, объект, модуль, дата установки.
- 🧩 Для каждой выпущенной поставки держите открытую копию исходников отдельно от закрытой сборки.
- 📝 Ставьте пароль на этапе сборки поставки, а не в рабочей конфигурации разработки. Тогда в разработке код всегда открыт.
- 👥 Не давайте одному человеку единолично ставить пароли. Уход программиста не должен закрывать код для всей компании.
Если копий нет совсем, остаётся одно — переписать модуль заново. Для обработки или отчёта это часто быстрее, чем кажется: известны входные данные и ожидаемый результат.
Пароль на чужом модуле: что говорит закон
Здесь начинается зона, которую в запросах называют «обходом защиты». Пароль на модуле относится к техническим средствам защиты авторских прав. Программы для ЭВМ, включая конфигурации и доработки 1С, охраняются как произведения.
Что из этого следует:
- ⚖️ Обход технических средств защиты запрещён. Это прямо установлено статьёй 1299 ГК РФ. Купленная лицензия на решение не даёт права снимать защиту автора.
- 💸 Гражданская ответственность. Правообладатель вправе потребовать компенсацию по статье 1301 ГК РФ — от 10 тысяч до 5 миллионов рублей по усмотрению суда, либо двукратную стоимость права использования.
- 🚨 Уголовная ответственность. При крупном ущербе нарушение авторских прав подпадает под статью 146 УК РФ.
- 📉 Потеря поддержки. Даже без суда разработчик откажет в обновлениях и сопровождении базы с изменённым кодом.
Статья 1280 ГК РФ разрешает пользователю программы ограниченный набор действий без согласия автора, в том числе декомпилирование для совместимости с другими программами. Условия там узкие: нужная информация недоступна из других источников, действия касаются только частей, нужных для совместимости, а полученные сведения нельзя передавать третьим лицам и использовать для создания похожей программы. Снять пароль, чтобы переделать чужое решение под себя, эта норма не позволяет.
Утилиты и сервисы «снятия паролей с модулей 1С» — это обход технической защиты. Запуск такой программы на чужой конфигурации — уже нарушение, даже если код потом не публикуется.
Отдельный риск — сами утилиты. Их распространяют на форумах и в архивах без автора. Под видом «разблокировщика» легко получить программу, которая ворует пароли пользователей базы или портит файл конфигурации.
Не запускайте сторонние программы для «распароливания» на рабочей базе. Испорченная конфигурация — меньшая из бед: доступ к базе с учётом и персональными данными получают посторонние.
Если пароль снять нельзя: рабочие альтернативы
Задача обычно не в пароле, а в том, чтобы поменять поведение решения. Для этого есть пути без вскрытия кода.
Расширение вместо правки модуля
Расширение конфигурации — основной инструмент, когда менять поставку нельзя. Его создают в Конфигурация → Расширения конфигурации. В расширении можно:
- добавить свои справочники, документы, отчёты и обработки;
- добавить реквизиты и команды к существующим объектам;
- изменить формы объектов;
- подписаться на события записи и проведения документов через свои подписки.
Перехват методов в расширении (аннотации &Перед, &После, &Вместо) рассчитан на модули, текст которых вам доступен. С закрытым модулем на него не опирайтесь: свою логику надёжнее положить рядом — в подписку на событие или в модуль формы расширения. Расширение проверяйте на копии базы, а в рабочую подключайте после теста.
Переговоры с разработчиком
Это звучит банально, но решает большинство историй. Разработчику выгоднее продать доступ к коду или доработку, чем потерять клиента. Что можно попросить:
- Пароль на конкретный модуль под обязательство не распространять код.
- Версию решения с открытыми исходниками за отдельную плату.
- Доработку под вашу задачу в рамках сопровождения.
- Описание экспортных процедур для интеграции.
Зафиксируйте договорённость письменно. Право модифицировать программу — отдельное право, и его лучше иметь на бумаге.
Мини-пример. Компания купила отраслевую доработку для складского учёта, а через год понадобилось добавить в расчёт себестоимости новую статью затрат. Модуль расчёта закрыт паролем. Вместо поиска «разблокировщика» компания заказала у автора доработку: её сделали за несколько дней, и решение осталось на поддержке. Самостоятельное вскрытие кода стоило бы и поддержки, и обновлений.
Ошибки при работе с запароленными модулями
Несколько ситуаций, на которых теряют время и данные:
- ❌ Путают режим поддержки с паролем. Модуль типовой конфигурации не редактируется, а пароль никто не ставил. Ищут «как распаролить», хотя нужна настройка поддержки.
- ❌ Снимают пароль без захвата в хранилище. Изменения не сохраняются, и кажется, что пароль «не снимается».
- ❌ Ищут пароль в списке пользователей. Пароль модуля не связан с учётными записями базы: смена пароля администратора в
Администрирование → Пользователина модуль никак не влияет. - ❌ Снимают защиту с модуля решения «на поддержке» и обновляются. При следующем обновлении от поставщика изменённые модули попадут в объединение, и правки придётся разбирать вручную.
- ❌ Удаляют закрытый объект целиком, чтобы «избавиться от пароля». Вместе с ним уходят данные справочника или регистра и ломаются ссылки в других объектах.
Частые вопросы
Можно ли поставить один пароль сразу на все модули конфигурации?
Текст → Установить пароль. Для закрытия всей поставки разработчики обычно используют поставку без исходных текстов.Мешает ли пароль на модуле работе пользователей?
Сохраняется ли пароль при выгрузке базы в .dt?
Законно ли снять пароль, если решение куплено официально?
Что делать, если модуль пустой, а пароля не спрашивает?
Источники
- Гражданский кодекс РФ, часть четвёртая, ст. 1280 и ст. 1299
- Гражданский кодекс РФ, ст. 1301
- Уголовный кодекс РФ, ст. 146