Прочитать блокировку своей учебной базы, не раскрывая код разрешения

Учебные задачи

ПолучитьБлокировкуСеансов возвращает описание текущей настройки. Установлена и даты актуальности должны изучаться отдельно; само чтение не блокирует и не разблокирует базу.

Где и как запускать

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

Подготовка

  1. Используйте только отдельную конфигурацию УчебнаяКонфигурацияСинтаксиса. Создайте серверный общий модуль УчебнаяПолитика с флагом Сервер, без флага Привилегированный; вставьте полный модуль выбранного урока и вызовите ВыполнитьПример из собственной серверной команды.

  2. Первые четыре урока вызывают реальные штатные getters в серверном модуле. Выбранные страницы справки не задают для этих методов отдельного требования Администрирование; это не обещание отсутствия внутренних проверок прав. Любая фактическая ошибка сохраняется в ОписаниеОшибки и останавливает опыт без повышения прав, повторного вызова или подстановки значений. Пятый урок создаёт только новый объект в памяти и не читает текущие настройки.

  3. Первые четыре урока только читают настройки. Пятый создаёт новый черновик БлокировкаСеансов в памяти. Ни один урок не вызывает УстановитьБлокировкуСеансов или изменение политики паролей.

  4. Не вводите пароли пользователей и коды разрешения действующих блокировок. Учебник не проверяет чей-либо пароль, не отправляет его на внешний сервис и не выводит код /uc.

  5. Секунды для сроков действия паролей сверены по вашему реальному модулю УНФ: C:\claude\UNF\UNF_XML\CommonModules\ПользователиСлужебный\Ext\Module.bsl, процедура ЗаполнитьНастройкиИзПолитикиПаролейПользователей, строки 3197–3233. Там используется деление на 24×60×60. Урок не вызывает этот модуль и не зависит от БСП.

  6. Фактические настройки и административные ограничения зависят от вашей собственной базы. BSL-примеры не исполнялись в 1С автоматически.

Процедура ВыполнитьПример() Экспорт
    Попытка
        Блокировка = ПолучитьБлокировкуСеансов();
        Сообщить(ТипЗнч(Блокировка) = Тип("БлокировкаСеансов"));
        Сообщить(ТипЗнч(Блокировка.Установлена) = Тип("Булево"));
        Сообщить(ТипЗнч(Блокировка.Начало) = Тип("Дата"));
        Сообщить(ТипЗнч(Блокировка.Конец) = Тип("Дата"));
        Сообщить(ТипЗнч(Блокировка.КодРазрешения) = Тип("Строка"));
        Сообщить(ТипЗнч(Блокировка.Параметр) = Тип("Строка"));
        ТипСообщения = ТипЗнч(Блокировка.Сообщение);
        Сообщить(ТипСообщения = Тип("Строка") ИЛИ ТипСообщения = Тип("ФорматированнаяСтрока"));
        Сообщить("Фактический флаг своей блокировки: " + Строка(Блокировка.Установлена));
        Сообщить("Фактическое начало своей блокировки: " + Строка(Блокировка.Начало));
        Сообщить("Фактический конец своей блокировки: " + Строка(Блокировка.Конец));
        Сообщить("Код разрешения присутствует: " + Строка(СтрДлина(Блокировка.КодРазрешения) > 0));
        Сообщить("Содержимое кода, сообщения и параметра намеренно не печатается");
    Исключение
        ВызватьИсключение "СТОП: штатное чтение настроек собственной базы не завершено: " + ОписаниеОшибки();
    КонецПопытки;
КонецПроцедуры

Разбор по шагам

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

  2. Получить объект текущей настройки, не создавать новую и не присваивать ей свойства.

  3. Прочитать все шесть свойств, проверить типы, учитывая строку или форматированную строку Сообщение.

  4. Показать флаг и фактические даты отдельно. Код разрешения использовать только для проверки заполненности, не выводить значение.

  5. Не строить команду /uc и не открывать новый сеанс. Этот опыт не доказывает попыткой входа, что блокировка сейчас активна.

Как проверить результат

  1. Семь проверок типов Истина и подписанные фактические сведения собственного учебного объекта.

  2. Ни одна текущая настройка не присваивается; код разрешения, сообщение и параметр не раскрываются в журнале.

Ожидаемый результат

Самостоятельная безопасная диагностика текущей блокировки с разбором всех свойств и их ограничений.

На что обратить внимание

  1. Установлена=Истина нужно рассматривать вместе с периодом актуальности, не как безусловное доказательство отказа любого нового входа.

  2. Конец, отличный от пустой даты и уже наступивший, заканчивает действие блокировки по контракту.

  3. Параметр — произвольный конфигурационный текст, не стандартный список сеансов или формат командной строки.

  4. ПолучитьБлокировкуСеансов и УстановитьБлокировкуСеансов — разные операции; последняя здесь не вызывается.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.