При разработке собственных конфигураций или изучении программирования в среде «1С:Предприятие 8.3» начинающие специалисты часто сталкиваются с неожиданной проблемой: при попытке завести новых пользователей в информационной базе поле ввода пароля оказывается заблокированным или скрытым. Попытка сохранить пользователя без пароля или без административных прав приводит к системным ошибкам. В этой статье мы подробно проанализируем ситуацию, выясним причины такого поведения платформы и разберем практические варианты обхода этого ограничения.
Если вы зашли в меню Администрирование — Пользователи (или открыли список пользователей информационной базы непосредственно в режиме «Конфигуратор») и обнаружили, что поле ввода пароля недоступно, в первую очередь необходимо проверить тип используемой лицензии.
Фирма «1С» намеренно отключает ключевые функции безопасности в учебной версии платформы. Это сделано для того, чтобы исключить возможность использования бесплатного учебного софта для автоматизации реального бизнеса в обход покупки коммерческих лицензий. К основным ограничениям безопасности учебной версии относятся:
Пароль для любого пользователя информационной базы не может быть задано. Все пользователи могут входить в систему исключительно с пустыми паролями.Аутентификация операционной системы (вход по учетной записи Windows/Active Directory) полностью заблокирована. Допускается только базовая аутентификация «1С:Предприятия».Таким образом, если вы работаете на учебной платформе, установить пароль технически невозможно — данная функция заблокирована на уровне ядра программного кода самой платформы.
Вторая проблема, с которой часто сталкиваются пользователи (как описано в сообщении на форуме), связана с попыткой создать первого пользователя без назначения ему административных ролей.
Рассмотрим подробнее механизм авторизации в 1С. Когда база данных абсолютно «чистая», в ней нет ни одного зарегистрированного пользователя. В этом случае система позволяет беспрепятственно заходить в Конфигуратор и в режим Предприятия любому человеку без авторизации. Но как только мы создаем хотя бы одного пользователя, механизм контроля доступа активируется.
Если этот первый создаваемый пользователь не будет обладать полными (административными) правами, система выдаст критическую ошибку: «После исполнения в списке не осталось бы ни одного пользователя с административными правами!». Это защитный механизм, предотвращающий случайную блокировку базы данных, когда администратор создает обычного пользователя, сохраняет настройки и навсегда теряет доступ к администрированию системы.
Разберем по шагам, как правильно инициализировать список пользователей:
ПолныеПрава или АдминистраторСистемы).После создания первого пользователя-администратора вы сможете зайти под его учетной записью и создавать других пользователей с ограниченными правами (например, «Бухгалтер» или «Менеджер»). Однако помните: в учебной версии у всех у них по-прежнему будут пустые пароли.
Рассмотрим ситуацию, когда готовая база данных, разработанная на коммерческой платформе, переносится для доработки или изучения в учебную версию. Если в коммерческой базе были настроены пользователи с паролями, при попытке открыть ее на учебном движке вы столкнетесь со следующей системной ошибкой:
«При используемой лицензии допустимы только пустые пароли и аутентификация 1С:Предприятия»
Запуск конфигурации в таком режиме будет аварийно завершен. Чтобы проанализировать эту ситуацию и исправить ошибку, вам потребуется выполнить следующие шаги:
1Cv8.1CD.Только после этого очищенную от паролей базу данных можно будет безболезненно открыть на учебной версии платформы.
Если для ваших задач критически важно тестировать механизмы авторизации, распределение прав доступа или интеграцию с Windows-доменом, использование стандартной учебной версии становится нецелесообразным. К счастью, фирма «1С» разработала современную бесплатную альтернативу для разработчиков — Комьюнити-лицензию (Community License), которая доступна начиная с версии платформы 8.3.23.
Комьюнити-лицензия предоставляется абсолютно бесплатно для целей обучения, изучения системы и персональной разработки программных продуктов. Для ее получения достаточно зарегистрироваться на официальном портале разработчиков 1С.
Главное преимущество комьюнити-лицензии перед учебной платформой — это полное отсутствие функциональных ограничений в рамках одного рабочего места. Посмотрим на ключевые возможности, которые открываются разработчику:
Единственным юридическим и техническим ограничением комьюнити-лицензии является строгий запрет на ее использование для ведения реального учета на предприятиях и коммерческой эксплуатации. Для индивидуальной разработки и обучения это идеальный инструмент, полностью решающий проблему заблокированных паролей.
Для закрепления материала разберем пример кода, с помощью которого разработчик может программно управлять пользователями информационной базы. Этот код актуален для полноценной коммерческой платформы или комьюнити-лицензии. Посмотрим на пример создания нового администратора системы с установленным паролем:
// Создание нового пользователя информационной базы
НовыйПользователь = ПользователиИнформационнойБазы.СоздатьПользователя();
// Заполнение основных реквизитов авторизации
НовыйПользователь.Имя = "АдминистраторПроекта";
НовыйПользователь.ПолноеИмя = "Иванов Иван Иванович";
НовыйПользователь.Пароль = "MyStrongPassword2024!";
НовыйПользователь.ПоказыватьВСпискеВыбора = Истина;
// Включение авторизации средствами 1С:Предприятия
НовыйПользователь.Аутентификация1СПредприятия = Истина;
// Назначение административной роли (роль должна существовать в метаданных)
Попытка
АдминРоль = Метаданные.Роли.ПолныеПрава;
НовыйПользователь.Роли.Добавить(АдминРоль);
Исключение
Сообщить("В конфигурации отсутствует роль 'ПолныеПрава'!");
КонецПопытки;
// Запись изменений в базу данных
Попытка
НовыйПользователь.Записать();
Сообщить("Пользователь успешно создан и защищен паролем!");
Исключение
Сообщить("Не удалось записать пользователя: " + ОписаниеОшибки());
КонецПопытки;
При выполнении этого кода на учебной версии платформы метод Записать() вызовет исключение, так как свойство Пароль не может быть обработано ядром учебной лицензии. На комьюнити-лицензии данный код отработает корректно и создаст защищенную учетную запись.
Подводя итог: если вам требуется полноценная защита конфигурации, авторизация пользователей и полноценное тестирование прав доступа — откажитесь от устаревшей учебной версии платформы в пользу современной бесплатной комьюнити-лицензии разработчика 1С.